@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Inter:wght@400;500;600;700&display=swap");

.gs-seo-hero {
  --seo-ink: #092a2b;
  --seo-green: #00bd68;
  --seo-muted: #777f83;
  --seo-border: #e3ebe8;

  position: relative;
  isolation: isolate;
  overflow-x: clip;
  overflow-y: visible;
  padding: 15px 32px 30px;

  background:
    radial-gradient(ellipse at 50% 69%,
      rgba(26, 212, 126, 0.055),
      transparent 58%),
    #fdfefe;

  color: var(--seo-ink);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-seo-hero,
.gs-seo-hero * {
  box-sizing: border-box;
}

.gs-seo-hero h1,
.gs-seo-hero h2,
.gs-seo-hero h3,
.gs-seo-hero p {
  margin: 0;
}

.gs-seo-symbols {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.gs-seo-hero svg:not(.gs-seo-city):not(.gs-seo-connection):not(.gs-seo-tree) {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.gs-seo-container {
  position: relative;
  z-index: 1;
  max-width: 1300px;
  margin-inline: auto;
}

/* Background */

.gs-seo-city {
  position: absolute;
  z-index: 0;
  inset: auto 0 35px;
  width: 100%;
  height: calc(100% - 60px);
  color: #a9c7bc;
  opacity: 0.2;
  pointer-events: none;
}

.gs-seo-side-copy {
  position: absolute;
  top: 255px;
  z-index: 0;
  color: #aebabc;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  line-height: 2;
}

.gs-seo-side-left {
  left: 32px;
}

.gs-seo-side-right {
  right: 30px;
}

/* Header */

.gs-seo-heading {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.gs-seo-eyebrow {
  margin-bottom: 10px !important;
  color: #28be77;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-seo-heading h1 {
  color: #061b1c;
  font-size: clamp(35px, 3.04vw, 50px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -2.1px;
}

.gs-seo-heading h1>span {
  color: var(--seo-green);
}

.gs-seo-description {
  max-width: 890px;
  margin: 10px auto 0 !important;
  color: var(--seo-muted);
  font-size: 18px;
  line-height: 1.43;
  letter-spacing: -0.3px;
}

.gs-seo-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 12px;
}

.gs-seo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 46px;
  padding: 12px 27px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 180ms ease, transform 180ms ease;
}

.gs-seo-button-primary {
  color: #fff;
  background: var(--seo-green);
  box-shadow: inset 0 0 0 1px #ffffff15;
}

.gs-seo-button-secondary {
  min-width: 210px;
  color: #142b2c;
  background: #ffffffcf;
  border-color: #a6b2b6;
  box-shadow: 0 0 0 1px #dae1e344;
}

.gs-seo-button svg {
  width: 20px !important;
  height: 20px !important;
}

.gs-seo-button:hover {
  transform: translateY(-2px);
}

.gs-seo-button-primary:hover {
  background: #00a85d;
}

.gs-seo-button-secondary:hover {
  background: #edf9f2;
}

.gs-seo-button:focus-visible {
  outline: 3px solid #058b52;
  outline-offset: 4px;
}

/* Main illustration */

.gs-seo-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 280fr) minmax(0, 440fr) minmax(0, 280fr);
  align-items: stretch;
  gap: clamp(40px, 5vw, 80px);

  max-width: 1100px;
  margin: 20px auto 0;
  padding-bottom: 40px;
}

.gs-seo-step {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.gs-seo-step-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 23px;
  margin-bottom: 12px !important;

  color: #244958;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1.7px;
  line-height: 1.5;
}

.gs-seo-step-label>span {
  color: #24c477;
  letter-spacing: 0;
}

.gs-seo-panel {
  position: relative;
  min-width: 0;
  height: auto;
  min-height: 280px;
  flex: 1;
  padding-bottom: 12px;
  border: 1.6px solid #91a5a2;
  border-radius: 17px;
  background: linear-gradient(135deg, #fff, #f8fcfa);

  box-shadow:
    -5px 2px 0 #8fa39c,
    -8px 4px 0 #dbe6e0,
    0 16px 25px -16px #31574455;

  transform-origin: center;
}

.gs-seo-discover-panel {
  padding: 12px 10px;
  transform: perspective(1000px) rotateY(10deg);
}

.gs-seo-architect-panel {
  padding: 18px 15px 12px;
  transform: perspective(1200px) rotateY(6deg);
}

.gs-seo-amplify-panel {
  padding: 12px 10px;
  transform: perspective(1000px) rotateY(-10deg);
  box-shadow:
    5px 2px 0 #8fa39c,
    8px 4px 0 #dbe6e0,
    0 16px 25px -16px #31574455;
}

.gs-seo-connection {
  position: absolute;
  z-index: 0;
  top: 27px;
  left: -6%;
  width: 112%;
  height: 360px;
  overflow: visible;
  pointer-events: none;
}

/* Repeated small UI elements */

.gs-seo-row-copy {
  flex: 1;
  min-width: 0;
}

.gs-seo-row-copy h3 {
  margin-bottom: 7px;
  color: #1b3339;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.25px;
}

.gs-seo-skeleton {
  display: block;
  width: 87%;
  height: 5px;
  margin-top: 6px;
  border-radius: 4px;
  background: #dce3e4;
}

.gs-seo-skeleton-short {
  width: 54%;
}

.gs-seo-chevron {
  flex-shrink: 0;
  color: #6c8b95;
  font-size: 22px;
  line-height: 1;
}

.gs-seo-icon-box {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 43px;
  height: 46px;
  border-radius: 8px;
  background: #e7f8f0;
  color: #0fbd76;
}

/* Discover */

.gs-seo-search {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 32px;
  padding: 6px 10px;
  border: 1px solid #e3ebe8;
  border-radius: 9px;
  background: #ffffffb3;
}

.gs-seo-search svg {
  width: 16px !important;
  height: 16px !important;
  color: #63838e;
}

.gs-seo-search>span {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: -0.3px;
}

.gs-seo-intent-list {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}

.gs-seo-intent-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 6px 9px 6px 7px;
  border: 1px solid #e6edeb;
  border-radius: 10px;
  background: #ffffff85;
}

/* Architect */

.gs-seo-foundation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 20px;
}

.gs-seo-sitemap h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.7px;
  white-space: nowrap;
}

.gs-seo-tree {
  display: block;
  width: 100%;
  height: 160px;
}

.gs-seo-foundation-list {
  display: grid;
  gap: 7px;
}

.gs-seo-foundation-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 6px 8px;
  border: 1px solid #e8efec;
  border-radius: 9px;
  background: #ffffffa6;
}

.gs-seo-foundation-row>svg {
  width: 25px !important;
  height: 25px !important;
  color: #0fbc75;
}

.gs-seo-foundation-row .gs-seo-row-copy h3 {
  font-size: 10px;
}

.gs-seo-platforms {
  display: grid;
  grid-template-columns: 1fr 7px 1fr 7px 1fr;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
}

.gs-seo-platforms>span {
  padding: 9px 4px;
  border: 1px solid #e0ebe7;
  border-radius: 8px;
  background: #f2f8f6;
  color: #406573;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

.gs-seo-platforms>i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0ac379;
}

/* Amplify */

.gs-seo-panel-title {
  margin: 0 8px 8px !important;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.7px;
}

.gs-seo-visibility-list {
  display: grid;
  gap: 7px;
}

.gs-seo-visibility-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  padding: 6px;
  border: 1px solid #e6edeb;
  border-radius: 10px;
  background: #ffffffa6;
}

.gs-seo-visibility-row .gs-seo-icon-box {
  width: 39px;
  height: 43px;
}

.gs-seo-icon-plain {
  background: transparent;
}

.gs-seo-visibility-row .gs-seo-row-copy h3 {
  font-size: 10px;
}

.gs-seo-meter {
  display: block;
  height: 5px;
  border-radius: 6px;
  background: #dce3e4;
  overflow: hidden;
}

.gs-seo-meter::before {
  content: "";
  display: block;
  width: var(--progress);
  height: 100%;
  border-radius: inherit;
  background: #15c37b;
}

.gs-seo-visible {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 8px;
  background: #e0f8ec;
  color: #0ba36a;
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
}

.gs-seo-visible>span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #0bbe73;
  color: white;
  font-size: 15px;
}

/* Handwritten notes */

.gs-seo-note {
  position: absolute;
  z-index: 2;
  color: #71848b;
  font-family: "Caveat", cursive;
  font-size: 23px;
  font-weight: 500;
  line-height: 0.95;
  pointer-events: none;
}

.gs-seo-note>span {
  display: block;
  font-family: Georgia, serif;
  font-size: 37px;
  font-weight: 400;
  line-height: 1.2;
}

.gs-seo-note-demand {
  top: 125px;
  left: -110px;
  transform: rotate(-10deg);
}

.gs-seo-note-demand>span {
  margin-left: 44px;
}

.gs-seo-note-intent {
  top: 300px;
  left: -110px;
  transform: rotate(-9deg);
}

.gs-seo-note-intent>span {
  margin-left: 54px;
}

.gs-seo-note-pages {
  bottom: 10px;
  left: 31%;
  transform: rotate(-9deg);
}

.gs-seo-note-pages>span,
.gs-seo-note-authority>span {
  position: absolute;
  left: -32px;
  top: -11px;
  transform: rotate(-45deg);
}

.gs-seo-note-authority {
  bottom: 12px;
  left: 58%;
  transform: rotate(-8deg);
}

.gs-seo-note-enquiry {
  top: 120px;
  right: -110px;
  text-align: center;
  transform: rotate(-10deg);
}

/* Bottom capability strip */

.gs-seo-benefits {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.gs-seo-benefits li {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #244955;
  font-size: 15px;
  line-height: 1.4;
}

.gs-seo-benefits li+li::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 15px;
  border-radius: 50%;
  background: #244955;
}

.gs-seo-benefits svg {
  width: 32px !important;
  height: 32px !important;
  color: #0ac878;
}

/* Laptop */

@media (max-width: 1450px) {

  .gs-seo-side-copy,
  .gs-seo-note-demand,
  .gs-seo-note-intent,
  .gs-seo-note-enquiry {
    display: none;
  }

  .gs-seo-stage {
    max-width: 1000px;
    gap: 40px;
  }

  .gs-seo-heading {
    max-width: 920px;
  }

  .gs-seo-description {
    max-width: 840px;
    font-size: 16px;
  }

  .gs-seo-foundation-grid {
    gap: 12px;
  }

  .gs-seo-architect-panel {
    padding-inline: 18px;
  }
}

/* Tablet */

@media (max-width: 1100px) {
  .gs-seo-hero {
    padding: 35px 24px;
  }

  .gs-seo-heading h1 {
    font-size: 39px;
    letter-spacing: -1.6px;
  }

  .gs-seo-title-break {
    display: none;
  }

  .gs-seo-stage {
    grid-template-columns: 1fr 1.4fr 1fr;
    gap: 25px;
  }

  .gs-seo-panel {
    height: auto;
    min-height: 365px;
    transform: none;
  }

  .gs-seo-discover-panel,
  .gs-seo-amplify-panel {
    padding-inline: 9px;
  }

  .gs-seo-intent-row,
  .gs-seo-visibility-row {
    gap: 7px;
    padding-inline: 5px;
  }

  .gs-seo-icon-box {
    width: 32px;
  }

  .gs-seo-search {
    gap: 5px;
    padding-inline: 5px;
  }

  .gs-seo-search>span {
    font-size: 8px;
  }

  .gs-seo-row-copy h3 {
    font-size: 9px;
  }

  .gs-seo-architect-panel {
    padding: 23px 12px 15px;
  }

  .gs-seo-foundation-grid {
    gap: 9px;
  }

  .gs-seo-sitemap h3 {
    font-size: 15px;
  }

  .gs-seo-foundation-row {
    gap: 6px;
    padding-inline: 5px;
  }

  .gs-seo-foundation-row>svg {
    width: 20px !important;
    height: 20px !important;
  }

  .gs-seo-foundation-row .gs-seo-row-copy h3 {
    font-size: 8px;
  }

  .gs-seo-foundation-row .gs-seo-chevron {
    display: none;
  }

  .gs-seo-platforms {
    gap: 6px;
  }

  .gs-seo-platforms>span {
    font-size: 10px;
  }

  .gs-seo-visible {
    gap: 5px;
    padding-inline: 5px;
    font-size: 7px;
  }

  .gs-seo-benefits {
    gap: 22px;
  }

  .gs-seo-benefits li {
    gap: 10px;
    font-size: 12px;
  }

  .gs-seo-benefits li+li::before {
    margin-right: 8px;
  }
}

/* Mobile: stack panels at a readable size */

@media (max-width: 760px) {
  .gs-seo-hero {
    padding: 35px 20px 30px;
  }

  .gs-seo-eyebrow {
    font-size: 10px;
    letter-spacing: 2.1px;
    margin-bottom: 16px !important;
  }

  .gs-seo-heading h1 {
    font-size: clamp(30px, 6.7vw, 43px);
    line-height: 1.12;
    letter-spacing: -1.4px;
  }

  .gs-seo-description {
    max-width: 560px;
    font-size: 14px;
    line-height: 1.65;
  }

  .gs-seo-actions {
    gap: 10px;
    margin-top: 22px;
  }

  .gs-seo-button {
    min-height: 47px;
    font-size: 13px;
    padding-inline: 20px;
  }

  .gs-seo-stage {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    max-width: 440px;
    margin-top: 38px;
    padding-bottom: 0;
  }

  .gs-seo-step {
    width: 100%;
  }

  .gs-seo-discover,
  .gs-seo-amplify {
    max-width: 320px;
    margin-inline: auto;
  }

  .gs-seo-step-label {
    margin-bottom: 14px !important;
    font-size: 14px;
  }

  .gs-seo-panel {
    height: auto;
    min-height: 375px;
    transform: none;
  }

  .gs-seo-discover-panel {
    padding: 17px 15px;
  }

  .gs-seo-search {
    gap: 10px;
    padding-inline: 10px;
  }

  .gs-seo-search>span {
    font-size: 10px;
  }

  .gs-seo-intent-row {
    min-height: 68px;
    gap: 12px;
    padding-inline: 8px;
  }

  .gs-seo-icon-box {
    width: 43px;
  }

  .gs-seo-row-copy h3 {
    font-size: 12px;
  }

  .gs-seo-architect-panel {
    padding: 23px 17px 20px;
  }

  .gs-seo-foundation-grid {
    gap: 12px;
  }

  .gs-seo-sitemap h3 {
    font-size: 16px;
  }

  .gs-seo-foundation-row {
    gap: 8px;
    min-height: 61px;
    padding: 8px 6px;
  }

  .gs-seo-foundation-row>svg {
    width: 23px !important;
    height: 23px !important;
  }

  .gs-seo-foundation-row .gs-seo-row-copy h3 {
    font-size: 10px;
  }

  .gs-seo-platforms {
    margin-top: 22px;
    gap: 8px;
  }

  .gs-seo-platforms>span {
    font-size: 11px;
  }

  .gs-seo-amplify-panel {
    padding: 20px 15px 15px;
  }

  .gs-seo-visibility-row {
    gap: 12px;
    min-height: 62px;
    padding-inline: 8px;
  }

  .gs-seo-visibility-row .gs-seo-row-copy h3 {
    font-size: 11px;
  }

  .gs-seo-visible {
    gap: 10px;
    padding-inline: 10px;
    font-size: 9px;
  }

  .gs-seo-note,
  .gs-seo-connection {
    display: none;
  }

  .gs-seo-city {
    height: 700px;
    top: 130px;
    bottom: auto;
    opacity: 0.16;
  }

  .gs-seo-benefits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 15px;
    max-width: 440px;
    margin: 35px auto 0;
    padding-top: 24px;
    border-top: 1px solid #e4efea;
  }

  .gs-seo-benefits li {
    align-items: flex-start;
    font-size: 12px;
    gap: 10px;
  }

  .gs-seo-benefits li+li::before {
    display: none;
  }

  .gs-seo-benefits svg {
    width: 25px !important;
    height: 25px !important;
  }
}

@media (max-width: 390px) {
  .gs-seo-hero {
    padding-inline: 16px;
  }

  .gs-seo-button {
    width: 100%;
  }

  .gs-seo-foundation-grid {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 8px;
  }

  .gs-seo-sitemap h3 {
    font-size: 14px;
  }

  .gs-seo-foundation-row .gs-seo-row-copy h3 {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-seo-button {
    transition: none;
  }
}

/* ==========================================================================
   Clients Section (from website.css)
   ========================================================================== */

.gs-clients,
.gs-clients * {
  box-sizing: border-box;
}

.gs-clients {
  --gs-dark: #082823;
  --gs-muted: #687a7d;
  --gs-green: #0bc879;

  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 60px 32px 40px;
  background: #ffffff;
  color: var(--gs-dark);
  font-family: "Inter", sans-serif;
}

.gs-clients__inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

.gs-clients__content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.gs-clients__eyebrow {
  margin: 0 0 24px;
  color: var(--gs-green);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.36em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gs-clients h2 {
  margin: 0;
  color: #092722;
  font-size: clamp(22px, 3.0vw, 46px);
  font-weight: 600;
  letter-spacing: -0.066em;
  line-height: 1.12;
}

/* Corner crosses */
.gs-clients__corner {
  position: absolute;
  z-index: 2;
  width: 49px;
  height: 98px;
  pointer-events: none;
}

.gs-clients__corner::before,
.gs-clients__corner::after {
  position: absolute;
  display: block;
  content: "";
  background: #8c9b9e;
}

.gs-clients__corner::before {
  left: 24px;
  top: 0;
  width: 1.5px;
  height: 98px;
}

.gs-clients__corner::after {
  top: 25px;
  left: 0;
  width: 49px;
  height: 1.5px;
}

.gs-clients__corner--tl {
  top: 20px;
  left: 33px;
}

.gs-clients__corner--tr {
  top: 20px;
  right: 28px;
}

.gs-clients__corner--bl {
  bottom: 12px;
  left: 33px;
}

.gs-clients__corner--br {
  right: 28px;
  bottom: 12px;
}

/* Small editorial labels near the corners */
.gs-clients__edge {
  position: absolute;
  z-index: 2;
  color: #65767b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.gs-clients__edge--tl {
  top: 65px;
  left: 100px;
  text-align: left;
}

.gs-clients__edge--tl span {
  display: block;
  width: 38px;
  height: 1px;
  margin-top: 12px;
  background: #92a0a2;
}

.gs-clients__edge--tr {
  top: 45px;
  right: 111px;
  display: flex;
  align-items: flex-start;
  gap: 23px;
  text-align: left;
}

.gs-clients__edge--tr span,
.gs-clients__edge--br span {
  width: 44px;
  height: 1px;
  margin-top: 29px;
  background: #92a0a2;
}

.gs-clients__edge--tr p,
.gs-clients__edge--br p {
  margin: 0;
}

.gs-clients__edge--bl {
  bottom: 35px;
  left: 108px;
  text-align: left;
}

.gs-clients__edge--br {
  right: 109px;
  bottom: 30px;
  display: flex;
  align-items: center;
  gap: 24px;
  text-align: left;
}

/* Curve and client names */
.gs-clients__map {
  position: relative;
  height: 220px;
  margin-top: 8px;
}

.gs-clients__line {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 150px;
  overflow: visible;
}

.gs-clients__name {
  position: absolute;
  color: #617579;
  font-size: clamp(18px, 1.57vw, 32px);
  font-weight: 400;
  letter-spacing: -0.052em;
  white-space: nowrap;
  transform: translateX(-50%) scale(1);
  transform-origin: center;
}

/* Animated green line – driven entirely by rAF, no CSS transition */
#gs-curve-anim {
  will-change: stroke-dashoffset;
}

/* Active (lit-up) dot */
.gs-dot {
  /* Fade-out transition (slow and smooth) */
  transition: fill 0.7s ease, filter 0.7s ease, transform 0.7s ease;
  transform-origin: center;
  transform-box: fill-box;
}

.gs-dot.gs-dot--active {
  fill: #0cc580 !important;
  filter: drop-shadow(0 0 6px rgba(12, 197, 128, 0.6));
  transform: scale(1.15);
  /* Fade-in transition (crisp and quick) */
  transition: fill 0.4s ease, filter 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Active (lit-up) client name */
.gs-clients__name {
  /* Fade-out transition (slow and smooth) */
  transition:
    color 0.7s ease,
    text-shadow 0.7s ease,
    transform 0.7s ease;
}

.gs-clients__name.gs-name--active {
  color: #0cc580 !important;
  transform: translateX(-50%) scale(1.08);
  text-shadow: 0 0 1px rgba(12, 197, 128, 0.4);
  /* Fade-in transition (crisp and quick) */
  transition:
    color 0.4s ease,
    text-shadow 0.4s ease,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.gs-clients__name--meridian {
  top: 7px;
  left: 6.1%;
  color: #16423a;
}

.gs-clients__name--north {
  top: 155px;
  left: 19.45%;
}

.gs-clients__name--lumina {
  top: 35px;
  left: 34.7%;
  color: #16423a;
}

.gs-clients__name--vantage {
  top: 165px;
  left: 51.1%;
}

.gs-clients__name--aveni {
  top: 34px;
  left: 66.7%;
}

.gs-clients__name--cobalt {
  top: 158px;
  left: 82%;
}

.gs-clients__name--helix {
  top: 8px;
  left: 95.6%;
  color: #16423a;
}

/* Bottom message */
.gs-clients__message {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 80px auto 0;
}

.gs-clients__message p {
  margin: 0;
  color: #65777b;
  font-size: clamp(14px, 1.1vw, 18px);
  line-height: 1.5;
  letter-spacing: -0.04em;
}

.gs-clients__shield {
  position: relative;
  display: block;
  width: 33px;
  height: 39px;
  flex: 0 0 33px;
  overflow: hidden;
  clip-path: polygon(50% 0, 100% 21%, 100% 67%, 50% 100%, 0 67%, 0 21%);
  background: #06c97b;
}

.gs-clients__shield::before {
  position: absolute;
  inset: 0 0 50%;
  content: "";
  background: #36dda0;
}

.gs-clients__shield::after {
  position: absolute;
  inset: 0 50% 0 0;
  content: "";
  background: rgba(0, 116, 71, 0.14);
}

.gs-clients__disclaimer {
  margin: 16px 0 0;
  color: #95a1a4;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.015em;
}

/* Tablet */
@media (max-width: 1100px) {
  .gs-clients {
    min-height: 610px;
    padding-top: 90px;
  }

  .gs-clients__eyebrow {
    font-size: 13px;
  }

  .gs-clients h2 {
    font-size: clamp(36px, 5vw, 56px);
  }

  .gs-clients__map {
    margin-top: 62px;
    height: 220px;
  }

  .gs-clients__message {
    max-width: 780px;
  }

  .gs-clients__edge {
    font-size: 10px;
  }

  .gs-clients__edge--tr,
  .gs-clients__edge--br {
    right: 85px;
  }
}

/* Mobile: keep names readable instead of compressing the curve */
@media (max-width: 700px) {
  .gs-clients {
    min-height: auto;
    padding: 75px 24px 72px;
  }

  .gs-clients__corner {
    transform: scale(0.65);
  }

  .gs-clients__corner--tl,
  .gs-clients__corner--bl {
    left: 3px;
  }

  .gs-clients__corner--tr,
  .gs-clients__corner--br {
    right: 3px;
  }

  .gs-clients__corner--tl,
  .gs-clients__corner--tr {
    top: 0;
  }

  .gs-clients__corner--bl,
  .gs-clients__corner--br {
    bottom: -24px;
  }

  .gs-clients__edge {
    display: none;
  }

  .gs-clients__eyebrow {
    margin-bottom: 22px;
    font-size: 11px;
    letter-spacing: 0.28em;
  }

  .gs-clients h2 {
    max-width: 530px;
    margin: 0 auto;
    font-size: clamp(32px, 7.5vw, 48px);
    line-height: 1.13;
    letter-spacing: -0.055em;
  }

  .gs-clients h2 br {
    display: none;
  }

  .gs-clients__map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: center;
    gap: 14px;
    height: auto;
    margin-top: 40px;
  }

  .gs-clients__line {
    display: none;
  }

  .gs-clients__name {
    position: static;
    display: grid;
    min-height: 62px;
    place-items: center;
    padding: 10px 6px;
    border: 1px solid #e4ece8;
    border-radius: 4px;
    color: #24423b;
    background: #fff;
    font-size: clamp(17px, 4vw, 22px);
    transform: none;
  }

  .gs-clients__name--lumina {
    border-color: #b5ecd0;
    color: #098f59;
  }

  .gs-clients__message {
    align-items: flex-start;
    gap: 13px;
    margin-top: 35px;
    text-align: left;
  }

  .gs-clients__message p {
    font-size: 13px;
  }

  .gs-clients__shield {
    width: 27px;
    height: 32px;
    flex-basis: 27px;
  }

  .gs-clients__disclaimer {
    margin-top: 20px;
    font-size: 11px;
  }
}

/* =========================================================
   INCORPORATION ADVISORY SECTION
========================================================= */

.inc-advisory {
  --inc-green: #19d875;
  --inc-green-dark: #0daf5b;
  --inc-deep: #07483e;
  --inc-heading: #07483e;
  --inc-text: #4f5859;
  --inc-line: rgba(55, 126, 114, 0.14);
  --inc-bg: #fbfdfc;

  position: relative;
  width: 100%;
  min-height: 900px;
  padding: 0;
  overflow: hidden;

  font-family: "Inter", sans-serif;
  background:
    radial-gradient(circle at 72% 30%,
      rgba(25, 216, 117, 0.025),
      transparent 34%),
    var(--inc-bg);
}

.inc-advisory *,
.inc-advisory *::before,
.inc-advisory *::after {
  box-sizing: border-box;
}

/* =========================================================
   BACKGROUND GRID
========================================================= */

.inc-advisory-grid {
  position: absolute;
  z-index: 1;
  inset: 0;

  background-image:
    linear-gradient(rgba(54, 125, 112, 0.07) 1px,
      transparent 1px),
    linear-gradient(90deg,
      rgba(54, 125, 112, 0.07) 1px,
      transparent 1px);

  background-size: 64px 64px;
  opacity: 0.48;
  pointer-events: none;
}

/* Fade grid around centre */
.inc-advisory-grid::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(ellipse at center,
      rgba(251, 253, 252, 0.35) 0%,
      rgba(251, 253, 252, 0.1) 46%,
      transparent 75%);
}

/* =========================================================
   BOTTOM-LEFT DECORATIVE DIAGONAL
========================================================= */

.inc-advisory-diagonal {
  position: absolute;
  z-index: 2;
  bottom: -180px;
  left: -120px;

  width: 520px;
  height: 520px;

  border: 1px solid rgba(62, 132, 119, 0.08);
  transform: rotate(45deg);
  pointer-events: none;
}

.inc-advisory-diagonal::before,
.inc-advisory-diagonal::after {
  content: "";
  position: absolute;
  inset: 65px;

  border: 1px solid rgba(62, 132, 119, 0.065);
}

.inc-advisory-diagonal::after {
  inset: 130px;
}

/* =========================================================
   CONTAINER
========================================================= */

.inc-advisory-container {
  position: relative;
  z-index: 3;

  width: calc(100% - 240px);
  max-width: 1300px;
  min-height: 900px;
  margin: 0 auto;
  padding: 205px 25px 70px;
}

/* =========================================================
   TOP CONTENT GRID
========================================================= */

.inc-advisory-content {
  position: relative;
  display: grid;
  grid-template-columns: 510px minmax(500px, 625px);
  column-gap: 60px;
  align-items: center;
  width: 100%;
}

/* =========================================================
   LEFT HEADING
========================================================= */

.inc-advisory-heading {
  position: relative;
  z-index: 4;

  padding-left: 34px;
}

.inc-advisory-heading::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  width: 4px;

  border-radius: 5px;
  background:
    linear-gradient(180deg,
      var(--inc-green) 0%,
      #4ee7a0 100%);
}

.inc-advisory-eyebrow {
  margin: 0 0 29px;

  color: var(--inc-green);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.inc-advisory-heading h2 {
  margin: 0;

  color: var(--inc-heading);
  font-family: "Inter", sans-serif;
  font-size: clamp(44px, 3.8vw, 56px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -1.8px;
}

/* =========================================================
   RIGHT COPY
========================================================= */

.inc-advisory-copy {
  position: relative;
  z-index: 4;
  padding-top: 0;
}

.inc-advisory-copy p {
  margin: 0;

  color: var(--inc-text);
  font-size: 14px;
  font-weight: 450;
  line-height: 1.8;
  letter-spacing: -0.25px;
}

.inc-advisory-copy p+p {
  margin-top: 37px;
}

/* =========================================================
   DECORATIVE RIGHT ARROWS
========================================================= */

.inc-advisory-arrows {
  position: absolute;
  z-index: 2;

  top: -110px;
  right: -80px;

  width: 400px;
  height: 545px;

  fill: none;
  stroke: #549a8e;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;

  opacity: 0.12;
  pointer-events: none;
}

/* =========================================================
   TIMELINE
========================================================= */

.inc-decision-process {
  position: relative;
  z-index: 6;

  display: grid;
  grid-template-columns: repeat(4, 170px) 260px;
  align-items: start;
  justify-content: center;
  gap: 35px;

  max-width: 1120px;
  margin: 82px 0 0 auto;
}

.inc-process-track {
  position: absolute;
  z-index: 1;
  top: 54px;
  left: 85px;
  right: 278px;
  height: 2px;
  background: transparent;
}

.inc-process-track::before {
  display: none;
}

.inc-process-item::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 54px;
  left: 50%;
  width: calc(100% + 35px);
  height: 2px;
  background: var(--inc-green);
  transform-origin: left;
  transform: scaleX(0);
}

.inc-process-item:nth-of-type(4)::before {
  width: calc(50% + 45px);
  /* Just touch the result box */
}

/* Apply animations */
.inc-process-item:nth-of-type(1)::before {
  animation: lineDraw1 12s infinite;
}

.inc-process-item:nth-of-type(2)::before {
  animation: lineDraw2 12s infinite;
}

.inc-process-item:nth-of-type(3)::before {
  animation: lineDraw3 12s infinite;
}

.inc-process-item:nth-of-type(4)::before {
  animation: lineDraw4 12s infinite;
}

.inc-process-track::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -2px;

  width: 0;
  height: 0;

  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid var(--inc-green);

  transform: translate(100%, -50%);
}

.inc-process-item {
  position: relative;
  z-index: 3;

  width: 170px;
  min-height: 170px;
  margin: 0;
  text-align: center;
}

.inc-process-number {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;
  margin: 0 auto 19px;

  color: #ffffff;
  font-size: 11px;
  font-weight: 700;

  border-radius: 50%;
  background: var(--inc-green);

  box-shadow:
    0 7px 17px rgba(25, 216, 117, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.inc-process-node {
  position: absolute;
  z-index: 4;
  top: 49px;
  left: 50%;

  width: 11px;
  height: 11px;

  border: 3px solid var(--inc-green);
  border-radius: 50%;
  background: var(--inc-bg);
  transform: translateX(-50%);
}

.inc-process-item:nth-of-type(1) .inc-process-node {
  animation: dotFill1 12s infinite;
}

.inc-process-item:nth-of-type(2) .inc-process-node {
  animation: dotFill2 11s infinite;
}

.inc-process-item:nth-of-type(3) .inc-process-node {
  animation: dotFill3 12s infinite;
}

.inc-process-item:nth-of-type(4) .inc-process-node {
  animation: dotFill4 12s infinite;
}

.inc-process-icon {
  width: 54px;
  height: 54px;
  margin: 33px auto 7px;
}

.inc-process-icon svg {
  display: block;
  width: 100%;
  height: 100%;

  fill: none;
  stroke: #4b8e82;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;

  transform-origin: center;
  transition: transform 0.3s ease;
}

.inc-process-item:nth-of-type(1) .inc-process-icon svg {
  animation: iconGlow1 12s infinite;
}

.inc-process-item:nth-of-type(2) .inc-process-icon svg {
  animation: iconGlow2 12s infinite;
}

.inc-process-item:nth-of-type(3) .inc-process-icon svg {
  animation: iconGlow3 12s infinite;
}

.inc-process-item:nth-of-type(4) .inc-process-icon svg {
  animation: iconGlow4 12s infinite;
}

.inc-process-item h3 {
  margin: 0;

  color: var(--inc-deep);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.inc-process-item:nth-of-type(1) h3 {
  animation: textGlow1 12s infinite;
}

.inc-process-item:nth-of-type(2) h3 {
  animation: textGlow2 12s infinite;
}

.inc-process-item:nth-of-type(3) h3 {
  animation: textGlow3 12s infinite;
}

.inc-process-item:nth-of-type(4) h3 {
  animation: textGlow4 12s infinite;
}

/* Line Draw Keyframes (Grows over 1s, holds, disappears at 98%) */
@keyframes lineDraw1 {

  0%,
  5% {
    transform: scaleX(0);
  }

  12%,
  98% {
    transform: scaleX(1);
  }

  99%,
  100% {
    transform: scaleX(0);
  }
}

@keyframes lineDraw2 {

  0%,
  30% {
    transform: scaleX(0);
  }

  37%,
  98% {
    transform: scaleX(1);
  }

  99%,
  100% {
    transform: scaleX(0);
  }
}

@keyframes lineDraw3 {

  0%,
  55% {
    transform: scaleX(0);
  }

  62%,
  98% {
    transform: scaleX(1);
  }

  99%,
  100% {
    transform: scaleX(0);
  }
}

@keyframes lineDraw4 {

  0%,
  80% {
    transform: scaleX(0);
  }

  87%,
  98% {
    transform: scaleX(1);
  }

  99%,
  100% {
    transform: scaleX(0);
  }
}

/* Dot Fill Keyframes (Fills, glows, holds, disappears at 98%) */
@keyframes dotFill1 {

  0%,
  2% {
    background: var(--inc-bg);
    box-shadow: none;
  }

  5%,
  98% {
    background: var(--inc-green);
    box-shadow: 0 0 10px var(--inc-green);
  }

  99%,
  100% {
    background: var(--inc-bg);
    box-shadow: none;
  }
}

@keyframes dotFill2 {

  0%,
  27% {
    background: var(--inc-bg);
    box-shadow: none;
  }

  30%,
  98% {
    background: var(--inc-green);
    box-shadow: 0 0 10px var(--inc-green);
  }

  99%,
  100% {
    background: var(--inc-bg);
    box-shadow: none;
  }
}

@keyframes dotFill3 {

  0%,
  52% {
    background: var(--inc-bg);
    box-shadow: none;
  }

  55%,
  98% {
    background: var(--inc-green);
    box-shadow: 0 0 10px var(--inc-green);
  }

  99%,
  100% {
    background: var(--inc-bg);
    box-shadow: none;
  }
}

@keyframes dotFill4 {

  0%,
  77% {
    background: var(--inc-bg);
    box-shadow: none;
  }

  80%,
  98% {
    background: var(--inc-green);
    box-shadow: 0 0 10px var(--inc-green);
  }

  99%,
  100% {
    background: var(--inc-bg);
    box-shadow: none;
  }
}

/* Icon Glow Keyframes (Scales up, glows, holds, scales down at 98%) */
@keyframes iconGlow1 {
  0% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }

  5%,
  98% {
    stroke: var(--inc-green);
    filter: drop-shadow(0 0 10px rgba(25, 216, 117, 0.5));
    transform: scale(1.15);
  }

  99%,
  100% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }
}

@keyframes iconGlow2 {

  0%,
  25% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }

  30%,
  98% {
    stroke: var(--inc-green);
    filter: drop-shadow(0 0 10px rgba(25, 216, 117, 0.5));
    transform: scale(1.15);
  }

  99%,
  100% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }
}

@keyframes iconGlow3 {

  0%,
  50% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }

  55%,
  98% {
    stroke: var(--inc-green);
    filter: drop-shadow(0 0 10px rgba(25, 216, 117, 0.5));
    transform: scale(1.15);
  }

  99%,
  100% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }
}

@keyframes iconGlow4 {

  0%,
  75% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }

  80%,
  98% {
    stroke: var(--inc-green);
    filter: drop-shadow(0 0 10px rgba(25, 216, 117, 0.5));
    transform: scale(1.15);
  }

  99%,
  100% {
    stroke: #4b8e82;
    filter: none;
    transform: scale(1);
  }
}

/* Text Glow Keyframes */
@keyframes textGlow1 {
  0% {
    color: var(--inc-deep);
    text-shadow: none;
  }

  5%,
  98% {
    color: var(--inc-green);
    text-shadow: 0 0 10px rgba(25, 216, 117, 0.25);
  }

  99%,
  100% {
    color: var(--inc-deep);
    text-shadow: none;
  }
}

@keyframes textGlow2 {

  0%,
  25% {
    color: var(--inc-deep);
    text-shadow: none;
  }

  30%,
  98% {
    color: var(--inc-green);
    text-shadow: 0 0 10px rgba(25, 216, 117, 0.25);
  }

  99%,
  100% {
    color: var(--inc-deep);
    text-shadow: none;
  }
}

@keyframes textGlow3 {

  0%,
  50% {
    color: var(--inc-deep);
    text-shadow: none;
  }

  55%,
  98% {
    color: var(--inc-green);
    text-shadow: 0 0 10px rgba(25, 216, 117, 0.25);
  }

  99%,
  100% {
    color: var(--inc-deep);
    text-shadow: none;
  }
}

@keyframes textGlow4 {

  0%,
  75% {
    color: var(--inc-deep);
    text-shadow: none;
  }

  80%,
  98% {
    color: var(--inc-green);
    text-shadow: 0 0 10px rgba(25, 216, 117, 0.25);
  }

  99%,
  100% {
    color: var(--inc-deep);
    text-shadow: none;
  }
}

/* =========================================================
   FINAL RESULT LABEL
========================================================= */

.inc-process-result {
  position: relative;
  z-index: 5;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 260px;
  height: 39px;
  margin-top: 35px;

  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.8px;
  text-transform: uppercase;

  border-radius: 50px;
  background:
    linear-gradient(100deg,
      #07564b 0%,
      #047063 100%);

  box-shadow: 0 10px 24px rgba(6, 80, 69, 0.12);
}

/* =========================================================
   ENTRY ANIMATIONS
========================================================= */

@keyframes incFadeLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes incFadeRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes incFadeUp {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes incTrackGrow {
  from {
    transform: scaleX(0);
    transform-origin: left center;
  }

  to {
    transform: scaleX(1);
    transform-origin: left center;
  }
}

.inc-advisory-heading {
  animation: incFadeLeft 800ms ease both;
}

.inc-advisory-copy {
  animation: incFadeRight 800ms 150ms ease both;
}

.inc-process-track {
  animation: incTrackGrow 1.1s 450ms ease both;
}

.inc-process-item {
  animation: incFadeUp 700ms ease both;
}

.inc-process-item:nth-of-type(1) {
  animation-delay: 500ms;
}

.inc-process-item:nth-of-type(2) {
  animation-delay: 600ms;
}

.inc-process-item:nth-of-type(3) {
  animation-delay: 700ms;
}

.inc-process-item:nth-of-type(4) {
  animation-delay: 800ms;
}

.inc-process-result {
  animation: incFadeRight 700ms 900ms ease both;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1400px) {
  .inc-advisory-container {
    padding-top: 160px;
  }

  .inc-advisory-content {
    grid-template-columns: 450px minmax(480px, 590px);
    column-gap: 55px;
  }

  .inc-advisory-heading h2 {
    font-size: 48px;
  }

  .inc-advisory-arrows {
    right: -130px;
  }

  .inc-decision-process {
    grid-template-columns: repeat(4, 150px) 230px;
    gap: 26px;
    max-width: 980px;
  }

  .inc-process-item {
    width: 150px;
  }

  .inc-process-result {
    width: 230px;
  }

  .inc-process-track {
    left: 75px;
    right: 248px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {
  .inc-advisory {
    min-height: auto;
  }

  .inc-advisory-container {
    width: calc(100% - 48px);
    min-height: auto;
    padding: 100px 0 85px;
  }

  .inc-advisory-content {
    grid-template-columns: 1fr;
    row-gap: 55px;
  }

  .inc-advisory-heading {
    max-width: 650px;
  }

  .inc-advisory-heading h2 {
    font-size: clamp(40px, 6vw, 52px);
  }

  .inc-advisory-copy {
    max-width: 750px;
    padding-left: 35px;
  }

  .inc-advisory-arrows {
    top: 180px;
    right: -100px;
    width: 350px;
    opacity: 0.07;
  }

  .inc-decision-process {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;

    width: calc(100% - 35px);
    max-width: 800px;
    margin: 80px auto 0;
    padding-bottom: 85px;
  }

  .inc-process-item {
    width: 100%;
  }

  .inc-process-track {
    left: 12.5%;
    right: 12.5%;
  }

  .inc-process-result {
    position: absolute;
    right: 50%;
    bottom: 0;

    width: 250px;
    margin: 0;

    transform: translateX(50%);
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {
  .inc-advisory-container {
    width: calc(100% - 36px);
    padding: 72px 0 65px;
  }

  .inc-advisory-heading {
    padding-left: 22px;
  }

  .inc-advisory-heading::before {
    width: 3px;
  }

  .inc-advisory-eyebrow {
    margin-bottom: 20px;
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 1.5px;
  }

  .inc-advisory-heading h2 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 1.08;
    letter-spacing: -1.2px;
  }

  .inc-advisory-copy {
    padding-left: 22px;
  }

  .inc-advisory-copy p {
    font-size: 13px;
    line-height: 1.75;
  }

  .inc-advisory-copy p+p {
    margin-top: 28px;
  }

  .inc-advisory-arrows {
    display: none;
  }

  .inc-decision-process {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;

    width: 100%;
    margin-top: 55px;
    padding: 0 0 0 0;
  }

  .inc-process-track {
    top: 17px;
    bottom: 43px;
    left: 17px;
    right: auto;

    width: 2px;
    height: auto;
  }

  .inc-process-track::after {
    top: auto;
    right: 50%;
    bottom: -1px;

    border-top: 11px solid var(--inc-green);
    border-right: 7px solid transparent;
    border-bottom: 0;
    border-left: 7px solid transparent;

    transform: translate(50%, 100%);
  }

  .inc-process-item {
    display: grid;
    grid-template-columns: 35px 55px 1fr;
    align-items: center;
    gap: 18px;

    min-height: 80px;
    padding-left: 0;
    text-align: left;
  }

  .inc-process-number {
    position: relative;
    z-index: 5;

    width: 35px;
    height: 35px;
    margin: 0;
  }

  .inc-process-node {
    display: none;
  }

  .inc-process-icon {
    width: 49px;
    height: 49px;
    margin: 0;
  }

  .inc-process-item h3 {
    font-size: 13px;
  }

  .inc-process-result {
    position: relative;
    right: auto;
    bottom: auto;

    width: min(100%, 280px);
    height: 44px;
    margin: 14px auto 0;

    transform: none;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {
  .inc-advisory-heading h2 {
    font-size: 34px;
  }

  .inc-advisory-copy p {
    font-size: 12px;
  }

  .inc-process-item {
    grid-template-columns: 34px 46px 1fr;
    gap: 14px;
  }

  .inc-process-icon {
    width: 44px;
    height: 44px;
  }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .inc-advisory *,
  .inc-advisory *::before,
  .inc-advisory *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================
   GROWTHSPELL — SEO SERVICES
   ========================================== */

.seo-svg-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-seo {
  --seo-green: #32c97c;
  --seo-green-dark: #155640;
  --seo-heading: #0c1921;
  --seo-text: #6b7780;

  /* Change these three values to recolour the cards. */
  --seo-foundation-bg: #eef5fc;
  --seo-relevance-bg: #f3effc;
  --seo-authority-bg: #fff3e9;

  width: 100%;
  padding: 34px 0 24px;
  background: #fff;
  color: var(--seo-heading);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-seo,
.gs-seo * {
  box-sizing: border-box;
}

.gs-seo h2,
.gs-seo h3,
.gs-seo h4,
.gs-seo p {
  margin: 0;
}

.gs-seo svg {
  display: block;
}

.gs-seo__container {
  width: calc(100% - 96px);
  max-width: 1200px;
  margin-inline: auto;
}

/* Header */

.gs-seo__header {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 30px;
}

.gs-seo__eyebrow {
  margin-bottom: 12px !important;
  color: #35aa75;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 2px;
}

.gs-seo__intro h2 {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -1.2px;
}

.gs-seo__description {
  max-width: 970px;
  margin-top: 15px !important;
  color: var(--seo-text);
  font-size: clamp(15px, 1.16vw, 19px);
  line-height: 1.5;
  letter-spacing: -.3px;
}

/* Dubai skyline */

.gs-seo__city {
  position: relative;
  min-width: 0;
  height: 218px;
}

.gs-seo__city>svg {
  position: absolute;
  right: 0;
  bottom: -5px;
  width: 100%;
  height: 218px;
}

.gs-seo__city-caption {
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 1;
  padding: 9px 0 9px 24px;
  border-left: 1px solid #d7e0dc;
  color: #9aa5a6;
  font-size: 9px;
  font-weight: 600;
  line-height: 2.1;
  letter-spacing: 1.7px;
}

.gs-seo__city-note {
  position: absolute;
  top: 48px;
  right: 8px;
  color: #96a19f;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 1.8px;
}

.gs-seo__city-note span {
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 12px;
  background: var(--seo-green);
}

/* Main layout */

.gs-seo__flow {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.04fr) minmax(170px, .52fr);
  gap: 30px;
  align-items: stretch;
}

/* Cards */

.seo-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px 18px 16px;
  border: 1px solid;
  border-radius: 10px;
}

.seo-card--foundation {
  background: var(--seo-foundation-bg);
  border-color: #dce7f1;
}

.seo-card--relevance {
  background: var(--seo-relevance-bg);
  border-color: #e6def6;
}

.seo-card--authority {
  background: var(--seo-authority-bg);
  border: 2px solid #56766c;
  padding: 15px 17px 15px;
}

.seo-card__heading {
  min-height: 48px;
}

.seo-card__heading h3 {
  display: flex;
  align-items: baseline;
  gap: 9px;
  font-size: clamp(13px, 1.15vw, 18px);
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: .7px;
}

.seo-card__heading h3 span {
  flex-shrink: 0;
  color: var(--seo-green);
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -.5px;
}

.seo-card__heading>p {
  margin-top: 3px;
  color: #8b979e;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 2px;
}

/* Illustration area: identical height for all cards */

.seo-card__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 140px;
  margin-top: 5px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgb(52 75 76 / 14%);
}

.seo-card__visual>svg {
  width: 100%;
  height: auto;
  max-height: 160px;
  overflow: visible;
}

/* Services */

.seo-card__services {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.seo-service {
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  align-items: start;
  column-gap: 24px;
}

.seo-service__icon {
  width: 41px;
  height: 41px;
  margin-top: 2px;
  color: #24574e;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.seo-service h4 {
  margin-bottom: 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.25px;
}

.seo-service p {
  color: var(--seo-text);
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -.15px;
}

/* Connecting arrows sit inside the gaps */

.seo-card__connector {
  position: absolute;
  z-index: 2;
  top: 110px;
  right: -31px;
  width: 30px;
  height: 30px;
  color: var(--seo-green);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.seo-card__connector--last {
  top: 150px;
}

/* Outcome */

.seo-result {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 0;
  padding-top: 18px;
}

.seo-result__circle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 190px;
  aspect-ratio: 1;
  border: 2px solid #2ab978;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 30%, #f7fff8, #eaf9ef);
  box-shadow: 0 0 0 12px #effbf3;
  text-align: center;
}

.seo-result__growth {
  width: 64px;
  height: 64px;
  margin-bottom: 5px;
  color: #47cc83;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.seo-result__circle h3 {
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: 1.3px;
}

.seo-result ul {
  display: flex;
  flex-direction: column;
  gap: 17px;
  width: 100%;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.seo-result li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--seo-text);
  font-size: 12.5px;
  line-height: 1.5;
}

.seo-result li svg {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #48cf8a;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Footer */

.gs-seo__footer {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 15px;
}

.gs-seo__button {
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  gap: 15px;
  min-height: 51px;
  padding: 13px 28px;
  border: 1px solid transparent;
  border-radius: 17px;
  background: #3ed386;
  color: #073723;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.gs-seo__button:hover {
  background: #2dc77a;
  transform: translateY(-2px);
}

.gs-seo__button:focus-visible {
  outline: 3px solid #155640;
  outline-offset: 4px;
}

.gs-seo__button svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-seo__footer-line {
  flex: 1;
  height: 1px;
  background: #dce4e3;
}

.gs-seo__footer>p {
  position: relative;
  padding-left: 45px;
  color: #99a4aa;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 1.7px;
}

.gs-seo__footer>p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 1px;
  background: #8e9d9f;
}

/* Medium desktops */

@media (max-width: 1390px) {
  .gs-seo__container {
    width: calc(100% - 64px);
  }

  .gs-seo__header {
    gap: 25px;
  }

  .gs-seo__intro h2 {
    letter-spacing: -1.5px;
  }

  .gs-seo__flow {
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 165px;
  }

  .seo-card {
    padding: 20px 17px;
  }

  .seo-card--authority {
    padding: 19px 16px;
  }

  .seo-card__heading h3 {
    gap: 6px;
    font-size: 13px;
    letter-spacing: .25px;
  }

  .seo-card__heading h3 span {
    font-size: 19px;
  }

  .seo-card__heading>p {
    font-size: 9px;
    letter-spacing: 1.5px;
  }

  .seo-service {
    grid-template-columns: 35px minmax(0, 1fr);
    column-gap: 15px;
  }

  .seo-service__icon {
    width: 34px;
    height: 34px;
  }

  .seo-service h4 {
    font-size: 13px;
  }

  .seo-service p {
    font-size: 12px;
  }

  .seo-card__connector {
    right: -25px;
    width: 24px;
  }

  .seo-result__circle {
    max-width: 157px;
  }

  .seo-result__circle h3 {
    font-size: 11px;
  }

  .seo-result__growth {
    width: 53px;
    height: 53px;
  }

  .seo-result li {
    gap: 7px;
    font-size: 11px;
  }
}

/* Tablets / small laptops */

@media (max-width: 1120px) {
  .gs-seo {
    padding-top: 45px;
  }

  .gs-seo__header {
    grid-template-columns: minmax(0, 1fr);
  }

  .gs-seo__intro {
    max-width: 850px;
  }

  .gs-seo__intro h2 {
    font-size: clamp(32px, 4.3vw, 46px);
  }

  .gs-seo__city {
    display: none;
  }

  .gs-seo__flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .seo-card__heading {
    min-height: 72px;
  }

  .seo-card__visual {
    height: 160px;
  }

  .seo-card__connector--last {
    display: none;
  }

  .seo-result {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: center;
    gap: 55px;
    padding: 24px 0;
  }

  .seo-result__circle {
    flex: 0 0 155px;
  }

  .seo-result ul {
    width: auto;
    margin: 0;
    gap: 19px;
  }

  .seo-result li {
    font-size: 14px;
  }

  .gs-seo__footer {
    margin-top: 12px;
  }
}

/* Mobile */

@media (max-width: 760px) {
  .gs-seo {
    padding: 35px 0 28px;
  }

  .gs-seo__container {
    width: calc(100% - 36px);
  }

  .gs-seo__header {
    margin-bottom: 26px;
  }

  .gs-seo__eyebrow {
    font-size: 11px;
    letter-spacing: 1.8px;
  }

  .gs-seo__intro h2 {
    font-size: clamp(29px, 6.8vw, 42px);
    line-height: 1.13;
    letter-spacing: -1.2px;
  }

  .gs-seo__desktop-break {
    display: none;
  }

  .gs-seo__description {
    margin-top: 14px !important;
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: 0;
  }

  .gs-seo__flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 35px;
  }

  .seo-card {
    padding: 24px;
    border-radius: 12px;
  }

  .seo-card--authority {
    padding: 23px;
  }

  .seo-card__heading {
    min-height: auto;
  }

  .seo-card__heading h3 {
    gap: 8px;
    font-size: 16px;
    letter-spacing: .35px;
  }

  .seo-card__heading h3 span {
    font-size: 22px;
  }

  .seo-card__heading>p {
    margin-top: 5px;
    font-size: 10px;
    letter-spacing: 1.5px;
  }

  .seo-card__visual {
    height: auto;
    min-height: 180px;
    margin-top: 17px;
    margin-bottom: 22px;
    padding-bottom: 20px;
  }

  .seo-card__visual>svg {
    max-width: 390px;
    max-height: none;
  }

  .seo-card__services {
    gap: 25px;
  }

  .seo-service {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 20px;
  }

  .seo-service__icon {
    width: 38px;
    height: 38px;
  }

  .seo-service h4 {
    font-size: 14px;
  }

  .seo-service p {
    font-size: 13px;
    line-height: 1.6;
  }

  .seo-card__connector,
  .seo-card__connector--last {
    display: block;
    top: auto;
    right: auto;
    bottom: -33px;
    left: calc(50% - 15px);
    width: 30px;
    height: 30px;
    transform: rotate(90deg);
  }

  .seo-result {
    grid-column: auto;
    gap: 32px;
    padding: 17px 5px 15px;
  }

  .seo-result__circle {
    flex-basis: 145px;
  }

  .seo-result ul {
    gap: 15px;
  }

  .seo-result li {
    align-items: flex-start;
    font-size: 12px;
  }

  .seo-result li svg {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
  }

  .gs-seo__footer {
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin-top: 24px;
  }

  .gs-seo__button {
    min-height: 51px;
    font-size: 14px;
  }

  .gs-seo__footer-line {
    display: none;
  }

  .gs-seo__footer>p {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  .gs-seo__footer>p::before {
    display: none;
  }
}

/* Narrow phones */

@media (max-width: 390px) {

  .seo-card,
  .seo-card--authority {
    padding: 20px 17px;
  }

  .seo-card__heading h3 {
    gap: 6px;
    font-size: 13px;
  }

  .seo-card__heading h3 span {
    font-size: 20px;
  }

  .seo-service {
    column-gap: 14px;
  }

  .seo-result {
    flex-direction: column;
    gap: 28px;
  }

  .seo-result__circle {
    flex-basis: auto;
    width: 165px;
    max-width: 165px;
  }

  .seo-result ul {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-seo__button {
    transition: none;
  }

  .gs-seo__button:hover {
    transform: none;
  }
}

/* =========================================
   SEM & PPC SECTION
   ========================================= */

.sem-icon-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-sem {
  --sem-green: #42c984;
  --sem-dark-green: #24674f;
  --sem-heading: #091b1b;
  --sem-text: #758084;
  --sem-border: #e1eae7;
  --sem-mint: #effaf5;

  padding: 44px 0 28px;
  background: #fff;
  color: var(--sem-heading);

  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-sem,
.gs-sem * {
  box-sizing: border-box;
}

.gs-sem h2,
.gs-sem h3,
.gs-sem h4,
.gs-sem p {
  margin: 0;
}

.gs-sem svg {
  display: block;
}

.gs-sem-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* HEADER */

.gs-sem-header {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: end;
  gap: 28px;
  padding-inline: 14px;
  margin-bottom: 28px;
}

.gs-sem-eyebrow {
  margin-bottom: 12px !important;
  color: #43b87e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.gs-sem-intro h2 {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -1.2px;
}

.gs-sem-description {
  max-width: 905px;
  margin-top: 17px !important;
  color: var(--sem-text);
  font-size: clamp(14px, 1.09vw, 17px);
  line-height: 1.6;
  letter-spacing: -0.25px;
}

/* SKYLINE */

.sem-skyline {
  position: relative;
  color: #cbded5;
}

.sem-skyline>svg {
  width: 100%;
  height: auto;
}

.sem-skyline-message {
  position: absolute;
  top: 23%;
  right: 8%;
  color: #b6c9c1;
  font-size: 8px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 2.5px;
}

.sem-skyline-location {
  position: absolute;
  right: 0;
  bottom: 11%;
  color: #b6c9c1;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.9;
  letter-spacing: 2px;
}

/* OUTER PROCESS PANEL */

.sem-panel {
  padding: 22px 24px 28px;
  border: 1px solid #dce7e2;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #fcfefd);
}

.sem-panel-label {
  color: #395753;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 4px;
}

.sem-process {
  display: grid;

  /*
    The gaps between control/conversion/return
    provide space for the connecting arrows.
  */
  grid-template-columns:
    minmax(150px, 0.78fr) minmax(230px, 1.12fr) minmax(235px, 1.12fr) minmax(300px, 1.45fr);

  column-gap: clamp(35px, 5.6vw, 92px);
  margin-top: 26px;
}

.sem-stage {
  position: relative;
  min-width: 0;
}

.sem-stage-title {
  display: flex;
  align-items: center;
  gap: 17px;

  min-height: 24px;

  color: #35534e;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 3px;
}

.sem-stage-title>span {
  color: var(--sem-green);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
}

.sem-stage-input::after,
.sem-stage-return::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 20px;
  width: 1px;

  background: repeating-linear-gradient(to bottom,
      #e4ece8 0,
      #e4ece8 4px,
      transparent 4px,
      transparent 8px);
}

.sem-stage-input::after {
  right: -24px;
}

.sem-stage-return::before {
  left: -28px;
}

/* INPUT */

.sem-input-body {
  position: relative;
  margin-top: 20px;
}

.sem-budget-card {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 145px;
  min-height: 272px;
  padding: 25px 10px;

  border: 1px solid #dfeee6;
  border-radius: 9px;

  background: #effaf5;
  text-align: center;
}

.sem-coins {
  width: 69px;
  height: 64px;
  margin-bottom: 13px;
  color: var(--sem-dark-green);
}

.sem-budget-card h4 {
  color: #2c5249;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 2px;
}

.sem-budget-line {
  width: 23px;
  height: 2px;
  margin: 20px 0;
  background: #5b8d7e;
}

.sem-budget-card>p {
  color: #477167;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.7px;
}

.sem-budget-flow {
  position: absolute;
  top: 0;
  left: 145px;

  width: calc(100% - 145px + clamp(35px, 5.6vw, 92px));
  height: 280px;

  overflow: visible;
  pointer-events: none;
}

/* SHARED ICONS */

.sem-icon-bubble {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;

  width: 57px;
  height: 57px;
  border-radius: 50%;

  background: #eaf9f1;
  color: #277554;
}

.sem-icon-bubble svg {
  width: 29px;
  height: 29px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* SHARED TEXT */

.sem-service-card h4,
.sem-conversion-service h4,
.sem-remarketing h4,
.sem-reporting h4 {
  margin-bottom: 4px;
  color: #263b3a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.45px;
}

.sem-service-card p,
.sem-conversion-service p,
.sem-remarketing p,
.sem-reporting p {
  color: var(--sem-text);
  font-size: 11.5px;
  line-height: 1.5;
  letter-spacing: -0.2px;
}

/* CONTROL CARDS */

.sem-control-body {
  padding-top: 33px;
}

.sem-service-card {
  position: relative;
  z-index: 1;

  display: flex;
  align-items: center;
  gap: 13px;

  min-height: 94px;
  padding: 13px 12px;

  border: 1px solid #e0e8e5;
  border-radius: 8px;

  background: #fff;
  box-shadow: 0 2px 5px rgb(28 68 51 / 5%);
}

.sem-service-card+.sem-service-card {
  margin-top: 16px;
}

.sem-waste {
  display: flex;
  align-items: center;
  margin-top: 20px;
  padding-left: 10px;
}

.sem-waste>span {
  color: #a7b4b5;
  font-size: 18px;
  line-height: 1.1;
}

.sem-waste>svg {
  flex: 0 0 57px;
  width: 57px;
  height: 50px;
}

.sem-waste p {
  color: #88979a;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 1.8px;
}

/* CONNECTORS */

.sem-connector {
  position: absolute;
  left: 100%;

  width: clamp(35px, 5.6vw, 92px);

  pointer-events: none;
}

.sem-connector>span {
  display: block;
  color: #41645a;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.sem-connector>svg {
  width: 100%;
  height: auto;
  overflow: visible;
}

.sem-connector-traffic {
  top: 91px;
}

.sem-connector-actions {
  top: 103px;
}

/* BROWSER CARD */

.sem-browser {
  position: relative;
  z-index: 1;

  margin-top: 14px;
  padding: 0 4px 4px;

  border: 1px solid #cbd8d4;
  border-radius: 10px;

  background: #f5f8f7;
}

.sem-browser-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 32px;
  padding-inline: 9px;
}

.sem-browser-bar>span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #8bbfa8;
}

.sem-browser-bar>i {
  width: 92px;
  height: 8px;
  border-radius: 4px;
  background: #dce7e3;
}

.sem-browser-content {
  padding: 13px 12px 9px;
  border: 1px solid #e9efec;
  border-radius: 7px;
  background: #fff;
}

.sem-conversion-service {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.sem-conversion-service .sem-icon-bubble {
  width: 44px;
  height: 44px;
}

.sem-conversion-service .sem-icon-bubble svg {
  width: 25px;
  height: 25px;
}

.sem-conversion-service+.sem-conversion-service {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e9eeeb;
}

/* A/B DIAGRAM */

.sem-ab-test {
  position: relative;
  height: 69px;
  margin-top: 12px;
}

.sem-test-a,
.sem-test-b {
  position: absolute;
  z-index: 1;
  top: 0;

  display: grid;
  place-items: center;

  width: 48px;
  height: 32px;
  border-radius: 5px;

  font-size: 14px;
  font-weight: 600;
}

.sem-test-a {
  left: 10%;
  color: #7c898d;
  background: #e8ebec;
}

.sem-test-b {
  right: 12%;
  color: #28b56c;
  background: #dff6e8;
}

.sem-ab-test>svg {
  position: absolute;
  top: 6px;
  left: 0;

  width: 100%;
  height: 65px;
}

/* REMARKETING */

.sem-remarketing {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 23px;
}

.sem-remarketing .sem-icon-bubble {
  width: 44px;
  height: 44px;
  border: 1px solid #d8f0e2;
}

.sem-loop {
  position: absolute;
  bottom: 13px;

  width: 72px;
  height: 132px;

  color: #48cd86;
  pointer-events: none;
}

.sem-loop-left {
  left: -70px;
}

.sem-loop-right {
  right: -70px;
}

/* RETURN */

.sem-return-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  align-items: center;
  gap: 18px;
  margin-top: 24px;
}

.sem-return-circle {
  position: relative;
  display: grid;
  place-items: center;

  width: 100%;
  aspect-ratio: 1;
  padding: 10px;

  border: 1.5px solid #9be2b9;
  border-right-color: #2ab86b;
  border-bottom-color: #2ab86b;
  border-radius: 50%;
}

.sem-return-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;

  width: 100%;
  height: 100%;
  border-radius: 50%;

  background: radial-gradient(circle at 35% 30%, #e6f8eb, #d5f0e1);
}

.sem-return-inner>svg {
  width: 43px;
  height: 43px;
  color: #15543d;
}

.sem-return-inner h4 {
  color: #255647;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.5px;
  text-align: center;
}

.sem-orbit-dot {
  position: absolute;
  right: -5px;
  top: calc(50% - 5px);

  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #25b96c;
}

.sem-results {
  display: flex;
  flex-direction: column;
  gap: 15px;

  margin: 0;
  padding: 0 0 0 17px;

  border-left: 1px solid #c1d9ce;
  list-style: none;
}

.sem-results li {
  display: flex;
  align-items: center;
  gap: 9px;

  color: #6a8079;
  font-size: 10.5px;
  line-height: 1.5;
  letter-spacing: -0.25px;
}

.sem-results .sem-icon-bubble {
  width: 40px;
  height: 40px;
  border: 1px solid #d9eee2;
}

.sem-results .sem-icon-bubble svg {
  width: 23px;
  height: 23px;
}

.sem-reporting {
  display: flex;
  align-items: center;
  gap: 11px;

  margin-top: 19px;
  padding: 12px;

  border: 1px solid #e4ebe7;
  border-radius: 8px;

  background: #fff;
}

.sem-reporting .sem-icon-bubble {
  width: 43px;
  height: 43px;
  border: 1px solid #d9eee2;
}

.sem-return-note {
  display: flex;
  align-items: center;
  gap: 17px;

  margin-top: 18px !important;

  color: #7c9188;
  font-size: 11px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1.1px;
}

.sem-return-note>span {
  width: 62px;
  height: 1px;
  flex-shrink: 0;
  background: #bacdc3;
}

/* FOOTER */

.sem-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;

  margin-top: 22px;
  padding-inline: 14px;
}

.sem-main-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;

  min-height: 57px;
  padding: 15px 28px;

  border-radius: 9px;
  background: #35af70;
  color: #fff;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;

  transition: background 0.2s ease;
}

.sem-main-button:hover {
  background: #288d59;
}

.sem-main-button:focus-visible {
  outline: 3px solid #1b5d42;
  outline-offset: 4px;
}

.sem-main-button>svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sem-footer-caption {
  position: relative;
  padding-left: 80px;

  color: #8b9d96;
  font-size: 8px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 3px;
}

.sem-footer-caption>span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 55px;
  height: 1px;
  background: #8fa79c;
}

/* =========================================
   MEDIUM DESKTOP
   ========================================= */

@media (min-width: 1201px) and (max-width: 1450px) {
  .sem-process {
    grid-template-columns:
      minmax(130px, 0.7fr) minmax(195px, 1fr) minmax(210px, 1.05fr) minmax(255px, 1.3fr);
    column-gap: 45px;
  }

  .sem-budget-card {
    width: 120px;
  }

  .sem-budget-flow {
    left: 120px;
    width: calc(100% - 120px + 45px);
  }

  .sem-connector {
    width: 45px;
  }

  .sem-connector>span {
    font-size: 9px;
  }

  .sem-stage-title {
    gap: 10px;
    font-size: 11px;
    letter-spacing: 2px;
  }

  .sem-service-card {
    gap: 9px;
    padding-inline: 9px;
  }

  .sem-service-card>.sem-icon-bubble {
    width: 42px;
    height: 42px;
  }

  .sem-service-card h4,
  .sem-conversion-service h4,
  .sem-reporting h4 {
    font-size: 11.5px;
  }

  .sem-service-card p,
  .sem-conversion-service p,
  .sem-reporting p {
    font-size: 10.5px;
  }

  .sem-return-top {
    gap: 10px;
  }

  .sem-results {
    padding-left: 10px;
    gap: 12px;
  }

  .sem-results .sem-icon-bubble {
    width: 30px;
    height: 30px;
  }

  .sem-results li {
    gap: 6px;
    font-size: 9px;
  }

  .sem-return-inner {
    gap: 8px;
  }

  .sem-return-inner h4 {
    font-size: 10px;
    letter-spacing: 1px;
  }

  .sem-return-inner>svg {
    width: 32px;
    height: 32px;
  }

  .sem-loop {
    width: 42px;
  }

  .sem-loop-left {
    left: -42px;
  }

  .sem-loop-right {
    right: -42px;
  }
}

/* =========================================
   TABLET — TWO COLUMNS
   ========================================= */

@media (max-width: 1200px) {
  .gs-sem-header {
    grid-template-columns: minmax(0, 1fr) 33%;
  }

  .gs-sem-intro h2 {
    font-size: clamp(32px, 3.7vw, 44px);
    letter-spacing: -1.5px;
  }

  .sem-desktop-break {
    display: none;
  }

  .sem-skyline-message {
    font-size: 6px;
    letter-spacing: 1.4px;
  }

  .sem-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
  }

  .sem-stage {
    padding: 20px;
    border: 1px solid #e6eee9;
    border-radius: 12px;
  }

  .sem-stage-input::after,
  .sem-stage-return::before,
  .sem-budget-flow,
  .sem-connector,
  .sem-loop {
    display: none;
  }

  .sem-input-body {
    display: flex;
    justify-content: center;
  }

  .sem-budget-card {
    width: 180px;
    min-height: 260px;
  }

  .sem-control-body {
    padding-top: 20px;
  }

  .sem-browser {
    margin-top: 20px;
  }

  .sem-return-top {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .sem-return-circle {
    max-width: 190px;
    margin-inline: auto;
  }

  .sem-panel-label {
    font-size: 12px;
    letter-spacing: 2.8px;
  }
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 700px) {
  .gs-sem {
    padding: 32px 0 25px;
  }

  .gs-sem-container {
    width: calc(100% - 32px);
  }

  .gs-sem-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
    padding-inline: 2px;
    margin-bottom: 22px;
  }

  .gs-sem-eyebrow {
    font-size: 12px;
  }

  .gs-sem-intro h2 {
    font-size: clamp(30px, 7.5vw, 43px);
    line-height: 1.12;
    letter-spacing: -1.3px;
  }

  .gs-sem-description {
    margin-top: 15px !important;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0;
  }

  .sem-skyline {
    width: min(100%, 380px);
    margin-left: auto;
  }

  .sem-panel {
    padding: 20px 13px;
    border-radius: 14px;
  }

  .sem-panel-label {
    padding-inline: 5px;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 2.2px;
  }

  .sem-process {
    grid-template-columns: minmax(0, 1fr);
    gap: 19px;
    margin-top: 20px;
  }

  .sem-stage {
    padding: 20px 15px;
  }

  .sem-stage-title {
    gap: 13px;
    font-size: 11px;
    letter-spacing: 2px;
  }

  .sem-stage-title>span {
    font-size: 15px;
  }

  .sem-budget-card {
    width: 100%;
    max-width: 230px;
    min-height: 255px;
  }

  .sem-service-card {
    padding: 15px 12px;
    gap: 12px;
  }

  .sem-service-card h4,
  .sem-conversion-service h4,
  .sem-remarketing h4,
  .sem-reporting h4 {
    font-size: 12px;
    letter-spacing: -0.2px;
  }

  .sem-service-card p,
  .sem-conversion-service p,
  .sem-remarketing p,
  .sem-reporting p {
    font-size: 11px;
  }

  .sem-icon-bubble {
    width: 46px;
    height: 46px;
  }

  .sem-icon-bubble svg {
    width: 25px;
    height: 25px;
  }

  .sem-return-top {
    gap: 12px;
  }

  .sem-return-inner {
    gap: 9px;
  }

  .sem-return-inner h4 {
    font-size: 10px;
    letter-spacing: 1px;
  }

  .sem-return-inner>svg {
    width: 32px;
    height: 32px;
  }

  .sem-results {
    gap: 13px;
    padding-left: 11px;
  }

  .sem-results li {
    gap: 7px;
    font-size: 10px;
  }

  .sem-results .sem-icon-bubble {
    width: 31px;
    height: 31px;
  }

  .sem-results .sem-icon-bubble svg {
    width: 19px;
    height: 19px;
  }

  .sem-reporting {
    padding: 12px 9px;
  }

  .sem-return-note {
    gap: 12px;
    font-size: 10px;
    letter-spacing: 0.6px;
  }

  .sem-return-note>span {
    width: 35px;
  }

  .sem-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding-inline: 2px;
  }

  .sem-main-button {
    min-height: 52px;
    padding: 13px 22px;
    font-size: 14px;
  }

  .sem-footer-caption {
    align-self: flex-end;
    font-size: 7px;
    letter-spacing: 2px;
    padding-left: 52px;
  }

  .sem-footer-caption>span {
    width: 35px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sem-main-button {
    transition: none;
  }
}

/* ==========================================
   FREE SEO & SEM AUDIT CTA
   ========================================== */

.gs-audit-section {
  --audit-background: #032e22;
  --audit-heading: #f7fbf8;
  --audit-body: #b7d1c7;
  --audit-accent: #3bde82;

  padding: 100px 0;
  background: #ffffff;

  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-audit-section,
.gs-audit-section * {
  box-sizing: border-box;
}

/* MAIN CARD */

.gs-audit-card {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 4vw, 65px);

  width: calc(100% - 88px);
  max-width: 1300px;
  margin-inline: auto;

  padding: 42px 40px 48px 60px;

  border: 1px solid #235340;
  border-radius: 25px;

  background:
    radial-gradient(ellipse at 68% 57%,
      rgba(14, 102, 63, 0.1),
      transparent 56%),
    var(--audit-background);

  color: var(--audit-heading);
}

/* LEFT CONTENT */

.gs-audit-content {
  min-width: 0;
  padding-block: 20px 12px;
}

.gs-audit-eyebrow {
  margin: 0 0 24px;

  color: #5ae897;
  font-size: clamp(11px, 1.1vw, 14px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 2.6px;
}

.gs-audit-content h2 {
  margin: 0;

  color: var(--audit-heading);
  font-size: clamp(30px, 3.8vw, 48px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2.5px;
}

.gs-audit-description {
  max-width: 625px;
  margin: 29px 0 0;

  color: var(--audit-body);
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.35px;
}

/* BUTTON */

.gs-audit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;

  width: min(100%, 480px);
  min-height: 86px;
  margin-top: 40px;
  padding: 22px 30px;

  border: 1px solid #31c975;
  border-radius: 14px;

  background: #3bdd81;
  color: #052e20;

  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.6px;
  text-align: center;
  text-decoration: none;

  transition:
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.gs-audit-button svg {
  display: block;
  width: 27px;
  height: 27px;
  flex-shrink: 0;

  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;

  transition: transform 0.25s ease;
}

.gs-audit-button:hover {
  background: #58eb94;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.gs-audit-button:hover svg {
  transform: translateX(5px);
}

.gs-audit-button:focus-visible {
  outline: 3px solid #b9ffd6;
  outline-offset: 5px;
}

/* BENEFITS */

.gs-audit-benefits {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;

  margin: 33px 0 0;
  padding: 0;

  color: var(--audit-body);

  font-size: clamp(11px, 1.1vw, 14px);
  font-weight: 400;
  line-height: 1.6;

  list-style: none;
}

.gs-audit-benefits li {
  display: inline-flex;
  align-items: center;
  gap: 24px;
}

.gs-audit-benefits li+li::before {
  content: "";

  width: 4px;
  height: 4px;
  flex-shrink: 0;

  border-radius: 50%;
  background: #9dc5b2;
}

/* RIGHT GRAPHIC */

.gs-audit-visual {
  min-width: 0;
}

.gs-audit-chart {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.gs-audit-chart text {
  font-family: "Inter", sans-serif;
}

.gs-audit-competitor text {
  fill: #c0dcd1;
  font-size: 16px;
  font-weight: 400;
}

.gs-audit-axis-labels {
  fill: #d0e7dd;
  font-size: 14px;
  font-weight: 400;
}

.gs-audit-opportunity-label {
  fill: #60ed98;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.3px;
}

.gs-audit-visibility-label {
  fill: #77f1ac;
  font-size: 16px;
  font-weight: 500;
}

.gs-audit-chart-caption {
  fill: #a7c8ba;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 3px;
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1280px) {
  .gs-audit-section {
    padding: 75px 0;
  }

  .gs-audit-card {
    width: calc(100% - 64px);
    gap: 34px;
    padding: 38px;
  }

  .gs-audit-content {
    padding-block: 10px;
  }

  .gs-audit-content h2 {
    font-size: clamp(28px, 3.5vw, 40px);
    letter-spacing: -1.8px;
  }

  .gs-audit-eyebrow {
    margin-bottom: 20px;
    font-size: 11px;
    letter-spacing: 2px;
  }

  .gs-audit-description {
    margin-top: 23px;
    font-size: 15px;
    line-height: 1.6;
  }

  .gs-audit-button {
    width: min(100%, 370px);
    min-height: 68px;
    margin-top: 30px;
    padding: 18px 22px;
    font-size: 18px;
    border-radius: 12px;
  }

  .gs-audit-button svg {
    width: 23px;
    height: 23px;
  }

  .gs-audit-benefits {
    gap: 10px 15px;
    margin-top: 25px;
    font-size: 11px;
  }

  .gs-audit-benefits li {
    gap: 15px;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 960px) {
  .gs-audit-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;

    padding: 42px;
    border-radius: 22px;
  }

  .gs-audit-content {
    max-width: 700px;
    padding: 0;
  }

  .gs-audit-content h2 {
    font-size: clamp(30px, 5vw, 46px);
    letter-spacing: -2px;
  }

  .gs-audit-description {
    max-width: 580px;
    font-size: 16px;
  }

  .gs-audit-benefits {
    font-size: 13px;
    gap: 12px 22px;
  }

  .gs-audit-benefits li {
    gap: 22px;
  }

  .gs-audit-visual {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
  .gs-audit-section {
    padding: 45px 0;
  }

  .gs-audit-card {
    width: calc(100% - 32px);
    gap: 35px;

    padding: 30px 22px 24px;
    border-radius: 19px;
  }

  .gs-audit-eyebrow {
    margin-bottom: 18px;

    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 1.8px;
  }

  .gs-audit-content h2 {
    font-size: clamp(30px, 7.6vw, 43px);
    line-height: 1.13;
    letter-spacing: -1.3px;
  }

  .gs-audit-desktop-break {
    display: none;
  }

  .gs-audit-description {
    margin-top: 21px;
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: -0.15px;
  }

  .gs-audit-button {
    width: 100%;
    min-height: 62px;
    margin-top: 26px;
    padding: 16px;

    gap: 12px;

    border-radius: 11px;
    font-size: 18px;
    letter-spacing: -0.4px;
  }

  .gs-audit-button svg {
    width: 22px;
    height: 22px;
  }

  .gs-audit-benefits {
    gap: 8px 12px;
    margin-top: 22px;

    font-size: 10px;
    line-height: 1.7;
  }

  .gs-audit-benefits li {
    gap: 12px;
  }

  .gs-audit-benefits li+li::before {
    width: 3px;
    height: 3px;
  }

  .gs-audit-chart-caption {
    font-size: 15px;
    letter-spacing: 2.5px;
  }
}

/* Very small phones */

@media (max-width: 360px) {
  .gs-audit-card {
    padding-inline: 18px;
  }

  .gs-audit-content h2 {
    font-size: 28px;
  }

  .gs-audit-button {
    font-size: 16px;
  }

  .gs-audit-benefits {
    column-gap: 9px;
    font-size: 9px;
  }

  .gs-audit-benefits li {
    gap: 9px;
  }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

  .gs-audit-button,
  .gs-audit-button svg {
    transition: none;
  }

  .gs-audit-button:hover,
  .gs-audit-button:hover svg {
    transform: none;
  }
}

/* ==========================================
   WHY GROWTHSPELL
   ========================================== */

.gs-why-icon-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-why {
  --why-heading: #10231f;
  --why-body: #727783;
  --why-green: #28c97a;
  --why-border: #e2e8e6;

  --why-blue-bg: #edf4ff;
  --why-blue-icon: #4a78bd;

  --why-purple-bg: #f0ebfc;
  --why-purple-icon: #8460bf;

  --why-peach-bg: #fff0e5;
  --why-peach-icon: #bc8251;

  --why-mint-bg: #e8f7ef;
  --why-mint-icon: #258763;

  padding: 50px 0 36px;
  background: #ffffff;
  color: var(--why-heading);

  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-why,
.gs-why * {
  box-sizing: border-box;
}

.gs-why h2,
.gs-why h3,
.gs-why h4,
.gs-why p {
  margin: 0;
}

.gs-why svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-why-container {
  width: calc(100% - 100px);
  max-width: 1300px;
  margin-inline: auto;
}

/* ==========================================
   TOP ROW
   ========================================== */

.gs-why-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(34px, 4vw, 66px);

  margin-bottom: 30px;
  padding-inline: 10px;
}

.gs-why-intro {
  min-width: 0;
}

.gs-why-eyebrow {
  margin-bottom: 15px !important;

  color: #35bc7e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-why-intro h2 {
  color: var(--why-heading);

  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -2px;
}

.gs-why-description {
  max-width: 745px;
  margin-top: 22px !important;

  color: var(--why-body);

  font-size: clamp(13px, 1vw, 16px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: -0.35px;
}

/* ==========================================
   LAVENDER CODEBASE CARD
   ========================================== */

.gs-why-codebase {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  min-width: 0;
  padding: 35px 44px 36px;

  border: 1px solid #eae3f6;
  border-radius: 15px;

  background: linear-gradient(115deg,
      #f3effc 0%,
      #f8f5fd 100%);
}

.gs-why-codebase-top {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  gap: 36px;
}

.gs-why-codebase-icon {
  display: grid;
  place-items: center;

  width: 104px;
  height: 104px;

  border: 1px solid #ded2f1;
  border-radius: 14px;

  background: rgba(255, 255, 255, 0.8);
  color: var(--why-purple-icon);
}

.gs-why-codebase-icon svg {
  width: 56px;
  height: 56px;
  stroke-width: 2.5;
}

.gs-why-codebase-copy h3 {
  margin-bottom: 12px;

  color: #292138;

  font-size: clamp(13px, 1.1vw, 17px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1px;
}

.gs-why-codebase-copy p {
  max-width: 440px;
  color: #787184;

  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.4;
  letter-spacing: -0.2px;
}

/* Strategy → Engineering → Growth */

.gs-why-workflow {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) minmax(16px, 0.36fr) minmax(0, 1.25fr) minmax(16px, 0.36fr) minmax(0, 1fr);

  align-items: center;
  gap: 12px;

  margin-top: 31px;
}

.gs-why-workflow-step {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 43px;
  padding: 11px 8px;

  border-radius: 14px;
  background: #e8def7;
  color: #574071;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.6px;
  text-align: center;
}

.gs-why-workflow-step:last-child {
  background: #e0f2e9;
  color: #28634d;
}

.gs-why-workflow-line {
  height: 1px;
  background: #b59bda;
}

.gs-why-workflow-line:nth-last-child(2) {
  background: linear-gradient(90deg, #b59bda, #68bc99);
}

/* ==========================================
   ONE TEAM PANEL
   ========================================== */

.gs-why-panel {
  --panel-padding: 40px;
  --layer-indent: 30px;

  position: relative;

  padding:
    24px var(--panel-padding) 85px;

  border: 1px solid var(--why-border);
  border-radius: 12px;
  background: #ffffff;
}

.gs-why-panel-heading h3 {
  color: #17251f;

  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.3px;
}

.gs-why-panel-heading>p {
  margin-top: 3px;

  color: var(--why-body);
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: -0.3px;
}

/* Four equal columns */

.gs-why-layers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  margin-top: 19px;
}

.gs-why-layer {
  min-width: 0;
  padding: 0 24px 4px var(--layer-indent);
}

.gs-why-layer:first-child {
  padding-left: 0;
}

.gs-why-layer+.gs-why-layer {
  border-left: 1px solid #dce5e2;
}

.gs-why-layer-icon {
  display: grid;
  place-items: center;

  width: 72px;
  height: 72px;
  margin-bottom: 12px;

  border-radius: 12px;
  background: var(--layer-bg);
  color: var(--layer-color);
}

.gs-why-layer-icon svg {
  width: 39px;
  height: 39px;
}

.gs-why-layer-blue {
  --layer-bg: var(--why-blue-bg);
  --layer-color: var(--why-blue-icon);
}

.gs-why-layer-purple {
  --layer-bg: var(--why-purple-bg);
  --layer-color: var(--why-purple-icon);
}

.gs-why-layer-peach {
  --layer-bg: var(--why-peach-bg);
  --layer-color: var(--why-peach-icon);
}

.gs-why-layer-mint {
  --layer-bg: var(--why-mint-bg);
  --layer-color: var(--why-mint-icon);
}

.gs-why-layer h4 {
  margin-bottom: 7px;

  color: #20312b;
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.7px;
}

.gs-why-layer p {
  color: var(--why-body);

  font-size: clamp(12px, 1vw, 15px);
  line-height: 1.4;
  letter-spacing: -0.25px;
}

/* ==========================================
   CONNECTING LINE
   ========================================== */

.gs-why-progress {
  position: absolute;
  left: var(--panel-padding);
  right: var(--panel-padding);
  bottom: 47px;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  height: 16px;
  pointer-events: none;
}

.gs-why-progress::before {
  content: "";

  position: absolute;
  left: 8px;
  top: 7px;

  width: calc(75% + var(--layer-indent));
  height: 2px;

  background: linear-gradient(90deg,
      #799cd1 0%,
      #a48acb 33%,
      #d5a67e 66%,
      #34c781 100%);
}

.gs-why-progress-dot {
  position: relative;
  z-index: 1;

  width: 16px;
  height: 16px;
  margin-left: var(--layer-indent);

  border: 2px solid #fff;
  border-radius: 50%;

  background: #8daedc;
}

.gs-why-progress-dot:first-child {
  margin-left: 0;
}

.gs-why-progress-dot:nth-child(2) {
  background: #a38acb;
}

.gs-why-progress-dot:nth-child(3) {
  background: #d3a17a;
}

.gs-why-progress-dot:nth-child(4) {
  background: #31c67d;
}

/* Outcome pill */

.gs-why-outcome {
  position: absolute;
  right: 28px;
  bottom: 25px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  min-height: 44px;
  padding: 10px 15px;

  border: 1px solid #84d8ad;
  border-radius: 12px;

  background: #f7fcf9;
  color: #319766;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1px;
}

.gs-why-outcome svg {
  width: 21px;
  height: 21px;
  stroke-width: 1.8;
}

/* ==========================================
   BENEFITS
   ========================================== */

.gs-why-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;

  margin: 9px 0 0;
  padding: 0;
  list-style: none;
}

.gs-why-benefits li {
  display: flex;
  align-items: center;
  gap: 27px;

  min-height: 66px;
  padding: 11px 10px;

  border-bottom: 1px solid #e3e9e6;

  color: #34404c;
  font-size: clamp(12px, 1.1vw, 15px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.3px;
}

.gs-why-benefit-icon {
  display: grid;
  place-items: center;
  flex: 0 0 41px;

  width: 41px;
  height: 41px;
  border-radius: 8px;
}

.gs-why-benefit-icon svg {
  width: 25px;
  height: 25px;
  stroke-width: 3;
}

.gs-why-benefit-blue .gs-why-benefit-icon {
  background: var(--why-blue-bg);
  color: var(--why-blue-icon);
}

.gs-why-benefit-purple .gs-why-benefit-icon {
  background: var(--why-purple-bg);
  color: var(--why-purple-icon);
}

.gs-why-benefit-peach .gs-why-benefit-icon {
  background: var(--why-peach-bg);
  color: var(--why-peach-icon);
}

.gs-why-benefit-mint .gs-why-benefit-icon {
  background: var(--why-mint-bg);
  color: var(--why-mint-icon);
}

/* ==========================================
   ABOUT BUTTON
   ========================================== */

.gs-why-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;

  min-width: 245px;
  min-height: 55px;

  margin-top: 12px;
  padding: 14px 26px;

  border: 1px solid #30cc80;
  border-radius: 9px;

  background: #36d483;
  color: #083823;

  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.gs-why-button svg {
  width: 25px;
  height: 25px;
  stroke-width: 1.8;
  transition: transform 0.2s ease;
}

.gs-why-button:hover {
  background: #28c878;
  transform: translateY(-2px);
}

.gs-why-button:hover svg {
  transform: translateX(3px);
}

.gs-why-button:focus-visible {
  outline: 3px solid #1b6c49;
  outline-offset: 4px;
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1350px) {
  .gs-why-container {
    width: calc(100% - 64px);
  }

  .gs-why-top {
    gap: 32px;
    padding-inline: 0;
  }

  .gs-why-intro h2 {
    letter-spacing: -1.5px;
  }

  .gs-why-codebase {
    padding: 28px;
  }

  .gs-why-codebase-top {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 23px;
  }

  .gs-why-codebase-icon {
    width: 78px;
    height: 78px;
  }

  .gs-why-codebase-icon svg {
    width: 44px;
    height: 44px;
  }

  .gs-why-codebase-copy h3 {
    font-size: 15px;
    letter-spacing: 0.7px;
  }

  .gs-why-codebase-copy p {
    font-size: 15px;
  }

  .gs-why-workflow {
    gap: 8px;
    margin-top: 25px;
  }

  .gs-why-workflow-step {
    min-height: 39px;
    font-size: 10px;
    letter-spacing: 1px;
  }

  .gs-why-panel {
    --panel-padding: 28px;
    --layer-indent: 23px;
  }

  .gs-why-layer {
    padding-right: 16px;
  }

  /* Give the outcome its own row at smaller widths. */
  .gs-why-panel {
    padding-bottom: 25px;
  }

  .gs-why-progress {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 25px;
  }

  .gs-why-outcome {
    position: static;
    width: fit-content;
    margin: 18px 0 0 auto;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {
  .gs-why {
    padding: 42px 0 32px;
  }

  .gs-why-top {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  .gs-why-intro h2 {
    max-width: 760px;
    font-size: clamp(34px, 4.8vw, 46px);
  }

  .gs-why-description {
    max-width: 800px;
    font-size: 16px;
    line-height: 1.6;
  }

  .gs-why-codebase {
    padding: 30px;
  }

  .gs-why-codebase-copy p {
    max-width: 590px;
    font-size: 16px;
  }

  .gs-why-workflow {
    max-width: 650px;
    margin-top: 25px;
  }

  .gs-why-layers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 0;
    margin-top: 25px;
  }

  .gs-why-layer {
    padding: 0 22px;
  }

  .gs-why-layer:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .gs-why-layer:nth-child(even) {
    border-left: 1px solid #dce5e2;
  }

  .gs-why-layer h4 {
    font-size: 14px;
  }

  .gs-why-layer p {
    font-size: 15px;
  }

  .gs-why-progress {
    display: none;
  }

  .gs-why-outcome {
    margin-top: 28px;
  }

  .gs-why-benefits {
    column-gap: 22px;
  }

  .gs-why-benefits li {
    gap: 16px;
    padding-inline: 0;
    font-size: 14px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
  .gs-why {
    padding: 32px 0;
  }

  .gs-why-container {
    width: calc(100% - 36px);
  }

  .gs-why-top {
    gap: 24px;
    margin-bottom: 22px;
  }

  .gs-why-eyebrow {
    margin-bottom: 13px !important;
    font-size: 10px;
    letter-spacing: 2.3px;
  }

  .gs-why-intro h2 {
    font-size: clamp(29px, 7.5vw, 40px);
    line-height: 1.13;
    letter-spacing: -1.2px;
  }

  .gs-why-title-break {
    display: none;
  }

  .gs-why-description {
    margin-top: 17px !important;
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: -0.15px;
  }

  .gs-why-codebase {
    padding: 23px 20px;
    border-radius: 13px;
  }

  .gs-why-codebase-top {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
  }

  .gs-why-codebase-icon {
    width: 58px;
    height: 58px;
    border-radius: 10px;
  }

  .gs-why-codebase-icon svg {
    width: 34px;
    height: 34px;
  }

  .gs-why-codebase-copy h3 {
    margin-bottom: 9px;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.6px;
  }

  .gs-why-codebase-copy p {
    font-size: 13px;
    line-height: 1.6;
  }

  .gs-why-workflow {
    grid-template-columns:
      minmax(0, 1fr) 12px minmax(0, 1.25fr) 12px minmax(0, 1fr);

    gap: 5px;
    margin-top: 24px;
  }

  .gs-why-workflow-step {
    min-height: 35px;
    padding: 9px 4px;
    border-radius: 9px;

    font-size: 8px;
    letter-spacing: 0.5px;
  }

  .gs-why-panel {
    --panel-padding: 20px;
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .gs-why-panel-heading h3 {
    font-size: 18px;
  }

  .gs-why-panel-heading>p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .gs-why-layers {
    gap: 25px 0;
  }

  .gs-why-layer {
    padding-inline: 15px;
  }

  .gs-why-layer:nth-child(even) {
    padding-right: 0;
  }

  .gs-why-layer-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 10px;
  }

  .gs-why-layer-icon svg {
    width: 31px;
    height: 31px;
  }

  .gs-why-layer h4 {
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0.4px;
  }

  .gs-why-layer p {
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: -0.1px;
  }

  .gs-why-layer p br {
    display: none;
  }

  .gs-why-outcome {
    gap: 8px;
    min-height: 39px;
    padding: 9px 11px;
    font-size: 9px;
    letter-spacing: 0.7px;
  }

  .gs-why-outcome svg {
    width: 18px;
    height: 18px;
  }

  .gs-why-benefits {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 10px;
  }

  .gs-why-benefits li {
    min-height: 61px;
    gap: 15px;
    padding-block: 12px;
    font-size: 13px;
    letter-spacing: -0.1px;
  }

  .gs-why-benefit-icon {
    flex-basis: 35px;
    width: 35px;
    height: 35px;
  }

  .gs-why-benefit-icon svg {
    width: 21px;
    height: 21px;
  }

  .gs-why-button {
    min-width: 210px;
    min-height: 51px;
    margin-top: 18px;
    padding: 13px 22px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .gs-why-button,
  .gs-why-button svg {
    transition: none;
  }

  .gs-why-button:hover,
  .gs-why-button:hover svg {
    transform: none;
  }
}

/* ==========================================
   COMPETITOR ANALYSIS
   ========================================== */

.gs-competitor {
  --ca-heading: #10221f;
  --ca-body: #777e85;
  --ca-green: #28bd76;

  --ca-blue: #5f85b9;
  --ca-purple: #9572bc;
  --ca-peach: #bd8b61;

  padding: 38px 0 20px;
  background: #ffffff;
  color: var(--ca-heading);

  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-competitor,
.gs-competitor * {
  box-sizing: border-box;
}

.gs-competitor h2,
.gs-competitor h3,
.gs-competitor p {
  margin: 0;
}

.gs-competitor-container {
  width: calc(100% - 100px);
  max-width: 1300px;
  margin-inline: auto;
}

/* ==========================================
   HEADER
   ========================================== */

.gs-competitor-header {
  max-width: 1100px;
  margin-inline: auto;
  text-align: center;
}

.gs-competitor-eyebrow {
  margin-bottom: 23px !important;

  color: var(--ca-green);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.8px;
}

.gs-competitor-header h2 {
  color: var(--ca-heading);

  font-size: clamp(28px, 3vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1.9px;
}

.gs-competitor-description {
  max-width: 1390px;
  margin: 21px auto 0 !important;

  color: var(--ca-body);

  font-size: clamp(14px, 1.3vw, 18px);
  font-weight: 400;
  line-height: 1.43;
  letter-spacing: -0.3px;
}

/* ==========================================
   MAIN LAYOUT
   ========================================== */

.gs-competitor-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.7fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(28px, 3.3vw, 58px);

  margin-top: 34px;
}

/* LEFT DIAGRAM */

.gs-competitor-visual {
  min-width: 0;
}

.gs-competitor-diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.gs-competitor-diagram text {
  font-family: "Inter", sans-serif;
}

.gs-ca-query-text {
  fill: #34414b;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.3px;
}

.gs-ca-page-label {
  fill: #86908f;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.6px;
}

.gs-ca-analysis-label {
  fill: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
}

.gs-ca-gap-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* ==========================================
   RIGHT OPPORTUNITIES
   ========================================== */

.gs-competitor-opportunities {
  min-width: 0;

  margin-bottom: 12px;
  padding: 0 0 19px clamp(24px, 2.5vw, 43px);

  border-left: 1px solid #e1e8e5;
}

.gs-competitor-opportunities h3 {
  color: #2ba975;

  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 1.5px;
}

.gs-competitor-list {
  display: flex;
  flex-direction: column;

  margin: 19px 0 0;
  padding: 0;
  list-style: none;
}

.gs-competitor-list li {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: baseline;
  gap: 24px;

  min-height: 98px;
  padding: 29px 0 25px;

  color: #17242b;

  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.65px;
}

.gs-competitor-list li+li {
  border-top: 1px solid #e4e9e7;
}

.gs-competitor-number {
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.5px;
}

.gs-competitor-item-blue .gs-competitor-number {
  color: var(--ca-blue);
}

.gs-competitor-item-purple .gs-competitor-number {
  color: var(--ca-purple);
}

.gs-competitor-item-peach .gs-competitor-number {
  color: var(--ca-peach);
}

/* ==========================================
   OUTRANK CTA
   ========================================== */

.gs-competitor-route {
  display: flex;
  align-items: center;
  gap: 23px;

  width: 100%;
  margin-top: 23px;

  color: #2dbd75;
  text-decoration: none;
}

.gs-competitor-route-arrow {
  display: block;
  flex: 0 0 48px;

  width: 48px;
  height: 32px;

  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;

  transition: transform 0.25s ease;
}

.gs-competitor-route>span {
  display: flex;
  align-items: center;
  justify-content: center;

  flex: 1;
  min-width: 0;
  min-height: 62px;
  padding: 14px 15px;

  border: 1.5px solid #51c98c;
  border-radius: 12px;

  background: #f6fcf8;
  color: #2baf6f;

  font-size: clamp(11px, 1vw, 14px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.8px;
  text-align: center;

  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

.gs-competitor-route:hover>span {
  border-color: #2bb873;
  background: #e9f8ef;
}

.gs-competitor-route:hover .gs-competitor-route-arrow {
  transform: translateX(5px);
}

.gs-competitor-route:focus-visible {
  outline: 3px solid #208452;
  outline-offset: 6px;
  border-radius: 10px;
}

/* BOTTOM BORDER */

.gs-competitor-bottom-line {
  height: 1px;
  margin-top: 34px;
  background: #e6ece8;
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1350px) {
  .gs-competitor-container {
    width: calc(100% - 64px);
  }

  .gs-competitor-header {
    max-width: 1120px;
  }

  .gs-competitor-header h2 {
    font-size: clamp(32px, 3.4vw, 45px);
    letter-spacing: -1.5px;
  }

  .gs-competitor-description {
    max-width: 1080px;
    font-size: 17px;
    line-height: 1.55;
  }

  .gs-competitor-layout {
    grid-template-columns: minmax(0, 2.35fr) minmax(0, 1fr);
    gap: 28px;
    margin-top: 32px;
  }

  .gs-competitor-opportunities {
    padding-left: 24px;
    padding-bottom: 8px;
  }

  .gs-competitor-opportunities h3 {
    font-size: 19px;
    letter-spacing: 1px;
  }

  .gs-competitor-list {
    margin-top: 13px;
  }

  .gs-competitor-list li {
    grid-template-columns: 37px minmax(0, 1fr);
    gap: 15px;

    min-height: 76px;
    padding: 21px 0;

    font-size: 19px;
    letter-spacing: -0.4px;
  }

  .gs-competitor-number {
    font-size: 26px;
  }

  .gs-competitor-route {
    gap: 13px;
    margin-top: 16px;
  }

  .gs-competitor-route-arrow {
    flex-basis: 34px;
    width: 34px;
    height: 27px;
  }

  .gs-competitor-route>span {
    min-height: 52px;
    padding: 12px 10px;

    font-size: 11px;
    letter-spacing: 0.5px;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {
  .gs-competitor {
    padding-top: 36px;
  }

  .gs-competitor-header h2 {
    max-width: 800px;
    margin-inline: auto;
    font-size: clamp(32px, 4.2vw, 42px);
  }

  .gs-competitor-eyebrow {
    margin-bottom: 17px !important;
    font-size: 12px;
  }

  .gs-competitor-description {
    font-size: 15px;
    line-height: 1.65;
  }

  .gs-competitor-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .gs-competitor-visual {
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
  }

  .gs-competitor-opportunities {
    margin: 0;
    padding: 27px 0 0;

    border-left: 0;
    border-top: 1px solid #e1e8e5;
  }

  .gs-competitor-opportunities h3 {
    font-size: 19px;
  }

  .gs-competitor-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 16px;
  }

  .gs-competitor-list li {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 10px;
    min-height: auto;
    padding: 15px 0;

    font-size: 17px;
  }

  .gs-competitor-list li+li {
    border-top: 0;
  }

  .gs-competitor-route {
    width: fit-content;
    max-width: 100%;
    margin-top: 20px;
  }

  .gs-competitor-route>span {
    padding-inline: 22px;
    font-size: 12px;
  }

  .gs-competitor-bottom-line {
    margin-top: 28px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
  .gs-competitor {
    padding: 30px 0 18px;
  }

  .gs-competitor-container {
    width: calc(100% - 36px);
  }

  .gs-competitor-eyebrow {
    margin-bottom: 15px !important;
    font-size: 10px;
    letter-spacing: 1.8px;
  }

  .gs-competitor-header h2 {
    font-size: clamp(29px, 7.7vw, 39px);
    line-height: 1.15;
    letter-spacing: -1.2px;
  }

  .gs-competitor-description {
    margin-top: 17px !important;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: -0.1px;
  }

  .gs-competitor-layout {
    gap: 25px;
    margin-top: 24px;
  }

  /*
    The illustration scales as one SVG, keeping
    its cards, circle, and labels aligned.
  */
  .gs-competitor-visual {
    width: 100%;
  }

  .gs-competitor-opportunities {
    padding-top: 22px;
  }

  .gs-competitor-opportunities h3 {
    font-size: 17px;
    line-height: 1.4;
    letter-spacing: 1px;
  }

  .gs-competitor-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 11px;
  }

  .gs-competitor-list li {
    grid-template-columns: 43px minmax(0, 1fr);
    align-items: center;
    gap: 17px;

    min-height: 74px;
    padding: 19px 0;
    font-size: 20px;
  }

  .gs-competitor-list li+li {
    border-top: 1px solid #e4e9e7;
  }

  .gs-competitor-number {
    font-size: 28px;
  }

  .gs-competitor-route {
    width: 100%;
    gap: 19px;
    margin-top: 20px;
  }

  .gs-competitor-route-arrow {
    flex-basis: 39px;
    width: 39px;
    height: 29px;
  }

  .gs-competitor-route>span {
    min-height: 53px;
    padding: 13px 12px;
    font-size: 12px;
    letter-spacing: 0.6px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .gs-competitor-route-arrow,
  .gs-competitor-route>span {
    transition: none;
  }

  .gs-competitor-route:hover .gs-competitor-route-arrow {
    transform: none;
  }
}

/* ==========================================
   SHARED STYLES
   ========================================== */

.gs-search-icons {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-search-sections {
  --gss-green: #23cc73;
  --gss-ink: #092621;
  --gss-muted: #738087;
  --gss-border: #dfeae6;

  width: calc(100% - 40px);
  max-width: 1300px;
  margin-inline: auto;
  padding: 28px 0 35px;

  background: #fff;
  color: var(--gss-ink);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-search-sections,
.gs-search-sections * {
  box-sizing: border-box;
}

.gs-search-sections h2,
.gs-search-sections h3,
.gs-search-sections h4,
.gs-search-sections p {
  margin: 0;
}

.gs-search-sections svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gss-section-heading {
  max-width: 1200px;
  margin-inline: auto;
  text-align: center;
}

.gss-eyebrow {
  margin-bottom: 18px !important;
  color: #20bf68;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.7px;
}

.gss-section-heading h2 {
  color: #09211f;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -1.7px;
}

.gss-section-description {
  max-width: 1120px;
  margin: 16px auto 0 !important;
  color: #737d84;
  font-size: clamp(13px, 1.25vw, 16px);
  line-height: 1.45;
  letter-spacing: -0.25px;
}



/* ==========================================
   PROCESS HEADING
   ========================================== */

.gss-process {
  padding-top: 27px;
}

.gss-process-heading {
  margin-bottom: 23px;
}

.gss-process-heading .gss-eyebrow {
  margin-bottom: 13px !important;
  color: #278b69;
}

.gss-process-heading h2 {
  font-size: clamp(25px, 2.7vw, 38px);
}

.gss-process-heading .gss-section-description {
  margin-top: 7px !important;
  font-size: clamp(14px, 1.4vw, 18px);
}

/* ==========================================
   PROCESS BOARD
   ========================================== */

.gss-process-board {
  position: relative;
  display: grid;
  grid-template-columns: 22% 56% 22%;

  min-height: 520px;
  overflow: hidden;

  border: 1px solid #dce9e3;
  border-radius: 10px;
  background: #fff;

  box-shadow: 0 2px 8px rgb(9 65 39 / 3%);
}

.gss-define,
.gss-execute,
.gss-improve {
  min-width: 0;
  padding: 24px 23px 52px;
}

.gss-execute {
  padding-inline: 12px;
  border-left: 1px solid #dceee5;
  background: #f1faf6;
}

.gss-improve {
  position: relative;
  color: #eef8f2;
  background: #0b3027;
}

.gss-phase-label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;

  color: #245e4e;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 2px;
}

.gss-phase-label i {
  height: 1px;
  flex: 1;
  background: #d4e4dc;
}

.gss-phase-heading {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.5px;
}

.gss-step h4 {
  margin-bottom: 6px;
  color: #193c33;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.2px;
}

.gss-step p {
  color: #75838a;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: -0.15px;
}

.gss-step-top {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 8px;
}

.gss-step-top>svg {
  width: 29px;
  height: 29px;
  flex-shrink: 0;
  color: #214b40;
}

.gss-step-number {
  display: grid;
  place-items: center;
  flex-shrink: 0;

  width: 30px;
  height: 30px;
  border-radius: 5px;

  background: #4de28b;
  color: #0c402b;

  font-size: 12px;
  font-weight: 700;
}

/* DEFINE */

.gss-define-step {
  margin-top: 26px;
}

.gss-define-step+.gss-define-step {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e1e9e5;
}

.gss-foundation-label {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 22px !important;

  color: #82919a;
  font-size: 7px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.6px;
  white-space: nowrap;
}

.gss-foundation-label i {
  flex: 1;
  height: 1px;
  background: #dfe7e3;
}

/* EXECUTE */

.gss-execute>.gss-phase-label,
.gss-execute-intro {
  margin-inline: 15px;
}

.gss-execute>.gss-phase-label {
  margin-bottom: 13px;
}

.gss-execute-intro {
  color: #78878d;
  font-size: 13px;
  line-height: 1.5;
}

.gss-organic {
  margin-top: 15px;
  padding: 18px 26px 23px;
  border-radius: 10px;
  background: #e8f7ef;
}

.gss-workstream-heading {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  margin-bottom: 24px;
}

.gss-workstream-heading>svg {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  color: #298d6c;
}

.gss-workstream-heading h3 {
  color: #265848;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 2px;
}

.gss-workstream-heading p {
  margin-top: 3px;
  color: #639389;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: -0.1px;
}

.gss-organic-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.gss-connected-step .gss-step-top {
  position: relative;
}

.gss-step-connector {
  position: relative;
  height: 2px;
  flex: 1;
  margin-left: 4px;
  background: #24ce75;
}

.gss-step-connector::after {
  content: "";
  position: absolute;
  right: 0;
  top: -3px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #24ce75;
  border-right: 2px solid #24ce75;
  transform: rotate(45deg);
}

/* PAID SEARCH */

.gss-paid {
  margin-top: 11px;
  padding: 18px 26px 20px;
  border-radius: 10px;
  background: #edf2f3;
}

.gss-paid .gss-workstream-heading {
  margin-bottom: 20px;
}

.gss-paid .gss-workstream-heading>svg {
  color: #173f36;
}

.gss-paid .gss-workstream-heading p {
  color: #7d8991;
}

.gss-paid-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  padding-left: 39px;
}

.gss-paid-step .gss-step-top {
  align-items: flex-start;
}

.gss-paid-copy {
  max-width: 320px;
  padding-top: 4px;
}

.gss-paid-note {
  display: block;
  margin-top: 17px;

  color: #7e9098;
  font-size: 7px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1.5px;
}

/* IMPROVE */

.gss-improve .gss-phase-label {
  color: #80d8bd;
}

.gss-improve .gss-phase-label i {
  background: #467762;
}

.gss-improve .gss-phase-heading {
  color: #f0f7f4;
}

.gss-performance {
  margin-top: 25px;
}

.gss-performance-pill {
  display: flex;
  align-items: center;
  gap: 13px;

  width: 88%;
  min-height: 41px;
  padding: 9px 12px;

  border: 1px solid #408361;
  border-radius: 8px;
}

.gss-performance-pill+.gss-performance-pill {
  margin-top: 12px;
}

.gss-performance-pill svg {
  width: 23px;
  height: 23px;
  color: #50e79c;
  flex-shrink: 0;
}

.gss-performance-pill>span {
  color: #d7ece1;
  font-size: 7px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.4px;
}

.gss-performance-merge {
  width: 90%;
  height: 45px;
  color: #7fe5aa;
  stroke-width: 1.5 !important;
}

.gss-reporting-step h4 {
  color: #f0f8f3;
  font-size: 12px;
}

.gss-reporting-step p {
  color: #abc2b8;
  font-size: 11px;
}

.gss-reporting-step .gss-step-top>svg {
  color: #d6f5e1;
}

.gss-improve-note {
  margin-top: 22px !important;
  color: #67dd94;

  font-size: 8px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.7px;
  text-align: center;
}

/* DESKTOP FLOW LINES */

.gs-search-sections .gss-board-connections {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;

  color: #22cf71;
  stroke-width: 1.8;
  pointer-events: none;
}

.gss-board-connections circle {
  fill: currentColor;
}

/* ==========================================
   SMALL DESKTOP / TABLET
   ========================================== */

@media (max-width: 1100px) {


  .gss-process-board {
    grid-template-columns: 1fr;
  }

  .gss-define,
  .gss-execute,
  .gss-improve {
    padding: 25px;
  }

  .gss-define {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .gss-define>.gss-phase-label,
  .gss-define>.gss-phase-heading,
  .gss-foundation-label {
    grid-column: 1 / -1;
  }

  .gss-define>.gss-phase-label {
    margin-bottom: 0;
  }

  .gss-define-step {
    margin-top: 0;
  }

  .gss-define-step+.gss-define-step {
    margin-top: 0;
    padding: 0 0 0 22px;
    border-top: 0;
    border-left: 1px solid #e1e9e5;
  }

  .gss-foundation-label {
    margin-top: 0 !important;
  }

  .gss-execute {
    border-left: 0;
    border-top: 1px solid #dceee5;
  }

  .gss-improve {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 30px;
  }

  .gss-improve>.gss-phase-label,
  .gss-improve>.gss-phase-heading,
  .gss-improve-note {
    grid-column: 1 / -1;
  }

  .gss-improve>.gss-phase-label {
    margin-bottom: 0;
  }

  .gss-performance {
    margin-top: 0;
  }

  .gss-performance-merge {
    display: none;
  }

  .gss-reporting-step {
    align-self: center;
  }

  .gss-improve-note {
    margin-top: 0 !important;
  }

  .gs-search-sections .gss-board-connections {
    display: none;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 700px) {
  .gs-search-sections {
    width: calc(100% - 32px);
    padding-top: 30px;
  }



  .gss-process {
    padding-top: 27px;
  }

  .gss-process-heading .gss-section-description {
    font-size: 14px;
    line-height: 1.55;
  }

  .gss-define,
  .gss-execute,
  .gss-improve {
    padding: 23px 19px;
  }

  .gss-define {
    grid-template-columns: 1fr;
  }

  .gss-define-step+.gss-define-step {
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid #e1e9e5;
  }

  .gss-phase-heading {
    font-size: 21px;
  }

  .gss-step h4 {
    font-size: 15px;
  }

  .gss-step p {
    font-size: 13px;
    line-height: 1.6;
  }

  .gss-execute>.gss-phase-label,
  .gss-execute-intro {
    margin-inline: 0;
  }

  .gss-execute-intro {
    font-size: 13px;
  }

  .gss-organic,
  .gss-paid {
    padding: 20px 16px;
  }

  .gss-workstream-heading {
    gap: 12px;
    margin-bottom: 22px;
  }

  .gss-workstream-heading h3 {
    font-size: 10px;
    letter-spacing: 1.5px;
  }

  .gss-workstream-heading p {
    font-size: 12px;
    line-height: 1.5;
  }

  .gss-organic-steps {
    grid-template-columns: 1fr;
    gap: 21px;
  }

  .gss-organic-steps>.gss-step+.gss-step {
    padding-top: 20px;
    border-top: 1px solid #d5e9de;
  }

  .gss-step-connector {
    display: none;
  }

  .gss-paid-step {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-left: 0;
  }

  .gss-paid-note {
    font-size: 8px;
  }

  .gss-improve {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .gss-performance-pill {
    width: 100%;
    max-width: 280px;
  }

  .gss-performance-pill>span {
    font-size: 9px;
  }

  .gss-reporting-step h4 {
    font-size: 16px;
  }

  .gss-reporting-step p {
    font-size: 13px;
  }

  .gss-improve-note {
    font-size: 9px;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gss-outrank>span {
    transition: none;
  }
}

/* ==========================================
   INDUSTRIES WE SERVE
   ========================================== */

.gs-sectors {
  --sector-heading: #0a211e;
  --sector-body: #6d7880;
  --sector-green: #29c877;
  --sector-border: #dfe8e4;

  padding: 36px 0 30px;
  color: var(--sector-heading);

  /* Very subtle section background */
  background:
    radial-gradient(ellipse at 4% 6%,
      rgba(231, 244, 239, 0.3),
      transparent 42%),
    radial-gradient(ellipse at 96% 92%,
      rgba(235, 235, 251, 0.25),
      transparent 40%),
    #ffffff;

  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-sectors,
.gs-sectors * {
  box-sizing: border-box;
}

.gs-sectors h2,
.gs-sectors h3,
.gs-sectors p {
  margin: 0;
}

.gs-sectors svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-sectors a:focus-visible {
  outline: 3px solid #217551;
  outline-offset: 5px;
}

.gs-sectors-container {
  width: calc(100% - 76px);
  max-width: 1300px;
  margin-inline: auto;
}

/* ==========================================
   HEADER
   ========================================== */

.gs-sectors-header {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 70px;

  margin-bottom: 28px;
  padding-inline: 40px;
}

.gs-sectors-eyebrow {
  margin-bottom: 13px !important;

  color: #28735d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.5px;
}

.gs-sectors-intro h2 {
  color: var(--sector-heading);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -2.5px;
}

.gs-sectors-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;

  padding-bottom: 17px;
}

.gs-sectors-location {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px;
  padding: 6px 15px;

  border: 1px solid #65cf98;
  border-radius: 4px;

  background: linear-gradient(110deg, #f3fff8, #e8f8ef);
  color: #27634e;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.gs-sectors-summary>p {
  max-width: 490px;

  color: var(--sector-body);
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.45;
  letter-spacing: -0.35px;
}

/* ==========================================
   MAIN BOARD
   ========================================== */

.gs-sectors-board {
  overflow: hidden;
  border: 1px solid var(--sector-border);
  border-radius: 14px;
  background: #ffffff;
}

/* ==========================================
   BUYER JOURNEY
   ========================================== */

.gs-sectors-journey {
  padding: 24px 40px 23px;
  background: rgba(255, 255, 255, 0.9);
}

.gs-sectors-journey ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  margin: 0 0 12px;
  padding: 0 29px;
  list-style: none;

  color: #5f6972;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.2px;
}

.gs-sectors-journey li:nth-child(2) {
  text-align: center;
}

.gs-sectors-journey li:last-child {
  text-align: right;
}

.gs-sectors-journey-track {
  position: relative;
  height: 2px;

  background: linear-gradient(90deg,
      #64c89a,
      #32d181 50%,
      #24c86f);
}

.gs-sectors-journey-dot {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;

  border-radius: 50%;
  background: #59c693;
  transform: translateY(-50%);
}

.gs-sectors-journey-dot:first-child {
  left: -4px;
}

.gs-sectors-journey-dot:nth-child(2) {
  left: calc(50% - 7px);
}

.gs-sectors-journey-arrow {
  position: absolute;
  top: 50%;
  right: 0;

  width: 13px;
  height: 13px;

  border-top: 2px solid #24c86f;
  border-right: 2px solid #24c86f;

  transform: translateY(-50%) rotate(45deg);
}

/* ==========================================
   THREE INDUSTRY COLUMNS
   ========================================== */

.gs-sectors-columns {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) minmax(0, 1.24fr) minmax(0, 1fr);
}

.gs-sector {
  min-width: 0;
  padding: 33px 32px 37px;
}

.gs-sector+.gs-sector {
  border-left: 1px solid rgba(255, 255, 255, 0.85);
}

/* Warm neutral / peach */
.gs-sector-local {
  padding-left: 50px;

  background:
    radial-gradient(ellipse at 0% 100%,
      rgba(246, 216, 194, 0.38),
      transparent 70%),
    linear-gradient(135deg,
      #faf8f5 0%,
      #fbf2e9 55%,
      #f9f8f4 100%);
}

/* Mint with a restrained blue tint */
.gs-sector-commercial {
  background:
    radial-gradient(ellipse at 70% 15%,
      rgba(194, 239, 218, 0.44),
      transparent 70%),
    linear-gradient(130deg,
      #f0faf4 0%,
      #e8f8ef 50%,
      #edf8f7 100%);
}

/* Blue / lavender */
.gs-sector-b2b {
  padding-left: 45px;

  background:
    radial-gradient(ellipse at 100% 85%,
      rgba(220, 209, 245, 0.34),
      transparent 70%),
    linear-gradient(135deg,
      #edf6fa 0%,
      #f0f3fc 55%,
      #f5f0fa 100%);
}

.gs-sector-heading {
  min-height: 100px;
}

.gs-sector-heading h3 {
  margin-bottom: 8px;

  color: #14282b;
  font-size: clamp(15px, 1.3vw, 21px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.5px;
}

.gs-sector-heading p {
  max-width: 400px;

  color: var(--sector-body);
  font-size: clamp(13px, 1.1vw, 16px);
  line-height: 1.4;
  letter-spacing: -0.3px;
}

/* Centre column heading aligns with the reference */
.gs-sector-commercial .gs-sector-heading {
  max-width: 410px;
  margin-inline: auto;
}

/* ==========================================
   INDUSTRY PILLS
   ========================================== */

.gs-sector-pills {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;

  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.gs-sector-pills>li {
  max-width: 100%;
}

.gs-sector-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 26px;

  max-width: 100%;
  min-height: 57px;
  padding: 14px 26px;

  border: 1px solid #cbd2d5;
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.88);
  color: #223239;

  font-size: clamp(13px, 1.1vw, 16px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.55px;

  text-align: center;
  text-decoration: none;

  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75);

  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease;
}

.gs-sector-pill svg {
  width: 23px;
  height: 23px;
  flex-shrink: 0;
}

.gs-sector-pill:hover {
  transform: translateY(-2px);
  border-color: #77b49a;
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(24, 61, 47, 0.06);
}

/* Featured light pill */
.gs-sector-pill-featured {
  min-width: 300px;
  border-color: #85bda0;

  background: linear-gradient(110deg,
      #e5fbdc 0%,
      #d9fae7 100%);

  color: #184b37;
  font-weight: 600;
}

/* Featured dark pill */
.gs-sector-pill-dark {
  min-width: 285px;
  border-color: #164f41;

  background: linear-gradient(115deg,
      #103e36 0%,
      #06362f 55%,
      #124d40 100%);

  color: #ffffff;
  box-shadow: none;
}

.gs-sector-pill-dark:hover {
  border-color: #276e56;
  background: #164d3f;
}

/* Middle column: two pills share the second row */
.gs-sector-commercial .gs-sector-pills {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px 10px;
}

.gs-sector-commercial .gs-sector-pill-row {
  display: flex;
  justify-content: center;
  width: 100%;
}

.gs-sector-commercial .gs-sector-pill {
  padding-inline: 23px;
  font-size: clamp(12px, 1vw, 15px);
}

/* ==========================================
   STRATEGY EQUATION
   ========================================== */

.gs-sectors-equation {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.7fr);

  align-items: center;
  gap: clamp(14px, 2vw, 32px);

  padding: 25px 40px 21px;
  border-bottom: 1px solid #dfe7e2;
}

.gs-sectors-equation-label {
  color: #65717b;

  font-size: clamp(10px, 0.9vw, 14px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1px;
  text-align: center;
}

.gs-sectors-equation-symbol {
  color: #25bf70;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.gs-sectors-equation-result {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 58px;
  padding: 13px 22px;

  border: 1.5px solid #48ca83;
  border-radius: 999px;

  background: linear-gradient(110deg, #f8fff9, #effaf5);
  color: #1faf66;

  font-size: clamp(11px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.7px;
  text-align: center;
}

/* ==========================================
   FOOTER
   ========================================== */

.gs-sectors-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  padding: 34px 40px 0;
}

.gs-sectors-footer>p {
  color: #182b2c;

  font-size: clamp(13px, 1.2vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.45px;
}

.gs-sectors-contact {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;

  padding-bottom: 6px;
  border-bottom: 2px solid #35c47b;

  color: #526068;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}

.gs-sectors-contact svg {
  width: 19px;
  height: 19px;
  transition: transform 0.2s ease;
}

.gs-sectors-contact:hover svg {
  transform: translateX(4px);
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1350px) {
  .gs-sectors-container {
    width: calc(100% - 56px);
  }

  .gs-sectors-header {
    gap: 35px;
    padding-inline: 20px;
  }

  .gs-sectors-intro h2 {
    font-size: clamp(28px, 3.8vw, 42px);
    letter-spacing: -1.8px;
  }

  .gs-sectors-summary>p {
    font-size: 15px;
  }

  .gs-sector,
  .gs-sector-local,
  .gs-sector-b2b {
    padding: 29px 24px 32px;
  }

  .gs-sector-heading {
    min-height: 110px;
  }

  .gs-sector-heading h3 {
    font-size: 16px;
  }

  .gs-sector-heading p {
    font-size: 14px;
    line-height: 1.5;
  }

  .gs-sector-pill {
    min-height: 50px;
    padding: 12px 18px;
    font-size: 14px;
    letter-spacing: -0.4px;
  }

  .gs-sector-pill-featured,
  .gs-sector-pill-dark {
    min-width: 0;
  }

  .gs-sector-commercial .gs-sector-pill {
    padding-inline: 15px;
    font-size: 12px;
  }

  .gs-sector-commercial .gs-sector-pills {
    gap: 12px 8px;
  }

  .gs-sectors-equation {
    gap: 16px;
    padding-inline: 20px;
  }

  .gs-sectors-equation-result {
    padding-inline: 14px;
  }

  .gs-sectors-footer {
    padding-inline: 20px;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {
  .gs-sectors-header {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-inline: 0;
  }

  .gs-sectors-intro h2 {
    font-size: clamp(30px, 5vw, 40px);
    line-height: 1.08;
  }

  .gs-sectors-summary {
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 25px;
    padding-bottom: 0;
  }

  .gs-sectors-summary>p {
    max-width: 580px;
    font-size: 14px;
  }

  .gs-sectors-location {
    flex-shrink: 0;
    font-size: 11px;
  }

  .gs-sectors-columns {
    grid-template-columns: 1fr;
  }

  .gs-sector,
  .gs-sector-local,
  .gs-sector-b2b {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 25px;

    padding: 30px;
  }

  .gs-sector+.gs-sector {
    border-left: 0;
    border-top: 1px solid rgba(180, 197, 190, 0.25);
  }

  .gs-sector-heading {
    min-height: 0;
  }

  .gs-sector-commercial .gs-sector-heading {
    margin-inline: 0;
  }

  .gs-sector-pills,
  .gs-sector-commercial .gs-sector-pills {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 11px;
    margin-top: 0;
  }

  .gs-sector-commercial .gs-sector-pill-row {
    justify-content: flex-start;
    width: auto;
  }

  .gs-sector-pill,
  .gs-sector-commercial .gs-sector-pill {
    min-height: 45px;
    padding: 10px 16px;
    font-size: 12px;
  }

  .gs-sectors-equation {
    grid-template-columns:
      minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);

    gap: 15px;
    padding: 25px 0;
  }

  .gs-sectors-equation-symbol:nth-child(6) {
    grid-column: 1 / -1;
    text-align: center;
  }

  .gs-sectors-equation-result {
    grid-column: 1 / -1;
    justify-self: center;
    min-width: 300px;
    font-size: 12px;
  }

  .gs-sectors-footer {
    padding-inline: 0;
  }

  .gs-sectors-footer>p {
    font-size: 15px;
  }

  .gs-sectors-contact {
    font-size: 13px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
  .gs-sectors {
    padding: 30px 0 26px;
  }

  .gs-sectors-container {
    width: calc(100% - 32px);
  }

  .gs-sectors-header {
    gap: 19px;
    margin-bottom: 24px;
  }

  .gs-sectors-eyebrow {
    margin-bottom: 12px !important;
    font-size: 10px;
    letter-spacing: 0.9px;
  }

  .gs-sectors-intro h2 {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.1;
    letter-spacing: -1.4px;
  }

  .gs-sectors-title-break {
    display: none;
  }

  .gs-sectors-summary {
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
  }

  .gs-sectors-location {
    min-height: 29px;
    padding: 5px 11px;
    font-size: 10px;
  }

  .gs-sectors-summary>p {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: -0.1px;
  }

  .gs-sectors-board {
    border-radius: 12px;
  }

  .gs-sectors-journey {
    padding: 20px 22px;
  }

  .gs-sectors-journey ol {
    margin-bottom: 13px;
    padding-inline: 0;
    font-size: 8px;
    letter-spacing: 0.9px;
  }

  .gs-sectors-journey-dot {
    width: 10px;
    height: 10px;
  }

  .gs-sectors-journey-dot:nth-child(2) {
    left: calc(50% - 5px);
  }

  .gs-sectors-journey-arrow {
    width: 10px;
    height: 10px;
  }

  .gs-sector,
  .gs-sector-local,
  .gs-sector-b2b {
    display: block;
    padding: 26px 21px;
  }

  .gs-sector-heading h3 {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.1px;
  }

  .gs-sector-heading p {
    max-width: 360px;
    font-size: 13px;
    line-height: 1.55;
  }

  .gs-sector-pills,
  .gs-sector-commercial .gs-sector-pills {
    margin-top: 21px;
    gap: 11px;
  }

  .gs-sector-pill,
  .gs-sector-commercial .gs-sector-pill {
    min-height: 45px;
    padding: 11px 17px;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: -0.3px;
  }

  .gs-sector-pill-featured,
  .gs-sector-pill-dark {
    gap: 20px;
  }

  .gs-sector-pill svg {
    width: 20px;
    height: 20px;
  }

  .gs-sectors-equation {
    gap: 12px 8px;
    padding-block: 24px;
  }

  .gs-sectors-equation-label {
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: 0.4px;
  }

  .gs-sectors-equation-symbol {
    font-size: 20px;
  }

  .gs-sectors-equation-result {
    width: 100%;
    min-width: 0;
    max-width: 370px;
    min-height: 50px;
    padding: 12px 15px;

    font-size: 11px;
    letter-spacing: 0.5px;
  }

  .gs-sectors-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 19px;
    padding-top: 23px;
  }

  .gs-sectors-footer>p {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: -0.3px;
  }

  .gs-sectors-contact {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .gs-sector-pill,
  .gs-sectors-contact svg {
    transition: none;
  }

  .gs-sector-pill:hover,
  .gs-sectors-contact:hover svg {
    transform: none;
  }
}

/* ==========================================
   TECHNOLOGY & TOOLS
   ========================================== */

.gst-icon-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-tech {
  --gst-mint: #77e2b1;
  --gst-light: #f2f7fa;
  --gst-muted: #aec4cd;
  --gst-border: rgba(166, 202, 208, 0.5);

  padding: 30px 0 26px;

  background:
    radial-gradient(ellipse at 5% 10%,
      rgba(27, 109, 88, 0.2),
      transparent 48%),
    radial-gradient(ellipse at 97% 82%,
      rgba(89, 79, 153, 0.19),
      transparent 45%),
    linear-gradient(115deg,
      #082d2c 0%,
      #102a36 48%,
      #14243b 100%);

  color: var(--gst-light);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-tech,
.gs-tech * {
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}

.gs-tech svg text {
  font-family: "Inter", sans-serif;
  stroke: none !important;
}

.gs-tech h2,
.gs-tech h3,
.gs-tech p {
  margin: 0;
}

.gs-tech-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* ==========================================
   HEADER
   ========================================== */

.gs-tech-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: start;
  gap: 35px;

  margin-bottom: 24px;
  padding-inline: 20px;
}

.gs-tech-eyebrow {
  margin-bottom: 10px !important;

  color: var(--gst-mint);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-tech-heading h2 {
  max-width: 1200px;

  color: #f6f8fb;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: -1.6px;
}

.gs-tech-subtitle {
  margin-top: 8px !important;

  color: #b9d0d3;
  font-size: clamp(15px, 1.5vw, 24px);
  line-height: 1.4;
  letter-spacing: -0.4px;
}

.gs-tech-header-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 25px;
}

.gs-tech-status {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  min-height: 39px;
  padding: 9px 17px;

  border: 1px solid #5ab496;
  border-radius: 999px;

  background: rgba(5, 29, 38, 0.38);
  color: #95e2c0;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 1.7px;
  white-space: nowrap;
}

.gs-tech-status i {
  width: 8px;
  height: 8px;
  flex-shrink: 0;

  border-radius: 50%;
  background: #87f1b9;
  box-shadow: 0 0 9px rgba(126, 239, 178, 0.3);
}

.gs-tech-side-note {
  padding-right: 13px;

  color: #8ba5b4;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 2.2px;
}

/* ==========================================
   MAIN GRID
   ========================================== */

.gs-tech-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 2.15fr) 34px minmax(0, 1.32fr) minmax(0, 0.98fr);

  grid-template-rows: auto auto;
  gap: 10px 12px;
  align-items: stretch;
}

.gst-card {
  display: flex;
  flex-direction: column;
  min-width: 0;

  border: 1px solid var(--gst-border);
  border-radius: 13px;
}

.gst-card-heading {
  position: relative;
  z-index: 1;
}

.gst-category {
  margin-bottom: 6px !important;

  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.5px;
}

.gst-card h3 {
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.4px;
}

.gst-card-description {
  margin-top: 6px !important;
  line-height: 1.4;
  letter-spacing: -0.25px;
}

/* ==========================================
   RESEARCH CARD — LAVENDER
   ========================================== */

.gst-research {
  grid-column: 1;
  grid-row: 1 / 3;

  padding: 20px 22px 14px;

  background:
    radial-gradient(ellipse at 15% 15%,
      rgba(255, 255, 255, 0.85),
      transparent 65%),
    linear-gradient(140deg,
      #f3eefb 0%,
      #ece6f7 53%,
      #eeeef9 100%);

  border-color: #cfc2e6;
  color: #213443;
}

.gst-research .gst-category {
  color: #8064a6;
}

.gst-research h3 {
  font-size: clamp(22px, 2vw, 32px);
}

.gst-research .gst-card-description {
  color: #4f5b66;
  font-size: clamp(13px, 1.1vw, 16px);
}

.gst-research-art {
  display: block;
  width: 100%;
  height: auto;

  margin-block: auto;
  padding: 8px 0 12px;
}

/* ==========================================
   SYSTEM LINE
   ========================================== */

.gst-system-line {
  position: relative;
  grid-column: 2;
  grid-row: 1 / 3;

  width: 100%;
}

.gst-system-line::before {
  content: "";
  position: absolute;

  top: 0;
  bottom: -29px;
  left: calc(50% - 2px);

  width: 4px;
  border-radius: 4px;

  background: linear-gradient(180deg,
      #8ddab3,
      #7cd7c4 50%,
      #a6b9e4);

  box-shadow: 0 0 10px rgba(126, 219, 182, 0.14);
}

.gst-system-line>span {
  position: absolute;
  z-index: 1;
  left: 50%;

  width: 22px;
  height: 22px;

  border: 4px solid #79dbad;
  border-radius: 50%;

  background: #ebfff5;
  transform: translate(-50%, -50%);
}

.gst-system-line>span:nth-child(1) {
  top: 11%;
}

.gst-system-line>span:nth-child(2) {
  top: 51%;
}

.gst-system-line>span:nth-child(3) {
  top: 69%;
}

.gst-system-line>span:nth-child(4) {
  top: calc(100% + 28px);
  border-color: #a6b9e4;
}

/* ==========================================
   ADVERTISING CARD — DEEP BLUE
   ========================================== */

.gst-advertising {
  grid-column: 3;
  grid-row: 1;

  padding: 18px 20px 12px;

  background: linear-gradient(135deg,
      #153842 0%,
      #142c40 100%);

  border-color: #74979f;
}

.gst-advertising .gst-category {
  color: #7edfb5;
}

.gst-advertising h3 {
  color: #f0f7f7;
  font-size: clamp(18px, 1.5vw, 24px);
}

.gst-advertising .gst-card-description {
  color: #bfd3db;
  font-size: 13px;
}

.gst-advertising-art {
  display: block;
  width: 100%;
  height: auto;

  margin: 8px 0;
}

/* ==========================================
   DEVELOPMENT CARD — WARM IVORY
   ========================================== */

.gst-development {
  grid-column: 3;
  grid-row: 2;

  padding: 14px 20px 12px;

  background:
    radial-gradient(ellipse at 90% 0%,
      rgba(246, 222, 192, 0.3),
      transparent 65%),
    linear-gradient(135deg,
      #fffdf7 0%,
      #f6f1e7 100%);

  border-color: #ded8c9;
  color: #253b35;
}

.gst-development .gst-category {
  margin-bottom: 5px !important;
  color: #8a7751;
  letter-spacing: 1px;
}

.gst-development h3 {
  color: #24352f;
  font-size: clamp(18px, 1.5vw, 24px);
}

.gst-development .gst-card-description {
  margin-top: 6px !important;
  color: #60665e;
  font-size: 13px;
  line-height: 1.3;
}

.gst-development-art {
  display: block;
  width: 100%;
  height: auto;

  margin: 4px 0;
}

/* ==========================================
   AI CARD — NAVY
   ========================================== */

.gst-ai {
  grid-column: 4;
  grid-row: 1 / 3;

  padding: 20px 20px 14px;

  background:
    radial-gradient(ellipse at 50% 56%,
      rgba(54, 86, 134, 0.18),
      transparent 65%),
    linear-gradient(140deg,
      #172f43 0%,
      #1b2946 100%);

  border-color: #728899;
}

.gst-ai .gst-category {
  color: #9eb9ec;
}

.gst-ai h3 {
  color: #f0f5fb;
  font-size: clamp(17px, 1.5vw, 23px);
}

.gst-ai .gst-card-description {
  margin-top: 11px !important;
  color: #bac9dc;
  font-size: 13px;
  line-height: 1.5;
}

.gst-ai-art {
  display: block;
  width: 100%;
  height: auto;

  margin-block: auto;
  padding-block: 8px;
}

/* ==========================================
   CARD FOOTERS
   ========================================== */

.gst-tools-footer {
  display: flex;
  align-items: center;
  gap: 10px;

  margin-top: auto;
  padding-top: 10px;

  border-top: 1px solid rgba(122, 144, 150, 0.25);
}

.gst-tools-footer>svg {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gst-tools-footer p {
  font-size: 9px;
  line-height: 1.6;
  letter-spacing: -0.1px;
}

.gst-research .gst-tools-footer {
  color: #485367;
  border-color: #d5cbe4;
}

.gst-research .gst-tools-footer p {
  font-size: 11px;
}

.gst-advertising .gst-tools-footer {
  color: #bdd2da;
  border-color: #355968;
}

.gst-development .gst-tools-footer {
  color: #576358;
  border-color: #e0dccf;
}

.gst-ai .gst-tools-footer {
  align-items: flex-start;
  color: #c1d1e2;
  border-color: #3c516b;
}

.gst-ai .gst-tools-footer p {
  font-size: 10px;
}

/* ==========================================
   BOTTOM ROW
   ========================================== */

.gs-tech-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1.5fr);
  align-items: center;
  gap: clamp(25px, 4vw, 68px);

  margin-top: 30px;
  padding-inline: 20px;
}

.gs-tech-signature>p {
  display: inline-block;

  padding-bottom: 9px;
  border-bottom: 1px solid #4c9282;

  color: #edf4f4;
  font-size: clamp(14px, 1.45vw, 24px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-tech-signature>span {
  display: block;
  margin-top: 23px;

  color: #7ca89e;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-tech-result {
  display: flex;
  align-items: center;
  gap: 20px;

  min-height: 100px;
  padding: 18px 24px;

  border: 1px solid #b2d6c6;
  border-radius: 12px;

  background: linear-gradient(120deg,
      #e8f8ee,
      #edf4ff);

  color: #243d39;
}

.gs-tech-result>svg {
  display: block;
  width: 40px;
  height: 40px;
  flex-shrink: 0;

  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linejoin: round;
}

.gs-tech-result h3 {
  margin-bottom: 7px;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.3px;
}

.gs-tech-result p {
  font-size: 11px;
  line-height: 1.4;
}

.gs-tech-closing h3 {
  color: #e6edf4;

  font-size: clamp(13px, 1.2vw, 20px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 1.3px;
}

.gs-tech-closing>p {
  margin-top: 11px;

  color: #8eacbb;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.5px;
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1350px) {
  .gs-tech-container {
    width: calc(100% - 40px);
  }

  .gs-tech-header {
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 25px;
    padding-inline: 10px;
  }

  .gs-tech-heading h2 {
    font-size: clamp(26px, 3.2vw, 36px);
  }

  .gs-tech-status {
    padding-inline: 12px;
    font-size: 9px;
    letter-spacing: 1.2px;
  }

  .gs-tech-grid {
    grid-template-columns:
      minmax(0, 1.95fr) 25px minmax(0, 1.35fr) minmax(0, 1.05fr);

    gap: 10px;
  }

  .gst-research {
    padding: 24px 21px 17px;
  }

  .gst-advertising,
  .gst-development,
  .gst-ai {
    padding-inline: 18px;
  }

  .gst-category {
    font-size: 9px;
    letter-spacing: 1px;
  }

  .gst-research h3 {
    font-size: 26px;
  }

  .gst-advertising h3,
  .gst-development h3,
  .gst-ai h3 {
    font-size: 19px;
  }

  .gst-card-description,
  .gst-ai .gst-card-description,
  .gst-advertising .gst-card-description {
    font-size: 12px;
  }

  .gst-tools-footer {
    gap: 10px;
  }

  .gst-tools-footer>svg {
    width: 25px;
    height: 25px;
  }

  .gst-research .gst-tools-footer p,
  .gst-ai .gst-tools-footer p {
    font-size: 10px;
  }

  .gst-system-line>span {
    width: 23px;
    height: 23px;
    border-width: 3px;
  }

  .gs-tech-bottom {
    gap: 25px;
    padding-inline: 10px;
  }

  .gs-tech-result {
    gap: 12px;
    padding: 17px;
  }

  .gs-tech-result h3 {
    font-size: 11px;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1050px) {
  .gs-tech-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .gs-tech-header-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .gs-tech-side-note {
    font-size: 8px;
    line-height: 1.6;
  }

  .gs-tech-heading h2 {
    font-size: clamp(28px, 4.5vw, 38px);
  }

  .gs-tech-subtitle {
    font-size: 18px;
  }

  .gs-tech-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 16px;
  }

  .gst-system-line {
    display: none;
  }

  .gst-research {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .gst-advertising {
    grid-column: 2;
    grid-row: 1;
  }

  .gst-development {
    grid-column: 2;
    grid-row: 2;
  }

  .gst-ai {
    grid-column: 1 / -1;
    grid-row: 3;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 20px 35px;
    padding: 26px;
  }

  .gst-ai-art {
    grid-column: 2;
    grid-row: 1 / 3;
    max-width: 300px;
    justify-self: center;
    padding: 0;
  }

  .gst-ai .gst-tools-footer {
    grid-column: 1;
  }

  .gs-tech-bottom {
    grid-template-columns: 1fr 1fr;
  }

  .gs-tech-closing {
    grid-column: 1 / -1;
  }

  .gs-tech-signature>p {
    font-size: 15px;
  }

  .gs-tech-result h3 {
    font-size: 12px;
  }

  .gs-tech-closing h3 {
    font-size: 15px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 650px) {
  .gs-tech {
    padding: 30px 0;
  }

  .gs-tech-container {
    width: calc(100% - 32px);
  }

  .gs-tech-header {
    padding-inline: 2px;
    margin-bottom: 22px;
  }

  .gs-tech-eyebrow {
    margin-bottom: 13px !important;
    font-size: 9px;
    letter-spacing: 2px;
  }

  .gs-tech-heading h2 {
    font-size: clamp(25px, 7vw, 32px);
    line-height: 1.15;
    letter-spacing: -1px;
  }

  .gs-tech-subtitle {
    font-size: 14px;
    line-height: 1.55;
  }

  .gs-tech-status {
    min-height: 33px;
    padding: 7px 11px;
    font-size: 8px;
  }

  .gs-tech-side-note {
    font-size: 7px;
    letter-spacing: 1px;
    padding: 0;
  }

  .gs-tech-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .gst-research,
  .gst-advertising,
  .gst-development,
  .gst-ai {
    grid-column: auto;
    grid-row: auto;
    display: flex;

    padding: 24px 21px 18px;
  }

  .gst-category,
  .gst-development .gst-category {
    font-size: 9px;
    letter-spacing: 1.1px;
  }

  .gst-research h3 {
    font-size: 26px;
  }

  .gst-advertising h3,
  .gst-development h3,
  .gst-ai h3 {
    font-size: 22px;
  }

  .gst-research .gst-card-description,
  .gst-advertising .gst-card-description,
  .gst-development .gst-card-description,
  .gst-ai .gst-card-description {
    font-size: 13px;
    line-height: 1.5;
  }

  .gst-wide-break {
    display: none;
  }

  .gst-research-art {
    margin: 10px 0;
    padding: 10px 0;
  }

  .gst-advertising-art {
    margin: 19px 0;
  }

  .gst-development-art {
    margin: 17px 0;
  }

  .gst-ai-art {
    width: 100%;
    max-width: 290px;
    margin: 19px auto;
  }

  .gst-tools-footer,
  .gst-ai .gst-tools-footer {
    width: 100%;
    margin-top: auto;
    padding-top: 14px;
    gap: 12px;
  }

  .gst-tools-footer p,
  .gst-research .gst-tools-footer p,
  .gst-ai .gst-tools-footer p {
    font-size: 9px;
    line-height: 1.7;
  }

  .gs-tech-bottom {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 26px;
    padding-inline: 2px;
  }

  .gs-tech-signature>p {
    font-size: 14px;
    letter-spacing: 2px;
  }

  .gs-tech-signature>span {
    margin-top: 14px;
    font-size: 8px;
  }

  .gs-tech-result {
    max-width: 400px;
    min-height: 94px;
    gap: 20px;
    padding: 20px;
  }

  .gs-tech-result h3 {
    font-size: 12px;
  }

  .gs-tech-result p {
    font-size: 11px;
    line-height: 1.5;
  }

  .gs-tech-closing {
    grid-column: auto;
  }

  .gs-tech-closing h3 {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1px;
  }

  .gs-tech-closing>p {
    font-size: 10px;
    line-height: 1.7;
  }
}

/* ==========================================
   CASE STUDIES / RESULTS
   ========================================== */

.gs-proof {
  --proof-ink: #112b24;
  --proof-muted: #7b898e;
  --proof-green: #70c9a2;
  --proof-border: #dfe7e3;
  --proof-serif: "Libre Caslon Display", Georgia, serif;
  --proof-sans: "Inter", sans-serif;

  padding: 30px 0 28px;
  background: #ffffff;
  color: var(--proof-ink);

  font-family: var(--proof-sans);
  -webkit-font-smoothing: antialiased;
}

.gs-proof,
.gs-proof * {
  box-sizing: border-box;
}

.gs-proof h2,
.gs-proof p,
.gs-proof blockquote,
.gs-proof dl,
.gs-proof dd {
  margin: 0;
}

.gs-proof svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-proof-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* ==========================================
   HEADER
   ========================================== */

.gs-proof-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;

  margin-bottom: 34px;
}

.gs-proof-eyebrow {
  margin-bottom: 10px !important;

  color: #87979b;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 2.8px;
}

.gs-proof-header h2 {
  color: #10241e;

  font-family: var(--proof-serif);
  font-size: clamp(32px, 3.8vw, 60px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -2.2px;
}

.gs-proof-notice {
  display: flex;
  align-items: center;
  gap: 8px;

  flex: 0 1 415px;
  padding-bottom: 6px;

  color: #89959a;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}

.gs-proof-notice svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke-width: 1.6;
}

/* ==========================================
   MAIN GRID
   ========================================== */

.gs-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.84fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 16px;
}

/* ==========================================
   TESTIMONIAL CARD
   ========================================== */

.gs-proof-testimonial {
  display: flex;
  flex-direction: column;
  min-width: 0;

  padding: 24px 28px 26px;

  border: 1px solid #385248;
  border-radius: 4px;

  background:
    radial-gradient(ellipse at 28% 42%,
      rgba(41, 87, 67, 0.12),
      transparent 70%),
    #122f26;

  color: #f3f7f1;
}

.gs-proof-card-label {
  color: #75d2a8;

  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3px;
}

.gs-proof-quote-layout {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;

  margin-top: 30px;
  flex: 1;
}

.gs-proof-quote-mark {
  display: block;
  height: 100px;

  color: #285d48;
  font-family: Georgia, serif;
  font-size: 200px;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -12px;

  user-select: none;
}

.gs-proof-quote-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.gs-proof-quote-content blockquote {
  padding: 8px 0 0;
  border: 0;
}

.gs-proof-quote-content blockquote p {
  color: #f2f6ef;

  font-family: var(--proof-serif);
  font-size: clamp(24px, 2.5vw, 42px);
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -0.7px;
}

/* CLIENT INFORMATION */

.gs-proof-attribution {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  margin-top: auto;
  padding-top: 28px;
}

.gs-proof-person {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.gs-proof-avatar {
  display: grid;
  place-items: center;
  flex-shrink: 0;

  width: 50px;
  height: 50px;
  border-radius: 50%;

  background: #def8eb;
  color: #183e2e;

  font-family: var(--proof-serif);
  font-size: 18px;
  line-height: 1;
}

.gs-proof-name {
  color: #eff5ed;

  font-family: var(--proof-serif);
  font-size: 22px;
  line-height: 1.2;
}

.gs-proof-role {
  margin-top: 4px !important;
  color: #a7bfb4;

  font-size: 14px;
  line-height: 1.4;
}

.gs-proof-attribution-divider {
  width: 1px;
  height: 36px;
  flex-shrink: 0;
  background: #4f9677;
}

.gs-proof-delivery {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 7px 12px;

  border: 1px solid #63bb92;
  border-radius: 5px;

  color: #7dd6ac;

  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 2.7px;
  text-align: center;
}

/* ==========================================
   METRICS PANEL
   ========================================== */

.gs-proof-metrics {
  display: flex;
  flex-direction: column;
  min-width: 0;

  padding: 22px 24px 20px;

  border: 1px solid var(--proof-border);
  border-radius: 3px;
  background: #ffffff;
}

.gs-proof-reserved {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 30px;
  padding: 5px 14px;

  border: 1px solid #36564b;
  border-radius: 5px;

  color: #38564a;

  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 3px;
}

.gs-proof-metric-list {
  display: flex;
  flex: 1;
  flex-direction: column;

  margin-top: 16px !important;
}

.gs-proof-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  align-items: center;
  gap: 12px;

  flex: 1;
  min-height: 80px;
  padding: 16px 0;
}

.gs-proof-metric+.gs-proof-metric {
  border-top: 1px solid #dfe6e2;
}

.gs-proof-metric dt {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 20px;

  color: #1d342b;

  font-family: var(--proof-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.2px;
}

.gs-proof-metric dt svg {
  width: 28px;
  height: 28px;
  color: #295344;
}

.gs-proof-metric dd {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.gs-proof-metric-value {
  color: #243b31;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.gs-proof-metric-pending {
  color: #849093;

  font-size: 11px;
  line-height: 1.4;
}

/* ==========================================
   CASE STUDY TIMELINE
   ========================================== */

.gs-proof-roadmap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 335px;
  align-items: center;
  gap: 34px;

  margin-top: 29px;
}

.gs-proof-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  margin: 0;
  padding: 0;
  list-style: none;
}

.gs-proof-steps::before {
  content: "";

  position: absolute;
  top: 21px;
  left: 12.5%;
  right: 12.5%;

  height: 1px;
  background: #a7bcb3;
}

.gs-proof-steps li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;

  text-align: center;
}

.gs-proof-step-number {
  position: relative;
  z-index: 1;

  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;
  border-radius: 50%;

  background: #def5e9;
  color: #284e3e;

  font-family: var(--proof-serif);
  font-size: 20px;
  line-height: 1;
}

.gs-proof-step-label {
  color: #5e7473;

  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
}

.gs-proof-coming-soon {
  padding: 10px 0 10px 24px;
  border-left: 1px solid #dce5df;

  color: #87969b;

  font-size: 10px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 2.5px;
  text-align: right;
}

/* ==========================================
   FOOTER
   ========================================== */

.gs-proof-footer {
  display: flex;
  align-items: center;
  gap: 26px;

  margin-top: 50px;
}

.gs-proof-footer>p {
  color: #20382d;

  font-family: var(--proof-serif);
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 1px;
}

.gs-proof-footer-line {
  flex: 1;
  min-width: 30px;
  height: 1px;
  background: #e0e7e2;
}

.gs-proof-brand {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;

  color: #87989d;

  font-size: 9px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2.6px;
}

.gs-proof-brand i {
  width: 33px;
  height: 1px;
  background: #67d7a1;
}

/* ==========================================
   LAPTOP
   ========================================== */

@media (max-width: 1350px) {
  .gs-proof-container {
    width: calc(100% - 64px);
  }

  .gs-proof-header {
    gap: 25px;
  }

  .gs-proof-header h2 {
    font-size: clamp(32px, 3.8vw, 55px);
  }

  .gs-proof-notice {
    flex-basis: 310px;
    font-size: 10px;
  }

  .gs-proof-testimonial {
    padding: 22px;
  }

  .gs-proof-quote-layout {
    grid-template-columns: 85px minmax(0, 1fr);
    gap: 20px;
    margin-top: 35px;
  }

  .gs-proof-quote-mark {
    font-size: 160px;
    letter-spacing: -13px;
  }

  .gs-proof-quote-content blockquote p {
    font-size: clamp(24px, 2.5vw, 36px);
  }

  .gs-proof-attribution {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    padding-top: 30px;
  }

  .gs-proof-avatar {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }

  .gs-proof-person {
    gap: 15px;
  }

  .gs-proof-name {
    font-size: 20px;
  }

  .gs-proof-role {
    font-size: 12px;
  }

  .gs-proof-attribution-divider {
    display: none;
  }

  .gs-proof-delivery {
    font-size: 9px;
    letter-spacing: 2px;
  }

  .gs-proof-metrics {
    padding: 25px 22px 15px;
  }

  .gs-proof-metric {
    grid-template-columns: minmax(0, 1fr) 100px;
    gap: 13px;
    min-height: 70px;
  }

  .gs-proof-metric dt {
    grid-template-columns: 29px minmax(0, 1fr);
    gap: 15px;
    font-size: 16px;
  }

  .gs-proof-metric dt svg {
    width: 24px;
    height: 24px;
  }

  .gs-proof-metric-pending {
    font-size: 10px;
  }

  .gs-proof-roadmap {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 20px;
  }

  .gs-proof-coming-soon {
    padding-left: 22px;
    font-size: 9px;
    letter-spacing: 2px;
  }

  .gs-proof-footer {
    gap: 20px;
  }

  .gs-proof-footer>p {
    font-size: 18px;
  }
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {
  .gs-proof-header {
    display: block;
    margin-bottom: 25px;
  }

  .gs-proof-header h2 {
    font-size: clamp(36px, 5.5vw, 55px);
  }

  .gs-proof-notice {
    margin-top: 17px !important;
    padding-bottom: 0;
    font-size: 11px;
  }

  .gs-proof-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .gs-proof-testimonial {
    padding: 24px;
  }

  .gs-proof-quote-layout {
    grid-template-columns: 90px minmax(0, 1fr);
  }

  .gs-proof-quote-content blockquote p {
    font-size: clamp(28px, 4.5vw, 38px);
  }

  .gs-proof-attribution {
    padding-top: 32px;
  }

  .gs-proof-metrics {
    padding: 25px 28px;
  }

  .gs-proof-metric {
    grid-template-columns: minmax(0, 1fr) 130px;
    min-height: 90px;
    padding-block: 20px;
  }

  .gs-proof-metric dt {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 23px;
    font-size: 20px;
  }

  .gs-proof-metric dt svg {
    width: 28px;
    height: 28px;
  }

  .gs-proof-metric-pending {
    font-size: 11px;
  }

  .gs-proof-roadmap {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }

  .gs-proof-coming-soon {
    justify-self: center;
    padding: 0;
    border: 0;
    text-align: center;
  }

  .gs-proof-footer {
    flex-wrap: wrap;
    margin-top: 35px;
  }

  .gs-proof-footer>p {
    width: 100%;
    font-size: 18px;
  }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
  .gs-proof {
    padding: 30px 0;
  }

  .gs-proof-container {
    width: calc(100% - 32px);
  }

  .gs-proof-eyebrow {
    margin-bottom: 13px !important;
    font-size: 10px;
    letter-spacing: 2px;
  }

  .gs-proof-header h2 {
    font-size: clamp(40px, 10.5vw, 57px);
    line-height: 1.02;
    letter-spacing: -1px;
  }

  .gs-proof-notice {
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
    line-height: 1.6;
  }

  .gs-proof-notice svg {
    width: 18px;
    height: 18px;
    margin-top: 1px;
  }

  .gs-proof-testimonial {
    padding: 25px 22px;
  }

  .gs-proof-card-label {
    font-size: 10px;
    letter-spacing: 2.3px;
  }

  .gs-proof-quote-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: 22px;
  }

  .gs-proof-quote-mark {
    height: 64px;
    font-size: 145px;
    line-height: 0.9;
    letter-spacing: -10px;
  }

  .gs-proof-quote-content blockquote {
    padding-top: 0;
  }

  .gs-proof-quote-content blockquote p {
    font-size: clamp(31px, 8vw, 40px);
    line-height: 1.16;
    letter-spacing: -0.3px;
  }

  .gs-proof-attribution {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding-top: 28px;
  }

  .gs-proof-avatar {
    width: 54px;
    height: 54px;
    font-size: 23px;
  }

  .gs-proof-name {
    font-size: 25px;
  }

  .gs-proof-role {
    font-size: 13px;
  }

  .gs-proof-delivery {
    padding: 8px 12px;
    font-size: 9px;
    letter-spacing: 2px;
  }

  .gs-proof-metrics {
    padding: 23px 20px 12px;
  }

  .gs-proof-reserved {
    min-height: 33px;
    padding: 7px 13px;
    font-size: 10px;
    letter-spacing: 2.5px;
  }

  .gs-proof-metric-list {
    margin-top: 15px !important;
  }

  .gs-proof-metric {
    grid-template-columns: minmax(0, 1fr) 95px;
    gap: 12px;
    min-height: 96px;
    padding-block: 19px;
  }

  .gs-proof-metric dt {
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 12px;
    font-size: 21px;
    line-height: 1.2;
  }

  .gs-proof-metric dt svg {
    width: 25px;
    height: 25px;
  }

  .gs-proof-metric-value {
    font-size: 24px;
  }

  .gs-proof-metric-pending {
    font-size: 10px;
    line-height: 1.5;
  }

  .gs-proof-roadmap {
    margin-top: 24px;
  }

  .gs-proof-step-number {
    width: 35px;
    height: 35px;
    font-size: 21px;
  }

  .gs-proof-steps::before {
    top: 17px;
  }

  .gs-proof-steps li {
    gap: 11px;
    padding-inline: 3px;
  }

  .gs-proof-step-label {
    font-size: 8px;
    line-height: 1.6;
    letter-spacing: 0.8px;
  }

  .gs-proof-coming-soon {
    font-size: 9px;
    letter-spacing: 1.7px;
  }

  .gs-proof-footer {
    gap: 20px;
    margin-top: 30px;
  }

  .gs-proof-footer>p {
    max-width: 370px;
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: 0.6px;
  }

  .gs-proof-brand {
    gap: 15px;
    font-size: 9px;
    letter-spacing: 2px;
  }
}

.investment-symbols {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-investment {
  --inv-ink: #10251f;
  --inv-muted: #68767b;
  --inv-line: #e6eeeb;
  --inv-green: #42dc80;
  --inv-bright: #19cf62;
  --inv-dark: #0a3228;
  --inv-serif: "Libre Caslon Display", Georgia, serif;
  --inv-sans: "Inter", sans-serif;

  padding: 24px 0 32px;
  color: var(--inv-ink);
  background: #fcfdfc;
  font-family: var(--inv-sans);
  -webkit-font-smoothing: antialiased;
}

.gs-investment,
.gs-investment *,
.gs-investment *::before,
.gs-investment *::after {
  box-sizing: border-box;
}

.gs-investment h2,
.gs-investment h3,
.gs-investment h4,
.gs-investment p {
  margin: 0;
}

.gs-investment svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.inv-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* Heading */

.inv-heading {
  margin-bottom: 26px;
  text-align: center;
}

.inv-eyebrow {
  margin-bottom: 10px !important;
  color: #35c975;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.27em;
  text-transform: uppercase;
}

.inv-heading h2 {
  color: #0c211a;
  font-family: var(--inv-serif);
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.inv-subtitle {
  margin-top: 8px !important;
  color: var(--inv-muted);
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.5;
}

/* Main two-column layout */

.inv-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 25px;
}

.inv-factors {
  min-width: 0;
}

/* Scope × Complexity × Reach */

.inv-equation {
  padding: 14px 18px 20px;
  border-bottom: 1px solid var(--inv-line);
}

.inv-equation-items {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.inv-equation-item {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.65vw, 28px);
}

.inv-equation-item>span:last-child {
  color: #15242b;
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.inv-equation-icon {
  display: grid;
  width: clamp(45px, 4vw, 62px);
  aspect-ratio: 1;
  flex-shrink: 0;
  place-items: center;
  border-radius: 50%;
  background: #edf7f2;
}

.inv-equation-icon svg {
  width: 48%;
  height: 48%;
}

.inv-multiply {
  color: #8b9b9f;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
}

.inv-equation>p {
  margin-top: 8px;
  color: var(--inv-muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

/* Six factors */

.inv-factor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inv-factor {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  min-height: 140px;
  padding: 22px 18px 16px;
}

.inv-factor:nth-child(n + 3) {
  border-top: 1px solid var(--inv-line);
}

.inv-factor:nth-child(even)::before {
  position: absolute;
  top: 24px;
  bottom: 8px;
  left: 0;
  width: 1px;
  background: var(--inv-line);
  content: "";
}

.inv-factor-icon {
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  border-radius: 50%;
  background: #eef8f3;
}

.inv-factor-icon svg {
  width: 35px;
  height: 38px;
}

.inv-factor-content {
  min-width: 0;
}

.inv-factor h3 {
  margin-bottom: 10px;
  color: #152126;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.inv-factor-content>p {
  margin-top: 8px;
  color: var(--inv-muted);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

/* Static segmented illustrations */

.inv-segments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  height: 32px;
  overflow: hidden;
  border: 1px solid #e9efed;
  border-radius: 13px;
  background: #f0f4f4;
}

.inv-segments span {
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #62727b;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.inv-segments span+span {
  border-left: 3px solid #fcfdfc;
}

.inv-segments .is-selected {
  color: #073b23;
  background: linear-gradient(120deg, #27d968, #14cc5d);
}

/* Website size illustration */

.inv-size-demo {
  display: flex;
  height: 36px;
  align-items: flex-end;
  justify-content: space-between;
  max-width: 200px;
  color: #6c7c82;
}

.inv-size-demo svg {
  stroke-width: 2.2;
}

.inv-browser-small {
  width: 32px;
  height: 27px;
}

.inv-browser-medium {
  width: 40px;
  height: 33px;
}

.inv-browser-large {
  width: 50px;
  height: 42px;
}

/* Campaign and authority illustrations */

.inv-progress-demo {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  max-width: 200px;
  height: 32px;
}

.inv-point {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 2px solid #99a9ad;
  border-radius: 50%;
  background: #fcfdfc;
}

.inv-point.is-active {
  border-color: var(--inv-bright);
  background: var(--inv-bright);
  box-shadow: inset 0 0 0 3px #e6f9ed;
}

.inv-track {
  height: 2px;
  flex: 1;
  background: linear-gradient(90deg, #b1e7cc, #66c59a);
}

/* Content volume illustration */

.inv-content-demo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 38px;
  max-width: 190px;
  color: #8b9ba0;
}

.inv-content-demo>svg {
  width: 28px;
  height: 34px;
  stroke-width: 2.1;
}

.inv-document-highlight {
  display: grid;
  width: 40px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  color: #13bc58;
  background: #e2f8e9;
}

.inv-document-highlight svg {
  width: 29px;
  height: 36px;
}

.inv-content-demo .inv-document-stack {
  width: 38px;
  height: 40px;
  color: #67777e;
}

/* Right quote card */

.inv-quote {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px 26px 20px;
  overflow: hidden;
  border: 1px solid #34594d;
  border-radius: 17px;
  color: #f5fbf7;
  background:
    radial-gradient(ellipse at 90% 100%,
      rgba(30, 89, 68, 0.2),
      transparent 60%),
    var(--inv-dark);
}

.inv-quote-eyebrow {
  margin-bottom: 10px !important;
  color: #48d97f;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.inv-quote h3 {
  font-family: var(--inv-serif);
  font-size: clamp(30px, 2.7vw, 44px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

/* Vertical quote process */

.inv-steps {
  display: grid;
  gap: 0;
  margin: 26px 0 16px;
  padding: 0;
  list-style: none;
}

.inv-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 20px 30px 35px minmax(0, 1fr);
  align-items: start;
  column-gap: 14px;
  min-height: 70px;
  padding-top: 3px;
}

.inv-steps li:last-child {
  min-height: 65px;
}

.inv-steps li:not(:last-child)::after {
  position: absolute;
  top: 24px;
  bottom: 2px;
  left: 9px;
  width: 2px;
  background: #537c6b;
  content: "";
}

.inv-step-dot {
  width: 18px;
  height: 18px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--inv-green);
  box-shadow: 0 0 0 1px rgba(66, 220, 128, 0.12);
}

.inv-step-number {
  padding-top: 6px;
  color: #edf7f1;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.inv-step-icon {
  width: 32px;
  height: 36px;
  color: #e2eee7;
}

.inv-step-copy {
  padding-top: 6px;
}

.inv-step-copy h4 {
  margin-bottom: 4px;
  color: #f0f7f3;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.inv-step-copy p {
  color: #a6bcb2;
  font-size: 12px;
  line-height: 1.5;
}

/* Quote CTA */

.inv-quote-bottom {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #648074;
}

.inv-quote-promise {
  color: #e4eee8;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.025em;
}

.inv-button {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 21px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #052c1c;
  background: linear-gradient(110deg, #43de82, #45d97e);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.inv-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  stroke-width: 2;
  transition: transform 180ms ease;
}

@media (hover: hover) {
  .inv-button:hover {
    transform: translateY(-2px);
    background: #62eb97;
    box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
  }

  .inv-button:hover svg {
    transform: translateX(4px);
  }
}

.inv-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 5px;
}

.inv-quote-note {
  margin-top: 15px !important;
  color: #a6bcb2;
  font-size: 11px;
  line-height: 1.5;
}

/* Smaller desktop */

@media (max-width: 1400px) {
  .inv-container {
    width: calc(100% - 64px);
  }

  .inv-layout {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    gap: 25px;
  }

  .inv-equation {
    padding-inline: 8px;
  }

  .inv-equation-items {
    gap: 10px;
  }

  .inv-equation-item {
    gap: 12px;
  }

  .inv-equation-item>span:last-child {
    font-size: 14px;
    letter-spacing: 0.1em;
  }

  .inv-equation-icon {
    width: 48px;
  }

  .inv-factor {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    padding-inline: 12px;
  }

  .inv-factor-icon {
    width: 56px;
    height: 56px;
  }

  .inv-factor-icon svg {
    width: 29px;
    height: 32px;
  }

  .inv-factor h3 {
    font-size: 14px;
  }

  .inv-factor-content>p {
    font-size: 12px;
  }

  .inv-quote {
    padding: 22px 18px 18px;
  }

  .inv-steps li {
    grid-template-columns: 16px 20px 28px minmax(0, 1fr);
    column-gap: 10px;
  }

  .inv-step-icon {
    width: 26px;
    height: 32px;
  }

  .inv-step-copy h4 {
    font-size: 10px;
    letter-spacing: 0.09em;
  }

  .inv-step-copy p {
    font-size: 11px;
  }

  .inv-quote-promise {
    font-size: 12px;
  }

  .inv-button {
    font-size: 14px;
  }
}

/* Tablet */

@media (max-width: 1100px) {
  .gs-investment {
    padding-block: 40px;
  }

  .inv-container {
    width: calc(100% - 48px);
  }

  .inv-heading {
    margin-bottom: 30px;
  }

  .inv-heading h2 {
    max-width: 850px;
    margin-inline: auto;
    font-size: 40px;
  }

  .inv-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .inv-equation {
    padding-inline: 28px;
  }

  .inv-equation-item>span:last-child {
    font-size: 16px;
  }

  .inv-equation-icon {
    width: 56px;
  }

  .inv-factor {
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 130px;
    gap: 18px;
    padding: 20px 18px;
  }

  .inv-factor-icon {
    width: 64px;
    height: 64px;
  }

  .inv-quote {
    width: 100%;
    max-width: 650px;
    margin-inline: auto;
    padding: 24px;
  }

  .inv-quote h3 {
    font-size: 46px;
  }

  .inv-steps li {
    grid-template-columns: 18px 30px 36px minmax(0, 1fr);
    column-gap: 16px;
  }

  .inv-step-icon {
    width: 32px;
    height: 38px;
  }

  .inv-step-copy h4 {
    font-size: 12px;
  }

  .inv-step-copy p {
    font-size: 13px;
  }

  .inv-quote-promise {
    font-size: 14px;
  }
}

/* Mobile */

@media (max-width: 680px) {
  .gs-investment {
    padding-block: 32px;
  }

  .inv-container {
    width: calc(100% - 32px);
  }

  .inv-eyebrow {
    font-size: 10px;
    letter-spacing: 0.22em;
  }

  .inv-heading h2 {
    font-size: clamp(28px, 8.8vw, 36px);
    line-height: 1.08;
  }

  .inv-subtitle {
    max-width: 360px;
    margin: 12px auto 0 !important;
    font-size: 13px;
  }

  .inv-equation {
    padding: 8px 0 22px;
  }

  .inv-equation-items {
    gap: 5px;
  }

  .inv-equation-item {
    flex-direction: column;
    gap: 11px;
  }

  .inv-equation-icon {
    width: 44px;
  }

  .inv-equation-item>span:last-child {
    font-size: 10px;
    letter-spacing: 0.1em;
  }

  .inv-multiply {
    margin-top: -18px;
    font-size: 20px;
  }

  .inv-equation>p {
    margin-top: 20px;
    font-size: 12px;
  }

  .inv-factor-grid {
    grid-template-columns: 1fr;
  }

  .inv-factor {
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 110px;
    gap: 14px;
    padding: 18px 5px;
  }

  .inv-factor+.inv-factor {
    border-top: 1px solid var(--inv-line);
  }

  .inv-factor:nth-child(even)::before {
    display: none;
  }

  .inv-factor-icon {
    width: 50px;
    height: 50px;
  }

  .inv-factor-icon svg {
    width: 25px;
    height: 29px;
  }

  .inv-factor h3 {
    margin-bottom: 14px;
    font-size: 14px;
  }

  .inv-factor-content>p {
    margin-top: 11px;
    font-size: 12px;
  }

  .inv-segments {
    max-width: 330px;
    height: 40px;
  }

  .inv-segments span {
    font-size: 11px;
  }

  .inv-size-demo,
  .inv-progress-demo,
  .inv-content-demo {
    max-width: 260px;
  }

  .inv-quote {
    padding: 20px 16px 18px;
    border-radius: 15px;
  }

  .inv-quote-eyebrow {
    font-size: 12px;
  }

  .inv-quote h3 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .inv-steps {
    margin-top: 30px;
  }

  .inv-steps li {
    grid-template-columns: 14px 20px 24px minmax(0, 1fr);
    column-gap: 10px;
    min-height: 70px;
  }

  .inv-step-dot {
    width: 14px;
    height: 14px;
    margin-top: 8px;
  }

  .inv-steps li:not(:last-child)::after {
    top: 29px;
    left: 7px;
  }

  .inv-step-number {
    font-size: 14px;
  }

  .inv-step-icon {
    width: 24px;
    height: 32px;
  }

  .inv-step-copy h4 {
    font-size: 10px;
    letter-spacing: 0.07em;
  }

  .inv-step-copy p {
    font-size: 11px;
  }

  .inv-quote-promise {
    font-size: 13px;
  }

  .inv-button {
    min-height: 48px;
    padding-inline: 14px;
    font-size: 14px;
  }

  .inv-quote-note {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .inv-button,
  .inv-button svg {
    transition: none;
  }
}

.gs-search-timeline {
  --st-ink: #05271c;
  --st-muted: #6d7c7c;
  --st-dark: #092f24;
  --st-green: #55df88;
  --st-divider: rgba(147, 213, 175, 0.2);

  padding: 50px 0 35px;
  background: #fcfdfb;
  color: var(--st-ink);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-search-timeline,
.gs-search-timeline *,
.gs-search-timeline *::before,
.gs-search-timeline *::after {
  box-sizing: border-box;
}

.gs-search-timeline h2,
.gs-search-timeline h3,
.gs-search-timeline p {
  margin: 0;
}

.gs-search-timeline svg {
  display: block;
}

.st-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* Heading */

.st-header {
  padding-inline: 28px;
}

.st-eyebrow {
  margin-bottom: 10px !important;
  color: #39d675;
  font-size: clamp(11px, 1vw, 15px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}

.st-header h2 {
  font-size: clamp(32px, 4.2vw, 65px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.st-subtitle {
  margin-top: 10px !important;
  color: var(--st-muted);
  font-size: clamp(15px, 1.4vw, 22px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.025em;
}

/* Staircase */

.st-diagram {
  --st-rise: clamp(26px, 2.3vw, 42px);
  --st-height: clamp(300px, 23vw, 390px);
  --st-radius: 20px;

  position: relative;
  margin-top: 0;
  filter: drop-shadow(0 14px 13px rgba(35, 152, 90, 0.1));
}

.st-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  margin: 0;
  padding: 0;
  list-style: none;
}

.st-stage {
  position: relative;
  min-width: 0;
  height: var(--st-height);
  padding: clamp(52px, 5.5vw, 90px) 24px 16px;
  border-top: 1px solid #497761;
  border-left: 1px solid var(--st-divider);
  border-radius: var(--st-radius) 0 0 0;
  background: var(--st-dark);
}

/* Rounded inside corner at each rise */

.st-stage:not(:last-child)::after {
  position: absolute;
  top: -15px;
  right: 0;
  width: 15px;
  height: 15px;
  border-bottom-right-radius: 15px;
  box-shadow: 5px 5px 0 5px var(--st-dark);
  content: "";
  pointer-events: none;
}

.st-stage--foundation {
  height: calc(var(--st-height) - var(--st-rise) * 3);
  padding-top: clamp(45px, 3.5vw, 58px);
  border-left: 1px solid #497761;
}

.st-stage--implement {
  height: calc(var(--st-height) - var(--st-rise) * 2);
  padding-top: clamp(52px, 4.5vw, 75px);
  background:
    linear-gradient(120deg, rgba(52, 108, 78, 0.12), transparent),
    var(--st-dark);
}

.st-stage--build {
  height: calc(var(--st-height) - var(--st-rise));
}

.st-stage--compound {
  border-right: 1px solid #497761;
  border-radius: var(--st-radius) var(--st-radius) 0 0;
  background:
    radial-gradient(ellipse at 48% 64%,
      rgba(30, 182, 84, 0.4),
      transparent 42%),
    radial-gradient(ellipse at 52% 15%,
      rgba(37, 124, 76, 0.3),
      transparent 55%),
    var(--st-dark);
}

.st-stage-name {
  position: absolute;
  top: 18px;
  right: 22px;
  color: #64df95;
  font-size: clamp(9px, 0.7vw, 12px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.st-stage-content {
  position: relative;
  z-index: 2;
}

.st-stage-content h3 {
  margin-bottom: 5px;
  color: var(--st-green);
  font-size: clamp(13px, 1.2vw, 19px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.st-stage-content p {
  color: #f1f8f3;
  font-size: clamp(14px, 1.25vw, 20px);
  line-height: 1.23;
  letter-spacing: -0.025em;
}

/* Decorative SVG icons */

.st-art {
  position: absolute;
  bottom: 12px;
  left: 50%;
  width: 53%;
  height: clamp(80px, 8.5vw, 135px);
  transform: translateX(-50%);
  fill: none;
  stroke: currentColor;
  stroke-width: 16;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: rgba(148, 206, 168, 0.28);
  pointer-events: none;
}

.st-art--search {
  width: 48%;
}

.st-art--code {
  width: 57%;
}

.st-art--document {
  width: 46%;
  height: clamp(90px, 9vw, 145px);
}

.st-art--growth {
  bottom: 22px;
  width: 73%;
  height: clamp(125px, 11vw, 185px);
  color: rgba(151, 216, 156, 0.33);
}

/* SEM strip */

.st-sem {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns:
    minmax(0, 1.45fr) minmax(0, 2.7fr) minmax(0, 1.15fr);
  align-items: center;
  min-height: 110px;
  margin-top: -1px;
  padding: 14px 28px;
  border: 2px solid #285541;
  border-top: 1px solid #d8ece1;
  border-radius: 20px;
  background: linear-gradient(110deg, #effcf5, #ecfaf3);
}

.st-sem-heading {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 8px;
  padding-right: 18px;
  border-right: 1px solid #d3eade;
  white-space: nowrap;
}

.st-sem-heading strong {
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 800;
  letter-spacing: -0.045em;
}

.st-sem-separator {
  color: #288d55;
  font-size: 20px;
  font-weight: 700;
}

.st-sem-heading>span:last-child {
  font-size: clamp(10px, 1.1vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Three optimisation cycles */

.st-optimisation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  margin: 0;
  padding: 0 20px;
  list-style: none;
}

.st-cycle {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.st-rings {
  position: relative;
  display: grid;
  width: clamp(42px, 3.8vw, 60px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #b8eed0;
  border-radius: 50%;
}

.st-rings::before,
.st-rings::after {
  position: absolute;
  border: 1px solid #98e8b9;
  border-radius: 50%;
  content: "";
}

.st-rings::before {
  inset: 7px;
}

.st-rings::after {
  inset: 15px;
  border-color: #70dba0;
}

.st-rings>span {
  width: 31%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #49d781;
}

.st-cycle--teal .st-rings>span {
  background: #4cba9a;
}

.st-cycle p {
  color: #28463a;
  font-size: clamp(7px, 0.7vw, 10px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
}

/* Curved arrows between cycles */

.st-cycle:not(:last-child)::after {
  position: absolute;
  top: 22px;
  left: calc(100% - 24px);
  width: 48px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 24' fill='none' stroke='%2384dca9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16Q31 2 64 16M56 7l9 10-13 3'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
}

/* Final visibility result */

.st-result {
  display: flex;
  min-height: 70px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding-left: 18px;
  border-left: 1px solid #d3eade;
}

.st-target {
  display: grid;
  width: clamp(50px, 4.8vw, 78px);
  aspect-ratio: 1;
  flex-shrink: 0;
  place-items: center;
  border-radius: 50%;
  background: #3cd96f;
}

.st-target svg {
  width: 60%;
  height: 60%;
  fill: none;
  stroke: #052e1c;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.st-result p {
  font-size: clamp(8px, 0.8vw, 12px);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Smaller desktop */

@media (max-width: 1250px) {
  .st-container {
    width: calc(100% - 64px);
  }

  .st-header {
    padding-inline: 16px;
  }

  .st-stage {
    padding-inline: 24px;
  }

  .st-stage-name {
    right: 20px;
    letter-spacing: 0.22em;
  }

  .st-stage-content p {
    font-size: 14px;
  }

  .st-sem {
    min-height: 90px;
    padding: 12px 18px;
    border-radius: 18px;
  }

  .st-sem-heading,
  .st-result {
    min-height: 60px;
  }

  .st-sem-heading {
    gap: 6px;
    padding-right: 10px;
  }

  .st-sem-heading>span:last-child {
    font-size: 11px;
  }

  .st-result {
    gap: 10px;
    padding-left: 12px;
  }

  .st-cycle:not(:last-child)::after {
    top: 16px;
    left: calc(100% - 20px);
    width: 40px;
  }
}

/* Tablet */

@media (max-width: 950px) {
  .gs-search-timeline {
    padding-block: 35px 25px;
  }

  .st-container {
    width: calc(100% - 40px);
  }

  .st-header {
    padding-inline: 4px;
  }

  .st-header h2 {
    font-size: clamp(32px, 5vw, 48px);
  }

  .st-diagram {
    --st-rise: 22px;
    --st-height: 300px;
    margin-top: 20px;
  }

  .st-stage {
    padding-inline: 12px;
  }

  .st-stage-content h3 {
    font-size: 12px;
    letter-spacing: 0.07em;
  }

  .st-stage-content p {
    font-size: 13px;
    line-height: 1.35;
  }

  .st-stage-content br {
    display: none;
  }

  .st-stage-name {
    top: 14px;
    right: 12px;
    font-size: 7px;
    letter-spacing: 0.2em;
  }

  .st-art {
    width: 55%;
    height: 85px;
  }

  .st-art--growth {
    width: 75%;
    height: 120px;
  }

  .st-sem {
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 14px 18px;
  }

  .st-sem-heading {
    min-height: auto;
    border-right: 0;
  }

  .st-sem-heading>span:last-child {
    font-size: 12px;
  }

  .st-result {
    min-height: auto;
  }

  .st-optimisation {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 14px 0 0;
    border-top: 1px solid #d3eade;
  }

  .st-cycle p {
    font-size: 8px;
  }

  .st-cycle:not(:last-child)::after {
    left: calc(100% - 24px);
    width: 48px;
  }
}

/* Mobile */

@media (max-width: 600px) {
  .gs-search-timeline {
    padding-block: 28px 22px;
  }

  .st-container {
    width: calc(100% - 32px);
  }

  .st-eyebrow {
    font-size: 10px;
  }

  .st-header h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  .st-subtitle {
    margin-top: 14px !important;
    font-size: 13px;
  }

  /* Four stages become a readable two-column grid. */
  .st-stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #416b55;
    border-bottom: 0;
    border-radius: 20px 20px 0 0;
    background: var(--st-dark);
  }

  .st-stage {
    height: 220px;
    padding: 38px 14px 14px;
    border: 0;
    border-radius: 0;
  }

  .st-stage:not(:last-child)::after {
    display: none;
  }

  .st-stage:nth-child(even) {
    border-left: 1px solid var(--st-divider);
  }

  .st-stage:nth-child(n + 3) {
    border-top: 1px solid var(--st-divider);
  }

  .st-stage-name {
    top: 15px;
    right: auto;
    left: 14px;
    font-size: 7px;
    letter-spacing: 0.19em;
  }

  .st-stage-content h3 {
    font-size: 11px;
  }

  .st-stage-content p {
    font-size: 12px;
  }

  .st-art {
    bottom: 10px;
    width: 56%;
    height: 86px;
  }

  .st-art--growth {
    width: 74%;
    height: 96px;
  }

  .st-sem {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 12px;
    border-radius: 0 0 20px 20px;
  }

  .st-sem-heading {
    justify-content: center;
    gap: 8px;
    padding: 0;
  }

  .st-sem-heading strong {
    font-size: 20px;
  }

  .st-sem-heading>span:last-child {
    font-size: 10px;
  }

  .st-optimisation {
    grid-column: auto;
    grid-row: auto;
    padding: 14px 0;
    border-bottom: 1px solid #d3eade;
  }

  .st-rings {
    width: 38px;
  }

  .st-rings::before {
    inset: 5px;
  }

  .st-rings::after {
    inset: 10px;
  }

  .st-cycle p {
    max-width: 70px;
    font-size: 7px;
    line-height: 1.5;
    letter-spacing: 0.07em;
  }

  .st-cycle:not(:last-child)::after {
    top: 12px;
    left: calc(100% - 14px);
    width: 28px;
  }

  .st-result {
    justify-content: center;
    gap: 12px;
    padding: 0;
    border-left: 0;
  }

  .st-target {
    width: 50px;
  }

  .st-result p {
    font-size: 9px;
  }
}

.gsk-symbols {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.gs-kpis {
  --gsk-ink: #102a24;
  --gsk-muted: #667579;
  --gsk-border: #dce6e2;

  position: relative;
  padding: 30px 0 28px;
  background: #fcfdfb;
  color: var(--gsk-ink);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-kpis,
.gs-kpis *,
.gs-kpis *::before,
.gs-kpis *::after {
  box-sizing: border-box;
}

.gs-kpis h2,
.gs-kpis h3,
.gs-kpis p {
  margin: 0;
}

/* Decorative registration marks */

.gs-kpis::before,
.gs-kpis::after {
  position: absolute;
  top: 26px;
  width: 40px;
  height: 40px;
  background:
    linear-gradient(#dfe8e4, #dfe8e4) center / 1px 100% no-repeat,
    linear-gradient(#dfe8e4, #dfe8e4) center / 100% 1px no-repeat;
  content: "";
  pointer-events: none;
}

.gs-kpis::before {
  left: 24px;
}

.gs-kpis::after {
  right: 24px;
}

.gsk-container {
  width: calc(100% - 64px);
  max-width: 1300px;
  margin-inline: auto;
}

/* Heading */

.gsk-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-inline: 40px 20px;
}

.gsk-header>div {
  min-width: 0;
}

.gsk-eyebrow {
  margin-bottom: 8px !important;
  color: #39be75;
  font-size: clamp(10px, 0.9vw, 13px);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.gsk-header h2 {
  color: #071b17;
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.gsk-subtitle {
  margin-top: 8px !important;
  color: #697375;
  font-size: clamp(14px, 1.3vw, 20px);
  line-height: 1.5;
  letter-spacing: -0.015em;
}

.gsk-header-note {
  flex-shrink: 0;
  padding: 10px 0 10px 20px;
  border-left: 1px solid #cddbd5;
  color: #bbc8c5;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

/* Two-column section */

.gsk-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  margin-top: 10px;
}

/* Circular diagram */

.gsk-diagram {
  min-width: 0;
}

.gsk-wheel {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.gsk-wheel-guides {
  fill: none;
  stroke: #dce6e2;
  stroke-width: 1.3;
}

.gsk-wheel-target {
  fill: none;
  stroke: #29443b;
  stroke-width: 2;
}

.gsk-wheel-icon {
  fill: none;
  stroke: #29443b;
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gsk-wheel-label,
.gsk-wheel-center {
  fill: #18362e;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  text-anchor: middle;
  text-transform: uppercase;
}

.gsk-wheel-label {
  font-size: 13px;
  letter-spacing: 1.6px;
}

.gsk-wheel-center {
  font-size: 11px;
  letter-spacing: 2.2px;
}

/* KPI groups */

.gsk-groups {
  min-width: 0;
  padding-top: 13px;
}

.gsk-group {
  --gsk-marker: #084633;

  padding: 18px 0 20px;
}

.gsk-group+.gsk-group {
  border-top: 1px solid var(--gsk-border);
}

.gsk-group--acquisition {
  --gsk-marker: #45d17b;
}

.gsk-group--authority {
  --gsk-marker: #c1eedb;
}

.gsk-group--experience {
  --gsk-marker: #639396;
}

.gsk-group h3 {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #13252a;
  font-size: clamp(15px, 1.3vw, 21px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.015em;
  text-transform: uppercase;
}

.gsk-marker {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  background: var(--gsk-marker);
}

.gsk-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 14px 0 0;
  padding: 0 0 0 38px;
  list-style: none;
}

.gsk-metrics li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 48px;
  padding-right: 18px;
}

.gsk-metrics li+li {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid var(--gsk-border);
}

.gsk-metrics svg {
  width: 36px;
  height: 36px;
  fill: none;
  stroke: #183a31;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gsk-metrics p {
  color: #43565e;
  font-size: clamp(12px, 1.1vw, 16px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.025em;
}

/* Smaller desktop */

@media (max-width: 1400px) {
  .gsk-container {
    width: calc(100% - 72px);
  }

  .gsk-header {
    padding-inline: 28px 12px;
  }

  .gsk-header-note {
    padding-left: 20px;
    font-size: 10px;
  }

  .gsk-layout {
    gap: 20px;
  }

  .gsk-group {
    padding-block: 16px;
  }

  .gsk-group h3 {
    gap: 14px;
    font-size: 16px;
  }

  .gsk-marker {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }

  .gsk-metrics {
    padding-left: 32px;
    margin-top: 12px;
  }

  .gsk-metrics li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    padding-right: 12px;
  }

  .gsk-metrics li+li {
    padding-left: 16px;
  }

  .gsk-metrics svg {
    width: 28px;
    height: 32px;
  }

  .gsk-metrics p {
    font-size: 13px;
  }
}

/* Tablet */

@media (max-width: 1050px) {
  .gs-kpis {
    padding-block: 30px;
  }

  .gsk-container {
    width: calc(100% - 48px);
  }

  .gsk-header {
    padding-inline: 0;
  }

  .gsk-header h2 {
    font-size: clamp(28px, 4vw, 40px);
  }

  .gsk-header-note {
    display: none;
  }

  .gsk-layout {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 25px;
  }

  .gsk-diagram {
    width: 100%;
    max-width: 550px;
    margin-inline: auto;
  }

  .gsk-groups {
    padding-top: 0;
  }

  .gsk-group {
    padding-block: 18px;
  }

  .gsk-group h3 {
    font-size: 18px;
  }

  .gsk-metrics {
    margin-top: 14px;
  }

  .gsk-metrics li {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 16px;
    padding-right: 18px;
  }

  .gsk-metrics li+li {
    padding-left: 20px;
  }

  .gsk-metrics svg {
    width: 32px;
    height: 34px;
  }

  .gsk-metrics p {
    font-size: 14px;
  }

  .gs-kpis::before,
  .gs-kpis::after {
    display: none;
  }
}

/* Mobile */

@media (max-width: 600px) {
  .gs-kpis {
    padding-block: 24px 20px;
  }

  .gsk-container {
    width: calc(100% - 32px);
  }

  .gsk-eyebrow {
    font-size: 9px;
    letter-spacing: 0.18em;
  }

  .gsk-header h2 {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.08;
  }

  .gsk-subtitle {
    margin-top: 14px !important;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsk-layout {
    margin-top: 20px;
  }

  .gsk-group {
    padding-block: 16px;
  }

  .gsk-group h3 {
    gap: 12px;
    font-size: 16px;
  }

  .gsk-marker {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }

  .gsk-metrics {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 14px;
    padding-left: 30px;
  }

  .gsk-metrics li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 14px;
    min-height: 36px;
    padding: 0;
  }

  .gsk-metrics li+li {
    padding: 0;
    border-left: 0;
  }

  .gsk-metrics svg {
    width: 28px;
    height: 30px;
  }

  .gsk-metrics p {
    font-size: 13px;
    line-height: 1.45;
  }
}

.gs-audience {
  padding: 90px 0 100px;
  background: #ffffff;
  color: #153b32;
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-audience,
.gs-audience *,
.gs-audience *::before,
.gs-audience *::after {
  box-sizing: border-box;
}

.gs-audience h2,
.gs-audience p {
  margin: 0;
}

.gsa-window {
  width: calc(100% - 124px);
  max-width: 1640px;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid #e1e7e5;
  border-radius: 17px;
  background: #ffffff;
  box-shadow:
    0 10px 30px rgba(21, 57, 44, 0.045),
    0 1px 3px rgba(21, 57, 44, 0.025);
}

/* Browser-style bar */

.gsa-toolbar {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 46px;
  padding-inline: 19px;
  border-bottom: 1px solid #e8eeeb;
  background: linear-gradient(180deg, #f8faf9, #f5f7f6);
}

.gsa-toolbar span {
  width: 13px;
  height: 13px;
  border-radius: 50%;
}

.gsa-toolbar span:nth-child(1) {
  background: #ff605b;
}

.gsa-toolbar span:nth-child(2) {
  background: #ffc844;
}

.gsa-toolbar span:nth-child(3) {
  background: #0bd57d;
}

/* Labels */

.gsa-labels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-inline: 10px;
  background: #ffffff;
}

.gsa-label {
  position: relative;
  padding: 19px 20px 15px;
  color: #1a4037;
  font-size: clamp(17px, 1.4vw, 24px);
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  letter-spacing: -0.025em;
}

.gsa-label::after {
  position: absolute;
  right: 19%;
  bottom: 0;
  left: 19%;
  height: 2px;
  background: #e3eae6;
  content: "";
}

.gsa-label.is-highlighted::after {
  background: #3bd884;
}

/* Mint background */

.gsa-body {
  margin-inline: 10px;
  background:
    radial-gradient(ellipse at 13% 20%,
      rgba(143, 238, 187, 0.065),
      transparent 48%),
    radial-gradient(ellipse at 80% 12%,
      rgba(155, 237, 195, 0.085),
      transparent 54%),
    linear-gradient(180deg, #fbfffc, #fcfefd);
  border-radius: 12px 12px 0 0;
}

/* Illustration */

.gsa-illustration {
  position: relative;
  padding-top: 15px;
}

.gsa-illustration svg {
  display: block;
  width: 100%;
  height: auto;
}

/* Content */

.gsa-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gsa-card {
  position: relative;
  min-width: 0;
  padding: 8px 48px 67px;
}

.gsa-card+.gsa-card {
  border-left: 1px solid #edf7f1;
}

.gsa-card h2 {
  margin-bottom: 12px;
  color: #153e34;
  font-size: clamp(25px, 1.9vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.gsa-card p {
  max-width: 390px;
  color: #69737d;
  font-size: clamp(16px, 1.27vw, 23px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

/* Smaller desktop */

@media (max-width: 1300px) {
  .gs-audience {
    padding-block: 65px;
  }

  .gsa-window {
    width: calc(100% - 80px);
  }

  .gsa-card {
    padding: 10px 30px 48px;
  }

  .gsa-card h2 {
    font-size: 27px;
  }

  .gsa-card p {
    font-size: 18px;
    line-height: 1.45;
  }
}

/* Tablet */

@media (max-width: 950px) {
  .gs-audience {
    padding-block: 45px;
  }

  .gsa-window {
    width: calc(100% - 48px);
  }

  .gsa-toolbar {
    height: 39px;
    padding-inline: 15px;
  }

  .gsa-toolbar span {
    width: 11px;
    height: 11px;
  }

  .gsa-label {
    padding: 17px 8px 13px;
    font-size: 18px;
  }

  .gsa-card {
    padding: 12px 22px 36px;
  }

  .gsa-card h2 {
    margin-bottom: 10px;
    font-size: 23px;
  }

  .gsa-card p {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* Mobile */

@media (max-width: 640px) {
  .gs-audience {
    padding-block: 30px;
  }

  .gsa-window {
    width: calc(100% - 32px);
    border-radius: 13px;
  }

  .gsa-toolbar {
    height: 36px;
    gap: 7px;
    padding-inline: 13px;
  }

  .gsa-toolbar span {
    width: 10px;
    height: 10px;
  }

  .gsa-labels {
    padding-inline: 4px;
  }

  .gsa-label {
    padding: 15px 4px 12px;
    font-size: clamp(11px, 3vw, 16px);
  }

  .gsa-label::after {
    right: 10%;
    left: 10%;
  }

  .gsa-body {
    margin-inline: 4px;
  }

  .gsa-illustration {
    padding-block: 16px 8px;
  }

  .gsa-cards {
    grid-template-columns: 1fr;
  }

  .gsa-card {
    padding: 24px 24px 26px;
  }

  .gsa-card+.gsa-card {
    border-top: 1px solid #e4efe8;
    border-left: 0;
  }

  .gsa-card h2 {
    font-size: 26px;
  }

  .gsa-card p {
    max-width: none;
    font-size: 16px;
    line-height: 1.5;
  }
}

/* ================================
   SEO AUDIT SECTION
================================ */

.seo-audit-section {
  position: relative;
  width: 100%;
  min-height: 924px;
  overflow: hidden;
  background: #ffffff;
  color: #073d35;
}

.seo-audit-container {
  position: relative;
  width: 100%;
  max-width: 1300px;
  min-height: 924px;
  margin: 0 auto;
  padding-top: 104px;
  text-align: center;
}


/* ================================
   EYEBROW
================================ */

.seo-audit-eyebrow {
  margin-bottom: 24px;

  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 4px;

  color: #55d99a;
}


/* ================================
   MAIN HEADING
================================ */

.seo-audit-title {
  max-width: 1150px;
  margin: 0 auto;

  font-family: "Manrope", sans-serif;
  font-size: 64px;
  line-height: 1.105;
  font-weight: 800;
  letter-spacing: -3.8px;

  color: #073d35;
}


/* ================================
   DESCRIPTION
================================ */

.seo-audit-description {
  margin: 27px auto 0;

  max-width: 1100px;

  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 400;

  color: #59646b;
}


/* ================================
   SEARCH WRAPPER
================================ */

.seo-audit-search-wrap {
  position: relative;

  width: 1050px;
  height: 86px;

  margin: 69px auto 0;
}


/* ================================
   SEARCH BAR
================================ */

.seo-audit-search-bar {
  position: relative;
  z-index: 3;

  width: 100%;
  height: 86px;

  display: flex;
  align-items: center;

  padding: 8px;

  background: #ffffff;

  border: 2px solid #123f3a;
  border-radius: 60px;

  box-shadow:
    0 4px 7px rgba(0, 0, 0, 0.035),
    0 14px 30px rgba(0, 0, 0, 0.035);
}


/* ================================
   SEARCH ICON AREA
================================ */

.seo-audit-search-icon {
  position: relative;

  width: 100px;
  height: 70px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  border-right: 1px solid #e3e8e6;
}

.seo-audit-search-icon span {
  position: relative;

  display: block;

  width: 28px;
  height: 28px;

  border: 4px solid #073d35;
  border-radius: 50%;
}

.seo-audit-search-icon span::after {
  content: "";

  position: absolute;

  width: 14px;
  height: 4px;

  right: -10px;
  bottom: -6px;

  background: #073d35;

  border-radius: 4px;

  transform: rotate(47deg);
}


/* ================================
   SEARCH TEXT
================================ */

.seo-audit-search-text {
  flex: 1;

  padding-left: 30px;

  text-align: left;

  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 400;

  color: #173f3a;

  white-space: nowrap;
}


/* ================================
   CTA BUTTON
================================ */

.seo-audit-button {
  width: 310px;
  height: 70px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;

  border-radius: 50px;

  background: #55d99a;

  color: #073d35;

  text-decoration: none;

  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 500;

  transition: transform 0.25s ease,
    background 0.25s ease;
}

.seo-audit-button:hover {
  background: #49d392;
  transform: translateY(-2px);
}

.seo-audit-arrow {
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
}


/* ================================
   LEFT DECORATIVE RINGS
================================ */

.seo-audit-left-rings {
  position: absolute;

  z-index: 1;

  width: 290px;
  height: 290px;

  left: -102px;
  top: -102px;

  border-radius: 50%;

  background:
    radial-gradient(circle,
      rgba(85, 217, 154, 0.20) 0 18%,
      transparent 18.5% 34%,
      rgba(85, 217, 154, 0.13) 34.5% 35.5%,
      transparent 36% 52%,
      rgba(85, 217, 154, 0.09) 52.5% 53.5%,
      transparent 54%);

  pointer-events: none;
}


/* ================================
   RIGHT DECORATIVE CIRCLE
================================ */

.seo-audit-right-circle {
  position: absolute;

  z-index: 1;

  width: 180px;
  height: 180px;

  right: -48px;
  top: -47px;

  border-radius: 50%;

  background: #073d35;
}

.seo-audit-right-circle::before {
  content: "";

  position: absolute;

  width: 145px;
  height: 145px;

  top: 17px;
  left: -1px;

  border: 2px solid rgba(255, 255, 255, 0.75);

  border-radius: 50%;
}

.seo-audit-right-circle::after {
  content: "";

  position: absolute;

  width: 112px;
  height: 112px;

  top: 34px;
  left: 15px;

  border: 2px solid rgba(255, 255, 255, 0.30);

  border-radius: 50%;
}


/* ================================
   EXPLORE SERVICES
================================ */

.seo-audit-services {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-top: 62px;

  color: #173f3a;

  font-family: "DM Sans", sans-serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 400;

  text-decoration: underline;
  text-underline-offset: 6px;
}

.seo-audit-services span:last-child {
  font-size: 27px;
  text-decoration: none;
}


/* ================================
   BOTTOM FEATURES
================================ */

.seo-audit-features {
  width: 1070px;

  margin: 58px auto 0;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.seo-audit-feature {
  display: flex;
  align-items: center;
  gap: 42px;

  color: #59656b;

  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;

  letter-spacing: 3px;

  white-space: nowrap;
}

.seo-audit-feature i {
  display: block;

  width: 12px;
  height: 12px;

  flex-shrink: 0;

  border-radius: 50%;

  background: #55d99a;
}


/* ================================
   RESPONSIVE
================================ */

@media (max-width: 1300px) {

  .seo-audit-search-wrap {
    width: calc(100% - 100px);
  }

  .seo-audit-title {
    font-size: 58px;
  }

  .seo-audit-description {
    font-size: 19px;
  }

  .seo-audit-button {
    width: 300px;
    font-size: 18px;
  }

  .seo-audit-search-text {
    font-size: 18px;
  }

  .seo-audit-features {
    width: calc(100% - 160px);
  }
}


@media (max-width: 900px) {

  .seo-audit-container {
    padding: 75px 30px;
  }

  .seo-audit-title {
    font-size: 52px;
    letter-spacing: -2.5px;
  }

  .seo-audit-description {
    font-size: 19px;
  }

  .seo-audit-search-wrap {
    width: 100%;
  }

  .seo-audit-search-text {
    font-size: 18px;
    padding-left: 20px;
  }

  .seo-audit-button {
    width: 300px;
    font-size: 18px;
  }

  .seo-audit-features {
    width: 100%;
  }

  .seo-audit-feature {
    font-size: 13px;
    letter-spacing: 1.5px;
    gap: 18px;
  }
}


@media (max-width: 650px) {

  .seo-audit-section {
    min-height: auto;
  }

  .seo-audit-container {
    min-height: auto;
    padding: 60px 20px 70px;
  }

  .seo-audit-eyebrow {
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 24px;
  }

  .seo-audit-title {
    font-size: 38px;
    line-height: 1.1;
    letter-spacing: -1.5px;
  }

  .seo-audit-description {
    font-size: 17px;
    line-height: 1.5;
  }

  .seo-audit-search-wrap {
    height: auto;
    margin-top: 40px;
  }

  .seo-audit-search-bar {
    height: auto;
    min-height: 210px;

    flex-direction: column;

    border-radius: 30px;

    padding: 9px;
  }

  .seo-audit-search-icon {
    width: 100%;
    height: 55px;

    justify-content: flex-start;

    padding-left: 20px;

    border-right: none;
    border-bottom: 1px solid #e3e8e6;
  }

  .seo-audit-search-icon span {
    transform: scale(0.7);
  }

  .seo-audit-search-text {
    width: 100%;
    height: 50px;

    display: flex;
    align-items: center;

    padding-left: 15px;

    font-size: 16px;
  }

  .seo-audit-button {
    width: 100%;
    height: 65px;

    font-size: 16px;
  }

  .seo-audit-left-rings,
  .seo-audit-right-circle {
    display: none;
  }

  .seo-audit-services {
    margin-top: 35px;
    font-size: 17px;
  }

  .seo-audit-features {
    flex-direction: column;
    gap: 24px;

    margin-top: 40px;
  }

  .seo-audit-feature {
    font-size: 12px;
    letter-spacing: 1.2px;
  }
}

/* ==========================================
   GROWTHSPELL STANDARD
========================================== */

.growth-promises {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;

  background: #003d32;
  color: #ffffff;

  font-family: "Inter", sans-serif;
}

.growth-promises *,
.growth-promises *::before,
.growth-promises *::after {
  box-sizing: border-box;
}


/* ==========================================
   MAIN CONTAINER
========================================== */

.growth-promises__container {
  position: relative;

  width: 100%;
  max-width: 1300px;
  height: 100%;

  margin: 0 auto;

  padding:
    76px 20px 35px;
}


/* ==========================================
   HEADER
========================================== */

.growth-promises__header {
  position: relative;
  z-index: 5;
}

.growth-promises__eyebrow {
  margin-bottom: 12px;

  color: #59e7a1;

  font-size: 14px;
  line-height: 1;

  font-weight: 500;

  letter-spacing: 4px;
  text-transform: uppercase;
}

.growth-promises__title {
  margin: 0;

  color: #ffffff;

  font-size: 52px;
  line-height: 1.05;

  font-weight: 500;

  letter-spacing: -1.8px;
}


/* ==========================================
   LOCATION PILL
========================================== */

.growth-promises__location {
  position: absolute;

  top: 70px;
  right: 20px;

  height: 40px;

  padding: 0 16px;

  display: flex;
  align-items: center;
  gap: 9px;

  border: 1.5px solid rgba(255, 255, 255, 0.65);
  border-radius: 30px;

  color: #ffffff;

  font-size: 14px;
  font-weight: 500;

  letter-spacing: 2px;

  z-index: 10;
}

.growth-promises__location-icon {
  font-size: 20px;
  line-height: 1;

  transform: translateY(-1px);
}

.growth-promises__location-dot {
  position: relative;

  width: 10px;
  height: 10px;

  margin-left: 6px;

  border-radius: 50%;

  background: #5eeaa2;

  box-shadow:
    0 0 0 6px rgba(94, 234, 162, 0.08),
    0 0 0 12px rgba(94, 234, 162, 0.035);
}


/* ==========================================
   BACKGROUND TYPOGRAPHY
========================================== */

.growth-promises__background-text {
  position: absolute;

  left: -8px;
  top: 154px;

  width: 100%;

  color: rgba(89, 231, 161, 0.055);

  font-size: 210px;
  line-height: 0.9;

  font-weight: 800;

  letter-spacing: -12px;

  white-space: nowrap;

  pointer-events: none;

  z-index: 0;
}


/* ==========================================
   FOUR COLUMN GRID
========================================== */

.growth-promises__grid {
  position: relative;
  z-index: 3;

  width: 100%;

  margin-top: 55px;

  display: grid;

  grid-template-columns:
    1fr 1px 1fr 1px 1fr 1px 1fr;

  column-gap: 0;
}


/* ==========================================
   CARDS
========================================== */

.growth-promises__card {
  min-width: 0;

  height: 280px;

  padding: 0 10px;
}


/* ==========================================
   DIVIDERS
========================================== */

.growth-promises__divider {
  width: 1px;
  height: 240px;

  margin-top: 20px;

  background:
    linear-gradient(to bottom,
      rgba(255, 255, 255, 0.17),
      rgba(255, 255, 255, 0.17));
}


/* ==========================================
   VISUAL AREA
========================================== */

.growth-promises__visual {
  position: relative;

  width: 100%;
  height: 160px;

  display: flex;
  align-items: center;
  justify-content: center;
}


/* ==========================================
   CARD CONTENT
========================================== */

.growth-promises__content {
  padding-left: 10px;
}

.growth-promises__heading {
  display: flex;
  align-items: flex-start;

  gap: 15px;
}

.growth-promises__heading h3 {
  margin: 1px 0 0;

  color: #ffffff;

  font-size: 22px;
  line-height: 1.08;

  font-weight: 600;

  letter-spacing: -0.8px;
}

.growth-promises__content p {
  margin: 14px 0 0 47px;

  color: rgba(255, 255, 255, 0.69);

  font-size: 16px;
  line-height: 1.35;

  font-weight: 400;

  letter-spacing: -0.2px;
}


/* ==========================================
   CHECK CIRCLE
========================================== */

.growth-promises__check {
  width: 32px;
  height: 32px;

  flex: 0 0 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #58e99f;

  color: #003d32;

  font-size: 20px;
  line-height: 1;

  font-weight: 700;
}


/* ==========================================
   DUBAI SKYLINE
========================================== */

.dubai-skyline {
  position: relative;

  width: 235px;
  height: 190px;

  border-bottom: 2px solid rgba(255, 255, 255, 0.68);

  transform: scale(0.65);
  transform-origin: center;
}


/* Burj-like central tower */

.building {
  position: absolute;
  bottom: 0;

  width: 16px;

  border: 2px solid rgba(255, 255, 255, 0.72);
  border-bottom: 0;
}

.building--1 {
  left: 69px;
  width: 21px;
  height: 119px;
}

.building--1::before {
  content: "";

  position: absolute;

  left: 6px;
  top: -63px;

  width: 5px;
  height: 63px;

  border-left: 2px solid rgba(255, 255, 255, 0.72);
}

.building--1::after {
  content: "";

  position: absolute;

  left: 2px;
  top: -18px;

  width: 12px;
  height: 20px;

  border-left: 2px solid rgba(255, 255, 255, 0.72);
  border-right: 2px solid rgba(255, 255, 255, 0.72);
}

.building--2 {
  left: 94px;
  height: 69px;
}

.building--3 {
  left: 112px;
  height: 94px;
}

.building--4 {
  left: 133px;
  height: 54px;
}

.building--5 {
  left: 150px;
  height: 75px;
}

.building--6 {
  left: 170px;
  height: 46px;
}

.building--7 {
  left: 190px;
  height: 59px;
}


/* Palm */

.skyline-palm {
  position: absolute;

  left: 5px;
  bottom: 1px;

  width: 2px;
  height: 57px;

  background: rgba(86, 235, 160, 0.95);
}

.skyline-palm::before {
  content: "";

  position: absolute;

  left: -22px;
  top: -13px;

  width: 48px;
  height: 22px;

  border-top: 4px solid #58e99f;
  border-radius: 50%;

  transform: rotate(-7deg);
}

.skyline-palm::after {
  content: "";

  position: absolute;

  left: -17px;
  top: -9px;

  width: 40px;
  height: 20px;

  border-top: 3px solid #58e99f;
  border-radius: 50%;

  transform: rotate(28deg);
}


/* Sun */

.skyline-sun {
  position: absolute;

  right: 52px;
  top: 14px;

  width: 47px;
  height: 47px;

  border-radius: 50%;

  background: #55e99d;
}


/* ==========================================
   REPORT ICON
========================================== */

.report-icon {
  position: relative;

  width: 170px;
  height: 175px;

  transform: scale(0.65);
  transform-origin: center;
}

.report-icon__paper {
  position: absolute;

  left: 15px;
  top: 4px;

  width: 130px;
  height: 168px;

  border: 3px solid rgba(255, 255, 255, 0.85);
  border-radius: 8px;

  background: rgba(0, 61, 50, 0.2);

  clip-path: polygon(0 0,
      75% 0,
      100% 18%,
      100% 100%,
      0 100%);
}

.report-icon__paper::after {
  content: "";

  position: absolute;

  right: -3px;
  top: -3px;

  width: 43px;
  height: 43px;

  border-left: 3px solid rgba(255, 255, 255, 0.85);
  border-bottom: 3px solid rgba(255, 255, 255, 0.85);
}

.report-icon__back {
  position: absolute;

  left: 0;
  top: 20px;

  width: 130px;
  height: 148px;

  border: 3px solid rgba(82, 232, 158, 0.65);
  border-radius: 8px;

  z-index: -1;
}

.paper-line {
  position: absolute;

  left: 20px;

  height: 3px;

  background: #ffffff;

  border-radius: 3px;
}

.paper-line--1 {
  top: 26px;
  width: 58px;
}

.paper-line--2 {
  top: 47px;
  width: 40px;
}

.paper-line--3 {
  top: 68px;
  width: 61px;
}


/* Bars */

.report-bars {
  position: absolute;

  left: 25px;
  bottom: 27px;

  width: 75px;
  height: 62px;

  display: flex;
  align-items: flex-end;

  gap: 10px;
}

.report-bars span {
  width: 18px;

  background: #55e99d;

  border-radius: 2px 2px 0 0;
}

.report-bars span:nth-child(1) {
  height: 30px;
}

.report-bars span:nth-child(2) {
  height: 47px;
}

.report-bars span:nth-child(3) {
  height: 62px;
}


/* ==========================================
   TECHNICAL ICON
========================================== */

.technical-icon {
  position: relative;

  width: 230px;
  height: 180px;

  transform: scale(0.65);
  transform-origin: center;
}

.code-bracket {
  position: absolute;

  color: #ffffff;

  font-family: "Inter", sans-serif;
  font-size: 89px;
  line-height: 1;

  font-weight: 200;
}

.code-bracket--left {
  left: 22px;
  top: 40px;

  color: rgba(255, 255, 255, 0.88);
}

.code-bracket--right {
  left: 122px;
  top: 40px;

  color: rgba(255, 255, 255, 0.88);
}

.code-slash {
  position: absolute;

  left: 91px;
  top: 16px;

  color: #58e99f;

  font-family: "Inter", sans-serif;
  font-size: 110px;
  line-height: 1;

  transform: rotate(14deg);
}


/* Search circle */

.technical-search {
  position: absolute;

  right: 0;
  bottom: 5px;

  width: 73px;
  height: 73px;

  border: 5px solid rgba(255, 255, 255, 0.88);

  border-radius: 50%;

  background: #003d32;
}

.technical-search::before {
  content: "";

  position: absolute;

  left: 13px;
  top: 13px;

  width: 39px;
  height: 39px;

  border: 6px solid #58e99f;

  border-radius: 50%;
}

.technical-search span {
  position: absolute;

  right: -34px;
  bottom: -20px;

  width: 44px;
  height: 7px;

  background: rgba(255, 255, 255, 0.88);

  border-radius: 5px;

  transform: rotate(48deg);
}


/* ==========================================
   LINK / PARTNERSHIP ICON
========================================== */

.link-icon {
  position: relative;

  width: 210px;
  height: 180px;

  transform: scale(0.65);
  transform-origin: center;
}


/* left link */

.link-part {
  position: absolute;

  width: 84px;
  height: 44px;

  border: 5px solid rgba(255, 255, 255, 0.9);

  border-radius: 50px;

  transform: rotate(-42deg);
}

.link-part--left {
  left: 8px;
  top: 65px;
}

.link-part--right {
  left: 75px;
  top: 37px;

  transform: rotate(-42deg);
}


/* Break between links */

.link-part--left::after,
.link-part--right::after {
  content: "";

  position: absolute;

  width: 20px;
  height: 34px;

  right: -4px;
  top: 0;

  background: #003d32;
}


/* Spark */

.link-spark {
  position: absolute;

  background: #58e99f;

  border-radius: 2px;
}

.link-spark--1 {
  width: 30px;
  height: 4px;

  right: 0;
  top: 86px;
}

.link-spark--2 {
  width: 4px;
  height: 30px;

  right: 28px;
  top: 104px;
}

.link-spark--3 {
  width: 20px;
  height: 4px;

  right: 14px;
  top: 122px;

  transform: rotate(48deg);
}


/* ==========================================
   BOTTOM STATEMENT
========================================== */

.growth-promises__bottom {
  position: absolute;

  left: 20px;
  right: 20px;
  bottom: 30px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 12px;

  color: rgba(255, 255, 255, 0.72);

  font-size: 13px;
  line-height: 1;

  font-weight: 500;

  letter-spacing: 4px;

  white-space: nowrap;
}

.growth-promises__bottom b {
  color: #55e99d;

  font-size: 10px;
}

.growth-promises__bottom-line {
  height: 2px;
  width: 200px;

  background: rgba(255, 255, 255, 0.3);
}

.growth-promises__bottom-line:first-child {
  margin-right: 10px;
}

.growth-promises__bottom-line:last-child {
  margin-left: 10px;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1500px) {

  .growth-promises__title {
    font-size: 50px;
  }

  .growth-promises__background-text {
    font-size: 180px;
  }

  .growth-promises__heading h3 {
    font-size: 21px;
  }

  .growth-promises__content p {
    font-size: 15px;
  }
}


@media (max-width: 1100px) {

  .growth-promises {
    height: auto;
    min-height: 800px;
  }

  .growth-promises__container {
    padding: 60px 40px 45px;
  }

  .growth-promises__location {
    right: 40px;
    top: 60px;
  }

  .growth-promises__title {
    max-width: 800px;
    font-size: 42px;
  }

  .growth-promises__background-text {
    top: 140px;
    font-size: 140px;
  }

  .growth-promises__grid {
    grid-template-columns: 1fr 1fr;
    row-gap: 20px;
    margin-top: 60px;
  }

  .growth-promises__divider {
    display: none;
  }

  .growth-promises__card {
    height: 280px;
  }

  .growth-promises__bottom {
    position: relative;

    left: auto;
    right: auto;
    bottom: auto;

    margin-top: 20px;

    white-space: normal;
    flex-wrap: wrap;
  }
}


@media (max-width: 700px) {

  .growth-promises__container {
    padding: 45px 24px;
  }

  .growth-promises__location {
    position: relative;

    top: auto;
    right: auto;

    width: max-content;

    margin: 25px 0 0;
  }

  .growth-promises__title {
    font-size: 40px;
    line-height: 1.08;
  }

  .growth-promises__eyebrow {
    font-size: 13px;
    letter-spacing: 3px;
  }

  .growth-promises__background-text {
    top: 210px;
    font-size: 90px;
    letter-spacing: -6px;
  }

  .growth-promises__grid {
    grid-template-columns: 1fr;

    margin-top: 55px;
  }

  .growth-promises__card {
    height: auto;
    min-height: 330px;
  }

  .growth-promises__visual {
    height: 210px;
  }

  .growth-promises__heading h3 {
    font-size: 25px;
  }

  .growth-promises__content p {
    font-size: 18px;
    margin-left: 65px;
  }

  .growth-promises__bottom {
    gap: 10px;

    font-size: 10px;
    letter-spacing: 2px;
  }

  .growth-promises__bottom-line {
    display: none;
  }
}

/* ==========================================
   GLOBAL SECTION SPACING
========================================== */

section {
  margin-bottom: 140px;
}

@media (max-width: 1100px) {
  section {
    margin-bottom: 100px;
  }
}

@media (max-width: 700px) {
  section {
    margin-bottom: 70px;
  }
}

/* =========================================================
   FREQUENTLY ASKED QUESTIONS (FAQ)
========================================================= */
.gs-faq-section {
  --faq-green: #00d977;
  --faq-green-dark: #00be68;
  --faq-deep-green: #06271e;
  --faq-dark: #071814;
  --faq-text: #5d6a66;
  --faq-border: #dce7e2;
  --faq-soft: #f3f8f5;
  --faq-white: #ffffff;

  position: relative;
  width: 100%;
  padding: 80px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(0, 217, 119, 0.05), transparent 25%),
    linear-gradient(135deg, #f8fbf9 0%, #ffffff 55%, #f5faf7 100%);
  font-family: "Inter", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.gs-faq-container {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(440px, 1.18fr);
  gap: clamp(30px, 4.5vw, 70px);
  width: min(1300px, calc(100% - 96px));
  max-width: 1300px;
  margin: 0 auto;
}

.gs-faq-intro {
  position: relative;
  align-self: start;
  padding-top: 5px;
}

.gs-faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: var(--faq-green-dark);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
}

.gs-faq-eyebrow::before {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--faq-green);
  content: "";
}

.gs-faq-intro h2 {
  max-width: 530px;
  margin: 0;
  color: var(--faq-deep-green);
  font-size: clamp(26px, 2.3vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.gs-faq-intro > p {
  max-width: 440px;
  margin: 14px 0 0;
  color: var(--faq-text);
  font-size: 14px;
  line-height: 1.6;
}

.gs-faq-contact {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  color: var(--faq-deep-green);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
}

.gs-faq-contact:hover {
  color: var(--faq-green-dark);
}

.gs-faq-contact-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e6f7f0;
  color: var(--faq-green-dark);
}

.gs-faq-contact-icon svg {
  width: 16px;
  height: 16px;
}

.gs-faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gs-faq-item {
  border: 1px solid var(--faq-border);
  border-radius: 12px;
  background: var(--faq-white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.gs-faq-item[open] {
  border-color: var(--faq-green-dark);
  box-shadow: 0 4px 20px rgba(0, 190, 104, 0.08);
}

.gs-faq-summary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--faq-deep-green);
  user-select: none;
}

.gs-faq-summary::-webkit-details-marker {
  display: none;
}

.gs-faq-number {
  font-size: 13px;
  font-weight: 700;
  color: var(--faq-green-dark);
  opacity: 0.8;
}

.gs-faq-question {
  flex: 1;
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.4;
}

.gs-faq-toggle {
  position: relative;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.gs-faq-toggle::before,
.gs-faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--faq-deep-green);
  transition: transform 0.2s ease;
}

.gs-faq-toggle::before {
  width: 12px;
  height: 2px;
  margin-top: -1px;
  margin-left: -6px;
}

.gs-faq-toggle::after {
  width: 2px;
  height: 12px;
  margin-top: -6px;
  margin-left: -1px;
}

.gs-faq-item[open] .gs-faq-toggle::after {
  transform: rotate(90deg);
  opacity: 0;
}

.gs-faq-answer {
  padding: 0 24px 20px 53px;
  color: var(--faq-text);
  font-size: 14.5px;
  line-height: 1.65;
}

.gs-faq-answer p {
  margin: 0;
}

@media (max-width: 900px) {
  .gs-faq-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* =========================================================
   SOFTWARE SERVICES — MOBILE POLISH (SEO & SEM)
   Hero: skyline/side-copy/connecting curve/stage panels removed, compact copy.
   Sections: full-width containers (16px gutters), consistent heading scale.
========================================================= */

@media (max-width: 700px) {

  /* ---------- Hero ---------- */
  .gs-seo-city,
  .gs-seo-side-copy,
  .gs-seo-stage,
  .gs-seo-connection,
  .gs-seo-step {
    display: none !important;
  }

  .gs-seo-hero {
    min-height: 0 !important;
    padding: 28px 16px 36px !important;
  }

  .gs-seo-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .gs-seo-heading {
    text-align: center;
  }

  .gs-seo-eyebrow {
    display: block;
    max-width: 100%;
    margin: 0 auto 12px !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
    line-height: 1.5;
  }

  .gs-seo-heading h1 {
    font-size: clamp(24px, 7.2vw, 32px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.8px !important;
  }

  .gs-seo-title-break,
  .gs-seo-heading h1 br {
    display: none !important;
  }

  .gs-seo-description {
    max-width: 100% !important;
    margin: 14px auto 20px !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    text-align: center;
  }

  .gs-seo-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
  }

  .gs-seo-button {
    display: flex !important;
    width: 100% !important;
    max-width: 340px !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin-inline: auto !important;
    padding: 12px 20px !important;
    justify-content: space-between !important;
    font-size: 13.5px !important;
  }

  .gs-seo-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 18px !important;
    margin-top: 24px !important;
    padding-top: 18px !important;
    list-style: none;
    padding-left: 0;
  }

  .gs-seo-benefits li {
    font-size: 11.5px !important;
    gap: 8px !important;
    display: flex;
    align-items: center;
  }

  /* ---------- Section containers: full width, 16px gutters ---------- */
  .gs-clients__inner,
  .inc-advisory-container,
  .gs-seo__container,
  .gs-sem-container,
  .sem-return-inner,
  .gs-why-container,
  .gs-competitor-container,
  .gs-sectors-container,
  .gs-tech-container,
  .gs-proof-container,
  .inv-container,
  .st-container,
  .gsk-container,
  .seo-audit-container,
  .growth-promises__container,
  .gs-faq-container {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  /* ---------- Consistent section headings ---------- */
  .gs-clients h2,
  .inc-advisory h2,
  .gs-seo h2,
  .gs-sem h2,
  .gs-audit-section h2,
  .gs-why h2,
  .gs-competitor h2,
  .gss-process h2,
  .gs-sectors h2,
  .gs-tech h2,
  .gs-proof h2,
  .gs-investment h2,
  .gs-search-timeline h2,
  .gs-kpis h2,
  .gs-audience h2,
  .seo-audit-section h2,
  .growth-promises h2,
  .gs-faq-section h2 {
    font-size: clamp(24px, 6.8vw, 32px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.8px !important;
  }

  .gs-clients h2 br,
  .inc-advisory h2 br,
  .gs-seo h2 br,
  .gs-sem h2 br,
  .gs-audit-section h2 br,
  .gs-why h2 br,
  .gs-competitor h2 br,
  .gss-process h2 br,
  .gs-sectors h2 br,
  .gs-tech h2 br,
  .gs-proof h2 br,
  .gs-investment h2 br,
  .gs-search-timeline h2 br,
  .gs-kpis h2 br,
  .gs-audience h2 br,
  .seo-audit-section h2 br,
  .growth-promises h2 br,
  .gs-faq-section h2 br {
    display: none;
  }

  .gs-seo-hero,
  .gs-clients,
  .inc-advisory,
  .gs-seo,
  .gs-sem,
  .gs-audit-section,
  .gs-why,
  .gs-competitor,
  .gss-process,
  .gs-sectors,
  .gs-tech,
  .gs-proof,
  .gs-investment,
  .gs-search-timeline,
  .gs-kpis,
  .gs-audience,
  .seo-audit-section,
  .growth-promises,
  .gs-faq-section {
    overflow-x: clip;
  }
}

@media (max-width: 390px) {
  .gs-clients__inner,
  .inc-advisory-container,
  .gs-seo__container,
  .gs-sem-container,
  .sem-return-inner,
  .gs-why-container,
  .gs-competitor-container,
  .gs-sectors-container,
  .gs-tech-container,
  .gs-proof-container,
  .inv-container,
  .st-container,
  .gsk-container,
  .seo-audit-container,
  .growth-promises__container,
  .gs-faq-container {
    width: calc(100% - 24px) !important;
  }
}