/* All styles are scoped to this section. */
.gs-svg-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.gs-marketing-hero {
  --gs-green: #00c85c;
  --gs-ink: #0b1820;
  --gs-muted: #6d7985;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 95px 0 10px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--gs-ink);
  background:
    radial-gradient(ellipse at 50% 65%, #dcfaec99, transparent 57%),
    linear-gradient(180deg, #fff 0%, #fcfefd 76%, #fff 100%);
  font-family: "Inter", sans-serif;
}

.gs-marketing-hero *,
.gs-marketing-hero *::before,
.gs-marketing-hero *::after {
  box-sizing: border-box;
}

.gs-marketing-hero .gs-icon {
  display: block;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-marketing-container {
  width: min(1280px, calc(100% - 80px));
  margin-inline: auto;
  position: relative;
}

.gs-city {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #cfdddf;
  opacity: .38;
  pointer-events: none;
}

.gs-marketing-intro {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin-inline: auto;
  text-align: center;
}

.gs-marketing-eyebrow {
  margin: 0 0 18px;
  color: var(--gs-green);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .27em;
  text-transform: uppercase;
}

.gs-marketing-intro h1 {
  margin: 0;
  font-size: clamp(32px, 3.2vw, 46px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.045em;
}

.gs-marketing-intro h1 span {
  color: var(--gs-green);
}

.gs-marketing-description {
  max-width: 800px;
  margin: 15px auto 0;
  color: var(--gs-muted);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: -.015em;
}

.gs-marketing-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 20px;
}

.gs-marketing-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 25px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: background .2s, box-shadow .2s, transform .2s;
}

.gs-marketing-button .gs-icon {
  width: 19px;
  height: 19px;
}

.gs-marketing-button-primary {
  background: var(--gs-green);
  color: #fff;
  box-shadow: 0 3px 8px #00c85c16;
}

.gs-marketing-button-primary:hover {
  background: #00ad50;
  transform: translateY(-2px);
}

.gs-marketing-button-secondary {
  color: #263947;
  border-color: #aab7bf;
  background: #ffffffb3;
  box-shadow: inset 0 0 0 1px #d5dde2;
}

.gs-marketing-button-secondary:hover {
  background: #f0fbf5;
}

.gs-marketing-button:focus-visible {
  outline: 3px solid #087a43;
  outline-offset: 4px;
}

/* Illustration area */
.gs-growth-visual {
  position: relative;
  margin-top: 25px;
  padding: 0 90px 52px;
}

@media (min-width: 1201px) {
  .gs-growth-visual {
    transform: scale(0.72);
    transform-origin: top center;
    margin-bottom: -110px;
  }
}

.gs-growth-panels {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1.58fr 1fr;
  align-items: start;
  gap: 68px;
}

.gs-growth-stage {
  min-width: 0;
  perspective: 1100px;
}

.gs-stage-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 0 0 17px;
  color: #284153;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.gs-stage-label>span {
  color: var(--gs-green);
  letter-spacing: 0;
}

.gs-growth-panel {
  position: relative;
  padding: 20px 14px 17px;
  border: 1.5px solid #aebdc2;
  border-radius: 15px;
  background: linear-gradient(135deg, #fffffffa, #fbfdfdf2);
  box-shadow:
    -5px 2px 0 #8fa3a6,
    -7px 2px 0 #d7e1e0,
    0 10px 16px #163f3010;
}

.gs-growth-panel h2 {
  margin: 0 0 18px 6px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.gs-stage-plan .gs-growth-panel {
  transform: rotateY(12deg) rotateZ(.6deg);
  transform-origin: center;
}

.gs-stage-activate .gs-growth-panel {
  min-height: 321px;
  padding: 24px 23px;
  transform: rotateY(5deg) rotateZ(.6deg);
}

.gs-stage-grow .gs-growth-panel {
  transform: rotateY(-12deg) rotateZ(-.6deg);
}

.gs-panel-row {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 62px;
  padding: 8px;
  margin-top: 6px;
  border: 1px solid #edf1f2;
  border-radius: 9px;
  background: #ffffffb8;
  box-shadow: 0 1px 2px #263b4203;
}

.gs-icon-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
  color: var(--gs-green);
  background: #e9fcf2;
  border-radius: 7px;
}

.gs-row-copy {
  flex: 1;
  min-width: 0;
}

.gs-row-copy h3 {
  margin: 0 0 7px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.gs-skeleton {
  display: block;
  width: 100%;
  max-width: 105px;
  height: 5px;
  margin-top: 5px;
  border-radius: 10px;
  background: #dde3e5;
}

.gs-skeleton-short {
  width: 65%;
}

.gs-row-chevron {
  align-self: center;
  color: #627785;
  font-size: 21px;
  line-height: 1;
}

/* Middle panel */
.gs-campaign-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  align-items: center;
  gap: 15px;
}

.gs-channel-map {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 39px 22px;
  padding: 10px 0;
}

.gs-map-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #9fb0b7;
  stroke-width: 1.5;
}

.gs-map-lines circle {
  fill: var(--gs-green);
  stroke: var(--gs-green);
}

.gs-map-lines .gs-map-dot {
  fill: #fff;
  stroke: #fff;
}

.gs-channel {
  position: relative;
  z-index: 1;
  min-height: 73px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 8px 4px;
  border: 1.5px solid #e5ecee;
  border-radius: 8px;
  background: #fff;
}

.gs-channel .gs-icon {
  width: 25px;
  height: 25px;
  color: var(--gs-green);
}

.gs-channel span {
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.gs-campaign-tools {
  display: grid;
  gap: 7px;
}

.gs-campaign-tools .gs-panel-row {
  gap: 7px;
  min-height: 68px;
  margin: 0;
  padding: 7px;
}

.gs-campaign-tools .gs-icon-tile {
  width: 35px;
  height: 35px;
  flex-basis: 35px;
}

.gs-campaign-tools .gs-icon {
  width: 25px;
  height: 25px;
}

.gs-campaign-tools h3 {
  font-size: 9px;
}

.gs-growth-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 37px;
  margin-top: 8px;
  padding: 7px;
  border-radius: 7px;
  color: #00ad50;
  background: #e1fbee;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.gs-growth-status>span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--gs-green);
  color: #fff;
  font-size: 13px;
}

/* Curve and annotation text */
.gs-growth-line {
  position: absolute;
  z-index: 0;
  top: 45px;
  left: 0;
  width: 100%;
  height: 315px;
  overflow: visible;
  fill: none;
  pointer-events: none;
}

.gs-line-green {
  stroke: var(--gs-green);
  stroke-width: 2.5;
}

.gs-line-lead {
  stroke: #93a7b2;
  stroke-width: 1.5;
}

.gs-line-node circle {
  fill: #fff;
  stroke: var(--gs-green);
  stroke-width: 2.5;
}

.gs-side-caption {
  position: absolute;
  top: -100px;
  margin: 0;
  color: #c2ccd0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .27em;
  line-height: 1.9;
  text-transform: uppercase;
}

.gs-side-caption-left {
  left: -55px;
}

.gs-side-caption-right {
  right: -55px;
}

.gs-hand-note,
.gs-panel-annotations {
  color: #607580;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.35;
}

.gs-hand-note {
  position: absolute;
  top: 105px;
  z-index: 1;
  margin: 0;
  text-align: center;
  transform: rotate(-9deg);
}

.gs-note-left {
  left: -54px;
}

.gs-note-right {
  right: -64px;
}

.gs-hand-note>span {
  display: inline-block;
  font-size: 34px;
}

.gs-panel-annotations {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 16px -8px 0;
  transform: rotate(-5deg);
  font-size: 12px;
}

/* Bottom strip */
.gs-marketing-capabilities {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 29px;
  margin: 0;
  padding: 19px 0 0;
  list-style: none;
  border-top: 1px solid #eaf0ee;
}

.gs-marketing-capabilities li {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #385062;
  font-size: 14px;
  font-weight: 500;
}

.gs-marketing-capabilities li+li::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 14px;
  border-radius: 50%;
  background: #263c49;
}

.gs-marketing-capabilities .gs-icon {
  width: 31px;
  height: 31px;
  color: var(--gs-green);
}

/* Laptop and smaller desktop */
@media (max-width: 1200px) {
  .gs-marketing-container {
    width: calc(100% - 56px);
  }

  .gs-growth-visual {
    padding-inline: 35px;
  }

  .gs-growth-panels {
    gap: 35px;
  }

  .gs-side-caption,
  .gs-hand-note {
    display: none;
  }

  .gs-marketing-capabilities {
    gap: 20px;
  }

  .gs-marketing-capabilities li {
    gap: 10px;
    font-size: 12px;
  }
}

/* Tablet */
@media (max-width: 960px) {
  .gs-marketing-hero {
    padding-top: 45px;
  }

  .gs-marketing-description {
    max-width: 690px;
    font-size: 14px;
  }

  .gs-growth-visual {
    padding-inline: 0;
  }

  .gs-growth-panels {
    gap: 20px;
    grid-template-columns: 1fr 1.35fr 1fr;
  }

  .gs-growth-panel {
    padding: 16px 9px;
  }

  .gs-growth-panel h2 {
    font-size: 16px;
  }

  .gs-stage-activate .gs-growth-panel {
    min-height: 0;
    padding: 19px 12px;
  }

  .gs-campaign-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .gs-channel-map {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    padding: 0;
  }

  .gs-channel {
    min-height: 57px;
    gap: 6px;
  }

  .gs-channel span {
    font-size: 8px;
  }

  .gs-channel .gs-icon {
    width: 20px;
    height: 20px;
  }

  .gs-map-lines {
    display: none;
  }

  .gs-campaign-tools {
    gap: 6px;
  }

  .gs-campaign-tools .gs-panel-row {
    min-height: 57px;
  }

  .gs-panel-row {
    gap: 7px;
    padding: 6px;
  }

  .gs-icon-tile {
    width: 32px;
    height: 36px;
    flex-basis: 32px;
  }

  .gs-icon-tile .gs-icon {
    width: 24px;
    height: 24px;
  }

  .gs-row-copy h3 {
    font-size: 9px;
  }

  .gs-growth-status {
    font-size: 8px;
    gap: 5px;
  }

  .gs-panel-annotations {
    font-size: 10px;
  }

  .gs-marketing-capabilities {
    gap: 18px;
  }

  .gs-marketing-capabilities li+li::before {
    margin-right: 4px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .gs-marketing-hero {
    padding: 36px 0 28px;
  }

  .gs-marketing-container {
    width: calc(100% - 36px);
  }

  .gs-marketing-eyebrow {
    margin-bottom: 14px;
    font-size: 9px;
    letter-spacing: .2em;
  }

  .gs-marketing-intro h1 {
    font-size: clamp(29px, 7.7vw, 42px);
    line-height: 1.13;
    letter-spacing: -.045em;
  }

  .gs-desktop-break {
    display: none;
  }

  .gs-marketing-description {
    margin-top: 17px;
    font-size: 13px;
    line-height: 1.7;
  }

  .gs-marketing-actions {
    gap: 10px;
    margin-top: 22px;
  }

  .gs-marketing-button {
    width: 100%;
    max-width: 330px;
    min-height: 46px;
  }

  .gs-growth-visual {
    margin-top: 35px;
    padding: 0 12px 30px;
  }

  .gs-growth-panels {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: 370px;
    margin-inline: auto;
  }

  .gs-stage-label {
    margin-bottom: 12px;
    font-size: 13px;
  }

  .gs-growth-stage .gs-growth-panel {
    transform: none;
    padding: 20px 16px;
    box-shadow:
      -4px 2px 0 #9cafb1,
      0 8px 16px #163f300c;
  }

  .gs-growth-panel h2 {
    margin-bottom: 15px;
    font-size: 20px;
  }

  .gs-panel-row {
    min-height: 65px;
    gap: 13px;
    padding: 8px 10px;
  }

  .gs-icon-tile {
    width: 43px;
    height: 43px;
    flex-basis: 43px;
  }

  .gs-icon-tile .gs-icon {
    width: 28px;
    height: 28px;
  }

  .gs-row-copy h3 {
    font-size: 12px;
    letter-spacing: -.02em;
  }

  .gs-skeleton {
    max-width: 150px;
  }

  .gs-campaign-layout {
    grid-template-columns: 1fr 1.15fr;
    gap: 14px;
  }

  .gs-channel-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 12px;
    padding: 10px 0;
  }

  .gs-map-lines {
    display: block;
  }

  .gs-channel {
    min-height: 72px;
  }

  .gs-channel span {
    font-size: 9px;
  }

  .gs-channel .gs-icon {
    width: 25px;
    height: 25px;
  }

  .gs-campaign-tools .gs-panel-row {
    gap: 6px;
    min-height: 69px;
    padding: 6px;
  }

  .gs-campaign-tools h3 {
    font-size: 9px;
  }

  .gs-growth-status {
    min-height: 40px;
    font-size: 10px;
    gap: 10px;
  }

  .gs-growth-line,
  .gs-panel-annotations {
    display: none;
  }

  .gs-city {
    opacity: .25;
  }

  .gs-marketing-capabilities {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 12px;
    padding-top: 24px;
  }

  .gs-marketing-capabilities li {
    gap: 9px;
    font-size: 10px;
  }

  .gs-marketing-capabilities .gs-icon {
    width: 26px;
    height: 26px;
  }

  .gs-marketing-capabilities li+li::before {
    content: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-marketing-button {
    transition: none;
  }
}

.gs-engineered {
  --ge-ink: #132a23;
  --ge-green: #07874f;
  --ge-bright: #23c779;
  --ge-muted: #68736e;
  --ge-purple: #7764b8;
  --ge-border: #e2e8e1;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 96px 0 35px;
  color: var(--ge-ink);
  background:
    radial-gradient(ellipse at 90% 18%,
      rgba(224, 216, 250, .42),
      transparent 43%),
    radial-gradient(ellipse at 5% 85%,
      rgba(220, 241, 226, .4),
      transparent 40%),
    #fcfcf8;
  font-family: "Inter", sans-serif;
}

.gs-engineered *,
.gs-engineered *::before,
.gs-engineered *::after {
  box-sizing: border-box;
}

.gs-engineered-container {
  width: min(1200px, calc(100% - 80px));
  margin-inline: auto;
}

.gs-engineered-grid {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  align-items: center;
  gap: 76px;
}

/* LEFT CONTENT */
.gs-engineered-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 23px;
  color: var(--ge-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.gs-engineered-eyebrow>span {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 2px;
  background: var(--ge-bright);
}

.gs-engineered-content h2 {
  max-width: 570px;
  margin: 0;
  font-size: clamp(34px, 3.5vw, 49px);
  font-weight: 600;
  line-height: 1.13;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.gs-engineered-content h2>span {
  color: var(--ge-green);
}

.gs-engineered-copy {
  max-width: 530px;
  margin-top: 27px;
}

.gs-engineered-copy p {
  margin: 0;
  color: var(--ge-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -.012em;
}

.gs-engineered-copy p+p {
  margin-top: 16px;
}

.gs-engineered-copy strong {
  color: var(--ge-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #91d6ae;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.gs-engineered-principle {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 27px;
  color: #425b4c;
  font-size: 12px;
  font-weight: 500;
}

.gs-principle-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #d7e7da;
  border-radius: 50%;
  color: var(--ge-green);
  background: #eef6ee;
  font-size: 18px;
}

/* RIGHT SYSTEM PANEL */
.gs-system-visual {
  position: relative;
  min-width: 0;
  padding: 24px;
  border: 1px solid #e3e5e2;
  border-radius: 24px;
  background:
    radial-gradient(ellipse at 100% 0,
      #ede8fa 0,
      transparent 55%),
    linear-gradient(145deg, #fff 25%, #f6f8f2);
  box-shadow:
    0 20px 60px rgba(33, 48, 36, .045),
    inset 0 1px 0 #fff;
}

/* Small floating decorative shape */
.gs-system-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -24px;
  right: -22px;
  width: 110px;
  height: 110px;
  border: 1px solid #d9d0ed;
  border-radius: 28px;
  transform: rotate(12deg);
  opacity: .55;
}

.gs-system-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.gs-system-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #345345;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -.03em;
}

.gs-brand-mark {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 17px;
}

.gs-brand-mark i {
  width: 4px;
  height: 8px;
  border-radius: 2px;
  background: var(--ge-green);
}

.gs-brand-mark i:nth-child(2) {
  height: 12px;
}

.gs-brand-mark i:nth-child(3) {
  height: 17px;
}

.gs-system-live {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #7d817d;
  font-size: 9px;
  white-space: nowrap;
}

.gs-system-live i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ge-bright);
  box-shadow: 0 0 0 3px #23c77912;
}

.gs-system-heading {
  margin: 31px 0 23px;
}

.gs-system-kicker {
  display: block;
  color: #8a7ca5;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.gs-system-heading h3 {
  margin: 10px 0 0;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.05em;
}

/* MARKETING AND ENGINEERING LAYERS */
.gs-system-layer {
  position: relative;
  z-index: 2;
  padding: 15px;
  border-radius: 14px;
}

.gs-marketing-layer {
  border: 1px solid #e1dbee;
  background: #f3effb;
}

.gs-layer-header {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  margin-bottom: 13px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: -.01em;
}

.gs-marketing-layer .gs-layer-header {
  color: #625185;
}

.gs-layer-dot {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #9a87c9;
}

.gs-layer-tag {
  margin-left: auto;
  color: #9a8bac;
  font-size: 8px;
  font-weight: 400;
}

.gs-marketing-nodes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.gs-system-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  min-height: 78px;
  padding: 12px 4px;
  border: 1px solid #e8e2f1;
  border-radius: 9px;
  color: #6e5a97;
  background: #ffffffd9;
}

.gs-system-node svg,
.gs-output-icon svg {
  display: block;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-system-node>span {
  color: #4f485a;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}

/* Visible connections between layers */
.gs-system-bridge {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: 43px;
  margin-inline: 20px;
}

.gs-system-bridge>span {
  position: relative;
  width: 1px;
  height: 100%;
  justify-self: center;
  background: linear-gradient(#c4b4e2, #92c8a8);
}

.gs-system-bridge>span::before,
.gs-system-bridge>span::after {
  content: "";
  position: absolute;
  left: -2px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.gs-system-bridge>span::before {
  top: 0;
  background: #b9a7d7;
}

.gs-system-bridge>span::after {
  bottom: 0;
  background: #67aa85;
}

.gs-bridge-label {
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 4px 10px;
  border: 1px solid #e8eae2;
  border-radius: 20px;
  color: #849086;
  background: #fafbf7;
  font-size: 8px;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}

.gs-engineering-layer {
  border: 1px solid #284d3d;
  background: #173e2e;
}

.gs-engineering-layer .gs-layer-header {
  color: #d7e9df;
}

.gs-engineering-layer .gs-layer-dot {
  background: #66d99a;
}

.gs-engineering-nodes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.gs-engineering-layer .gs-system-node {
  min-height: 72px;
  border-color: #ffffff14;
  color: #a6dfba;
  background: #ffffff09;
}

.gs-engineering-layer .gs-system-node>span {
  color: #e3eee7;
  font-size: 9px;
}

/* ONE SHARED OUTPUT */
.gs-output-connector {
  position: relative;
  width: 1px;
  height: 27px;
  margin-inline: auto;
  background: #a3c5ac;
}

.gs-output-connector::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -3px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #80ad8d;
  border-bottom: 1px solid #80ad8d;
  transform: rotate(45deg);
}

.gs-system-output {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #dce7d5;
  border-radius: 12px;
  background: #f0f5e9;
}

.gs-output-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 1px solid #d6e4cc;
  border-radius: 10px;
  color: #438055;
  background: #fff;
}

.gs-output-copy {
  min-width: 0;
}

.gs-output-kicker {
  display: block;
  margin-bottom: 5px;
  color: #829074;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.gs-output-copy strong {
  display: block;
  color: #355139;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.gs-output-check {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  margin-left: auto;
  border-radius: 50%;
  color: #fff;
  background: #62a676;
  font-size: 12px;
}

.gs-system-footnote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 15px;
  color: #929a91;
  font-size: 9px;
}

.gs-footnote-dots {
  display: flex;
  gap: 3px;
}

.gs-footnote-dots i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #b4c5b2;
}

.gs-footnote-dots i:nth-child(2) {
  background: #99b296;
}

.gs-footnote-dots i:nth-child(3) {
  background: #739f73;
}

/* BOTTOM PROCESS STRIP */
.gs-engineered-footer {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 65px;
}

.gs-footer-rule {
  flex: 1;
  height: 1px;
  background: #dce3db;
}

.gs-engineered-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.gs-engineered-steps>span {
  color: #879185;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gs-engineered-steps>i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #98ad97;
}

/* LAPTOP */
@media (max-width: 1100px) {
  .gs-engineered {
    padding-top: 75px;
  }

  .gs-engineered-grid {
    gap: 40px;
  }

  .gs-engineered-content h2 {
    font-size: 39px;
  }

  .gs-engineered-copy p {
    font-size: 13px;
  }

  .gs-system-visual {
    padding: 20px;
  }

  .gs-layer-tag {
    display: none;
  }
}

/* TABLET */
@media (max-width: 850px) {
  .gs-engineered-container {
    width: calc(100% - 48px);
    max-width: 650px;
  }

  .gs-engineered-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .gs-engineered-content h2 {
    max-width: 620px;
    font-size: clamp(36px, 5.5vw, 45px);
  }

  .gs-engineered-copy {
    max-width: none;
  }

  .gs-engineered-copy p {
    font-size: 14px;
  }

  .gs-system-visual {
    width: 100%;
    max-width: 540px;
    margin-inline: auto;
    padding: 26px;
  }

  .gs-system-node>span {
    font-size: 9px;
  }

  .gs-layer-tag {
    display: inline;
  }

  .gs-engineered-footer {
    margin-top: 42px;
  }
}

/* MOBILE */
@media (max-width: 540px) {
  .gs-engineered {
    padding: 52px 0 26px;
  }

  .gs-engineered-container {
    width: calc(100% - 36px);
  }

  .gs-engineered-eyebrow {
    margin-bottom: 18px;
    font-size: 9px;
    letter-spacing: .16em;
  }

  .gs-engineered-content h2 {
    font-size: clamp(31px, 8.4vw, 40px);
    line-height: 1.15;
    letter-spacing: -.05em;
  }

  .gs-engineered-copy {
    margin-top: 23px;
  }

  .gs-engineered-copy p {
    font-size: 13px;
    line-height: 1.85;
  }

  .gs-engineered-principle {
    margin-top: 22px;
    font-size: 11px;
  }

  .gs-engineered-grid {
    gap: 32px;
  }

  .gs-system-visual {
    padding: 17px;
    border-radius: 19px;
  }

  .gs-system-brand {
    font-size: 11px;
  }

  .gs-system-live {
    gap: 5px;
    font-size: 7px;
  }

  .gs-system-heading {
    margin: 25px 0 20px;
  }

  .gs-system-heading h3 {
    font-size: 26px;
  }

  .gs-system-kicker {
    font-size: 8px;
  }

  .gs-system-layer {
    padding: 12px;
  }

  .gs-layer-header {
    font-size: 9px;
  }

  .gs-layer-tag {
    display: none;
  }

  .gs-marketing-nodes {
    gap: 5px;
  }

  .gs-system-node {
    min-height: 73px;
    gap: 9px;
    padding: 10px 3px;
  }

  .gs-system-node>span {
    font-size: 7px;
  }

  .gs-system-node svg {
    width: 21px;
    height: 21px;
  }

  .gs-engineering-nodes {
    gap: 7px;
  }

  .gs-engineering-layer .gs-system-node>span {
    font-size: 8px;
  }

  .gs-system-output {
    gap: 9px;
    padding: 11px;
  }

  .gs-output-copy strong {
    font-size: 11px;
  }

  .gs-output-kicker {
    font-size: 7px;
  }

  .gs-output-icon {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
  }

  .gs-engineered-footer {
    gap: 12px;
    margin-top: 34px;
  }

  .gs-engineered-steps {
    gap: 9px;
  }

  .gs-engineered-steps>span {
    font-size: 7px;
    letter-spacing: .1em;
  }
}

.gs-services {
  --gss-ink: #102f27;
  --gss-green: #087955;
  --gss-muted: #65706c;

  position: relative;
  isolation: isolate;
  padding: 44px 0;
  color: var(--gss-ink);
  background:
    radial-gradient(ellipse at 100% 0,
      rgba(232, 224, 250, .45),
      transparent 42%),
    #fdfdfb;
  font-family: "Inter", sans-serif;
}

.gs-services *,
.gs-services *::before,
.gs-services *::after {
  box-sizing: border-box;
}

.gs-services-container {
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

/* Compact side-by-side section header */
.gs-services-header {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  align-items: end;
  gap: 55px;
  margin-bottom: 25px;
}

.gs-services-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  color: var(--gss-green);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.gs-services-eyebrow>span {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  background: var(--gss-green);
}

.gs-services-heading h2 {
  margin: 0;
  font-size: clamp(27px, 2.55vw, 38px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.gs-services-heading h2>span {
  display: block;
}

.gs-services-intro {
  max-width: 440px;
  margin: 0 0 2px auto;
  color: var(--gss-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* Six-column grid:
   top cards occupy 2 columns;
   bottom cards occupy 3 columns. */
.gs-services-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.gs-service-card {
  grid-column: span 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border: 1px solid #e1e6e2;
  border-radius: 16px;
  background: #fff;
}

.gs-service-seo {
  border-color: #d0e8dc;
  background: linear-gradient(135deg, #f0f9f4, #f7fbf8);
}

.gs-service-ppc {
  border-color: #ded6ef;
  background: linear-gradient(135deg, #f3eefb, #f8f5fc);
}

.gs-service-social {
  border-color: #e0e6e3;
  background: #fff;
}

.gs-service-content {
  border-color: #e8e2d6;
  background: linear-gradient(135deg, #fcf9f2, #fdfbf7);
}

/* Icon and title on one line to save height */
.gs-service-top {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}

.gs-service-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  color: var(--gss-green);
}

.gs-service-icon svg {
  display: block;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-service-ppc .gs-service-icon {
  color: #7961ae;
}

.gs-service-content .gs-service-icon {
  color: #8a7855;
}

.gs-service-top h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.gs-service-description {
  margin: 0;
  color: #65706c;
  font-size: 12px;
  line-height: 1.65;
  letter-spacing: -.01em;
}

/* Compact service lists */
.gs-service-list {
  display: grid;
  align-content: start;
  gap: 8px;
  margin: 16px 0 18px;
  padding: 0;
  list-style: none;
}

.gs-service-list li {
  position: relative;
  padding-left: 23px;
  color: #58655f;
  font-size: 11.5px;
  line-height: 1.5;
  letter-spacing: -.01em;
}

.gs-service-list li::before {
  content: "✓";
  position: absolute;
  top: 2px;
  left: 0;
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  color: #fff;
  background: var(--gss-green);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
}

.gs-service-note {
  margin: 0 0 13px;
  color: #859089;
  font-size: 10px;
  line-height: 1.55;
}

.gs-service-note a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #b9cabe;
  text-underline-offset: 2px;
}

/* Links stay aligned at the bottom of each row */
.gs-service-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #102f2714;
  color: var(--gss-green);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.gs-service-link>span {
  font-size: 19px;
  line-height: 1;
  transition: transform .2s ease;
}

.gs-service-link:hover>span {
  transform: translate(2px, -2px);
}

.gs-service-link:focus-visible,
.gs-service-note a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-radius: 2px;
}

/* Wide bottom cards use internal columns */
.gs-service-wide {
  grid-column: span 3;
}

.gs-service-wide-layout {
  display: grid;
  grid-template-columns: 1fr 1.12fr;
  align-items: start;
  gap: 24px;
  margin-bottom: 17px;
}

.gs-service-wide .gs-service-list {
  gap: 8px;
  margin: 2px 0 0;
}

.gs-service-wide .gs-service-top {
  align-items: flex-start;
  gap: 9px;
}

.gs-service-wide .gs-service-top h3 {
  padding-top: 4px;
  font-size: 18px;
}

/* Forest-green strategy card */
.gs-service-strategy {
  border-color: #134d38;
  background: linear-gradient(120deg, #124c38, #0d382b);
}

.gs-service-strategy .gs-service-top h3 {
  color: #fff;
}

.gs-service-strategy .gs-service-icon {
  color: #a1e8bf;
}

.gs-service-strategy .gs-service-description,
.gs-service-strategy .gs-service-list li {
  color: #d0e1d8;
}

.gs-service-strategy .gs-service-list li::before {
  color: #16472f;
  background: #a0edbd;
}

.gs-service-strategy .gs-service-link {
  color: #fff;
  border-color: #ffffff26;
}

/* Large desktop: keep typography comfortably readable */
@media (min-width: 1500px) {
  .gs-service-description {
    font-size: 13px;
  }

  .gs-service-list li {
    font-size: 12px;
  }

  .gs-service-note {
    font-size: 10.5px;
  }
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-services-container {
    width: calc(100% - 48px);
  }

  .gs-services-header {
    gap: 30px;
  }

  .gs-service-card {
    padding: 18px;
  }

  .gs-service-top {
    gap: 8px;
  }

  .gs-service-top h3 {
    font-size: 17px;
  }

  .gs-service-wide-layout {
    gap: 16px;
  }
}

/* Tablet: two-column cards */
@media (max-width: 980px) {
  .gs-services {
    padding: 40px 0;
  }

  .gs-services-header {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 24px;
  }

  .gs-services-heading h2 {
    max-width: 760px;
    font-size: 32px;
  }

  .gs-services-intro {
    max-width: 680px;
    margin-left: 0;
  }

  .gs-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gs-service-card,
  .gs-service-wide {
    grid-column: span 1;
    padding: 22px;
  }

  .gs-service-wide-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .gs-service-strategy {
    grid-column: 1 / -1;
  }

  .gs-service-strategy .gs-service-wide-layout {
    grid-template-columns: 1fr 1.1fr;
    gap: 30px;
  }

  .gs-service-description {
    font-size: 13px;
  }

  .gs-service-list li {
    font-size: 12px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .gs-services {
    padding: 35px 0;
  }

  .gs-services-container {
    width: calc(100% - 32px);
  }

  .gs-services-eyebrow {
    font-size: 9px;
  }

  .gs-services-heading h2 {
    font-size: clamp(27px, 7vw, 32px);
    line-height: 1.18;
  }

  .gs-services-heading h2>span {
    display: inline;
  }

  .gs-services-intro {
    font-size: 12px;
    line-height: 1.7;
  }

  .gs-services-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .gs-service-card,
  .gs-service-wide,
  .gs-service-strategy {
    grid-column: auto;
    padding: 21px;
    border-radius: 14px;
  }

  .gs-service-top h3,
  .gs-service-wide .gs-service-top h3 {
    font-size: 19px;
  }

  .gs-service-strategy .gs-service-wide-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .gs-service-list {
    margin-top: 15px;
  }

  .gs-service-link {
    font-size: 12px;
  }

  .gs-service-note {
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-service-link>span {
    transition: none;
  }
}

.gs-goal-cta {
  --gg-ink: #0b211b;
  --gg-muted: #536b63;
  --gg-green: #0aca79;

  padding: 38px 0;
  color: var(--gg-ink);
  background:
    radial-gradient(ellipse at 65% 65%,
      rgba(231, 247, 237, .22),
      transparent 60%),
    #fcfdfb;
  font-family: "Inter", sans-serif;
}

.gs-goal-cta *,
.gs-goal-cta *::before,
.gs-goal-cta *::after {
  box-sizing: border-box;
}

/* Thin horizontal reference borders */
.gs-goal-container {
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
  padding: 46px 30px 40px;
  border-top: 1px solid #9eb4aa;
  border-bottom: 1px solid #9eb4aa;
}

.gs-goal-layout {
  display: grid;
  grid-template-columns: .9fr 1.5fr;
  align-items: center;
  gap: 44px;
}

.gs-goal-content {
  min-width: 0;
}

.gs-goal-eyebrow {
  margin: 0 0 23px;
  color: var(--gg-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .23em;
  text-transform: uppercase;
}

.gs-goal-content h2 {
  margin: 0;
  font-size: clamp(36px, 3.6vw, 54px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.055em;
}

.gs-goal-description {
  max-width: 465px;
  margin: 25px 0 0;
  color: var(--gg-muted);
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -.025em;
}

.gs-goal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-height: 54px;
  margin-top: 28px;
  padding: 15px 27px;
  border: 1px solid #0aca79;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(110deg, #0dcd83, #04c575);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.015em;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.gs-goal-button svg {
  display: block;
  width: 25px;
  height: 25px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

.gs-goal-button:hover {
  background: #00b86a;
}

.gs-goal-button:hover svg {
  transform: translateX(4px);
}

.gs-goal-button:focus-visible {
  outline: 3px solid #175a40;
  outline-offset: 5px;
}

/* SVG scales as a complete illustration */
.gs-goal-visual {
  min-width: 0;
}

.gs-goal-diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.gs-goal-diagram text {
  font-family: "Inter", sans-serif;
}

.gs-svg-overline {
  fill: #78958a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
}

.gs-svg-label {
  fill: #245b47;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
}

.gs-svg-small {
  fill: #245b47;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-goal-container {
    width: calc(100% - 56px);
    padding-inline: 20px;
  }

  .gs-goal-layout {
    grid-template-columns: 1fr 1.4fr;
    gap: 28px;
  }

  .gs-goal-content h2 {
    font-size: 42px;
  }

  .gs-goal-eyebrow {
    font-size: 10px;
    letter-spacing: .18em;
  }

  .gs-goal-description {
    font-size: 15px;
  }

  .gs-goal-button {
    gap: 20px;
    font-size: 14px;
    padding-inline: 22px;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .gs-goal-container {
    padding: 35px 15px 25px;
  }

  .gs-goal-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .gs-goal-content {
    max-width: 610px;
  }

  .gs-goal-content h2 {
    font-size: clamp(38px, 5.4vw, 48px);
  }

  .gs-goal-description {
    max-width: 560px;
    margin-top: 20px;
    font-size: 16px;
  }

  .gs-goal-button {
    margin-top: 24px;
  }

  .gs-goal-visual {
    width: 100%;
    max-width: 740px;
    margin-inline: auto;
  }
}

/* Mobile: larger SVG labels and less surrounding space */
@media (max-width: 540px) {
  .gs-goal-cta {
    padding: 24px 0;
  }

  .gs-goal-container {
    width: calc(100% - 32px);
    padding: 29px 0 18px;
  }

  .gs-goal-layout {
    gap: 28px;
  }

  .gs-goal-eyebrow {
    margin-bottom: 17px;
    font-size: 9px;
    letter-spacing: .18em;
  }

  .gs-goal-content h2 {
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1.12;
  }

  .gs-goal-description {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.7;
  }

  .gs-goal-button {
    min-height: 49px;
    margin-top: 22px;
    padding: 13px 21px;
    font-size: 13px;
  }

  .gs-goal-button svg {
    width: 22px;
    height: 22px;
  }

  .gs-svg-overline {
    font-size: 15px;
    letter-spacing: 1.4px;
  }

  .gs-svg-label {
    font-size: 15px;
    letter-spacing: .6px;
  }

  .gs-svg-small {
    font-size: 12px;
    letter-spacing: .5px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .gs-goal-button,
  .gs-goal-button svg {
    transition: none;
  }
}

.gs-why-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.gs-why {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 42px 0 54px;
  color: #10251d;
  background: #fcfdfb;
  font-family: "Inter", sans-serif;
}

.gs-why *,
.gs-why *::before,
.gs-why *::after {
  box-sizing: border-box;
}

.gs-why-container {
  position: relative;
  z-index: 1;
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

.gs-why-eyebrow {
  margin: 0 0 12px;
  color: #12bd74;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gs-why-header h2 {
  margin: 0;
  font-size: clamp(30px, 3.1vw, 46px);
  font-weight: 600;
  line-height: 1.09;
  letter-spacing: -.05em;
}

.gs-why-description {
  max-width: 900px;
  margin: 16px 0 0;
  color: #64716b;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -.015em;
}

.gs-why-system {
  margin-top: 30px;
}

/* Six benefits, aligned to the three diagram stages */
.gs-why-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gs-why-benefit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-width: 0;
  padding: 0 28px;
}

.gs-why-benefit+.gs-why-benefit {
  border-left: 1px solid #d4ddd7;
}

.gs-why-benefit:first-child {
  justify-content: flex-start;
  padding-left: 16px;
}

.gs-why-benefit:last-child {
  justify-content: flex-end;
  padding-right: 0;
}

.gs-why-benefit p {
  max-width: 275px;
  margin: 0;
  color: #2d4338;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -.02em;
}

.gs-why-icon {
  display: block;
  width: 47px;
  height: 47px;
  flex: 0 0 47px;
  fill: none;
  stroke: #365348;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-why-icon-green {
  stroke: #12b975;
}

/* Central illustration */
.gs-why-diagram {
  margin: 4px 0;
}

.gs-why-diagram>svg {
  display: block;
  width: 100%;
  height: auto;
}

.gs-why-diagram text {
  font-family: "Inter", sans-serif;
}

.gs-why-svg-mini {
  fill: #304d43;
  font-size: 8px;
  font-weight: 700;
}

.gs-why-svg-title {
  fill: #17392b;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 3px;
}

.gs-why-svg-caption {
  fill: #82958a;
  font-size: 9px;
  font-weight: 400;
}

/* CTA and closing line */
.gs-why-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 34px;
}

.gs-why-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 46px;
  padding: 12px 24px;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(110deg, #0ec981, #03b96d);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.gs-why-button>span {
  font-size: 23px;
  line-height: 1;
  transition: transform .2s ease;
}

.gs-why-button:hover {
  background: #00a961;
}

.gs-why-button:hover>span {
  transform: translateX(4px);
}

.gs-why-button:focus-visible {
  outline: 3px solid #245c40;
  outline-offset: 4px;
}

.gs-why-footer>p {
  margin: 0;
  color: #82948b;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.gs-why-skyline {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 115px;
  opacity: .65;
  pointer-events: none;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-why-container {
    width: calc(100% - 56px);
  }

  .gs-why-benefit {
    gap: 13px;
    padding-inline: 20px;
  }

  .gs-why-benefit p {
    font-size: 11px;
  }

  .gs-why-icon {
    width: 39px;
    height: 39px;
    flex-basis: 39px;
  }
}

/* Tablet */
@media (max-width: 850px) {
  .gs-why {
    padding: 38px 0 44px;
  }

  .gs-why-container {
    width: calc(100% - 40px);
  }

  .gs-why-header h2 {
    font-size: 36px;
  }

  .gs-why-description {
    font-size: 13px;
  }

  .gs-why-benefit {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    padding-inline: 14px;
    text-align: center;
  }

  .gs-why-benefit:first-child,
  .gs-why-benefit:last-child {
    justify-content: flex-start;
    padding-inline: 14px;
  }

  .gs-why-benefit p {
    font-size: 11px;
  }

  .gs-why-diagram {
    margin-block: 12px;
  }

  .gs-why-footer {
    margin-top: 28px;
  }

  .gs-why-footer>p {
    max-width: 300px;
    font-size: 8px;
    text-align: right;
  }
}

/* Mobile: readable benefits and horizontally scrollable illustration */
@media (max-width: 560px) {
  .gs-why {
    padding: 32px 0 40px;
  }

  .gs-why-container {
    width: calc(100% - 32px);
  }

  .gs-why-eyebrow {
    font-size: 9px;
  }

  .gs-why-header h2 {
    font-size: clamp(29px, 7.8vw, 36px);
    line-height: 1.13;
  }

  .gs-why-header h2 br {
    display: none;
  }

  .gs-why-description {
    font-size: 13px;
    line-height: 1.75;
  }

  .gs-why-system {
    margin-top: 24px;
  }

  .gs-why-benefits {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .gs-why-benefit,
  .gs-why-benefit:first-child,
  .gs-why-benefit:last-child {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    padding: 0;
    text-align: left;
    border: 0;
  }

  .gs-why-benefit p {
    max-width: none;
    font-size: 12px;
  }

  .gs-why-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .gs-why-diagram {
    overflow-x: auto;
    margin: 24px 0;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: #a7ccba #edf3ee;
  }

  .gs-why-diagram>svg {
    width: 760px;
    max-width: none;
  }

  .gs-why-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .gs-why-footer>p {
    max-width: none;
    text-align: left;
    font-size: 8px;
    letter-spacing: .1em;
  }

  .gs-why-skyline {
    height: 70px;
    opacity: .4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-why-button>span {
    transition: none;
  }
}

.gs-platform-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.gs-platforms {
  --gp-green: #078751;
  --gp-line: #57ba8d;
  --gp-ink: #142b22;
  --gp-muted: #64716a;

  position: relative;
  overflow: hidden;
  padding: 65px 0 35px;
  color: var(--gp-ink);
  background: #fdfefc;
  font-family: "Inter", sans-serif;
}

.gs-platforms *,
.gs-platforms *::before,
.gs-platforms *::after {
  box-sizing: border-box;
}

.gs-platforms-container {
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

.gs-platforms-header {
  position: relative;
  z-index: 2;
}

.gs-platforms-eyebrow {
  margin: 0 0 12px;
  color: var(--gp-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.gs-platforms-header h2 {
  margin: 0;
  color: #101e18;
  font-family: "Inter", sans-serif;
  font-size: clamp(40px, 4.8vw, 66px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.gs-platforms-description {
  margin: 16px 0 0;
  color: var(--gp-muted);
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: -.015em;
}

/* Network */
.gs-platform-network {
  position: relative;
  margin-top: 80px;
  padding: 0 20px 44px;
}

.gs-platform-skyline {
  position: absolute;
  top: -235px;
  right: -20px;
  width: 62%;
  height: 245px;
  opacity: .5;
  pointer-events: none;
}

.gs-platform-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.12fr 1.12fr 1.05fr 1.05fr .9fr;
  align-items: stretch;
}

.gs-platform-group {
  --gp-accent: #078751;
  --gp-halo: #e0f4e8;
  min-width: 0;
  position: relative;
  padding: 40px 25px 15px;
}

.gs-platform-group+.gs-platform-group {
  border-left: 1px solid #e1eae3;
}

.gs-platform-activation {
  padding-left: 15px;
}

.gs-platform-measurement {
  --gp-accent: #8871b2;
  --gp-halo: #efe9f7;
}

.gs-platform-intelligence {
  --gp-accent: #388b85;
  --gp-halo: #e4f2f0;
}

/* Horizontal connection line */
.gs-platform-track {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gp-line);
}

.gs-platform-node {
  position: absolute;
  top: 50%;
  left: 25px;
  width: 18px;
  height: 18px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--gp-accent);
  box-shadow: 0 0 0 9px var(--gp-halo);
  transform: translateY(-50%);
}

.gs-platform-activation .gs-platform-node {
  left: 15px;
}

.gs-platform-track-arrow {
  position: absolute;
  top: 50%;
  right: 15px;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  color: var(--gp-green);
  background: #fdfefc;
  font-size: 29px;
  line-height: 1;
  transform: translateY(-50%);
}

.gs-platform-group h3 {
  margin: 0 0 27px;
  color: #294a3c;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.gs-platform-list {
  display: grid;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gs-platform-list li {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.gs-platform-list svg {
  display: block;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  fill: none;
  stroke: var(--gp-accent);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-platform-list li>span {
  padding-top: 3px;
  color: #3f5148;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -.02em;
}

/* Final circular badge */
.gs-platform-result {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  min-width: 0;
  padding-top: 0;
}

.gs-platform-result-connector {
  position: absolute;
  top: -13px;
  left: -8px;
  width: 67px;
  height: 84px;
  fill: none;
  stroke: var(--gp-line);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-platform-badge {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: min(100%, 180px);
  aspect-ratio: 1;
  padding: 20px 12px;
  border: 7px solid #f4faf5;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #12523b, #083a2a);
  box-shadow: 0 0 0 1px #9cddba;
}

.gs-platform-badge svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: #b6e6cc;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.gs-platform-badge p {
  margin: 0;
  color: #e6f4ec;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}

/* Loop travels around the columns and returns below */
.gs-platform-network::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 5px;
  width: 46px;
  border-top: 1px solid var(--gp-line);
  border-left: 1px solid var(--gp-line);
  border-bottom: 1px solid var(--gp-line);
  border-radius: 35px 0 0 35px;
}

.gs-platform-feedback {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 35px;
  min-height: 18px;
}

.gs-platform-feedback::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gp-line);
}

.gs-platform-feedback::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 50%;
  width: 40px;
  height: 105px;
  border-right: 1px dashed var(--gp-line);
  border-bottom: 1px solid var(--gp-line);
  border-radius: 0 0 35px 0;
}

.gs-platform-feedback>span {
  position: relative;
  z-index: 1;
  padding: 0 15px;
  color: #5b9e7f;
  background: #fdfefc;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .24em;
  text-align: center;
  text-transform: uppercase;
}

/* Bottom process */
.gs-platform-process {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 18px;
}

.gs-platform-process>span {
  color: #354c3f;
  font-family: "Inter", sans-serif;
  font-size: 23px;
  line-height: 1.4;
}

.gs-platform-process>i {
  color: #73b699;
  font-size: 23px;
  font-style: normal;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-platforms-container {
    width: calc(100% - 56px);
  }

  .gs-platform-group {
    padding-inline: 18px;
  }

  .gs-platform-node {
    left: 18px;
  }

  .gs-platform-list li {
    gap: 12px;
  }

  .gs-platform-list li>span {
    font-size: 12px;
  }

  .gs-platform-group h3 {
    font-size: 11px;
  }

  .gs-platform-badge {
    gap: 9px;
  }

  .gs-platform-badge p {
    font-size: 9px;
  }
}

/* Tablet: wrap groups into an orderly 2 x 2 layout */
@media (max-width: 950px) {
  .gs-platforms {
    padding-top: 45px;
  }

  .gs-platform-network {
    margin-top: 45px;
    padding: 0;
  }

  .gs-platform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 0;
  }

  .gs-platform-group {
    padding: 30px 22px 10px;
  }

  .gs-platform-group+.gs-platform-group {
    border-left: 0;
  }

  .gs-platform-group:nth-child(even) {
    border-left: 1px solid #e1eae3;
  }

  .gs-platform-node,
  .gs-platform-activation .gs-platform-node {
    left: 22px;
  }

  .gs-platform-group h3 {
    font-size: 12px;
    margin-bottom: 22px;
  }

  .gs-platform-list li>span {
    font-size: 14px;
  }

  .gs-platform-result {
    grid-column: 1 / -1;
    justify-content: center;
    padding-top: 10px;
  }

  .gs-platform-badge {
    width: 160px;
  }

  .gs-platform-badge p {
    font-size: 10px;
  }

  .gs-platform-result-connector,
  .gs-platform-network::before,
  .gs-platform-feedback::after {
    display: none;
  }

  .gs-platform-feedback {
    margin-top: 28px;
  }

  .gs-platform-skyline {
    top: -170px;
    width: 80%;
    height: 175px;
    opacity: .35;
  }

  .gs-platform-process {
    margin-top: 30px;
  }
}

/* Mobile */
@media (max-width: 540px) {
  .gs-platforms {
    padding: 35px 0 28px;
  }

  .gs-platforms-container {
    width: calc(100% - 32px);
  }

  .gs-platforms-eyebrow {
    font-size: 9px;
    letter-spacing: .2em;
  }

  .gs-platforms-header h2 {
    font-size: clamp(36px, 9vw, 46px);
  }

  .gs-platforms-description {
    margin-top: 13px;
    font-size: 13px;
    line-height: 1.7;
  }

  .gs-platform-network {
    margin-top: 35px;
  }

  .gs-platform-grid {
    gap: 24px 0;
  }

  .gs-platform-group {
    padding: 28px 10px 0;
  }

  .gs-platform-node,
  .gs-platform-activation .gs-platform-node {
    left: 12px;
    width: 15px;
    height: 15px;
    box-shadow: 0 0 0 6px var(--gp-halo);
  }

  .gs-platform-group h3 {
    font-size: 9px;
    letter-spacing: .1em;
    margin-bottom: 19px;
  }

  .gs-platform-list {
    gap: 18px;
  }

  .gs-platform-list li {
    gap: 9px;
  }

  .gs-platform-list svg {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
  }

  .gs-platform-list li>span {
    padding-top: 1px;
    font-size: 11px;
    line-height: 1.6;
  }

  .gs-platform-list br {
    display: none;
  }

  .gs-platform-track-arrow {
    right: 6px;
    font-size: 24px;
  }

  .gs-platform-badge {
    width: 145px;
  }

  .gs-platform-feedback>span {
    max-width: 270px;
    padding-inline: 10px;
    font-size: 7px;
    letter-spacing: .14em;
  }

  .gs-platform-process {
    gap: 12px;
    margin-top: 24px;
  }

  .gs-platform-process>span {
    font-size: 18px;
  }

  .gs-platform-process>i {
    font-size: 17px;
  }

  .gs-platform-skyline {
    opacity: .22;
  }
}

.gs-growth {
  --growth-ink: #102c25;
  --growth-green: #09c780;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 52px 0 35px;
  color: var(--growth-ink);
  background:
    radial-gradient(ellipse at 100% 0,
      rgba(234, 224, 253, .48),
      transparent 40%),
    radial-gradient(ellipse at 0 100%,
      rgba(208, 251, 232, .5),
      transparent 44%),
    #fefefc;
  font-family: "Inter", sans-serif;
}

.gs-growth *,
.gs-growth *::before,
.gs-growth *::after {
  box-sizing: border-box;
}

.gs-growth-container {
  position: relative;
  z-index: 1;
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

/* Header */
.gs-growth-header {
  text-align: center;
}

.gs-growth-header>p {
  margin: 0 0 12px;
  color: #07b973;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.gs-growth-header h2 {
  margin: 0;
  font-size: clamp(30px, 3.25vw, 46px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.045em;
}

/* Staggered desktop composition */
.gs-growth-journey {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) minmax(0, 1.07fr) minmax(0, 1.09fr) 110px;
  align-items: start;
  gap: 22px;
  min-height: 380px;
  margin-top: 35px;
  padding-inline: 55px 0;
}

.gs-growth-card {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 20px 18px 15px;
  border: 1px solid;
  border-radius: 19px;
}

.gs-growth-card h3 {
  margin: 0 0 11px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.gs-growth-card>p {
  margin: 0;
  color: #64738a;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: -.02em;
}

/* Mint */
.gs-growth-startups {
  margin-top: 80px;
  border-color: #b7efd9;
  background: linear-gradient(135deg, #f3fff9, #f4fcf7);
}

/* Lavender */
.gs-growth-smes {
  margin-top: 40px;
  border-color: #e2d6fb;
  background: linear-gradient(135deg, #faf7ff, #f8f4fd);
}

/* Warm ivory */
.gs-growth-enterprises {
  border-color: #eadfcc;
  background: linear-gradient(135deg, #fffdf8, #fefaf3);
}

.gs-growth-art {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 20px;
}

.gs-growth-art-label {
  fill: #294a51;
  font-family: "Inter", sans-serif;
  font-size: 9px;
  font-weight: 600;
}

/* Line behind cards */
.gs-growth-path {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 380px;
  overflow: visible;
  pointer-events: none;
}

.gs-growth-path>path {
  fill: none;
  stroke: var(--growth-green);
  stroke-width: 2.4;
}

.gs-growth-path circle {
  fill: #fff;
  stroke: var(--growth-green);
  stroke-width: 2.5;
}

/* Growth endpoint */
.gs-growth-outcome {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 26px;
  text-align: center;
}

.gs-growth-outcome>p {
  margin: 0 0 15px;
  color: #04b770;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  text-transform: uppercase;
}

.gs-growth-outcome-dot {
  position: relative;
  display: grid;
  place-items: center;
  width: 53px;
  height: 53px;
  border-radius: 50%;
  background: #e1fff0;
}

.gs-growth-outcome-dot>span {
  width: 23px;
  height: 23px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(135deg, #10da93, #00bf76);
}

.gs-growth-outcome-dot::before,
.gs-growth-outcome-dot::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 13px;
  background: #4ccc94;
}

.gs-growth-outcome-dot::before {
  top: -15px;
  left: 11px;
  transform: rotate(-20deg);
}

.gs-growth-outcome-dot::after {
  top: -5px;
  left: -8px;
  transform: rotate(-55deg);
}

/* Bottom caption */
.gs-growth-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 22px;
}

.gs-growth-rule {
  width: 150px;
  height: 1px;
  background: #acb6c4;
}

.gs-growth-footer>p {
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 0;
  color: #7e8aa1;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .15em;
}

.gs-growth-footer i {
  font-size: 16px;
  font-style: normal;
  letter-spacing: 0;
}

/* Background skyline */
.gs-growth-skyline {
  position: absolute;
  z-index: 0;
  bottom: 58px;
  left: 0;
  width: 100%;
  height: 250px;
  opacity: .5;
  pointer-events: none;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-growth-container {
    width: calc(100% - 48px);
  }

  .gs-growth-journey {
    grid-template-columns:
      minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 85px;
    gap: 16px;
    padding-left: 18px;
  }

  .gs-growth-card {
    padding: 20px 17px 16px;
  }

  .gs-growth-card h3 {
    font-size: 18px;
  }

  .gs-growth-card>p {
    font-size: 13px;
  }

  .gs-growth-outcome>p {
    font-size: 9px;
  }
}

/* Tablet: keep the three stages together */
@media (max-width: 950px) {
  .gs-growth {
    padding-top: 42px;
  }

  .gs-growth-journey {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    min-height: 0;
    padding: 0;
    margin-top: 30px;
  }

  .gs-growth-startups {
    margin-top: 70px;
  }

  .gs-growth-smes {
    margin-top: 35px;
  }

  .gs-growth-enterprises {
    margin-top: 0;
  }

  .gs-growth-card {
    padding: 19px 15px 15px;
  }

  .gs-growth-card h3 {
    font-size: 17px;
  }

  .gs-growth-card>p {
    font-size: 12px;
    line-height: 1.6;
  }

  .gs-growth-art {
    margin-top: 16px;
  }

  .gs-growth-path {
    display: none;
  }

  .gs-growth-outcome {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
  }

  .gs-growth-outcome>p {
    margin: 0;
    font-size: 11px;
  }

  .gs-growth-outcome-dot {
    width: 43px;
    height: 43px;
  }

  .gs-growth-outcome-dot::before,
  .gs-growth-outcome-dot::after {
    display: none;
  }

  .gs-growth-footer {
    margin-top: 30px;
  }

  .gs-growth-rule {
    width: 75px;
  }

  .gs-growth-skyline {
    height: 180px;
    opacity: .3;
  }
}

/* Mobile: vertical connected journey */
@media (max-width: 640px) {
  .gs-growth {
    padding: 34px 0 28px;
  }

  .gs-growth-container {
    width: calc(100% - 32px);
  }

  .gs-growth-header>p {
    font-size: 9px;
    letter-spacing: .19em;
  }

  .gs-growth-header h2 {
    max-width: 440px;
    margin-inline: auto;
    font-size: clamp(29px, 7.5vw, 37px);
    line-height: 1.15;
  }

  .gs-growth-journey {
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 420px;
    margin-inline: auto;
    margin-top: 28px;
  }

  .gs-growth-journey::before {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 25px;
    left: 50%;
    width: 2px;
    background: #74deb0;
    transform: translateX(-50%);
  }

  .gs-growth-card {
    margin-top: 0;
    padding: 24px;
    border-radius: 17px;
  }

  .gs-growth-card h3 {
    font-size: 20px;
  }

  .gs-growth-card>p {
    font-size: 14px;
    line-height: 1.65;
  }

  .gs-growth-art {
    max-width: 310px;
    margin: 19px auto 0;
  }

  .gs-growth-outcome {
    grid-column: auto;
    width: fit-content;
    margin: 0 auto;
    padding: 10px 16px;
    border: 1px solid #d8f4e5;
    border-radius: 40px;
    background: #f8fff9;
  }

  .gs-growth-footer {
    gap: 10px;
    margin-top: 25px;
  }

  .gs-growth-footer>p {
    gap: 10px;
    font-size: 9px;
    letter-spacing: .08em;
  }

  .gs-growth-rule {
    flex: 1;
    width: auto;
    max-width: 50px;
  }

  .gs-growth-skyline {
    bottom: 45px;
    height: 140px;
    opacity: .2;
  }
}

.gs-consultation {
  --gc-ink: #10251c;
  --gc-muted: #61756a;
  --gc-green: #08c574;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 75px 0 205px;
  color: var(--gc-ink);
  background: #fdfefc;
  font-family: "Inter", sans-serif;
}

.gs-consultation *,
.gs-consultation *::before,
.gs-consultation *::after {
  box-sizing: border-box;
}

.gs-consultation-container {
  position: relative;
  z-index: 1;
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

.gs-consultation-layout {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  align-items: center;
  gap: 45px;
}

/* Content */
.gs-consultation-eyebrow {
  margin: 0 0 22px;
  color: #13bd70;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.gs-consultation-content h2 {
  margin: 0;
  color: #10251c;
  font-family: "Inter", sans-serif;
  font-size: clamp(36px, 3.65vw, 54px);
  font-weight: 400;
  line-height: 1.11;
  letter-spacing: -.035em;
}

.gs-consultation-description {
  max-width: 640px;
  margin: 24px 0 0;
  color: var(--gc-muted);
  font-size: 17px;
  line-height: 1.65;
  letter-spacing: -.012em;
}

.gs-consultation-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

.gs-consultation-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 19px;
  min-height: 54px;
  padding: 14px 25px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.gs-consultation-primary {
  color: #fff;
  background: linear-gradient(110deg, #0ac87a, #00b963);
}

.gs-consultation-primary svg {
  display: block;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-consultation-primary:hover {
  background: #00aa5d;
  transform: translateY(-2px);
}

.gs-consultation-secondary {
  color: #244236;
  border-color: #81978c;
  background: #ffffffb3;
  box-shadow: inset 0 0 0 1px #dce5de;
}

.gs-consultation-secondary:hover {
  background: #edf8f0;
}

.gs-consultation-button:focus-visible {
  outline: 3px solid #21593b;
  outline-offset: 4px;
}

/* Divider and diagram */
.gs-consultation-visual {
  position: relative;
  min-width: 0;
  padding-left: 42px;
  border-left: 1px solid #d9e5dd;
}

.gs-consultation-visual::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -6px;
  width: 11px;
  height: 11px;
  border: 2px solid #fdfefc;
  border-radius: 50%;
  background: var(--gc-green);
  box-shadow: 0 0 0 5px #fdfefc;
  transform: translateY(-50%);
}

.gs-consultation-diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.gs-consultation-diagram text {
  font-family: "Inter", sans-serif;
}

.gs-consult-svg-label {
  fill: #365347;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
}

.gs-consult-svg-center {
  fill: #2b654a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
}

.gs-consult-svg-result {
  fill: #203e30;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .7px;
}

.gs-consult-svg-caption {
  fill: #8da398;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 1.7px;
}

/* Skyline remains proportional */
.gs-consultation-skyline {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 50%;
  width: max(100%, 1100px);
  height: auto;
  transform: translateX(-50%);
  opacity: .4;
  pointer-events: none;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-consultation {
    padding: 60px 0 180px;
  }

  .gs-consultation-container {
    width: calc(100% - 56px);
  }

  .gs-consultation-layout {
    grid-template-columns: 1.25fr 1fr;
    gap: 30px;
  }

  .gs-consultation-content h2 {
    font-size: 42px;
  }

  .gs-consultation-break {
    display: none;
  }

  .gs-consultation-description {
    font-size: 15px;
  }

  .gs-consultation-visual {
    padding-left: 27px;
  }

  .gs-consultation-actions {
    gap: 12px;
  }

  .gs-consultation-button {
    padding-inline: 20px;
    font-size: 12px;
  }
}

/* Tablet */
@media (max-width: 850px) {
  .gs-consultation {
    padding: 45px 0 150px;
  }

  .gs-consultation-container {
    width: calc(100% - 48px);
    max-width: 680px;
  }

  .gs-consultation-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .gs-consultation-content h2 {
    font-size: clamp(38px, 5.5vw, 48px);
  }

  .gs-consultation-description {
    font-size: 16px;
  }

  .gs-consultation-visual {
    width: 100%;
    max-width: 490px;
    margin-inline: auto;
    padding: 0;
    border: 0;
  }

  .gs-consultation-visual::before {
    display: none;
  }

  .gs-consultation-button {
    font-size: 13px;
  }
}

/* Mobile */
@media (max-width: 540px) {
  .gs-consultation {
    padding: 35px 0 115px;
  }

  .gs-consultation-container {
    width: calc(100% - 36px);
  }

  .gs-consultation-eyebrow {
    margin-bottom: 17px;
    font-size: 9px;
    letter-spacing: .2em;
  }

  .gs-consultation-content h2 {
    font-size: clamp(33px, 8.8vw, 42px);
    line-height: 1.14;
  }

  .gs-consultation-description {
    margin-top: 19px;
    font-size: 13px;
    line-height: 1.8;
  }

  .gs-consultation-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 11px;
    margin-top: 23px;
  }

  .gs-consultation-button {
    min-height: 48px;
    padding: 13px 17px;
    font-size: 12px;
  }

  .gs-consultation-layout {
    gap: 30px;
  }

  .gs-consult-svg-label,
  .gs-consult-svg-result {
    font-size: 11px;
  }

  .gs-consult-svg-center {
    font-size: 12px;
  }

  .gs-consult-svg-caption {
    font-size: 8px;
    letter-spacing: 1px;
  }

  .gs-consultation-skyline {
    width: 1000px;
    opacity: .3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-consultation-button {
    transition: none;
  }
}

.gs-contact-section {
  --gct-ink: #244539;
  --gct-muted: #789187;
  --gct-green: #0ac875;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 30px 0 34px;
  color: var(--gct-ink);
  background: #fdfefc;
  font-family: "Inter", sans-serif;
}

.gs-contact-section *,
.gs-contact-section *::before,
.gs-contact-section *::after {
  box-sizing: border-box;
}

.gs-contact-container {
  position: relative;
  width: min(1300px, calc(100% - 80px));
  margin-inline: auto;
}

.gs-contact-motto {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #82978e;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .23em;
  text-align: right;
  text-transform: uppercase;
}

.gs-contact-motto>span {
  margin-inline: 13px;
}

/* Subtle reference backgrounds */
.gs-contact-map {
  position: absolute;
  z-index: 0;
  top: -35px;
  left: -55px;
  width: 650px;
  height: auto;
  opacity: .4;
  pointer-events: none;
}

.gs-contact-building {
  position: absolute;
  z-index: 0;
  top: 20px;
  right: -40px;
  width: 430px;
  height: auto;
  opacity: .42;
  pointer-events: none;
}

.gs-contact-map-label {
  fill: #93a69a;
  font-family: "Inter", sans-serif;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 1.7px;
}

/* Main two-column layout */
.gs-contact-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  align-items: end;
  gap: 70px;
  margin-top: 165px;
}

.gs-contact-address {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 0 0 4px 6px;
}

.gs-contact-team {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding-left: 20px;
  color: #698479;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.gs-contact-team>span {
  position: absolute;
  left: 29px;
  top: 1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gct-green);
  transform: translateX(-50%);
}

.gs-contact-pin {
  position: relative;
  display: grid;
  place-items: center;
  width: 86px;
  height: 86px;
  margin: 45px 0 24px -20px;
  border-radius: 50%;
  background: #e5f9ed;
  box-shadow:
    0 0 0 12px #eafbf180,
    0 0 0 24px #effbf580;
}

.gs-contact-pin svg {
  width: 27px;
  height: 34px;
  fill: var(--gct-green);
}

.gs-contact-label {
  display: block;
  margin: 0 0 17px;
  color: #6a897b;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.gs-contact-address address {
  margin: 0;
  color: #294a3d;
  font-family: "Inter", sans-serif;
  font-size: clamp(25px, 2.35vw, 35px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.gs-contact-location {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 25px;
  padding-bottom: 5px;
  border-bottom: 1px solid #496e5d;
  color: #37594b;
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
}

.gs-contact-location>span {
  font-size: 20px;
}

/* Branching connection line */
.gs-contact-connectors {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.gs-contact-connectors path {
  fill: none;
  stroke: #4dce8b;
  stroke-width: 1.4;
}

.gs-contact-connectors circle {
  fill: var(--gct-green);
}

/* Right-side contact rows */
.gs-contact-details {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding-left: 32px;
  border-left: 1px solid #d9e4dc;
}

.gs-contact-row {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 142px;
  padding: 20px 0 24px;
  color: inherit;
  text-decoration: none;
}

.gs-contact-row+.gs-contact-row {
  border-top: 1px solid #dce5df;
}

.gs-contact-icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  flex: 0 0 60px;
  border: 1px solid #d5f1e2;
  border-radius: 50%;
  color: #345e4c;
  background: #eaf8f0;
}

.gs-contact-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gs-contact-row-copy {
  flex: 1;
  min-width: 0;
}

.gs-contact-row .gs-contact-label {
  margin-bottom: 7px;
}

.gs-contact-value {
  display: block;
  color: #2b4c3e;
  font-family: "Inter", sans-serif;
  font-size: clamp(24px, 2.35vw, 35px);
  line-height: 1.2;
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.gs-contact-arrow {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  fill: none;
  stroke: #4b6c5d;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

.gs-contact-row:hover .gs-contact-arrow {
  transform: translateX(5px);
}

.gs-contact-row:hover .gs-contact-value {
  color: #07834d;
}

.gs-contact-row:focus-visible,
.gs-contact-location:focus-visible {
  outline: 2px solid #0a8950;
  outline-offset: 5px;
  border-radius: 4px;
}

/* Footer */
.gs-contact-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 58px;
  padding-top: 27px;
  border-top: 1px solid #dfe7e1;
}

.gs-contact-footer p {
  margin: 0;
  color: #789287;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.gs-contact-footer p>span {
  margin-inline: 12px;
}

.gs-contact-footer-message {
  display: flex;
  align-items: center;
  gap: 20px;
}

.gs-contact-footer-message>span {
  width: 40px;
  height: 1px;
  flex: 0 0 40px;
  margin: 0 !important;
  background: #648676;
}

/* Laptop */
@media (max-width: 1200px) {
  .gs-contact-container {
    width: calc(100% - 56px);
  }

  .gs-contact-main {
    gap: 40px;
    margin-top: 145px;
  }

  .gs-contact-details {
    padding-left: 22px;
  }

  .gs-contact-row {
    gap: 15px;
  }

  .gs-contact-icon {
    width: 49px;
    height: 49px;
    flex-basis: 49px;
  }

  .gs-contact-value {
    font-size: 27px;
  }

  .gs-contact-address address {
    font-size: 28px;
  }

  .gs-contact-arrow {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .gs-contact-container {
    width: calc(100% - 48px);
    max-width: 700px;
  }

  .gs-contact-main {
    grid-template-columns: 1fr;
    gap: 35px;
    margin-top: 85px;
  }

  .gs-contact-connectors {
    display: none;
  }

  .gs-contact-address {
    padding-left: 0;
  }

  .gs-contact-team {
    padding-left: 18px;
  }

  .gs-contact-team>span {
    left: 4px;
  }

  .gs-contact-pin {
    margin: 30px 0 25px;
  }

  .gs-contact-pin::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 1px;
    height: 32px;
    background: #59d99a;
  }

  .gs-contact-details {
    padding-left: 0;
    border-left: 0;
  }

  .gs-contact-row {
    min-height: 115px;
  }

  .gs-contact-building {
    top: 25px;
    width: 350px;
    opacity: .25;
  }

  .gs-contact-map {
    width: 500px;
    opacity: .25;
  }

  .gs-contact-footer {
    margin-top: 30px;
  }
}

/* Mobile */
@media (max-width: 540px) {
  .gs-contact-section {
    padding: 24px 0 28px;
  }

  .gs-contact-container {
    width: calc(100% - 36px);
  }

  .gs-contact-motto {
    font-size: 6px;
    letter-spacing: .14em;
    text-align: left;
  }

  .gs-contact-motto>span {
    margin-inline: 6px;
  }

  .gs-contact-main {
    margin-top: 65px;
    gap: 22px;
  }

  .gs-contact-team {
    font-size: 8px;
  }

  .gs-contact-pin {
    width: 65px;
    height: 65px;
    margin-top: 30px;
    box-shadow:
      0 0 0 9px #eafbf180,
      0 0 0 17px #effbf580;
  }

  .gs-contact-label {
    font-size: 9px;
    margin-bottom: 13px;
  }

  .gs-contact-address address {
    font-size: 27px;
    line-height: 1.35;
  }

  .gs-contact-address address br {
    display: none;
  }

  .gs-contact-location {
    margin-top: 18px;
    font-size: 13px;
  }

  .gs-contact-row {
    min-height: 105px;
    gap: 12px;
    padding-block: 20px;
  }

  .gs-contact-icon {
    width: 43px;
    height: 43px;
    flex-basis: 43px;
  }

  .gs-contact-icon svg {
    width: 24px;
    height: 24px;
  }

  .gs-contact-value {
    font-size: clamp(20px, 5.4vw, 27px);
  }

  .gs-contact-arrow {
    width: 21px;
    height: 21px;
    flex-basis: 21px;
  }

  .gs-contact-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding-top: 21px;
  }

  .gs-contact-footer p {
    font-size: 7px;
    letter-spacing: .14em;
  }

  .gs-contact-footer p>span {
    margin-inline: 7px;
  }

  .gs-contact-footer-message {
    gap: 12px;
  }

  .gs-contact-footer-message>span {
    width: 25px;
    flex-basis: 25px;
  }

  .gs-contact-building {
    top: 20px;
    right: -100px;
    width: 300px;
    opacity: .18;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gs-contact-arrow {
    transition: none;
  }
}

/* Enhanced Section Spacing */
.gs-services, .gs-goal-cta, .gs-why, .gs-platforms, .gs-growth, .gs-contact-section { padding-top: 90px; padding-bottom: 90px; }
.gs-consultation { padding-top: 100px; }
@media (max-width: 1200px) { .gs-services, .gs-goal-cta, .gs-why, .gs-platforms, .gs-growth, .gs-contact-section { padding-top: 70px; padding-bottom: 70px; } .gs-consultation { padding-top: 80px; } }
@media (max-width: 850px) { .gs-services, .gs-goal-cta, .gs-why, .gs-platforms, .gs-growth, .gs-contact-section { padding-top: 55px; padding-bottom: 55px; } .gs-consultation { padding-top: 65px; } }
@media (max-width: 540px) { .gs-services, .gs-goal-cta, .gs-why, .gs-platforms, .gs-growth, .gs-contact-section { padding-top: 40px; padding-bottom: 40px; } .gs-consultation { padding-top: 50px; } }

/* =========================================================
   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 (DIGITAL MARKETING)
   Hero: city skyline/side captions/growth visual & panels removed, compact copy.
   Sections: full-width containers (16px gutters), consistent heading scale.
========================================================= */

@media (max-width: 700px) {

  /* ---------- Hero ---------- */
  .gs-city,
  .gs-side-caption,
  .gs-growth-visual,
  .gs-growth-line,
  .gs-growth-panels {
    display: none !important;
  }

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

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

  .gs-marketing-intro {
    text-align: center;
  }

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

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

  .gs-desktop-break,
  .gs-marketing-intro h1 br {
    display: none !important;
  }

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

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

  .gs-marketing-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-marketing-pillars {
    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-marketing-pillars li {
    font-size: 11.5px !important;
    gap: 8px !important;
    display: flex;
    align-items: center;
  }

  /* ---------- Section containers: full width, 16px gutters ---------- */
  .gs-engineered-container,
  .gs-services-container,
  .gs-goal-container,
  .gs-why-container,
  .gs-platforms-container,
  .gs-growth-container,
  .gs-consultation-container,
  .gs-contact-container,
  .gs-faq-container {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  /* ---------- Consistent section headings ---------- */
  .gs-engineered h2,
  .gs-services h2,
  .gs-goal-cta h2,
  .gs-why h2,
  .gs-platforms h2,
  .gs-growth h2,
  .gs-consultation h2,
  .gs-faq-section h2 {
    font-size: clamp(24px, 6.8vw, 32px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.8px !important;
  }

  .gs-engineered h2 br,
  .gs-services h2 br,
  .gs-goal-cta h2 br,
  .gs-why h2 br,
  .gs-platforms h2 br,
  .gs-growth h2 br,
  .gs-consultation h2 br,
  .gs-faq-section h2 br {
    display: none;
  }

  .gs-marketing-hero,
  .gs-engineered,
  .gs-services,
  .gs-goal-cta,
  .gs-why,
  .gs-platforms,
  .gs-growth,
  .gs-consultation,
  .gs-faq-section {
    overflow-x: clip;
  }
}

@media (max-width: 390px) {
  .gs-engineered-container,
  .gs-services-container,
  .gs-goal-container,
  .gs-why-container,
  .gs-platforms-container,
  .gs-growth-container,
  .gs-consultation-container,
  .gs-contact-container,
  .gs-faq-container {
    width: calc(100% - 24px) !important;
  }
}