    @font-face {
      font-family: "Onest";
      src: url("../fonts/onest-cyrillic.woff2") format("woff2");
      font-style: normal;
      font-weight: 100 900;
      font-display: swap;
      unicode-range: U+0301, U+0400-052F, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F, U+2116;
    }

    @font-face {
      font-family: "Onest";
      src: url("../fonts/onest-latin.woff2") format("woff2");
      font-style: normal;
      font-weight: 100 900;
      font-display: swap;
      unicode-range: U+0000-024F, U+1E00-1EFF, U+20A0-20CF, U+2C60-2C7F, U+A720-A7FF;
    }

    :root {
      --paper: #F7F8F5;
      --ink: #101410;
      --muted: #4D574E;
      --quiet: #677168;
      --line: #DDE3DA;
      --line-strong: #BFC9BB;
      --green: #61C835;
      --green-deep: #2E7419;
      --green-soft: #D2F7C2;
      --black: #090C0A;
    }

    * {
      box-sizing: border-box;
    }

    html,
    body {
      width: 100%;
      height: 100%;
      margin: 0;
      overflow: hidden;
      background: var(--paper);
    }

    body {
      font-family: "Onest", "Segoe UI", sans-serif;
      color: var(--ink);
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
    }

    a,
    button {
      color: inherit;
      font: inherit;
    }

    a {
      text-decoration: none;
    }

    .stage {
      position: relative;
      width: 100vw;
      height: auto;
      min-height: 0;
      isolation: isolate;
      overflow: hidden;
      background: var(--paper);
    }
    .desktop-stage {
      display: none;
    }

    .desktop-header {
      display: none;
    }

    .mobile-hero-header {
      display: none;
    }

    .mobile-stage {
      display: block;
    }

    .header {
      position: relative;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 64px;
      margin: 0 20px;
      border-bottom: 1px solid var(--line);
    }

    .brand {
      display: block;
      width: 112px;
      height: auto;
    }

    .menu-button {
      position: relative;
      width: 44px;
      height: 44px;
      padding: 0;
      border: 1px solid var(--line-strong);
      border-radius: 10px;
      background: transparent;
    }

    .menu-button::before,
    .menu-button::after {
      content: "";
      position: absolute;
      left: 13px;
      width: 18px;
      height: 1px;
      background: var(--ink);
    }

    .menu-button::before { top: 17px; }
    .menu-button::after { top: 25px; }

    .mobile-main {
      position: absolute;
      inset: 64px 0 0;
      z-index: 4;
    }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 22px 20px 0;
      color: var(--green-deep);
      font-size: 11px;
      font-weight: 600;
      line-height: 1;
      letter-spacing: .055em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 22px;
      height: 2px;
      background: var(--green);
    }

    .mobile-title {
      position: relative;
      z-index: 8;
      margin: 17px 20px 0;
      max-width: 350px;
      font-size: 47px;
      font-weight: 610;
      line-height: .94;
      letter-spacing: -.047em;
    }

    .mobile-title > span {
      display: block;
    }

    .mobile-title > span:last-child {
      margin-left: 52px;
    }

    .mobile-title .period {
      display: inline;
      color: var(--green-deep);
    }

    .primary-action {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      min-height: 48px;
      padding: 0 18px 0 20px;
      border-radius: 10px;
      background: var(--green);
      color: var(--black);
      font-size: 14px;
      font-weight: 620;
      white-space: nowrap;
    }

    .action-arrow {
      display: inline-block;
      width: 12px;
      height: 12px;
      flex: 0 0 12px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.4;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: transform 220ms ease;
    }

    .primary-action:hover .action-arrow,
    .header-cta:hover .action-arrow {
      transform: translateX(4px);
    }

    .secondary-action {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 44px;
      border-bottom: 1px solid var(--line-strong);
      font-size: 14px;
      font-weight: 560;
      white-space: nowrap;
    }

    .mobile-character {
      position: absolute;
      z-index: 3;
      left: -110px;
      bottom: -155px;
      width: 420px;
      height: auto;
      pointer-events: none;
      user-select: none;
    }

    .mobile-principle {
      position: absolute;
      z-index: 10;
      right: 28px;
      top: 520px;
      width: 142px;
      margin: 0;
      color: var(--ink);
      font-size: 14px;
      font-weight: 540;
      line-height: 1.42;
      letter-spacing: -.01em;
    }

    .mobile-principle::before {
      content: "";
      display: block;
      width: 32px;
      height: 2px;
      margin-bottom: 12px;
      background: var(--green);
    }

    .mobile-support {
      position: relative;
      z-index: 8;
      width: 350px;
      margin: 19px 20px 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.48;
      letter-spacing: -.008em;
    }

    .mobile-actions {
      position: relative;
      z-index: 12;
      display: flex;
      align-items: center;
      gap: 21px;
      margin: 17px 20px 0;
    }

    .mobile-meta {
      position: absolute;
      z-index: 10;
      right: 20px;
      bottom: 28px;
      color: var(--quiet);
      font-size: 10px;
      font-weight: 600;
      line-height: 1.4;
      letter-spacing: .075em;
      text-transform: uppercase;
    }

    @media (min-width: 768px) {
      .mobile-stage {
        display: none;
      }

      .desktop-stage {
        display: block;
      }

      .desktop-shell::after {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: -320px;
        width: calc(100% + 640px);
        pointer-events: none;
        background-image:
          linear-gradient(to bottom, transparent, rgba(191, 201, 187, .24) 18%, rgba(191, 201, 187, .24) 76%, transparent),
          linear-gradient(to bottom, transparent, rgba(191, 201, 187, .20) 18%, rgba(191, 201, 187, .20) 76%, transparent),
          linear-gradient(to bottom, transparent, rgba(191, 201, 187, .18) 18%, rgba(191, 201, 187, .18) 76%, transparent),
          linear-gradient(to bottom, transparent, rgba(191, 201, 187, .18) 18%, rgba(191, 201, 187, .18) 76%, transparent),
          linear-gradient(to right, transparent, rgba(191, 201, 187, .20) 16%, rgba(191, 201, 187, .20) 84%, transparent),
          linear-gradient(to right, transparent, rgba(191, 201, 187, .16) 16%, rgba(191, 201, 187, .16) 84%, transparent);
        background-repeat: no-repeat;
        background-size:
          1px 62vh,
          1px 56vh,
          1px 38vh,
          1px 64vh,
          940px 1px,
          920px 1px;
        background-position:
          646px 15vh,
          815px 20vh,
          970px var(--support-trace-y),
          1586px 15vh,
          176px calc(12vh + 45px),
          186px calc(29.8vh + 220px);
        -webkit-mask-image: linear-gradient(to bottom, transparent 4%, #000 15%, #000 86%, transparent 97%);
        mask-image: linear-gradient(to bottom, transparent 4%, #000 15%, #000 86%, transparent 97%);
      }
      .desktop-shell::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: -320px;
        width: calc(100% + 640px);
        pointer-events: none;
        background-image: linear-gradient(to bottom, transparent, rgba(97, 200, 53, .42) 28%, rgba(97, 200, 53, .42) 72%, transparent);
        background-repeat: no-repeat;
        background-size: 1px 160px;
        background-position: 970px var(--signal-y);
      }
      .desktop-shell {
        position: relative;
        z-index: 0;
        width: min(calc(100% - 64px), 1312px);
        height: 100%;
        margin: 0 auto;
        --vertical-rise: clamp(0px, calc(12vh - 108px), 22px);
        --secondary-content-y: 409px;
        --principle-text-inset: 1px;
        --support-text-inset: 2px;
        --support-trace-y: calc(387px + var(--vertical-rise));
        --signal-y: calc(370px + var(--vertical-rise));
      }

      html {
        --desktop-header-height: 80px;
        --desktop-header-anchor-gap: 16px;
        --desktop-header-anchor-offset: calc(var(--desktop-header-height) + var(--desktop-header-anchor-gap));
        scroll-padding-top: var(--desktop-header-anchor-offset);
      }

      .desktop-header {
        position: fixed;
        z-index: 1000;
        top: 0;
        left: 50%;
        display: grid;
        grid-template-columns: 300px 1fr auto;
        align-items: center;
        width: min(calc(100% - 64px), 1312px);
        height: var(--desktop-header-height);
        margin: 0;
        transform: translateX(-50%);
        isolation: isolate;
      }

      .desktop-header::before {
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 100vw;
        content: "";
        transform: translateX(-50%);
        border-bottom: 1px solid var(--line);
        background: rgba(247, 248, 245, .92);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        pointer-events: none;
      }


      .desktop-header .brand {
        width: 136px;
      }

      .desktop-header-actions {
        display: flex;
        align-items: center;
        gap: 24px;
        margin-left: auto;
        justify-self: end;
      }

      .desktop-menu-button {
        display: none;
        flex: 0 0 auto;
      }

      .header-phone {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--muted);
        font-size: 14px;
        font-weight: 520;
        white-space: nowrap;
      }

      .header-phone svg {
        width: 15px;
        height: 15px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
      }

      .desktop-nav {
        display: flex;
        justify-content: center;
        gap: 31px;
        font-size: 15px;
        font-weight: 510;
      }

      .desktop-nav a {
        position: relative;
        display: inline-flex;
        align-items: center;
        min-height: 44px;
      }

      .desktop-nav a::after {
        content: "";
        position: absolute;
        right: 100%;
        bottom: 6px;
        left: 0;
        height: 2px;
        background: var(--green);
        transition: right 220ms ease;
      }

      .desktop-nav a:hover::after {
        right: 72%;
      }

      .header-cta {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 19px;
        min-height: 48px;
        padding: 0 17px 0 20px;
        border: 1px solid var(--line-strong);
        border-radius: 10px;
        font-size: 14px;
        font-weight: 590;
      }

      .desktop-character-frame {
        position: absolute;
        z-index: 6;
        top: calc(104px + var(--vertical-rise));
        left: -112px;
        width: 520px;
        height: auto;
        aspect-ratio: 2 / 3;
        overflow: visible;
        pointer-events: none;
      }

      .desktop-character-frame::before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 5%;
        left: 7%;
        width: 86%;
        height: 92%;
        pointer-events: none;
        background:
          radial-gradient(ellipse 42% 34% at 54% 25%, rgba(97, 200, 53, .18) 0%, rgba(97, 200, 53, .068) 42%, transparent 76%),
          radial-gradient(ellipse 58% 62% at 48% 57%, rgba(16, 20, 16, .075) 0%, transparent 76%);
        filter: blur(15px);
        opacity: .62;
      }
      .desktop-character {
        position: relative;
        z-index: 1;
        display: block;
        width: 520px;
        height: auto;
        filter: drop-shadow(0 24px 34px rgba(16, 20, 16, .16));
        pointer-events: none;
        user-select: none;
      }

      .desktop-main {
        position: absolute;
        inset: 80px 0 0;
        z-index: 4;
      }

      .desktop-eyebrow {
        position: absolute;
        top: calc(33px + var(--vertical-rise));
        left: 326px;
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        color: var(--green-deep);
        font-size: 12px;
        font-weight: 610;
        line-height: 1;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .desktop-eyebrow::before {
        content: "";
        width: 28px;
        height: 2px;
        background: var(--green);
      }

      .desktop-title {
        position: absolute;
        z-index: 5;
        top: calc(73px + var(--vertical-rise));
        left: 326px;
        width: 940px;
        margin: 0;
        font-size: 94px;
        font-weight: 610;
        line-height: .93;
        letter-spacing: -.048em;
      }

      .desktop-title > span {
        display: block;
      }

      .desktop-title > span:last-child {
        margin-left: 218px;
      }

      .desktop-title .period {
        display: inline;
        color: var(--green);
      }

      .desktop-principle {
        position: absolute;
        top: calc(var(--secondary-content-y) - var(--principle-text-inset) + var(--vertical-rise));
        left: 297px;
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        column-gap: 11px;
        width: 286px;
        margin: 0;
        color: var(--ink);
        font-size: 16px;
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: -.01em;
        text-wrap: balance;
      }

      .desktop-principle::before {
        content: "";
        width: 18px;
        height: 2px;
        margin-top: 10px;
        background: var(--green);
      }

      .desktop-support {
        position: absolute;
        top: calc(var(--secondary-content-y) - var(--support-text-inset) + var(--vertical-rise));
        left: 650px;
        width: 480px;
        margin: 0;
        padding-left: 18px;
        color: var(--muted);
        font-size: 18px;
        font-weight: 450;
        line-height: 1.52;
        letter-spacing: -.008em;
        text-wrap: balance;
      }

      .desktop-actions {
        position: absolute;
        top: calc(542px + var(--vertical-rise));
        left: 650px;
        display: flex;
        align-items: center;
        gap: 17px;
      }

      .desktop-actions .primary-action {
        min-height: 52px;
        padding-right: 20px;
        padding-left: 24px;
        font-size: 15px;
        font-weight: 640;
      }

      .desktop-actions .secondary-action {
        min-height: 52px;
        padding: 0 6px;
        font-size: 15px;
      }

      .system-rail {
        position: absolute;
        z-index: 3;
        top: calc(697px + var(--vertical-rise));
        right: 0;
        left: 326px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        align-items: start;
        padding-top: 21px;
        border-top: 1px solid var(--line-strong);
      }

      .system-rail::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 25%;
        height: 2px;
        background: var(--green);
      }

      .system-step {
        position: relative;
        display: block;
        padding-left: 0;
        color: var(--quiet);
        font-size: 11px;
        font-weight: 560;
        line-height: 1.35;
        letter-spacing: .055em;
        text-decoration: none;
        text-transform: uppercase;
      }

      .system-step:first-child {
        padding-left: 0;
      }

      .system-step::before {
        content: "";
        position: absolute;
        top: -24px;
        left: 0;
        width: 1px;
        height: 9px;
        background: var(--line-strong);
      }

      .system-step strong {
        display: block;
        margin-bottom: 4px;
        color: var(--ink);
        font-size: 14px;
        font-weight: 580;
        letter-spacing: -.005em;
        text-transform: none;
      }
    }



    @media (min-width: 1025px) and (max-width: 1679.98px) {
      .desktop-stage {
        /* Hybrid short-height protection: keep the full composition safe.
           The character fits the viewport first; if the viewport is still too
           short, the Hero extends below the fold instead of clipping content. */
        height: clamp(890px, 100vh, 980px);
        min-height: 890px;
      }

      .desktop-character-frame {
        width: clamp(470px, calc(66.6667vh - 72px), 520px);
      }

      .desktop-character {
        width: 100%;
      }
    }

    @media (min-width: 1680px) {
      .desktop-stage {
        /* Wide desktop keeps its approved scale; short-height windows scroll
           rather than crop the character or the lower Hero rail. */
        height: clamp(1082px, 100vh, 1120px);
        min-height: 1082px;
      }

      .desktop-shell {
        --secondary-content-y: 441px;
        --support-trace-y: calc(523px + var(--vertical-rise));
        --signal-y: calc(458px + var(--vertical-rise));
      }

      .desktop-character-frame {
        top: calc(112px + var(--vertical-rise));
        left: -205px;
        width: clamp(560px, calc(66.6667vh - 77.333px), 630px);
        height: auto;
        aspect-ratio: 2 / 3;
      }

      .desktop-character { width: 100%; }

      .desktop-title {
        width: 980px;
        font-size: 102px;
      }

      .desktop-title > span:last-child { margin-left: 236px; }

      .desktop-principle {
        width: 298px;
      }

      .desktop-support {
        width: 520px;
        font-size: 19px;
        line-height: 1.52;
      }

      .desktop-actions { top: calc(580px + var(--vertical-rise)); }
      .system-rail { top: calc(760px + var(--vertical-rise)); }
    }

    @media (min-width: 768px) and (max-width: 1024px) {
      .desktop-stage {
        display: block;
        height: clamp(855px, calc(57.421875vw + 414px), 1002px);
        min-height: 0;
      }

      .mobile-stage {
        display: none;
      }

      .desktop-shell {
        width: min(calc(100% - 48px), 976px);
        --vertical-rise: 14px;
        --tablet-main-x: clamp(206px, calc(22.65625vw + 32px), 264px);
        --tablet-title-right-space: clamp(0px, calc(12.5vw - 96px), 32px);
        --tablet-title-size: clamp(60px, calc(6.25vw + 12px), 76px);
        --tablet-title-inset: clamp(126px, 16.40625vw, 168px);
        --tablet-character-width: clamp(440px, calc(38.28125vw + 148px), 540px);
        --tablet-character-left: clamp(-188px, calc(-117px - 6.94vw), -170px);
        --tablet-character-height: clamp(521px, calc(48.828125vw + 146px), 646px);
        --tablet-principle-x: calc(var(--tablet-main-x) + 1px);
        --tablet-principle-width: clamp(160px, calc(54.6875vw - 260px), 300px);
        --tablet-support-x: clamp(370px, calc(57.03125vw - 68px), 516px);
        --tablet-support-width: clamp(300px, calc(35.15625vw + 30px), 390px);
        --tablet-secondary-content-y: 346px;
        --tablet-principle-text-inset: 0px;
        --tablet-support-text-inset: 2px;
        --tablet-actions-y: 479px;
        --tablet-rail-y: 617px;
        --tablet-content-rise: clamp(0px, calc(320px - 31.25vw), 80px);
        --tablet-trace-1-x: calc(var(--tablet-main-x) + 220px);
        --tablet-trace-2-x: calc(var(--tablet-principle-x) + 365px);
        --tablet-signal-x: calc(var(--tablet-support-x) + 220px);
        --tablet-trace-4-x: calc(var(--tablet-support-x) + 544px);
        --tablet-horizontal-1-x: calc(var(--tablet-main-x) - 146px);
        --tablet-horizontal-2-x: calc(var(--tablet-main-x) - 136px);
        --tablet-trace-1-y: 191px;
        --tablet-trace-2-y: 260px;
        --tablet-trace-4-y: 191px;
        --tablet-horizontal-1-y: 190px;
        --tablet-horizontal-2-y: calc(557px - var(--tablet-content-rise));
        --support-trace-y: calc(342px + var(--vertical-rise) - var(--tablet-content-rise));
        --signal-y: calc(356px + var(--vertical-rise) - var(--tablet-content-rise));
      }

      .desktop-shell::after,
      .desktop-shell::before {
        left: -220px;
        width: calc(100% + 440px);
      }

      .desktop-shell::after {
        background-position:
          var(--tablet-trace-1-x) var(--tablet-trace-1-y),
          var(--tablet-trace-2-x) var(--tablet-trace-2-y),
          var(--tablet-signal-x) var(--support-trace-y),
          var(--tablet-trace-4-x) var(--tablet-trace-4-y),
          var(--tablet-horizontal-1-x) var(--tablet-horizontal-1-y),
          var(--tablet-horizontal-2-x) var(--tablet-horizontal-2-y);
      }

      .desktop-shell::before {
        background-position: var(--tablet-signal-x) var(--signal-y);
      }

      .desktop-header {
        width: min(calc(100% - 48px), 976px);
        grid-template-columns: clamp(120px, calc(11.71875vw + 30px), 150px) minmax(0, 1fr) auto;
      }

      .desktop-nav {
        gap: clamp(8px, calc(4.6875vw - 28px), 20px);
        font-size: clamp(12px, calc(.78125vw + 6px), 14px);
      }

      .desktop-header-actions {
        gap: clamp(10px, calc(2.34375vw - 8px), 16px);
      }

      .header-phone {
        display: inline-flex;
        gap: clamp(6px, .78125vw, 8px);
        font-size: clamp(12px, calc(.78125vw + 6px), 14px);
      }

      .header-phone svg {
        width: clamp(13px, calc(.78125vw + 7px), 15px);
        height: clamp(13px, calc(.78125vw + 7px), 15px);
      }

      .header-cta {
        gap: clamp(12px, calc(2.734375vw - 9px), 19px);
        min-height: clamp(42px, calc(1.5625vw + 30px), 46px);
        padding: 0 clamp(12px, calc(1.171875vw + 3px), 15px) 0 clamp(12px, calc(2.34375vw - 6px), 18px);
        font-size: clamp(12px, calc(.390625vw + 9px), 13px);
      }

      .desktop-character-frame {
        top: calc(128px + var(--vertical-rise));
        left: var(--tablet-character-left);
        width: var(--tablet-character-width);
        height: auto;
        aspect-ratio: 2 / 3;
        overflow: visible;
      }

      .desktop-character {
        width: var(--tablet-character-width);
      }

      .desktop-eyebrow {
        top: calc(31px + var(--vertical-rise));
        left: var(--tablet-main-x);
        font-size: clamp(10px, calc(.390625vw + 7px), 11px);
      }

      .desktop-title {
        top: calc(67px + var(--vertical-rise));
        left: var(--tablet-main-x);
        width: calc(100% - var(--tablet-main-x) - var(--tablet-title-right-space));
        font-size: var(--tablet-title-size);
        line-height: .94;
      }

      .desktop-title > span:last-child {
        margin-left: var(--tablet-title-inset);
      }

      .desktop-principle {
        top: calc(var(--tablet-secondary-content-y) - var(--tablet-principle-text-inset) + var(--vertical-rise) - var(--tablet-content-rise));
        left: var(--tablet-principle-x);
        width: var(--tablet-principle-width);
        grid-template-columns: 17px minmax(0, 1fr);
        column-gap: 10px;
        font-size: 15px;
      }

      .desktop-principle::before {
        width: 17px;
      }

      .desktop-support {
        top: calc(var(--tablet-secondary-content-y) - var(--tablet-support-text-inset) + var(--vertical-rise) - var(--tablet-content-rise));
        left: var(--tablet-support-x);
        width: var(--tablet-support-width);
        padding-left: 18px;
        font-size: clamp(16px, calc(.390625vw + 13px), 17px);
        line-height: 1.48;
      }

      .desktop-actions {
        top: calc(var(--tablet-actions-y) + var(--vertical-rise) - var(--tablet-content-rise));
        left: var(--tablet-support-x);
        gap: clamp(10px, calc(1.5625vw - 2px), 14px);
      }

      .desktop-actions .primary-action,
      .desktop-actions .secondary-action {
        min-height: clamp(44px, calc(1.5625vw + 32px), 48px);
        font-size: clamp(12px, calc(.78125vw + 6px), 14px);
      }

      .desktop-actions .primary-action {
        padding-right: clamp(12px, calc(1.953125vw - 3px), 17px);
        padding-left: clamp(15px, 1.953125vw, 20px);
      }

      .system-rail {
        top: calc(var(--tablet-rail-y) + var(--vertical-rise) - var(--tablet-content-rise));
        left: var(--tablet-main-x);
        padding-top: 18px;
      }

      .system-step {
        padding-left: 0;
        font-size: 10px;
      }

      .system-step strong {
        font-size: 12px;
      }

    }

    @media (min-width: 768px) and (max-width: 1023.98px) {
      .desktop-nav {
        display: none;
      }

      .desktop-header-actions {
        grid-column: 3;
        justify-self: end;
      }

      .desktop-menu-button {
        display: inline-block;
      }
    }

    @media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
      @keyframes genesis-enter-up {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
      }

      @keyframes genesis-character-enter {
        0% { opacity: 0; transform: translateY(34px) scale(1.018); filter: blur(5px); }
        66% { opacity: 1; transform: translateY(-3px) scale(1.002); filter: blur(0); }
        82% { transform: translateY(1px) scale(1); }
        100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
      }

      @keyframes genesis-character-signal {
        0%, 14% { opacity: 0; transform: scale(.93); }
        48% { opacity: 1; transform: scale(1.025); }
        100% { opacity: .62; transform: scale(1); }
      }

      @keyframes genesis-dot-enter {
        from { opacity: 0; transform: scale(.76); }
        to { opacity: 1; transform: scale(1); }
      }

      @keyframes genesis-rail-reveal {
        from { transform: scaleX(0); }
        to { transform: scaleX(1); }
      }

      .desktop-eyebrow {
        animation: genesis-enter-up 520ms cubic-bezier(.22, .61, .36, 1) 120ms both;
      }

      .desktop-character-frame {
        animation: genesis-character-enter 940ms cubic-bezier(.22, .61, .36, 1) 100ms both;
      }

      .desktop-character-frame::before {
        animation: genesis-character-signal 820ms cubic-bezier(.22, .61, .36, 1) 640ms both;
      }

      .desktop-title > span {
        animation: genesis-enter-up 700ms cubic-bezier(.22, .61, .36, 1) both;
      }

      .desktop-title > span:nth-child(1) { animation-delay: 280ms; }
      .desktop-title > span:nth-child(2) { animation-delay: 390ms; }
      .desktop-title > span:nth-child(3) { animation-delay: 500ms; }

      .desktop-title .period {
        display: inline-block;
        animation: genesis-dot-enter 300ms cubic-bezier(.22, .61, .36, 1) 980ms both;
      }

      .desktop-principle {
        animation: genesis-enter-up 520ms cubic-bezier(.22, .61, .36, 1) 980ms both;
      }

      .desktop-support {
        animation: genesis-enter-up 520ms cubic-bezier(.22, .61, .36, 1) 1080ms both;
      }

      .desktop-actions {
        animation: genesis-enter-up 480ms cubic-bezier(.22, .61, .36, 1) 1200ms both;
      }

      .system-rail {
        border-top-color: transparent;
      }

      .system-rail::after {
        content: "";
        position: absolute;
        z-index: 0;
        top: -1px;
        right: 0;
        left: 0;
        height: 1px;
        background: var(--line-strong);
        transform-origin: left;
        animation: genesis-rail-reveal 680ms cubic-bezier(.22, .61, .36, 1) 1200ms both;
      }

      .system-rail::before {
        z-index: 1;
        transform-origin: left;
        animation: genesis-rail-reveal 540ms cubic-bezier(.22, .61, .36, 1) 1280ms both;
      }

      .system-step {
        z-index: 1;
        transition: transform 180ms ease, color 180ms ease;
        animation: genesis-enter-up 440ms cubic-bezier(.22, .61, .36, 1) both;
      }

      .system-step:nth-child(1) { animation-delay: 1500ms; }
      .system-step:nth-child(2) { animation-delay: 1580ms; }
      .system-step:nth-child(3) { animation-delay: 1660ms; }
      .system-step:nth-child(4) { animation-delay: 1740ms; }

      .desktop-actions .primary-action,
      .desktop-actions .secondary-action {
        transition: transform 180ms ease, color 180ms ease;
      }

      .desktop-actions .action-arrow {
        transition: transform 180ms ease;
      }

      @media (hover: hover) {
        .desktop-actions .primary-action:hover,
        .desktop-actions .secondary-action:hover {
          transform: translateY(-1px);
        }

        .desktop-actions .primary-action:hover .action-arrow,
        .desktop-actions .secondary-action:hover .action-arrow {
          transform: translate(2px, -1px);
        }

        .system-step:hover {
          transform: translateY(-2px);
          color: var(--green-deep);
        }

        .system-step:hover strong { color: var(--green-deep); }
        .system-step:hover::before { background: var(--green); }
      }
    }

    @media (min-width: 768px) and (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
      .desktop-eyebrow,
      .desktop-character-frame,
      .desktop-character-frame::before,
      .desktop-character,
      .desktop-title > span,
      .desktop-title .period,
      .desktop-principle,
      .desktop-support,
      .desktop-actions,
      .system-step,
      .system-rail::before {
        animation: none;
      }

      .system-rail {
        border-top-color: var(--line-strong);
      }

      .system-rail::after {
        content: none;
      }

      .desktop-title .period {
        display: inline;
      }
    }

    .lifecycle-contact-mobile {
      display: none;
    }

    .capability-section { display: none; }
    .cap-v7-mobile-br { display: none; }

    /* Independent Mobile 390px scene. Desktop and Tablet remain outside this scope. */
    @media (max-width: 767.98px) {
      html,
      body {
        height: auto;
        min-height: 100%;
      }

      html {
        overflow-x: clip;
        overflow-y: auto;
        scroll-padding-top: calc(86px + env(safe-area-inset-top));
      }

      body {
        overflow: visible;
      }

      .stage.mobile-stage {
        width: 100%;
        height: auto;
        min-height: 0;
        overflow: hidden;
      }

      .mobile-hero-header {
        position: fixed;
        z-index: 1200;
        top: 0;
        right: 0;
        left: 0;
        display: flex;
        align-items: center;
        width: 100%;
        height: calc(70px + env(safe-area-inset-top));
        margin: 0;
        padding: env(safe-area-inset-top) 16px 0;
        border: 0;
        background: rgba(247, 248, 245, .94);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
      }

      .mobile-hero-header::after {
        position: absolute;
        right: 16px;
        bottom: 0;
        left: 16px;
        height: 1px;
        content: "";
        background: var(--line);
      }

      .mobile-hero-brand {
        display: block;
        width: 98px;
        height: auto;
        margin-right: auto;
      }

      .mobile-hero-header-actions {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-left: auto;
        justify-content: flex-end;
      }

      .mobile-hero-phone {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: var(--muted);
        font-size: 12px;
        font-weight: 530;
        letter-spacing: -.02em;
        line-height: 1;
        white-space: nowrap;
      }

      .mobile-hero-phone svg {
        width: 13px;
        height: 13px;
        flex: 0 0 auto;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.6;
      }

      .mobile-hero-menu {
        position: relative;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        padding: 0;
        border: 1px solid var(--line-strong);
        border-radius: 10px;
        background: transparent;
      }

      .mobile-hero-menu::before,
      .mobile-hero-menu::after {
        content: "";
        position: absolute;
        left: 12px;
        width: 17px;
        height: 1px;
        background: var(--ink);
      }

      .mobile-hero-menu::before { top: 16px; }
      .mobile-hero-menu::after { top: 24px; }

      .mobile-hero-main {
        position: relative;
        z-index: 1;
        padding-top: calc(70px + env(safe-area-inset-top));
        padding-bottom: 34px;
      }

      .mobile-hero-eyebrow {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin: 21px 16px 0;
        color: var(--green-deep);
        font-size: 10px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .mobile-hero-eyebrow::before {
        content: "";
        width: 20px;
        height: 2px;
        background: var(--green);
      }

      .mobile-hero-title {
        position: relative;
        z-index: 4;
        margin: 17px 16px 0;
        font-size: 47px;
        font-weight: 610;
        line-height: .93;
        letter-spacing: -.052em;
        text-align: center;
      }

      .mobile-hero-title > span {
        display: block;
        white-space: nowrap;
      }

      .mobile-hero-title > span:last-child {
        margin-left: 0;
      }

      .mobile-hero-title .period {
        color: var(--green-deep);
      }

      .mobile-hero-scene {
        position: relative;
        display: grid;
        grid-template-columns: 45% 55%;
        min-height: 640px;
        margin-top: 15px;
        isolation: isolate;
        overflow: hidden;
      }

      .mobile-hero-scene::before {
        content: "";
        position: absolute;
        z-index: 0;
        top: 26px;
        bottom: 18px;
        left: 46%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, rgba(221, 227, 218, .64) 13%, rgba(97, 200, 53, .26) 31%, rgba(221, 227, 218, .58) 67%, transparent);
      }

      .mobile-hero-character-column {
        position: relative;
        z-index: 1;
        grid-column: 1;
        min-height: 640px;
        pointer-events: none;
      }

      .mobile-hero-character {
        position: absolute;
        top: 0;
        left: -114px;
        width: 400px;
        height: auto;
        pointer-events: none;
        user-select: none;
      }

      .mobile-hero-right {
        position: relative;
        z-index: 3;
        grid-column: 2;
        padding: 38px 16px 0 22px;
      }

      .mobile-hero-principle,
      .mobile-hero-support {
        margin: 0;
      }

      .mobile-hero-principle {
        color: var(--ink);
        font-size: 14px;
        font-weight: 540;
        line-height: 1.42;
        letter-spacing: -.01em;
      }

      .mobile-hero-principle::before {
        content: "";
        display: block;
        width: 26px;
        height: 2px;
        margin-bottom: 10px;
        background: var(--green);
      }

      .mobile-hero-support {
        margin-top: 24px;
        color: var(--muted);
        font-size: 15px;
        line-height: 1.46;
        letter-spacing: -.008em;
        text-wrap: pretty;
      }

      .mobile-hero-actions {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 11px;
        margin-top: 21px;
      }

      .mobile-hero-actions .primary-action {
        min-height: 46px;
        gap: 12px;
        padding: 0 12px;
        font-size: 12px;
      }

      .mobile-hero-actions .secondary-action {
        min-height: 38px;
        gap: 6px;
        font-size: 12px;
      }

      .mobile-hero-lifecycle {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 16px;
        margin: 24px 0 0;
        padding: 12px 0 2px 16px;
        border-left: 1px solid var(--line-strong);
      }

      .mobile-hero-lifecycle::before {
        content: "";
        position: absolute;
        top: -1px;
        bottom: auto;
        left: -1px;
        width: 2px;
        height: 43px;
        background: var(--green);
      }

      .mobile-hero-lifecycle-step strong,
      .mobile-hero-lifecycle-step span {
        display: block;
      }

      .mobile-hero-lifecycle-step {
        position: relative;
        color: var(--ink);
        text-decoration: none;
      }

      .mobile-hero-lifecycle-step::before {
        content: "";
        position: absolute;
        top: 7px;
        left: -17px;
        width: 5px;
        height: 1px;
        background: var(--line-strong);
      }

      .mobile-hero-lifecycle-step:first-child::before {
        width: 7px;
        background: var(--green);
      }

      .mobile-hero-lifecycle-step strong {
        color: var(--ink);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -.015em;
      }

      .mobile-hero-lifecycle-step span {
        margin-top: 4px;
        color: var(--quiet);
        font-size: 9px;
        font-weight: 620;
        line-height: 1.2;
        letter-spacing: .06em;
        text-transform: uppercase;
      }

      /* Mobile Section 02 — independent editorial flow. */
      .lifecycle-narrative {
        --mobile-section-gutter: 16px;
        position: relative;
        overflow: visible;
        background: var(--paper);
      }

      .lifecycle-shell {
        position: relative;
        width: auto;
        margin: 0 var(--mobile-section-gutter);
        padding-top: 24px;
      }

      .lifecycle-seam {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 1px;
        background: var(--line-strong);
      }

      .lifecycle-seam::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 56px;
        height: 1px;
        content: "";
        background: var(--green);
      }

      .lifecycle-spine,
      .lifecycle-contact-tablet {
        display: none;
      }

      .lifecycle-content {
        margin: 0;
      }

      .lifecycle-chapter {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: clamp(40px, 11vw, 52px) 0 0;
        scroll-margin-top: calc(86px + env(safe-area-inset-top));
      }

      .lifecycle-marker,
      .lifecycle-stage {
        margin: 0;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: .06em;
        text-transform: uppercase;
      }

      .lifecycle-marker {
        grid-row: 1;
        color: var(--quiet);
      }

      .lifecycle-chapter > div {
        grid-row: 2;
        width: 100%;
        margin-top: 18px;
      }

      .lifecycle-stage {
        margin-bottom: 16px;
        color: var(--green-deep);
      }

      .lifecycle-title {
        max-width: 11.5ch;
        margin: 0;
        color: var(--ink);
        font-size: clamp(32px, 8.8vw, 38px);
        font-weight: 520;
        line-height: 1.04;
        letter-spacing: -.04em;
        text-wrap: balance;
      }

      .lifecycle-copy {
        grid-row: 3;
        max-width: 32ch;
        margin: 26px 0 0;
        color: var(--muted);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.56;
        letter-spacing: -.006em;
      }

      .lifecycle-stage-object {
        position: static;
        grid-row: 4;
        justify-self: center;
        display: block;
        width: clamp(190px, 57vw, 248px);
        max-width: 100%;
        height: auto;
        margin-top: 32px;
        object-fit: contain;
      }

      .lifecycle-chapter:first-child .lifecycle-stage-object {
        width: clamp(196px, 60vw, 260px);
      }

      .lifecycle-chapter:last-child .lifecycle-stage-object {
        width: clamp(204px, 61vw, 268px);
      }

      .lifecycle-chapter:last-child {
        padding-bottom: 64px;
      }

      .lifecycle-contact-mobile {
        position: relative;
        display: grid;
        padding: 64px 0 80px;
        border-top: 1px solid var(--line);
        font-family: Onest, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      }

      .lifecycle-contact-mobile::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: 64px;
        height: 2px;
        content: "";
        background: var(--green);
      }

      .lifecycle-contact-mobile-kicker {
        margin: 0 0 18px;
        color: var(--green-deep);
        font-size: 11px;
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: .06em;
        text-transform: uppercase;
      }

      .lifecycle-contact-mobile-title {
        max-width: 10ch;
        margin: 0;
        color: var(--ink);
        font-size: clamp(32px, 9vw, 38px);
        font-weight: 600;
        line-height: 1.06;
        letter-spacing: -.035em;
      }

      .lifecycle-contact-mobile-copy {
        max-width: 31ch;
        margin: 24px 0 0;
        color: var(--muted);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.56;
      }

      .lifecycle-contact-mobile-fields {
        display: grid;
        gap: 24px;
        margin-top: 42px;
      }

      .lifecycle-contact-mobile-field {
        display: grid;
        gap: 9px;
      }

      .lifecycle-contact-mobile-field label {
        color: var(--quiet);
        font-size: 12px;
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: .02em;
      }

      .lifecycle-contact-mobile-field input {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        padding: 13px 0 10px;
        border: 0;
        border-bottom: 1px solid #7D897B;
        border-radius: 0;
        background: transparent;
        color: var(--ink);
        font-family: inherit;
        font-size: 16px;
        font-weight: 500;
        line-height: normal;
        outline: 0;
      }

      .lifecycle-contact-mobile-field input::placeholder { color: var(--quiet); }

      .lifecycle-contact-mobile-field input:focus-visible {
        border-bottom-color: var(--green-deep);
        box-shadow: 0 2px 0 var(--green-deep);
      }

      .lifecycle-contact-mobile-consent {
        max-width: 32ch;
        margin: -2px 0 0;
        color: #727a72;
        font-size: 11px;
        font-weight: 400;
        line-height: 1.5;
      }

      .lifecycle-contact-mobile-consent a {
        color: inherit;
        text-decoration-line: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
      }

      .lifecycle-contact-mobile-submit {
        justify-self: stretch;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 34px;
        width: 100%;
        min-height: 52px;
        margin-top: 24px;
        padding: 0 15px 0 18px;
        border: 0;
        border-radius: 10px;
        background: var(--green);
        color: var(--black);
        font-family: inherit;
        font-size: 15px;
        font-weight: 600;
        line-height: 1;
        cursor: pointer;
        transition: background-color .16s ease, transform .1s ease;
      }

      .lifecycle-contact-mobile-submit:hover { background: #58BE31; }
      .lifecycle-contact-mobile-submit:active { transform: scale(.985); }
      .lifecycle-contact-mobile-submit:focus-visible {
        outline: 3px solid var(--green-deep);
        outline-offset: 2px;
      }
    }

    @media (min-width: 360px) and (max-width: 767.98px) {
      .lifecycle-narrative { --mobile-section-gutter: 20px; }
    }

    @media (min-width: 431px) and (max-width: 767.98px) {
      .lifecycle-narrative { --mobile-section-gutter: clamp(20px, 5vw, 32px); }
      .lifecycle-chapter { padding: clamp(44px, 7vw, 56px) 0 0; }
      .lifecycle-chapter:last-child { padding-bottom: 64px; }
      .lifecycle-contact-mobile { padding: 72px 0 80px; }
    }

    .lifecycle-contact-tablet {
      display: none;
    }

    /* Tablet continuation of Section 02. Hero remains unchanged in this block. */
    @media (min-width: 768px) and (max-width: 1024px) {
      html,
      body {
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
      }

      .lifecycle-narrative {
        position: relative;
        overflow: visible;
        background: var(--paper);
      }

      .lifecycle-shell {
        position: relative;
        width: min(calc(100% - 64px), 960px);
        margin: 0 auto;
        padding-top: clamp(34px, 4.5vw, 46px);
      }

      .lifecycle-seam {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 1px;
        background: var(--line-strong);
      }

      .lifecycle-seam::before {
        position: absolute;
        top: 0;
        left: 0;
        width: clamp(56px, 7.5vw, 72px);
        height: 1px;
        content: "";
        background: var(--green);
      }

      .lifecycle-spine {
        display: none;
      }

      .lifecycle-spine-inner {
        position: static;
      }

      .lifecycle-spine-label {
        margin: 0 0 clamp(18px, 2.6vw, 24px);
        color: var(--quiet);
        font-size: 10px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .lifecycle-spine-list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(14px, 2.5vw, 24px);
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .lifecycle-spine-link {
        display: grid;
        gap: 5px;
        min-width: 0;
        color: var(--ink);
        font-size: clamp(12px, 1.45vw, 14px);
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: -.01em;
        text-decoration: none;
      }

      .lifecycle-spine-link span:first-child {
        color: var(--quiet);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .07em;
      }

      .lifecycle-spine-link:focus-visible {
        outline: 1px solid var(--green);
        outline-offset: 4px;
      }

      .lifecycle-contact {
        display: none;
      }

      .lifecycle-content {
        margin-top: 0;
      }

      .lifecycle-chapter {
        position: relative;
        display: grid;
        grid-template-columns: clamp(208px, 23vw, 236px) minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        column-gap: clamp(28px, 3.9vw, 40px);
        align-items: start;
        min-height: 0;
        padding: clamp(56px, 6.25vw, 64px) 0;
      }

      .lifecycle-marker,
      .lifecycle-stage {
        margin: 0;
        font-size: 10px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .075em;
        text-transform: uppercase;
      }

      .lifecycle-marker {
        grid-column: 1;
        grid-row: 1;
        color: var(--quiet);
      }

      .lifecycle-chapter > div {
        grid-column: 2;
        grid-row: 1 / span 2;
        width: min(100%, 590px);
      }

      .lifecycle-stage {
        margin-bottom: clamp(16px, 2vw, 20px);
        color: var(--ink);
      }

      .lifecycle-title {
        max-width: 590px;
        margin: 0;
        color: var(--ink);
        font-size: clamp(42px, 5vw, 50px);
        font-weight: 520;
        line-height: 1;
        letter-spacing: -.055em;
      }

      .lifecycle-stage-object {
        position: static;
        grid-column: 1;
        grid-row: 2 / span 2;
        align-self: start;
        justify-self: start;
        display: block;
        width: clamp(220px, 23.5vw, 240px);
        height: auto;
        margin-top: 28px;
        object-fit: contain;
        object-position: left top;
      }

      .lifecycle-chapter:first-child .lifecycle-stage-object {
        width: clamp(228px, 25vw, 252px);
      }

      .lifecycle-chapter:last-child .lifecycle-stage-object {
        width: clamp(232px, 25vw, 256px);
      }

      .lifecycle-copy {
        grid-column: 2;
        grid-row: 3;
        max-width: 330px;
        margin: clamp(26px, 3.4vw, 34px) 0 0;
        color: #50544e;
        font-size: 16px;
        font-weight: 470;
        line-height: 1.47;
        letter-spacing: -.018em;
      }

      .lifecycle-chapter:last-child {
        padding-bottom: 80px;
      }

      .lifecycle-contact-tablet {
        position: relative;
        display: grid;
        grid-template-columns: repeat(8, minmax(0, 1fr));
        column-gap: 20px;
        align-items: start;
        margin-inline: 0;
        padding: 80px 0 96px;
        border-top: 1px solid var(--line);
        font-family: Onest, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      }

      .lifecycle-contact-tablet::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: clamp(64px, 7.8vw, 80px);
        height: 2px;
        content: "";
        background: var(--green);
      }

      .lifecycle-contact-tablet-intro {
        grid-column: 1 / 4;
        min-width: 0;
        padding-right: clamp(8px, 1.6vw, 16px);
      }

      .lifecycle-contact-tablet-kicker {
        margin: 0 0 20px;
        color: var(--green-deep);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: .06em;
        text-transform: uppercase;
      }

      .lifecycle-contact-tablet-title {
        max-width: 11ch;
        margin: 0;
        color: var(--ink);
        font-size: clamp(32px, 3.5vw, 36px);
        font-weight: 600;
        line-height: 1.08;
        letter-spacing: -.03em;
      }

      .lifecycle-contact-tablet-copy {
        max-width: 30ch;
        margin: 28px 0 0;
        color: var(--muted);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
      }

      .lifecycle-contact-tablet-fields {
        grid-column: 4 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 24px;
        align-items: start;
        min-width: 0;
        padding-top: 0;
      }

      .lifecycle-contact-tablet-field {
        display: grid;
        gap: 12px;
        min-width: 0;
      }

      .lifecycle-contact-tablet-field label {
        color: var(--quiet);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: .02em;
      }

      .lifecycle-contact-tablet-field input {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        padding: 0 0 14px;
        border: 0;
        border-bottom: 1px solid #7D897B;
        border-radius: 0;
        background: transparent;
        color: var(--ink);
        font-family: inherit;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
        outline: 0;
        transition: border-color .16s ease, box-shadow .16s ease;
      }

      .lifecycle-contact-tablet-field input::placeholder { color: var(--quiet); }
      .lifecycle-contact-tablet-field input:focus-visible {
        border-bottom-color: var(--green-deep);
        box-shadow: 0 2px 0 var(--green-deep);
      }

      .lifecycle-contact-tablet-submit {
        grid-column: 2;
        justify-self: start;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        min-width: 204px;
        min-height: 52px;
        padding: 0 16px 0 20px;
        border: 0;
        border-radius: 10px;
        background: var(--green);
        color: var(--black);
        font-family: inherit;
        font-size: 15px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0;
        white-space: nowrap;
        cursor: pointer;
        transition: background-color .16s ease, transform .1s ease;
      }

      .lifecycle-contact-tablet-submit:hover { background: #58BE31; }
      .lifecycle-contact-tablet-submit:active {
        background: #4FB42A;
        transform: scale(.985);
      }
      .lifecycle-contact-tablet-submit:focus-visible {
        outline: 3px solid var(--green-deep);
        outline-offset: 2px;
      }

      .lifecycle-contact-tablet-consent {
        max-width: 30ch;
        margin: 2px 0 0;
        color: var(--quiet);
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0;
      }

      .lifecycle-contact-tablet-consent a {
        color: inherit;
        text-decoration-line: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
      }

      .lifecycle-contact-tablet-consent a:hover { color: var(--ink); }
    }

    /* Desktop continuation of the locked Hero lifecycle. */
    @media (min-width: 1025px) {
      html {
        height: auto;
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
      }

      body {
        height: auto;
        min-height: 100%;
        overflow: visible;
      }

      .lifecycle-narrative {
        position: relative;
        min-height: 1210px;
        overflow: visible;
        background: var(--paper);
      }

      .lifecycle-shell {
        position: relative;
        display: grid;
        grid-template-columns: 320px minmax(0, 1fr) 244px;
        column-gap: clamp(28px, 3vw, 56px);
        width: min(calc(100% - 64px), 1312px);
        margin: 0 auto;
      }

      .lifecycle-seam {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 1px;
        background: var(--line-strong);
      }

      .lifecycle-seam::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 72px;
        height: 1px;
        content: "";
        background: var(--green);
      }

      .lifecycle-spine {
        position: relative;
        grid-column: 3;
        grid-row: 1;
        align-self: start;
        justify-self: end;
        margin-top: 76px;
        width: 244px;
      }

      .lifecycle-spine.is-pinned {
        position: fixed;
        top: clamp(72px, 11vh, 118px);
        right: max(32px, calc((100vw - 1312px) / 2));
        left: auto;
        z-index: 2;
        margin-top: 0;
      }

      .lifecycle-spine.is-at-end {
        position: absolute;
        bottom: 96px;
        right: 0;
        left: auto;
        margin-top: 0;
      }

      .lifecycle-spine-inner {
        position: relative;
      }

      .lifecycle-content {
        grid-column: 1 / 3;
        grid-row: 1;
      }

      .lifecycle-spine-label {
        margin: 0 0 30px;
        color: var(--quiet);
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .lifecycle-spine-list {
        position: relative;
        display: grid;
        gap: 22px;
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .lifecycle-spine-list::before {
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 0;
        width: 1px;
        content: "";
        background: var(--line-strong);
      }

      .lifecycle-spine-link {
        position: relative;
        display: grid;
        grid-template-columns: 38px 1fr;
        gap: 14px;
        align-items: baseline;
        padding-left: 20px;
        color: var(--quiet);
        font-size: 15px;
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: -.01em;
        text-decoration: none;
        transition: color .22s ease;
      }

      .lifecycle-spine-link::before {
        position: absolute;
        top: 8px;
        left: 0;
        width: 0;
        height: 1px;
        content: "";
        background: var(--green);
        transition: width .22s ease;
      }

      .lifecycle-spine-link span:first-child {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .06em;
      }

      .lifecycle-spine-link.is-current {
        color: var(--ink);
      }

      .lifecycle-spine-link.is-current::before {
        width: 12px;
      }

      .lifecycle-spine-link:focus-visible {
        outline: 1px solid var(--green);
        outline-offset: 4px;
      }

      .lifecycle-contact {
        margin-top: 65px;
        padding-top: 28px;
        border-top: 1px solid var(--line-strong);
      }

      .lifecycle-contact-kicker {
        margin: 0 0 11px;
        color: var(--quiet);
        font-size: 10px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .lifecycle-contact-title {
        margin: 0;
        color: var(--ink);
        font-size: 25px;
        font-weight: 520;
        line-height: 1.03;
        letter-spacing: -.052em;
      }

      .lifecycle-contact-fields {
        display: grid;
        gap: 17px;
        margin-top: 25px;
      }

      .lifecycle-contact-field {
        display: grid;
        gap: 7px;
      }

      .lifecycle-contact-field label {
        color: var(--quiet);
        font-size: 11px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: .02em;
      }

      .lifecycle-contact-field input {
        width: 100%;
        min-height: 34px;
        padding: 0 0 8px;
        border: 0;
        border-bottom: 1px solid var(--line-strong);
        border-radius: 0;
        background: transparent;
        color: var(--ink);
        font: inherit;
        font-size: 15px;
        font-weight: 500;
        letter-spacing: -.02em;
        outline: 0;
      }

      .lifecycle-contact-field input::placeholder {
        color: #98A198;
      }

      .lifecycle-contact-field input:focus {
        border-bottom-color: var(--green-deep);
      }

      .lifecycle-contact-submit {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 46px;
        margin-top: 25px;
        padding: 0 13px 0 16px;
        border: 0;
        border-radius: 8px;
        background: var(--green);
        color: var(--black);
        font: inherit;
        font-size: 14px;
        font-weight: 650;
        letter-spacing: -.015em;
        cursor: pointer;
        transition: background-color .2s ease, transform .2s ease;
      }

      .lifecycle-contact-submit:hover {
        background: #72D948;
      }

      .lifecycle-contact-submit:active {
        transform: translateY(1px);
      }

      .lifecycle-contact-submit:focus-visible {
        outline: 1px solid var(--ink);
        outline-offset: 3px;
      }

      .lifecycle-contact-consent {
        max-width: 28ch;
        margin: 2px 0 0;
        color: #7d827b;
        font-size: 10.5px;
        font-weight: 470;
        line-height: 1.42;
        letter-spacing: -.006em;
      }

      .lifecycle-contact-consent a {
        color: inherit;
        text-decoration-line: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
      }

      .lifecycle-contact-consent a:hover { color: var(--ink); }

      .lifecycle-chapter {
        position: relative;
        display: grid;
        grid-template-columns: 320px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: clamp(48px, 4.5vw, 64px);
        align-items: start;
        min-height: 472px;
        padding: 88px 0 116px;
      }

      .lifecycle-stage-object {
        position: absolute;
        top: 132px;
        left: -14px;
        display: block;
        width: 330px;
        height: 244px;
        object-fit: contain;
        object-position: left center;
      }

      .lifecycle-chapter:first-child .lifecycle-stage-object {
        top: 106px;
        left: -28px;
        width: 370px;
        height: 276px;
      }

      .lifecycle-chapter:last-child .lifecycle-stage-object {
        top: 112px;
        left: 0;
        width: 380px;
        height: 282px;
      }

      .lifecycle-chapter:last-child {
        border-bottom: 0;
      }

      .lifecycle-chapter > div {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        width: min(100%, 570px);
        max-width: 620px;
      }

      .lifecycle-marker,
      .lifecycle-stage {
        margin: 0;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .075em;
        text-transform: uppercase;
      }

      .lifecycle-marker {
        color: var(--quiet);
      }

      .lifecycle-stage {
        margin-bottom: 22px;
        color: var(--ink);
        transition: color .22s ease;
      }

      .lifecycle-chapter.is-current .lifecycle-stage {
        color: var(--green-deep);
      }

      .lifecycle-title {
        max-width: 620px;
        margin: 0;
        color: var(--ink);
        font-size: clamp(38px, 3.5vw, 56px);
        font-weight: 520;
        line-height: .98;
        letter-spacing: -.058em;
      }

      .lifecycle-copy {
        grid-column: 2;
        grid-row: 2;
        justify-self: center;
        max-width: 292px;
        margin: 54px 0 0;
        color: #50544e;
        font-size: 16px;
        font-weight: 470;
        line-height: 1.47;
        letter-spacing: -.018em;
      }

      @media (prefers-reduced-motion: no-preference) {
        .lifecycle-narrative.is-motion-ready .lifecycle-seam {
          transform: scaleX(0);
          transform-origin: left;
          transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-seam::before {
          transform: scaleX(0);
          transform-origin: left;
          transition: transform 360ms cubic-bezier(.22, 1, .36, 1) 260ms;
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-marker,
        .lifecycle-narrative.is-motion-ready .lifecycle-stage,
        .lifecycle-narrative.is-motion-ready .lifecycle-title,
        .lifecycle-narrative.is-motion-ready .lifecycle-copy,
        .lifecycle-narrative.is-motion-ready .lifecycle-stage-object,
        .lifecycle-narrative.is-motion-ready .lifecycle-spine,
        .lifecycle-narrative.is-motion-ready .lifecycle-spine-label,
        .lifecycle-narrative.is-motion-ready .lifecycle-spine-link {
          opacity: 0;
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-marker {
          transform: translateX(-8px);
          transition: opacity 360ms cubic-bezier(.22, 1, .36, 1), transform 360ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-stage {
          transform: translateX(8px);
          transition: opacity 360ms cubic-bezier(.22, 1, .36, 1), transform 360ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-title {
          clip-path: inset(0 0 100% 0);
          transform: translateY(14px);
          transition: opacity 600ms cubic-bezier(.22, 1, .36, 1), clip-path 600ms cubic-bezier(.22, 1, .36, 1), transform 600ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-copy {
          transform: translateY(10px);
          transition: opacity 420ms cubic-bezier(.22, 1, .36, 1), transform 420ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-stage-object {
          transform: translateX(-16px);
          transition: opacity 520ms cubic-bezier(.22, 1, .36, 1), transform 520ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-spine {
          transition: opacity 520ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-spine-label {
          transform: translateY(8px);
          transition: opacity 360ms cubic-bezier(.22, 1, .36, 1), transform 360ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-spine-list::before {
          transform: scaleY(0);
          transform-origin: top;
          transition: transform 520ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-spine-link {
          transform: translateX(8px);
          transition: opacity 320ms cubic-bezier(.22, 1, .36, 1), transform 320ms cubic-bezier(.22, 1, .36, 1);
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-seam,
        .lifecycle-narrative.is-intro-revealed .lifecycle-seam::before,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-marker,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-title,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-copy,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage-object,
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine,
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-label,
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-link {
          opacity: 1;
          transform: none;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-title {
          clip-path: inset(0);
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list::before {
          transform: scaleY(1);
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-marker,
        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage {
          transition-delay: 360ms;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-title {
          transition-delay: 440ms;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-copy {
          transition-delay: 560ms;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage-object {
          transition-delay: 600ms;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-spine,
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-label,
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list::before {
          transition-delay: 680ms;
        }

        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(1) .lifecycle-spine-link { transition-delay: 760ms; }
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(2) .lifecycle-spine-link { transition-delay: 816ms; }
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(3) .lifecycle-spine-link { transition-delay: 872ms; }
        .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(4) .lifecycle-spine-link { transition-delay: 928ms; }

        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-marker,
        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-stage,
        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-title,
        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-copy,
        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-stage-object {
          opacity: 1;
          transform: none;
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-title {
          clip-path: inset(0);
          transition-delay: 60ms;
        }

        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-copy,
        .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-stage-object {
          transition-delay: 120ms;
        }
      }

    }


    @media (min-width: 1025px) {
      .capability-section {
        position: relative;
        display: block;
        overflow: hidden;
        border-top: 1px solid #293129;
        background: var(--black);
        color: var(--paper);
      }

      .capability-shell {
        width: min(calc(100% - 64px), 1312px);
        margin: 0 auto;
      }

      .capability-opening {
        position: relative;
        min-height: 1180px;
        padding: 142px 0 116px;
      }

      .capability-opening::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: 72px;
        height: 2px;
        content: "";
        background: var(--green);
      }

      .capability-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 32px;
        margin-bottom: 52px;
      }

      .capability-index,
      .capability-meta-note,
      .capability-proof-kicker,
      .capability-product-label,
      .capability-product-nav,
      .capability-product-detail-label,
      .capability-product-foot span {
        margin: 0;
        font-size: 11px;
        font-weight: 620;
        line-height: 1.3;
        letter-spacing: .072em;
        text-transform: uppercase;
      }

      .capability-index { color: #BBC5BA; }
      .capability-meta-note { color: #738074; }

      .capability-intro-grid {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: 24px;
        align-items: start;
      }

      .capability-title {
        grid-column: 1 / 10;
        max-width: 910px;
        margin: 0;
        color: var(--paper);
        font-size: clamp(62px, 5vw, 72px);
        font-weight: 540;
        line-height: .95;
        letter-spacing: -.052em;
      }

      .capability-title span { display: block; }

      .capability-copy {
        grid-column: 10 / 13;
        max-width: 29ch;
        margin: 8px 0 0;
        color: #BBC5BA;
        font-size: 17px;
        font-weight: 420;
        line-height: 1.55;
        letter-spacing: -.01em;
      }

      .capability-proof {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: 24px;
        align-items: start;
        margin-top: 112px;
      }

      .capability-proof-note {
        grid-column: 1 / 3;
        position: relative;
        padding-top: 18px;
        border-top: 1px solid #293129;
      }

      .capability-proof-note::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: 56px;
        height: 2px;
        content: "";
        background: var(--green);
      }

      .capability-proof-kicker { color: #8E9A8D; }

      .capability-proof-note strong {
        display: block;
        max-width: 15ch;
        margin-top: 12px;
        color: #F7F8F5;
        font-size: 17px;
        font-weight: 520;
        line-height: 1.35;
        letter-spacing: -.018em;
      }

      .capability-proof-note small {
        display: block;
        max-width: 18ch;
        margin-top: 18px;
        color: #738074;
        font-size: 12px;
        font-weight: 460;
        line-height: 1.48;
      }

      .capability-product {
        grid-column: 3 / 13;
        min-height: 596px;
        overflow: hidden;
        color: #101410;
        background: #F1F3EF;
        clip-path: polygon(0 0, calc(100% - 38px) 0, 100% 38px, 100% 100%, 0 100%);
      }

      .capability-product-head {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        min-height: 52px;
        padding: 0 28px;
        border-bottom: 1px solid #CDD4CA;
      }

      .capability-product-label { color: #4D574E; }

      .capability-product-nav {
        display: flex;
        gap: 24px;
        color: #677168;
        letter-spacing: .04em;
      }

      .capability-product-body {
        display: grid;
        grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
        min-height: 486px;
      }

      .capability-product-copy {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 54px 46px 52px 44px;
        border-right: 1px solid #CDD4CA;
      }

      .capability-product-copy p {
        max-width: 34ch;
        margin: 22px 0 0;
        color: #4D574E;
        font-size: 15px;
        font-weight: 420;
        line-height: 1.58;
      }

      .capability-product-copy h3 {
        max-width: 9ch;
        margin: 18px 0 0;
        color: #101410;
        font-size: 46px;
        font-weight: 560;
        line-height: .99;
        letter-spacing: -.045em;
      }

      .capability-product-action {
        display: inline-flex;
        align-items: center;
        gap: 22px;
        min-height: 43px;
        margin-top: 30px;
        padding: 0 14px 0 16px;
        border: 1px solid #3FAA1E;
        border-radius: 8px;
        background: var(--green);
        color: #090C0A;
        font-size: 13px;
        font-weight: 620;
      }

      .capability-product-action::after {
        width: 18px;
        height: 1px;
        content: "";
        background: currentColor;
      }

      .capability-product-detail {
        position: relative;
        display: grid;
        grid-template-rows: 1fr 144px;
        min-width: 0;
        background: #E7EAE4;
      }

      .capability-product-visual {
        position: relative;
        min-height: 342px;
        overflow: hidden;
        background: #D9DED6;
      }

      .capability-product-visual::before {
        position: absolute;
        top: 52px;
        right: 42px;
        bottom: 52px;
        left: 42px;
        content: "";
        border-top: 1px solid #A9B2A6;
        border-bottom: 1px solid #A9B2A6;
      }

      .capability-product-visual::after {
        position: absolute;
        top: 52px;
        bottom: 52px;
        left: 39%;
        width: 1px;
        content: "";
        background: #A9B2A6;
      }

      .capability-product-detail-label {
        position: absolute;
        z-index: 2;
        top: 28px;
        left: 42px;
        color: #677168;
      }

      .capability-product-object {
        position: absolute;
        z-index: 2;
        top: 99px;
        right: 42px;
        left: 42px;
        display: grid;
        grid-template-columns: 39% 1fr;
        gap: 0;
        height: 180px;
      }

      .capability-product-object-main {
        position: relative;
        border-right: 1px solid #A9B2A6;
      }

      .capability-product-object-main::before,
      .capability-product-object-main::after,
      .capability-product-object-side::before,
      .capability-product-object-side::after {
        position: absolute;
        left: 0;
        height: 7px;
        content: "";
        background: #101410;
      }

      .capability-product-object-main::before { top: 25px; width: 72%; height: 13px; }
      .capability-product-object-main::after { top: 57px; width: 48%; background: #677168; }

      .capability-product-object-side {
        position: relative;
        margin-left: 34px;
      }

      .capability-product-object-side::before { top: 28px; width: 62%; background: #4D574E; }
      .capability-product-object-side::after { top: 57px; width: 42%; background: #8D978B; }

      .capability-product-signal {
        position: absolute;
        z-index: 3;
        right: 43px;
        bottom: 51px;
        width: 52px;
        height: 2px;
        background: var(--green);
      }

      .capability-product-context {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-top: 1px solid #CDD4CA;
        background: #EEF0EC;
      }

      .capability-product-context div {
        padding: 25px 24px;
        border-right: 1px solid #CDD4CA;
      }

      .capability-product-context div:last-child { border-right: 0; }

      .capability-product-context span {
        display: block;
        color: #677168;
        font-size: 10px;
        font-weight: 630;
        letter-spacing: .06em;
        text-transform: uppercase;
      }

      .capability-product-context strong {
        display: block;
        margin-top: 11px;
        color: #101410;
        font-size: 15px;
        font-weight: 520;
        line-height: 1.25;
      }

      .capability-product-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 58px;
        padding: 0 28px;
        border-top: 1px solid #CDD4CA;
      }

      .capability-product-foot span { color: #677168; }
      .capability-product-foot span:last-child { color: #2E7419; }
    }

    /* Shared interaction polish — current approved responsive layouts stay unchanged. */
    .header-phone,
    .mobile-hero-phone {
      color: var(--ink);
      font-weight: 600;
      transition: color 180ms ease;
    }

    .header-phone:focus-visible,
    .mobile-hero-phone:focus-visible {
      color: var(--green-deep);
      outline: 1px solid var(--green);
      outline-offset: 5px;
      border-radius: 4px;
    }

    .primary-action,
    .header-cta,
    .lifecycle-contact-submit,
    .lifecycle-contact-tablet-submit,
    .lifecycle-contact-mobile-submit {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(16, 20, 16, .16);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .26),
        0 1px 0 rgba(16, 20, 16, .035);
      letter-spacing: -.012em;
      transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
    }

    .header-cta {
      background: rgba(247, 248, 245, .7);
      border-color: #AEB8AA;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
    }

    .primary-action .action-arrow,
    .header-cta .action-arrow,
    .lifecycle-contact-submit .action-arrow,
    .lifecycle-contact-tablet-submit .action-arrow,
    .lifecycle-contact-mobile-submit .action-arrow {
      width: 27px;
      height: 27px;
      flex: 0 0 27px;
      padding: 6.5px;
      border: 1px solid rgba(16, 20, 16, .22);
      border-radius: 7px;
      transition:
        transform 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
    }

    .header-cta .action-arrow {
      border-color: rgba(16, 20, 16, .2);
    }

    .primary-action:focus-visible,
    .header-cta:focus-visible,
    .lifecycle-contact-submit:focus-visible,
    .lifecycle-contact-tablet-submit:focus-visible,
    .lifecycle-contact-mobile-submit:focus-visible {
      outline: 2px solid var(--green-deep);
      outline-offset: 3px;
    }

    @media (hover: hover) {
      .header-phone:hover,
      .mobile-hero-phone:hover {
        color: var(--green-deep);
      }

      .primary-action:hover,
      .lifecycle-contact-submit:hover,
      .lifecycle-contact-tablet-submit:hover,
      .lifecycle-contact-mobile-submit:hover {
        background: #56BC30;
        border-color: #429B24;
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, .28),
          0 5px 14px rgba(16, 20, 16, .08);
        transform: translateY(-1px);
      }

      .header-cta:hover {
        background: #F1F5EF;
        border-color: var(--green-deep);
        color: var(--green-deep);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
        transform: translateY(-1px);
      }

      .primary-action:hover .action-arrow,
      .header-cta:hover .action-arrow,
      .lifecycle-contact-submit:hover .action-arrow,
      .lifecycle-contact-tablet-submit:hover .action-arrow,
      .lifecycle-contact-mobile-submit:hover .action-arrow {
        transform: translate(2px, -1px);
      }

      .primary-action:hover .action-arrow,
      .lifecycle-contact-submit:hover .action-arrow,
      .lifecycle-contact-tablet-submit:hover .action-arrow,
      .lifecycle-contact-mobile-submit:hover .action-arrow {
        background: rgba(255, 255, 255, .12);
        border-color: rgba(16, 20, 16, .3);
      }

      .header-cta:hover .action-arrow {
        background: rgba(97, 200, 53, .08);
        border-color: var(--green-deep);
      }
    }

    .primary-action:active,
    .header-cta:active,
    .lifecycle-contact-submit:active,
    .lifecycle-contact-tablet-submit:active,
    .lifecycle-contact-mobile-submit:active {
      transform: translateY(0);
      box-shadow: inset 0 1px 2px rgba(16, 20, 16, .08);
    }

    /* Desktop-only character idle motion. Entrance remains on the frame. */
    @media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
      @keyframes genesis-character-idle {
        0%, 16%, 100% {
          transform: translate3d(0, 0, 0) rotate(0deg);
        }
        43% {
          transform: translate3d(0, -7px, 0) rotate(-.12deg);
        }
        61% {
          transform: translate3d(0, -4px, 0) rotate(.08deg);
        }
        80% {
          transform: translate3d(0, 0, 0) rotate(0deg);
        }
      }

      .desktop-character {
        transform-origin: 50% 72%;
        animation: genesis-character-idle 6.4s cubic-bezier(.45, 0, .25, 1) 1.2s infinite;
        will-change: transform;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
      }
    }


    /* Section 03 / real proof pass v3 — desktop/full-calculator proof assets. */
    @media (min-width: 1025px) {
      .capability-section.capability-v2 {
        min-height: 0;
        overflow: hidden;
        border-top: 0;
        background: #090C0A;
        color: #F7F8F5;
      }

      .cap-v2-shell {
        width: min(calc(100% - 64px), 1312px);
        margin: 0 auto;
      }

      .cap-v2-opening {
        position: relative;
        padding: 154px 0 132px;
      }

      .cap-v2-opening::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 72px;
        height: 1px;
        content: "";
        background: #63CA38;
      }

      .cap-v2-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 74px;
        color: #8E9A8D;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v2-meta strong {
        color: #63CA38;
        font-weight: 680;
      }

      .cap-v2-intro {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: end;
      }

      .cap-v2-title {
        grid-column: 1 / 9;
        margin: 0;
        max-width: 900px;
        color: #F7F8F5;
        font-size: clamp(64px, 5.15vw, 76px);
        font-weight: 570;
        line-height: .98;
        letter-spacing: -.052em;
      }

      .cap-v2-title span { display: block; }
      .cap-v2-title span:last-child { margin-left: 7.5%; }

      .cap-v2-lead {
        grid-column: 9 / 13;
        margin: 0 0 7px;
        max-width: 34ch;
        color: #BBC5BA;
        font-size: 17px;
        font-weight: 420;
        line-height: 1.62;
        letter-spacing: -.008em;
      }

      .cap-v2-projects {
        position: relative;
        padding-bottom: 176px;
      }

      .cap-v2-project {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
      }

      .cap-v2-project + .cap-v2-project {
        margin-top: 184px;
      }

      .cap-v2-project-copy {
        position: relative;
      }

      .cap-v2-kicker {
        margin: 0 0 22px;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v2-project-name {
        margin: 0;
        color: #F7F8F5;
        font-size: 30px;
        font-weight: 560;
        line-height: 1.12;
        letter-spacing: -.03em;
      }

      .cap-v2-project-text {
        margin: 24px 0 0;
        color: #BBC5BA;
        font-size: 16px;
        font-weight: 410;
        line-height: 1.62;
      }

      .cap-v2-project-link {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 30px;
        padding-bottom: 6px;
        border-bottom: 1px solid #293129;
        color: #F7F8F5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
      }

      .cap-v2-project-link::after {
        color: #63CA38;
        content: "↗";
        font-size: 14px;
        transition: transform 180ms ease;
      }

      .cap-v2-project-link:hover::after { transform: translate(2px, -2px); }

      .cap-v2-media {
        position: relative;
        margin: 0;
      }

      .cap-v2-media img {
        display: block;
        width: 100%;
        height: auto;
      }

      .cap-v2-media--zr {
        grid-column: 4 / 13;
        overflow: hidden;
        background: #F7F8F5;
        clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%);
      }

      .cap-v2-project--zr .cap-v2-project-copy {
        grid-column: 1 / 4;
        align-self: end;
        padding: 0 10px 28px 0;
      }

      .cap-v2-media-caption {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        margin-top: 14px;
        color: #738074;
        font-size: 11px;
        font-weight: 540;
        line-height: 1.35;
        letter-spacing: .035em;
        text-transform: uppercase;
      }

      .cap-v2-media-caption b {
        color: #BBC5BA;
        font-weight: 560;
      }

      .cap-v2-project--almaz {
        align-items: center;
      }

      .cap-v2-project--almaz .cap-v2-media-wrap {
        grid-column: 1 / 8;
        position: relative;
      }

      .cap-v2-project--almaz .cap-v2-project-copy {
        grid-column: 9 / 13;
        padding-left: 2px;
      }

      .cap-v2-media--almaz {
        position: relative;
        overflow: hidden;
        border: 1px solid #293129;
        background: #F7F8F5;
      }

      .cap-v2-media--almaz::before {
        position: absolute;
        z-index: 1;
        top: -1px;
        left: 64px;
        width: 76px;
        height: 2px;
        content: "";
        background: #63CA38;
      }

      .cap-v2-function-flow {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        margin-top: 18px;
        border-top: 1px solid #293129;
      }

      .cap-v2-function-flow span {
        position: relative;
        padding: 17px 18px 0 0;
        color: #8E9A8D;
        font-size: 11px;
        font-weight: 580;
        line-height: 1.35;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .cap-v2-function-flow span:not(:last-child)::after {
        position: absolute;
        top: 21px;
        right: 18px;
        color: #63CA38;
        content: "→";
      }

      .cap-v2-system-close {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
        padding: 122px 0 152px;
        border-top: 1px solid #293129;
      }

      .cap-v2-system-close-kicker {
        grid-column: 1 / 4;
        margin: 5px 0 0;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v2-system-close-text {
        grid-column: 5 / 12;
        margin: 0;
        color: #F7F8F5;
        font-size: 38px;
        font-weight: 520;
        line-height: 1.13;
        letter-spacing: -.035em;
      }

      .cap-v2-system-close-text span { color: #8E9A8D; }
    }


    /* Section 03 / real proof pass v4 — user-supplied source captures only. */
    @media (min-width: 1025px) {
      .capability-section.capability-v4 {
        display: block;
        min-height: 0;
        overflow: hidden;
        border-top: 0;
        background: #090C0A;
        color: #F7F8F5;
      }

      .cap-v4-shell {
        width: min(calc(100% - 64px), 1312px);
        margin: 0 auto;
      }

      .cap-v4-opening {
        position: relative;
        padding: 154px 0 132px;
      }

      .cap-v4-opening::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 72px;
        height: 1px;
        content: "";
        background: #63CA38;
      }

      .cap-v4-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 74px;
        color: #8E9A8D;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v4-meta strong { color: #63CA38; font-weight: 680; }

      .cap-v4-intro {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: end;
      }

      .cap-v4-title {
        grid-column: 1 / 9;
        margin: 0;
        max-width: 900px;
        color: #F7F8F5;
        font-size: clamp(64px, 5.15vw, 76px);
        font-weight: 570;
        line-height: .98;
        letter-spacing: -.052em;
      }

      .cap-v4-title span { display: block; }
      .cap-v4-title span:last-child { margin-left: 7.5%; }

      .cap-v4-lead {
        grid-column: 9 / 13;
        margin: 0 0 7px;
        max-width: 34ch;
        color: #BBC5BA;
        font-size: 17px;
        font-weight: 420;
        line-height: 1.62;
        letter-spacing: -.008em;
      }

      .cap-v4-projects { padding-bottom: 176px; }

      .cap-v4-project {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
      }

      .cap-v4-project + .cap-v4-project { margin-top: 196px; }

      .cap-v4-project-copy { position: relative; }

      .cap-v4-kicker {
        margin: 0 0 22px;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v4-project-name {
        margin: 0;
        color: #F7F8F5;
        font-size: 30px;
        font-weight: 560;
        line-height: 1.12;
        letter-spacing: -.03em;
      }

      .cap-v4-project-text {
        margin: 24px 0 0;
        color: #BBC5BA;
        font-size: 16px;
        font-weight: 410;
        line-height: 1.62;
      }

      .cap-v4-project-link {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 30px;
        padding-bottom: 6px;
        border-bottom: 1px solid #293129;
        color: #F7F8F5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
      }

      .cap-v4-project-link::after {
        color: #63CA38;
        content: "↗";
        font-size: 14px;
        transition: transform 180ms ease;
      }

      .cap-v4-project-link:hover::after { transform: translate(2px, -2px); }

      .cap-v4-media {
        position: relative;
        margin: 0;
        background: #F7F8F5;
      }

      .cap-v4-media img {
        display: block;
        width: 100%;
        height: auto;
      }

      .cap-v4-project--zr .cap-v4-project-copy {
        grid-column: 1 / 4;
        align-self: start;
        padding: 10px 14px 0 0;
      }

      .cap-v4-zr-proof {
        grid-column: 4 / 13;
        min-width: 0;
      }

      .cap-v4-media--zr-hero {
        border: 1px solid #293129;
      }

      .cap-v4-proof-caption {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        margin-top: 14px;
        color: #738074;
        font-size: 11px;
        font-weight: 540;
        line-height: 1.35;
        letter-spacing: .035em;
        text-transform: uppercase;
      }

      .cap-v4-proof-caption b { color: #BBC5BA; font-weight: 560; }

      .cap-v4-zr-catalog-row {
        display: grid;
        grid-template-columns: 1fr 3.1fr;
        gap: 24px;
        align-items: start;
        margin-top: 56px;
      }

      .cap-v4-zr-catalog-note {
        position: relative;
        margin: 6px 0 0;
        padding-top: 18px;
        border-top: 1px solid #293129;
        color: #8E9A8D;
        font-size: 12px;
        font-weight: 520;
        line-height: 1.5;
        letter-spacing: .02em;
      }

      .cap-v4-zr-catalog-note::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: 42px;
        height: 1px;
        content: "";
        background: #63CA38;
      }

      .cap-v4-zr-catalog-note strong {
        display: block;
        margin-bottom: 9px;
        color: #F7F8F5;
        font-size: 11px;
        font-weight: 650;
        letter-spacing: .075em;
        text-transform: uppercase;
      }

      .cap-v4-media--zr-catalog {
        border: 1px solid #293129;
      }

      .cap-v4-project--almaz { align-items: center; }

      .cap-v4-project--almaz .cap-v4-calculator-wrap {
        grid-column: 1 / 9;
        min-width: 0;
      }

      .cap-v4-project--almaz .cap-v4-project-copy {
        grid-column: 9 / 13;
        padding-left: 2px;
      }

      .cap-v4-media--almaz {
        overflow: hidden;
        border: 1px solid #293129;
        background: #F7F8F5;
      }

      .cap-v4-media--almaz::before {
        position: absolute;
        z-index: 1;
        top: -1px;
        left: 64px;
        width: 76px;
        height: 2px;
        content: "";
        background: #63CA38;
      }

      .cap-v4-function-flow {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        margin-top: 18px;
        border-top: 1px solid #293129;
      }

      .cap-v4-function-flow span {
        position: relative;
        padding: 17px 18px 0 0;
        color: #8E9A8D;
        font-size: 11px;
        font-weight: 580;
        line-height: 1.35;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .cap-v4-function-flow span:not(:last-child)::after {
        position: absolute;
        top: 21px;
        right: 14px;
        color: #63CA38;
        content: "→";
      }

      .cap-v4-system-close {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
        padding: 122px 0 152px;
        border-top: 1px solid #293129;
      }

      .cap-v4-system-close-kicker {
        grid-column: 1 / 4;
        margin: 5px 0 0;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v4-system-close-text {
        grid-column: 5 / 12;
        margin: 0;
        color: #F7F8F5;
        font-size: 38px;
        font-weight: 520;
        line-height: 1.13;
        letter-spacing: -.035em;
      }

      .cap-v4-system-close-text span { color: #8E9A8D; }
    }


    /* Section 03 / v5 engineering proof — native HTML/CSS, no screenshot. */
    @media (min-width: 1025px) {
      .cap-v5-project--plugin {
        align-items: center;
        margin-top: 210px !important;
      }

      .cap-v5-project--plugin .cap-v4-project-copy {
        grid-column: 1 / 4;
        padding-right: 12px;
      }

      .cap-v5-plugin-proof {
        grid-column: 5 / 13;
        position: relative;
        min-height: 690px;
        padding: 54px 58px 48px;
        overflow: hidden;
        border: 1px solid #293129;
        background: #0D100E;
        clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%);
      }

      .cap-v5-plugin-proof::before {
        position: absolute;
        top: -1px;
        left: 76px;
        width: 82px;
        height: 2px;
        content: "";
        background: #63CA38;
      }

      .cap-v5-plugin-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 34px;
        padding-bottom: 24px;
        border-bottom: 1px solid #232A24;
      }

      .cap-v5-plugin-brand {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
      }

      .cap-v5-plugin-avatar {
        display: grid;
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        place-items: center;
        border: 1px solid #354038;
        border-radius: 50%;
        background: #151A16;
        color: #63CA38;
        font-size: 12px;
        font-weight: 760;
        letter-spacing: -.03em;
      }

      .cap-v5-plugin-brand-text strong {
        display: block;
        color: #F7F8F5;
        font-size: 14px;
        font-weight: 620;
        line-height: 1.2;
      }

      .cap-v5-plugin-brand-text span {
        display: block;
        margin-top: 4px;
        color: #738074;
        font-size: 11px;
        font-weight: 520;
        letter-spacing: .04em;
        text-transform: uppercase;
      }

      .cap-v5-plugin-status {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #8E9A8D;
        font-size: 11px;
        font-weight: 560;
        letter-spacing: .045em;
        text-transform: uppercase;
      }

      .cap-v5-plugin-status::before {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #63CA38;
        content: "";
        box-shadow: 0 0 0 5px rgba(99, 202, 56, .08);
      }

      .cap-v5-telegram-stage {
        display: grid;
        grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr);
        gap: 34px;
        align-items: end;
      }

      .cap-v5-message {
        max-width: 560px;
      }

      .cap-v5-message-bubble {
        position: relative;
        padding: 28px 30px 24px;
        border: 1px solid #343B36;
        border-radius: 18px 18px 18px 6px;
        background: linear-gradient(155deg, #221D20 0%, #1B1D1C 54%, #171B18 100%);
        box-shadow: 0 26px 62px rgba(0,0,0,.23);
      }

      .cap-v5-message-title {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 25px;
        color: #F7F8F5;
        font-size: 21px;
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: -.02em;
      }

      .cap-v5-mail-icon {
        width: 28px;
        height: 28px;
        display: grid;
        place-items: center;
        border: 1px solid #354038;
        border-radius: 8px;
        background: #111512;
        color: #63CA38;
        font-size: 14px;
      }

      .cap-v5-message-meta {
        display: grid;
        gap: 18px;
      }

      .cap-v5-message-meta-row span {
        display: block;
        margin-bottom: 5px;
        color: #8E9A8D;
        font-size: 12px;
        font-weight: 560;
      }

      .cap-v5-message-meta-row strong {
        display: block;
        color: #F7F8F5;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.48;
      }

      .cap-v5-message-meta-row em {
        display: block;
        margin-top: 3px;
        color: #73A9F4;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
      }

      .cap-v5-message-body {
        margin-top: 25px;
        padding-top: 23px;
        border-top: 1px solid #4A4F4B;
      }

      .cap-v5-message-body > strong {
        display: block;
        margin-bottom: 20px;
        color: #F7F8F5;
        font-size: 16px;
        font-weight: 560;
      }

      .cap-v5-contact-field + .cap-v5-contact-field { margin-top: 18px; }

      .cap-v5-contact-field span {
        display: block;
        margin-bottom: 5px;
        color: #8E9A8D;
        font-size: 12px;
        font-weight: 520;
      }

      .cap-v5-contact-field b {
        display: block;
        color: #F7F8F5;
        font-size: 17px;
        font-weight: 520;
        line-height: 1.4;
      }

      .cap-v5-contact-field--masked b {
        color: #73A9F4;
        letter-spacing: .025em;
      }

      .cap-v5-message-time {
        position: absolute;
        right: 18px;
        bottom: 12px;
        color: #737B75;
        font-size: 10px;
        font-weight: 520;
      }

      .cap-v5-message-actions {
        display: grid;
        gap: 8px;
        margin-top: 8px;
      }

      .cap-v5-message-action {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 48px;
        padding: 0 18px;
        border: 1px solid #303833;
        border-radius: 12px;
        background: #1B201C;
        color: #F7F8F5;
        font-size: 14px;
        font-weight: 570;
        line-height: 1;
      }

      .cap-v5-message-action span {
        color: #63CA38;
        font-size: 15px;
      }

      .cap-v5-plugin-side {
        padding: 0 0 6px;
      }

      .cap-v5-plugin-side-label {
        margin: 0 0 24px;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v5-plugin-flow {
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .cap-v5-plugin-flow li {
        position: relative;
        padding: 0 0 28px 24px;
        color: #BBC5BA;
        font-size: 13px;
        font-weight: 470;
        line-height: 1.45;
      }

      .cap-v5-plugin-flow li:not(:last-child)::before {
        position: absolute;
        top: 9px;
        bottom: -1px;
        left: 3px;
        width: 1px;
        content: "";
        background: #293129;
      }

      .cap-v5-plugin-flow li::after {
        position: absolute;
        top: 5px;
        left: 0;
        width: 7px;
        height: 7px;
        border: 1px solid #63CA38;
        border-radius: 50%;
        background: #0D100E;
        content: "";
      }

      .cap-v5-plugin-flow strong {
        display: block;
        margin-bottom: 4px;
        color: #F7F8F5;
        font-size: 12px;
        font-weight: 620;
        letter-spacing: .04em;
        text-transform: uppercase;
      }

      .cap-v5-privacy-note {
        margin: 2px 0 0;
        padding-top: 18px;
        border-top: 1px solid #293129;
        color: #738074;
        font-size: 10px;
        font-weight: 520;
        line-height: 1.45;
        letter-spacing: .03em;
      }

      .cap-v5-plugin-caption {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-top: 14px;
        color: #738074;
        font-size: 11px;
        font-weight: 540;
        line-height: 1.35;
        letter-spacing: .035em;
        text-transform: uppercase;
      }

      .cap-v5-plugin-caption b { color: #BBC5BA; font-weight: 560; }
    }


    /* Section 03 / v6 — new art direction from scratch. Existing v4/v5 execution is not used. */
    @media (min-width: 1025px) {
      .capability-section.cap-v6 {
        display: block;
        position: relative;
        overflow: hidden;
        border-top: 0;
        background: #090C0A;
        color: #F7F8F5;
      }

      .cap-v6-shell {
        width: min(calc(100% - 64px), 1312px);
        margin: 0 auto;
      }

      .cap-v6-opening {
        position: relative;
        padding: 142px 0 118px;
      }

      .cap-v6-opening::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 72px;
        height: 1px;
        content: "";
        background: #63CA38;
      }

      .cap-v6-meta {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 32px;
        margin-bottom: 66px;
        color: #788278;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: .09em;
        text-transform: uppercase;
      }

      .cap-v6-meta strong {
        color: #63CA38;
        font-weight: 680;
      }

      .cap-v6-intro {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: end;
      }

      .cap-v6-title {
        grid-column: 1 / 9;
        max-width: 900px;
        margin: 0;
        color: #F7F8F5;
        font-size: clamp(62px, 4.8vw, 74px);
        font-weight: 560;
        line-height: .96;
        letter-spacing: -.052em;
      }

      .cap-v6-title span { display: block; }
      .cap-v6-title span:last-child { margin-left: 8.5%; }

      .cap-v6-lead {
        grid-column: 9 / 13;
        max-width: 34ch;
        margin: 0 0 5px;
        color: #B5BEB4;
        font-size: 17px;
        font-weight: 410;
        line-height: 1.58;
        letter-spacing: -.008em;
      }

      .cap-v6-scenes {
        padding: 0 0 170px;
      }

      .cap-v6-scene {
        position: relative;
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: start;
        padding: 62px 0 0;
        border-top: 1px solid #262D27;
      }

      .cap-v6-scene + .cap-v6-scene {
        margin-top: 132px;
      }

      .cap-v6-scene::before {
        position: absolute;
        top: -1px;
        left: 0;
        width: 48px;
        height: 2px;
        content: "";
        background: #63CA38;
      }

      .cap-v6-copy {
        grid-column: 1 / 4;
        padding: 2px 18px 0 0;
      }

      .cap-v6-kicker {
        margin: 0 0 22px;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }

      .cap-v6-scene-title {
        max-width: 11ch;
        margin: 0;
        color: #F7F8F5;
        font-size: 35px;
        font-weight: 550;
        line-height: 1.04;
        letter-spacing: -.038em;
      }

      .cap-v6-scene-text {
        max-width: 29ch;
        margin: 24px 0 0;
        color: #AAB4AA;
        font-size: 16px;
        font-weight: 410;
        line-height: 1.58;
      }

      .cap-v6-route {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 11px;
        margin-top: 28px;
        color: #788278;
        font-size: 11px;
        font-weight: 620;
        line-height: 1.25;
        letter-spacing: .045em;
        text-transform: uppercase;
      }

      .cap-v6-route i {
        width: 20px;
        height: 1px;
        background: #3B463C;
      }

      .cap-v6-link {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 30px;
        padding-bottom: 6px;
        border-bottom: 1px solid #354036;
        color: #F7F8F5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
      }

      .cap-v6-link::after {
        color: #63CA38;
        content: "↗";
        font-size: 14px;
        transition: transform 180ms ease;
      }

      .cap-v6-link:hover::after,
      .cap-v6-link:focus-visible::after { transform: translate(2px, -2px); }

      /* Scene 01 — one connected web-product proof, not two mockup cards. */
      .cap-v6-web-proof {
        grid-column: 4 / 13;
        position: relative;
        min-width: 0;
        padding-bottom: 28px;
      }

      .cap-v6-web-frame {
        position: relative;
        overflow: hidden;
        border: 1px solid #2A332B;
        background: #F7F8F5;
        clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%);
      }

      .cap-v6-web-frame-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 43px;
        padding: 0 18px;
        border-bottom: 1px solid #D8DDD6;
        color: #59635A;
        background: #F0F2EE;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
      }

      .cap-v6-web-frame-head span:last-child { color: #2E7419; }

      .cap-v6-web-hero {
        position: relative;
        height: 390px;
        overflow: hidden;
        background: #EDEFEA;
      }

      .cap-v6-web-hero img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 38%;
      }

      .cap-v6-web-bridge {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: 170px 1fr;
        align-items: center;
        min-height: 66px;
        border-top: 1px solid #D8DDD6;
        border-bottom: 1px solid #D8DDD6;
        color: #172018;
        background: #F7F8F5;
      }

      .cap-v6-web-bridge-label {
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 20px;
        border-right: 1px solid #D8DDD6;
        color: #687268;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .075em;
        text-transform: uppercase;
      }

      .cap-v6-web-bridge-route {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 100%;
        padding: 0 26px;
      }

      .cap-v6-web-bridge-route::before {
        position: absolute;
        top: 50%;
        right: 26px;
        left: 26px;
        height: 1px;
        content: "";
        background: #CAD2C8;
      }

      .cap-v6-web-bridge-route b {
        position: relative;
        z-index: 1;
        padding: 4px 10px;
        color: #404A41;
        background: #F7F8F5;
        font-size: 10px;
        font-weight: 620;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .cap-v6-web-bridge-route b:first-child { color: #2E7419; }

      .cap-v6-web-catalog {
        height: 316px;
        overflow: hidden;
        background: #F7F8F5;
      }

      .cap-v6-web-catalog img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 18%;
      }

      .cap-v6-proof-foot {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-top: 13px;
        color: #697369;
        font-size: 10px;
        font-weight: 630;
        line-height: 1.3;
        letter-spacing: .065em;
        text-transform: uppercase;
      }

      .cap-v6-proof-foot b { color: #AEB7AD; font-weight: 630; }
      .cap-v6-proof-foot span:last-child { color: #4B9F2B; }

      /* Scene 02 — reconstructed functional flow from the real calculator. */
      .cap-v6-calc-proof {
        grid-column: 4 / 13;
        position: relative;
        min-width: 0;
        min-height: 560px;
        overflow: hidden;
        border: 1px solid #283129;
        background: #0D110E;
        clip-path: polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%);
      }

      .cap-v6-calc-head,
      .cap-v6-auto-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 48px;
        padding: 0 22px;
        border-bottom: 1px solid #283129;
        color: #7F897F;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
      }

      .cap-v6-calc-head strong,
      .cap-v6-auto-head strong { color: #B9C2B8; font-weight: 650; }

      .cap-v6-calc-body {
        display: grid;
        grid-template-columns: minmax(0, 1.18fr) 72px minmax(260px, .82fr);
        min-height: 510px;
      }

      .cap-v6-calc-inputs {
        padding: 34px 32px 30px;
        border-right: 1px solid #283129;
      }

      .cap-v6-calc-label {
        margin: 0 0 18px;
        color: #657065;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .075em;
        text-transform: uppercase;
      }

      .cap-v6-calc-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
      }

      .cap-v6-calc-field {
        min-height: 66px;
        padding: 11px 14px 10px;
        border: 1px solid #2C372D;
        background: #111713;
      }

      .cap-v6-calc-field--wide { grid-column: 1 / -1; }

      .cap-v6-calc-field span {
        display: block;
        color: #69736A;
        font-size: 10px;
        font-weight: 560;
        line-height: 1.3;
      }

      .cap-v6-calc-field strong {
        display: block;
        margin-top: 8px;
        color: #E7EBE5;
        font-size: 15px;
        font-weight: 540;
        line-height: 1.25;
      }

      .cap-v6-calc-options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 20px;
      }

      .cap-v6-calc-option {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 42px;
        padding: 0 12px;
        border: 1px solid #273128;
        color: #A8B1A8;
        background: #101612;
        font-size: 11px;
        font-weight: 500;
      }

      .cap-v6-calc-option b { color: #63CA38; font-weight: 650; }

      .cap-v6-calc-signal {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        border-right: 1px solid #283129;
      }

      .cap-v6-calc-signal::before {
        width: 1px;
        height: 70%;
        content: "";
        background: linear-gradient(to bottom, transparent 0, #34523A 18%, #63CA38 52%, #34523A 82%, transparent 100%);
      }

      .cap-v6-calc-signal::after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
        box-shadow: 0 0 0 5px #0D110E;
        transform: translate(-50%, -50%);
      }

      .cap-v6-calc-result {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 34px 30px;
        background: #0B0F0C;
      }

      .cap-v6-result-kicker {
        margin: 0;
        color: #7B867C;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
      }

      .cap-v6-result-price {
        margin: 14px 0 0;
        color: #F7F8F5;
        font-size: 52px;
        font-weight: 570;
        line-height: .95;
        letter-spacing: -.045em;
      }

      .cap-v6-result-breakdown {
        display: grid;
        gap: 9px;
        margin-top: 26px;
        padding-top: 22px;
        border-top: 1px solid #283129;
      }

      .cap-v6-result-breakdown div {
        display: flex;
        justify-content: space-between;
        gap: 18px;
        color: #808A81;
        font-size: 11px;
        line-height: 1.25;
      }

      .cap-v6-result-breakdown strong { color: #BEC6BD; font-weight: 600; }

      .cap-v6-result-action {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 48px;
        margin-top: 28px;
        padding: 0 15px;
        color: #0A0D0A;
        background: #63CA38;
        font-size: 12px;
        font-weight: 680;
      }

      .cap-v6-calc-caption {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 12px 22px 0;
        color: #687268;
        font-size: 10px;
        font-weight: 620;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .cap-v6-calc-caption b { color: #AEB7AD; font-weight: 620; }
      .cap-v6-calc-caption span:last-child { color: #4B9F2B; }

      /* Scene 03 — human-readable automation proof. */
      .cap-v6-auto-proof {
        grid-column: 4 / 13;
        position: relative;
        min-width: 0;
        overflow: hidden;
        border: 1px solid #283129;
        background: #0D110E;
        clip-path: polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%);
      }

      .cap-v6-auto-status {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: #7F897F;
      }

      .cap-v6-auto-status::before {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
      }

      .cap-v6-auto-body {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr);
        min-height: 520px;
      }

      .cap-v6-mail-stage {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        padding: 42px 34px;
        border-right: 1px solid #283129;
        background:
          linear-gradient(#111713 1px, transparent 1px),
          linear-gradient(90deg, #111713 1px, transparent 1px),
          #0B0F0C;
        background-size: 48px 48px;
      }

      .cap-v6-mail-card {
        width: min(100%, 520px);
        overflow: hidden;
        border: 1px solid #374138;
        background: #151B17;
        box-shadow: 0 22px 50px rgba(0,0,0,.22);
      }

      .cap-v6-mail-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 52px;
        padding: 0 18px;
        border-bottom: 1px solid #313A32;
      }

      .cap-v6-mail-card-head strong {
        color: #E9ECE7;
        font-size: 13px;
        font-weight: 610;
      }

      .cap-v6-mail-card-head span {
        color: #63CA38;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .065em;
        text-transform: uppercase;
      }

      .cap-v6-mail-card-body { padding: 22px 20px 18px; }

      .cap-v6-mail-row {
        display: grid;
        grid-template-columns: 72px 1fr;
        gap: 12px;
        padding: 8px 0;
        border-bottom: 1px solid #283129;
      }

      .cap-v6-mail-row span {
        color: #69736A;
        font-size: 11px;
      }

      .cap-v6-mail-row strong {
        color: #C6CDC4;
        font-size: 12px;
        font-weight: 540;
      }

      .cap-v6-mail-message {
        margin-top: 18px;
        padding: 16px;
        border-left: 2px solid #63CA38;
        color: #B7C0B6;
        background: #111713;
        font-size: 12px;
        line-height: 1.55;
      }

      .cap-v6-mail-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 16px;
      }

      .cap-v6-mail-actions span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        border: 1px solid #334035;
        color: #C6CDC4;
        font-size: 11px;
        font-weight: 560;
      }

      .cap-v6-mail-actions span:first-child {
        border-color: #4E9C35;
        color: #DFF3D8;
        background: #162117;
      }

      .cap-v6-auto-flow {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 36px 30px;
        background: #0D110E;
      }

      .cap-v6-auto-flow-label {
        margin: 0 0 22px;
        color: #6F796F;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
      }

      .cap-v6-auto-steps {
        position: relative;
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .cap-v6-auto-steps::before {
        position: absolute;
        top: 24px;
        bottom: 24px;
        left: 6px;
        width: 1px;
        content: "";
        background: #324334;
      }

      .cap-v6-auto-steps li {
        position: relative;
        display: grid;
        grid-template-columns: 34px 1fr;
        gap: 13px;
        min-height: 72px;
        padding: 10px 0;
      }

      .cap-v6-auto-dot {
        position: relative;
        z-index: 1;
        width: 13px;
        height: 13px;
        margin-top: 7px;
        border: 3px solid #0D110E;
        border-radius: 50%;
        background: #485249;
        box-shadow: 0 0 0 1px #485249;
      }

      .cap-v6-auto-steps li:nth-child(2) .cap-v6-auto-dot,
      .cap-v6-auto-steps li:nth-child(3) .cap-v6-auto-dot { background: #63CA38; box-shadow: 0 0 0 1px #63CA38; }

      .cap-v6-auto-step strong {
        display: block;
        color: #E4E8E2;
        font-size: 15px;
        font-weight: 560;
        line-height: 1.25;
      }

      .cap-v6-auto-step span {
        display: block;
        margin-top: 4px;
        color: #788278;
        font-size: 11px;
        line-height: 1.35;
      }

      .cap-v6-auto-features {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px 14px;
        margin-top: 24px;
        padding-top: 20px;
        border-top: 1px solid #283129;
        color: #778178;
        font-size: 10px;
        font-weight: 580;
        letter-spacing: .035em;
        text-transform: uppercase;
      }

      .cap-v6-auto-features span::before {
        margin-right: 7px;
        color: #63CA38;
        content: "—";
      }

      .cap-v6-auto-caption {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 13px 22px;
        border-top: 1px solid #283129;
        color: #687268;
        font-size: 10px;
        font-weight: 620;
        letter-spacing: .055em;
        text-transform: uppercase;
      }

      .cap-v6-auto-caption b { color: #AEB7AD; font-weight: 620; }
      .cap-v6-auto-caption span:last-child { color: #4B9F2B; }

      .cap-v6-close {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        padding: 44px 0 90px;
        border-top: 1px solid #262D27;
      }

      .cap-v6-close p {
        grid-column: 4 / 13;
        max-width: 850px;
        margin: 0;
        color: #727D73;
        font-size: 22px;
        font-weight: 440;
        line-height: 1.42;
        letter-spacing: -.025em;
      }

      .cap-v6-close strong { color: #C6CDC4; font-weight: 540; }
    }

    @media (min-width: 1680px) {
      .cap-v6-opening { padding-top: 154px; }
      .cap-v6-title { font-size: 76px; }
      .cap-v6-web-hero { height: 410px; }
      .cap-v6-web-catalog { height: 330px; }
    }



    /* Section 03 / v7 — editorial proof system. Rebuilt from scratch. */
    @media (min-width: 1025px) {
      .capability-section.cap-v7 {
        display: block;
        position: relative;
        overflow: hidden;
        color: #F7F8F5;
        /* One continuous proof surface: tonal cadence is intentionally below viewport-level perception. */
        background: linear-gradient(
          180deg,
          #090D0A 0%,
          #090D0A 18%,
          #0B0F0C 38%,
          #0A0E0B 66%,
          #090D0A 100%
        );
      }

      .cap-v7-shell { width: min(calc(100% - 64px), 1312px); margin: 0 auto; }
      .cap-v7-opening { position: relative; padding: 142px 0 116px; }
      .cap-v7-opening::before { position:absolute; top:0; left:0; width:72px; height:1px; content:""; background:#63CA38; }
      .cap-v7-meta { display:flex; justify-content:space-between; gap:32px; margin-bottom:66px; color:#788278; font-size:11px; font-weight:650; line-height:1.25; letter-spacing:.09em; text-transform:uppercase; }
      .cap-v7-meta strong { color:#63CA38; font-weight:680; }
      .cap-v7-intro { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; }
      .cap-v7-title { grid-column:1/9; max-width:930px; margin:0; color:#F7F8F5; font-size:clamp(52px,4.8vw,74px); font-weight:560; line-height:.96; letter-spacing:-.052em; }
      .cap-v7-title span { display:block; }
      .cap-v7-title .cap-v7-title-desktop { display:block; }
      .cap-v7-title .cap-v7-title-wide,
      .cap-v7-title .cap-v7-title-mobile { display:none; }
      .cap-v7-title span:last-child { margin-left:0; }
      /* Desktop: align the lead to the optical first-line rhythm, not the title's cap-height edge. */
      .cap-v7-lead { grid-column:9/13; max-width:34ch; margin:16px 0 0; color:#B5BEB4; font-size:17px; font-weight:410; line-height:1.58; letter-spacing:-.008em; }

      .cap-v7-scenes { padding-bottom:156px; }
      .cap-v7-scene { position:relative; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; padding-top:58px; border-top:1px solid #252C26; }
      .cap-v7-scene + .cap-v7-scene { margin-top:126px; }
      .cap-v7-scene::before { position:absolute; top:-1px; left:0; width:48px; height:2px; content:""; background:#63CA38; }
      .cap-v7-copy { grid-column:1/4; padding:2px 20px 0 0; }
      .cap-v7-kicker { margin:0 0 22px; color:#63CA38; font-size:11px; font-weight:680; line-height:1.25; letter-spacing:.085em; text-transform:uppercase; }
      .cap-v7-scene-title { max-width:12ch; margin:0; color:#F7F8F5; font-size:35px; font-weight:550; line-height:1.04; letter-spacing:-.038em; }
      .cap-v7-scene-text { max-width:30ch; margin:24px 0 0; color:#AAB4AA; font-size:16px; font-weight:410; line-height:1.58; }
      .cap-v7-route { display:flex; flex-wrap:wrap; align-items:center; gap:8px 11px; margin-top:28px; color:#788278; font-size:10px; font-weight:620; line-height:1.25; letter-spacing:.055em; text-transform:uppercase; }
      .cap-v7-route i { width:20px; height:1px; background:#3B463C; }
      .cap-v7-link { display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding-bottom:6px; border-bottom:1px solid #354036; color:#F7F8F5; font-size:13px; font-weight:560; line-height:1; text-decoration:none; }
      .cap-v7-link::after { color:#63CA38; content:"↗"; font-size:14px; transition:transform 180ms ease; }
      .cap-v7-link:hover::after,.cap-v7-link:focus-visible::after { transform:translate(2px,-2px); }
      .cap-v7-own { margin:22px 0 0; color:#738074; font-size:12px; line-height:1.5; }

      /* Web proof: two real surfaces sharing one route, no browser chrome. */
      .cap-v7-web-stage { grid-column:4/13; position:relative; min-width:0; height:650px; }
      .cap-v7-web-plane { position:absolute; margin:0; overflow:hidden; border:1px solid #303831; background:#F7F8F5; box-shadow:0 24px 55px rgba(0,0,0,.18); }
      .cap-v7-web-plane img { display:block; width:100%; height:100%; object-fit:cover; }
      .cap-v7-web-plane--hero { top:32px; left:0; width:78%; aspect-ratio:1.945/1; clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%); }
      .cap-v7-web-plane--hero img { object-position:center 43%; }
      .cap-v7-web-plane--catalog { right:0; bottom:58px; z-index:3; width:49%; height:354px; }
      .cap-v7-web-plane--catalog img { object-position:center 13%; }
      .cap-v7-web-label { position:absolute; z-index:5; display:flex; justify-content:space-between; gap:18px; color:#778178; font-size:10px; font-weight:650; line-height:1.2; letter-spacing:.07em; text-transform:uppercase; }
      .cap-v7-web-label strong { color:#AFB8AE; font-weight:650; }
      .cap-v7-web-label span { color:#4B9F2B; }
      .cap-v7-web-label--hero { top:0; left:0; width:78%; }
      .cap-v7-web-label--catalog { right:0; bottom:425px; width:49%; }
      .cap-v7-web-signal { position:absolute; z-index:4; left:57%; top:378px; width:19%; height:128px; pointer-events:none; }
      .cap-v7-web-signal span { position:absolute; top:0; left:0; width:1px; height:72px; background:#436344; }
      .cap-v7-web-signal span::after { position:absolute; bottom:0; left:0; width:100px; height:1px; content:""; background:linear-gradient(90deg,#63CA38,#354637); }
      .cap-v7-web-signal i { position:absolute; top:68px; left:96px; width:8px; height:8px; border:2px solid #090D0A; border-radius:50%; background:#63CA38; box-shadow:0 0 0 1px #63CA38; }
      .cap-v7-stage-foot { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:center; gap:10px; color:#667067; font-size:10px; font-weight:620; letter-spacing:.055em; text-transform:uppercase; }
      .cap-v7-stage-foot i { width:34px; height:1px; background:#334035; }
      .cap-v7-stage-foot b { margin-left:auto; color:#4B9F2B; font-weight:650; }

      /* Calculator: same visual grammar as automation — input → signal → useful output. */
      .cap-v7-calc-stage { grid-column:4/13; position:relative; min-width:0; overflow:hidden; border:1px solid #29322A; background:#0D110E; clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%); }
      .cap-v7-calc-top { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; min-height:49px; padding:0 22px; border-bottom:1px solid #29322A; color:#737D74; font-size:10px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
      .cap-v7-calc-top strong { color:#C0C8BE; font-weight:650; }
      .cap-v7-calc-top em { position:relative; padding-left:14px; color:#7B867C; font-style:normal; }
      .cap-v7-calc-top em::before { position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v7-calc-flow { display:grid; grid-template-columns:minmax(0,1.12fr) 88px minmax(300px,.88fr); min-height:510px; }
      .cap-v7-calc-inputs { padding:36px 34px 34px; }
      .cap-v7-calc-eyebrow { margin:0 0 24px; color:#707B71; font-size:10px; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
      .cap-v7-calc-row { display:grid; grid-template-columns:1fr auto auto; align-items:baseline; gap:16px; min-height:61px; padding:17px 0 13px; border-top:1px solid #29322A; color:#7D887E; }
      .cap-v7-calc-row:first-of-type { border-top-color:#3A463B; }
      .cap-v7-calc-row span { font-size:12px; }
      .cap-v7-calc-row strong { color:#E5E9E3; font-size:15px; font-weight:560; }
      .cap-v7-calc-row small { color:#747F75; font-size:10px; }
      .cap-v7-calc-row--accent strong { color:#63CA38; }
      .cap-v7-calc-trace { position:relative; border-right:1px solid #29322A; border-left:1px solid #29322A; background:#0B0F0C; }
      .cap-v7-calc-trace span { position:absolute; top:14%; bottom:14%; left:50%; width:1px; background:linear-gradient(to bottom,transparent,#354C38 20%,#63CA38 50%,#354C38 80%,transparent); }
      .cap-v7-calc-trace i { position:absolute; top:50%; left:50%; width:9px; height:9px; border:3px solid #0B0F0C; border-radius:50%; background:#63CA38; box-shadow:0 0 0 1px #63CA38; transform:translate(-50%,-50%); }
      .cap-v7-calc-trace b { position:absolute; top:50%; left:50%; width:28px; height:1px; background:#63CA38; transform:translateY(-50%); }
      .cap-v7-calc-output { display:flex; flex-direction:column; justify-content:center; padding:36px 32px; background:#0B0F0C; }
      .cap-v7-price-label { margin:8px 0 0; color:#8B958B; font-size:12px; line-height:1.3; }
      .cap-v7-price { margin:14px 0 0; color:#F7F8F5; font-size:62px; font-weight:570; line-height:.95; letter-spacing:-.055em; white-space:nowrap; }
      .cap-v7-price small { color:#93A093; font-size:.43em; font-weight:520; }
      .cap-v7-price-notes { display:grid; gap:9px; margin-top:28px; padding-top:20px; border-top:1px solid #29322A; color:#747F75; font-size:11px; line-height:1.4; }
      .cap-v7-price-notes span::before { margin-right:8px; color:#63CA38; content:"—"; }
      .cap-v7-calc-action { display:flex; align-items:center; justify-content:space-between; min-height:49px; margin-top:28px; padding:0 15px; color:#0A0D0A; background:#63CA38; font-size:12px; font-weight:680; }
      .cap-v7-calc-stage .cap-v7-stage-foot { position:static; min-height:46px; padding:0 22px; border-top:1px solid #29322A; }

      .cap-v7-auto-proof { grid-column:4/13 !important; }
      .cap-v7-close { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding:44px 0 90px; border-top:1px solid #252C26; }
      .cap-v7-close p { grid-column:4/13; max-width:850px; margin:0; color:#727D73; font-size:22px; font-weight:440; line-height:1.42; letter-spacing:-.025em; }
      .cap-v7-close strong { color:#C6CDC4; font-weight:540; }
    }

    @media (min-width: 1680px) {
      .cap-v7-opening { padding-top:154px; }
      .cap-v7-web-stage { height:680px; }
      .cap-v7-web-plane--catalog { height:370px; }
    }


    /* Section 03 / v8 — refined browser scenes + fuller custom calculator. */
    @media (min-width: 1025px) {
      /* 01 / real-site browser composition */
      .cap-v7-web-stage {
        height: 660px;
      }
      .cap-v8-browser {
        position: absolute;
        margin: 0;
        overflow: hidden;
        border: 1px solid #303A31;
        background: #EEF0EC;
        box-shadow: 0 28px 70px rgba(0,0,0,.24);
      }
      .cap-v8-browser--main {
        top: 24px;
        left: 0;
        z-index: 2;
        width: 76%;
        clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
      }
      .cap-v8-browser--catalog {
        right: 0;
        bottom: 72px;
        z-index: 5;
        width: 46%;
      }
      .cap-v8-browser-bar {
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        align-items: center;
        gap: 14px;
        min-height: 42px;
        padding: 0 14px;
        border-bottom: 1px solid #D8DDD6;
        background: #F3F5F1;
      }
      .cap-v8-browser-controls {
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .cap-v8-browser-controls i {
        width: 7px;
        height: 7px;
        border: 1px solid #AAB2A9;
        border-radius: 50%;
        background: #D5DAD3;
      }
      .cap-v8-browser-controls i:last-child {
        border-color: #63CA38;
        background: #63CA38;
      }
      .cap-v8-browser-address {
        overflow: hidden;
        min-height: 24px;
        padding: 5px 10px 4px;
        border: 1px solid #D5DBD3;
        color: #6C766D;
        background: #FAFBF8;
        font-size: 9px;
        font-weight: 560;
        line-height: 1.2;
        letter-spacing: .035em;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .cap-v8-browser-address b {
        color: #273128;
        font-weight: 650;
      }
      .cap-v8-browser-state {
        color: #4B9F2B;
        font-size: 9px;
        font-weight: 680;
        letter-spacing: .08em;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .cap-v8-browser-view {
        overflow: hidden;
        background: #FFF;
      }
      .cap-v8-browser-view img {
        display: block;
        width: 100%;
        height: auto;
      }
      .cap-v8-browser--main .cap-v8-browser-view {
        aspect-ratio: 1.945 / 1;
      }
      .cap-v8-browser--main .cap-v8-browser-view img {
        width: 100%;
      }
      .cap-v8-browser--catalog .cap-v8-browser-view {
        aspect-ratio: 1.333 / 1;
      }
      .cap-v8-browser--catalog .cap-v8-browser-view img {
        width: 100%;
      }
      .cap-v8-web-signal {
        position: absolute;
        z-index: 4;
        left: 61%;
        top: 345px;
        width: 22%;
        height: 170px;
        pointer-events: none;
      }
      .cap-v8-web-signal::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 84px;
        content: "";
        background: linear-gradient(to bottom,#334136,#63CA38);
      }
      .cap-v8-web-signal::after {
        position: absolute;
        top: 83px;
        left: 0;
        width: 132px;
        height: 1px;
        content: "";
        background: linear-gradient(90deg,#63CA38,#39453A);
      }
      .cap-v8-web-node {
        position: absolute;
        top: 80px;
        left: 128px;
        width: 8px;
        height: 8px;
        border: 2px solid #090D0A;
        border-radius: 50%;
        background: #63CA38;
        box-shadow: 0 0 0 1px #63CA38;
      }
      .cap-v8-web-path {
        position: absolute;
        right: 0;
        bottom: 4px;
        left: 0;
        display: flex;
        align-items: center;
        gap: 10px;
        color: #667067;
        font-size: 10px;
        font-weight: 620;
        letter-spacing: .055em;
        text-transform: uppercase;
      }
      .cap-v8-web-path i {
        flex: 0 0 36px;
        height: 1px;
        background: #334035;
      }
      .cap-v8-web-path b {
        margin-left: auto;
        color: #4B9F2B;
        font-weight: 650;
      }

      /* 02 / fuller calculator proof */
      .cap-v7-scene--calc .cap-v7-copy {
        position: sticky;
        top: 116px;
      }
      .cap-v8-adapt-note {
        position: relative;
        margin: 24px 0 0;
        padding: 14px 0 0 18px;
        border-top: 1px solid #2D372E;
        color: #8E998F;
        font-size: 12px;
        line-height: 1.52;
      }
      .cap-v8-adapt-note::before {
        position: absolute;
        top: 15px;
        left: 0;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
      }
      .cap-v8-adapt-note strong {
        color: #C3CBC1;
        font-weight: 560;
      }
      .cap-v7-calc-stage {
        clip-path: polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);
      }
      .cap-v7-calc-flow {
        grid-template-columns: minmax(0,1.28fr) 70px minmax(292px,.72fr);
        min-height: 655px;
      }
      .cap-v7-calc-inputs {
        padding: 30px 30px 28px;
      }
      .cap-v8-core-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 18px;
      }
      .cap-v8-core-grid .cap-v7-calc-row--wide {
        grid-column: 1 / -1;
      }
      .cap-v7-calc-row {
        min-height: 54px;
        padding: 14px 0 11px;
      }
      .cap-v7-calc-row span { font-size: 11px; }
      .cap-v7-calc-row strong { font-size: 14px; }
      .cap-v8-condition-title {
        margin: 24px 0 12px;
        padding-top: 18px;
        border-top: 1px solid #29322A;
        color: #707B71;
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .075em;
        text-transform: uppercase;
      }
      .cap-v8-conditions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .cap-v8-condition {
        display: grid;
        grid-template-columns: 16px minmax(0,1fr) auto;
        align-items: center;
        gap: 8px;
        min-height: 38px;
        padding: 0 10px;
        border: 1px solid #273128;
        color: #8F9A90;
        background: #101612;
        font-size: 10px;
        line-height: 1.25;
      }
      .cap-v8-condition i {
        position: relative;
        width: 13px;
        height: 13px;
        border: 1px solid #4A564B;
      }
      .cap-v8-condition.is-on i {
        border-color: #63CA38;
        background: #63CA38;
      }
      .cap-v8-condition.is-on i::after {
        position: absolute;
        top: 2px;
        left: 3px;
        width: 5px;
        height: 3px;
        border-bottom: 1.5px solid #0B0F0C;
        border-left: 1.5px solid #0B0F0C;
        content: "";
        transform: rotate(-45deg);
      }
      .cap-v8-condition b {
        color: #63CA38;
        font-weight: 650;
        white-space: nowrap;
      }
      .cap-v8-distance {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 16px;
        margin-top: 8px;
        min-height: 46px;
        padding: 0 12px;
        border: 1px solid #273128;
        color: #8F9A90;
        background: #101612;
        font-size: 10px;
      }
      .cap-v8-distance strong {
        color: #E2E7E0;
        font-size: 12px;
        font-weight: 560;
      }
      .cap-v7-calc-output {
        justify-content: flex-start;
        padding: 34px 28px;
      }
      .cap-v7-price { font-size: 55px; }
      .cap-v8-result-list {
        display: grid;
        gap: 10px;
        margin-top: 26px;
        padding-top: 20px;
        border-top: 1px solid #29322A;
      }
      .cap-v8-result-list div {
        display: flex;
        justify-content: space-between;
        gap: 18px;
        color: #788279;
        font-size: 10px;
        line-height: 1.35;
      }
      .cap-v8-result-list strong {
        color: #C3CBC1;
        font-weight: 600;
        white-space: nowrap;
      }
      .cap-v8-result-list div:last-child strong { color: #63CA38; }
      .cap-v7-calc-action { margin-top: 24px; }
    }

    @media (min-width: 1680px) {
      .cap-v7-web-stage { height: 700px; }
      .cap-v8-browser--main { width: 75%; }
      .cap-v8-browser--catalog { width: 45%; bottom: 78px; }
      .cap-v8-web-signal { top: 365px; }
      .cap-v7-calc-flow { min-height: 675px; }
    }


    /* Section 03 / v10 — capability proof system, no numbering. */
    @media (min-width: 1025px) {
      .cap-v7-meta strong { color:#63CA38; }
      .cap-v7-kicker { color:#63CA38; }

      /* Browser scenes use the same system header language as calculator / Telegram. */
      .cap-v10-browser {
        position:absolute;
        margin:0;
        overflow:hidden;
        border:1px solid #29322A;
        background:#F7F8F5;
        box-shadow:0 28px 64px rgba(0,0,0,.22);
        clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);
      }
      .cap-v10-browser--main { top:24px; left:0; z-index:1; width:72%; }
      .cap-v10-browser--catalog { top:328px; right:0; z-index:3; width:47%; }
      .cap-v10-browser-top {
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:16px;
        min-height:48px;
        padding:0 18px;
        border-bottom:1px solid #29322A;
        color:#737D74;
        background:#0D110E;
        font-size:10px;
        font-weight:650;
        line-height:1;
        letter-spacing:.07em;
        text-transform:uppercase;
      }
      .cap-v10-browser-id { display:flex; align-items:center; gap:12px; min-width:0; }
      .cap-v10-browser-dots { display:flex; gap:5px; }
      .cap-v10-browser-dots i { width:5px; height:5px; border-radius:50%; background:#586159; }
      .cap-v10-browser-id strong { overflow:hidden; color:#C0C8BE; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
      .cap-v10-browser-page { overflow:hidden; color:#727D73; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
      .cap-v10-browser-status { position:relative; padding-left:14px; color:#8A958B; white-space:nowrap; }
      .cap-v10-browser-status::before { position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v10-browser-view { overflow:hidden; background:#F7F8F5; }
      .cap-v10-browser-view img { display:block; width:100%; height:auto; }
      .cap-v10-browser--main .cap-v10-browser-view { aspect-ratio:2048/1053; }
      .cap-v10-browser--main .cap-v10-browser-view img { width:100%; height:100%; object-fit:cover; object-position:center center; }
      .cap-v10-browser--catalog .cap-v10-browser-view { aspect-ratio:1920/1438; }
      .cap-v10-browser--catalog .cap-v10-browser-view img { width:100%; height:100%; object-fit:cover; object-position:center top; }
      .cap-v10-web-link {
        position:absolute;
        top:292px;
        left:61%;
        z-index:2;
        width:14%;
        height:116px;
        pointer-events:none;
      }
      .cap-v10-web-link::before { position:absolute; top:0; left:0; width:1px; height:72px; content:""; background:linear-gradient(#324034,#63CA38); }
      .cap-v10-web-link::after { position:absolute; top:71px; left:0; width:100%; height:1px; content:""; background:linear-gradient(90deg,#63CA38,#344236); }
      .cap-v10-web-link i { position:absolute; top:68px; right:-3px; width:7px; height:7px; border:2px solid #090D0A; border-radius:50%; background:#63CA38; box-shadow:0 0 0 1px #63CA38; }
      .cap-v10-web-foot { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:center; gap:10px; color:#667067; font-size:10px; font-weight:620; letter-spacing:.055em; text-transform:uppercase; }
      .cap-v10-web-admin { position:absolute; right:0; bottom:0; display:flex; flex-direction:column; align-items:flex-end; gap:8px; max-width:220px; text-align:right; }
      .cap-v10-web-admin strong { position:relative; padding-left:16px; color:#C6CEC4; font-size:10px; font-weight:650; letter-spacing:.065em; text-transform:uppercase; }
      .cap-v10-web-admin strong::before { position:absolute; top:50%; left:0; width:8px; height:1px; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v10-web-admin span { color:#6F796F; font-size:10px; line-height:1.45; }
      .cap-v10-web-foot i { width:34px; height:1px; background:#334035; }


      /* Calculator: no numbered steps, richer real logic, explicit custom build message. */
      .cap-v10-adapt-note {
        position:relative;
        max-width:31ch;
        margin:28px 0 0;
        padding:16px 0 0 18px;
        border-top:1px solid #29322A;
        color:#7F8A80;
        font-size:12px;
        line-height:1.55;
      }
      .cap-v10-adapt-note::before { position:absolute; top:-1px; left:0; width:48px; height:1px; content:""; background:#63CA38; }
      .cap-v10-adapt-note strong { display:block; margin-bottom:5px; color:#C5CDC3; font-size:13px; font-weight:610; }

      /* Telegram proof reconstructed from the real interaction, with anonymized content. */
      .cap-v10-telegram-stage {
        display:flex;
        align-items:center;
        justify-content:center;
        min-width:0;
        padding:36px 34px;
        border-right:1px solid #283129;
        background:
          radial-gradient(circle at 18% 22%,rgba(99,202,56,.035),transparent 26%),
          linear-gradient(#111713 1px,transparent 1px),
          linear-gradient(90deg,#111713 1px,transparent 1px),
          #0B0F0C;
        background-size:auto,48px 48px,48px 48px,auto;
      }
      .cap-v10-tg-window { width:min(100%,520px); overflow:hidden; border:1px solid #374138; background:#111613; box-shadow:0 24px 58px rgba(0,0,0,.25); }
      .cap-v10-tg-top { display:grid; grid-template-columns:38px 1fr auto; align-items:center; min-height:58px; padding:0 16px; border-bottom:1px solid #313A32; background:#151B17; }
      .cap-v10-tg-avatar { display:grid; place-items:center; width:30px; height:30px; border:1px solid #465147; border-radius:50%; color:#DDE4DB; background:#202821; font-size:11px; font-weight:700; }
      .cap-v10-tg-name strong { display:block; color:#E8ECE6; font-size:13px; font-weight:620; }
      .cap-v10-tg-name span { display:block; margin-top:3px; color:#748075; font-size:10px; }
      .cap-v10-tg-state { position:relative; padding-left:14px; color:#879289; font-size:9px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
      .cap-v10-tg-state::before { position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v10-tg-chat { padding:20px; background:linear-gradient(145deg,#111713,#0D120E 58%,#101511); }
      .cap-v10-tg-message { width:100%; overflow:hidden; border:1px solid #3A443B; background:#242827; }
      .cap-v10-tg-message-head { padding:13px 15px; border-bottom:1px solid #3A443B; color:#F0F2EE; font-size:15px; font-weight:600; }
      .cap-v10-tg-message-body { padding:15px; }
      .cap-v10-tg-line { display:grid; grid-template-columns:86px 1fr; gap:12px; padding:7px 0; color:#9AA49A; font-size:11px; line-height:1.4; }
      .cap-v10-tg-line strong { color:#E0E5DE; font-weight:540; }
      .cap-v10-tg-divider { height:1px; margin:13px 0 14px; background:#5A625B; }
      .cap-v10-tg-copy { color:#D4DAD2; font-size:12px; line-height:1.58; }
      .cap-v10-tg-copy b { color:#AEB8AE; font-weight:560; }
      .cap-v10-tg-buttons { display:grid; gap:7px; margin-top:8px; }
      .cap-v10-tg-button { display:flex; align-items:center; justify-content:center; min-height:38px; border:1px solid #3B453C; color:#D6DDD4; background:#202622; font-size:11px; font-weight:570; }
      .cap-v10-tg-button.is-primary { border-color:#4C8E39; color:#E0F4D9; background:#172118; }
      .cap-v10-tg-time { margin-top:7px; color:#737D74; font-size:9px; text-align:right; }

      /* Reviews: real product logic rebuilt as HTML/CSS workflow. */
      .cap-v10-reviews-stage {
        grid-column:4/13;
        position:relative;
        min-width:0;
        overflow:hidden;
        border:1px solid #29322A;
        background:#0D110E;
        clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);
      }
      .cap-v10-system-top { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; min-height:49px; padding:0 22px; border-bottom:1px solid #29322A; color:#737D74; font-size:10px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
      .cap-v10-system-top strong { color:#C0C8BE; font-weight:650; }
      .cap-v10-system-top em { position:relative; padding-left:14px; color:#7B867C; font-style:normal; }
      .cap-v10-system-top em::before { position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v10-reviews-body { display:grid; grid-template-columns:minmax(0,1.08fr) 82px minmax(310px,.92fr); min-height:570px; }
      .cap-v10-review-form { padding:32px; }
      .cap-v10-panel-label { margin:0 0 22px; color:#707B71; font-size:10px; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
      .cap-v10-review-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
      .cap-v10-review-field { min-height:60px; padding:11px 13px; border:1px solid #2B352C; background:#111713; }
      .cap-v10-review-field span { display:block; color:#6F796F; font-size:10px; }
      .cap-v10-review-field strong { display:block; margin-top:8px; color:#E2E7E0; font-size:13px; font-weight:560; }
      .cap-v10-review-field .stars { color:#D39B43; letter-spacing:.08em; }
      .cap-v10-review-media { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
      .cap-v10-review-drop { min-height:82px; padding:14px; border:1px dashed #3C473D; color:#89948A; background:#101612; font-size:11px; line-height:1.45; }
      .cap-v10-review-drop b { display:block; margin-bottom:8px; color:#C1C9BF; font-size:12px; font-weight:590; }
      .cap-v10-review-text { min-height:98px; margin-top:10px; padding:14px; border:1px solid #2B352C; color:#B6BFB5; background:#111713; font-size:11px; line-height:1.55; }
      .cap-v10-review-submit { display:flex; align-items:center; justify-content:space-between; min-height:46px; margin-top:14px; padding:0 15px; color:#0A0D0A; background:#63CA38; font-size:11px; font-weight:680; }
      .cap-v10-review-trace { position:relative; border-right:1px solid #29322A; border-left:1px solid #29322A; background:#0B0F0C; }
      .cap-v10-review-trace::before { position:absolute; top:13%; bottom:13%; left:50%; width:1px; content:""; background:linear-gradient(to bottom,transparent,#354C38 18%,#63CA38 50%,#354C38 82%,transparent); }
      .cap-v10-review-trace i { position:absolute; top:50%; left:50%; width:9px; height:9px; border:3px solid #0B0F0C; border-radius:50%; background:#63CA38; box-shadow:0 0 0 1px #63CA38; transform:translate(-50%,-50%); }
      .cap-v10-review-trace span { position:absolute; top:50%; left:50%; padding:5px 8px; color:#718074; background:#0B0F0C; font-size:9px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; transform:translate(-50%,-50%) rotate(-90deg); white-space:nowrap; }
      .cap-v10-review-published { display:flex; flex-direction:column; justify-content:center; padding:32px 28px; background:#0B0F0C; }
      .cap-v10-published-status { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-bottom:18px; color:#7E8A80; font-size:9px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
      .cap-v10-published-status::before { width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; }
      .cap-v10-review-card { border:1px solid #313A32; background:#151B17; }
      .cap-v10-review-card-head { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; padding:15px; border-bottom:1px solid #313A32; }
      .cap-v10-review-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#0A0D0A; background:#D39B43; font-size:13px; font-weight:700; }
      .cap-v10-review-author strong { display:block; color:#E8ECE6; font-size:13px; font-weight:620; }
      .cap-v10-review-author span { display:block; margin-top:4px; color:#D39B43; font-size:11px; letter-spacing:.06em; }
      .cap-v10-review-date { color:#737D74; font-size:9px; }
      .cap-v10-review-card-body { padding:16px; color:#B8C1B7; font-size:11px; line-height:1.55; }
      .cap-v10-review-thumbs { display:grid; grid-template-columns:64px 64px; gap:8px; margin-top:14px; }
      .cap-v10-review-thumb { display:grid; place-items:center; height:56px; border:1px solid #384339; color:#758076; background:linear-gradient(145deg,#202821,#111713); font-size:9px; text-transform:uppercase; }
      .cap-v10-company-reply { margin-top:13px; padding:12px; border-left:2px solid #63CA38; color:#AAB5AA; background:#101612; font-size:10px; line-height:1.5; }
      .cap-v10-company-reply b { display:block; margin-bottom:4px; color:#D7DDD5; font-weight:600; }
      .cap-v10-reviews-foot { display:flex; align-items:center; gap:10px; padding:13px 22px; border-top:1px solid #29322A; color:#687268; font-size:10px; font-weight:620; letter-spacing:.055em; text-transform:uppercase; }
      .cap-v10-reviews-foot i { width:28px; height:1px; background:#334035; }
      .cap-v10-reviews-foot b { margin-left:auto; color:#4B9F2B; font-weight:650; }

      /* Updater closes the section as a quiet support layer. */
      .cap-v10-updater {
        position:relative;
        display:grid;
        grid-template-columns:repeat(12,minmax(0,1fr));
        gap:24px;
        margin-top:126px;
        padding:58px 0 112px;
        border-top:1px solid #252C26;
      }
      .cap-v10-updater::before { position:absolute; top:-1px; left:0; width:48px; height:2px; content:""; background:#63CA38; }
      .cap-v10-updater-copy { grid-column:1/5; }
      .cap-v10-updater-label { margin:0 0 20px; color:#63CA38; font-size:11px; font-weight:680; letter-spacing:.085em; text-transform:uppercase; }
      .cap-v10-updater h3 { max-width:15ch; margin:0; color:#F7F8F5; font-size:35px; font-weight:550; line-height:1.04; letter-spacing:-.038em; }
      .cap-v10-updater-copy p:last-child { max-width:34ch; margin:24px 0 0; color:#AAB4AA; font-size:15px; line-height:1.58; }
      .cap-v10-updater-flow { grid-column:5/13; align-self:center; border:1px solid #29322A; background:#0D110E; }
      .cap-v10-updater-head { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:0 20px; border-bottom:1px solid #29322A; color:#747F75; font-size:10px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
      .cap-v10-updater-head strong { color:#C0C8BE; font-weight:650; }
      .cap-v10-updater-head span { position:relative; padding-left:14px; }
      .cap-v10-updater-head span::before { position:absolute; top:50%; left:0; width:6px; height:6px; border-radius:50%; content:""; background:#63CA38; transform:translateY(-50%); }
      .cap-v10-updater-route { position:relative; display:grid; grid-template-columns:repeat(4,1fr); min-height:150px; padding:34px 26px; }
      .cap-v10-updater-route::before { position:absolute; top:50%; right:10%; left:10%; height:1px; content:""; background:linear-gradient(90deg,#344236,#63CA38 50%,#344236); }
      .cap-v10-updater-node { position:relative; z-index:1; display:grid; justify-items:center; align-content:center; gap:10px; text-align:center; }
      .cap-v10-updater-node i { width:11px; height:11px; border:3px solid #0D110E; border-radius:50%; background:#556058; box-shadow:0 0 0 1px #556058; }
      .cap-v10-updater-node.is-active i { background:#63CA38; box-shadow:0 0 0 1px #63CA38; }
      .cap-v10-updater-node strong { padding:3px 7px; color:#CBD2C9; background:#0D110E; font-size:11px; font-weight:590; }
      .cap-v10-updater-node span { color:#6F7A70; font-size:9px; letter-spacing:.045em; text-transform:uppercase; }
    }

    @media (min-width: 1680px) {
      .cap-v10-browser--main { width:73%; }
      .cap-v10-browser--catalog { width:46%; top:342px; }
      .cap-v10-web-link { top:307px; }
    }


    /* Section 03 / v12 — editorial cleanup + interactive calculator. */
    @media (min-width: 1025px) {
      /* Make the real-site proof read as one deliberate editorial scene. */
      .cap-v7-web-stage { height: 710px; }
      .cap-v10-browser--main { top: 0; left: 0; width: 100%; }
      .cap-v10-browser--catalog { top: 322px; right: 0; width: 68%; }
      .cap-v10-browser--catalog .cap-v10-browser-view { aspect-ratio: 1.55 / 1; }
      .cap-v10-browser--catalog .cap-v10-browser-view img { object-position: center top; }
      .cap-v10-web-link { top: 278px; left: 69%; width: 12%; height: 92px; }
      .cap-v10-web-link::before { height: 54px; }
      .cap-v10-web-link::after { top: 53px; }
      .cap-v10-web-link i { top: 50px; }
      .cap-v10-web-foot {
        right: auto;
        bottom: 34px;
        left: 0;
        width: 27%;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        line-height: 1.25;
      }
      .cap-v10-web-foot i { width: 44px; }
      .cap-v10-web-admin {
        right: 0;
        bottom: 32px;
      }

      /* Calculator controls use the same system grammar but are genuinely interactive. */
      .cap-v12-calc .cap-v7-calc-top { grid-template-columns: auto minmax(0,1fr) auto; gap: 22px; }
      .cap-v12-calc .cap-v7-calc-top span { text-align: center; }
      .cap-v12-calc .cap-v7-calc-flow { grid-template-columns: minmax(0,1.3fr) 76px minmax(290px,.7fr); min-height: 650px; }
      .cap-v12-calc .cap-v7-calc-inputs { padding: 30px 30px 28px; }
      .cap-v12-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
      .cap-v12-calc-field { display: grid; gap: 8px; padding: 12px 0 13px; border-top: 1px solid #29322A; }
      .cap-v12-calc-field--wide { grid-column: 1 / -1; }
      .cap-v12-calc-field > span { color: #7D887E; font-size: 10px; line-height: 1.3; }
      .cap-v12-calc-field select,
      .cap-v12-calc-field input,
      .cap-v12-distance input {
        width: 100%;
        min-width: 0;
        border: 0;
        border-radius: 0;
        outline: 0;
        color: #E5E9E3;
        background: transparent;
        font: 560 14px/1.3 Onest, "Segoe UI", sans-serif;
      }
      .cap-v12-calc-field select { cursor: pointer; }
      .cap-v12-calc-field option { color: #101410; background: #F7F8F5; }
      .cap-v12-calc-field input::placeholder,
      .cap-v12-distance input::placeholder { color: #59645B; opacity: 1; }
      .cap-v12-calc-field:focus-within { border-top-color: #63CA38; }
      .cap-v12-conditions .cap-v8-condition { position: relative; cursor: pointer; }
      .cap-v12-conditions .cap-v8-condition input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
      .cap-v12-conditions .cap-v8-condition input:checked + i { border-color: #63CA38; background: #63CA38; }
      .cap-v12-conditions .cap-v8-condition input:checked + i::after {
        position: absolute; top: 2px; left: 3px; width: 5px; height: 3px;
        border-bottom: 1.5px solid #0B0F0C; border-left: 1.5px solid #0B0F0C;
        content: ""; transform: rotate(-45deg);
      }
      .cap-v12-distance {
        display: grid; grid-template-columns: 1fr minmax(155px,.7fr); align-items: center; gap: 18px;
        margin-top: 10px; min-height: 50px; padding: 0 12px;
        border: 1px solid #273128; color: #8F9A90; background: #101612;
        font-size: 10px;
      }
      .cap-v12-distance-control { display: grid; grid-template-columns: 62px auto; align-items: center; gap: 8px; }
      .cap-v12-distance-control b { color: #6F7A70; font-weight: 540; white-space: nowrap; }
      .cap-v12-calc .cap-v7-calc-output { justify-content: flex-start; padding: 34px 28px; }
      .cap-v12-calc .cap-v7-price { font-size: 58px; }
      .cap-v12-calc .cap-v8-result-list { margin-top: 24px; }

      /* Telegram: deliberately no redesign — only the explicitly requested width. */
      .cap-v10-tg-message { width: 100%; }

      /* Reviews: larger moderation bridge and public-facing name. */
      .cap-v10-system-top { grid-template-columns: 1.35fr .65fr auto; }
      .cap-v10-reviews-body { grid-template-columns: minmax(0,1.08fr) 104px minmax(310px,.92fr); }
      .cap-v10-review-trace span { color: #8B998C; font-size: 11px; font-weight: 680; letter-spacing: .1em; }

      /* Remove the dead gap before the final support/update layer. */
      .cap-v7-scenes { padding-bottom: 58px; }
      .cap-v10-updater { margin-top: 54px; padding-top: 58px; }
    }

    @media (min-width: 1680px) {
      .cap-v7-web-stage { height: 740px; }
      .cap-v10-browser--main { width: 100%; }
      .cap-v10-browser--catalog { top: 340px; width: 66%; }
      .cap-v10-web-link { top: 294px; left: 70%; }
    }



    /* Section 03 / calculator v13 — form → calculation → next step. */
    .cap-v13-calc .cap-v7-calc-top {
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 22px;
    }
    .cap-v13-calc .cap-v7-calc-top span { text-align: center; }
    .cap-v13-calc-body {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) 118px minmax(310px, .78fr);
      min-height: 720px;
    }
    .cap-v13-calc-form {
      min-width: 0;
      padding: 32px 30px 30px;
      border-right: 1px solid #283129;
      background: #0D110E;
    }
    .cap-v13-panel-label,
    .cap-v13-condition-title,
    .cap-v13-result-label,
    .cap-v13-request-kicker {
      margin: 0;
      color: #7B867C;
      font-size: 10px;
      font-weight: 650;
      line-height: 1.25;
      letter-spacing: .075em;
      text-transform: uppercase;
    }
    .cap-v13-condition-title { margin-top: 24px; }
    .cap-v13-conditions { margin-top: 12px; }
    .cap-v13-distance { margin-top: 20px; }
    .cap-v13-calc-trace {
      position: relative;
      min-width: 0;
      border-right: 1px solid #29322A;
      border-left: 1px solid #29322A;
      background: #0B0F0C;
    }
    .cap-v13-calc-trace::before {
      position: absolute;
      top: 13%;
      bottom: 13%;
      left: 50%;
      width: 1px;
      content: "";
      background: linear-gradient(to bottom, transparent, #354C38 18%, #63CA38 50%, #354C38 82%, transparent);
    }
    .cap-v13-calc-trace i {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 9px;
      height: 9px;
      border: 3px solid #0B0F0C;
      border-radius: 50%;
      background: #63CA38;
      box-shadow: 0 0 0 1px #63CA38;
      transform: translate(-50%, -50%);
    }
    .cap-v13-calc-trace span {
      position: absolute;
      top: 50%;
      left: 50%;
      padding: 5px 8px;
      color: #718074;
      background: #0B0F0C;
      font-size: 9px;
      font-weight: 650;
      letter-spacing: .07em;
      text-transform: uppercase;
      transform: translate(-50%, 24px) rotate(-90deg);
      white-space: nowrap;
    }
    .cap-v13-calc-result {
      min-width: 0;
      padding: 32px 28px 28px;
      background: #0B0F0C;
    }
    .cap-v13-result-status {
      display: inline-flex;
      align-items: center;
      min-height: 27px;
      padding: 0 10px;
      border: 1px solid #36513A;
      color: #75D74E;
      background: #111813;
      font-size: 9px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .cap-v13-result-label { margin-top: 24px; }
    .cap-v13-price {
      margin: 12px 0 0;
      font-size: clamp(46px, 4.1vw, 64px);
      white-space: nowrap;
    }
    .cap-v13-result-list { margin-top: 22px; }
    .cap-v13-result-total {
      margin-top: 4px;
      padding-top: 13px !important;
      border-top: 1px solid #344036;
    }
    .cap-v13-result-total strong { color: #F0F3EE !important; }
    .cap-v13-request {
      margin-top: 30px;
      padding-top: 26px;
      border-top: 1px solid #2A342B;
    }
    .cap-v13-request h4 {
      margin: 9px 0 0;
      color: #F4F6F2;
      font-size: 22px;
      font-weight: 560;
      line-height: 1.15;
      letter-spacing: -.025em;
    }
    .cap-v13-request > p:not(.cap-v13-request-kicker) {
      max-width: 34ch;
      margin: 11px 0 0;
      color: #859086;
      font-size: 12px;
      line-height: 1.55;
    }
    .cap-v13-request-fields {
      display: grid;
      gap: 10px;
      margin-top: 20px;
    }
    .cap-v13-request-fields label {
      display: grid;
      gap: 7px;
    }
    .cap-v13-request-fields label > span {
      color: #717D72;
      font-size: 9px;
      font-weight: 620;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .cap-v13-request-fields input {
      width: 100%;
      min-height: 44px;
      padding: 0 12px;
      border: 1px solid #2D382F;
      border-radius: 0;
      outline: 0;
      color: #E9EDE7;
      background: #111713;
      font: inherit;
      font-size: 12px;
    }
    .cap-v13-request-fields input:focus { border-color: #63CA38; }
    .cap-v13-request-fields input::placeholder { color: #626D63; }
    .cap-v13-request-button {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      min-height: 46px;
      margin-top: 12px;
      padding: 0 14px;
      border: 0;
      color: #0B0E0B;
      background: #63CA38;
      font: inherit;
      font-size: 11px;
      font-weight: 680;
      cursor: pointer;
      transition: background 180ms ease, transform 120ms ease;
    }
    .cap-v13-request-button:hover { background: #72D94A; }
    .cap-v13-request-button:active { transform: scale(.985); }
    .cap-v13-request-button:focus-visible { outline: 2px solid #A9E891; outline-offset: 3px; }
    .cap-v13-request small {
      display: block;
      margin-top: 9px;
      color: #5F6A60;
      font-size: 9px;
      line-height: 1.4;
    }
    .cap-v13-request-consent a { color: #778479; text-underline-offset: 2px; }
    .cap-v13-request-consent a:hover { color: #AAB5AA; }
    .cap-v13-request-state { min-height: 1.4em; }
    .cap-v13-request-state.is-error { color: #D8A16F; }
    .cap-v13-request-state.is-ready { color: #86A987; }

    @media (max-width: 1180px) and (min-width: 768px) {
      .cap-v13-calc-body {
        grid-template-columns: minmax(0, 1fr) 82px minmax(280px, .82fr);
      }
      .cap-v13-calc-form { padding: 28px 24px; }
      .cap-v13-calc-result { padding: 28px 22px 24px; }
    }

    @media (max-width: 767.98px) {
      .cap-v13-calc .cap-v7-calc-top {
        grid-template-columns: 1fr;
        gap: 5px;
        align-items: start;
        padding: 14px 16px;
      }
      .cap-v13-calc .cap-v7-calc-top span { text-align: left; }
      .cap-v13-calc-body { display: block; min-height: 0; }
      .cap-v13-calc-form { padding: 24px 18px; border-right: 0; }
      .cap-v13-calc-trace {
        min-height: 78px;
        border-top: 1px solid #283129;
        border-right: 0;
        border-bottom: 1px solid #283129;
      }
      .cap-v13-calc-trace i {
        top: 50%;
        right: 12%;
        bottom: auto;
        left: 12%;
        width: auto;
        height: 1px;
        background: linear-gradient(to right, transparent, #334136 17%, #63CA38 50%, #334136 83%, transparent);
        transform: none;
      }
      .cap-v13-calc-result { padding: 26px 18px; }
      .cap-v13-price { font-size: 48px; }
      .cap-v13-request > p:not(.cap-v13-request-kicker) { max-width: none; }
    }


  /* Section 03 / desktop-only v18 cleanup. Tablet and mobile remain unchanged from v17. */
  @media (min-width: 1025px) {
    /* Calculator trace: desktop only — remove dot and match the Reviews “МОДЕРАЦИЯ” treatment. */
    .cap-v13-calc-trace i { display: none; }
    .cap-v13-calc-trace span {
      z-index: 1;
      padding: 8px 10px;
      color: #8B998C;
      background: #0B0F0C;
      font-size: 11px;
      font-weight: 680;
      letter-spacing: .1em;
      transform: translate(-50%, -50%) rotate(-90deg);
    }

    /* Unified major vertical rhythm for Section 03 on desktop only. */
    .cap-v7-scene + .cap-v7-scene { margin-top: 112px; }
    .cap-v7-scenes { padding-bottom: 0; }
    .cap-v10-updater { margin-top: 112px; }
    .cap-v10-updater-flow { align-self: start; }

    /* Web proof has absolutely positioned browser surfaces.
       Keep the scene box aligned with the actual visible bottom so the
       following 112px chapter rhythm is measured from what the user sees. */
    .cap-v7-web-stage { height: 800px; }
  }

  @media (min-width: 1680px) {
    .cap-v7-web-stage { height: 810px; }
  }

  /* Section 03 / v21 — desktop ecommerce proof composition.
     Keep the real screenshots intact; organize the lower information as one system rail. */
  @media (min-width: 1025px) {
    .cap-v7-web-stage {
      height: 900px;
    }

    /* Reserve a calm strip below the overlapping browser proofs instead of
       leaving two isolated captions floating in the dark field. */
    .cap-v10-web-foot {
      right: 36%;
      bottom: 0;
      left: 0;
      width: auto;
      min-height: 68px;
      padding: 0 22px;
      flex-direction: row;
      align-items: center;
      gap: 10px;
      border-top: 1px solid #29322A;
      border-bottom: 1px solid #29322A;
      color: #879187;
      line-height: 1.2;
      white-space: nowrap;
    }
    .cap-v10-web-foot span {
      color: #879187;
    }
    .cap-v10-web-foot i {
      width: 24px;
      flex: 0 0 24px;
      background: #354037;
    }

    .cap-v10-web-admin {
      right: 0;
      bottom: 0;
      width: 36%;
      max-width: none;
      min-height: 68px;
      padding: 0 22px;
      justify-content: center;
      align-items: flex-start;
      gap: 6px;
      border-top: 1px solid #29322A;
      border-bottom: 1px solid #29322A;
      border-left: 1px solid #29322A;
      text-align: left;
      background: #0B0F0C;
    }
    .cap-v10-web-admin strong {
      padding-left: 18px;
      color: #C7CEC5;
      font-size: 10px;
      font-weight: 680;
      letter-spacing: .07em;
    }
    .cap-v10-web-admin strong::before {
      width: 10px;
      background: #63CA38;
    }
    .cap-v10-web-admin span {
      padding-left: 18px;
      color: #778278;
      font-size: 10px;
      line-height: 1.35;
    }
  }

  @media (min-width: 1680px) {
    .cap-v7-web-stage { height: 900px; }
  }

  /* Section 03 / v22 — desktop-only ecommerce composition cleanup.
     Remove the duplicate buyer route from the copy column and tighten the
     relationship between the two real browser proofs. Tablet/mobile untouched. */
  @media (min-width: 1025px) {
    .cap-v7-scene--web .cap-v7-copy .cap-v7-route {
      display: none;
    }

    .cap-v10-browser--catalog {
      top: 286px;
      width: 78%;
    }

    /* Keep the connector subtle and inside the actual overlap zone. */
    .cap-v10-web-link {
      top: 244px;
      left: 73%;
      width: 7%;
      height: 70px;
    }
    .cap-v10-web-link::before { height: 44px; }
    .cap-v10-web-link::after { top: 43px; }
    .cap-v10-web-link i { top: 40px; }
  }

  /* Section 03 / v23 — Desktop Editorial Proof Plate.
     The existing ecommerce scene remains untouched for Tablet/Mobile. */
  .cap-ecom-plate,
  .cap-ecom-copy-desktop,
  .cap-ecom-owner { display:none; }

  @media (min-width: 1025px) {
    .cap-v7-scene--web .cap-ecom-legacy-stage { display:none; }
    .cap-v7-scene--web .cap-ecom-copy-legacy { display:none; }
    .cap-v7-scene--web .cap-ecom-copy-desktop { display:block; }

    .cap-v7-scene--web .cap-v7-copy {
      padding-right:28px;
    }

    .cap-ecom-owner {
      position:relative;
      display:grid;
      gap:7px;
      margin-top:34px;
      padding-top:19px;
      border-top:1px solid #29322A;
    }
    .cap-ecom-owner::before {
      position:absolute;
      top:-1px;
      left:0;
      width:38px;
      height:1px;
      content:"";
      background:#63CA38;
    }
    .cap-ecom-owner strong {
      color:#C7CEC5;
      font-size:10px;
      font-weight:680;
      line-height:1.25;
      letter-spacing:.07em;
      text-transform:uppercase;
    }
    .cap-ecom-owner span {
      color:#788278;
      font-size:11px;
      line-height:1.45;
    }
    .cap-v7-scene--web .cap-v7-link { margin-top:28px; }

    .cap-ecom-plate {
      grid-column:4/13;
      display:grid;
      grid-template-columns:minmax(0,1.72fr) minmax(278px,.78fr);
      grid-template-rows:330px 292px;
      gap:24px;
      min-width:0;
      height:646px;
    }

    .cap-ecom-entry,
    .cap-ecom-core {
      position:relative;
      min-width:0;
      margin:0;
      overflow:hidden;
      border:1px solid #2A332B;
      background:#F7F8F5;
    }

    .cap-ecom-entry {
      grid-column:1/3;
      grid-row:1;
    }
    .cap-ecom-entry::after,
    .cap-ecom-core::after {
      position:absolute;
      inset:0;
      content:"";
      pointer-events:none;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
    }

    .cap-ecom-entry figcaption,
    .cap-ecom-core figcaption {
      position:absolute;
      z-index:3;
      top:0;
      left:0;
      display:flex;
      align-items:center;
      gap:14px;
      min-height:32px;
      padding:0 13px;
      color:#D3D9D1;
      background:#0D120E;
      font-size:9px;
      font-weight:650;
      letter-spacing:.065em;
      text-transform:uppercase;
    }
    .cap-ecom-entry figcaption span,
    .cap-ecom-core figcaption span { color:#63CA38; }
    .cap-ecom-entry figcaption strong,
    .cap-ecom-core figcaption strong { color:#AAB4AA; font-weight:620; }

    .cap-ecom-entry-media,
    .cap-ecom-core-media { width:100%; height:100%; overflow:hidden; }
    .cap-ecom-entry-media img,
    .cap-ecom-core-media img { display:block; width:100%; height:100%; max-width:none; }

    /* Entry is intentionally a narrow context crop, never a second hero. */
    .cap-ecom-entry-media img {
      object-fit:cover;
      object-position:center 43%;
    }

    /* The catalog is the dominant commerce evidence. Crop tightly enough for
       products, names and prices to remain legible at 1440px. */
    .cap-ecom-core {
      grid-column:1;
      grid-row:2;
    }
    .cap-ecom-core-media img {
      object-fit:cover;
      object-position:center 8%;
    }

    .cap-ecom-commit {
      grid-column:2;
      grid-row:2;
      position:relative;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      min-width:0;
      padding:27px 28px 26px;
      border:1px solid #29322A;
      background:#0B0F0C;
    }
    .cap-ecom-commit::before {
      display:none;
    }
    .cap-ecom-commit-signal {
      position:absolute;
      top:0;
      left:0;
      width:48px;
      height:1px;
      background:#63CA38;
    }
    .cap-ecom-commit p {
      margin:0 0 12px;
      color:#63CA38;
      font-size:10px;
      font-weight:680;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .cap-ecom-commit > strong {
      max-width:15ch;
      color:#E4E9E2;
      font-size:24px;
      font-weight:540;
      line-height:1.08;
      letter-spacing:-.035em;
    }
    .cap-ecom-commit-route {
      display:grid;
      grid-template-columns:auto 1fr auto 1fr auto;
      align-items:center;
      gap:8px;
      margin-top:24px;
      color:#8A958B;
      font-size:9px;
      font-weight:640;
      letter-spacing:.055em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .cap-ecom-commit-route i { height:1px; background:#344036; }
    .cap-ecom-commit small {
      display:block;
      margin-top:16px;
      padding-top:16px;
      border-top:1px solid #252F27;
      color:#6F7A70;
      font-size:10px;
      line-height:1.5;
    }

    /* Keep the next chapter on the same major rhythm as the rest of Section 03. */
    .cap-v7-scene--web { min-height:646px; }
  }

  @media (min-width:1680px) {
    .cap-ecom-plate {
      grid-template-rows:342px 308px;
      height:674px;
    }
    .cap-v7-scene--web { min-height:674px; }
  }

  /* Section 03 / v24 — restore proof headers and show real screenshots without arbitrary CSS cropping. */
  @media (min-width:1025px) {
    .cap-ecom-plate {
      grid-template-columns:minmax(0,1.48fr) minmax(260px,.72fr);
      grid-template-rows:auto auto;
      height:auto;
      align-items:stretch;
    }
    .cap-ecom-entry,
    .cap-ecom-core {
      display:flex;
      flex-direction:column;
      height:auto;
    }
    .cap-ecom-entry figcaption,
    .cap-ecom-core figcaption { display:none; }
    .cap-ecom-entry-media,
    .cap-ecom-core-media {
      width:100%;
      height:auto;
      overflow:hidden;
      background:#F7F8F5;
    }
    .cap-ecom-entry-media img,
    .cap-ecom-core-media img {
      display:block;
      width:100%;
      height:auto;
      max-width:100%;
      object-fit:initial;
      object-position:initial;
    }
    .cap-ecom-entry .cap-v10-browser-top,
    .cap-ecom-core .cap-v10-browser-top { flex:0 0 48px; }
    .cap-ecom-commit {
      justify-content:center;
      min-height:100%;
    }
    .cap-v7-scene--web { min-height:0; }
  }
  @media (min-width:1680px) {
    .cap-ecom-plate { height:auto; grid-template-rows:auto auto; }
    .cap-v7-scene--web { min-height:0; }
  }

  /* Section 03 / v29 — compact desktop ecommerce proof.
     One primary project view + two small real functional proofs. */
  @media (min-width:1025px) {
    .cap-v7-scene--web { min-height:0; }

    .cap-ecom-plate-v29 {
      grid-column:4/13;
      display:block;
      width:min(100%, 842px);
      height:auto;
      justify-self:end;
      min-width:0;
    }

    .cap-ecom-main-proof {
      margin:0;
      overflow:hidden;
      border:1px solid #29322A;
      background:#F7F8F5;
    }
    .cap-ecom-main-proof .cap-v10-browser-top { min-height:46px; }
    .cap-ecom-main-media {
      overflow:hidden;
      background:#F7F8F5;
    }
    .cap-ecom-main-media img {
      display:block;
      width:100%;
      height:auto;
      max-width:100%;
    }

    .cap-ecom-evidence-row {
      display:grid;
      grid-template-columns:minmax(0,1.62fr) minmax(252px,.78fr);
      gap:16px;
      margin-top:16px;
      align-items:stretch;
    }

    .cap-ecom-evidence {
      min-width:0;
      margin:0;
      overflow:hidden;
      border:1px solid #29322A;
      background:#0B0F0C;
    }
    .cap-ecom-evidence figcaption {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      min-height:38px;
      padding:0 14px;
      border-bottom:1px solid #29322A;
      color:#748075;
      font-size:9px;
      font-weight:640;
      letter-spacing:.06em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .cap-ecom-evidence figcaption strong {
      color:#C7CEC5;
      font-weight:660;
    }
    .cap-ecom-evidence figcaption span { color:#667168; }

    .cap-ecom-evidence-media {
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      height:148px;
      overflow:hidden;
      background:#F7F8F5;
    }
    .cap-ecom-evidence-media img {
      display:block;
      max-width:100%;
      max-height:100%;
    }
    .cap-ecom-evidence--catalog .cap-ecom-evidence-media img {
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center center;
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media {
      padding:0 8px;
      background:#fff;
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media img {
      width:100%;
      height:auto;
      object-fit:contain;
    }

    .cap-v7-scene--web .cap-v7-copy { padding-right:30px; }
    .cap-v7-scene--web .cap-v7-link { margin-top:24px; }
    .cap-ecom-owner { margin-top:30px; padding-top:17px; }
  }

  @media (min-width:1680px) {
    .cap-ecom-plate-v29 { width:min(100%, 872px); }
    .cap-ecom-evidence-media { height:154px; }
  }

  /* Section 03 / v35 — balanced desktop closing CTA. */
  .cap-v32-closing { display: none; }

  @media (min-width: 1025px) {
    .cap-v32-closing {
      position: relative;
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 24px;
      padding: 76px 0 108px;
      border-top: 1px solid #252C26;
    }
    .cap-v32-closing::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 48px;
      height: 2px;
      content: "";
      background: #63CA38;
    }
    .cap-v32-closing-title {
      grid-column: 1 / 7;
      align-self: start;
      padding-right: 38px;
    }
    .cap-v32-closing h3 {
      max-width: none;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(40px, 3.3vw, 52px);
      font-weight: 550;
      line-height: 1.02;
      letter-spacing: -.043em;
    }
    .cap-v32-closing h3 span { display: block; }
    .cap-v32-closing-action {
      grid-column: 7 / 13;
      align-self: start;
      min-height: 100%;
      padding: 2px 0 0 44px;
      border-left: 1px solid #29312A;
    }
    .cap-v34-next-label {
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      color: #63CA38;
      font-size: 11px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .085em;
      text-transform: uppercase;
    }
    .cap-v34-next-label::before {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      content: "";
      background: #63CA38;
    }
    .cap-v34-next-path {
      display: grid;
      grid-template-columns: max-content minmax(28px, 1fr) max-content minmax(28px, 1fr) max-content;
      align-items: center;
      column-gap: 14px;
      margin-top: 24px;
    }
    .cap-v34-next-path span {
      display: block;
      color: #E8EDE6;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -.012em;
      white-space: nowrap;
    }
    .cap-v34-next-path i {
      display: block;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, #63CA38 0%, #4B664C 28%, #39473B 64%, #29322A 100%);
    }
    .cap-v32-closing-action > p {
      max-width: none;
      margin: 32px 0 0;
      color: #AEB8AE;
      font-size: 16px;
      font-weight: 410;
      line-height: 1.58;
    }
    .cap-v32-closing-action > p span { display: block; }
    @media (min-width: 1280px) {
      .cap-v32-closing h3 span,
      .cap-v32-closing-action > p span { white-space: nowrap; }
    }
    .cap-v32-closing-controls {
      display: flex;
      align-items: center;
      gap: 26px;
      margin-top: 30px;
    }
    .cap-v32-closing-cta {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
      min-width: 190px;
      min-height: 54px;
      padding: 0 18px;
      color: #0A0D0A;
      background: #63CA38;
      font-size: 13px;
      font-weight: 680;
      line-height: 1;
      text-decoration: none;
      transition: background 180ms ease, transform 120ms ease;
    }
    .cap-v32-closing-cta svg {
      width: 12px;
      height: 12px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .cap-v32-closing-cta:hover { background: #72D94A; }
    .cap-v32-closing-cta:active { transform: scale(.985); }
    .cap-v32-closing-cta:focus-visible,
    .cap-v32-closing-phone:focus-visible {
      outline: 2px solid #A9E891;
      outline-offset: 4px;
    }
    .cap-v32-closing-phone {
      color: #D0D7CE;
      font-size: 14px;
      font-weight: 580;
      line-height: 1;
      text-decoration: none;
      white-space: nowrap;
      transition: color 180ms ease;
    }
    .cap-v32-closing-phone:hover { color: #63CA38; }

    /* Section 03 / v39 — use the approved Section 02 button geometry exactly. */
    .cap-v13-request-button,
    .cap-v10-review-submit,
    .cap-v32-closing-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      overflow: hidden;
      min-height: 46px;
      padding: 0 9px 0 16px;
      border: 1px solid rgba(16, 20, 16, .16);
      border-radius: 8px;
      background: #63CA38;
      color: #0A0D0A;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .26),
        0 1px 0 rgba(16, 20, 16, .035);
      font: inherit;
      font-size: 14px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: -.015em;
      text-decoration: none;
      cursor: pointer;
      transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
    }

    .cap-v13-request-button { width: 100%; }
    .cap-v10-review-submit { width: 100%; margin-top: 14px; }
    .cap-v32-closing-cta { min-width: 190px; }

    .cap-v39-action-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 27px;
      height: 27px;
      flex: 0 0 27px;
      padding: 6.5px;
      border: 1px solid rgba(16, 20, 16, .22);
      border-radius: 7px;
      background: transparent;
      box-sizing: border-box;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.4;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition:
        transform 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
    }

    .cap-v13-request-button:focus-visible,
    .cap-v10-review-submit:focus-visible,
    .cap-v32-closing-cta:focus-visible {
      outline: 2px solid #3FAA1E;
      outline-offset: 3px;
    }

    @media (hover: hover) {
      .cap-v13-request-button:hover,
      .cap-v10-review-submit:hover,
      .cap-v32-closing-cta:hover {
        background: #56BC30;
        border-color: #429B24;
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, .28),
          0 5px 14px rgba(16, 20, 16, .08);
        transform: translateY(-1px);
      }

      .cap-v13-request-button:hover .cap-v39-action-arrow,
      .cap-v10-review-submit:hover .cap-v39-action-arrow,
      .cap-v32-closing-cta:hover .cap-v39-action-arrow {
        background: rgba(255, 255, 255, .12);
        border-color: rgba(16, 20, 16, .3);
        transform: translate(2px, -1px);
      }
    }

    .cap-v13-request-button:active,
    .cap-v10-review-submit:active,
    .cap-v32-closing-cta:active {
      transform: translateY(0);
      box-shadow: inset 0 1px 2px rgba(16, 20, 16, .08);
    }
  }

  @media (min-width: 1680px) {
    .cap-v32-closing { padding-top: 84px; padding-bottom: 118px; }
    .cap-v32-closing h3 { font-size: 54px; }
    .cap-v32-closing-action { padding-left: 52px; }
  }

  /* Section 03 / v43 — final CTA + approved Section 02 button-system corrections. */
  @media (min-width: 1025px) {
    .cap-v32-closing {
      grid-template-columns: minmax(0, 5.25fr) minmax(0, 6.75fr);
      column-gap: 0;
      padding: 78px 0 104px;
    }

    .cap-v32-closing-title {
      grid-column: 1;
      padding-right: 56px;
    }

    .cap-v32-closing h3 {
      max-width: 12.6ch;
      font-size: clamp(43px, 3.25vw, 52px);
      line-height: 1.015;
      letter-spacing: -.044em;
    }

    .cap-v32-closing-action {
      grid-column: 2;
      padding: 4px 0 2px 54px;
      border-left-color: #303930;
    }

    .cap-v34-next-label {
      gap: 11px;
      color: #AEB8AE;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .075em;
    }

    .cap-v34-next-label::before {
      width: 6px;
      height: 6px;
      background: #63CA38;
    }

    .cap-v34-next-path {
      grid-template-columns: max-content minmax(42px, 1fr) max-content minmax(42px, 1fr) max-content;
      column-gap: 16px;
      margin-top: 25px;
    }

    .cap-v34-next-path span {
      color: #F0F3EF;
      font-size: 14px;
      font-weight: 620;
      line-height: 1.2;
      letter-spacing: -.016em;
    }

    .cap-v34-next-path i {
      background: linear-gradient(90deg, #63CA38 0%, #49634B 26%, #344035 66%, #29322A 100%);
    }

    .cap-v32-closing-action > p:not(.cap-v34-next-label) {
      margin-top: 34px;
      color: #B5BFB5;
      font-size: 18px;
      line-height: 1.5;
      letter-spacing: -.012em;
    }

    .cap-v32-closing-controls {
      gap: 28px;
      margin-top: 34px;
    }

    .cap-v32-closing-phone {
      font-size: 15px;
      font-weight: 590;
    }

    /* Exact visual mechanics of the approved Section 02 CTA family. */
    .cap-v13-request-button,
    .cap-v10-review-submit,
    .cap-v32-closing-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      overflow: hidden;
      min-height: 46px;
      padding: 0 13px 0 16px;
      border: 1px solid rgba(16, 20, 16, .16);
      border-radius: 8px;
      background: #63CA38;
      color: #0A0D0A;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
      font: inherit;
      font-size: 14px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: -.015em;
      text-decoration: none;
      cursor: pointer;
      transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    }

    .cap-v13-request-button { width: 100%; }
    .cap-v10-review-submit { width: 100%; margin-top: 14px; }
    .cap-v32-closing-cta { min-width: 206px; }

    .cap-v13-request-button .action-arrow,
    .cap-v10-review-submit .action-arrow,
    .cap-v32-closing-cta .action-arrow {
      display: block;
      width: 27px;
      height: 27px;
      flex: 0 0 27px;
      padding: 6.5px;
      border: 1px solid rgba(16, 20, 16, .22);
      border-radius: 7px;
      background: transparent;
      box-sizing: border-box;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.4;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
    }

    .cap-v13-request-button:focus-visible,
    .cap-v10-review-submit:focus-visible,
    .cap-v32-closing-cta:focus-visible {
      outline: 2px solid #3FAA1E;
      outline-offset: 3px;
    }

    @media (hover: hover) {
      .cap-v13-request-button:hover,
      .cap-v10-review-submit:hover,
      .cap-v32-closing-cta:hover {
        background: #56BC30;
        border-color: #429B24;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 5px 14px rgba(16,20,16,.08);
        transform: translateY(-1px);
      }

      .cap-v13-request-button:hover .action-arrow,
      .cap-v10-review-submit:hover .action-arrow,
      .cap-v32-closing-cta:hover .action-arrow {
        background: rgba(255,255,255,.12);
        border-color: rgba(16,20,16,.30);
        transform: translate(2px,-1px);
      }
    }

    .cap-v13-request-button:active,
    .cap-v10-review-submit:active,
    .cap-v32-closing-cta:active {
      transform: translateY(0);
      box-shadow: inset 0 1px 2px rgba(16,20,16,.08);
    }
  }

  @media (min-width: 1680px) {
    .cap-v32-closing-action { padding-left: 62px; }
    .cap-v32-closing h3 { font-size: 54px; }
  }

  /* Section 03 / v45 — balanced desktop closing CTA. */
  .cap-v44-closing { display: none; }

  @media (min-width: 1025px) {
    .cap-v44-closing {
      position: relative;
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      column-gap: 24px;
      row-gap: 0;
      padding: 72px 0 88px;
      border-top: 1px solid #252C26;
    }
    .cap-v44-closing::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 48px;
      height: 2px;
      content: "";
      background: #63CA38;
    }

    .cap-v44-title {
      grid-column: 1 / 8;
      align-self: start;
      min-width: 0;
      padding-right: 34px;
    }
    .cap-v44-title h3 {
      max-width: 760px;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(42px, 3vw, 50px);
      font-weight: 550;
      line-height: 1.02;
      letter-spacing: -.043em;
    }
    .cap-v44-title h3 span { display: block; }

    .cap-v44-action {
      grid-column: 8 / 13;
      align-self: start;
      min-width: 0;
      padding-top: 2px;
    }
    .cap-v44-copy {
      max-width: 540px;
      margin: 0;
      color: #B7C0B7;
      font-size: 17px;
      font-weight: 410;
      line-height: 1.55;
      letter-spacing: -.012em;
    }
    .cap-v44-copy span { display: block; }

    .cap-v44-controls {
      display: flex;
      align-items: center;
      gap: 26px;
      margin-top: 28px;
    }
    .cap-v44-phone {
      color: #D0D7CE;
      font-size: 14px;
      font-weight: 590;
      line-height: 1;
      text-decoration: none;
      white-space: nowrap;
      transition: color 180ms ease;
    }
    .cap-v44-phone:hover { color: #63CA38; }
    .cap-v44-phone:focus-visible {
      outline: 2px solid #3FAA1E;
      outline-offset: 4px;
    }

    .cap-v44-next {
      grid-column: 1 / 13;
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      column-gap: 24px;
      align-items: center;
      margin-top: 42px;
      padding-top: 20px;
      border-top: 1px solid #29312A;
    }
    .cap-v44-next-label {
      grid-column: 1 / 3;
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      color: #9EA99F;
      font-size: 11px;
      font-weight: 620;
      line-height: 1;
      letter-spacing: .085em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .cap-v44-next-label::before {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      flex: 0 0 6px;
      content: "";
      background: #63CA38;
    }
    .cap-v44-next-path {
      grid-column: 3 / 13;
      display: grid;
      grid-template-columns: max-content minmax(70px, 1fr) max-content minmax(70px, 1fr) max-content;
      align-items: center;
      column-gap: 18px;
      min-width: 0;
    }
    .cap-v44-next-path span {
      color: #EEF2ED;
      font-size: 13px;
      font-weight: 620;
      line-height: 1.2;
      letter-spacing: -.015em;
      white-space: nowrap;
    }
    .cap-v44-next-path i {
      display: block;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, #29322A 0%, #344035 36%, #4B664C 72%, #63CA38 100%);
    }
  }

  @media (min-width: 1280px) {
    .cap-v44-title h3 span { white-space: nowrap; }
  }

  @media (min-width: 1025px) and (max-width: 1279px) {
    .cap-v44-closing { padding-top: 64px; padding-bottom: 82px; }
    .cap-v44-title { grid-column: 1 / 7; padding-right: 22px; }
    .cap-v44-title h3 { font-size: clamp(38px, 3.7vw, 44px); }
    .cap-v44-action { grid-column: 7 / 13; padding-left: 18px; }
    .cap-v44-copy { max-width: none; font-size: 15.5px; }
    .cap-v44-copy span { display: inline; }
    .cap-v44-next { margin-top: 36px; }
    .cap-v44-next-label { grid-column: 1 / 3; }
    .cap-v44-next-path { grid-column: 3 / 13; column-gap: 12px; grid-template-columns: max-content minmax(34px, 1fr) max-content minmax(34px, 1fr) max-content; }
    .cap-v44-next-path span { font-size: 12px; }
  }

  @media (min-width: 1680px) {
    .cap-v44-closing { padding-top: 80px; padding-bottom: 96px; }
    .cap-v44-title h3 { font-size: 52px; }
    .cap-v44-copy { font-size: 18px; }
    .cap-v44-next-path span { font-size: 13.5px; }
  }

  /* Section 03 / v46 — desktop art-direction polish after focused audit.
     Scope: reduce proof mass in calculator/reviews, tune major-scene rhythm,
     refine secondary ecommerce evidence, and tighten the closing CTA.
     Tablet/mobile remain untouched. */
  @media (min-width: 1025px) {
    /* Rhythm follows visual mass rather than one mechanical interval. */
    .cap-v7-scene--calc + .cap-v7-scene--auto { margin-top: 144px; }
    .cap-v7-scene--auto + .cap-v7-scene--reviews { margin-top: 112px; }
    .cap-v10-updater { margin-top: 144px; }

    /* Ecommerce: keep the primary screen dominant; make secondary evidence
       easier to read without letting it compete with the main proof. */
    .cap-ecom-evidence-row {
      grid-template-columns: minmax(0, 1.52fr) minmax(264px, .84fr);
      gap: 14px;
      margin-top: 14px;
    }
    .cap-ecom-evidence figcaption {
      min-height: 36px;
      padding: 0 13px;
      color: #69746A;
      font-size: 8.5px;
    }
    .cap-ecom-evidence figcaption strong { color: #ADB6AC; }
    .cap-ecom-evidence figcaption span { color: #5F695F; }
    .cap-ecom-evidence-media { height: 144px; }
    .cap-ecom-owner { margin-top: 27px; }
    .cap-ecom-owner strong { color: #AEB7AE; }
    .cap-ecom-owner span { color: #707B71; }

    /* Calculator: preserve all mechanics and fields, but compress the visual
       footprint and reduce simultaneous accent competition. */
    .cap-v13-calc-body {
      grid-template-columns: minmax(0, 1.2fr) 82px minmax(304px, .76fr);
      min-height: 610px;
    }
    .cap-v13-calc-form { padding: 26px 26px 24px; }
    .cap-v12-calc-grid { gap: 6px 14px; }
    .cap-v12-calc-field { gap: 6px; padding: 10px 0 11px; }
    .cap-v13-condition-title { margin-top: 18px; }
    .cap-v13-conditions { gap: 6px; margin-top: 10px; }
    .cap-v13-conditions .cap-v8-condition {
      min-height: 34px;
      padding: 0 9px;
      font-size: 9.5px;
    }
    .cap-v13-distance {
      min-height: 46px;
      margin-top: 14px;
      padding: 0 10px;
    }
    .cap-v13-calc-trace span {
      color: #8B998C;
      font-size: 11px;
      font-weight: 680;
      letter-spacing: .1em;
    }
    .cap-v13-calc-result { padding: 26px 24px 22px; }
    .cap-v13-result-status {
      gap: 8px;
      min-height: 0;
      padding: 0;
      border: 0;
      color: #839084;
      background: transparent;
      font-size: 9px;
    }
    .cap-v13-result-status::before {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      flex: 0 0 6px;
      content: "";
      background: #63CA38;
      transform: translateY(-1px);
    }
    .cap-v13-result-label { margin-top: 18px; }
    .cap-v13-price {
      margin-top: 10px;
      font-size: clamp(44px, 3.55vw, 56px);
    }
    .cap-v13-result-list {
      gap: 8px;
      margin-top: 16px;
      padding-top: 15px;
    }
    .cap-v13-result-total { padding-top: 11px !important; }
    .cap-v13-request {
      margin-top: 22px;
      padding-top: 19px;
    }
    .cap-v13-request h4 {
      margin-top: 7px;
      font-size: 20px;
    }
    .cap-v13-request > p:not(.cap-v13-request-kicker) {
      margin-top: 8px;
      font-size: 11.5px;
      line-height: 1.5;
    }
    .cap-v13-request-fields {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
      margin-top: 15px;
    }
    .cap-v13-request-fields input {
      min-height: 42px;
      padding: 0 10px;
      font-size: 11.5px;
    }
    .cap-v13-request-button { margin-top: 10px; }
    .cap-v13-request small {
      margin-top: 7px;
      font-size: 8.5px;
    }

    /* Reviews: keep the same real workflow, but make it a quieter proof than
       the calculator and bias attention toward the published outcome. */
    .cap-v10-reviews-body {
      grid-template-columns: minmax(0, .96fr) 82px minmax(326px, 1.04fr);
      min-height: 492px;
    }
    .cap-v10-review-form { padding: 25px 24px 22px; }
    .cap-v10-panel-label { margin-bottom: 16px; }
    .cap-v10-review-fields { gap: 8px; }
    .cap-v10-review-field {
      min-height: 54px;
      padding: 9px 11px;
    }
    .cap-v10-review-field strong { margin-top: 6px; }
    .cap-v10-review-media { gap: 8px; margin-top: 8px; }
    .cap-v10-review-drop {
      min-height: 68px;
      padding: 11px 12px;
      color: #7E897F;
      font-size: 10px;
    }
    .cap-v10-review-drop b {
      margin-bottom: 6px;
      font-size: 11px;
    }
    .cap-v10-review-text {
      min-height: 74px;
      margin-top: 8px;
      padding: 12px;
      font-size: 10.5px;
    }
    .cap-v10-review-submit { margin-top: 12px; }
    .cap-v10-review-trace span {
      color: #89978A;
      font-size: 10.5px;
    }
    .cap-v10-review-published {
      justify-content: center;
      padding: 25px 24px;
    }
    .cap-v10-published-status { margin-bottom: 14px; }
    .cap-v10-review-card-head { padding: 13px; }
    .cap-v10-review-card-body { padding: 14px; }
    .cap-v10-review-thumbs {
      grid-template-columns: 58px 58px;
      gap: 7px;
      margin-top: 11px;
    }
    .cap-v10-review-thumb { height: 48px; }
    .cap-v10-company-reply {
      margin-top: 11px;
      padding: 10px 11px;
    }
    .cap-v10-reviews-foot { padding: 11px 20px; }

    /* Closing CTA: retain the accepted 7/5 editorial composition. The route
       now follows the same 3/9 rail logic as the proof scenes instead of
       reading as an independent full-width diagram. */
    .cap-v44-closing { padding-top: 68px; padding-bottom: 84px; }
    .cap-v44-title { padding-right: 42px; }
    .cap-v44-title h3 {
      max-width: 730px;
      font-size: clamp(42px, 2.92vw, 49px);
      line-height: 1.015;
    }
    .cap-v44-copy {
      max-width: 510px;
      font-size: 16.5px;
      line-height: 1.52;
    }
    .cap-v44-controls { margin-top: 25px; }
    .cap-v44-next {
      margin-top: 34px;
      padding-top: 18px;
    }
    .cap-v44-next-label { grid-column: 1 / 4; }
    .cap-v44-next-path {
      grid-column: 4 / 13;
      grid-template-columns: max-content minmax(46px, 1fr) max-content minmax(46px, 1fr) max-content;
      column-gap: 15px;
    }
    .cap-v44-next-path span {
      color: #E6EBE5;
      font-size: 12.5px;
      font-weight: 600;
    }
    .cap-v44-next-path i {
      background: linear-gradient(90deg, #29322A 0%, #354137 42%, #4B664C 76%, #63CA38 100%);
    }
  }

  @media (min-width: 1025px) and (max-width: 1279px) {
    .cap-v13-calc-body {
      grid-template-columns: minmax(0, 1.08fr) 70px minmax(300px, .92fr);
      min-height: 0;
    }
    .cap-v13-calc-form { padding: 24px 20px 22px; }
    .cap-v13-request-fields { grid-template-columns: 1fr; }

    .cap-v10-reviews-body {
      grid-template-columns: minmax(0, 1fr) 70px minmax(300px, 1fr);
      min-height: 0;
    }
    .cap-v10-review-form,
    .cap-v10-review-published { padding: 22px 18px; }

    .cap-v44-closing { padding-top: 62px; padding-bottom: 80px; }
    .cap-v44-title { padding-right: 28px; }
    .cap-v44-next-label { grid-column: 1 / 4; }
    .cap-v44-next-path {
      grid-column: 4 / 13;
      grid-template-columns: max-content minmax(28px, 1fr) max-content minmax(28px, 1fr) max-content;
      column-gap: 10px;
    }
    .cap-v44-next-path span { font-size: 11.5px; }
  }

  @media (min-width: 1680px) {
    .cap-v13-calc-body { min-height: 620px; }
    .cap-v10-reviews-body { min-height: 500px; }
    .cap-ecom-evidence-media { height: 148px; }
  }

  /* Section 03 / v47 — dedicated Tablet 768–1024 responsive pass.
     Desktop >=1025 remains locked; Mobile <768 remains untouched. */
  @media (min-width: 768px) and (max-width: 1024px) {
    .capability-section.cap-v7 {
      position: relative;
      display: block;
      overflow: hidden;
      border-top: 1px solid #293129;
      color: #F7F8F5;
      background: linear-gradient(
        180deg,
        #090D0A 0%,
        #090D0A 22%,
        #0A0E0B 48%,
        #090D0A 100%
      );
    }

    .cap-v7-shell {
      width: min(calc(100% - 64px), 960px);
      margin: 0 auto;
    }

    /* Opening: 8-column editorial composition, not a scaled desktop 12-column scene. */
    .cap-v7-opening {
      position: relative;
      padding: clamp(104px, 13vw, 126px) 0 clamp(88px, 10vw, 104px);
    }
    .cap-v7-opening::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: clamp(64px, 8vw, 72px);
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v7-meta {
      display: flex;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: clamp(48px, 6vw, 58px);
      color: #788278;
      font-size: 10px;
      font-weight: 650;
      line-height: 1.25;
      letter-spacing: .085em;
      text-transform: uppercase;
    }
    .cap-v7-meta strong { color: #63CA38; font-weight: 680; }

    .cap-v7-intro {
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      gap: 20px;
      align-items: end;
    }
    .cap-v7-title {
      grid-column: 1 / 8;
      max-width: 850px;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(46px, 6vw, 58px);
      font-weight: 560;
      line-height: .98;
      letter-spacing: -.048em;
    }
    .cap-v7-title span { display: block; }
    .cap-v7-title .cap-v7-title-mobile { display: none; }
    .cap-v7-title span:last-child { margin-left: 7.5%; }
    .cap-v7-lead {
      grid-column: 4 / 9;
      max-width: 38ch;
      margin: clamp(30px, 4vw, 38px) 0 0;
      color: #B5BEB4;
      font-size: 16.5px;
      font-weight: 410;
      line-height: 1.58;
      letter-spacing: -.008em;
    }

    /* Common Tablet scene rhythm. */
    .cap-v7-scenes { padding-bottom: 0; }
    .cap-v7-scene {
      position: relative;
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      column-gap: 20px;
      align-items: start;
      padding-top: clamp(48px, 6vw, 56px);
      border-top: 1px solid #252C26;
    }
    .cap-v7-scene::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: clamp(64px, 8vw, 72px);
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v7-scene + .cap-v7-scene { margin-top: clamp(80px, 9vw, 92px); }
    .cap-v7-scene--calc + .cap-v7-scene--auto,
    .cap-v7-scene--reviews + .cap-v10-updater { margin-top: clamp(96px, 10vw, 104px); }

    .cap-v7-copy {
      grid-column: 1 / 6;
      padding: 0;
    }
    .cap-v7-kicker {
      margin: 0 0 18px;
      color: #63CA38;
      font-size: 10.5px;
      font-weight: 680;
      line-height: 1.25;
      letter-spacing: .085em;
      text-transform: uppercase;
    }
    .cap-v7-scene-title {
      max-width: 18ch;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(32px, 4.1vw, 34px);
      font-weight: 550;
      line-height: 1.04;
      letter-spacing: -.038em;
    }
    .cap-v7-scene-text {
      max-width: 38ch;
      margin: 20px 0 0;
      color: #AAB4AA;
      font-size: 16px;
      font-weight: 410;
      line-height: 1.58;
    }
    .cap-v7-route {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      margin-top: 24px;
      color: #788278;
      font-size: 10px;
      font-weight: 620;
      line-height: 1.25;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v7-route i { width: 18px; height: 1px; background: #3B463C; }
    .cap-v7-link {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-top: 22px;
      padding-bottom: 6px;
      border-bottom: 1px solid #354036;
      color: #F7F8F5;
      font-size: 13px;
      font-weight: 560;
      line-height: 1;
      text-decoration: none;
    }
    .cap-v7-link::after { color: #63CA38; content: "↗"; font-size: 14px; }
    .cap-v7-own { margin: 18px 0 0; color: #738074; font-size: 12px; line-height: 1.5; }

    /* Ecommerce — copy first, one full-width primary proof, two subordinate real proofs. */
    .cap-v7-scene--web .cap-ecom-legacy-stage,
    .cap-v7-scene--web .cap-ecom-copy-legacy { display: none; }
    .cap-v7-scene--web .cap-ecom-copy-desktop { display: block; }
    .cap-v7-scene--web .cap-v7-copy { grid-column: 1 / 6; padding: 0; }

    .cap-ecom-owner {
      position: relative;
      display: grid;
      gap: 6px;
      max-width: 38ch;
      margin-top: 26px;
      padding-top: 16px;
      border-top: 1px solid #29322A;
    }
    .cap-ecom-owner::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 38px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-ecom-owner strong {
      color: #AEB7AE;
      font-size: 10px;
      font-weight: 680;
      line-height: 1.25;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .cap-ecom-owner span { color: #707B71; font-size: 11px; line-height: 1.45; }

    .cap-ecom-plate-v29 {
      grid-column: 1 / 9;
      display: block;
      width: 100%;
      min-width: 0;
      margin-top: 32px;
    }
    .cap-ecom-main-proof,
    .cap-ecom-evidence {
      min-width: 0;
      margin: 0;
      overflow: hidden;
      border: 1px solid #29322A;
    }
    .cap-ecom-main-proof { background: #F7F8F5; }
    .cap-v10-browser-top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 14px;
      min-height: 44px;
      padding: 0 15px;
      border-bottom: 1px solid #29322A;
      color: #737D74;
      background: #0D110E;
      font-size: 9.5px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: .065em;
      text-transform: uppercase;
    }
    .cap-v10-browser-id { display: flex; align-items: center; gap: 10px; min-width: 0; }
    .cap-v10-browser-dots { display: flex; gap: 5px; }
    .cap-v10-browser-dots i { width: 5px; height: 5px; border-radius: 50%; background: #586159; }
    .cap-v10-browser-id strong { overflow: hidden; color: #C0C8BE; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
    .cap-v10-browser-page { display: none; }
    .cap-v10-browser-status { position: relative; padding-left: 14px; color: #8A958B; white-space: nowrap; }
    .cap-v10-browser-status::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      content: "";
      background: #63CA38;
      transform: translateY(-50%);
    }
    .cap-ecom-main-media { overflow: hidden; background: #F7F8F5; }
    .cap-ecom-main-media img { display: block; width: 100%; height: auto; max-width: 100%; }

    .cap-ecom-evidence-row {
      display: grid;
      grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
      gap: 14px;
      margin-top: 14px;
      align-items: stretch;
    }
    .cap-ecom-evidence { background: #0B0F0C; }
    .cap-ecom-evidence figcaption {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 38px;
      padding: 0 12px;
      border-bottom: 1px solid #29322A;
      color: #69746A;
      font-size: 8.5px;
      font-weight: 640;
      letter-spacing: .055em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .cap-ecom-evidence figcaption strong { color: #ADB6AC; font-weight: 660; }
    .cap-ecom-evidence figcaption span { color: #5F695F; }
    .cap-ecom-evidence-media {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      height: clamp(138px, 18vw, 168px);
      overflow: hidden;
      background: #F7F8F5;
    }
    .cap-ecom-evidence-media img { display: block; max-width: 100%; max-height: 100%; }
    .cap-ecom-evidence--catalog .cap-ecom-evidence-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media { padding: 0 8px; background: #fff; }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media img { width: 100%; height: auto; object-fit: contain; }

    /* Calculator — rebuild the layout, not its mechanics. */
    .cap-v7-scene--calc .cap-v7-copy { grid-column: 1 / 6; }
    .cap-v10-adapt-note {
      position: relative;
      max-width: 38ch;
      margin: 26px 0 0;
      padding: 16px 0 0;
      border-top: 1px solid #29322A;
      color: #758176;
      font-size: 11.5px;
      line-height: 1.55;
    }
    .cap-v10-adapt-note::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 44px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v10-adapt-note strong { display: block; margin-bottom: 5px; color: #C5CDC3; font-size: 13px; font-weight: 610; }

    .cap-v7-calc-stage {
      grid-column: 1 / 9;
      position: relative;
      min-width: 0;
      margin-top: 32px;
      overflow: hidden;
      border: 1px solid #29322A;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
    }
    .cap-v13-calc .cap-v7-calc-top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 5px 18px;
      align-items: center;
      min-height: 68px;
      padding: 12px 18px;
      border-bottom: 1px solid #29322A;
      color: #737D74;
      font-size: 9.5px;
      font-weight: 650;
      line-height: 1.25;
      letter-spacing: .065em;
      text-transform: uppercase;
    }
    .cap-v13-calc .cap-v7-calc-top strong { color: #C0C8BE; font-weight: 650; }
    .cap-v13-calc .cap-v7-calc-top span { grid-column: 1 / -1; text-align: left; color: #737D74; }
    .cap-v13-calc .cap-v7-calc-top em { position: relative; padding-left: 14px; color: #7B867C; font-style: normal; white-space: nowrap; }
    .cap-v13-calc .cap-v7-calc-top em::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      content: "";
      background: #63CA38;
      transform: translateY(-50%);
    }

    .cap-v13-calc-body { display: block; min-height: 0; }
    .cap-v13-calc-form {
      min-width: 0;
      padding: 28px 26px 26px;
      border-right: 0;
      background: #0D110E;
    }
    .cap-v13-panel-label,
    .cap-v13-condition-title,
    .cap-v13-result-label,
    .cap-v13-request-kicker {
      margin: 0;
      color: #7B867C;
      font-size: 10px;
      font-weight: 650;
      line-height: 1.25;
      letter-spacing: .075em;
      text-transform: uppercase;
    }
    .cap-v12-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
    .cap-v12-calc-field { display: grid; gap: 7px; padding: 11px 0 12px; border-top: 1px solid #29322A; }
    .cap-v12-calc-field--wide { grid-column: 1 / -1; }
    .cap-v12-calc-field > span { color: #7D887E; font-size: 10px; line-height: 1.3; }
    .cap-v12-calc-field select,
    .cap-v12-calc-field input,
    .cap-v12-distance input {
      width: 100%;
      min-width: 0;
      border: 0;
      border-radius: 0;
      outline: 0;
      color: #E5E9E3;
      background: transparent;
      font: 560 14px/1.3 Onest, "Segoe UI", sans-serif;
    }
    .cap-v12-calc-field select { cursor: pointer; }
    .cap-v12-calc-field option { color: #101410; background: #F7F8F5; }
    .cap-v12-calc-field input::placeholder,
    .cap-v12-distance input::placeholder { color: #59645B; opacity: 1; }
    .cap-v12-calc-field:focus-within { border-top-color: #63CA38; }

    .cap-v13-condition-title { margin-top: 22px; }
    .cap-v13-conditions {
      display: grid;
      grid-template-columns: 1fr;
      gap: 7px;
      margin-top: 11px;
    }
    .cap-v13-conditions .cap-v8-condition {
      position: relative;
      display: grid;
      grid-template-columns: 16px minmax(0, 1fr) auto;
      align-items: center;
      gap: 9px;
      min-height: 39px;
      padding: 0 11px;
      border: 1px solid #273128;
      color: #8F9A90;
      background: #101612;
      font-size: 10.5px;
      line-height: 1.3;
      cursor: pointer;
    }
    .cap-v13-conditions .cap-v8-condition input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
    .cap-v13-conditions .cap-v8-condition i { position: relative; width: 13px; height: 13px; border: 1px solid #4A564B; }
    .cap-v13-conditions .cap-v8-condition input:checked + i { border-color: #63CA38; background: #63CA38; }
    .cap-v13-conditions .cap-v8-condition input:checked + i::after {
      position: absolute;
      top: 2px;
      left: 3px;
      width: 5px;
      height: 3px;
      border-bottom: 1.5px solid #0B0F0C;
      border-left: 1.5px solid #0B0F0C;
      content: "";
      transform: rotate(-45deg);
    }
    .cap-v13-conditions .cap-v8-condition b { color: #63CA38; font-weight: 650; white-space: nowrap; }

    .cap-v12-distance.cap-v13-distance {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr);
      align-items: center;
      gap: 18px;
      min-height: 50px;
      margin-top: 12px;
      padding: 0 12px;
      border: 1px solid #273128;
      color: #8F9A90;
      background: #101612;
      font-size: 10px;
    }
    .cap-v12-distance-control { display: grid; grid-template-columns: 72px auto; align-items: center; gap: 8px; }
    .cap-v12-distance-control b { color: #6F7A70; font-weight: 540; white-space: nowrap; }

    .cap-v13-calc-trace {
      position: relative;
      min-height: 76px;
      border-top: 1px solid #283129;
      border-right: 0;
      border-bottom: 1px solid #283129;
      border-left: 0;
      background: #0B0F0C;
    }
    .cap-v13-calc-trace::before {
      position: absolute;
      top: 50%;
      right: 10%;
      bottom: auto;
      left: 10%;
      width: auto;
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, #354C38 18%, #63CA38 50%, #354C38 82%, transparent);
      transform: none;
    }
    .cap-v13-calc-trace i { display: none; }
    .cap-v13-calc-trace span {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 50%;
      padding: 7px 10px;
      color: #8B998C;
      background: #0B0F0C;
      font-size: 11px;
      font-weight: 680;
      letter-spacing: .1em;
      text-transform: uppercase;
      transform: translate(-50%, -50%);
      white-space: nowrap;
    }

    .cap-v13-calc-result {
      min-width: 0;
      padding: 28px 26px 26px;
      background: #0B0F0C;
    }
    .cap-v13-result-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 0;
      padding: 0;
      border: 0;
      color: #839084;
      background: transparent;
      font-size: 9.5px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .cap-v13-result-status::before { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 6px; content: ""; background: #63CA38; transform: translateY(-1px); }
    .cap-v13-result-label { margin-top: 18px; }
    .cap-v13-price { margin: 10px 0 0; color: #F7F8F5; font-size: clamp(46px, 6.2vw, 58px); font-weight: 570; line-height: .95; letter-spacing: -.055em; white-space: nowrap; }
    .cap-v13-price small { color: #93A093; font-size: .43em; font-weight: 520; }
    .cap-v8-result-list.cap-v13-result-list {
      display: grid;
      gap: 9px;
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid #29322A;
    }
    .cap-v8-result-list.cap-v13-result-list div {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      color: #788279;
      font-size: 11px;
      line-height: 1.35;
    }
    .cap-v8-result-list.cap-v13-result-list strong { color: #C3CBC1; font-weight: 600; white-space: nowrap; }
    .cap-v13-result-total { margin-top: 4px; padding-top: 12px !important; border-top: 1px solid #344036; }
    .cap-v13-result-total strong { color: #F0F3EE !important; }

    .cap-v13-request { margin-top: 24px; padding-top: 21px; border-top: 1px solid #2A342B; }
    .cap-v13-request h4 { margin: 8px 0 0; color: #F4F6F2; font-size: 21px; font-weight: 560; line-height: 1.15; letter-spacing: -.025em; }
    .cap-v13-request > p:not(.cap-v13-request-kicker) { max-width: 44ch; margin: 9px 0 0; color: #859086; font-size: 12px; line-height: 1.55; }
    .cap-v13-request-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 17px; }
    .cap-v13-request-fields label { display: grid; gap: 7px; }
    .cap-v13-request-fields label > span { color: #717D72; font-size: 9px; font-weight: 620; letter-spacing: .06em; text-transform: uppercase; }
    .cap-v13-request-fields input { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #2D382F; border-radius: 0; outline: 0; color: #E9EDE7; background: #111713; font: inherit; font-size: 13px; }
    .cap-v13-request-fields input:focus { border-color: #63CA38; }
    .cap-v13-request-fields input::placeholder { color: #626D63; }
    .cap-v13-request small { display: block; margin-top: 8px; color: #5F6A60; font-size: 9px; line-height: 1.4; }
    .cap-v13-request-consent a { color: #778479; text-underline-offset: 2px; }
    .cap-v7-calc-stage .cap-v7-stage-foot {
      position: static;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 10px;
      min-height: 46px;
      padding: 11px 18px;
      border-top: 1px solid #29322A;
      color: #687268;
      font-size: 9.5px;
      font-weight: 620;
      letter-spacing: .05em;
      text-transform: uppercase;
    }
    .cap-v7-calc-stage .cap-v7-stage-foot i { width: 22px; height: 1px; background: #334035; }
    .cap-v7-calc-stage .cap-v7-stage-foot b { margin-left: auto; color: #4B9F2B; font-weight: 650; }

    /* Telegram — inner messenger stays intact; only responsive placement changes. */
    .cap-v7-scene--auto .cap-v7-copy { grid-column: 1 / 6; }
    .cap-v6-auto-proof.cap-v7-auto-proof {
      grid-column: 1 / 9 !important;
      position: relative;
      min-width: 0;
      margin-top: 32px;
      overflow: hidden;
      border: 1px solid #283129;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
    }
    .cap-v6-auto-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 48px;
      padding: 0 18px;
      border-bottom: 1px solid #283129;
      color: #737D74;
      font-size: 9.5px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: .065em;
      text-transform: uppercase;
    }
    .cap-v6-auto-head strong { color: #B9C2B8; font-weight: 650; }
    .cap-v6-auto-status { display: inline-flex; align-items: center; gap: 7px; color: #7F897F; }
    .cap-v6-auto-status::before { width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; }

    .cap-v6-auto-body { display: grid; grid-template-columns: 1fr; min-height: 0; }
    .cap-v10-telegram-stage {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      min-width: 0;
      padding: 32px 24px;
      border-right: 0;
      border-bottom: 1px solid #283129;
      background: #0B0F0C;
    }
    .cap-v10-tg-window { width: min(100%, 560px); overflow: hidden; border: 1px solid #374138; background: #111613; box-shadow: 0 24px 58px rgba(0,0,0,.25); }
    .cap-v10-tg-top { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; min-height: 58px; padding: 0 16px; border-bottom: 1px solid #313A32; background: #151B17; }
    .cap-v10-tg-avatar { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #465147; border-radius: 50%; color: #DDE4DB; background: #202821; font-size: 11px; font-weight: 700; }
    .cap-v10-tg-name strong { display: block; color: #E8ECE6; font-size: 13px; font-weight: 620; }
    .cap-v10-tg-name span { display: block; margin-top: 3px; color: #748075; font-size: 10px; }
    .cap-v10-tg-state { position: relative; padding-left: 14px; color: #879289; font-size: 9px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
    .cap-v10-tg-state::before { position: absolute; top: 50%; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; transform: translateY(-50%); }
    .cap-v10-tg-chat { padding: 20px; background: linear-gradient(145deg,#111713,#0D120E 58%,#101511); }
    .cap-v10-tg-message { width: 100%; overflow: hidden; border: 1px solid #3A443B; background: #242827; }
    .cap-v10-tg-message-head { padding: 13px 15px; border-bottom: 1px solid #3A443B; color: #F0F2EE; font-size: 15px; font-weight: 600; }
    .cap-v10-tg-message-body { padding: 15px; }
    .cap-v10-tg-line { display: grid; grid-template-columns: 86px 1fr; gap: 12px; padding: 7px 0; color: #9AA49A; font-size: 11px; line-height: 1.4; }
    .cap-v10-tg-line strong { color: #E0E5DE; font-weight: 540; }
    .cap-v10-tg-divider { height: 1px; margin: 13px 0 14px; background: #5A625B; }
    .cap-v10-tg-copy { color: #D4DAD2; font-size: 12px; line-height: 1.58; }
    .cap-v10-tg-copy b { color: #AEB8AE; font-weight: 560; }
    .cap-v10-tg-buttons { display: grid; gap: 7px; margin-top: 8px; }
    .cap-v10-tg-button { display: flex; align-items: center; justify-content: center; min-height: 38px; border: 1px solid #3B453C; color: #D6DDD4; background: #202622; font-size: 11px; font-weight: 570; }
    .cap-v10-tg-button.is-primary { border-color: #4C8E39; color: #E0F4D9; background: #172118; }
    .cap-v10-tg-time { margin-top: 7px; color: #737D74; font-size: 9px; text-align: right; }

    .cap-v6-auto-flow { display: flex; flex-direction: column; justify-content: center; padding: 30px 26px; background: #0D110E; }
    .cap-v6-auto-flow-label { margin: 0 0 20px; color: #6F796F; font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
    .cap-v6-auto-steps { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
    .cap-v6-auto-steps::before { position: absolute; top: 23px; bottom: 23px; left: 6px; width: 1px; content: ""; background: #324334; }
    .cap-v6-auto-steps li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 12px; min-height: 62px; padding: 8px 0; }
    .cap-v6-auto-dot { position: relative; z-index: 1; width: 13px; height: 13px; margin-top: 3px; border: 3px solid #0D110E; border-radius: 50%; background: #63CA38; box-shadow: 0 0 0 1px #63CA38; }
    .cap-v6-auto-step strong { display: block; color: #D7DDD5; font-size: 12px; font-weight: 590; }
    .cap-v6-auto-step span { display: block; max-width: 36ch; margin-top: 5px; color: #7C877D; font-size: 10.5px; line-height: 1.45; }
    .cap-v6-auto-features { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
    .cap-v6-auto-features span { padding: 7px 9px; border: 1px solid #2B352C; color: #758076; font-size: 9px; letter-spacing: .045em; text-transform: uppercase; }
    .cap-v6-auto-caption { display: flex; justify-content: space-between; gap: 20px; padding: 12px 18px; border-top: 1px solid #283129; color: #687268; font-size: 9.5px; font-weight: 620; letter-spacing: .055em; text-transform: uppercase; }
    .cap-v6-auto-caption b { color: #AEB7AD; font-weight: 620; }
    .cap-v6-auto-caption span:last-child { color: #4B9F2B; }

    /* Reviews — vertical workflow: form → moderation → published outcome. */
    .cap-v7-scene--reviews .cap-v7-copy { grid-column: 1 / 6; }
    .cap-v10-reviews-stage {
      grid-column: 1 / 9;
      min-width: 0;
      margin-top: 32px;
      overflow: hidden;
      border: 1px solid #29322A;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
    }
    .cap-v10-system-top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 5px 18px;
      align-items: center;
      min-height: 66px;
      padding: 11px 18px;
      border-bottom: 1px solid #29322A;
      color: #737D74;
      font-size: 9.5px;
      font-weight: 650;
      letter-spacing: .065em;
      text-transform: uppercase;
    }
    .cap-v10-system-top strong { color: #C0C8BE; font-weight: 650; }
    .cap-v10-system-top > span { grid-column: 1 / -1; }
    .cap-v10-system-top em { position: relative; grid-column: 2; grid-row: 1; padding-left: 14px; color: #7B867C; font-style: normal; white-space: nowrap; }
    .cap-v10-system-top em::before { position: absolute; top: 50%; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; transform: translateY(-50%); }

    .cap-v10-reviews-body { display: block; min-height: 0; }
    .cap-v10-review-form {
      width: min(82%, 620px);
      padding: 26px 24px 24px;
      background: #0D110E;
    }
    .cap-v10-panel-label { margin: 0 0 16px; color: #707B71; font-size: 10px; font-weight: 650; letter-spacing: .075em; text-transform: uppercase; }
    .cap-v10-review-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
    .cap-v10-review-field { min-height: 56px; padding: 10px 12px; border: 1px solid #2B352C; background: #111713; }
    .cap-v10-review-field span { display: block; color: #6F796F; font-size: 10px; }
    .cap-v10-review-field strong { display: block; margin-top: 6px; color: #E2E7E0; font-size: 13px; font-weight: 560; }
    .cap-v10-review-field .stars { color: #D39B43; letter-spacing: .08em; }
    .cap-v10-review-media { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 9px; }
    .cap-v10-review-drop { min-height: 72px; padding: 12px; border: 1px dashed #3C473D; color: #7E897F; background: #101612; font-size: 10.5px; line-height: 1.45; }
    .cap-v10-review-drop b { display: block; margin-bottom: 6px; color: #C1C9BF; font-size: 11.5px; font-weight: 590; }
    .cap-v10-review-text { min-height: 78px; margin-top: 9px; padding: 12px; border: 1px solid #2B352C; color: #B6BFB5; background: #111713; font-size: 11px; line-height: 1.55; }

    .cap-v10-review-trace {
      position: relative;
      min-height: 74px;
      border-top: 1px solid #29322A;
      border-right: 0;
      border-bottom: 1px solid #29322A;
      border-left: 0;
      background: #0B0F0C;
    }
    .cap-v10-review-trace::before {
      position: absolute;
      top: 50%;
      right: 10%;
      bottom: auto;
      left: 10%;
      width: auto;
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, #354C38 18%, #63CA38 50%, #354C38 82%, transparent);
    }
    .cap-v10-review-trace i { position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border: 3px solid #0B0F0C; border-radius: 50%; background: #63CA38; box-shadow: 0 0 0 1px #63CA38; transform: translate(-50%, -50%); }
    .cap-v10-review-trace span { position: absolute; z-index: 1; top: 50%; left: 50%; padding: 7px 10px; color: #89978A; background: #0B0F0C; font-size: 10.5px; font-weight: 680; letter-spacing: .1em; text-transform: uppercase; transform: translate(-50%, 18px); white-space: nowrap; }

    .cap-v10-review-published {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: min(88%, 660px);
      margin-left: auto;
      padding: 26px 24px 28px;
      background: #0B0F0C;
    }
    .cap-v10-published-status { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-bottom: 14px; color: #7E8A80; font-size: 9px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
    .cap-v10-published-status::before { width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; }
    .cap-v10-review-card { border: 1px solid #313A32; background: #151B17; }
    .cap-v10-review-card-head { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 13px; border-bottom: 1px solid #313A32; }
    .cap-v10-review-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #0A0D0A; background: #D39B43; font-size: 13px; font-weight: 700; }
    .cap-v10-review-author strong { display: block; color: #E8ECE6; font-size: 13px; font-weight: 620; }
    .cap-v10-review-author span { display: block; margin-top: 4px; color: #D39B43; font-size: 11px; letter-spacing: .06em; }
    .cap-v10-review-date { color: #737D74; font-size: 9px; }
    .cap-v10-review-card-body { padding: 14px; color: #B8C1B7; font-size: 11px; line-height: 1.55; }
    .cap-v10-review-thumbs { display: grid; grid-template-columns: 58px 58px; gap: 7px; margin-top: 11px; }
    .cap-v10-review-thumb { display: grid; place-items: center; height: 48px; border: 1px solid #384339; color: #758076; background: linear-gradient(145deg,#202821,#111713); font-size: 9px; text-transform: uppercase; }
    .cap-v10-company-reply { margin-top: 11px; padding: 10px 11px; border-left: 2px solid #63CA38; color: #AAB5AA; background: #101612; font-size: 10px; line-height: 1.5; }
    .cap-v10-company-reply b { display: block; margin-bottom: 4px; color: #D7DDD5; font-weight: 600; }
    .cap-v10-reviews-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 12px 18px; border-top: 1px solid #29322A; color: #687268; font-size: 9.5px; font-weight: 620; letter-spacing: .05em; text-transform: uppercase; }
    .cap-v10-reviews-foot i { width: 22px; height: 1px; background: #334035; }
    .cap-v10-reviews-foot b { margin-left: auto; color: #4B9F2B; font-weight: 650; }

    /* Updater — quiet full-width flow below its copy. */
    .cap-v10-updater {
      position: relative;
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      gap: 20px;
      margin-top: clamp(96px, 10vw, 104px);
      padding: clamp(48px, 6vw, 56px) 0 clamp(88px, 10vw, 104px);
      border-top: 1px solid #252C26;
    }
    .cap-v10-updater::before { position: absolute; top: -1px; left: 0; width: clamp(64px, 8vw, 72px); height: 1px; content: ""; background: #63CA38; }
    .cap-v10-updater-copy { grid-column: 1 / 6; }
    .cap-v10-updater-label { margin: 0 0 18px; color: #63CA38; font-size: 10.5px; font-weight: 680; letter-spacing: .085em; text-transform: uppercase; }
    .cap-v10-updater h3 { max-width: 18ch; margin: 0; color: #F7F8F5; font-size: clamp(32px, 4.1vw, 34px); font-weight: 550; line-height: 1.04; letter-spacing: -.038em; }
    .cap-v10-updater-copy p:last-child { max-width: 38ch; margin: 20px 0 0; color: #AAB4AA; font-size: 16px; line-height: 1.58; }
    .cap-v10-updater-flow { grid-column: 1 / 9; align-self: start; margin-top: 12px; border: 1px solid #29322A; background: #0D110E; }
    .cap-v10-updater-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 46px; padding: 0 17px; border-bottom: 1px solid #29322A; color: #747F75; font-size: 9.5px; font-weight: 650; letter-spacing: .065em; text-transform: uppercase; }
    .cap-v10-updater-head strong { color: #C0C8BE; font-weight: 650; }
    .cap-v10-updater-head span { position: relative; padding-left: 14px; }
    .cap-v10-updater-head span::before { position: absolute; top: 50%; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; transform: translateY(-50%); }
    .cap-v10-updater-route { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 142px; padding: 30px 20px; }
    .cap-v10-updater-route::before { position: absolute; top: 50%; right: 9%; left: 9%; height: 1px; content: ""; background: linear-gradient(90deg,#344236,#63CA38 50%,#344236); }
    .cap-v10-updater-node { position: relative; z-index: 1; display: grid; justify-items: center; align-content: center; gap: 9px; min-width: 0; text-align: center; }
    .cap-v10-updater-node i { width: 11px; height: 11px; border: 3px solid #0D110E; border-radius: 50%; background: #556058; box-shadow: 0 0 0 1px #556058; }
    .cap-v10-updater-node.is-active i { background: #63CA38; box-shadow: 0 0 0 1px #63CA38; }
    .cap-v10-updater-node strong { padding: 3px 6px; color: #CBD2C9; background: #0D110E; font-size: 10.5px; font-weight: 590; line-height: 1.25; }
    .cap-v10-updater-node span { max-width: 15ch; color: #6F7A70; font-size: 9px; line-height: 1.3; letter-spacing: .035em; text-transform: uppercase; }

    /* Closing CTA — same idea, reinterpreted on the 8-column Tablet grid. */
    .cap-v44-closing {
      position: relative;
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      column-gap: 20px;
      padding: clamp(64px, 8vw, 76px) 0 clamp(82px, 10vw, 96px);
      border-top: 1px solid #29312A;
    }
    .cap-v44-closing::before { position: absolute; top: -1px; left: 0; width: clamp(64px, 8vw, 72px); height: 1px; content: ""; background: #63CA38; }
    .cap-v44-title { grid-column: 1 / 8; padding: 0; }
    .cap-v44-title h3 { max-width: 760px; margin: 0; color: #F4F6F2; font-size: clamp(42px, 5.4vw, 52px); font-weight: 550; line-height: 1.015; letter-spacing: -.045em; }
    .cap-v44-title h3 span { display: block; }

    .cap-v44-action {
      grid-column: 1 / 9;
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      column-gap: 20px;
      align-items: end;
      margin-top: 34px;
      padding: 0;
      border: 0;
    }
    .cap-v44-copy { grid-column: 1 / 6; max-width: 44ch; margin: 0; color: #AAB4AA; font-size: 16px; font-weight: 410; line-height: 1.55; letter-spacing: -.008em; }
    .cap-v44-copy span { display: inline; }
    .cap-v44-controls { grid-column: 6 / 9; display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin: 0; }
    .cap-v44-phone { color: #D9E0D7; font-size: 13px; font-weight: 560; line-height: 1; text-decoration: none; white-space: nowrap; }

    .cap-v44-next {
      grid-column: 1 / 9;
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      column-gap: 20px;
      align-items: center;
      margin-top: 34px;
      padding-top: 18px;
      border-top: 1px solid #29312A;
    }
    .cap-v44-next-label {
      grid-column: 1 / 3;
      display: flex;
      align-items: center;
      gap: 9px;
      margin: 0;
      color: #9EA99F;
      font-size: 10px;
      font-weight: 620;
      line-height: 1;
      letter-spacing: .08em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .cap-v44-next-label::before { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 6px; content: ""; background: #63CA38; }
    .cap-v44-next-path {
      grid-column: 3 / 9;
      display: grid;
      grid-template-columns: max-content minmax(20px, 1fr) max-content minmax(20px, 1fr) max-content;
      align-items: center;
      column-gap: 9px;
      min-width: 0;
    }
    .cap-v44-next-path span { color: #E6EBE5; font-size: 11px; font-weight: 600; line-height: 1.2; letter-spacing: -.012em; white-space: nowrap; }
    .cap-v44-next-path i { display: block; width: 100%; height: 1px; background: linear-gradient(90deg, #29322A 0%, #354137 42%, #4B664C 76%, #63CA38 100%); }

    /* Shared Genesis CTA system for Section 03 on Tablet. */
    .cap-v13-request-button,
    .cap-v10-review-submit,
    .cap-v32-closing-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      min-height: 46px;
      padding: 0 10px 0 15px;
      border: 1px solid rgba(16, 20, 16, .16);
      border-radius: 8px;
      overflow: hidden;
      color: #0B0E0B;
      background: #63CA38;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
      font-family: inherit;
      font-size: 13px;
      font-weight: 620;
      line-height: 1;
      letter-spacing: -.012em;
      text-decoration: none;
      cursor: pointer;
      transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    }
    .cap-v13-request-button,
    .cap-v10-review-submit { width: 100%; margin-top: 12px; }
    .cap-v32-closing-cta { width: auto; min-width: 190px; }
    .cap-v13-request-button .action-arrow,
    .cap-v10-review-submit .action-arrow,
    .cap-v32-closing-cta .action-arrow {
      width: 27px;
      height: 27px;
      flex: 0 0 27px;
      padding: 6.5px;
      border: 1px solid rgba(16,20,16,.22);
      border-radius: 7px;
      transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
    }
    .cap-v13-request-button:focus-visible,
    .cap-v10-review-submit:focus-visible,
    .cap-v32-closing-cta:focus-visible { outline: 2px solid #3FAA1E; outline-offset: 3px; }
    .cap-v13-request-button:active,
    .cap-v10-review-submit:active,
    .cap-v32-closing-cta:active { background: #4FB42A; transform: scale(.985); }

  }

  @media (min-width: 768px) and (max-width: 1024px) and (hover: hover) {
    .cap-v13-request-button:hover,
    .cap-v10-review-submit:hover,
    .cap-v32-closing-cta:hover {
      background: #56BC30;
      border-color: #429B24;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 5px 14px rgba(0,0,0,.12);
      transform: translateY(-1px);
    }
    .cap-v13-request-button:hover .action-arrow,
    .cap-v10-review-submit:hover .action-arrow,
    .cap-v32-closing-cta:hover .action-arrow {
      border-color: rgba(16,20,16,.3);
      background: rgba(255,255,255,.12);
      transform: translate(2px,-1px);
    }
    .cap-v44-phone:hover { color: #63CA38; }
  }

  /* Section 03 / v51 — final Tablet rebuild using the same viewport-led method as Section 02.
     QA targets: 768 / 820 / 912 / 1024. Desktop >=1025 and Mobile <768 are untouched.
     Core rule: if a component stacks, it owns the full available rail. */
  @media (min-width: 768px) and (max-width: 1024px) {
    /* Keep one coherent Tablet shell/grid across all four QA widths. */
    .cap-v7-shell {
      width: min(calc(100% - 64px), 960px);
    }

    /* More deliberate section rhythm on the longer Tablet page. */
    .cap-v7-scene + .cap-v7-scene { margin-top: clamp(68px, 7.5vw, 78px); }
    .cap-v7-scene--calc + .cap-v7-scene--auto { margin-top: clamp(76px, 8vw, 86px); }
    .cap-v10-updater {
      margin-top: clamp(68px, 7.5vw, 78px);
      padding-top: clamp(48px, 5.4vw, 56px);
      padding-bottom: clamp(70px, 7.5vw, 82px);
    }

    /* Service bars: title + state share row one, explanatory line owns row two.
       Explicit placement prevents status from falling to an accidental third row. */
    .cap-v13-calc .cap-v7-calc-top,
    .cap-v10-system-top {
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto auto;
      column-gap: 20px;
      row-gap: 6px;
      min-height: 60px;
      padding: 11px 18px;
    }
    .cap-v13-calc .cap-v7-calc-top strong,
    .cap-v10-system-top strong {
      grid-column: 1;
      grid-row: 1;
      align-self: center;
    }
    .cap-v13-calc .cap-v7-calc-top em,
    .cap-v10-system-top em {
      grid-column: 2;
      grid-row: 1;
      align-self: center;
      justify-self: end;
    }
    .cap-v13-calc .cap-v7-calc-top span,
    .cap-v10-system-top > span {
      grid-column: 1 / -1;
      grid-row: 2;
      margin: 0;
      text-align: left;
      line-height: 1.3;
    }

    /* Ecommerce: primary proof is always full rail. Secondary proof only stays paired
       where it remains genuinely readable; once stacked, both become 100% width. */
    .cap-ecom-plate-v29,
    .cap-ecom-main-proof,
    .cap-ecom-evidence-row,
    .cap-ecom-evidence { width: 100%; max-width: none; }

    /* Calculator: every stacked stage is full rail. No legacy desktop widths survive. */
    .cap-v7-calc-stage,
    .cap-v13-calc-form,
    .cap-v13-calc-trace,
    .cap-v13-calc-result { width: 100%; max-width: none; }
    .cap-v13-calc-body { width: 100%; }

    /* Telegram: Tablet uses one clear vertical proof sequence at every Tablet width.
       Inner Telegram interface remains unchanged; only placement and surrounding flow change. */
    .cap-v6-auto-body { grid-template-columns: 1fr !important; }
    .cap-v10-telegram-stage {
      width: 100%;
      justify-content: stretch;
      padding: clamp(22px, 3vw, 28px);
      border-right: 0;
      border-bottom: 1px solid #283129;
    }
    .cap-v10-tg-window {
      width: 100%;
      max-width: none;
      margin: 0;
    }
    .cap-v6-auto-flow {
      width: 100%;
      padding: 24px 22px 22px;
    }
    .cap-v6-auto-flow-label { margin-bottom: 18px; }
    .cap-v6-auto-steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0 20px;
    }
    .cap-v6-auto-steps::before {
      top: 8px;
      right: 4%;
      bottom: auto;
      left: 4%;
      width: auto;
      height: 1px;
      background: #324334;
    }
    .cap-v6-auto-steps li {
      display: block;
      min-width: 0;
      min-height: 0;
      padding: 0;
    }
    .cap-v6-auto-dot {
      width: 13px;
      height: 13px;
      box-sizing: border-box;
      margin: 1px 0 13px;
      border-width: 3px;
      border-radius: 50%;
    }
    .cap-v6-auto-step strong {
      font-size: 12px;
      line-height: 1.28;
    }
    .cap-v6-auto-step span {
      max-width: 22ch;
      margin-top: 5px;
      font-size: 10.5px;
      line-height: 1.45;
    }
    .cap-v6-auto-features { margin-top: 20px; }

    /* Reviews: the workflow is vertical on Tablet, therefore both former side columns
       must occupy the complete stage width. */
    .cap-v10-reviews-body { width: 100%; }
    .cap-v10-review-form,
    .cap-v10-review-published {
      width: 100%;
      max-width: none;
      margin: 0;
    }
    .cap-v10-review-form { padding: 26px 24px 24px; }
    .cap-v10-review-published { padding: 26px 24px 28px; }
    .cap-v10-review-trace { width: 100%; }

    /* Updater: treat it as a compact infrastructure rail, not a large empty framed card. */
    .cap-v10-updater-flow {
      width: 100%;
      margin-top: 16px;
    }
    .cap-v10-updater-head {
      min-height: 44px;
      padding: 0 16px;
    }
    .cap-v10-updater-route {
      min-height: 108px;
      padding: 22px 16px 20px;
    }
    .cap-v10-updater-route::before {
      top: 43px;
      right: 8%;
      left: 8%;
    }
    .cap-v10-updater-node {
      align-content: start;
      gap: 7px;
      padding-top: 15px;
    }
    .cap-v10-updater-node strong {
      padding: 2px 5px;
      font-size: 11.5px;
      line-height: 1.22;
    }
    .cap-v10-updater-node span {
      max-width: 16ch;
      font-size: 9.5px;
      line-height: 1.3;
      letter-spacing: .025em;
    }

    /* Closing CTA keeps the approved idea. A wrapped action becomes full rail. */
    .cap-v44-closing {
      padding-top: clamp(58px, 6.5vw, 68px);
      padding-bottom: clamp(72px, 7.5vw, 84px);
    }
    .cap-v44-next-path span { font-size: 11.5px; }
  }

  /* 768–959: compact/medium Tablet. Stacked means full width, no inherited 3/8–5/8 widths. */
  @media (min-width: 768px) and (max-width: 959px) {
    .cap-v7-copy,
    .cap-v7-scene--web .cap-v7-copy,
    .cap-v7-scene--calc .cap-v7-copy,
    .cap-v7-scene--auto .cap-v7-copy,
    .cap-v7-scene--reviews .cap-v7-copy,
    .cap-v10-updater-copy { grid-column: 1 / 7; }

    .cap-ecom-evidence-row {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .cap-ecom-evidence-media {
      height: auto;
      min-height: 0;
    }
    .cap-ecom-evidence--catalog .cap-ecom-evidence-media img {
      width: 100%;
      height: auto;
      object-fit: contain;
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media {
      min-height: 168px;
      padding: 14px 18px;
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media img {
      width: min(100%, 460px);
      height: auto;
    }

    /* CTA action is no longer squeezed into a former right-side column at 912/820/768. */
    .cap-v44-title { grid-column: 1 / 9; }
    .cap-v44-action { row-gap: 22px; }
    .cap-v44-copy {
      grid-column: 1 / 9;
      max-width: 48ch;
    }
    .cap-v44-controls {
      grid-column: 1 / 9;
      flex-direction: row;
      align-items: center;
      gap: 18px;
    }
    .cap-v44-next {
      row-gap: 14px;
      margin-top: 30px;
    }
    .cap-v44-next-label { grid-column: 1 / 9; }
    .cap-v44-next-path {
      grid-column: 1 / 9;
      column-gap: 10px;
    }

    /* Updater stays horizontal but uses the available width instead of shrinking its content. */
    .cap-v10-updater-copy { max-width: none; }
  }

  /* 768–839: narrow Tablet — preserve readable controls instead of microscaling. */
  @media (min-width: 768px) and (max-width: 839px) {
    .cap-v7-opening { padding-bottom: 82px; }
    .cap-v7-title { font-size: clamp(46px, 6.7vw, 52px); }
    .cap-v7-lead { grid-column: 3 / 9; }

    .cap-v12-distance.cap-v13-distance {
      grid-template-columns: 1fr;
      gap: 9px;
      padding: 11px 12px;
    }
    .cap-v12-distance-control {
      grid-template-columns: minmax(72px, 92px) minmax(0, 1fr);
      width: 100%;
    }

    .cap-v10-review-fields,
    .cap-v10-review-media { grid-template-columns: 1fr 1fr; }

    .cap-v6-auto-steps { column-gap: 14px; }
    .cap-v6-auto-step strong { font-size: 11.5px; }
    .cap-v6-auto-step span { font-size: 10px; }

    .cap-v10-updater-route {
      min-height: 104px;
      padding-right: 10px;
      padding-left: 10px;
    }
    .cap-v10-updater-node strong { font-size: 11px; }
    .cap-v10-updater-node span { font-size: 9px; }

    .cap-v44-next-path {
      grid-template-columns: max-content minmax(18px, 1fr) max-content minmax(18px, 1fr) max-content;
      column-gap: 8px;
    }
    .cap-v44-next-path span { font-size: 11px; }
  }

  /* 960–1024: wide Tablet can retain selected paired relationships, but stacked workflows
     (Telegram/Reviews) still use the complete rail. */
  @media (min-width: 960px) and (max-width: 1024px) {
    .cap-ecom-evidence-row {
      grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
      gap: 14px;
    }
    .cap-ecom-evidence-media { height: 164px; }

    .cap-v44-copy { grid-column: 1 / 6; }
    .cap-v44-controls {
      grid-column: 6 / 9;
      flex-direction: column;
      align-items: flex-start;
    }
    .cap-v44-next-label { grid-column: 1 / 3; }
    .cap-v44-next-path { grid-column: 3 / 9; }
  }


  /* Ecommerce Tablet lock — same proof composition at 768 / 820 / 912 / 1024.
     Main proof stays full rail; catalog + checkout always remain paired below it. */
  @media (min-width: 768px) and (max-width: 1024px) {
    .cap-ecom-evidence-row {
      grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
      gap: clamp(10px, 1.4vw, 14px);
      align-items: stretch;
    }
    .cap-ecom-evidence {
      display: grid;
      grid-template-rows: auto 1fr;
      min-width: 0;
      width: 100%;
    }
    .cap-ecom-evidence figcaption {
      min-height: clamp(34px, 4.4vw, 38px);
      padding-inline: clamp(8px, 1.25vw, 12px);
      gap: 8px;
      font-size: clamp(7.5px, .95vw, 8.5px);
    }
    .cap-ecom-evidence-media,
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media {
      height: clamp(132px, 17.5vw, 164px);
      min-height: 0;
    }
    .cap-ecom-evidence--catalog .cap-ecom-evidence-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media {
      padding: clamp(7px, 1vw, 10px);
    }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }
  }

  /* Final Tablet QA refinements — validated against 768 / 820 / 912 / 1024 DevTools widths. */
  @media (min-width: 768px) and (max-width: 1024px) {
    /* Telegram route markers must remain true circles at every width. */
    .cap-v6-auto-dot {
      display: block;
      width: 13px;
      height: 13px;
      min-width: 13px;
      min-height: 13px;
      max-width: 13px;
      max-height: 13px;
      aspect-ratio: 1 / 1;
      flex: 0 0 13px;
      padding: 0;
      line-height: 0;
      border-radius: 50%;
    }

    /* Reviews should use the rail rather than float inside an oversized frame. */
    .cap-v10-reviews-body,
    .cap-v10-review-form,
    .cap-v10-review-published {
      min-height: 0;
    }

    /* Updater is one compact infrastructure rail on every Tablet width.
       Keep the same visual footprint instead of letting the inner flow grow at 912/1024. */
    .cap-v10-updater-flow {
      width: 100%;
      max-width: none;
    }
    .cap-v10-updater-route {
      min-height: 104px;
      height: auto;
      padding: 18px 14px 14px;
    }
    .cap-v10-updater-route::before {
      top: 39px;
    }
    .cap-v10-updater-node {
      min-width: 0;
      gap: 5px;
      padding-top: 13px;
    }
    .cap-v10-updater-node strong {
      font-size: 11px;
      line-height: 1.2;
    }
    .cap-v10-updater-node span {
      font-size: 9px;
      line-height: 1.25;
    }
  }

  /* Section 03 / v54 — independent Mobile editorial flow.
     Mirrors the proven Section 02 mobile method: <768 is not a scaled Tablet layout. */
  .cap-v32-closing-cta--mobile { display: none; }

  @media (max-width: 767.98px) {
    .capability-section.cap-v7 {
      --cap-mobile-gutter: 16px;
      position: relative;
      display: block;
      overflow: clip;
      border-top: 1px solid #293129;
      color: #F7F8F5;
      /* Mobile retains the same material, with intentionally near-neutral tonal variation. */
      background: linear-gradient(
        180deg,
        #090D0A 0%,
        #0A0E0B 50%,
        #090D0A 100%
      );
    }

    .cap-v7-shell {
      width: auto;
      max-width: none;
      margin: 0 var(--cap-mobile-gutter);
    }

    /* Opening — one content rail, no inherited Tablet columns. */
    .cap-v7-opening {
      position: relative;
      padding: 70px 0 64px;
    }
    .cap-v7-opening::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 56px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v7-meta {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
      margin: 0 0 34px;
      color: #788278;
      font-size: 10px;
      font-weight: 650;
      line-height: 1.3;
      letter-spacing: .075em;
      text-transform: uppercase;
    }
    .cap-v7-meta strong { color: #63CA38; font-weight: 680; }
    .cap-v7-meta span { text-align: right; }

    .cap-v7-intro { display: block; }
    .cap-v7-title {
      max-width: 100%;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(34px, 9.4vw, 38px);
      font-weight: 560;
      line-height: 1.01;
      letter-spacing: -.045em;
      text-wrap: balance;
    }
    .cap-v7-title span { display: block; }
    .cap-v7-title .cap-v7-title-wide { display: none; }
    .cap-v7-title .cap-v7-title-mobile { display: block; }
    .cap-v7-title span:last-child { margin-left: 0; }
    .cap-v7-lead {
      max-width: 34ch;
      margin: 24px 0 0;
      color: #B3BCB2;
      font-size: 16px;
      font-weight: 410;
      line-height: 1.58;
      letter-spacing: -.006em;
    }

    /* Scene rhythm — content height drives the page. */
    .cap-v7-scenes { padding: 0; }
    .cap-v7-scene {
      position: relative;
      display: block;
      min-height: 0;
      margin: 0;
      padding: 50px 0 0;
      border-top: 1px solid #252C26;
    }
    .cap-v7-scene::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 56px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v7-scene + .cap-v7-scene,
    .cap-v7-scene--calc + .cap-v7-scene--auto { margin-top: 62px; }

    .cap-v7-copy,
    .cap-v7-scene--web .cap-v7-copy,
    .cap-v7-scene--calc .cap-v7-copy,
    .cap-v7-scene--auto .cap-v7-copy,
    .cap-v7-scene--reviews .cap-v7-copy {
      position: static;
      display: block;
      width: 100%;
      max-width: none;
      padding: 0;
    }
    .cap-v7-kicker {
      margin: 0 0 15px;
      color: #63CA38;
      font-size: 10.5px;
      font-weight: 680;
      line-height: 1.25;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .cap-v7-scene-title {
      max-width: 16ch;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(30px, 8.4vw, 34px);
      font-weight: 550;
      line-height: 1.05;
      letter-spacing: -.038em;
      text-wrap: balance;
    }
    .cap-v7-scene-text {
      max-width: 34ch;
      margin: 19px 0 0;
      color: #AAB4AA;
      font-size: 16px;
      font-weight: 410;
      line-height: 1.58;
    }
    .cap-v7-route {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 7px 9px;
      margin-top: 21px;
      color: #768177;
      font-size: 10px;
      font-weight: 620;
      line-height: 1.35;
      letter-spacing: .05em;
      text-transform: uppercase;
    }
    .cap-v7-route i { width: 15px; height: 1px; flex: 0 0 15px; background: #3B463C; }
    .cap-v7-own { margin: 17px 0 0; color: #738074; font-size: 12px; line-height: 1.5; }
    .cap-v7-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 20px;
      padding-bottom: 6px;
      border-bottom: 1px solid #354036;
      color: #F7F8F5;
      font-size: 13px;
      font-weight: 560;
      line-height: 1;
      text-decoration: none;
    }

    /* Ecommerce — main proof, then catalog, then checkout. */
    .cap-v7-scene--web .cap-ecom-legacy-stage,
    .cap-v7-scene--web .cap-ecom-copy-legacy { display: none; }
    .cap-v7-scene--web .cap-ecom-copy-desktop { display: block; }
    .cap-ecom-owner {
      position: relative;
      display: grid;
      gap: 5px;
      width: 100%;
      max-width: 34ch;
      margin-top: 24px;
      padding-top: 15px;
      border-top: 1px solid #29322A;
    }
    .cap-ecom-owner::before { width: 38px; }
    .cap-ecom-owner strong { font-size: 10px; }
    .cap-ecom-owner span { font-size: 11.5px; line-height: 1.45; }

    .cap-ecom-plate-v29,
    .cap-ecom-main-proof,
    .cap-ecom-evidence-row,
    .cap-ecom-evidence {
      width: 100%;
      max-width: none;
      min-width: 0;
    }
    .cap-ecom-plate-v29 { display: block; margin-top: 30px; }
    .cap-ecom-main-proof,
    .cap-ecom-evidence {
      margin: 0;
      overflow: hidden;
      border: 1px solid #29322A;
    }
    .cap-v10-browser-top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 9px;
      min-height: 40px;
      padding: 0 11px;
      border-bottom: 1px solid #29322A;
      color: #737D74;
      background: #0D110E;
      font-size: 9px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v10-browser-id { gap: 8px; min-width: 0; }
    .cap-v10-browser-dots { gap: 4px; }
    .cap-v10-browser-dots i { width: 4px; height: 4px; }
    .cap-v10-browser-id strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cap-v10-browser-page { display: none; }
    .cap-v10-browser-status { padding-left: 12px; font-size: 8.5px; white-space: nowrap; }
    .cap-v10-browser-status::before { width: 5px; height: 5px; }
    .cap-ecom-main-media { overflow: hidden; background: #F7F8F5; }
    .cap-ecom-main-media img { display: block; width: 100%; height: auto; max-width: 100%; }

    .cap-ecom-evidence-row {
      display: grid;
      grid-template-columns: 1fr;
      gap: 11px;
      margin-top: 11px;
    }
    .cap-ecom-evidence { display: block; background: #0B0F0C; }
    .cap-ecom-evidence figcaption {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-height: 38px;
      padding: 0 10px;
      border-bottom: 1px solid #29322A;
      color: #69746A;
      font-size: 9px;
      font-weight: 640;
      line-height: 1.25;
      letter-spacing: .04em;
      text-transform: uppercase;
      white-space: normal;
    }
    .cap-ecom-evidence figcaption strong { color: #ADB6AC; font-weight: 660; }
    .cap-ecom-evidence figcaption span { color: #5F695F; text-align: right; }
    .cap-ecom-evidence-media {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: auto;
      min-height: 0;
      overflow: hidden;
      background: #F7F8F5;
    }
    .cap-ecom-evidence-media img { display: block; max-width: 100%; height: auto; max-height: none; }
    .cap-ecom-evidence--catalog .cap-ecom-evidence-media img { width: 100%; height: auto; object-fit: contain; }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media { min-height: 150px; padding: 14px 18px; background: #fff; }
    .cap-ecom-evidence--checkout .cap-ecom-evidence-media img { width: min(100%, 360px); height: auto; object-fit: contain; }

    /* Calculator — sequential full-width product flow. */
    .cap-v10-adapt-note {
      position: relative;
      max-width: 34ch;
      margin: 24px 0 0;
      padding: 15px 0 0;
      border-top: 1px solid #29322A;
      color: #758176;
      font-size: 12px;
      line-height: 1.55;
    }
    .cap-v10-adapt-note::before { width: 40px; }
    .cap-v10-adapt-note strong { display: block; margin-bottom: 5px; color: #C5CDC3; font-size: 13px; font-weight: 610; }

    .cap-v7-calc-stage {
      position: relative;
      display: block;
      width: 100%;
      max-width: none;
      min-width: 0;
      margin-top: 30px;
      overflow: hidden;
      border: 1px solid #29322A;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
    }
    .cap-v13-calc .cap-v7-calc-top {
      display: grid;
      grid-template-columns: 1fr;
      gap: 5px;
      align-items: start;
      min-height: 0;
      padding: 13px 14px 12px;
      border-bottom: 1px solid #29322A;
      color: #737D74;
      font-size: 9px;
      font-weight: 650;
      line-height: 1.35;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v13-calc .cap-v7-calc-top strong { color: #C0C8BE; font-size: 10px; font-weight: 650; }
    .cap-v13-calc .cap-v7-calc-top span { text-align: left; }
    .cap-v13-calc .cap-v7-calc-top em { position: relative; padding-left: 13px; color: #7B867C; font-style: normal; }
    .cap-v13-calc .cap-v7-calc-top em { display: inline-flex; width: max-content; max-width: 100%; align-items: center; gap: 6px; padding-left: 0; }
    .cap-v13-calc .cap-v7-calc-top em::before { position: static; display: block; width: 5px; height: 5px; flex: 0 0 5px; transform: translateY(-1px); }

    .cap-v13-calc-body { display: block; width: 100%; min-height: 0; }
    .cap-v13-calc-form,
    .cap-v13-calc-trace,
    .cap-v13-calc-result { width: 100%; max-width: none; min-width: 0; }
    .cap-v13-calc-form { padding: 22px 15px 20px; border-right: 0; background: #0D110E; }
    .cap-v13-panel-label,
    .cap-v13-condition-title,
    .cap-v13-result-label,
    .cap-v13-request-kicker {
      color: #7B867C;
      font-size: 10px;
      font-weight: 650;
      line-height: 1.25;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .cap-v12-calc-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
    .cap-v12-calc-field,
    .cap-v12-calc-field--wide { grid-column: auto; }
    .cap-v12-calc-field {
      display: grid;
      gap: 7px;
      min-width: 0;
      padding: 12px 0 13px;
      border-top: 1px solid #29322A;
    }
    .cap-v12-calc-field > span { color: #7D887E; font-size: 10.5px; line-height: 1.3; }
    .cap-v12-calc-field select,
    .cap-v12-calc-field input,
    .cap-v12-distance input {
      width: 100%;
      min-width: 0;
      border: 0;
      border-radius: 0;
      outline: 0;
      color: #E5E9E3;
      background: transparent;
      font: 560 15px/1.35 Onest, "Segoe UI", sans-serif;
    }
    .cap-v13-condition-title { margin-top: 21px; }
    .cap-v13-conditions { display: grid; grid-template-columns: 1fr; gap: 7px; margin-top: 11px; }
    .cap-v13-conditions .cap-v8-condition {
      position: relative;
      display: grid;
      grid-template-columns: 16px minmax(0, 1fr) auto;
      align-items: center;
      gap: 9px;
      min-height: 44px;
      padding: 7px 10px;
      border: 1px solid #273128;
      color: #8F9A90;
      background: #101612;
      font-size: 11px;
      line-height: 1.35;
    }
    .cap-v13-conditions .cap-v8-condition input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
    .cap-v13-conditions .cap-v8-condition i { position: relative; width: 13px; height: 13px; border: 1px solid #546056; border-radius: 3px; background: #0D110E; }
    .cap-v13-conditions .cap-v8-condition input:checked + i { border-color: #63CA38; background: #63CA38; }
    .cap-v13-conditions .cap-v8-condition input:checked + i::after { position: absolute; top: 2px; left: 4px; width: 3px; height: 6px; border-right: 1.5px solid #0A0D0A; border-bottom: 1.5px solid #0A0D0A; content: ""; transform: rotate(45deg); }
    .cap-v13-conditions .cap-v8-condition b { color: #63CA38; font-weight: 650; white-space: nowrap; }

    .cap-v12-distance.cap-v13-distance {
      display: grid;
      grid-template-columns: 1fr;
      gap: 9px;
      width: 100%;
      min-height: 0;
      margin-top: 11px;
      padding: 11px 10px;
      border: 1px solid #273128;
      color: #8F9A90;
      background: #101612;
      font-size: 10.5px;
    }
    .cap-v12-distance-control { display: grid; grid-template-columns: minmax(62px, 88px) minmax(0, 1fr); align-items: center; gap: 8px; width: 100%; }
    .cap-v12-distance-control b { color: #6F7A70; font-weight: 540; white-space: normal; }

    .cap-v13-calc-trace {
      position: relative;
      min-height: 70px;
      border-top: 1px solid #283129;
      border-right: 0;
      border-bottom: 1px solid #283129;
      border-left: 0;
      background: #0B0F0C;
    }
    .cap-v13-calc-trace::before {
      position: absolute;
      top: 50%;
      right: 9%;
      left: 9%;
      width: auto;
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, #354C38 18%, #63CA38 50%, #354C38 82%, transparent);
      transform: none;
    }
    .cap-v13-calc-trace i { display: none; }
    .cap-v13-calc-trace span {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 50%;
      padding: 7px 9px;
      color: #8B998C;
      background: #0B0F0C;
      font-size: 11px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .09em;
      text-transform: uppercase;
      transform: translate(-50%, -50%);
      white-space: nowrap;
    }

    .cap-v13-calc-result { padding: 24px 15px 22px; background: #0B0F0C; }
    .cap-v13-result-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 0;
      padding: 0;
      border: 0;
      color: #839084;
      background: transparent;
      font-size: 9.5px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .cap-v13-result-status::before { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 6px; content: ""; background: #63CA38; transform: translateY(-1px); }
    .cap-v13-result-label { margin-top: 17px; }
    .cap-v13-price { margin: 9px 0 0; font-size: clamp(44px, 13vw, 52px); }
    .cap-v8-result-list.cap-v13-result-list { margin-top: 17px; padding-top: 15px; }
    .cap-v8-result-list.cap-v13-result-list div { gap: 14px; font-size: 11.5px; }
    .cap-v8-result-list.cap-v13-result-list span { min-width: 0; }
    .cap-v8-result-list.cap-v13-result-list strong { flex: 0 0 auto; }

    .cap-v13-request { margin-top: 22px; padding-top: 20px; }
    .cap-v13-request h4 { font-size: 22px; }
    .cap-v13-request > p:not(.cap-v13-request-kicker) { max-width: none; font-size: 13px; line-height: 1.55; }
    .cap-v13-request-fields { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
    .cap-v13-request-fields label > span { font-size: 10px; }
    .cap-v13-request-fields input { min-height: 48px; font-size: 15px; }
    .cap-v13-request small { font-size: 11px; line-height: 1.5; }
    .cap-v7-calc-stage .cap-v7-stage-foot {
      display: flex;
      flex-wrap: wrap;
      gap: 7px 9px;
      min-height: 0;
      padding: 11px 14px;
      font-size: 9px;
      line-height: 1.35;
    }
    .cap-v7-calc-stage .cap-v7-stage-foot i { width: 16px; }
    .cap-v7-calc-stage .cap-v7-stage-foot b { margin-left: 0; }

    /* Telegram — same internal interface, mobile placement only. */
    .cap-v6-auto-proof.cap-v7-auto-proof {
      position: relative;
      display: block;
      width: 100%;
      max-width: none;
      min-width: 0;
      margin-top: 30px;
      overflow: hidden;
      border: 1px solid #283129;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
    }
    .cap-v6-auto-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      min-height: 0;
      padding: 13px 14px;
      border-bottom: 1px solid #283129;
      color: #737D74;
      font-size: 9px;
      font-weight: 650;
      line-height: 1.35;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v6-auto-head strong { max-width: 18ch; color: #B9C2B8; font-weight: 650; }
    .cap-v6-auto-status { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
    .cap-v6-auto-body { display: block; min-height: 0; }
    .cap-v10-telegram-stage {
      display: block;
      width: 100%;
      padding: 12px;
      border-right: 0;
      border-bottom: 1px solid #283129;
      background: #0B0F0C;
    }
    .cap-v10-tg-window {
      width: 100%;
      max-width: none;
      margin: 0;
      overflow: hidden;
      border: 1px solid #374138;
      background: #111613;
      box-shadow: none;
    }
    .cap-v10-tg-top { grid-template-columns: 36px minmax(0, 1fr) auto; min-height: 56px; padding: 0 12px; }
    .cap-v10-tg-avatar { width: 29px; height: 29px; }
    .cap-v10-tg-name strong { display: block; color: #E8ECE6; font-size: 13px; font-weight: 620; }
    .cap-v10-tg-name span { display: block; margin-top: 3px; color: #748075; font-size: 10px; }
    .cap-v10-tg-state { position: relative; padding-left: 13px; color: #879289; font-size: 8.5px; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
    .cap-v10-tg-state::before { position: absolute; top: 50%; left: 0; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #63CA38; transform: translateY(-50%); }
    .cap-v10-tg-chat { padding: 12px; background: linear-gradient(145deg,#111713,#0D120E 58%,#101511); }
    .cap-v10-tg-message { width: 100%; overflow: hidden; border: 1px solid #3A443B; background: #242827; }
    .cap-v10-tg-message-head { padding: 12px 13px; font-size: 14px; }
    .cap-v10-tg-message-body { padding: 13px; }
    .cap-v10-tg-line { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 9px; padding: 7px 0; color: #9AA49A; font-size: 11px; line-height: 1.4; }
    .cap-v10-tg-line strong { color: #E0E5DE; font-weight: 540; }
    .cap-v10-tg-divider { height: 1px; margin: 12px 0 13px; background: #5A625B; }
    .cap-v10-tg-copy { color: #D4DAD2; font-size: 12px; line-height: 1.58; }
    .cap-v10-tg-copy b { color: #AEB8AE; font-weight: 560; }
    .cap-v10-tg-buttons { display: grid; gap: 7px; margin-top: 8px; }
    .cap-v10-tg-button { display: flex; align-items: center; justify-content: center; min-height: 39px; padding: 6px 8px; border: 1px solid #3B453C; color: #D6DDD4; background: #202622; font-size: 11px; font-weight: 570; text-align: center; }
    .cap-v10-tg-button.is-primary { border-color: #4C8E39; color: #E0F4D9; background: #172118; }
    .cap-v10-tg-time { margin-top: 7px; color: #737D74; font-size: 9px; text-align: right; }

    .cap-v6-auto-flow { width: 100%; padding: 22px 16px 20px; background: #0D110E; }
    .cap-v6-auto-flow-label { margin: 0 0 18px; color: #6F796F; font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
    .cap-v6-auto-steps {
      position: relative;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .cap-v6-auto-steps::before {
      position: absolute;
      top: 8px;
      bottom: 18px;
      left: 6px;
      width: 1px;
      height: auto;
      content: "";
      background: linear-gradient(to bottom, #324334 0%, #49644B 55%, #63CA38 100%);
    }
    .cap-v6-auto-steps li {
      position: relative;
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      gap: 10px;
      min-height: 62px;
      padding: 0 0 12px;
    }
    .cap-v6-auto-dot {
      position: relative;
      z-index: 1;
      display: block;
      width: 13px;
      height: 13px;
      min-width: 13px;
      min-height: 13px;
      max-width: 13px;
      max-height: 13px;
      box-sizing: border-box;
      margin: 1px 0 0;
      border: 3px solid #0D110E;
      border-radius: 50%;
      background: #63CA38;
      box-shadow: 0 0 0 1px #63CA38;
    }
    .cap-v6-auto-step strong { display: block; color: #D7DDD5; font-size: 13px; font-weight: 590; line-height: 1.25; }
    .cap-v6-auto-step span { display: block; max-width: 32ch; margin-top: 4px; color: #738074; font-size: 11.5px; line-height: 1.5; }
    .cap-v6-auto-features { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
    .cap-v6-auto-features span { padding: 6px 8px; border: 1px solid #29322A; color: #707A71; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
    .cap-v6-auto-caption {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 8px 12px;
      min-height: 0;
      padding: 11px 14px;
      border-top: 1px solid #29322A;
      color: #687268;
      font-size: 9px;
      font-weight: 620;
      line-height: 1.35;
      letter-spacing: .045em;
      text-transform: uppercase;
    }

    /* Reviews — form → moderation → published outcome. */
    .cap-v10-reviews-stage {
      display: block;
      width: 100%;
      max-width: none;
      min-width: 0;
      margin-top: 30px;
      overflow: hidden;
      border: 1px solid #283129;
      background: #0D110E;
      clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
    }
    .cap-v10-system-top {
      display: grid;
      grid-template-columns: 1fr;
      gap: 4px;
      min-height: 0;
      padding: 13px 14px;
      border-bottom: 1px solid #283129;
      color: #737D74;
      font-size: 9px;
      font-weight: 650;
      line-height: 1.35;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v10-system-top strong { color: #B9C2B8; font-size: 10px; font-weight: 650; }
    .cap-v10-system-top em { position: relative; justify-self: start; padding-left: 13px; color: #7B867C; font-style: normal; }
    .cap-v10-system-top em::before { position: absolute; top: 50%; left: 0; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #63CA38; transform: translateY(-50%); }

    .cap-v10-reviews-body { display: block; width: 100%; min-height: 0; }
    .cap-v10-review-form,
    .cap-v10-review-published { width: 100%; max-width: none; min-height: 0; margin: 0; }
    .cap-v10-review-form { padding: 22px 15px 20px; border-right: 0; background: #0D110E; }
    .cap-v10-panel-label { font-size: 10px; }
    .cap-v10-review-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
    .cap-v10-review-field { min-width: 0; min-height: 56px; padding: 11px 10px; border: 1px solid #2B352C; background: #111713; }
    .cap-v10-review-field span { display: block; color: #6F796F; font-size: 9px; }
    .cap-v10-review-field strong { display: block; margin-top: 6px; color: #E2E7E0; font-size: 13px; font-weight: 560; }
    .cap-v10-review-field .stars { color: #D39B43; letter-spacing: .08em; }
    .cap-v10-review-media { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 8px; }
    .cap-v10-review-drop { min-height: 72px; padding: 11px; border: 1px dashed #3C473D; color: #7E897F; background: #101612; font-size: 10.5px; line-height: 1.45; }
    .cap-v10-review-drop b { display: block; margin-bottom: 6px; color: #C1C9BF; font-size: 11.5px; font-weight: 590; }
    .cap-v10-review-text { min-height: 0; margin-top: 8px; padding: 12px; border: 1px solid #2B352C; color: #B6BFB5; background: #111713; font-size: 12px; line-height: 1.55; }
    .cap-v10-review-submit { margin-top: 12px; }

    .cap-v10-review-trace {
      position: relative;
      width: 100%;
      min-height: 66px;
      border-top: 1px solid #283129;
      border-right: 0;
      border-bottom: 1px solid #283129;
      border-left: 0;
      background: #0B0F0C;
    }
    .cap-v10-review-trace::before {
      position: absolute;
      top: 50%;
      right: 9%;
      left: 9%;
      width: auto;
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, #354C38 18%, #63CA38 50%, #354C38 82%, transparent);
    }
    .cap-v10-review-trace i {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      display: block;
      width: 9px;
      height: 9px;
      border: 3px solid #0B0F0C;
      border-radius: 50%;
      background: #63CA38;
      box-shadow: 0 0 0 1px #63CA38;
      transform: translate(-50%, -50%);
    }
    .cap-v10-review-trace span {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 50%;
      padding: 6px 8px;
      color: #8B998C;
      background: #0B0F0C;
      font-size: 10.5px;
      font-weight: 680;
      line-height: 1;
      letter-spacing: .09em;
      text-transform: uppercase;
      transform: translate(-50%, 16px);
      white-space: nowrap;
    }

    .cap-v10-review-published { padding: 22px 15px 20px; background: #0B0F0C; }
    .cap-v10-published-status { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-bottom: 14px; color: #7E8A80; font-size: 9px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
    .cap-v10-published-status::before { width: 6px; height: 6px; border-radius: 50%; content: ""; background: #63CA38; }
    .cap-v10-review-card { margin-top: 0; border: 1px solid #313A32; background: #151B17; }
    .cap-v10-review-card-head { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px; border-bottom: 1px solid #313A32; }
    .cap-v10-review-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #0A0D0A; background: #D39B43; font-size: 13px; font-weight: 700; }
    .cap-v10-review-author strong { display: block; color: #E8ECE6; font-size: 13px; font-weight: 620; }
    .cap-v10-review-author span { display: block; margin-top: 4px; color: #D39B43; font-size: 11px; letter-spacing: .06em; }
    .cap-v10-review-date { color: #737D74; font-size: 9px; }
    .cap-v10-review-card-body { padding: 13px; color: #B8C1B7; font-size: 12px; line-height: 1.55; }
    .cap-v10-review-thumbs { display: grid; grid-template-columns: 62px 62px; gap: 7px; margin-top: 11px; }
    .cap-v10-review-thumb { display: grid; place-items: center; height: 48px; border: 1px solid #384339; color: #758076; background: linear-gradient(145deg,#202821,#111713); font-size: 9px; text-transform: uppercase; }
    .cap-v10-company-reply { margin-top: 11px; padding: 11px; border-left: 2px solid #63CA38; color: #AAB5AA; background: #101612; font-size: 10.5px; line-height: 1.5; }
    .cap-v10-company-reply b { display: block; margin-bottom: 4px; color: #D7DDD5; font-weight: 600; }
    .cap-v10-reviews-foot {
      display: flex;
      flex-wrap: wrap;
      gap: 7px 9px;
      min-height: 0;
      padding: 11px 14px;
      font-size: 9px;
      line-height: 1.35;
    }
    .cap-v10-reviews-foot i { width: 16px; }
    .cap-v10-reviews-foot b { margin-left: 0; }

    /* Updater — compact vertical infrastructure route. */
    .cap-v10-updater {
      position: relative;
      display: block;
      width: 100%;
      max-width: none;
      margin: 62px 0 0;
      padding: 50px 0 0;
      border-top: 1px solid #252C26;
    }
    .cap-v10-updater::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 56px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v10-updater-copy { width: 100%; max-width: none; }
    .cap-v10-updater-label { margin: 0 0 15px; color: #63CA38; font-size: 10.5px; font-weight: 680; letter-spacing: .08em; text-transform: uppercase; }
    .cap-v10-updater h3 { max-width: 15ch; margin: 0; color: #F7F8F5; font-size: clamp(30px, 8.4vw, 34px); font-weight: 550; line-height: 1.05; letter-spacing: -.038em; }
    .cap-v10-updater-copy p:last-child { max-width: 34ch; margin: 19px 0 0; color: #AAB4AA; font-size: 16px; line-height: 1.58; }

    .cap-v10-updater-flow {
      width: 100%;
      max-width: none;
      margin-top: 28px;
      overflow: hidden;
      border: 1px solid #29322A;
      background: #0D110E;
    }
    .cap-v10-updater-head {
      display: grid;
      grid-template-columns: 1fr;
      gap: 4px;
      min-height: 0;
      padding: 12px 14px;
      border-bottom: 1px solid #29322A;
      color: #747F75;
      font-size: 9px;
      font-weight: 650;
      line-height: 1.35;
      letter-spacing: .055em;
      text-transform: uppercase;
    }
    .cap-v10-updater-head strong { color: #C0C8BE; font-size: 10px; font-weight: 650; }
    .cap-v10-updater-head span { position: static; display: inline-flex; width: max-content; max-width: 100%; align-items: center; gap: 6px; padding-left: 0; }
    .cap-v10-updater-head span::before { position: static; display: block; width: 5px; height: 5px; flex: 0 0 5px; transform: translateY(-1px); }

    .cap-v10-updater-route {
      position: relative;
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      min-height: 0;
      padding: 20px 15px 8px;
    }
    .cap-v10-updater-route::before {
      position: absolute;
      top: 30px;
      bottom: 26px;
      left: 21px;
      width: 1px;
      height: auto;
      content: "";
      background: linear-gradient(to bottom, #344236 0%, #4B664C 55%, #63CA38 100%);
    }
    .cap-v10-updater-node {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      grid-template-rows: auto auto;
      justify-items: start;
      align-items: start;
      align-content: start;
      gap: 3px 10px;
      min-width: 0;
      min-height: 58px;
      padding: 0 0 12px;
      text-align: left;
    }
    .cap-v10-updater-node i {
      grid-column: 1;
      grid-row: 1 / span 2;
      width: 11px;
      height: 11px;
      margin-top: 3px;
      border: 3px solid #0D110E;
      border-radius: 50%;
      background: #556058;
      box-shadow: 0 0 0 1px #556058;
    }
    .cap-v10-updater-node.is-active i { background: #63CA38; box-shadow: 0 0 0 1px #63CA38; }
    .cap-v10-updater-node strong {
      grid-column: 2;
      grid-row: 1;
      padding: 0;
      color: #CBD2C9;
      background: transparent;
      font-size: 12.5px;
      font-weight: 590;
      line-height: 1.25;
    }
    .cap-v10-updater-node span {
      grid-column: 2;
      grid-row: 2;
      max-width: 28ch;
      color: #6F7A70;
      font-size: 10px;
      line-height: 1.35;
      letter-spacing: .035em;
      text-transform: uppercase;
    }

    /* Final CTA — mobile editorial close, not the Desktop 7/5 layout. */
    .cap-v44-closing {
      position: relative;
      display: block;
      width: 100%;
      margin-top: 62px;
      padding: 50px 0 78px;
      border-top: 1px solid #252C26;
    }
    .cap-v44-closing::before {
      position: absolute;
      top: -1px;
      left: 0;
      width: 56px;
      height: 1px;
      content: "";
      background: #63CA38;
    }
    .cap-v44-title,
    .cap-v44-action,
    .cap-v44-next { width: 100%; max-width: none; padding: 0; }
    .cap-v44-title h3 {
      max-width: 12ch;
      margin: 0;
      color: #F7F8F5;
      font-size: clamp(34px, 9.4vw, 38px);
      font-weight: 550;
      line-height: 1.02;
      letter-spacing: -.043em;
    }
    .cap-v44-title h3 span { display: block; }
    .cap-v44-action { margin-top: 25px; }
    .cap-v44-copy {
      max-width: 34ch;
      margin: 0;
      color: #B7C0B7;
      font-size: 16px;
      font-weight: 410;
      line-height: 1.58;
      letter-spacing: -.008em;
    }
    .cap-v44-copy span { display: inline; }
    .cap-v44-copy span + span::before { content: " "; }
    .cap-v44-controls {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 17px;
      width: 100%;
      margin-top: 28px;
    }
    .cap-v32-closing-cta--nonmobile { display: none !important; }
    .cap-v32-closing-cta--mobile { display: inline-flex; }
    .cap-v32-closing-cta,
    .cap-v13-request-button,
    .cap-v10-review-submit {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      min-width: 0;
      min-height: 50px;
      padding: 0 12px 0 17px;
      border: 1px solid rgba(16,20,16,.16);
      border-radius: 10px;
      background: #63CA38;
      color: #0A0D0A;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
      font-family: Onest, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      font-size: 15px;
      font-weight: 650;
      line-height: 1;
      letter-spacing: -.015em;
      text-decoration: none;
      cursor: pointer;
    }
    .cap-v32-closing-cta .action-arrow,
    .cap-v13-request-button .action-arrow,
    .cap-v10-review-submit .action-arrow {
      display: block;
      width: 27px;
      height: 27px;
      flex: 0 0 27px;
      padding: 6.5px;
      border: 1px solid rgba(16,20,16,.22);
      border-radius: 7px;
      box-sizing: border-box;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .cap-v44-phone {
      align-self: flex-start;
      color: #D0D7CE;
      font-size: 15px;
      font-weight: 590;
      line-height: 1;
      text-decoration: none;
      white-space: nowrap;
    }

    .cap-v44-next {
      display: block;
      margin-top: 34px;
      padding-top: 20px;
      border-top: 1px solid #29312A;
    }
    .cap-v44-next-label {
      display: flex;
      align-items: center;
      gap: 9px;
      margin: 0 0 20px;
      color: #9EA99F;
      font-size: 10.5px;
      font-weight: 620;
      line-height: 1;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .cap-v44-next-label::before { width: 6px; height: 6px; border-radius: 50%; flex: 0 0 6px; content: ""; background: #63CA38; }
    .cap-v44-next-path {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      width: 100%;
    }
    .cap-v44-next-path span {
      display: block;
      color: #E6EBE5;
      font-size: 13px;
      font-weight: 600;
      line-height: 1.3;
      white-space: normal;
    }
    .cap-v44-next-path i {
      display: block;
      width: 1px;
      height: 27px;
      margin: 7px 0 7px 5px;
      background: linear-gradient(to bottom, #29322A 0%, #354137 42%, #4B664C 76%, #63CA38 100%);
    }
  }

  @media (min-width: 360px) and (max-width: 767.98px) {
    .capability-section.cap-v7 { --cap-mobile-gutter: 20px; }
  }

  @media (min-width: 431px) and (max-width: 767.98px) {
    .capability-section.cap-v7 { --cap-mobile-gutter: clamp(20px, 5vw, 32px); }
    .cap-v7-opening { padding-top: 78px; padding-bottom: 72px; }
    .cap-v7-scene { padding-top: 54px; }
    .cap-v7-scene + .cap-v7-scene,
    .cap-v7-scene--calc + .cap-v7-scene--auto { margin-top: 64px; }
    .cap-v10-updater,
    .cap-v44-closing { margin-top: 64px; }
  }

  @media (max-width: 359.98px) {
    .cap-v7-meta { gap: 10px; font-size: 9px; }
    .cap-v7-title,
    .cap-v44-title h3 { font-size: 32px; }
    .cap-v7-scene-title,
    .cap-v10-updater h3 { font-size: 29px; }
    .cap-v10-review-fields { grid-template-columns: 1fr; }
    .cap-v10-tg-top { grid-template-columns: 34px minmax(0, 1fr); }
    .cap-v10-tg-state { grid-column: 2; margin-top: -5px; padding-bottom: 8px; }
    .cap-v10-tg-line { grid-template-columns: 58px minmax(0, 1fr); gap: 7px; }
    .cap-v13-conditions .cap-v8-condition { grid-template-columns: 16px minmax(0, 1fr); }
    .cap-v13-conditions .cap-v8-condition b { grid-column: 2; justify-self: start; }
  }

    /* Section 03 / v55 — Mobile status-system parity with approved Tablet.
       Preserve Tablet semantics: title left, live/status label right, green state marker explicit. */
    @media (max-width: 767.98px) {
      /* Ecommerce browser status — right-aligned with an explicit green state dot. */
      .cap-v10-browser-status {
        display: inline-flex;
        align-items: center;
        justify-self: end;
        gap: 6px;
        padding-left: 0;
        color: #8A958B;
        text-align: right;
        white-space: nowrap;
      }
      .cap-v10-browser-status::before {
        position: static;
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
        transform: none;
      }

      /* Calculator service bar — same semantic layout as Tablet. */
      .cap-v13-calc .cap-v7-calc-top {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 10px;
        row-gap: 5px;
        align-items: center;
      }
      .cap-v13-calc .cap-v7-calc-top strong {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
      }
      .cap-v13-calc .cap-v7-calc-top em {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding-left: 0;
        text-align: right;
        white-space: nowrap;
      }
      .cap-v13-calc .cap-v7-calc-top em::before {
        position: static;
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
        transform: none;
      }
      .cap-v13-calc .cap-v7-calc-top span {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0;
        text-align: left;
      }

      /* Telegram header — keep Tablet right-side state and make the dot self-contained. */
      .cap-v6-auto-status {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        color: #7F897F;
        text-align: right;
        white-space: nowrap;
      }
      .cap-v6-auto-status::before {
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
      }

      /* Reviews service bar — title left, publication state right, descriptor below. */
      .cap-v10-system-top {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 10px;
        row-gap: 5px;
        align-items: center;
      }
      .cap-v10-system-top strong {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        min-width: 0;
      }
      .cap-v10-system-top em {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        max-width: 16ch;
        padding-left: 0;
        color: #7B867C;
        text-align: right;
        line-height: 1.25;
      }
      .cap-v10-system-top em::before {
        position: static;
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
        transform: none;
      }
      .cap-v10-system-top > span {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0;
      }

      /* Updater service bar — restore Tablet left/right relation. */
      .cap-v10-updater-head {
        grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
        grid-template-rows: auto;
        column-gap: 10px;
        align-items: center;
      }
      .cap-v10-updater-head strong {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
      }
      .cap-v10-updater-head span {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        max-width: 19ch;
        padding-left: 0;
        text-align: right;
        line-height: 1.25;
      }
      .cap-v10-updater-head span::before {
        position: static;
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
        transform: none;
      }

      /* Genesis Web is the green ownership signature and remains on the right. */
      .cap-v6-auto-caption span:last-child,
      .cap-v10-reviews-foot b {
        margin-left: auto;
        color: #4B9F2B;
        text-align: right;
      }
    }


    /* Section 03 / v56 — Mobile micro-parity with the approved Tablet system.
       Layout remains vertical; only semantic alignment, state markers and line tokens are normalized. */
    @media (max-width: 767.98px) {
      /* Calculator breakdown keeps Tablet's explicit label/value relationship. */
      .cap-v8-result-list.cap-v13-result-list div {
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content;
        align-items: baseline;
        column-gap: 18px;
        row-gap: 3px;
      }
      .cap-v8-result-list.cap-v13-result-list span {
        min-width: 0;
      }
      .cap-v8-result-list.cap-v13-result-list strong {
        min-width: max-content;
        justify-self: end;
        text-align: right;
        white-space: nowrap;
      }

      /* Tablet state markers are 6px circles; Mobile keeps the same signal role. */
      .cap-v10-browser-status::before,
      .cap-v13-calc .cap-v7-calc-top em::before,
      .cap-v6-auto-status::before,
      .cap-v10-system-top em::before,
      .cap-v10-updater-head span::before,
      .cap-v10-tg-state::before {
        width: 6px;
        height: 6px;
        min-width: 6px;
        min-height: 6px;
        max-width: 6px;
        max-height: 6px;
        flex: 0 0 6px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
      }

      /* Ownership/meta signatures retain Tablet's right-side hierarchy. */
      .cap-v7-calc-stage .cap-v7-stage-foot b,
      .cap-v6-auto-caption span:last-child,
      .cap-v10-reviews-foot b {
        margin-left: auto;
        color: #4B9F2B;
        text-align: right;
      }

      /* Proof borders keep their component-specific Tablet tokens. */
      .cap-v6-auto-caption { border-top-color: #283129; }
      .cap-v10-reviews-stage { border-color: #29322A; }
      .cap-v10-system-top,
      .cap-v10-review-trace { border-color: #29322A; }
      .cap-v44-closing { border-top-color: #29312A; }

      /* Vertical routes are direct orientation changes of their Tablet lines. */
      .cap-v6-auto-steps::before {
        background: #324334;
      }
      .cap-v10-updater-route::before {
        background: linear-gradient(to bottom, #344236 0%, #63CA38 50%, #344236 100%);
      }
    }


    /* Section 03 / v57 — Mobile ecommerce uses real mobile project captures.
       Desktop/Tablet keep the approved proof media unchanged. */
    .cap-ecom-mobile-media { display: none !important; }

    @media (max-width: 767.98px) {
      .cap-ecom-desktop-media { display: none !important; }
      .cap-ecom-mobile-media { display: block !important; }
    }


    /* Section 03 / v60 — Refined wide-mobile ecommerce hierarchy.
       320–430px stay visually unchanged. The catalog cap now starts reducing
       visual mass around 500px, reaches the approved scale by 600px, and
       smoothly returns toward ~520px across 700–767px. */
    @media (min-width: 431px) and (max-width: 767.98px) {
      .cap-ecom-evidence--catalog .cap-ecom-evidence-media img.cap-ecom-mobile-media {
        width: min(100%, clamp(420px, calc(45vw + 195px), 520px));
        margin-inline: auto;
      }
    }


    /* Section 03 / desktop motion — one restrained, scroll-led reveal grammar. */
    @media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
      .capability-section.cap-v7.is-motion-ready {
        --cap-motion-ease: cubic-bezier(.22, 1, .36, 1);
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-opening::before,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene::before {
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 620ms var(--cap-motion-ease);
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-meta,
      .capability-section.cap-v7.is-motion-ready .cap-v7-title,
      .capability-section.cap-v7.is-motion-ready .cap-v7-lead,
      .capability-section.cap-v7.is-motion-ready .cap-v7-copy > *,
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater-copy > *,
      .capability-section.cap-v7.is-motion-ready .cap-v44-title,
      .capability-section.cap-v7.is-motion-ready .cap-v44-action,
      .capability-section.cap-v7.is-motion-ready .cap-v44-next {
        opacity: 0;
        transform: translateY(14px);
        transition: opacity 420ms var(--cap-motion-ease), transform 420ms var(--cap-motion-ease);
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-title {
        clip-path: inset(0 0 100% 0);
        transition: opacity 600ms var(--cap-motion-ease), transform 600ms var(--cap-motion-ease), clip-path 600ms var(--cap-motion-ease);
      }

      .capability-section.cap-v7.is-motion-ready .cap-ecom-plate,
      .capability-section.cap-v7.is-motion-ready .cap-v13-calc,
      .capability-section.cap-v7.is-motion-ready .cap-v6-auto-proof,
      .capability-section.cap-v7.is-motion-ready .cap-v10-reviews-stage,
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater-flow {
        opacity: 0;
        transform: translateY(18px);
        transition: opacity 520ms var(--cap-motion-ease), transform 520ms var(--cap-motion-ease);
      }

      .capability-section.cap-v7.is-motion-ready .cap-ecom-main-proof,
      .capability-section.cap-v7.is-motion-ready .cap-ecom-evidence-row {
        opacity: 0;
        transform: translateY(12px);
        transition: opacity 420ms var(--cap-motion-ease), transform 420ms var(--cap-motion-ease);
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed::before,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed::before {
        transform: scaleX(1);
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-meta,
      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-title,
      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-lead,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v7-copy > *,
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-copy > *,
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-title,
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-action,
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-next,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-plate,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v13-calc,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v6-auto-proof,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v10-reviews-stage,
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-flow,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-main-proof,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-evidence-row {
        opacity: 1;
        transform: none;
      }

      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-meta { transition-delay: 60ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-title { clip-path: inset(0); transition-delay: 120ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-opening.is-revealed .cap-v7-lead { transition-delay: 200ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v7-copy > :nth-child(1) { transition-delay: 60ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v7-copy > :nth-child(2) { transition-delay: 110ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v7-copy > :nth-child(3) { transition-delay: 165ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v7-copy > :nth-child(n+4) { transition-delay: 210ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-plate,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v13-calc,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v6-auto-proof,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-v10-reviews-stage { transition-delay: 180ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-main-proof { transition-delay: 240ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed .cap-ecom-evidence-row { transition-delay: 340ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-copy > :nth-child(1) { transition-delay: 60ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-copy > :nth-child(2) { transition-delay: 120ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-copy > :nth-child(3),
      .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed .cap-v10-updater-flow { transition-delay: 180ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-title { transition-delay: 60ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-action { transition-delay: 140ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed .cap-v44-next { transition-delay: 220ms; }
    }


    /* Section 03 / Projects gateway v1 — Desktop only.
       Replaces the former ecommerce proof on >=1025px; Tablet/Mobile keep their approved scene. */
    .cap-projects-desktop { display: none; }

    @media (min-width: 1025px) {
      .cap-v7-scene--web > .cap-v7-copy,
      .cap-v7-scene--web > .cap-ecom-plate { display: none !important; }

      .cap-v7-scene--web { min-height: 0; }

      .cap-projects-desktop {
        grid-column: 1 / 13;
        display: block;
        width: 100%;
        min-width: 0;
      }

      .cap-projects-intro {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: end;
        padding-bottom: 62px;
      }

      .cap-projects-intro-title { grid-column: 1 / 9; }
      .cap-projects-kicker {
        margin: 0 0 20px;
        color: #63CA38;
        font-size: 11px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }
      .cap-projects-intro h3 {
        max-width: 900px;
        margin: 0;
        color: #F7F8F5;
        font-size: clamp(48px, 4.1vw, 64px);
        font-weight: 550;
        line-height: .98;
        letter-spacing: -.05em;
      }
      .cap-projects-intro h3 span { color: #8E9A8D; }
      .cap-projects-intro-copy {
        grid-column: 9 / 13;
        max-width: 34ch;
        margin: 0 0 5px;
        color: #AAB4AA;
        font-size: 16px;
        font-weight: 410;
        line-height: 1.58;
      }

      .cap-projects-slides {
        position: relative;
        min-width: 0;
      }
      .cap-project-slide {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: center;
        min-width: 0;
      }
      .cap-project-slide[hidden] { display: none !important; }

      .cap-project-slide-copy {
        grid-column: 1 / 5;
        align-self: center;
        min-width: 0;
        padding-right: 28px;
      }
      .cap-project-slide-index {
        margin: 0 0 16px;
        color: #63CA38;
        font-size: 10.5px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }
      .cap-project-slide-copy h4 {
        margin: 0;
        color: #F7F8F5;
        font-size: clamp(31px, 2.5vw, 38px);
        font-weight: 560;
        line-height: 1.04;
        letter-spacing: -.04em;
      }
      .cap-project-slide-type {
        margin: 9px 0 0;
        color: #788278;
        font-size: 11px;
        font-weight: 620;
        line-height: 1.35;
        letter-spacing: .055em;
        text-transform: uppercase;
      }
      .cap-project-slide-copy h5 {
        max-width: 15ch;
        margin: 32px 0 0;
        color: #DCE2DA;
        font-size: clamp(24px, 2vw, 30px);
        font-weight: 520;
        line-height: 1.08;
        letter-spacing: -.035em;
      }
      .cap-project-slide-text {
        max-width: 32ch;
        margin: 20px 0 0;
        color: #9FA99F;
        font-size: 15.5px;
        font-weight: 410;
        line-height: 1.58;
      }
      .cap-project-slide-scope {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 10px;
        margin-top: 24px;
        color: #707B71;
        font-size: 9.5px;
        font-weight: 640;
        line-height: 1.25;
        letter-spacing: .06em;
        text-transform: uppercase;
      }
      .cap-project-slide-scope i { width: 16px; height: 1px; background: #354137; }
      .cap-project-slide-link {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        margin-top: 29px;
        padding-bottom: 6px;
        border-bottom: 1px solid #354036;
        color: #F7F8F5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
      }
      .cap-project-slide-link::after {
        color: #63CA38;
        content: "↗";
        font-size: 14px;
        transition: transform 180ms ease;
      }
      .cap-project-slide-link:hover::after,
      .cap-project-slide-link:focus-visible::after { transform: translate(2px, -2px); }

      .cap-project-slide-media {
        grid-column: 5 / 13;
        position: relative;
        min-width: 0;
        padding: 0 76px 58px 0;
      }
      .cap-project-desktop-proof,
      .cap-project-mobile-proof {
        margin: 0;
        overflow: hidden;
        border: 1px solid #303A31;
        background: #F7F8F5;
      }
      .cap-project-desktop-proof {
        position: relative;
        z-index: 1;
        width: 100%;
        box-shadow: 0 24px 58px rgba(0,0,0,.20);
      }
      .cap-project-browser-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 18px;
        row-gap: 5px;
        align-items: center;
        min-height: 60px;
        padding: 11px 18px;
        border-bottom: 1px solid #29322A;
        color: #737D74;
        background: #0D110E;
        font-size: 9.5px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: .065em;
        text-transform: uppercase;
      }
      .cap-project-browser-top > strong {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        overflow: hidden;
        color: #C0C8BE;
        font-weight: 650;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .cap-project-browser-top > em {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #7B867C;
        font-style: normal;
        white-space: nowrap;
      }
      .cap-project-browser-top > em::before {
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
      }
      .cap-project-browser-top > span {
        grid-column: 1 / -1;
        grid-row: 2;
        color: #737D74;
        line-height: 1.3;
        text-align: left;
      }
      .cap-project-desktop-proof .cap-project-browser-top > span {
        text-align: center;
      }
      .cap-project-desktop-proof img,
      .cap-project-mobile-proof img {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
      }
      .cap-project-mobile-proof {
        position: absolute;
        z-index: 3;
        right: 0;
        bottom: 0;
        width: clamp(150px, 12.3vw, 182px);
        box-shadow: 0 18px 46px rgba(0,0,0,.30);
      }
      .cap-project-mobile-proof .cap-project-browser-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 38px;
        padding: 0 11px;
        font-size: 8.5px;
        line-height: 1;
      }
      .cap-project-browser-top--adaptive > strong {
        overflow: hidden;
        color: #C0C8BE;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .cap-project-adaptive-status {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex: 0 0 auto;
        color: #AEB8AD;
        font-style: normal;
        font-weight: 600;
        letter-spacing: .055em;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .cap-project-adaptive-status i {
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        background: #63CA38;
      }

      .cap-projects-nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 24px;
        align-items: center;
        margin-top: 42px;
        padding-top: 20px;
        border-top: 1px solid #29322A;
      }
      .cap-projects-tabs {
        display: grid;
        grid-template-columns: max-content minmax(90px, 240px) max-content;
        gap: 15px;
        align-items: center;
      }
      .cap-projects-tab {
        display: inline-flex;
        align-items: baseline;
        gap: 9px;
        padding: 7px 0;
        border: 0;
        background: transparent;
        color: #6F7A70;
        font: inherit;
        cursor: pointer;
        text-align: left;
      }
      .cap-projects-tab span {
        color: #5D675E;
        font-size: 9px;
        font-weight: 680;
        letter-spacing: .07em;
      }
      .cap-projects-tab strong {
        color: inherit;
        font-size: 12px;
        font-weight: 570;
        line-height: 1.25;
      }
      .cap-projects-tab.is-active { color: #F0F4EE; }
      .cap-projects-tab.is-active span { color: #63CA38; }
      .cap-projects-tab:focus-visible { outline: 3px solid #D2F7C2; outline-offset: 4px; }
      .cap-projects-progress { position: relative; height: 1px; overflow: hidden; background: #29322A; }
      .cap-projects-progress i {
        position: absolute;
        top: 0;
        left: 0;
        width: 50%;
        height: 1px;
        background: #63CA38;
        transition: transform 420ms cubic-bezier(.22, 1, .36, 1);
      }
      .cap-projects-arrows { display: flex; gap: 8px; }
      .cap-projects-arrows button {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 1px solid #354036;
        border-radius: 50%;
        color: #DDE4DB;
        background: transparent;
        font: inherit;
        font-size: 15px;
        cursor: pointer;
        transition: border-color 180ms ease, color 180ms ease, transform 120ms ease;
      }
      .cap-projects-arrows button:hover { border-color: #657166; color: #F7F8F5; }
      .cap-projects-arrows button:active { transform: scale(.97); }
      .cap-projects-arrows button:focus-visible { outline: 3px solid #D2F7C2; outline-offset: 3px; }

      .cap-projects-footer {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 24px;
        margin-top: 22px;
        color: #687369;
        font-size: 11px;
        line-height: 1.45;
      }
      .cap-projects-footer a {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: #E7ECE5;
        font-size: 13px;
        font-weight: 560;
        text-decoration: none;
      }
      .cap-projects-footer a b { color: #63CA38; font-size: 15px; font-weight: 560; }

      .cap-projects-desktop.is-switching .cap-project-slide.is-active {
        opacity: .08;
        transform: translateY(10px);
        transition: opacity 150ms ease, transform 150ms ease;
      }
    }

    @media (min-width: 1025px) and (max-width: 1279px) {
      .cap-projects-intro { padding-bottom: 54px; }
      .cap-projects-intro-title { grid-column: 1 / 8; }
      .cap-projects-intro-copy { grid-column: 8 / 13; }
      .cap-projects-intro h3 { font-size: clamp(44px, 4.4vw, 54px); }
      .cap-project-slide-copy { grid-column: 1 / 5; padding-right: 18px; }
      .cap-project-slide-media { grid-column: 5 / 13; padding-right: 62px; }
      .cap-project-mobile-proof { width: 150px; }
      .cap-project-slide-copy h5 { font-size: 24px; }
      .cap-project-slide-text { font-size: 14.5px; }
    }

    @media (min-width: 1680px) {
      .cap-projects-intro { padding-bottom: 70px; }
      .cap-projects-intro h3 { font-size: 66px; }
      .cap-project-slide-media { padding-right: 84px; padding-bottom: 64px; }
      .cap-project-mobile-proof { width: 190px; }
      .cap-projects-nav { margin-top: 48px; }
    }

    @media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
      .capability-section.cap-v7.is-motion-ready .cap-projects-slides,
      .capability-section.cap-v7.is-motion-ready .cap-projects-nav,
      .capability-section.cap-v7.is-motion-ready .cap-projects-footer {
        opacity: 0;
        transform: translateY(16px);
        transition: opacity 520ms cubic-bezier(.22, 1, .36, 1), transform 520ms cubic-bezier(.22, 1, .36, 1);
      }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-slides,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-nav,
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-footer {
        opacity: 1;
        transform: none;
      }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-nav { transition-delay: 80ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-slides { transition-delay: 160ms; }
      .capability-section.cap-v7.is-motion-ready .cap-v7-scene--web.is-revealed .cap-projects-footer { transition-delay: 260ms; }
    }


    /* Section 03 / Projects desktop — composition refinement.
       Desktop proof defines the scene. Mobile is an independent overlay.
       Selector and footer align to the same 12-column grid without affecting Tablet/Mobile. */
    @media (min-width: 1025px) {
      .cap-projects-desktop {
        --project-mobile-width: clamp(150px, 9vw, 168px);
        --project-mobile-gap: 24px;
        --project-media-right: 72px;
      }

      /* Project selector sits above the media column. */
      .cap-projects-nav {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: center;
        margin: 0 0 28px;
        padding: 0;
        border: 0;
      }
      .cap-projects-tabs {
        grid-column: 5 / 13;
        width: min(100%, 520px);
      }

      /* Both slides use the same top origin: copy = top of desktop browser. */
      .cap-project-slide {
        align-items: start;
      }
      .cap-project-slide-copy {
        align-self: start;
        padding-top: 0;
      }

      /* Desktop browser remains dominant. */
      .cap-project-slide-media {
        grid-column: 5 / 13;
        position: relative;
        min-width: 0;
        padding: 0 var(--project-media-right) 0 0;
        overflow: visible;
      }

      /* Browser header: project / desktop / real project in one row. */
      .cap-project-desktop-proof .cap-project-browser-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        grid-template-rows: 1fr;
        column-gap: 18px;
        row-gap: 0;
        align-items: center;
        min-height: 49px;
        padding: 0 18px;
        font-size: 10px;
        line-height: 1;
        letter-spacing: .07em;
      }
      .cap-project-desktop-proof .cap-project-browser-top > strong {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
      }
      .cap-project-desktop-proof .cap-project-browser-top > span {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        text-align: center;
        white-space: nowrap;
      }
      .cap-project-desktop-proof .cap-project-browser-top > em {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
      }
      .cap-project-desktop-proof .cap-project-browser-top > em::before {
        width: 5px;
        height: 5px;
        flex-basis: 5px;
        align-self: center;
        transform: none;
      }

      /* Mobile is supporting proof only; it never participates in layout height. */
      .cap-project-mobile-proof {
        right: 0;
        bottom: -48px;
        width: var(--project-mobile-width);
      }

      /* Footer belongs to the desktop browser line, not to the Mobile overlay.
         Arrows align with desktop left edge. "All projects" ends before Mobile. */
      .cap-projects-footer {
        position: relative;
        z-index: 8;
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 24px;
        align-items: center;
        margin-top: 18px;
        padding: 0;
        border: 0;
      }
      .cap-projects-footer > .cap-projects-arrows {
        grid-column: 5 / 7;
        grid-row: 1;
        justify-self: start;
        position: relative;
        z-index: 9;
      }
      .cap-projects-footer > a {
        grid-column: 5 / 13;
        grid-row: 1;
        justify-self: end;
        margin-right: calc(var(--project-mobile-width) + var(--project-mobile-gap));
        position: relative;
        z-index: 9;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        white-space: nowrap;
      }
      .cap-projects-footer button,
      .cap-projects-footer a {
        pointer-events: auto;
      }

      /* Standard major-episode spacing before Calculator. */
      .cap-v7-scene--web + .cap-v7-scene--calc {
        margin-top: 112px;
      }
    }

    @media (min-width: 1025px) and (max-width: 1279px) {
      .cap-projects-desktop {
        --project-mobile-width: 150px;
        --project-mobile-gap: 20px;
        --project-media-right: 62px;
      }
      .cap-projects-tabs { width: min(100%, 470px); }
      .cap-project-mobile-proof { bottom: -44px; }
    }

    @media (min-width: 1680px) {
      .cap-projects-desktop {
        --project-mobile-width: 168px;
        --project-mobile-gap: 24px;
        --project-media-right: 76px;
      }
      .cap-project-mobile-proof { bottom: -50px; }
      .cap-projects-nav { margin-bottom: 32px; }
    }


    /* Narrow desktop continuity: keep the 1025px header CTA on one line. */
    @media (min-width: 1025px) and (max-width: 1100px) {
      .desktop-header {
        width: min(calc(100% - 48px), 976px);
        grid-template-columns: 150px minmax(0, 1fr) auto;
      }

      .desktop-nav {
        gap: 20px;
        font-size: 14px;
      }

      .desktop-header-actions {
        gap: 16px;
      }

      .header-phone {
        gap: 8px;
        font-size: 14px;
      }

      .header-cta {
        flex-wrap: nowrap;
        gap: 19px;
        min-height: 46px;
        padding: 0 15px 0 18px;
        font-size: 13px;
        white-space: nowrap;
      }
    }


    /* Section 03 / Projects — dedicated Tablet 768–1024 adaptation.
       Only the former ecommerce episode is replaced; the rest of Section 03 stays locked. */
    @media (min-width: 768px) and (max-width: 1024px) {
      .cap-v7-scene--web > .cap-v7-copy,
      .cap-v7-scene--web > .cap-ecom-legacy-stage,
      .cap-v7-scene--web > .cap-ecom-plate { display:none !important; }
      .cap-v7-scene--web { min-height:0; }

      .cap-projects-desktop {
        --tablet-project-mobile: clamp(118px,15.3vw,146px);
        grid-column:1 / 9;
        display:block;
        width:100%;
        min-width:0;
      }

      .cap-projects-nav {
        display:block;
        margin:0 0 clamp(34px,4.8vw,46px);
        padding:0;
        border:0;
      }
      .cap-projects-tabs {
        display:grid;
        grid-template-columns:max-content minmax(64px,1fr) max-content;
        gap:clamp(12px,2vw,20px);
        align-items:center;
        width:min(100%,570px);
      }
      .cap-projects-tab {
        display:inline-flex;
        align-items:baseline;
        gap:8px;
        min-width:0;
        padding:5px 0;
        border:0;
        background:transparent;
        color:#6F7A70;
        font:inherit;
        cursor:pointer;
        text-align:left;
      }
      .cap-projects-tab span { color:#5D675E; font-size:9px; font-weight:680; line-height:1; letter-spacing:.07em; }
      .cap-projects-tab strong { overflow:hidden; color:inherit; font-size:clamp(11px,1.35vw,12px); font-weight:570; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
      .cap-projects-tab.is-active { color:#F0F4EE; }
      .cap-projects-tab.is-active span { color:#63CA38; }
      .cap-projects-tab:focus-visible { outline:3px solid #D2F7C2; outline-offset:4px; }
      .cap-projects-progress { position:relative; height:1px; overflow:hidden; background:#29322A; }
      .cap-projects-progress i { position:absolute; inset:0 auto 0 0; width:50%; height:1px; background:#63CA38; transition:transform 420ms cubic-bezier(.22,1,.36,1); }

      .cap-projects-slides { position:relative; min-width:0; }
      .cap-project-slide {
        display:grid;
        grid-template-columns:repeat(8,minmax(0,1fr));
        column-gap:20px;
        align-items:start;
        min-width:0;
      }
      .cap-project-slide[hidden] { display:none !important; }

      /* Identity left, project narrative right: independent Tablet composition. */
      .cap-project-slide-copy {
        grid-column:1 / 9;
        display:grid;
        grid-template-columns:repeat(8,minmax(0,1fr));
        column-gap:20px;
        align-items:start;
        min-width:0;
        min-height:clamp(206px,25vw,238px);
        padding:0;
      }
      .cap-project-slide-index { grid-column:1 / 4; grid-row:1; margin:0 0 14px; color:#63CA38; font-size:10px; font-weight:680; line-height:1.25; letter-spacing:.085em; text-transform:uppercase; }
      .cap-project-slide-copy h4 { grid-column:1 / 4; grid-row:2; margin:0; color:#F7F8F5; font-size:clamp(28px,3.8vw,34px); font-weight:560; line-height:1.04; letter-spacing:-.04em; }
      .cap-project-slide-type { grid-column:1 / 4; grid-row:3; margin:9px 0 0; color:#788278; font-size:10px; font-weight:620; line-height:1.35; letter-spacing:.055em; text-transform:uppercase; }
      .cap-project-slide-copy h5 { grid-column:4 / 9; grid-row:1 / span 2; max-width:17ch; margin:0; color:#DCE2DA; font-size:clamp(25px,3.4vw,30px); font-weight:520; line-height:1.08; letter-spacing:-.035em; }
      .cap-project-slide-text { grid-column:4 / 9; grid-row:3; max-width:40ch; margin:15px 0 0; color:#9FA99F; font-size:15px; font-weight:410; line-height:1.55; }
      .cap-project-slide-scope { grid-column:4 / 9; grid-row:4; display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px; margin-top:18px; color:#707B71; font-size:9px; font-weight:640; line-height:1.25; letter-spacing:.06em; text-transform:uppercase; }
      .cap-project-slide-scope i { width:14px; height:1px; background:#354137; }
      .cap-project-slide-link { grid-column:1 / 4; grid-row:3; align-self:start; justify-self:start; display:inline-flex; align-items:center; gap:8px; margin-top:36px; padding-bottom:6px; border-bottom:1px solid #354036; color:#F7F8F5; font-size:13px; font-weight:560; line-height:1; text-decoration:none; }
      .cap-project-slide-link::after { color:#63CA38; content:"↗"; font-size:14px; }

      .cap-project-slide-media {
        grid-column:1 / 9;
        position:relative;
        min-width:0;
        margin-top:clamp(26px,3.5vw,34px);
        padding:0 0 clamp(24px,3vw,30px);
        overflow:visible;
      }
      .cap-project-desktop-proof,
      .cap-project-mobile-proof { margin:0; overflow:hidden; border:1px solid #303A31; background:#F7F8F5; }
      .cap-project-desktop-proof { position:relative; z-index:1; width:calc(100% - clamp(34px,5vw,48px)); box-shadow:0 20px 48px rgba(0,0,0,.18); }
      .cap-project-desktop-proof .cap-project-browser-top {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
        grid-template-rows:1fr;
        column-gap:12px;
        align-items:center;
        min-height:44px;
        padding:0 clamp(12px,1.8vw,16px);
        border-bottom:1px solid #29322A;
        color:#737D74;
        background:#0D110E;
        font-size:clamp(8.5px,1vw,9.5px);
        font-weight:650;
        line-height:1;
        letter-spacing:.065em;
        text-transform:uppercase;
      }
      .cap-project-desktop-proof .cap-project-browser-top > strong { grid-column:1; grid-row:1; justify-self:start; min-width:0; overflow:hidden; color:#C0C8BE; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
      .cap-project-desktop-proof .cap-project-browser-top > span { grid-column:2; grid-row:1; justify-self:center; color:#737D74; text-align:center; white-space:nowrap; }
      .cap-project-desktop-proof .cap-project-browser-top > em { grid-column:3; grid-row:1; justify-self:end; display:inline-flex; align-items:center; gap:6px; color:#7B867C; font-style:normal; white-space:nowrap; }
      .cap-project-desktop-proof .cap-project-browser-top > em::before { display:block; width:5px; height:5px; flex:0 0 5px; border-radius:50%; content:""; background:#63CA38; }
      .cap-project-desktop-proof img,
      .cap-project-mobile-proof img { display:block; width:100%; height:auto; max-width:100%; }

      .cap-project-mobile-proof { position:absolute; z-index:3; right:0; bottom:0; width:var(--tablet-project-mobile); box-shadow:0 16px 38px rgba(0,0,0,.28); }
      .cap-project-mobile-proof .cap-project-browser-top { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:34px; padding:0 9px; border-bottom:1px solid #29322A; color:#737D74; background:#0D110E; font-size:7.5px; font-weight:650; line-height:1; letter-spacing:.055em; text-transform:uppercase; }
      .cap-project-browser-top--adaptive > strong { color:#C0C8BE; font-weight:650; white-space:nowrap; }
      .cap-project-adaptive-status { display:inline-flex; align-items:center; gap:5px; color:#AEB8AD; font-style:normal; font-weight:600; white-space:nowrap; }
      .cap-project-adaptive-status i { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:#63CA38; }

      .cap-projects-footer { position:relative; z-index:6; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:clamp(18px,2.8vw,24px); padding:0; border:0; }
      .cap-projects-arrows { display:flex; gap:8px; }
      .cap-projects-arrows button {
        display:grid;
        place-items:center;
        width:40px;
        height:40px;
        padding:0;
        padding-bottom:1px;
        border:1px solid #354036;
        border-radius:50%;
        color:#DDE4DB;
        background:transparent;
        font:inherit;
        font-size:15px;
        cursor:pointer;
        transition:border-color 180ms ease, color 180ms ease, transform 120ms ease;
      }
      .cap-projects-arrows button::before { content:none !important; display:none !important; }
      .cap-projects-footer a { display:inline-flex; align-items:center; gap:9px; color:#E7ECE5; font-size:13px; font-weight:560; line-height:1; text-decoration:none; white-space:nowrap; }
      .cap-projects-footer a b { color:#63CA38; font-size:15px; font-weight:560; }
      .cap-projects-arrows button:focus-visible,
      .cap-projects-footer a:focus-visible { outline:3px solid #D2F7C2; outline-offset:3px; }

      /* Same major-episode rhythm as the rest of Tablet Section 03. */
      .cap-v7-scene--web + .cap-v7-scene--calc { margin-top:clamp(88px,10vw,100px); }
    }

    @media (min-width:768px) and (max-width:839px) {
      .cap-projects-desktop { --tablet-project-mobile:118px; }
      .cap-projects-tabs { width:100%; gap:11px; }
      .cap-project-slide-copy { min-height:222px; }
      .cap-project-slide-copy h5 { font-size:25px; }
      .cap-project-slide-text { font-size:14.5px; }
      .cap-project-slide-scope { gap:6px 7px; font-size:8.5px; }
      .cap-project-desktop-proof { width:calc(100% - 34px); }
      .cap-project-mobile-proof .cap-project-browser-top { min-height:32px; padding-inline:7px; font-size:7px; }
    }

    @media (min-width:960px) and (max-width:1024px) {
      .cap-projects-desktop { --tablet-project-mobile:146px; }
      .cap-project-slide-copy { min-height:218px; }
      .cap-project-desktop-proof { width:calc(100% - 48px); }
    }


    /* Section 03 / Projects — independent Mobile adaptation.
       Only the former ecommerce episode is replaced below 768px.
       Locked Tablet/Desktop and all following Section 03 episodes remain unchanged. */
    @media (max-width: 767.98px) {
      .cap-v7-scene--web > .cap-v7-copy,
      .cap-v7-scene--web > .cap-ecom-legacy-stage,
      .cap-v7-scene--web > .cap-ecom-plate { display: none !important; }
      .cap-v7-scene--web { min-height: 0; }

      .cap-projects-desktop {
        display: block;
        width: 100%;
        min-width: 0;
      }

      /* Project selector stays compact and full-width on the mobile rail. */
      .cap-projects-nav {
        display: block;
        margin: 0 0 34px;
        padding: 0;
        border: 0;
      }
      .cap-projects-tabs {
        display: grid;
        grid-template-columns: minmax(0, max-content) minmax(42px, 1fr) minmax(0, max-content);
        gap: 10px;
        align-items: center;
        width: 100%;
      }
      .cap-projects-tab {
        display: inline-flex;
        align-items: baseline;
        gap: 7px;
        min-width: 0;
        padding: 5px 0;
        border: 0;
        color: #6F7A70;
        background: transparent;
        font: inherit;
        cursor: pointer;
        text-align: left;
      }
      .cap-projects-tab span {
        color: #5D675E;
        font-size: 9px;
        font-weight: 680;
        line-height: 1;
        letter-spacing: .07em;
      }
      .cap-projects-tab strong {
        min-width: 0;
        overflow: hidden;
        color: inherit;
        font-size: clamp(10.5px, 2.85vw, 12px);
        font-weight: 570;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .cap-projects-tab.is-active { color: #F0F4EE; }
      .cap-projects-tab.is-active span { color: #63CA38; }
      .cap-projects-tab:focus-visible { outline: 3px solid #D2F7C2; outline-offset: 4px; }
      .cap-projects-progress { position: relative; height: 1px; overflow: hidden; background: #29322A; }
      .cap-projects-progress i {
        position: absolute;
        inset: 0 auto 0 0;
        width: 50%;
        height: 1px;
        background: #63CA38;
        transition: transform 420ms cubic-bezier(.22,1,.36,1);
      }

      .cap-projects-slides { position: relative; min-width: 0; }
      .cap-project-slide { display: block; min-width: 0; }
      .cap-project-slide[hidden] { display: none !important; }

      /* Text first: project identity, direct case link, then the project story. */
      .cap-project-slide-copy {
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        min-height: 0;
        padding: 0;
      }
      .cap-project-slide-index {
        margin: 0 0 14px;
        color: #63CA38;
        font-size: 10px;
        font-weight: 680;
        line-height: 1.25;
        letter-spacing: .085em;
        text-transform: uppercase;
      }
      .cap-project-slide-copy h4 {
        margin: 0;
        color: #F7F8F5;
        font-size: clamp(30px, 8.4vw, 36px);
        font-weight: 560;
        line-height: 1.04;
        letter-spacing: -.04em;
      }
      .cap-project-slide-type {
        margin: 8px 0 0;
        color: #788278;
        font-size: 10px;
        font-weight: 620;
        line-height: 1.35;
        letter-spacing: .055em;
        text-transform: uppercase;
      }
      .cap-project-slide-index { order: 1; }
      .cap-project-slide-copy h4 { order: 2; }
      .cap-project-slide-type { order: 3; }
      .cap-project-slide-link { order: 4; }
      .cap-project-slide-copy h5 { order: 5; }
      .cap-project-slide-text { order: 6; }
      .cap-project-slide-scope { order: 7; }
      .cap-project-slide-link {
        display: inline-flex;
        align-self: flex-start;
        align-items: center;
        width: max-content;
        max-width: 100%;
        gap: 8px;
        margin-top: 13px;
        padding-bottom: 6px;
        border-bottom: 1px solid #354036;
        color: #F7F8F5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
      }
      .cap-project-slide-link::after { color: #63CA38; content: "↗"; font-size: 14px; }
      .cap-project-slide-copy h5 {
        max-width: 16ch;
        margin: 30px 0 0;
        color: #DCE2DA;
        font-size: clamp(25px, 7.2vw, 30px);
        font-weight: 520;
        line-height: 1.08;
        letter-spacing: -.035em;
      }
      .cap-project-slide-text {
        max-width: 34ch;
        margin: 17px 0 0;
        color: #9FA99F;
        font-size: 15.5px;
        font-weight: 410;
        line-height: 1.56;
      }
      .cap-project-slide-scope {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 7px 8px;
        margin-top: 19px;
        color: #707B71;
        font-size: 9px;
        font-weight: 640;
        line-height: 1.3;
        letter-spacing: .055em;
        text-transform: uppercase;
      }
      .cap-project-slide-scope i { width: 13px; height: 1px; flex: 0 0 13px; background: #354137; }

      /* Real project media becomes a sequential mobile scene; no overlap. */
      .cap-project-slide-media {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 12px;
        width: 100%;
        min-width: 0;
        margin-top: 30px;
        padding: 0;
        overflow: visible;
      }
      .cap-project-desktop-proof,
      .cap-project-mobile-proof {
        position: static;
        width: 100%;
        margin: 0;
        overflow: hidden;
        border: 1px solid #303A31;
        background: #F7F8F5;
      }
      .cap-project-desktop-proof {
        z-index: auto;
        box-shadow: 0 18px 42px rgba(0,0,0,.18);
      }
      .cap-project-desktop-proof .cap-project-browser-top {
        display: grid;
        grid-template-columns: minmax(0,1fr) auto auto;
        grid-template-rows: 1fr;
        gap: 8px;
        align-items: center;
        min-height: 38px;
        padding: 0 9px;
        border-bottom: 1px solid #29322A;
        color: #737D74;
        background: #0D110E;
        font-size: 8px;
        font-weight: 650;
        line-height: 1;
        letter-spacing: .045em;
        text-transform: uppercase;
      }
      .cap-project-desktop-proof .cap-project-browser-top > strong {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        overflow: hidden;
        color: #C0C8BE;
        font-weight: 650;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .cap-project-desktop-proof .cap-project-browser-top > span {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        color: #667168;
        white-space: nowrap;
      }
      .cap-project-desktop-proof .cap-project-browser-top > em {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: #7B867C;
        font-style: normal;
        white-space: nowrap;
      }
      .cap-project-desktop-proof .cap-project-browser-top > em::before {
        display: block;
        width: 5px;
        height: 5px;
        flex: 0 0 5px;
        border-radius: 50%;
        content: "";
        background: #63CA38;
      }
      .cap-project-desktop-proof img,
      .cap-project-mobile-proof img { display: block; width: 100%; height: auto; max-width: 100%; }
      .cap-project-desktop-proof img { aspect-ratio: 1440 / 878; }
      .cap-project-mobile-proof img { aspect-ratio: 430 / 810; }

      /* Mobile proof follows the same browser-window language as Tablet/Desktop.
         The frame uses the full rail, while the real mobile capture stays compact and secondary. */
      .cap-project-mobile-proof {
        justify-self: center;
        width: clamp(220px, 64vw, 250px);
        box-shadow: 0 14px 34px rgba(0,0,0,.24);
        background: #0D110E;
      }
      .cap-project-mobile-proof .cap-project-browser-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        min-height: 38px;
        padding: 0 11px;
        border-bottom: 1px solid #29322A;
        color: #737D74;
        background: #0D110E;
        font-size: 8px;
        font-weight: 650;
        line-height: 1;
        letter-spacing: .055em;
        text-transform: uppercase;
      }
      .cap-project-mobile-proof img {
        width: 100%;
        margin: 0;
        background: #F7F8F5;
      }
      .cap-project-browser-top--adaptive > strong { color: #C0C8BE; font-weight: 650; white-space: nowrap; }
      .cap-project-adaptive-status { display: inline-flex; align-items: center; gap: 5px; color: #AEB8AD; font-style: normal; font-weight: 600; white-space: nowrap; }
      .cap-project-adaptive-status i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: #63CA38; }

      /* Navigation follows the proof and uses the same controls as the locked states. */
      .cap-projects-footer {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: 18px;
        padding: 0;
        border: 0;
      }
      .cap-projects-arrows { display: flex; gap: 8px; }
      .cap-projects-arrows button {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        padding: 0 0 1px;
        border: 1px solid #354036;
        border-radius: 50%;
        color: #DDE4DB;
        background: transparent;
        font: inherit;
        font-size: 15px;
        line-height: 1;
        cursor: pointer;
      }
      .cap-projects-footer a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #E7ECE5;
        font-size: 13px;
        font-weight: 560;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
      }
      .cap-projects-footer a b { color: #63CA38; font-size: 15px; font-weight: 560; }
      .cap-projects-arrows button:focus-visible,
      .cap-projects-footer a:focus-visible { outline: 3px solid #D2F7C2; outline-offset: 3px; }

      /* On Mobile the project selector belongs to the proof itself:
         copy -> selector -> Desktop proof -> Mobile proof -> footer. */
      .cap-projects-desktop {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
      }
      .cap-projects-slides { display: contents; }
      .cap-project-slide:not([hidden]) { display: contents; }
      .cap-project-slide-copy { order: 1; }
      .cap-projects-nav {
        order: 2;
        margin: 28px 0 8px;
      }
      .cap-project-slide-media {
        order: 3;
        margin-top: 0;
      }
      .cap-projects-footer { order: 4; }
    }

    @media (max-width: 359.98px) {
      .cap-projects-tabs { gap: 7px; }
      .cap-projects-tab { gap: 5px; }
      .cap-projects-tab strong { font-size: 10px; }
      .cap-project-mobile-proof { width: min(68vw, 210px); }
    }

    @media (min-width: 520px) and (max-width: 767.98px) {
      .cap-projects-nav { margin: 28px 0 8px; }
      .cap-project-slide-copy h4 { font-size: 36px; }
      .cap-project-slide-copy h5 { font-size: 30px; }
      .cap-project-slide-text { max-width: 42ch; }
      .cap-project-mobile-proof { width: clamp(240px, 42vw, 300px); }
    }


    /* Section 03 uses SVG geometry instead of platform arrow glyphs. */
    .capability-section .cap-project-slide-link::after { display: none !important; content: none !important; }
    .capability-section .cap-v7-svg-arrow { display:block; width:13px; height:13px; flex:0 0 13px; overflow:visible; color:#63CA38; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; transition:transform 180ms ease; }
    .capability-section .cap-project-slide-link:hover .cap-v7-svg-arrow, .capability-section .cap-project-slide-link:focus-visible .cap-v7-svg-arrow { transform:translate(2px,-2px); }
    .capability-section .cap-projects-footer a:hover .cap-v7-svg-arrow--right, .capability-section .cap-projects-footer a:focus-visible .cap-v7-svg-arrow--right { transform:translateX(2px); }
    .capability-section .cap-v10-tg-button .cap-v7-svg-arrow { width:11px; height:11px; flex-basis:11px; margin-left:5px; }


    .capability-section .cap-projects-arrows button { padding:0; }
    .capability-section .cap-v7-nav-arrow { display:block; width:14px; height:14px; color:currentColor; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
    .capability-section .cap-v7-reply-arrow { display:block; width:13px; height:13px; flex:0 0 13px; margin-right:5px; color:#63CA38; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }


    /* Mobile Projects only: compact editorial rhythm + full-width technical proof frame. */
    @media (max-width: 767.98px) {
      .capability-section.cap-v7 .cap-projects-nav {
        margin: 24px 0 10px;
      }
      .capability-section.cap-v7 .cap-project-slide-media {
        gap: 14px;
        margin-top: 0;
      }
      .capability-section.cap-v7 .cap-projects-footer {
        margin-top: 18px;
      }

      .capability-section.cap-v7 .cap-project-mobile-proof {
        justify-self: stretch;
        width: 100%;
        overflow: hidden;
        background-color: #0B0F0C;
        background-image:
          linear-gradient(rgba(99,202,56,.045) 1px, transparent 1px),
          linear-gradient(90deg, rgba(99,202,56,.045) 1px, transparent 1px),
          radial-gradient(circle at 78% 18%, rgba(99,202,56,.055), transparent 34%);
        background-size: 22px 22px, 22px 22px, 100% 100%;
        background-position: -1px -1px, -1px -1px, 0 0;
        box-shadow: 0 14px 34px rgba(0,0,0,.24);
      }
      .capability-section.cap-v7 .cap-project-mobile-proof .cap-project-browser-top {
        width: 100%;
        min-height: 38px;
        margin: 0;
      }
      .capability-section.cap-v7 .cap-project-mobile-proof img {
        display: block;
        width: clamp(220px, 52vw, 300px);
        max-width: calc(100% - 28px);
        height: auto;
        aspect-ratio: 430 / 810;
        margin: 18px auto;
        outline: 1px solid #303A31;
        background: #F7F8F5;
        box-shadow: 0 18px 38px rgba(0,0,0,.22);
      }
    }

    @media (max-width: 359.98px) {
      .capability-section.cap-v7 .cap-project-mobile-proof img {
        width: 210px;
        max-width: calc(100% - 24px);
        margin: 14px auto;
      }
    }


    /* Projects only: keep both project variants on one geometry so switching never shifts the proof. */
    .capability-section.cap-v7 .cap-project-desktop-proof > img {
      display: block;
      width: 100%;
      aspect-ratio: 1440 / 878;
      object-fit: contain;
      object-position: top center;
    }
    .capability-section.cap-v7 .cap-project-mobile-proof > img {
      display: block;
      aspect-ratio: 430 / 810;
      object-fit: contain;
      object-position: top center;
    }

    @media (min-width: 768px) {
      .capability-section.cap-v7 .cap-projects-slides {
        min-height: var(--cap-project-slides-lock, 0px);
      }
    }

    @media (max-width: 767.98px) {
      .capability-section.cap-v7 .cap-project-slide-copy {
        min-height: var(--cap-project-copy-lock, 0px);
      }
      .capability-section.cap-v7 .cap-project-slide-media {
        min-height: var(--cap-project-media-lock, 0px);
      }
    }


    /* Projects link micro-polish: all responsive versions. */
    .capability-section.cap-v7 .cap-project-slide-link {
      padding-bottom: 8px;
    }
    .capability-section.cap-v7 .cap-project-slide-link::after {
      content: none !important;
      display: none !important;
    }
    .capability-section.cap-v7 .cap-project-slide-link .cap-v7-svg-arrow {
      display: block;
      width: 11px;
      height: 11px;
      flex: 0 0 11px;
    }

/* Section 03 / final responsive opening guard — 2026-08-15 */

/* Section 03 / safe desktop opening balance — 2026-08-15 */

/* Calculator CTA: the result is now the endpoint; no contact sub-form is reserved. */
.cap-v13-calc-body { min-height: 0; }
.cap-v13-result-list + .cap-v13-request-button { margin-top: 22px; }

@media (max-width: 767.98px) {
  .cap-v13-result-list + .cap-v13-request-button { margin-top: 18px; }
}

/* Shared technical grid for the calculation and moderation signal rails. */
.cap-v13-calc-trace,
.cap-v10-review-trace {
  background:
    radial-gradient(circle at 50% 50%, rgba(99, 202, 56, .035), transparent 26%),
    linear-gradient(#111713 1px, transparent 1px),
    linear-gradient(90deg, #111713 1px, transparent 1px),
    #0B0F0C;
  background-size: auto, 48px 48px, 48px 48px, auto;
}

/* Let the centered technical field continue behind its signal labels. */
.cap-v13-calc-trace span,
.cap-v10-review-trace span { background: transparent; }

/* The signal crosses the label's center without a rectangular text backdrop. */
@media (min-width: 1025px) {
  .cap-v13-calc-trace::before,
  .cap-v10-review-trace::before {
    -webkit-mask-image: linear-gradient(to bottom, #000 0 calc(50% - 58px), transparent calc(50% - 58px) calc(50% + 58px), #000 calc(50% + 58px) 100%);
    mask-image: linear-gradient(to bottom, #000 0 calc(50% - 58px), transparent calc(50% - 58px) calc(50% + 58px), #000 calc(50% + 58px) 100%);
  }
  .cap-v10-review-trace i { display: none; }
}

@media (max-width: 1024px) {
  .cap-v13-calc-trace::before,
  .cap-v10-review-trace::before {
    -webkit-mask-image: linear-gradient(to right, #000 0 calc(50% - 64px), transparent calc(50% - 64px) calc(50% + 64px), #000 calc(50% + 64px) 100%);
    mask-image: linear-gradient(to right, #000 0 calc(50% - 64px), transparent calc(50% - 64px) calc(50% + 64px), #000 calc(50% + 64px) 100%);
  }
}

/* Section boundaries stay neutral; green remains a functional in-content signal. */
.cap-v7-opening::before { display: none; }

/* Desktop uses a compact three-line title; Tablet retains its approved two-line title. */
.cap-v7-title > .cap-v7-title-desktop { display: none; }
@media (min-width: 1025px) {
  .cap-v7-title > .cap-v7-title-desktop { display: block; }
}

/* Tablet keeps the Telegram proof in the same technical field as its signal rails. */
@media (min-width: 768px) and (max-width: 1024px) {
  .cap-v10-telegram-stage {
    background:
      radial-gradient(circle at 18% 22%, rgba(99, 202, 56, .035), transparent 26%),
      linear-gradient(#111713 1px, transparent 1px),
      linear-gradient(90deg, #111713 1px, transparent 1px),
      #0B0F0C;
    background-size: auto, 48px 48px, 48px 48px, auto;
  }

  /* Reviews uses the same horizontal signal rail as Calculator on Tablet. */
  .cap-v10-review-trace {
    min-height: 76px;
    border-color: #283129;
  }
  .cap-v10-review-trace i { display: none; }
  .cap-v10-review-trace span {
    padding: 7px 10px;
    color: #8B998C;
    font-size: 11px;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 767.98px) {
  /* Reviews uses the same horizontal signal rail as Calculator on Mobile. */
  .cap-v10-review-trace {
    min-height: 70px;
    border-color: #283129;
  }
  .cap-v10-review-trace i { display: none; }
  .cap-v10-review-trace span {
    padding: 7px 9px;
    color: #8B998C;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .09em;
    transform: translate(-50%, -50%);
  }
}


/* ================================================================
   Section 04 - USER-APPROVED / LOCKED.
   Do not modify without an explicit Section 04 task.
   ================================================================ */
/* Section 04 / Process — Desktop only */
.gw-process-section { display: none; }
.gw-process-mobile { display: none; }

/* Section 04 / Process — independent Mobile composition */
@media (max-width: 767.98px) {
  .gw-process-mobile {
    display: block;
    overflow: hidden;
    background: var(--paper, #F7F8F5);
    color: var(--ink, #101410);
    border-top: 1px solid var(--line, #DDE3DA);
  }

  .gw-process-mobile-shell {
    width: auto;
    margin: 0 clamp(20px, 5vw, 32px);
    padding: clamp(72px, 17vw, 88px) 0 0;
  }

  .gw-process-mobile-eyebrow,
  .gw-process-mobile-cta-eyebrow {
    margin: 0 0 18px;
    color: var(--green-deep, #3FAA1E);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-process-mobile-title {
    max-width: 14ch;
    margin: 0;
    font-size: clamp(32px, 9.5vw, 38px);
    font-weight: 560;
    line-height: 1.02;
    letter-spacing: -.048em;
  }

  .gw-process-mobile-lead {
    max-width: 34ch;
    margin: 18px 0 0;
    color: var(--muted, #4D574E);
    font-size: 16px;
    line-height: 1.56;
    letter-spacing: -.012em;
  }

  .gw-process-mobile-stages {
    position: relative;
    display: grid;
    gap: 0;
    margin: 52px 0 0;
    padding: 0;
    list-style: none;
  }

  .gw-process-mobile-stages::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px;
    width: 1px;
    content: "";
    background: var(--line-strong, #BFC9BB);
  }

  .gw-process-mobile-stage {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 20px;
    min-width: 0;
    padding: 0 0 52px;
  }

  .gw-process-mobile-stage:last-child { padding-bottom: 0; }

  .gw-process-mobile-stage:not(:last-child)::after {
    position: absolute;
    right: 0;
    bottom: 24px;
    left: 78px;
    height: 1px;
    content: "";
    background: var(--line, #DDE3DA);
  }

  .gw-process-mobile-marker {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 8px;
    color: var(--ink, #101410);
    font-size: 21px;
    font-weight: 560;
    line-height: 1;
    letter-spacing: -.05em;
  }

  .gw-process-mobile-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: var(--green-deep, #3FAA1E);
    background: var(--paper, #F7F8F5);
  }

  .gw-process-mobile-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-process-mobile-stage h3 {
    margin: 0;
    color: var(--ink, #101410);
    font-size: 22px;
    font-weight: 610;
    line-height: 1.18;
    letter-spacing: -.027em;
  }

  .gw-process-mobile-stage p {
    max-width: 34ch;
    margin: 14px 0 0;
    color: var(--muted, #4D574E);
    font-size: 14.5px;
    line-height: 1.5;
    letter-spacing: -.01em;
  }

  .gw-process-mobile-scene {
    width: 100vw;
    margin: 40px 0 0;
    margin-left: calc(50% - 50vw);
    padding: 0;
  }

  .gw-process-mobile-stage:first-child h3,
  .gw-process-mobile-stage:last-child h3 {
    font-size: 27px;
    line-height: 1.13;
  }

  .gw-process-mobile-stage:first-child .gw-process-mobile-marker,
  .gw-process-mobile-stage:last-child .gw-process-mobile-marker {
    color: var(--green-deep, #3FAA1E);
  }

  .gw-process-mobile-stage:last-child { padding-bottom: 18px; }

  .gw-process-mobile-scene img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    object-fit: contain;
  }

  .gw-process-mobile-cta {
    position: relative;
    margin-top: 64px;
    padding: 64px 0 80px;
    border-top: 1px solid var(--line-strong, #BFC9BB);
  }

  .gw-process-mobile-cta::before {
    position: absolute;
    z-index: 1;
    display: block;
    top: -1px;
    left: 0;
    width: 64px;
    height: 2px;
    content: "";
    background: var(--green, #61C835);
  }

  .gw-process-mobile-cta h3 {
    max-width: 11ch;
    margin: 0;
    color: var(--ink, #101410);
    font-size: clamp(30px, 8.4vw, 34px);
    font-weight: 550;
    line-height: 1.05;
    letter-spacing: -.043em;
  }

  .gw-process-mobile-cta-lead {
    max-width: 34ch;
    margin: 18px 0 0;
    color: var(--muted, #4D574E);
    font-size: 16px;
    line-height: 1.56;
  }

  .gw-process-mobile-form {
    display: grid;
    gap: 24px;
    margin-top: 40px;
  }

  .gw-process-mobile-form label {
    display: grid;
    gap: 9px;
    color: var(--quiet, #677168);
    font-size: 12px;
    font-weight: 560;
    line-height: 1.2;
    letter-spacing: .02em;
  }

  .gw-process-mobile-form input {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 13px 0 10px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    background: transparent;
    color: var(--ink, #101410);
    font: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    outline: 0;
  }

  .gw-process-mobile-form input::placeholder { color: var(--quiet, #677168); opacity: 1; }
  .gw-process-mobile-form input:focus-visible { border-bottom-color: var(--green-deep, #3FAA1E); box-shadow: 0 2px 0 var(--green-deep, #3FAA1E); }

  .gw-process-mobile-consent {
    max-width: 32ch;
    margin: -2px 0 0;
    color: #727A72;
    font-size: 11px;
    line-height: 1.5;
  }

  .gw-process-mobile-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-process-mobile-form .lifecycle-contact-mobile-submit {
    width: 100%;
    justify-self: stretch;
    min-height: 52px;
    margin-top: 0;
  }

  .gw-process-mobile-state {
    min-height: 16px;
    margin: -14px 0 0;
    color: var(--muted, #4D574E);
    font-size: 11px;
    line-height: 1.45;
  }

  .gw-process-mobile-state.is-error { color: #9C3D2D; }
  .gw-process-mobile-state.is-ready { color: var(--green-deep, #3FAA1E); }
}

@media (max-width: 359.98px) {
  .gw-process-mobile-shell { margin: 0 16px; padding-top: 64px; padding-bottom: 0; }
  .gw-process-mobile-scene { margin-top: 32px; }
  .gw-process-mobile-stages { margin-top: 44px; }
  .gw-process-mobile-stage { grid-template-columns: 36px minmax(0, 1fr); gap: 13px; padding-bottom: 36px; }
  .gw-process-mobile-stage h3 { font-size: 20px; }
  .gw-process-mobile-stage p { font-size: 14.5px; }
  .gw-process-mobile-scene { padding-top: 32px; }
  .gw-process-mobile-cta { margin-top: 44px; }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-process-mobile-cta { padding-top: 72px; }
}

/* Section 04 / Process — Tablet 768–1024 */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-section {
    display: block;
    background: var(--paper, #F7F8F5);
    color: var(--ink, #101410);
    padding: clamp(96px, 10vw, 104px) 0 0;
    border-top: 1px solid var(--line, #DDE3DA);
  }

  .gw-process-shell {
    width: min(calc(100% - 64px), 960px);
    margin: 0 auto;
  }

  .gw-process-top {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
  }

  .gw-process-intro {
    grid-column: 1 / 9;
    min-width: 0;
  }

  .gw-process-eyebrow {
    margin: 0 0 20px;
    color: var(--green-deep, #3FAA1E);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-process-title {
    max-width: 13.5em;
    margin: 0;
    font-size: clamp(48px, 6vw, 58px);
    font-weight: 560;
    line-height: .99;
    letter-spacing: -.052em;
  }

  .gw-process-lead {
    max-width: 620px;
    margin: 20px 0 0;
    color: var(--muted, #4D574E);
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: -.012em;
  }

  .gw-process-detail {
    grid-column: 1 / 9;
    min-width: 0;
    min-height: 0;
    margin: 48px 0 0;
    padding: 15px 0 0;
    position: relative;
    background: transparent;
    border-top: 1px solid var(--line-strong, #BFC9BB);
    border-radius: 0;
    box-shadow: none;
  }

  .gw-process-detail::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 34px;
    height: 2px;
    background: var(--green, #61C835);
  }

  .gw-process-detail-index {
    margin: 0 0 18px;
    color: var(--quiet, #677168);
    font-size: 10.5px;
    font-weight: 620;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-detail-title {
    margin: 0;
    font-size: 19px;
    font-weight: 610;
    line-height: 1.22;
    letter-spacing: -.022em;
  }

  .gw-process-detail-copy {
    max-width: 62ch;
    margin: 12px 0 0;
    color: var(--muted, #4D574E);
    font-size: 13.5px;
    line-height: 1.55;
  }

  .gw-process-rail {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 84px;
    border-top: 1px solid var(--line, #DDE3DA);
  }

  .gw-process-stage {
    position: relative;
    appearance: none;
    min-width: 0;
    min-height: 88px;
    margin: 0;
    padding: 20px 12px 18px 0;
    border: 0;
    background: transparent;
    color: var(--quiet, #677168);
    font: inherit;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: color 180ms ease;
  }

  .gw-process-stage::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--green, #61C835);
    transition: width 220ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-process-stage.is-active,
  .gw-process-stage:active {
    color: var(--ink, #101410);
  }

  .gw-process-stage.is-active::before,
  .gw-process-stage:active::before {
    width: 44px;
  }

  .gw-process-stage:focus-visible {
    outline: 2px solid var(--green, #61C835);
    outline-offset: 4px;
  }

  .gw-process-stage-icon {
    position: absolute;
    top: -36px;
    left: 0;
    display: block;
    width: 24px;
    height: 24px;
    margin: 0;
    color: var(--quiet, #677168);
    transition: color 180ms ease;
  }

  .gw-process-stage-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-process-stage.is-active .gw-process-stage-icon,
  .gw-process-stage:active .gw-process-stage-icon {
    color: var(--green-deep, #3FAA1E);
  }

  .gw-process-stage-num {
    display: block;
    margin-bottom: 9px;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-stage-name {
    display: block;
    max-width: 16ch;
    font-size: 13px;
    font-weight: 570;
    line-height: 1.28;
    letter-spacing: -.01em;
  }

  .gw-process-scene {
    position: relative;
    margin: 38px 0 0;
    padding: 12px 0 0;
    overflow: visible;
    border-bottom: 0;
  }

  .gw-process-scene::before {
    display: none;
  }

  .gw-process-scene img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    user-select: none;
  }

  .gw-process-scene-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0 0;
    color: var(--quiet, #677168);
    font-size: 9.5px;
    font-weight: 620;
    line-height: 1.15;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gw-process-cta {
    position: relative;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
    margin-top: 56px;
    padding: 80px 0 96px;
    border-top: 1px solid var(--line-strong, #BFC9BB);
  }

  .gw-process-cta::before {
    position: absolute;
    z-index: 1;
    display: block;
    top: -1px;
    left: 0;
    width: clamp(64px, 7.8vw, 80px);
    height: 2px;
    content: "";
    background: var(--green, #61C835);
  }

  .gw-process-cta > * {
    min-width: 0;
  }

  .gw-process-cta > :first-child {
    grid-column: 1 / 4;
  }

  .gw-process-cta-eyebrow {
    margin: 0 0 14px;
    color: var(--green-deep, #3FAA1E);
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-cta-title {
    margin: 0;
    color: var(--ink, #101410);
    font-size: clamp(34px, 4.6vw, 42px);
    font-weight: 550;
    line-height: 1.02;
    letter-spacing: -.043em;
  }

  .gw-process-cta-lead {
    max-width: 30ch;
    margin: 14px 0 0;
    color: var(--muted, #4D574E);
    font-size: 14.5px;
    font-weight: 410;
    line-height: 1.52;
    letter-spacing: -.006em;
  }

  .gw-process-cta-form {
    grid-column: 4 / 9;
    display: grid;
    width: min(100%, 620px);
    justify-self: end;
    gap: 24px;
  }

  .gw-process-cta-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .gw-process-cta-field {
    display: grid;
    gap: 12px;
    color: var(--quiet, #677168);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-process-cta-field input {
    width: 100%;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    background: transparent;
    color: var(--ink, #101410);
    font: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    outline: none;
  }

  .gw-process-cta-field input::placeholder {
    color: #98A198;
    opacity: 1;
  }

  .gw-process-cta-field input:focus-visible {
    border-bottom-color: var(--green-deep, #3FAA1E);
  }

  .gw-process-cta-submit-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
  }

  .gw-process-cta-submit {
    grid-column: 2;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    gap: 12px;
    min-height: 52px;
    padding: 0 12px 0 16px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: var(--green, #61C835);
    color: var(--black, #0A0D0A);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 1px 0 rgba(16, 20, 16, .035);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    cursor: pointer;
  }

  .gw-process-cta-submit:active {
    background: #56BC30;
  }

  .gw-process-cta-submit .action-arrow {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16, 20, 16, .22);
    border-radius: 7px;
  }

  .gw-process-cta-submit:focus-visible {
    outline: 1px solid var(--ink, #101410);
    outline-offset: 3px;
  }

  .gw-process-cta-consent {
    grid-column: 1;
    grid-row: 1;
    max-width: 30ch;
    margin: 2px 0 0;
    color: var(--quiet, #677168);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .gw-process-cta-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }


  .gw-process-cta-state {
    min-height: 16px;
    margin: -4px 0 0;
    color: var(--muted, #4D574E);
    font-size: 10.5px;
  }

  .gw-process-cta-state.is-error { color: #9C3D2D; }
  .gw-process-cta-state.is-ready { color: var(--green-deep, #3FAA1E); }

  .gw-process-section[data-gw-motion] .gw-process-eyebrow,
  .gw-process-section[data-gw-motion] .gw-process-title,
  .gw-process-section[data-gw-motion] .gw-process-lead,
  .gw-process-section[data-gw-motion] .gw-process-detail,
  .gw-process-section[data-gw-motion] .gw-process-rail,
  .gw-process-section[data-gw-motion] .gw-process-scene,
  .gw-process-cta[data-gw-motion] {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

@media (min-width: 768px) and (max-width: 839px) {
  .gw-process-section {
    padding-top: 88px;
    padding-bottom: 0;
  }

  .gw-process-rail {
    margin-top: 76px;
  }

  .gw-process-stage {
    min-height: 92px;
    padding-right: 8px;
  }

  .gw-process-stage-icon {
    top: -34px;
    width: 22px;
    height: 22px;
  }

  .gw-process-stage.is-active::before,
  .gw-process-stage:active::before {
    width: 40px;
  }

  .gw-process-stage-name {
    max-width: 14ch;
    font-size: 12.5px;
    line-height: 1.26;
  }

  .gw-process-cta-submit-row {
    grid-template-columns: minmax(0, 1fr) minmax(226px, 1.2fr);
    column-gap: 20px;
  }

  .gw-process-cta-fields {
    grid-template-columns: minmax(0, 1fr) minmax(226px, 1.2fr);
  }

}

@media (min-width: 960px) and (max-width: 1024px) {
  .gw-process-intro {
    grid-column: 1 / 6;
  }

  .gw-process-detail {
    grid-column: 6 / 9;
    align-self: end;
    margin-top: 0;
  }

  .gw-process-detail-copy {
    max-width: none;
  }
}

@media (min-width: 1025px) {
  .gw-process-section {
    display: block;
    background: var(--paper, #F7F8F5);
    color: var(--ink, #101410);
    padding: 128px 0 0;
    border-top: 1px solid var(--line, #DDE3DA);
  }

  .gw-process-shell {
    width: min(calc(100% - 64px), 1312px);
    margin: 0 auto;
  }

  .gw-process-top {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    align-items: start;
  }

  .gw-process-intro { grid-column: 1 / 9; }

  .gw-process-eyebrow {
    margin: 0 0 24px;
    color: var(--green-deep, #3FAA1E);
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-process-title {
    max-width: 880px;
    margin: 0;
    font-size: clamp(58px, 4.4vw, 76px);
    font-weight: 560;
    line-height: .98;
    letter-spacing: -.055em;
  }

  .gw-process-lead {
    max-width: 640px;
    margin: 24px 0 0;
    color: var(--muted, #4D574E);
    font-size: 19px;
    line-height: 1.55;
    letter-spacing: -.015em;
  }

  .gw-process-detail {
    grid-column: 9 / 13;
    align-self: end;
    min-height: 0;
    margin: 0;
    padding: 16px 0 0;
    position: relative;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid var(--line-strong, #BFC9BB);
    clip-path: none;
  }

  .gw-process-detail::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 36px;
    height: 2px;
    background: var(--green, #61C835);
  }

  .gw-process-detail-index {
    margin: 0 0 24px;
    color: var(--quiet, #677168);
    font-size: 11px;
    font-weight: 620;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-detail-title {
    margin: 0;
    font-size: 21px;
    font-weight: 610;
    line-height: 1.2;
    letter-spacing: -.025em;
  }

  .gw-process-detail-copy {
    margin: 16px 0 0;
    color: var(--muted, #4D574E);
    font-size: 14px;
    line-height: 1.56;
  }

  .gw-process-rail {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 104px;
    border-top: 1px solid var(--line, #DDE3DA);
  }

  .gw-process-stage {
    position: relative;
    appearance: none;
    min-width: 0;
    margin: 0;
    padding: 24px 24px 24px 0;
    border: 0;
    background: transparent;
    color: var(--quiet, #677168);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color 320ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-process-stage::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--green, #61C835);
    transition: width 520ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-process-stage.is-active::before { width: 56px; }
  .gw-process-stage.is-active { color: var(--ink, #101410); }

  @media (hover: hover) and (pointer: fine) {
    .gw-process-stage:hover { color: var(--ink, #101410); }
    .gw-process-stage:hover::before { width: 56px; }
    .gw-process-stage:hover .gw-process-stage-icon { color: var(--green-deep, #3FAA1E); }
  }

  .gw-process-stage:focus-visible {
    outline: 2px solid var(--green, #61C835);
    outline-offset: 5px;
  }

  .gw-process-stage-icon {
    position: absolute;
    top: -42px;
    left: 0;
    display: block;
    width: 30px;
    height: 30px;
    margin: 0;
    color: var(--quiet, #677168);
    transition: color 320ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-process-stage-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-process-stage.is-active .gw-process-stage-icon { color: var(--green-deep, #3FAA1E); }

  .gw-process-stage-num {
    display: block;
    margin-bottom: 10px;
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-stage-name {
    display: block;
    max-width: 18ch;
    font-size: 14px;
    font-weight: 570;
    line-height: 1.3;
    letter-spacing: -.01em;
  }

  .gw-process-scene {
    position: relative;
    margin: 48px 0 0;
    padding: 16px 0 0;
    overflow: visible;
    border-bottom: 0;
  }

  .gw-process-scene::before {
    display: none;
  }

  .gw-process-scene img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: initial;
    user-select: none;
  }

  .gw-process-cta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 24px;
    align-items: start;
    margin-top: 64px;
    padding: 80px 0 96px;
    border-top: 1px solid var(--line-strong, #BFC9BB);
  }

  .gw-process-cta::before {
    position: absolute;
    z-index: 1;
    display: block;
    top: -1px;
    left: 0;
    width: 80px;
    height: 2px;
    content: "";
    background: var(--green, #61C835);
  }

  .gw-process-cta-eyebrow {
    margin: 0 0 16px;
    color: var(--green-deep, #3FAA1E);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-process-cta-title {
    margin: 0;
    color: var(--ink, #101410);
    font-size: clamp(42px, 3.7vw, 52px);
    font-weight: 550;
    line-height: 1.015;
    letter-spacing: -.045em;
  }

  .gw-process-cta-lead {
    max-width: 430px;
    margin: 16px 0 0;
    color: var(--muted, #4D574E);
    font-size: 16px;
    font-weight: 410;
    line-height: 1.55;
    letter-spacing: -.008em;
  }

  .gw-process-cta-form {
    display: grid;
    width: min(100%, 620px);
    justify-self: end;
    gap: 24px;
  }

  .gw-process-cta-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .gw-process-cta-field {
    display: grid;
    gap: 12px;
    color: var(--quiet, #677168);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-process-cta-field input {
    width: 100%;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    background: transparent;
    color: var(--ink, #101410);
    font: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    outline: none;
  }

  .gw-process-cta-field input::placeholder { color: var(--quiet, #677168); opacity: 1; }
  .gw-process-cta-field input:focus-visible { border-bottom-color: var(--green-deep, #3FAA1E); }

  .gw-process-cta-submit-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    align-items: start;
  }

  .gw-process-cta-submit {
    grid-column: 2;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: 204px;
    min-height: 52px;
    padding: 0 16px 0 20px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: var(--green, #61C835);
    color: var(--black, #0A0D0A);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 1px 0 rgba(16, 20, 16, .035);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  }

  .gw-process-cta-submit:hover {
    background: #56BC30;
    border-color: #429B24;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 5px 14px rgba(16, 20, 16, .08);
    transform: translateY(-1px);
  }
  .gw-process-cta-submit .action-arrow {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16, 20, 16, .22);
    border-radius: 7px;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
  }
  .gw-process-cta-submit:hover .action-arrow { transform: translate(2px, -1px); }
  .gw-process-cta-submit:active { transform: translateY(0); }
  .gw-process-cta-submit:focus-visible { outline: 1px solid var(--ink, #101410); outline-offset: 3px; }

  .gw-process-cta-consent {
    grid-column: 1;
    grid-row: 1;
    max-width: 30ch;
    margin: 2px 0 0;
    color: var(--quiet, #677168);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .gw-process-cta-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-process-cta-state { min-height: 16px; margin: -6px 0 0; color: var(--muted, #4D574E); font-size: 11px; }
  .gw-process-cta-state.is-error { color: #9C3D2D; }
  .gw-process-cta-state.is-ready { color: var(--green-deep, #3FAA1E); }

  .gw-process-scene-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0 0;
    color: var(--quiet, #677168);
    font-size: 10px;
    font-weight: 620;
    line-height: 1;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  @keyframes gw-process-enter {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .gw-process-section[data-gw-motion="pending"] .gw-process-eyebrow,
  .gw-process-section[data-gw-motion="pending"] .gw-process-title,
  .gw-process-section[data-gw-motion="pending"] .gw-process-lead,
  .gw-process-section[data-gw-motion="pending"] .gw-process-detail,
  .gw-process-section[data-gw-motion="pending"] .gw-process-rail,
  .gw-process-section[data-gw-motion="pending"] .gw-process-scene {
    opacity: 0;
    transform: translateY(12px);
  }

  .gw-process-section[data-gw-motion="revealed"] .gw-process-eyebrow,
  .gw-process-section[data-gw-motion="revealed"] .gw-process-title,
  .gw-process-section[data-gw-motion="revealed"] .gw-process-lead,
  .gw-process-section[data-gw-motion="revealed"] .gw-process-detail,
  .gw-process-section[data-gw-motion="revealed"] .gw-process-rail,
  .gw-process-section[data-gw-motion="revealed"] .gw-process-scene {
    animation: gw-process-enter 480ms cubic-bezier(.2,.8,.2,1) both;
  }

  .gw-process-section[data-gw-motion="revealed"] .gw-process-title { animation-delay: 70ms; }
  .gw-process-section[data-gw-motion="revealed"] .gw-process-lead { animation-delay: 140ms; }
  .gw-process-section[data-gw-motion="revealed"] .gw-process-detail { animation-delay: 210ms; }
  .gw-process-section[data-gw-motion="revealed"] .gw-process-rail { animation-delay: 290ms; }
  .gw-process-section[data-gw-motion="revealed"] .gw-process-scene { animation-delay: 370ms; }

  .gw-process-detail-index,
  .gw-process-detail-title,
  .gw-process-detail-copy {
    transition: opacity 220ms ease, transform 320ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-process-detail.is-updating .gw-process-detail-index,
  .gw-process-detail.is-updating .gw-process-detail-title,
  .gw-process-detail.is-updating .gw-process-detail-copy {
    opacity: 0;
    transform: translateY(8px);
  }

  .gw-process-cta[data-gw-motion="pending"] {
    opacity: 0;
    transform: translateY(10px);
  }

  .gw-process-cta[data-gw-motion="revealed"] {
    animation: gw-process-enter 460ms cubic-bezier(.2,.8,.2,1) both;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  .gw-process-section { padding-top: 96px; }
  .gw-process-intro { grid-column: 1 / 9; }
  .gw-process-detail { grid-column: 9 / 13; }
  .gw-process-title { font-size: 58px; }
  .gw-process-lead { font-size: 17px; }
  .gw-process-rail { margin-top: 88px; }
  .gw-process-stage { padding-right: 16px; }
}

@media (min-width: 1536px) and (max-width: 1679px) {
  .gw-process-title { font-size: 67px; }
}

@media (prefers-reduced-motion: reduce) {
  .gw-process-section *,
  .gw-process-section *::before {
    animation: none !important;
    transition: none !important;
  }

  .gw-process-section[data-gw-motion] .gw-process-eyebrow,
  .gw-process-section[data-gw-motion] .gw-process-title,
  .gw-process-section[data-gw-motion] .gw-process-lead,
  .gw-process-section[data-gw-motion] .gw-process-detail,
  .gw-process-section[data-gw-motion] .gw-process-rail,
  .gw-process-section[data-gw-motion] .gw-process-scene,
  .gw-process-cta[data-gw-motion] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Production deploy trigger after Section 04 integration. */

/* ====================== END LOCKED SECTION 04 ====================== */
/* Section 04 / visual spacing refinement — 2026-08-16 */
@media (min-width: 1025px) {
  .gw-process-scene {
    margin-top: 32px;
    padding-top: 0;
  }

  .gw-process-scene img {
    width: min(87%, 1140px);
    max-width: 100%;
    margin-inline: auto;
  }

  .gw-process-cta {
    margin-top: 48px;
    padding-top: 72px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-scene {
    margin-top: 38px;
    padding-top: 0;
  }

  .gw-process-cta {
    margin-top: 48px;
  }
}

@media (max-width: 767.98px) {
  .gw-process-mobile-scene {
    margin-top: 32px;
    padding-top: 0;
  }
}


/* ================================================================
   Section 05 — Desktop V1 / Budget orientation
   Desktop only. Tablet and Mobile will be designed separately.
   ================================================================ */
.gw-budget-v1 {
  display: none;
}

@media (min-width: 1025px) {
  .gw-budget-v1 {
    display: block;
    position: relative;
    background: var(--paper);
    color: var(--ink);
    border-top: 0;
  }

  .gw-budget-v1-shell {
    width: min(calc(100% - 64px), 1312px);
    margin-inline: auto;
    padding: 136px 0 164px;
  }

  .gw-budget-v1-opening {
    padding-bottom: 76px;
  }

  .gw-budget-v1-eyebrow {
    margin: 0 0 26px;
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-budget-v1-intro {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
    gap: 24px;
    align-items: end;
  }

  .gw-budget-v1-title {
    max-width: 820px;
    margin: 0;
    font-size: clamp(48px, 4.35vw, 68px);
    font-weight: 590;
    line-height: .98;
    letter-spacing: -.045em;
  }

  .gw-budget-v1-intro-copy {
    max-width: 420px;
    justify-self: end;
    padding-bottom: 4px;
  }

  .gw-budget-v1-intro-copy > p:first-child {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.55;
  }

  .gw-budget-v1-guardrail {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 22px 0 0;
    color: var(--quiet);
    font-size: 13px;
    line-height: 1.5;
  }

  .gw-budget-v1-guardrail > span {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-top: .5em;
    border-radius: 50%;
    background: var(--green);
  }

  .gw-budget-v1-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(320px, 4fr);
    gap: 88px;
    align-items: start;
  }

  .gw-budget-v1-config {
    min-width: 0;
  }

  .gw-budget-v1-step {
    padding: 0 0 66px;
  }

  .gw-budget-v1-step + .gw-budget-v1-step {
    padding-top: 58px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-step-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 30px;
  }

  .gw-budget-v1-step-index {
    padding-top: 4px;
    color: var(--green-deep);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
  }

  .gw-budget-v1-step-head h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 620;
    line-height: 1.18;
    letter-spacing: -.022em;
  }

  .gw-budget-v1-step-head p {
    max-width: 610px;
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
  }

  .gw-budget-v1-choices {
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-choice {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 28px;
    gap: 18px;
    align-items: center;
    width: 100%;
    min-height: 88px;
    padding: 18px 14px 18px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .18s ease, padding-left .18s ease;
  }

  .gw-budget-v1-choice::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: transparent;
    transition: background-color .18s ease;
  }

  .gw-budget-v1-choice:hover {
    background: rgba(255,255,255,.46);
  }

  .gw-budget-v1-choice:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v1-choice.is-selected {
    padding-left: 16px;
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v1-choice.is-selected::before {
    background: var(--green);
  }

  .gw-budget-v1-choice-index {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .06em;
  }

  .gw-budget-v1-choice-copy {
    display: grid;
    gap: 5px;
  }

  .gw-budget-v1-choice-copy strong {
    font-size: 17px;
    font-weight: 610;
    line-height: 1.25;
  }

  .gw-budget-v1-choice-copy small {
    max-width: 620px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 430;
    line-height: 1.45;
  }

  .gw-budget-v1-choice-mark {
    position: relative;
    width: 18px;
    height: 18px;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark {
    border-color: var(--green-deep);
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--green);
  }

  .gw-budget-v1-choices.is-disabled {
    min-height: 88px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-await {
    margin: 0;
    padding: 24px 0;
    color: var(--quiet);
    font-size: 14px;
    line-height: 1.5;
  }

  .gw-budget-v1-included {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, .82fr);
    gap: 34px;
    padding-top: 34px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-included > div {
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }

  .gw-budget-v1-included p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .gw-budget-v1-included strong {
    color: var(--ink);
    font-weight: 610;
  }

  .gw-budget-v1-included-mark {
    display: grid;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    place-items: center;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 800;
  }

  .gw-budget-v1-direct {
    padding-left: 24px;
    border-left: 1px solid var(--line);
  }

  .gw-budget-v1-summary {
    position: relative;
    min-width: 0;
  }

  .gw-budget-v1-summary-inner {
    position: sticky;
    top: 104px;
    padding: 28px 0 0 30px;
    border-top: 1px solid var(--ink);
    border-left: 1px solid var(--line);
  }

  .gw-budget-v1-summary-label {
    margin: 0;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gw-budget-v1-price {
    margin: 18px 0 0;
    color: var(--ink);
    font-size: clamp(34px, 3vw, 46px);
    font-weight: 640;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
  }

  .gw-budget-v1-summary.is-ready .gw-budget-v1-price {
    color: var(--green-deep);
  }

  .gw-budget-v1-price-note {
    max-width: 340px;
    margin: 13px 0 0;
    color: var(--quiet);
    font-size: 13px;
    line-height: 1.5;
  }

  .gw-budget-v1-summary-list {
    margin: 38px 0 0;
  }

  .gw-budget-v1-summary-list > div {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    padding: 15px 0;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-summary-list > div:last-child {
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-summary-list dt {
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-list dd {
    margin: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 560;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-meaning {
    padding: 28px 0 0;
  }

  .gw-budget-v1-summary-meaning-label {
    margin: 0 0 9px;
    color: var(--quiet);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-budget-v1-summary-meaning > p:last-child {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
  }

  .gw-budget-v1-summary-note {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-top: 26px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-summary-note > span {
    color: var(--green-deep);
    font-size: 13px;
    font-weight: 800;
  }

  .gw-budget-v1-summary-note p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
  }

  .gw-budget-v1-cta {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 24px;
    padding: 0 16px 0 20px;
    border: 0;
    border-radius: 10px;
    background: var(--green);
    color: var(--black);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color .16s ease, opacity .18s ease, transform .1s ease;
  }

  .gw-budget-v1-cta .action-arrow {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
  }

  .gw-budget-v1-cta:not(:disabled):hover { background: #58BE31; }

  .gw-budget-v1-cta:not(:disabled):active {
    background: #4FB42A;
    transform: scale(.985);
  }

  .gw-budget-v1-cta:focus-visible {
    outline: 3px solid var(--green-deep);
    outline-offset: 2px;
  }

  .gw-budget-v1-cta:disabled {
    opacity: .36;
    cursor: not-allowed;
  }

  .gw-budget-v1-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 520;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-budget-v1-phone svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
  }

  .gw-budget-v1-phone:hover { color: var(--ink); }
  .gw-budget-v1-phone:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-budget-v1-choice,
  .gw-budget-v1-choice::before,
  .gw-budget-v1-cta {
    transition: none;
  }
}

/* ====================== END SECTION 05 DESKTOP V1 ====================== */


/* Section 05 / Desktop V1 — title/copy optical alignment + lifecycle-style sticky summary. */
@media (min-width: 1025px) {
  .gw-budget-v1-intro {
    align-items: start;
  }

  .gw-budget-v1-intro-copy {
    align-self: start;
    padding-top: 8px;
    padding-bottom: 0;
  }

  .gw-budget-v1-summary {
    align-self: stretch;
  }
}


/* Section 05 / right-column contact handoff, aligned with the approved form language. */
@media (min-width: 1025px) {
  .gw-budget-v1-contact {
    display: grid;
    gap: 18px;
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-contact-field {
    display: grid;
    gap: 7px;
    min-width: 0;
  }

  .gw-budget-v1-contact-field > span {
    color: var(--quiet);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .02em;
  }

  .gw-budget-v1-contact-field input {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 0 9px;
    border: 0;
    border-bottom: 1px solid var(--line-strong);
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -.02em;
  }

  .gw-budget-v1-contact-field input::placeholder {
    color: #98A198;
    opacity: 1;
  }

  .gw-budget-v1-contact-field input:focus-visible {
    border-bottom-color: var(--green-deep);
    box-shadow: 0 2px 0 var(--green-deep);
  }

  .gw-budget-v1-consent {
    max-width: none;
    margin: 2px 0 0;
    color: #7d827b;
    font-size: 10.5px;
    font-weight: 470;
    line-height: 1.42;
    letter-spacing: -.006em;
    white-space: nowrap;
  }

  .gw-budget-v1-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-budget-v1-consent a:hover {
    color: var(--ink);
  }

  .gw-budget-v1-contact .gw-budget-v1-cta {
    min-height: 46px;
    margin-top: 0;
    padding: 0 13px 0 16px;
    border-radius: 8px;
    background: var(--green);
    color: var(--black);
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: -.015em;
    transition: background-color .2s ease, transform .2s ease;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:not(:disabled):hover {
    background: #72D948;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:not(:disabled):active {
    background: var(--green);
    transform: translateY(1px);
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:focus-visible {
    outline: 1px solid var(--ink);
    outline-offset: 3px;
  }

  .gw-budget-v1-contact .gw-budget-v1-phone {
    margin-top: -4px;
  }
}

/* FORM TYPOGRAPHY MASTER SYNC — 2026-08-16 */
@media (min-width: 1025px) {
  .lifecycle-contact-field,
  .gw-budget-v1-contact-field { gap: 12px; }

  .lifecycle-contact-field label,
  .gw-budget-v1-contact-field > span {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .lifecycle-contact-field input,
  .gw-budget-v1-contact-field input {
    min-height: 52px;
    padding: 0 0 14px;
    border-bottom-color: #7D897B;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .lifecycle-contact-field input::placeholder,
  .gw-budget-v1-contact-field input::placeholder {
    color: var(--quiet);
    opacity: 1;
  }

  .lifecycle-contact-consent,
  .gw-budget-v1-consent {
    margin: 2px 0 0;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .gw-budget-v1-consent {
    max-width: none;
    white-space: nowrap;
  }

  .lifecycle-contact-submit,
  .gw-budget-v1-contact .gw-budget-v1-cta {
    min-height: 52px;
    padding: 0 16px 0 20px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta {
    border: 1px solid rgba(16, 20, 16, .16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
  }

  .gw-budget-v1-contact .gw-budget-v1-cta .action-arrow {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:not(:disabled):hover {
    background: #56BC30;
    border-color: #429B24;
    transform: translateY(-1px);
  }

  .gw-process-section-end {
    display: block !important;
    position: relative;
    width: 100%;
    height: 1px;
    margin-top: 48px;
    border: 0;
    border-top: 1px solid var(--line-strong, #BFC9BB) !important;
  }

  .gw-process-section-end::before {
    display: block !important;
    position: absolute;
    top: -1px;
    left: 0;
    width: 80px;
    height: 2px;
    content: "" !important;
    background: var(--green, #61C835);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-section-end {
    display: block !important;
    position: relative;
    height: 1px;
    margin-top: 48px;
    border-top: 1px solid var(--line-strong, #BFC9BB) !important;
  }
  .gw-process-section-end::before {
    display: block !important;
    position: absolute;
    top: -1px;
    left: 0;
    width: clamp(64px, 7.8vw, 80px);
    height: 2px;
    content: "" !important;
    background: var(--green, #61C835);
  }
}

@media (max-width: 767.98px) {
  .gw-process-mobile-end {
    display: block !important;
    position: relative;
    height: 1px;
    margin-top: 64px;
    border-top: 1px solid var(--line-strong, #BFC9BB) !important;
  }
  .gw-process-mobile-end::before {
    display: block !important;
    position: absolute;
    top: -1px;
    left: 0;
    width: 64px;
    height: 2px;
    content: "" !important;
    background: var(--green, #61C835);
  }
}
/* END FORM TYPOGRAPHY MASTER SYNC — 2026-08-16 */

/* Section 04 -> 05 final divider correction. */
@media (min-width: 1025px) {
  .gw-budget-v1::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    width: min(calc(100% - 64px), 1312px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(to right, var(--green) 0 80px, var(--line-strong) 80px 100%);
    pointer-events: none;
  }
  .gw-budget-v1-contact { border-top: 0; }
}



/* Section 05 / transition + summary-form rhythm refinement — 2026-08-16 */
@media (min-width: 1025px) {
  /* Keep the approved 04 illustration calm: air before the handoff rule, then a shorter editorial pause before 05 copy. */
  .gw-budget-v1 {
    margin-top: 72px;
  }

  .gw-budget-v1-shell {
    padding-top: 104px;
  }

  /* SEO note and contact form belong to one handoff group, not two distant blocks. */
  .gw-budget-v1-contact {
    margin-top: 16px;
    padding-top: 8px;
  }
}

/* Section 04 responsive end rhythm after CTA removal — 2026-08-16. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-section {
    padding-bottom: 88px;
  }
}

@media (max-width: 767.98px) {
  .gw-process-mobile-shell {
    padding-bottom: 72px;
  }
}

/* Section 05 V2 / custom project brief branch — 2026-08-16 */
@media (min-width: 1025px) {
  .gw-budget-v1-step[hidden],
  .gw-budget-v2-custom[hidden],
  .gw-budget-v1-summary-list [hidden] {
    display: none !important;
  }

  .gw-budget-v2-custom {
    padding: 0 0 66px;
  }

  .gw-budget-v2-custom-body {
    display: grid;
    gap: 24px;
    padding-top: 28px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v2-custom-field {
    display: grid;
    gap: 10px;
    min-width: 0;
  }

  .gw-budget-v2-custom-field > span,
  .gw-budget-v2-upload-title {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-budget-v2-custom-field textarea {
    width: 100%;
    min-height: 156px;
    padding: 10px 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    resize: vertical;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
  }

  .gw-budget-v2-custom-field textarea::placeholder {
    color: var(--quiet);
    opacity: 1;
  }

  .gw-budget-v2-custom-field textarea:focus-visible {
    border-bottom-color: var(--green-deep);
    box-shadow: 0 2px 0 var(--green-deep);
  }

  .gw-budget-v2-upload {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr);
    gap: 18px 24px;
    align-items: center;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v2-upload input[type="file"] {
    min-width: 0;
    color: var(--muted);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.4;
  }

  .gw-budget-v2-upload input[type="file"]::file-selector-button {
    min-height: 42px;
    margin-right: 14px;
    padding: 0 14px;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 13px;
    font-weight: 560;
    cursor: pointer;
  }

  .gw-budget-v2-upload input[type="file"]::file-selector-button:hover {
    border-color: var(--green-deep);
  }

  .gw-budget-v2-upload small {
    grid-column: 2;
    margin-top: -12px;
    overflow: hidden;
    color: var(--quiet);
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gw-budget-v2-custom-hint {
    margin: -4px 0 0;
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.5;
  }

  .gw-budget-v1-summary.is-custom .gw-budget-v1-price {
    max-width: 9ch;
  }
}
/* END Section 05 V2 custom project brief branch */


/* Section 05 V2 / brief drag-and-drop refinement — 2026-08-16 */
@media (min-width: 1025px) {
  .gw-budget-v2-upload {
    position: relative;
    grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr);
    min-height: 112px;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease;
  }

  .gw-budget-v2-upload-action {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .gw-budget-v2-upload-action strong {
    color: var(--ink);
    font-weight: 560;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-budget-v2-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
  }

  .gw-budget-v2-upload small {
    grid-column: 2;
    margin-top: -12px;
  }

  .gw-budget-v2-upload:hover,
  .gw-budget-v2-upload.is-dragover,
  .gw-budget-v2-upload:focus-within {
    border-top-color: var(--green-deep);
    border-bottom-color: var(--green-deep);
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v2-upload.is-dragover .gw-budget-v2-upload-action strong {
    color: var(--green-deep);
  }
}
/* END Section 05 V2 brief drag-and-drop refinement */


/* Section 05 V2 / multi-file brief + optional services after launch — 2026-08-16 */
@media (min-width: 1025px) {
  .gw-budget-v1-included { grid-template-columns: minmax(0, 1fr); }

  .gw-budget-v2-upload { outline: 0; }
  .gw-budget-v2-upload:focus-visible {
    border-top-color: var(--green-deep);
    border-bottom-color: var(--green-deep);
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v2-files { margin-top: -8px; border-bottom: 1px solid var(--line); }
  .gw-budget-v2-files[hidden] { display: none !important; }

  .gw-budget-v2-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 0 10px;
    color: var(--quiet);
    font-size: 11px;
    line-height: 1.4;
  }

  .gw-budget-v2-files-clear,
  .gw-budget-v2-file-remove {
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 11px;
    font-weight: 560;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-budget-v2-files-clear:hover,
  .gw-budget-v2-file-remove:hover { color: var(--green-deep); }

  .gw-budget-v2-files-clear:focus-visible,
  .gw-budget-v2-file-remove:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v2-file-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gw-budget-v2-file-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 44px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-file-name {
    overflow: hidden;
    color: var(--ink);
    font-size: 12px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gw-budget-v2-after {
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v2-after-head {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr);
    gap: 24px;
    align-items: start;
  }

  .gw-budget-v2-after-head h3 {
    margin: 0;
    color: var(--ink);
    font-size: 18px;
    font-weight: 590;
    line-height: 1.25;
    letter-spacing: -.02em;
  }

  .gw-budget-v2-after-head p {
    max-width: 48ch;
    margin: 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.55;
  }

  .gw-budget-v2-after-options {
    margin-top: 22px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-after-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: 100%;
    min-height: 68px;
    margin: 0;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }

  .gw-budget-v2-after-option:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 4px;
  }

  .gw-budget-v2-after-mark {
    position: relative;
    display: block;
    width: 15px;
    height: 15px;
    margin-top: 2px;
    border: 1px solid #7D897B;
    background: transparent;
    transition: border-color .16s ease, background-color .16s ease;
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark {
    border-color: var(--green-deep);
    background: var(--green);
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 3px;
    border-bottom: 1.5px solid var(--black);
    border-left: 1.5px solid var(--black);
    content: "";
    transform: rotate(-45deg);
  }

  .gw-budget-v2-after-copy { display: grid; gap: 5px; }
  .gw-budget-v2-after-copy strong {
    color: var(--ink);
    font-size: 14px;
    font-weight: 590;
    line-height: 1.35;
  }

  .gw-budget-v2-after-copy small {
    max-width: 58ch;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }

  .gw-budget-v2-after-option:hover .gw-budget-v2-after-copy strong { color: var(--green-deep); }
}
/* END Section 05 V2 multi-file + after-launch controls */

/* Section 05 / Tablet 768–1024 — 2026-08-17
   Independent Tablet composition. Desktop >=1025 remains locked; Mobile <768 remains untouched. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-budget-v1 {
    display: block;
    position: relative;
    margin: 0;
    overflow: hidden;
    background: var(--paper);
    color: var(--ink);
    border-top: 0;
  }

  .gw-budget-v1-shell {
    width: min(calc(100% - 64px), 960px);
    margin-inline: auto;
    padding: clamp(88px, 10vw, 104px) 0 clamp(112px, 13vw, 136px);
  }

  .gw-budget-v1-opening {
    padding-bottom: clamp(64px, 7.5vw, 76px);
  }

  .gw-budget-v1-eyebrow {
    margin: 0 0 22px;
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-budget-v1-intro {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
  }

  .gw-budget-v1-title {
    grid-column: 1 / 6;
    max-width: none;
    margin: 0;
    font-size: clamp(44px, 5.15vw, 52px);
    font-weight: 590;
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-budget-v1-intro-copy {
    grid-column: 6 / -1;
    min-width: 0;
    max-width: none;
    justify-self: stretch;
    padding: 4px 0 0;
  }

  .gw-budget-v1-intro-copy > p:first-child {
    margin: 0;
    color: var(--muted);
    font-size: 15.5px;
    line-height: 1.58;
  }

  .gw-budget-v1-guardrail {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 20px 0 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.52;
  }

  .gw-budget-v1-guardrail > span {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-top: .52em;
    border-radius: 50%;
    background: var(--green);
  }

  .gw-budget-v1-layout {
    display: block;
  }

  .gw-budget-v1-config {
    min-width: 0;
  }

  .gw-budget-v1-step,
  .gw-budget-v2-custom {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
    min-width: 0;
    padding: 0 0 56px;
  }

  .gw-budget-v1-step + .gw-budget-v1-step,
  .gw-budget-v2-custom {
    padding-top: 54px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-step[hidden],
  .gw-budget-v2-custom[hidden],
  .gw-budget-v1-summary-list [hidden],
  .gw-budget-v2-files[hidden] {
    display: none !important;
  }

  .gw-budget-v1-step-head {
    grid-column: 1 / 4;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    margin: 0;
    padding-right: clamp(0px, 1vw, 10px);
  }

  .gw-budget-v1-step-index {
    padding-top: 4px;
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
  }

  .gw-budget-v1-step-head h3 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(21px, 2.45vw, 24px);
    font-weight: 620;
    line-height: 1.18;
    letter-spacing: -.025em;
  }

  .gw-budget-v1-step-head p {
    max-width: 26ch;
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.52;
  }

  .gw-budget-v1-choices {
    grid-column: 4 / -1;
    min-width: 0;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-choice {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    gap: 14px;
    align-items: center;
    width: 100%;
    min-height: 82px;
    padding: 16px 10px 16px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
    transition: background-color .18s ease, padding-left .18s ease;
  }

  .gw-budget-v1-choice::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    content: "";
    background: transparent;
    transition: background-color .18s ease;
  }

  .gw-budget-v1-choice:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v1-choice.is-selected {
    padding-left: 16px;
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v1-choice.is-selected::before {
    background: var(--green);
  }

  .gw-budget-v1-choice-index {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .06em;
  }

  .gw-budget-v1-choice-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
  }

  .gw-budget-v1-choice-copy strong {
    color: var(--ink);
    font-size: clamp(15.5px, 1.8vw, 17px);
    font-weight: 610;
    line-height: 1.28;
  }

  .gw-budget-v1-choice-copy small {
    max-width: 54ch;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 430;
    line-height: 1.48;
  }

  .gw-budget-v1-choice-mark {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    justify-self: end;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark {
    border-color: var(--green-deep);
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark::after {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    content: "";
    background: var(--green);
  }

  .gw-budget-v1-choices.is-disabled {
    display: flex;
    min-height: 82px;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-await {
    margin: 0;
    padding: 22px 0;
    color: var(--quiet);
    font-size: 13.5px;
    line-height: 1.52;
  }

  .gw-budget-v2-custom-body {
    grid-column: 4 / -1;
    display: grid;
    gap: 22px;
    min-width: 0;
    padding-top: 0;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v2-custom-field {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding-top: 20px;
  }

  .gw-budget-v2-custom-field > span,
  .gw-budget-v2-upload-title {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-budget-v2-custom-field textarea {
    width: 100%;
    min-height: 150px;
    padding: 8px 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    resize: vertical;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
  }

  .gw-budget-v2-custom-field textarea::placeholder {
    color: var(--quiet);
    opacity: 1;
  }

  .gw-budget-v2-custom-field textarea:focus-visible {
    border-bottom-color: var(--green-deep);
    box-shadow: 0 2px 0 var(--green-deep);
  }

  .gw-budget-v2-upload {
    position: relative;
    display: grid;
    grid-template-columns: minmax(118px, .62fr) minmax(0, 1.38fr);
    gap: 16px 20px;
    align-items: center;
    min-height: 108px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    outline: 0;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease;
  }

  .gw-budget-v2-upload-action {
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.5;
  }

  .gw-budget-v2-upload-action strong {
    color: var(--ink);
    font-weight: 560;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-budget-v2-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
  }

  .gw-budget-v2-upload small {
    grid-column: 2;
    margin-top: -10px;
    overflow: hidden;
    color: var(--quiet);
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gw-budget-v2-upload.is-dragover,
  .gw-budget-v2-upload:focus-visible {
    border-top-color: var(--green-deep);
    border-bottom-color: var(--green-deep);
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v2-upload.is-dragover .gw-budget-v2-upload-action strong {
    color: var(--green-deep);
  }

  .gw-budget-v2-files {
    margin-top: -8px;
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v2-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 0 10px;
    color: var(--quiet);
    font-size: 11px;
    line-height: 1.4;
  }

  .gw-budget-v2-files-clear,
  .gw-budget-v2-file-remove {
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 11px;
    font-weight: 560;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .gw-budget-v2-files-clear:focus-visible,
  .gw-budget-v2-file-remove:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v2-file-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gw-budget-v2-file-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 48px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-file-name {
    overflow: hidden;
    color: var(--ink);
    font-size: 12px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .gw-budget-v2-custom-hint {
    margin: -2px 0 0;
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.5;
  }

  .gw-budget-v1-included {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    padding: 30px 0 54px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-included > div {
    grid-column: 4 / -1;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    min-width: 0;
  }

  .gw-budget-v1-included-mark {
    display: grid;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    place-items: center;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 800;
  }

  .gw-budget-v1-included p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .gw-budget-v1-included strong {
    color: var(--ink);
    font-weight: 610;
  }

  .gw-budget-v2-after {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    margin: 0;
    padding: 52px 0 0;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v2-after-head {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
  }

  .gw-budget-v2-after-head h3 {
    grid-column: 1 / 4;
    margin: 0;
    color: var(--ink);
    font-size: clamp(21px, 2.45vw, 24px);
    font-weight: 620;
    line-height: 1.18;
    letter-spacing: -.025em;
  }

  .gw-budget-v2-after-head p {
    grid-column: 4 / -1;
    max-width: 54ch;
    margin: 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.55;
  }

  .gw-budget-v2-after-options {
    grid-column: 4 / -1;
    min-width: 0;
    margin-top: 22px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-after-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: 100%;
    min-height: 72px;
    margin: 0;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
  }

  .gw-budget-v2-after-option:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 4px;
  }

  .gw-budget-v2-after-mark {
    position: relative;
    display: block;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border: 1px solid #7D897B;
    background: transparent;
    transition: border-color .16s ease, background-color .16s ease;
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark {
    border-color: var(--green-deep);
    background: var(--green);
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 7px;
    height: 3px;
    border-bottom: 1.5px solid var(--black);
    border-left: 1.5px solid var(--black);
    content: "";
    transform: rotate(-45deg);
  }

  .gw-budget-v2-after-copy {
    display: grid;
    gap: 5px;
  }

  .gw-budget-v2-after-copy strong {
    color: var(--ink);
    font-size: 14px;
    font-weight: 590;
    line-height: 1.35;
  }

  .gw-budget-v2-after-copy small {
    max-width: 58ch;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }

  .gw-budget-v1-summary {
    position: relative;
    min-width: 0;
    margin-top: clamp(72px, 9vw, 88px);
  }

  .gw-budget-v1-summary-inner {
    position: relative;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
    padding: 32px 0 0;
    border-top: 1px solid var(--ink);
    border-left: 0;
  }

  .gw-budget-v1-summary-inner::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: clamp(64px, 7.8vw, 80px);
    height: 2px;
    content: "";
    background: var(--green);
  }

  .gw-budget-v1-summary-label {
    grid-column: 1 / 4;
    grid-row: 1;
    margin: 0;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gw-budget-v1-price {
    grid-column: 1 / 4;
    grid-row: 2;
    margin: 16px 0 0;
    color: var(--ink);
    font-size: clamp(34px, 4.15vw, 42px);
    font-weight: 640;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
  }

  .gw-budget-v1-summary.is-ready .gw-budget-v1-price {
    color: var(--green-deep);
  }

  .gw-budget-v1-summary.is-custom .gw-budget-v1-price {
    max-width: 9ch;
  }

  .gw-budget-v1-price-note {
    grid-column: 1 / 4;
    grid-row: 3;
    max-width: 27ch;
    margin: 13px 0 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.5;
  }

  .gw-budget-v1-summary-list {
    grid-column: 4 / -1;
    grid-row: 1 / span 3;
    margin: 0;
  }

  .gw-budget-v1-summary-list > div {
    display: grid;
    grid-template-columns: minmax(116px, .75fr) minmax(0, 1.25fr);
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-summary-list > div:first-child {
    border-top-color: var(--line-strong);
  }

  .gw-budget-v1-summary-list > div:last-child {
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-summary-list dt {
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-list dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
    font-size: 13px;
    font-weight: 560;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-meaning,
  .gw-budget-v1-summary-note,
  .gw-budget-v1-contact {
    grid-column: 4 / -1;
  }

  .gw-budget-v1-summary-meaning {
    margin-top: 28px;
    padding: 0;
  }

  .gw-budget-v1-summary-meaning-label {
    margin: 0 0 9px;
    color: var(--quiet);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-budget-v1-summary-meaning > p:last-child {
    max-width: 54ch;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
  }

  .gw-budget-v1-summary-note {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 17px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-summary-note > span {
    color: var(--green-deep);
    font-size: 13px;
    font-weight: 800;
  }

  .gw-budget-v1-summary-note p {
    max-width: 54ch;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
  }

  .gw-budget-v1-contact {
    display: grid;
    gap: 8px;
    margin-top: 22px;
    padding: 0;
    border-top: 0;
  }

  .gw-budget-v1-contact-field,
  .gw-budget-v1-consent {
    display: none !important;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta {
    display: inline-flex;
    width: min(100%, 360px);
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 0 16px 0 20px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: var(--green);
    color: var(--black);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
    transition: background-color .16s ease, opacity .18s ease, transform .1s ease;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta .action-arrow {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.4;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:disabled {
    opacity: .36;
    cursor: not-allowed;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v1-phone {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 520;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-budget-v1-phone svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
  }

  .gw-budget-v1-phone:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  @media (hover: hover) {
    .gw-budget-v1-choice:hover {
      background: rgba(255,255,255,.46);
    }

    .gw-budget-v2-upload:hover {
      border-top-color: var(--green-deep);
      border-bottom-color: var(--green-deep);
      background: rgba(97, 200, 53, .035);
    }

    .gw-budget-v2-after-option:hover .gw-budget-v2-after-copy strong,
    .gw-budget-v2-files-clear:hover,
    .gw-budget-v2-file-remove:hover,
    .gw-budget-v1-phone:hover {
      color: var(--green-deep);
    }

    .gw-budget-v1-contact .gw-budget-v1-cta:not(:disabled):hover {
      background: #56BC30;
      border-color: #429B24;
      transform: translateY(-1px);
    }
  }
}

@media (min-width: 768px) and (max-width: 820px) {
  .gw-budget-v1-shell {
    padding-top: 88px;
  }

  .gw-budget-v1-title {
    font-size: 44px;
  }

  .gw-budget-v1-step,
  .gw-budget-v2-custom,
  .gw-budget-v1-included,
  .gw-budget-v2-after,
  .gw-budget-v1-summary-inner,
  .gw-budget-v1-intro,
  .gw-budget-v2-after-head {
    column-gap: 18px;
  }

  .gw-budget-v1-step-head {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 12px;
    padding-right: 0;
  }

  .gw-budget-v1-choice {
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    gap: 12px;
  }

  .gw-budget-v2-upload {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px 18px;
  }

  .gw-budget-v1-summary-list > div {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-budget-v1-choice,
  .gw-budget-v1-choice::before,
  .gw-budget-v2-upload,
  .gw-budget-v2-after-mark,
  .gw-budget-v1-cta {
    transition: none !important;
  }
}


/* Section 04 -> 05 Tablet boundary divider — 2026-08-17
   Matches the established Genesis handoff: balanced air on both sides,
   hairline across the Tablet shell, short functional green signal at left. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-budget-v1::before {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    width: min(calc(100% - 64px), 960px);
    height: 1px;
    content: "";
    transform: translateX(-50%);
    background: linear-gradient(
      to right,
      var(--green) 0 clamp(64px, 7.8vw, 80px),
      var(--line-strong) clamp(64px, 7.8vw, 80px) 100%
    );
    pointer-events: none;
  }
}

/* Section 05 Tablet summary editorial refinement — 2026-08-17
   Keeps the approved 3/5 architecture, but removes the table-like density
   from the final orientation state and gives the handoff a clearer sequence. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-budget-v1-summary-inner {
    row-gap: 0;
  }

  .gw-budget-v1-summary:not(.is-ready) .gw-budget-v1-price {
    max-width: 10ch;
    font-size: clamp(28px, 3.45vw, 32px);
    line-height: 1.03;
    letter-spacing: -.03em;
  }

  .gw-budget-v1-summary.is-ready .gw-budget-v1-price {
    font-size: clamp(38px, 4.45vw, 44px);
  }

  .gw-budget-v1-summary-list {
    display: grid;
    gap: 20px;
    align-content: start;
    padding-top: 1px;
  }

  .gw-budget-v1-summary-list > div,
  .gw-budget-v1-summary-list > div:first-child,
  .gw-budget-v1-summary-list > div:last-child {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 0;
    border: 0;
  }

  .gw-budget-v1-summary-list dt {
    color: var(--quiet);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.4;
  }

  .gw-budget-v1-summary-list dd {
    color: var(--ink);
    font-size: 13.5px;
    font-weight: 580;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-meaning {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-summary-meaning-label {
    grid-column: 1 / 4;
    margin: 0;
    padding-top: 2px;
  }

  .gw-budget-v1-summary-meaning > p:last-child {
    grid-column: 4 / -1;
    max-width: 54ch;
    margin: 0;
  }

  .gw-budget-v1-summary-note,
  .gw-budget-v1-contact {
    grid-column: 4 / -1;
  }

  .gw-budget-v1-summary-note {
    margin-top: 24px;
    padding: 17px 0 0;
    border-top: 1px solid var(--line);
    border-bottom: 0;
  }

  .gw-budget-v1-contact {
    margin-top: 18px;
  }
}

@media (min-width: 768px) and (max-width: 820px) {
  .gw-budget-v1-summary-meaning {
    column-gap: 18px;
    margin-top: 38px;
    padding-top: 26px;
  }

  .gw-budget-v1-summary-list {
    gap: 18px;
  }
}

/* Section 05 Tablet full-width SEO and handoff — 2026-08-17
   Makes the closing note and CTA use the whole Tablet shell while
   keeping the phone as a quiet secondary action directly below. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-budget-v1-summary-note,
  .gw-budget-v1-contact {
    grid-column: 1 / -1;
  }

  .gw-budget-v1-summary-note p {
    max-width: none;
  }

  .gw-budget-v1-contact {
    width: 100%;
    gap: 8px;
    margin-top: 18px;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta {
    width: 100%;
  }

  .gw-budget-v1-contact .gw-budget-v1-phone {
    justify-self: start;
  }
}


/* Section 05 Tablet included note balanced left — 2026-08-17 */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-budget-v1-included {
    padding: 36px 0;
  }

  .gw-budget-v1-included > div {
    grid-column: 1 / 7;
  }
}


/* Section 04 shared responsive title scale — 2026-08-17
   One typographic rule for Desktop, Tablet and Mobile; layout remains unchanged. */
.gw-process-title,
.gw-process-mobile-title {
  font-size: clamp(40px, 5.2vw, 58px);
}

/* Section 04 title hierarchy aligned with neighboring Sections 03/05 — 2026-08-17.
   Preserve the locked composition; only responsive heading scale and Desktop opening air change. */
@media (max-width: 767.98px) {
  .gw-process-mobile-title {
    font-size: clamp(34px, 9.4vw, 38px);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-title {
    font-size: clamp(44px, 5.15vw, 52px);
  }
}

@media (min-width: 1025px) {
  .gw-process-section {
    padding-top: clamp(104px, 8.5vw, 128px);
  }

  .gw-process-title {
    font-size: clamp(48px, 4.35vw, 68px);
  }
}

/* Section 04 Tablet title parity with locked Section 05 — 2026-08-17.
   Exact Tablet title typography parity; composition and spacing remain unchanged. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-title {
    font-size: clamp(44px, 5.15vw, 52px);
    font-weight: 590;
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
}

/* Section 04 cross-version typography + opening-air alignment — 2026-08-17.
   Preserve locked composition; align only major-heading typography and opening rhythm with neighboring sections. */
@media (max-width: 767.98px) {
  .gw-process-mobile-shell {
    padding-top: 70px;
  }

  .gw-process-mobile-title {
    font-size: clamp(34px, 9.4vw, 38px);
    font-weight: 560;
    line-height: 1.01;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-process-mobile-lead {
    margin-top: 24px;
  }
}

@media (max-width: 359.98px) {
  .gw-process-mobile-title {
    font-size: 32px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-process-mobile-shell {
    padding-top: 78px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-process-section {
    padding-top: clamp(88px, 10vw, 104px);
  }

  .gw-process-eyebrow {
    margin-bottom: 22px;
  }
}

@media (min-width: 1025px) {
  .gw-process-title {
    max-width: 820px;
    font-size: clamp(48px, 4.35vw, 68px);
    font-weight: 590;
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-process-eyebrow {
    margin-bottom: 26px;
  }
}

/* ================================================================
   Section 05 / Mobile <768 — 2026-08-17
   Independent single-column editorial composition.
   Desktop >=1025 and locked Tablet 768–1024 remain untouched.
   Existing Section 05 DOM, pricing and JS state logic are reused.
   ================================================================ */
@media (max-width: 767.98px) {
  .gw-budget-v1 {
    --gw-budget-mobile-gutter: 20px;
    display: block;
    position: relative;
    margin: 0;
    overflow: hidden;
    background: var(--paper);
    color: var(--ink);
  }

  .gw-budget-v1::before {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    width: calc(100% - (var(--gw-budget-mobile-gutter) * 2));
    height: 1px;
    content: "";
    transform: translateX(-50%);
    background: linear-gradient(
      to right,
      var(--green) 0 56px,
      var(--line-strong) 56px 100%
    );
    pointer-events: none;
  }

  .gw-budget-v1-shell {
    width: calc(100% - (var(--gw-budget-mobile-gutter) * 2));
    margin-inline: auto;
    padding: 70px 0 104px;
  }

  .gw-budget-v1-opening {
    padding: 0 0 56px;
  }

  .gw-budget-v1-eyebrow {
    margin: 0 0 18px;
    color: var(--green-deep);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-budget-v1-intro {
    display: block;
  }

  .gw-budget-v1-title {
    max-width: 15ch;
    margin: 0;
    color: var(--ink);
    font-size: clamp(34px, 9.4vw, 38px);
    font-weight: 560;
    line-height: 1.01;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-budget-v1-intro-copy {
    max-width: 36rem;
    margin-top: 24px;
    padding: 0;
  }

  .gw-budget-v1-intro-copy > p:first-child {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    font-weight: 430;
    line-height: 1.58;
    letter-spacing: -.008em;
  }

  .gw-budget-v1-guardrail {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    max-width: 34rem;
    margin: 16px 0 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.55;
  }

  .gw-budget-v1-guardrail > span {
    width: 6px;
    height: 6px;
    margin-top: .55em;
    border-radius: 50%;
    background: var(--green);
  }

  .gw-budget-v1-layout {
    display: block;
  }

  .gw-budget-v1-config {
    min-width: 0;
  }

  .gw-budget-v1-step,
  .gw-budget-v2-custom {
    display: block;
    min-width: 0;
    padding: 0 0 48px;
  }

  .gw-budget-v1-step + .gw-budget-v1-step,
  .gw-budget-v2-custom {
    padding-top: 48px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-step[hidden],
  .gw-budget-v2-custom[hidden],
  .gw-budget-v2-files[hidden],
  .gw-budget-v1-summary-list [hidden] {
    display: none !important;
  }

  .gw-budget-v1-step-head {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    min-width: 0;
  }

  .gw-budget-v1-step-index {
    padding-top: 4px;
    color: var(--green-deep);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
  }

  .gw-budget-v1-step-head h3 {
    margin: 0;
    color: var(--ink);
    font-size: 22px;
    font-weight: 620;
    line-height: 1.16;
    letter-spacing: -.025em;
  }

  .gw-budget-v1-step-head p {
    max-width: 34ch;
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .gw-budget-v1-choices {
    min-width: 0;
    margin-top: 24px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-choice {
    position: relative;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) 20px;
    gap: 12px;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding: 15px 4px 15px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
    transition: padding-left .16s ease, background-color .16s ease;
  }

  .gw-budget-v1-choice::before {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 2px;
    content: "";
    background: transparent;
    transition: background-color .16s ease;
  }

  .gw-budget-v1-choice:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v1-choice.is-selected {
    padding-left: 12px;
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v1-choice.is-selected::before {
    background: var(--green);
  }

  .gw-budget-v1-choice-index {
    color: var(--quiet);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .06em;
  }

  .gw-budget-v1-choice-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
  }

  .gw-budget-v1-choice-copy strong {
    color: var(--ink);
    font-size: 15px;
    font-weight: 590;
    line-height: 1.34;
    letter-spacing: -.012em;
  }

  .gw-budget-v1-choice-copy small {
    color: var(--quiet);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
  }

  .gw-budget-v1-choice-mark {
    position: relative;
    justify-self: end;
    width: 18px;
    height: 18px;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    background: transparent;
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark {
    border-color: var(--green-deep);
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark::after {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    content: "";
    background: var(--green);
  }

  .gw-budget-v1-choices.is-disabled {
    display: flex;
    min-height: 80px;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }

  .gw-budget-v1-await {
    margin: 0;
    color: var(--quiet);
    font-size: 13px;
    line-height: 1.5;
  }

  .gw-budget-v2-custom-body {
    display: grid;
    gap: 22px;
    min-width: 0;
    margin-top: 26px;
  }

  .gw-budget-v2-custom-field {
    display: grid;
    gap: 10px;
  }

  .gw-budget-v2-custom-field > span {
    color: var(--quiet);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-budget-v2-custom-field textarea {
    width: 100%;
    min-height: 152px;
    padding: 0 0 14px;
    resize: vertical;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
  }

  .gw-budget-v2-custom-field textarea::placeholder {
    color: var(--quiet);
    opacity: 1;
  }

  .gw-budget-v2-custom-field textarea:focus-visible {
    border-bottom-color: var(--green-deep);
    box-shadow: 0 2px 0 var(--green-deep);
  }

  .gw-budget-v2-upload {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 96px;
    padding: 18px 0;
    border-top: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line);
    outline: 0;
    cursor: pointer;
    touch-action: manipulation;
  }

  .gw-budget-v2-upload:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 4px;
  }

  .gw-budget-v2-upload.is-dragover {
    border-top-color: var(--green-deep);
    border-bottom-color: var(--green-deep);
    background: rgba(97, 200, 53, .035);
  }

  .gw-budget-v2-upload-title {
    color: var(--ink);
    font-size: 15px;
    font-weight: 590;
    line-height: 1.35;
  }

  .gw-budget-v2-upload-action {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
  }

  .gw-budget-v2-upload-action strong {
    color: var(--green-deep);
    font-weight: 620;
  }

  .gw-budget-v2-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .gw-budget-v2-upload small,
  .gw-budget-v2-custom-hint {
    margin: 0;
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.5;
  }

  .gw-budget-v2-files {
    display: grid;
    gap: 10px;
  }

  .gw-budget-v2-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: var(--quiet);
    font-size: 12px;
    line-height: 1.4;
  }

  .gw-budget-v2-files-clear,
  .gw-budget-v2-file-remove {
    min-width: 44px;
    min-height: 44px;
    padding: 0 8px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    cursor: pointer;
  }

  .gw-budget-v2-files-clear:focus-visible,
  .gw-budget-v2-file-remove:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 2px;
  }

  .gw-budget-v2-file-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-file-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 52px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.4;
  }

  .gw-budget-v1-included {
    padding: 32px 0;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-included > div {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    min-width: 0;
  }

  .gw-budget-v1-included-mark {
    display: grid;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    place-items: center;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 800;
  }

  .gw-budget-v1-included p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .gw-budget-v1-included strong {
    color: var(--ink);
    font-weight: 610;
  }

  .gw-budget-v2-after {
    padding: 48px 0 0;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v2-after-head {
    display: block;
  }

  .gw-budget-v2-after-head h3 {
    margin: 0;
    color: var(--ink);
    font-size: 22px;
    font-weight: 620;
    line-height: 1.16;
    letter-spacing: -.025em;
  }

  .gw-budget-v2-after-head p {
    max-width: 36rem;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
  }

  .gw-budget-v2-after-options {
    margin-top: 24px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v2-after-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: 100%;
    min-height: 76px;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
  }

  .gw-budget-v2-after-option:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v2-after-mark {
    position: relative;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border: 1px solid #7D897B;
    background: transparent;
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark {
    border-color: var(--green-deep);
    background: var(--green);
  }

  .gw-budget-v2-after-option.is-selected .gw-budget-v2-after-mark::after {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 7px;
    height: 3px;
    border-bottom: 1.5px solid var(--black);
    border-left: 1.5px solid var(--black);
    content: "";
    transform: rotate(-45deg);
  }

  .gw-budget-v2-after-copy {
    display: grid;
    gap: 5px;
  }

  .gw-budget-v2-after-copy strong {
    color: var(--ink);
    font-size: 14.5px;
    font-weight: 590;
    line-height: 1.35;
  }

  .gw-budget-v2-after-copy small {
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.5;
  }

  .gw-budget-v1-summary {
    position: relative;
    min-width: 0;
    margin-top: 64px;
  }

  .gw-budget-v1-summary-inner {
    position: relative;
    display: block;
    padding: 30px 0 0;
    border-top: 1px solid var(--ink);
    border-left: 0;
  }

  .gw-budget-v1-summary-inner::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 56px;
    height: 2px;
    content: "";
    background: var(--green);
  }

  .gw-budget-v1-summary-label {
    margin: 0;
    color: var(--quiet);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .gw-budget-v1-price {
    max-width: 100%;
    margin: 14px 0 0;
    color: var(--ink);
    font-size: clamp(28px, 8.4vw, 32px);
    font-weight: 640;
    line-height: 1.03;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .gw-budget-v1-summary.is-ready .gw-budget-v1-price {
    color: var(--green-deep);
    font-size: clamp(32px, 9.1vw, 38px);
  }

  .gw-budget-v1-summary.is-custom .gw-budget-v1-price {
    max-width: 10ch;
  }

  .gw-budget-v1-price-note {
    max-width: 34rem;
    margin: 12px 0 0;
    color: var(--quiet);
    font-size: 12.5px;
    line-height: 1.5;
  }

  .gw-budget-v1-summary-list {
    display: grid;
    gap: 18px;
    margin: 30px 0 0;
    padding: 0;
  }

  .gw-budget-v1-summary-list > div,
  .gw-budget-v1-summary-list > div:first-child,
  .gw-budget-v1-summary-list > div:last-child {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 0;
    border: 0;
  }

  .gw-budget-v1-summary-list dt {
    color: var(--quiet);
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.4;
  }

  .gw-budget-v1-summary-list dd {
    min-width: 0;
    margin: 0;
    color: var(--ink);
    font-size: 13.5px;
    font-weight: 580;
    line-height: 1.45;
  }

  .gw-budget-v1-summary-meaning {
    display: block;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--line-strong);
  }

  .gw-budget-v1-summary-meaning-label {
    margin: 0 0 9px;
    color: var(--quiet);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-budget-v1-summary-meaning > p:last-child {
    max-width: 36rem;
    margin: 0;
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.55;
  }

  .gw-budget-v1-summary-note {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    max-width: 36rem;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }

  .gw-budget-v1-summary-note > span {
    display: grid;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 800;
  }

  .gw-budget-v1-summary-note p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
  }

  .gw-budget-v1-contact {
    display: grid;
    width: 100%;
    gap: 8px;
    margin-top: 26px;
  }

  .gw-budget-v1-contact-field,
  .gw-budget-v1-consent {
    display: none !important;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 0 16px 0 20px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: var(--green);
    color: var(--black);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:disabled {
    cursor: default;
    opacity: .46;
  }

  .gw-budget-v1-contact .gw-budget-v1-cta:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-budget-v1-contact .gw-budget-v1-phone {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 8px;
    min-height: 44px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 520;
    line-height: 1.4;
    white-space: nowrap;
  }

  .gw-budget-v1-phone svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}

@media (max-width: 359.98px) {
  .gw-budget-v1 {
    --gw-budget-mobile-gutter: 16px;
  }

  .gw-budget-v1-title {
    font-size: 32px;
  }

  .gw-budget-v1-step-head {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 10px;
  }

  .gw-budget-v1-choice {
    grid-template-columns: 24px minmax(0, 1fr) 18px;
    gap: 10px;
    padding-right: 2px;
  }

  .gw-budget-v1-choice.is-selected {
    padding-left: 10px;
  }

  .gw-budget-v1-summary.is-ready .gw-budget-v1-price {
    font-size: 32px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-budget-v1 {
    --gw-budget-mobile-gutter: clamp(20px, 5vw, 32px);
  }

  .gw-budget-v1-shell {
    padding-top: 78px;
    padding-bottom: 112px;
  }

  .gw-budget-v1-opening {
    padding-bottom: 60px;
  }

  .gw-budget-v1-step,
  .gw-budget-v2-custom {
    padding-bottom: 52px;
  }

  .gw-budget-v1-step + .gw-budget-v1-step,
  .gw-budget-v2-custom {
    padding-top: 52px;
  }

  .gw-budget-v1-summary {
    margin-top: 68px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-budget-v1-choice,
  .gw-budget-v1-choice::before {
    transition: none;
  }
}


/* ================================================================
   Section 05 / Desktop motion V1 — 2026-08-17
   Motion-only layer. Locked layout, typography, pricing and responsive
   compositions remain unchanged. Desktop >=1025 only.
   ================================================================ */
@media (min-width: 1025px) {
  @keyframes gw-budget-motion-enter {
    from { opacity: 0; transform: translateY(11px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-budget-motion-fade {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes gw-budget-summary-refresh {
    from { opacity: .34; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-budget-options-enter {
    from { opacity: .38; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .gw-budget-v1[data-gw-budget-motion="pending"] .gw-budget-v1-eyebrow,
  .gw-budget-v1[data-gw-budget-motion="pending"] .gw-budget-v1-title,
  .gw-budget-v1[data-gw-budget-motion="pending"] .gw-budget-v1-intro-copy {
    opacity: 0;
    transform: translateY(11px);
  }

  .gw-budget-v1[data-gw-budget-motion="pending"] .gw-budget-v1-summary-inner {
    opacity: 0;
  }

  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-eyebrow,
  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-title,
  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-intro-copy {
    animation: gw-budget-motion-enter 480ms cubic-bezier(.2,.8,.2,1) both;
  }

  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-title { animation-delay: 65ms; }
  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-intro-copy { animation-delay: 135ms; }
  .gw-budget-v1[data-gw-budget-motion="revealed"] .gw-budget-v1-summary-inner {
    animation: gw-budget-motion-fade 430ms cubic-bezier(.2,.8,.2,1) 250ms both;
  }

  .gw-budget-v1 [data-gw-budget-episode-motion="pending"] {
    opacity: 0;
    transform: translateY(10px);
  }

  .gw-budget-v1 [data-gw-budget-episode-motion="revealed"] {
    animation: gw-budget-motion-enter 460ms cubic-bezier(.2,.8,.2,1) both;
  }

  .gw-budget-v1-choice-mark::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--green);
    opacity: 0;
    transform: scale(.55);
    transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
  }

  .gw-budget-v1-choice.is-selected .gw-budget-v1-choice-mark::after {
    opacity: 1;
    transform: scale(1);
  }

  .gw-budget-v1-choices.is-motion-options-enter {
    animation: gw-budget-options-enter 250ms cubic-bezier(.2,.8,.2,1) both;
  }

  .gw-budget-v1-step.is-motion-branch-enter,
  .gw-budget-v2-custom.is-motion-branch-enter {
    animation: gw-budget-options-enter 260ms cubic-bezier(.2,.8,.2,1) both;
  }

  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-price,
  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-summary-list dd,
  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-summary-meaning > p:last-child {
    animation: gw-budget-summary-refresh 220ms cubic-bezier(.2,.8,.2,1) both;
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .gw-budget-v1[data-gw-budget-motion] .gw-budget-v1-eyebrow,
  .gw-budget-v1[data-gw-budget-motion] .gw-budget-v1-title,
  .gw-budget-v1[data-gw-budget-motion] .gw-budget-v1-intro-copy,
  .gw-budget-v1[data-gw-budget-motion] .gw-budget-v1-summary-inner,
  .gw-budget-v1 [data-gw-budget-episode-motion],
  .gw-budget-v1-choices.is-motion-options-enter,
  .gw-budget-v1-step.is-motion-branch-enter,
  .gw-budget-v2-custom.is-motion-branch-enter,
  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-price,
  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-summary-list dd,
  .gw-budget-v1-summary.is-motion-refreshing .gw-budget-v1-summary-meaning > p:last-child {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}


/* ================================================================
   Desktop motion V2 — 2026-08-17
   Section 02 choreography correction only. Layout remains locked.
   Section 03/04/05 trigger geometry is normalized in JS against
   viewport height; Tablet/Mobile remain untouched.
   ================================================================ */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  .lifecycle-narrative.is-motion-ready .lifecycle-seam {
    transition-duration: 480ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-seam::before {
    transition-duration: 280ms;
    transition-delay: 180ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-marker {
    transform: translateX(-6px);
    transition-duration: 320ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-stage {
    transform: translateX(6px);
    transition-duration: 320ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-title {
    clip-path: none;
    transform: translateY(10px);
    transition: opacity 460ms cubic-bezier(.22, 1, .36, 1), transform 460ms cubic-bezier(.22, 1, .36, 1);
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-copy {
    transform: translateY(8px);
    transition-duration: 380ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-stage-object {
    transform: translateX(-10px);
    transition-duration: 440ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-spine {
    transition-duration: 400ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-spine-label {
    transform: translateY(6px);
    transition-duration: 300ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-spine-list::before {
    transition-duration: 380ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-spine-link {
    transform: translateX(6px);
    transition-duration: 260ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-marker,
  .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage {
    transition-delay: 180ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-title {
    clip-path: none;
    transition-delay: 230ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-copy {
    transition-delay: 300ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-chapter:first-child .lifecycle-stage-object {
    transition-delay: 340ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-spine,
  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-label,
  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list::before {
    transition-delay: 420ms;
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(1) .lifecycle-spine-link { transition-delay: 500ms; }
  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(2) .lifecycle-spine-link { transition-delay: 535ms; }
  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(3) .lifecycle-spine-link { transition-delay: 570ms; }
  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-list li:nth-child(4) .lifecycle-spine-link { transition-delay: 605ms; }

  .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-title {
    clip-path: none;
    transition-delay: 40ms;
  }

  .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-copy,
  .lifecycle-narrative.is-motion-ready .lifecycle-chapter.is-revealed:not(:first-child) .lifecycle-stage-object {
    transition-delay: 90ms;
  }
}


/* Section 03 + 04→05 Desktop divider motion refinement — 2026-08-17.
   Structural hairlines now participate in the same restrained reveal grammar.
   Desktop only; layout and Tablet/Mobile remain unchanged. */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  /* Section 03 scene separators: animate the full neutral hairline, not only the green signal. */
  .capability-section.cap-v7.is-motion-ready .cap-v7-scene {
    border-top-color: transparent;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v7-scene::after {
    position: absolute;
    z-index: 0;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: #252C26;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 620ms var(--cap-motion-ease, cubic-bezier(.22, 1, .36, 1));
    pointer-events: none;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v7-scene::before {
    z-index: 1;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v7-scene.is-revealed::after {
    transform: scaleX(1);
  }

  /* Updater and closing are standalone episodes, so their divider geometry needs its own reveal. */
  .capability-section.cap-v7.is-motion-ready .cap-v10-updater,
  .capability-section.cap-v7.is-motion-ready .cap-v44-closing {
    border-top-color: transparent;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v10-updater::after,
  .capability-section.cap-v7.is-motion-ready .cap-v44-closing::after {
    position: absolute;
    z-index: 0;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 620ms var(--cap-motion-ease, cubic-bezier(.22, 1, .36, 1));
    pointer-events: none;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v10-updater::after {
    background: #252C26;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v44-closing::after {
    background: #29312A;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v10-updater::before,
  .capability-section.cap-v7.is-motion-ready .cap-v44-closing::before {
    z-index: 1;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 420ms var(--cap-motion-ease, cubic-bezier(.22, 1, .36, 1)) 90ms;
  }

  .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed::after,
  .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed::after,
  .capability-section.cap-v7.is-motion-ready .cap-v10-updater.is-revealed::before,
  .capability-section.cap-v7.is-motion-ready .cap-v44-closing.is-revealed::before {
    transform: scaleX(1);
  }

  /* Section 04 → 05 boundary belongs to Section 05 and follows its existing Desktop motion state. */
  .gw-budget-v1[data-gw-budget-motion]::before {
    transform: translateX(-50%) scaleX(0);
    transform-origin: left center;
    transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-budget-v1[data-gw-budget-motion="revealed"]::before {
    transform: translateX(-50%) scaleX(1);
  }
}

/* =========================================================
   Section 06 / Desktop V1 — Client proof registry
   Desktop only. Tablet/Mobile intentionally remain untouched.
   ========================================================= */

.gw-reviews-v1 {
  display: none;
}

@media (min-width: 1025px) {
  .gw-reviews-v1 {
    position: relative;
    display: block;
    overflow: hidden;
    border-top: 1px solid #DDE3DA;
    background: #0B0F0C;
    color: #F7F8F5;
  }

  .gw-reviews-v1-shell {
    position: relative;
    width: min(calc(100% - 64px), 1312px);
    margin: 0 auto;
  }

  .gw-reviews-v1-opening {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    align-items: end;
    padding: clamp(120px, 9.4vw, 148px) 0 88px;
  }

  .gw-reviews-v1-heading {
    grid-column: 1 / 9;
  }

  .gw-reviews-v1-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 28px;
    color: #63CA38;
    font-size: 11px;
    font-weight: 680;
    line-height: 1.25;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-eyebrow::before {
    width: 34px;
    height: 1px;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-title {
    max-width: 920px;
    margin: 0;
    color: #F7F8F5;
    font-size: clamp(54px, 4.7vw, 72px);
    font-weight: 560;
    line-height: .97;
    letter-spacing: -.052em;
  }

  .gw-reviews-v1-title span {
    display: block;
  }

  .gw-reviews-v1-lead {
    grid-column: 9 / 13;
    max-width: 32ch;
    margin: 0 0 5px;
    color: #AAB4AA;
    font-size: 17px;
    font-weight: 410;
    line-height: 1.58;
    letter-spacing: -.012em;
  }

  .gw-reviews-v1-toolbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    min-height: 78px;
    border-top: 1px solid #283129;
    border-bottom: 1px solid #283129;
  }

  .gw-reviews-v1-filters {
    display: flex;
    align-items: stretch;
    gap: 24px;
    min-width: 0;
  }

  .gw-reviews-v1-filter,
  .gw-reviews-v1-sort {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }

  .gw-reviews-v1-filter {
    position: relative;
    min-height: 44px;
    padding: 0;
    color: #7F8A80;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    white-space: nowrap;
    transition: color 180ms ease;
  }

  .gw-reviews-v1-filter::after {
    position: absolute;
    right: 100%;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: #63CA38;
    transition: right 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-reviews-v1-filter.is-active,
  .gw-reviews-v1-filter:hover {
    color: #F7F8F5;
  }

  .gw-reviews-v1-filter.is-active::after {
    right: calc(100% - 28px);
  }

  .gw-reviews-v1-sort {
    display: grid;
    grid-template-columns: auto auto 14px;
    align-items: center;
    gap: 10px;
    min-height: 76px;
    padding: 0 2px 0 28px;
    border-left: 1px solid #283129;
    color: #7F8A80;
    font-size: 10px;
    font-weight: 620;
    line-height: 1.2;
    letter-spacing: .065em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-sort strong {
    color: #D5DCD3;
    font-size: 11px;
    font-weight: 620;
    letter-spacing: .025em;
  }

  .gw-reviews-v1-sort svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #63CA38;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease;
  }

  .gw-reviews-v1-sort[data-review-sort="old"] svg {
    transform: rotate(180deg);
  }

  .gw-reviews-v1-stage {
    padding: 72px 0 38px;
  }

  .gw-reviews-v1-proof {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
    min-height: 390px;
    padding: 48px 0 52px;
    border-top: 1px solid #2A332B;
    border-bottom: 1px solid #2A332B;
  }

  .gw-reviews-v1-person {
    grid-column: 1 / 4;
    padding-right: 24px;
  }

  .gw-reviews-v1-demo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 34px;
    color: #6F7A70;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-demo::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-person-line {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .gw-reviews-v1-avatar {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 1px solid #3A453B;
    border-radius: 50%;
    background: #121813;
    color: #D6DDD4;
    font-size: 18px;
    font-weight: 620;
  }

  .gw-reviews-v1-person-line strong {
    display: block;
    color: #EEF1EC;
    font-size: 16px;
    font-weight: 610;
    line-height: 1.25;
  }

  .gw-reviews-v1-rating {
    display: block;
    margin-top: 7px;
    color: #D2F7C2;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .11em;
  }

  .gw-reviews-v1-meta {
    margin: 48px 0 0;
  }

  .gw-reviews-v1-meta div {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid #252D26;
  }

  .gw-reviews-v1-meta dt,
  .gw-reviews-v1-meta dd {
    margin: 0;
  }

  .gw-reviews-v1-meta dt {
    color: #69746A;
    font-size: 10px;
    font-weight: 620;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-meta dd {
    color: #B8C1B7;
    font-size: 12px;
    line-height: 1.35;
  }

  .gw-reviews-v1-quote {
    position: relative;
    grid-column: 4 / 10;
    margin: 0;
    padding: 8px 52px 0 48px;
    border-left: 1px solid #2A332B;
  }

  .gw-reviews-v1-quote-mark {
    position: absolute;
    top: -7px;
    left: 47px;
    color: #63CA38;
    font-size: 38px;
    font-weight: 500;
    line-height: 1;
  }

  .gw-reviews-v1-quote p {
    max-width: 25ch;
    margin: 42px 0 0;
    color: #EDF0EB;
    font-size: clamp(25px, 2.05vw, 31px);
    font-weight: 470;
    line-height: 1.34;
    letter-spacing: -.032em;
    text-wrap: pretty;
  }

  .gw-reviews-v1-project {
    grid-column: 10 / 13;
    padding: 8px 0 0 28px;
    border-left: 1px solid #2A332B;
  }

  .gw-reviews-v1-project-block + .gw-reviews-v1-project-block {
    margin-top: 54px;
  }

  .gw-reviews-v1-project-block > span {
    display: block;
    margin-bottom: 14px;
    color: #69746A;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-project-block > strong {
    display: block;
    max-width: 15ch;
    color: #DEE4DC;
    font-size: 18px;
    font-weight: 570;
    line-height: 1.35;
    letter-spacing: -.015em;
  }

  .gw-reviews-v1-project-block ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gw-reviews-v1-project-block li {
    position: relative;
    padding: 10px 0 10px 18px;
    border-top: 1px solid #252D26;
    color: #AAB4AA;
    font-size: 12px;
    line-height: 1.35;
  }

  .gw-reviews-v1-project-block li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 1px;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-registry {
    margin-top: 18px;
  }

  .gw-reviews-v1-registry-head,
  .gw-reviews-v1-entry {
    display: grid;
    grid-template-columns: 64px 1.1fr 1.15fr 1fr 92px;
    gap: 18px;
    align-items: center;
  }

  .gw-reviews-v1-registry-head {
    min-height: 44px;
    color: #657066;
    font-size: 9px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-entry {
    position: relative;
    width: 100%;
    min-height: 72px;
    padding: 0;
    border: 0;
    border-top: 1px solid #252D26;
    background: transparent;
    color: #7E897F;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease;
  }

  .gw-reviews-v1-entry:last-child {
    border-bottom: 1px solid #252D26;
  }

  .gw-reviews-v1-entry::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    content: "";
    background: #63CA38;
    transition: width 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-reviews-v1-entry:hover,
  .gw-reviews-v1-entry.is-active {
    background: rgba(255, 255, 255, .012);
    color: #C6CEC4;
  }

  .gw-reviews-v1-entry.is-active::before {
    width: 38px;
  }

  .gw-reviews-v1-entry strong {
    color: #DDE3DA;
    font-size: 13px;
    font-weight: 590;
  }

  .gw-reviews-v1-entry span,
  .gw-reviews-v1-entry time {
    font-size: 12px;
    line-height: 1.35;
  }

  .gw-reviews-v1-entry-num {
    color: #63CA38;
    font-size: 10px !important;
    font-weight: 680;
    letter-spacing: .07em;
  }

  .gw-reviews-v1-entry time {
    justify-self: end;
    color: #69746A;
    font-variant-numeric: tabular-nums;
  }

  .gw-reviews-v1-entry[hidden] {
    display: none;
  }

  .gw-reviews-v1-foot {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    padding: 34px 0 120px;
    color: #657066;
    font-size: 11px;
    line-height: 1.5;
  }

  .gw-reviews-v1-foot p {
    max-width: 60ch;
    margin: 0;
  }

  .gw-reviews-v1-foot strong {
    color: #8F9A90;
    font-weight: 560;
  }

  .gw-reviews-v1-foot > span {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .gw-reviews-v1-filter:focus-visible,
  .gw-reviews-v1-sort:focus-visible,
  .gw-reviews-v1-entry:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-filters {
      gap: 16px;
    }

    .gw-reviews-v1-filter {
      font-size: 12px;
    }

    .gw-reviews-v1-sort {
      padding-left: 20px;
    }

    .gw-reviews-v1-quote {
      padding-right: 32px;
      padding-left: 34px;
    }

    .gw-reviews-v1-quote-mark {
      left: 33px;
    }

    .gw-reviews-v1-project {
      padding-left: 22px;
    }
  }
}

/* Section 06 / Desktop V1 refinement — review CTA, modal form and quote hierarchy. */

@media (min-width: 1025px) {
  .gw-reviews-v1-quote p {
    max-width: 34ch;
    font-size: clamp(20px, 1.55vw, 24px);
    font-weight: 450;
    line-height: 1.5;
    letter-spacing: -.022em;
  }

  .gw-reviews-v1-toolbar-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
  }

  .gw-reviews-v1-leave {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 18px;
    padding: 0 20px;
    border: 1px solid #63CA38;
    border-radius: 10px;
    background: #63CA38;
    color: #0A0D0A;
    font: inherit;
    font-size: 12px;
    font-weight: 690;
    line-height: 1;
    letter-spacing: -.01em;
    cursor: pointer;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
  }

  .gw-reviews-v1-leave:hover {
    border-color: #75D84C;
    background: #75D84C;
  }

  .gw-reviews-v1-leave:active {
    transform: translateY(1px);
  }

  .gw-reviews-v1-leave svg {
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-leave:focus-visible {
    outline: 2px solid #D2F7C2;
    outline-offset: 4px;
  }

  html.gw-review-dialog-open {
    overflow: hidden;
  }

  .gw-review-dialog {
    width: min(860px, calc(100vw - 64px));
    max-width: none;
    max-height: calc(100vh - 64px);
    margin: auto;
    padding: 0;
    border: 1px solid #344035;
    border-radius: 0;
    background: #0D120E;
    color: #F7F8F5;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .42);
  }

  .gw-review-dialog::backdrop {
    background: rgba(5, 8, 6, .82);
    backdrop-filter: blur(5px);
  }

  .gw-review-dialog-shell {
    min-height: 100%;
  }

  .gw-review-dialog-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: start;
    padding: 38px 40px 32px;
    border-bottom: 1px solid #2A332B;
  }

  .gw-review-dialog-kicker {
    margin: 0 0 14px;
    color: #63CA38;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-review-dialog-title {
    margin: 0;
    color: #F2F5F0;
    font-size: 36px;
    font-weight: 560;
    line-height: 1.04;
    letter-spacing: -.04em;
  }

  .gw-review-dialog-copy {
    max-width: 56ch;
    margin: 16px 0 0;
    color: #8F9A90;
    font-size: 14px;
    line-height: 1.55;
  }

  .gw-review-dialog-close {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #344035;
    border-radius: 10px;
    background: transparent;
    color: #BFC8BE;
    font: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
  }

  .gw-review-dialog-close:hover {
    border-color: #4A584B;
    background: #121813;
    color: #F7F8F5;
  }

  .gw-review-dialog-form {
    padding: 34px 40px 40px;
  }

  .gw-review-dialog-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .gw-review-dialog-field,
  .gw-review-dialog-rating {
    min-width: 0;
  }

  .gw-review-dialog-field--wide,
  .gw-review-dialog-rating,
  .gw-review-dialog-uploads {
    grid-column: 1 / -1;
  }

  .gw-review-dialog-field > span,
  .gw-review-dialog-rating > legend,
  .gw-review-dialog-uploads-title {
    display: block;
    margin: 0 0 9px;
    padding: 0;
    color: #7D897F;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-review-dialog-field input,
  .gw-review-dialog-field select,
  .gw-review-dialog-field textarea {
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid #303A31;
    border-radius: 10px;
    outline: none;
    background: #101611;
    color: #EEF2EC;
    font: inherit;
    font-size: 14px;
    transition: border-color 180ms ease, background-color 180ms ease;
  }

  .gw-review-dialog-field textarea {
    min-height: 146px;
    padding-top: 14px;
    padding-bottom: 14px;
    resize: vertical;
    line-height: 1.55;
  }

  .gw-review-dialog-field input::placeholder,
  .gw-review-dialog-field textarea::placeholder {
    color: #566158;
  }

  .gw-review-dialog-field input:focus,
  .gw-review-dialog-field select:focus,
  .gw-review-dialog-field textarea:focus {
    border-color: #63CA38;
    background: #121913;
  }

  .gw-review-dialog-rating {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .gw-review-dialog-stars {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .gw-review-dialog-stars input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .gw-review-dialog-stars label {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #303A31;
    border-radius: 10px;
    background: #101611;
    color: #667168;
    font-size: 18px;
    cursor: pointer;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
  }

  .gw-review-dialog-stars input:checked + label,
  .gw-review-dialog-stars label:hover {
    border-color: #63CA38;
    background: #121A13;
    color: #D2F7C2;
  }

  .gw-review-dialog-stars input:focus-visible + label {
    outline: 2px solid #D2F7C2;
    outline-offset: 3px;
  }

  .gw-review-dialog-uploads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 2px;
  }

  .gw-review-dialog-uploads-title {
    grid-column: 1 / -1;
    margin-bottom: -4px;
  }

  .gw-review-dialog-upload {
    position: relative;
    display: flex;
    min-height: 82px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 16px;
    border: 1px dashed #354137;
    border-radius: 10px;
    background: #0F1510;
    cursor: pointer;
  }

  .gw-review-dialog-upload strong {
    color: #D8DED6;
    font-size: 13px;
    font-weight: 590;
  }

  .gw-review-dialog-upload span {
    color: #667168;
    font-size: 11px;
    line-height: 1.4;
  }

  .gw-review-dialog-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .gw-review-dialog-upload:focus-within {
    border-color: #63CA38;
  }

  .gw-review-dialog-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid #2A332B;
  }

  .gw-review-dialog-consent {
    max-width: 55ch;
    margin: 0;
    color: #657066;
    font-size: 11px;
    line-height: 1.5;
  }

  .gw-review-dialog-consent a {
    color: #A5AFA5;
    text-underline-offset: 3px;
  }

  .gw-review-dialog-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border: 1px solid #63CA38;
    border-radius: 10px;
    background: #63CA38;
    color: #0A0D0A;
    font: inherit;
    font-size: 13px;
    font-weight: 690;
    cursor: pointer;
  }

  .gw-review-dialog-submit:hover {
    background: #75D84C;
    border-color: #75D84C;
  }

  .gw-review-dialog-state {
    min-height: 18px;
    margin: 18px 0 0;
    color: #8F9A90;
    font-size: 11px;
    line-height: 1.45;
  }

  .gw-review-dialog-state.is-ready {
    color: #D2F7C2;
  }

  .gw-review-dialog-state.is-error {
    color: #F0B4A9;
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-leave {
      margin-left: 12px;
      padding-inline: 16px;
    }
  }
}

@media (min-width: 1025px) {
  .gw-reviews-v1-eyebrow::before {
    display: none;
  }
}

/* Section 06 / Desktop V1 polish — pending visual fixes + Section 05 form-language sync. */

@media (min-width: 1025px) {
  /* Registry alignment */
  .gw-reviews-v1-registry-head > span:last-child {
    justify-self: start;
    width: 92px;
    text-align: left;
  }

  .gw-reviews-v1-entry time {
    justify-self: start;
    width: 92px;
    text-align: left;
  }

  /* Keep the sort control intact instead of allowing it to collapse to the arrow. */
  .gw-reviews-v1-toolbar-actions {
    min-width: max-content;
  }

  .gw-reviews-v1-sort {
    flex: 0 0 auto;
    min-width: 192px;
    grid-template-columns: auto minmax(max-content, 1fr) 14px;
    white-space: nowrap;
  }

  /* Review dialog — use the approved Section 05 form language on a paper surface. */
  .gw-review-dialog {
    border-color: #DDE3DA;
    background: #F7F8F5;
    color: #101410;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .34);
  }

  .gw-review-dialog::backdrop {
    background: rgba(6, 9, 7, .78);
    backdrop-filter: blur(5px);
  }

  .gw-review-dialog-head {
    border-bottom-color: #DDE3DA;
  }

  .gw-review-dialog-kicker {
    color: #2E7419;
  }

  .gw-review-dialog-title {
    color: #101410;
  }

  .gw-review-dialog-copy {
    color: #4D574E;
  }

  .gw-review-dialog-close {
    border-color: #BFC9BB;
    background: transparent;
    color: #4D574E;
  }

  .gw-review-dialog-close:hover {
    border-color: #8F9A8D;
    background: rgba(16, 20, 16, .035);
    color: #101410;
  }

  .gw-review-dialog-field > span,
  .gw-review-dialog-rating > legend,
  .gw-review-dialog-uploads-title {
    margin-bottom: 12px;
    color: #677168;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: none;
  }

  .gw-review-dialog-field input,
  .gw-review-dialog-field select,
  .gw-review-dialog-field textarea {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    background-color: transparent;
    color: #101410;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
  }

  .gw-review-dialog-field select {
    appearance: none;
    padding-right: 28px;
    background-image:
      linear-gradient(45deg, transparent 50%, #4D574E 50%),
      linear-gradient(135deg, #4D574E 50%, transparent 50%);
    background-position:
      calc(100% - 9px) 50%,
      calc(100% - 4px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
  }

  .gw-review-dialog-field textarea {
    min-height: 148px;
    padding: 10px 0 14px;
    resize: vertical;
    line-height: 1.55;
  }

  .gw-review-dialog-field input::placeholder,
  .gw-review-dialog-field textarea::placeholder {
    color: #677168;
    opacity: 1;
  }

  .gw-review-dialog-field input:focus,
  .gw-review-dialog-field select:focus,
  .gw-review-dialog-field textarea:focus,
  .gw-review-dialog-field input:focus-visible,
  .gw-review-dialog-field select:focus-visible,
  .gw-review-dialog-field textarea:focus-visible {
    border-bottom-color: #2E7419;
    background-color: transparent;
    box-shadow: 0 2px 0 #2E7419;
  }

  .gw-review-dialog-stars {
    gap: 8px;
  }

  .gw-review-dialog-stars label {
    width: 44px;
    height: 44px;
    border: 1px solid #BFC9BB;
    border-radius: 10px;
    background: transparent;
    color: #7D897B;
  }

  .gw-review-dialog-stars input:checked + label,
  .gw-review-dialog-stars label:hover {
    border-color: #61C835;
    background: #D2F7C2;
    color: #2E7419;
  }

  .gw-review-dialog-stars input:focus-visible + label {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-uploads {
    gap: 0 24px;
    margin-top: 6px;
    border-top: 1px solid #BFC9BB;
    border-bottom: 1px solid #BFC9BB;
  }

  .gw-review-dialog-uploads-title {
    padding-top: 18px;
    margin-bottom: 4px;
  }

  .gw-review-dialog-upload {
    min-height: 86px;
    padding: 16px 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .gw-review-dialog-upload + .gw-review-dialog-upload {
    border-left: 1px solid #DDE3DA;
    padding-left: 24px;
  }

  .gw-review-dialog-upload strong {
    color: #101410;
    font-size: 14px;
    font-weight: 560;
  }

  .gw-review-dialog-upload span {
    color: #677168;
    font-size: 11px;
    line-height: 1.45;
  }

  .gw-review-dialog-upload:focus-within {
    box-shadow: inset 0 -2px 0 #2E7419;
  }

  .gw-review-dialog-foot {
    border-top-color: #DDE3DA;
  }

  .gw-review-dialog-consent {
    color: #677168;
  }

  .gw-review-dialog-consent a {
    color: #101410;
  }

  .gw-review-dialog-submit {
    position: relative;
    min-height: 52px;
    justify-content: space-between;
    gap: 18px;
    padding: 0 14px 0 20px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: #61C835;
    color: #090C0A;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
  }

  .gw-review-dialog-submit::after {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    content: "↗";
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
  }

  .gw-review-dialog-submit:hover {
    border-color: #429B24;
    background: #56BC30;
    transform: translateY(-1px);
  }

  .gw-review-dialog-submit:active {
    transform: translateY(0);
  }

  .gw-review-dialog-submit:focus-visible {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-state {
    color: #677168;
  }

  .gw-review-dialog-state.is-ready {
    color: #2E7419;
  }

  .gw-review-dialog-state.is-error {
    color: #9F3D2F;
  }

  /* Do not expose prototype/demo messaging in the public composition. */
  .gw-reviews-v1-demo,
  .gw-reviews-v1-foot p {
    display: none;
  }

  .gw-reviews-v1-foot {
    justify-content: flex-end;
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-filters {
      gap: 12px;
    }

    .gw-reviews-v1-filter {
      font-size: 11px;
    }

    .gw-reviews-v1-sort {
      min-width: 174px;
      padding-left: 14px;
    }
  }
}

/* Section 06 / Desktop V1 final visual fixes — approved CTA language + registry alignment. */
@media (min-width: 1025px) {
  /* Primary review actions must reuse the approved Genesis Web CTA language. */
  .gw-reviews-v1-leave,
  .gw-review-dialog-submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    gap: 18px;
    padding: 0 14px 0 20px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: var(--green);
    color: var(--black);
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
  }

  .gw-reviews-v1-leave {
    min-width: 194px;
    margin-left: 18px;
  }

  .gw-reviews-v1-leave .action-arrow,
  .gw-review-dialog-submit .action-arrow {
    display: block;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    background: transparent;
    box-sizing: border-box;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
  }

  .gw-review-dialog-submit::after {
    content: none;
    display: none;
  }

  .gw-reviews-v1-leave:hover,
  .gw-review-dialog-submit:hover {
    border-color: #429B24;
    background: #56BC30;
    transform: translateY(-1px);
  }

  .gw-reviews-v1-leave:hover .action-arrow,
  .gw-review-dialog-submit:hover .action-arrow {
    transform: translate(2px, -1px);
    border-color: rgba(16,20,16,.30);
    background: rgba(255,255,255,.12);
  }

  .gw-reviews-v1-leave:active,
  .gw-review-dialog-submit:active {
    transform: translateY(0);
    box-shadow: inset 0 1px 2px rgba(16,20,16,.08);
  }

  .gw-reviews-v1-leave:focus-visible,
  .gw-review-dialog-submit:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  /* Optical centering of star glyphs inside the 44px controls. */
  .gw-review-dialog-stars label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 1px;
    line-height: 1;
  }

  /* LOCKED project CTA treatment: mirrors the approved Section 03 text link. */
  .gw-reviews-v1-project-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 28px;
    padding-bottom: 8px;
    border-bottom: 1px solid #354036;
    color: #F7F8F5;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-reviews-v1-project-arrow {
    display: block;
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    overflow: visible;
    fill: none;
    stroke: #63CA38;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease;
  }

  .gw-reviews-v1-project-link:hover .gw-reviews-v1-project-arrow,
  .gw-reviews-v1-project-link:focus-visible .gw-reviews-v1-project-arrow {
    transform: translate(2px, -2px);
  }

  .gw-reviews-v1-project-link:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }

  /* Footer count follows the exact start of the Date column and the same type rhythm as dates. */
  .gw-reviews-v1-foot {
    display: grid;
    grid-template-columns: 64px 1.1fr 1.15fr 1fr 92px;
    gap: 18px;
    align-items: start;
    justify-content: initial;
  }

  .gw-reviews-v1-foot > span {
    grid-column: 5;
    justify-self: start;
    width: 92px;
    text-align: left;
    color: #69746A;
    font-size: 12px;
    line-height: 1.35;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
  }

  /* Consent copy follows the approved form typography used elsewhere on the site. */
  .gw-review-dialog-consent {
    max-width: 55ch;
    margin: 2px 0 0;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .gw-review-dialog-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  .gw-review-dialog-consent a:hover {
    color: var(--ink);
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-leave {
      min-width: 184px;
      margin-left: 12px;
    }
  }
}

/* GLOBAL / ALL BREAKPOINTS — LOCKED SVG-ONLY ARROW GUARDRAIL.
   Never let Safari/iOS render a Unicode/platform arrow for project text links. */
.capability-section .cap-project-slide-link::after,
.capability-section .cap-v7-link::after,
.capability-section .cap-v6-link::after,
.capability-section .cap-v4-project-link::after,
.capability-section .cap-v2-project-link::after,
.gw-reviews-v1-project-link::after {
  display: none !important;
  content: none !important;
}

.capability-section .cap-project-slide-link .cap-v7-svg-arrow,
.capability-section .cap-v7-link .cap-v7-svg-arrow,
.capability-section .cap-v6-link .cap-v7-svg-arrow,
.capability-section .cap-v4-project-link .cap-v7-svg-arrow,
.capability-section .cap-v2-project-link .cap-v7-svg-arrow {
  display: block;
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  overflow: visible;
  fill: none;
  stroke: #63CA38;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 180ms ease;
}

.capability-section .cap-project-slide-link:hover .cap-v7-svg-arrow,
.capability-section .cap-project-slide-link:focus-visible .cap-v7-svg-arrow,
.capability-section .cap-v7-link:hover .cap-v7-svg-arrow,
.capability-section .cap-v7-link:focus-visible .cap-v7-svg-arrow,
.capability-section .cap-v6-link:hover .cap-v7-svg-arrow,
.capability-section .cap-v6-link:focus-visible .cap-v7-svg-arrow,
.capability-section .cap-v4-project-link:hover .cap-v7-svg-arrow,
.capability-section .cap-v4-project-link:focus-visible .cap-v7-svg-arrow,
.capability-section .cap-v2-project-link:hover .cap-v7-svg-arrow,
.capability-section .cap-v2-project-link:focus-visible .cap-v7-svg-arrow {
  transform: translate(2px, -2px);
}

/* Section 06 / Desktop — custom project-type select.
   Replaces the OS-native popup with the approved Genesis Web form language. */
@media (min-width: 1025px) {
  .gw-review-dialog-field--project {
    position: relative;
  }

  .gw-review-project-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .gw-review-project-select {
    position: relative;
    width: 100%;
  }

  .gw-review-project-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    cursor: pointer;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
  }

  .gw-review-project-select-trigger.is-placeholder {
    color: #677168;
  }

  .gw-review-project-select-trigger:hover {
    border-bottom-color: #4D574E;
  }

  .gw-review-project-select-trigger:focus-visible,
  .gw-review-project-select-trigger[aria-expanded="true"] {
    border-bottom-color: #2E7419;
    box-shadow: 0 2px 0 #2E7419;
  }

  .gw-review-project-select-chevron {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: #4D574E;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease, stroke 180ms ease;
  }

  .gw-review-project-select-trigger[aria-expanded="true"] .gw-review-project-select-chevron {
    stroke: #2E7419;
    transform: rotate(180deg);
  }

  .gw-review-project-select-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 6px;
    border: 1px solid #BFC9BB;
    border-radius: 8px;
    background: #F7F8F5;
    box-shadow: 0 18px 42px rgba(16, 20, 16, .14), 0 2px 8px rgba(16, 20, 16, .06);
  }

  .gw-review-project-select-menu[hidden] {
    display: none;
  }

  .gw-review-project-select-option {
    position: relative;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 0 11px;
    border: 0;
    border-radius: 6px;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
  }

  .gw-review-project-select-option::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: #61C835;
    opacity: 0;
    transform: scale(.7);
    transition: opacity 140ms ease, transform 140ms ease;
  }

  .gw-review-project-select-option:hover,
  .gw-review-project-select-option:focus-visible {
    background: rgba(210, 247, 194, .48);
  }

  .gw-review-project-select-option:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(46, 116, 25, .78);
  }

  .gw-review-project-select-option[aria-selected="true"] {
    color: #2E7419;
    font-weight: 560;
  }

  .gw-review-project-select-option[aria-selected="true"]::before {
    opacity: 1;
    transform: scale(1);
  }
}

/* Section 06 / Desktop audit fixes — calmer proof rhythm, stronger metadata contrast and form feedback. */
@media (min-width: 1025px) {
  /* Keep the editorial proof structure, but reduce database-like internal ruling. */
  .gw-reviews-v1-meta div {
    border-top-color: rgba(221, 227, 218, .09);
  }

  .gw-reviews-v1-project-block li {
    padding-top: 7px;
    padding-bottom: 7px;
    border-top: 0;
  }

  /* Small metadata must remain quiet without falling below readable contrast. */
  .gw-reviews-v1-meta dt,
  .gw-reviews-v1-project-block > span,
  .gw-reviews-v1-registry-head,
  .gw-reviews-v1-entry time,
  .gw-reviews-v1-foot > span {
    color: #7F8A80;
  }

  .gw-reviews-v1-registry-head {
    font-size: 10px;
  }

  .gw-reviews-v1-sort svg {
    stroke: #7F8A80;
  }

  .gw-reviews-v1-sort:hover svg,
  .gw-reviews-v1-sort:focus-visible svg {
    stroke: #63CA38;
  }

  .gw-reviews-v1-quote p,
  .gw-reviews-v1-person-line strong,
  .gw-reviews-v1-project-block > strong,
  .gw-reviews-v1-project-block li,
  .gw-reviews-v1-entry > * {
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-sr-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  /* Align form rows on the same two-column grid: project under name, rating under contact. */
  .gw-review-dialog-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .gw-review-dialog-grid > .gw-review-dialog-field:not(.gw-review-dialog-field--wide) {
    grid-column: span 6;
  }

  .gw-review-dialog-grid > .gw-review-dialog-field:has(select[name="project_type"]),
  .gw-review-dialog-grid > .gw-review-dialog-rating {
    grid-column: span 6;
  }

  .gw-review-dialog-grid > .gw-review-dialog-rating {
    align-self: start;
  }

  .gw-review-dialog-grid > .gw-review-dialog-field--wide,
  .gw-review-dialog-grid > .gw-review-dialog-uploads {
    grid-column: 1 / -1;
  }

  /* Converted project-type field keeps the locked Section 02/05 form typography. */
  .gw-review-dialog-field > .gw-review-dialog-field-label {
    display: block;
    margin: 0 0 12px;
    padding: 0;
    color: var(--quiet);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .gw-review-dialog-field-error {
    margin: 8px 0 0;
    color: #9F3D2F;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: 0;
  }

  .gw-review-dialog-field-error[hidden] {
    display: none;
  }

  .gw-review-dialog-field input[aria-invalid="true"],
  .gw-review-dialog-field textarea[aria-invalid="true"],
  .gw-review-project-select-trigger[aria-invalid="true"] {
    border-bottom-color: #9F3D2F;
    box-shadow: 0 2px 0 rgba(159, 61, 47, .78);
  }

  .gw-review-dialog-rating[aria-invalid="true"] .gw-review-dialog-stars label {
    border-color: rgba(159, 61, 47, .55);
  }

  /* Rating now reads naturally from 1 → 5 and fills cumulatively. */
  .gw-review-dialog-stars label.is-filled {
    border-color: #61C835;
    background: #D2F7C2;
    color: #2E7419;
  }

  .gw-review-dialog-stars input:focus-visible + label {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  /* Optional uploads stay secondary while showing a clear selected-file state. */
  .gw-review-dialog-uploads {
    border-top-color: #DDE3DA;
    border-bottom-color: #DDE3DA;
  }

  .gw-review-dialog-upload-cell {
    min-width: 0;
    padding: 0;
  }

  .gw-review-dialog-upload-cell + .gw-review-dialog-upload-cell {
    padding-left: 24px;
    border-left: 1px solid #DDE3DA;
  }

  .gw-review-dialog-upload-cell .gw-review-dialog-upload {
    min-height: 76px;
    padding: 14px 0 10px;
  }

  .gw-review-dialog-upload-cell + .gw-review-dialog-upload-cell .gw-review-dialog-upload {
    padding-left: 0;
    border-left: 0;
  }

  .gw-review-dialog-upload-meta {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 12px;
  }

  .gw-review-dialog-upload-status {
    min-width: 0;
    color: var(--quiet);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .gw-review-dialog-upload-status.is-error {
    color: #9F3D2F;
  }

  .gw-review-dialog-upload-clear {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #BFC9BB;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-size: 11px;
    font-weight: 520;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-upload-clear:hover {
    border-bottom-color: var(--green-deep);
    color: var(--ink);
  }

  .gw-review-dialog-upload-clear:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-review-dialog {
    overscroll-behavior: contain;
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-filter {
      font-size: 12px;
    }
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .gw-reviews-v1 *,
  .gw-reviews-v1 *::before,
  .gw-reviews-v1 *::after,
  .gw-review-dialog *,
  .gw-review-dialog *::before,
  .gw-review-dialog *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Section 06 / Desktop — compact review count, calm section finish and motion polish. */
@media (min-width: 1025px) {
  .gw-reviews-v1-toolbar-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin-right: 20px;
    color: #AAB4AA;
    font-size: 12px;
    font-weight: 550;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .gw-reviews-v1-toolbar-count::before {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    content: "";
    background: #63CA38;
  }

  /* The old footer supplied the section's bottom breathing room. Keep that rhythm after moving the count. */
  .gw-reviews-v1-registry {
    padding-bottom: clamp(120px, 9vw, 148px);
  }

  .gw-reviews-v1-foot[hidden] {
    display: none !important;
  }

  @media (max-width: 1180px) {
    .gw-reviews-v1-toolbar-count {
      margin-right: 14px;
    }
  }
}

/* Section 06 / Desktop motion V1 — follows the restrained reveal/state grammar of Sections 02–05. */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  .gw-reviews-v1[data-gw-reviews-motion] {
    --gw-reviews-motion-ease: cubic-bezier(.22, 1, .36, 1);
  }

  @keyframes gw-reviews-motion-enter {
    from { opacity: 0; transform: translateY(11px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-reviews-motion-enter-left {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes gw-reviews-motion-enter-right {
    from { opacity: 0; transform: translateX(8px); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes gw-reviews-proof-refresh {
    from { opacity: .46; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-reviews-list-refresh {
    from { opacity: .58; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-reviews-count-refresh {
    from { opacity: .45; }
    to { opacity: 1; }
  }

  @keyframes gw-review-dialog-enter {
    from { opacity: 0; transform: translateY(12px) scale(.992); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  @keyframes gw-review-backdrop-enter {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-toolbar {
    opacity: 0;
    transform: translateY(11px);
  }

  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-toolbar {
    animation: gw-reviews-motion-enter 460ms var(--gw-reviews-motion-ease) both;
  }

  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-title { animation-delay: 55ms; }
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-lead { animation-delay: 125ms; }
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-toolbar { animation-delay: 185ms; }

  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-person,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-quote,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-project,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-list {
    opacity: 0;
  }

  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-person {
    transform: translateX(-8px);
  }

  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-quote,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-list {
    transform: translateY(10px);
  }

  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-project {
    transform: translateX(8px);
  }

  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-person {
    animation: gw-reviews-motion-enter-left 440ms var(--gw-reviews-motion-ease) both;
  }

  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-quote {
    animation: gw-reviews-motion-enter 480ms var(--gw-reviews-motion-ease) 55ms both;
  }

  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-project {
    animation: gw-reviews-motion-enter-right 440ms var(--gw-reviews-motion-ease) 110ms both;
  }

  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-registry-head {
    animation: gw-reviews-motion-enter 360ms var(--gw-reviews-motion-ease) both;
  }

  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-registry-list {
    animation: gw-reviews-motion-enter 460ms var(--gw-reviews-motion-ease) 70ms both;
  }

  .gw-reviews-v1-proof.is-motion-refreshing {
    animation: gw-reviews-proof-refresh 260ms cubic-bezier(.2, .8, .2, 1) both;
  }

  .gw-reviews-v1-registry-list.is-motion-refreshing {
    animation: gw-reviews-list-refresh 220ms cubic-bezier(.2, .8, .2, 1) both;
  }

  .gw-reviews-v1-toolbar-count.is-motion-refreshing {
    animation: gw-reviews-count-refresh 180ms ease-out both;
  }

  .gw-review-dialog[open] {
    animation: gw-review-dialog-enter 300ms var(--gw-reviews-motion-ease, cubic-bezier(.22, 1, .36, 1)) both;
  }

  .gw-review-dialog[open]::backdrop {
    animation: gw-review-backdrop-enter 220ms ease-out both;
  }
}

/* Section 06 / Desktop — quiet progressive disclosure below the registry. */
@media (min-width: 1025px) {
  .gw-reviews-v1-more {
    display: flex;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid #252D26;
  }

  .gw-reviews-v1-more[hidden] {
    display: none !important;
  }

  .gw-reviews-v1-more-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #AAB4AA;
    font: inherit;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    cursor: pointer;
    transition: color 180ms ease;
  }

  .gw-reviews-v1-more-button svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #7F8A80;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms cubic-bezier(.22, 1, .36, 1), stroke 180ms ease;
  }

  .gw-reviews-v1-more-button:hover,
  .gw-reviews-v1-more-button:focus-visible {
    color: #F7F8F5;
  }

  .gw-reviews-v1-more-button:hover svg,
  .gw-reviews-v1-more-button:focus-visible svg {
    stroke: #63CA38;
    transform: translateY(2px);
  }

  .gw-reviews-v1-more-button:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  @keyframes gw-reviews-more-row-enter {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .gw-reviews-v1-entry.is-motion-more-enter {
    animation: gw-reviews-more-row-enter 340ms cubic-bezier(.22, 1, .36, 1) calc(var(--gw-review-more-index, 0) * 45ms) both;
  }
}

/* =========================================================
   Section 06 / Tablet V1 — Review Registry adaptation
   768–1024. Shared DOM/JS; Desktop remains untouched.
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-reviews-v1 {
    position: relative;
    display: block;
    overflow: hidden;
    border-top: 1px solid #DDE3DA;
    background: #0B0F0C;
    color: #F7F8F5;
  }

  .gw-reviews-v1-shell {
    position: relative;
    width: min(calc(100% - 64px), 960px);
    margin-inline: auto;
  }

  .gw-reviews-v1-opening {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: end;
    padding: clamp(88px, 10vw, 104px) 0 72px;
  }

  .gw-reviews-v1-heading {
    grid-column: 1 / 6;
    min-width: 0;
  }

  .gw-reviews-v1-eyebrow {
    display: block;
    margin: 0 0 24px;
    color: #63CA38;
    font-size: 11px;
    font-weight: 680;
    line-height: 1.25;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-eyebrow::before {
    display: none;
    content: none;
  }

  .gw-reviews-v1-title {
    max-width: none;
    margin: 0;
    color: #F7F8F5;
    font-size: clamp(44px, 5.15vw, 52px);
    font-weight: 590;
    line-height: .99;
    letter-spacing: -.045em;
  }

  .gw-reviews-v1-title span {
    display: block;
  }

  .gw-reviews-v1-lead {
    grid-column: 6 / 9;
    max-width: 32ch;
    margin: 0 0 3px;
    color: #AAB4AA;
    font-size: 16px;
    font-weight: 410;
    line-height: 1.58;
    letter-spacing: -.012em;
  }

  .gw-reviews-v1-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border-top: 1px solid #283129;
    border-bottom: 1px solid #283129;
  }

  .gw-reviews-v1-filters {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    min-height: 60px;
  }

  .gw-reviews-v1-filter,
  .gw-reviews-v1-sort {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }

  .gw-reviews-v1-filter {
    position: relative;
    min-width: 0;
    min-height: 52px;
    padding: 0;
    color: #7F8A80;
    font-size: 12px;
    font-weight: 560;
    line-height: 1;
    white-space: nowrap;
    transition: color 180ms ease;
  }

  .gw-reviews-v1-filter::after {
    position: absolute;
    right: 100%;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: #63CA38;
    transition: right 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-reviews-v1-filter.is-active,
  .gw-reviews-v1-filter:focus-visible {
    color: #F7F8F5;
  }

  .gw-reviews-v1-filter.is-active::after {
    right: calc(100% - 28px);
  }

  .gw-reviews-v1-filter:focus-visible,
  .gw-reviews-v1-sort:focus-visible,
  .gw-reviews-v1-entry:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }

  .gw-reviews-v1-toolbar-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 14px;
    align-items: center;
    min-width: 0;
    min-height: 68px;
    border-top: 1px solid #283129;
  }

  .gw-reviews-v1-toolbar-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin: 0;
    color: #AAB4AA;
    font-size: 12px;
    font-weight: 550;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .gw-reviews-v1-toolbar-count::before {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-sort {
    display: grid;
    grid-template-columns: auto minmax(max-content, 1fr) 14px;
    align-items: center;
    gap: 8px;
    min-width: 170px;
    min-height: 52px;
    padding: 0 0 0 16px;
    border-left: 1px solid #283129;
    color: #7F8A80;
    font-size: 10px;
    font-weight: 620;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .gw-reviews-v1-sort strong {
    color: #D5DCD3;
    font-size: 11px;
    font-weight: 620;
    letter-spacing: .02em;
  }

  .gw-reviews-v1-sort svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #7F8A80;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease, stroke 180ms ease;
  }

  .gw-reviews-v1-sort:focus-visible svg {
    stroke: #63CA38;
  }

  .gw-reviews-v1-sort[data-review-sort="old"] svg {
    transform: rotate(180deg);
  }

  .gw-reviews-v1-leave,
  .gw-review-dialog-submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 52px;
    padding: 0 13px 0 18px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: #61C835;
    color: #090C0A;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
    cursor: pointer;
  }

  .gw-reviews-v1-leave {
    min-width: 180px;
    margin: 0;
  }

  .gw-reviews-v1-leave .action-arrow,
  .gw-review-dialog-submit .action-arrow {
    display: block;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    box-sizing: border-box;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-leave:focus-visible,
  .gw-review-dialog-submit:focus-visible {
    outline: 2px solid #D2F7C2;
    outline-offset: 3px;
  }

  .gw-reviews-v1-stage {
    padding: 56px 0 28px;
  }

  .gw-reviews-v1-proof {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
    min-height: 0;
    padding: 40px 0 42px;
    border-top: 1px solid #2A332B;
    border-bottom: 1px solid #2A332B;
  }

  .gw-reviews-v1-person {
    grid-column: 1 / 4;
    min-width: 0;
    padding-right: 20px;
  }

  .gw-reviews-v1-person-line {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .gw-reviews-v1-avatar {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border: 1px solid #3A453B;
    border-radius: 50%;
    background: #121813;
    color: #D6DDD4;
    font-size: 17px;
    font-weight: 620;
  }

  .gw-reviews-v1-person-line strong {
    display: block;
    color: #EEF1EC;
    font-size: 15px;
    font-weight: 610;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-rating {
    display: block;
    margin-top: 7px;
    color: #D2F7C2;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .11em;
  }

  .gw-reviews-v1-meta {
    margin: 36px 0 0;
  }

  .gw-reviews-v1-meta div {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    padding: 11px 0;
    border-top: 1px solid rgba(221, 227, 218, .09);
  }

  .gw-reviews-v1-meta dt,
  .gw-reviews-v1-meta dd {
    margin: 0;
  }

  .gw-reviews-v1-meta dt {
    color: #7F8A80;
    font-size: 10px;
    font-weight: 620;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-meta dd {
    color: #B8C1B7;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-project-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid #354036;
    color: #F7F8F5;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-reviews-v1-project-arrow {
    display: block;
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    fill: none;
    stroke: #63CA38;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-project-link:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }

  .gw-reviews-v1-quote {
    position: relative;
    grid-column: 4 / 9;
    min-width: 0;
    margin: 0;
    padding: 4px 0 0 32px;
    border-left: 1px solid #2A332B;
  }

  .gw-reviews-v1-quote-mark {
    position: absolute;
    top: -5px;
    left: 31px;
    color: #63CA38;
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
  }

  .gw-reviews-v1-quote p {
    max-width: 34ch;
    margin: 38px 0 0;
    color: #EDF0EB;
    font-size: clamp(20px, 2.4vw, 22px);
    font-weight: 450;
    line-height: 1.5;
    letter-spacing: -.022em;
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-project {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    margin-top: 38px;
    padding: 30px 0 0;
    border-top: 1px solid #2A332B;
    border-left: 0;
  }

  .gw-reviews-v1-project-block:first-child {
    grid-column: 1 / 4;
  }

  .gw-reviews-v1-project-block--scope {
    grid-column: 4 / 7;
  }

  .gw-reviews-v1-project-block + .gw-reviews-v1-project-block {
    margin-top: 0;
  }

  .gw-reviews-v1-project-block > span {
    display: block;
    margin-bottom: 12px;
    color: #7F8A80;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-project-block > strong {
    display: block;
    max-width: 18ch;
    color: #DEE4DC;
    font-size: 17px;
    font-weight: 570;
    line-height: 1.35;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-project-block ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 16px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gw-reviews-v1-project-block li {
    position: relative;
    padding: 7px 0 7px 14px;
    color: #AAB4AA;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-project-block li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 1px;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-registry {
    margin-top: 16px;
    padding-bottom: clamp(112px, 13vw, 128px);
  }

  .gw-reviews-v1-registry-head,
  .gw-reviews-v1-entry {
    display: grid;
    grid-template-columns: 48px 1.15fr 1.8fr 82px;
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: center;
  }

  .gw-reviews-v1-registry-head {
    min-height: 44px;
    color: #7F8A80;
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-registry-head > span:nth-child(1) { grid-column: 1; }
  .gw-reviews-v1-registry-head > span:nth-child(2) { grid-column: 2; }
  .gw-reviews-v1-registry-head > span:nth-child(3) { grid-column: 3; }
  .gw-reviews-v1-registry-head > span:nth-child(4) { display: none; }
  .gw-reviews-v1-registry-head > span:nth-child(5) { grid-column: 4; }

  .gw-reviews-v1-entry {
    position: relative;
    width: 100%;
    min-height: 84px;
    padding: 12px 0;
    border: 0;
    border-top: 1px solid #252D26;
    background: transparent;
    color: #7E897F;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease;
  }

  .gw-reviews-v1-entry:last-child {
    border-bottom: 1px solid #252D26;
  }

  .gw-reviews-v1-entry::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    content: "";
    background: #63CA38;
    transition: width 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-reviews-v1-entry.is-active {
    background: rgba(255, 255, 255, .012);
    color: #C6CEC4;
  }

  .gw-reviews-v1-entry.is-active::before {
    width: 38px;
  }

  .gw-reviews-v1-entry-num {
    grid-column: 1;
    grid-row: 1 / 3;
    color: #63CA38;
    font-size: 10px !important;
    font-weight: 680;
    letter-spacing: .07em;
  }

  .gw-reviews-v1-entry > strong {
    grid-column: 2;
    grid-row: 1 / 3;
    color: #DDE3DA;
    font-size: 13px;
    font-weight: 590;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry > span:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    color: #AAB4AA;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry > span:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
    align-self: start;
    margin-top: 3px;
    color: #69746A;
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry time {
    grid-column: 4;
    grid-row: 1 / 3;
    justify-self: start;
    color: #7F8A80;
    font-size: 12px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
  }

  .gw-reviews-v1-entry[hidden] {
    display: none;
  }

  .gw-reviews-v1-more {
    display: flex;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid #252D26;
  }

  .gw-reviews-v1-more[hidden] {
    display: none !important;
  }

  .gw-reviews-v1-more-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #AAB4AA;
    font: inherit;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    cursor: pointer;
  }

  .gw-reviews-v1-more-button svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #7F8A80;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-more-button:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 4px;
  }

  .gw-reviews-v1-foot[hidden] {
    display: none !important;
  }

  .gw-reviews-v1-sr-status,
  .gw-review-dialog-sr-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  html.gw-review-dialog-open {
    overflow: hidden;
  }

  .gw-review-dialog {
    width: min(780px, calc(100vw - 64px));
    max-width: none;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    margin: auto;
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #DDE3DA;
    border-radius: 0;
    background: #F7F8F5;
    color: #101410;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .34);
  }

  .gw-review-dialog::backdrop {
    background: rgba(6, 9, 7, .78);
    backdrop-filter: blur(5px);
  }

  .gw-review-dialog-shell {
    min-height: 100%;
  }

  .gw-review-dialog-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: start;
    padding: 32px 32px 26px;
    border-bottom: 1px solid #DDE3DA;
  }

  .gw-review-dialog-kicker {
    margin: 0 0 12px;
    color: #2E7419;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-review-dialog-title {
    margin: 0;
    color: #101410;
    font-size: clamp(32px, 4vw, 36px);
    font-weight: 560;
    line-height: 1.04;
    letter-spacing: -.04em;
  }

  .gw-review-dialog-copy {
    max-width: 56ch;
    margin: 14px 0 0;
    color: #4D574E;
    font-size: 14px;
    line-height: 1.55;
  }

  .gw-review-dialog-close {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #BFC9BB;
    border-radius: 10px;
    background: transparent;
    color: #4D574E;
    font: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-close:focus-visible {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-form {
    padding: 28px 32px 32px;
  }

  .gw-review-dialog-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px 20px;
  }

  .gw-review-dialog-grid > .gw-review-dialog-field:not(.gw-review-dialog-field--wide),
  .gw-review-dialog-grid > .gw-review-dialog-field--project,
  .gw-review-dialog-grid > .gw-review-dialog-rating {
    grid-column: span 6;
    min-width: 0;
  }

  .gw-review-dialog-grid > .gw-review-dialog-field--wide,
  .gw-review-dialog-grid > .gw-review-dialog-uploads {
    grid-column: 1 / -1;
  }

  .gw-review-dialog-field > span,
  .gw-review-dialog-field > .gw-review-dialog-field-label,
  .gw-review-dialog-rating > legend,
  .gw-review-dialog-uploads-title {
    display: block;
    margin: 0 0 12px;
    padding: 0;
    color: #677168;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: none;
  }

  .gw-review-dialog-field input,
  .gw-review-dialog-field select,
  .gw-review-dialog-field textarea,
  .gw-review-project-select-trigger {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    box-shadow: none;
  }

  .gw-review-dialog-field textarea {
    min-height: 142px;
    padding-top: 10px;
    padding-bottom: 14px;
    resize: vertical;
    line-height: 1.55;
  }

  .gw-review-dialog-field input::placeholder,
  .gw-review-dialog-field textarea::placeholder,
  .gw-review-project-select-trigger.is-placeholder {
    color: #677168;
    opacity: 1;
  }

  .gw-review-dialog-field input:focus,
  .gw-review-dialog-field textarea:focus,
  .gw-review-dialog-field input:focus-visible,
  .gw-review-dialog-field textarea:focus-visible,
  .gw-review-project-select-trigger:focus-visible,
  .gw-review-project-select-trigger[aria-expanded="true"] {
    border-bottom-color: #2E7419;
    box-shadow: 0 2px 0 #2E7419;
  }

  .gw-review-project-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .gw-review-dialog-field--project,
  .gw-review-project-select {
    position: relative;
  }

  .gw-review-project-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    text-align: left;
    cursor: pointer;
  }

  .gw-review-project-select-chevron {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: #4D574E;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 180ms ease, stroke 180ms ease;
  }

  .gw-review-project-select-trigger[aria-expanded="true"] .gw-review-project-select-chevron {
    stroke: #2E7419;
    transform: rotate(180deg);
  }

  .gw-review-project-select-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 6px;
    border: 1px solid #BFC9BB;
    border-radius: 8px;
    background: #F7F8F5;
    box-shadow: 0 18px 42px rgba(16, 20, 16, .14), 0 2px 8px rgba(16, 20, 16, .06);
  }

  .gw-review-project-select-menu[hidden] {
    display: none;
  }

  .gw-review-project-select-option {
    position: relative;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 0 11px;
    border: 0;
    border-radius: 6px;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
  }

  .gw-review-project-select-option::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: #61C835;
    opacity: 0;
  }

  .gw-review-project-select-option:focus-visible {
    background: rgba(210, 247, 194, .48);
    box-shadow: inset 0 0 0 2px rgba(46, 116, 25, .78);
  }

  .gw-review-project-select-option[aria-selected="true"] {
    color: #2E7419;
    font-weight: 560;
  }

  .gw-review-project-select-option[aria-selected="true"]::before {
    opacity: 1;
  }

  .gw-review-dialog-rating {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .gw-review-dialog-stars {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .gw-review-dialog-stars input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .gw-review-dialog-stars label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 0 1px;
    border: 1px solid #BFC9BB;
    border-radius: 10px;
    background: transparent;
    color: #7D897B;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-stars label.is-filled {
    border-color: #61C835;
    background: #D2F7C2;
    color: #2E7419;
  }

  .gw-review-dialog-stars input:focus-visible + label {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-uploads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
    margin-top: 4px;
    border-top: 1px solid #DDE3DA;
    border-bottom: 1px solid #DDE3DA;
  }

  .gw-review-dialog-uploads-title {
    grid-column: 1 / -1;
    padding-top: 18px;
    margin-bottom: 4px;
  }

  .gw-review-dialog-upload-cell {
    min-width: 0;
    padding: 0;
  }

  .gw-review-dialog-upload-cell + .gw-review-dialog-upload-cell {
    padding-left: 20px;
    border-left: 1px solid #DDE3DA;
  }

  .gw-review-dialog-upload,
  .gw-review-dialog-upload-cell .gw-review-dialog-upload {
    position: relative;
    display: flex;
    min-height: 76px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 14px 0 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
  }

  .gw-review-dialog-upload strong {
    color: #101410;
    font-size: 14px;
    font-weight: 560;
  }

  .gw-review-dialog-upload span,
  .gw-review-dialog-upload-status {
    color: #677168;
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .gw-review-dialog-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .gw-review-dialog-upload-meta {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 12px;
  }

  .gw-review-dialog-upload-clear {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #BFC9BB;
    background: transparent;
    color: #4D574E;
    font: inherit;
    font-size: 11px;
    font-weight: 520;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-field-error {
    margin: 8px 0 0;
    color: #9F3D2F;
    font-size: 12px;
    line-height: 1.45;
  }

  .gw-review-dialog-field-error[hidden] {
    display: none;
  }

  .gw-review-dialog-field input[aria-invalid="true"],
  .gw-review-dialog-field textarea[aria-invalid="true"],
  .gw-review-project-select-trigger[aria-invalid="true"] {
    border-bottom-color: #9F3D2F;
    box-shadow: 0 2px 0 rgba(159, 61, 47, .78);
  }

  .gw-review-dialog-rating[aria-invalid="true"] .gw-review-dialog-stars label {
    border-color: rgba(159, 61, 47, .55);
  }

  .gw-review-dialog-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #DDE3DA;
  }

  .gw-review-dialog-consent {
    max-width: 55ch;
    margin: 2px 0 0;
    color: #677168;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }

  .gw-review-dialog-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  .gw-review-dialog-submit {
    min-width: 190px;
  }

  .gw-review-dialog-state {
    min-height: 18px;
    margin: 16px 0 0;
    color: #677168;
    font-size: 11px;
    line-height: 1.45;
  }

  .gw-review-dialog-state.is-ready { color: #2E7419; }
  .gw-review-dialog-state.is-error { color: #9F3D2F; }
}

@media (min-width: 768px) and (max-width: 820px) {
  .gw-reviews-v1-opening {
    align-items: start;
    padding-top: 88px;
  }

  .gw-reviews-v1-heading {
    grid-column: 1 / 9;
  }

  .gw-reviews-v1-title {
    max-width: 15ch;
    font-size: 44px;
  }

  .gw-reviews-v1-lead {
    grid-column: 4 / 9;
    max-width: 34ch;
    margin-top: 28px;
  }

  .gw-reviews-v1-filters {
    gap: 9px;
  }

  .gw-reviews-v1-filter {
    font-size: 11px;
  }

  .gw-reviews-v1-toolbar-actions {
    gap: 10px;
  }

  .gw-reviews-v1-sort {
    min-width: 160px;
    padding-left: 12px;
    gap: 7px;
  }

  .gw-reviews-v1-leave {
    min-width: 172px;
    padding-left: 16px;
  }

  .gw-reviews-v1-person {
    padding-right: 14px;
  }

  .gw-reviews-v1-quote {
    padding-left: 26px;
  }

  .gw-reviews-v1-quote-mark {
    left: 25px;
  }

  .gw-reviews-v1-registry-head,
  .gw-reviews-v1-entry {
    grid-template-columns: 40px 1.1fr 1.45fr 72px;
    column-gap: 14px;
  }

  .gw-review-dialog-head {
    padding: 28px 28px 24px;
  }

  .gw-review-dialog-form {
    padding: 26px 28px 30px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  @keyframes gw-reviews-tablet-enter {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-reviews-tablet-refresh {
    from { opacity: .55; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes gw-review-tablet-dialog-enter {
    from { opacity: 0; transform: translateY(10px) scale(.995); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion="pending"] .gw-reviews-v1-toolbar,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-person,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-quote,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-project,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-registry-list,
  .gw-reviews-v1 [data-gw-reviews-episode-motion="pending"] .gw-reviews-v1-more {
    opacity: 0;
    transform: translateY(8px);
  }

  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-toolbar {
    animation: gw-reviews-tablet-enter 440ms cubic-bezier(.22, 1, .36, 1) both;
  }

  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-title { animation-delay: 45ms; }
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-lead { animation-delay: 100ms; }
  .gw-reviews-v1[data-gw-reviews-motion="revealed"] .gw-reviews-v1-toolbar { animation-delay: 150ms; }

  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-person,
  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-quote,
  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-project,
  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-registry-list,
  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-more {
    animation: gw-reviews-tablet-enter 420ms cubic-bezier(.22, 1, .36, 1) both;
  }

  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-quote { animation-delay: 55ms; }
  .gw-reviews-v1 .gw-reviews-v1-stage[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-project { animation-delay: 105ms; }
  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-registry-list { animation-delay: 55ms; }
  .gw-reviews-v1 .gw-reviews-v1-registry[data-gw-reviews-episode-motion="revealed"] .gw-reviews-v1-more { animation-delay: 100ms; }

  .gw-reviews-v1-proof.is-motion-refreshing,
  .gw-reviews-v1-registry-list.is-motion-refreshing {
    animation: gw-reviews-tablet-refresh 220ms cubic-bezier(.2, .8, .2, 1) both;
  }

  .gw-reviews-v1-toolbar-count.is-motion-refreshing {
    animation: gw-reviews-count-refresh 180ms ease-out both;
  }

  .gw-reviews-v1-entry.is-motion-more-enter {
    animation: gw-reviews-tablet-enter 320ms cubic-bezier(.22, 1, .36, 1) calc(var(--gw-review-more-index, 0) * 40ms) both;
  }

  .gw-review-dialog[open] {
    animation: gw-review-tablet-dialog-enter 280ms cubic-bezier(.22, 1, .36, 1) both;
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  .gw-reviews-v1 *,
  .gw-reviews-v1 *::before,
  .gw-reviews-v1 *::after,
  .gw-review-dialog *,
  .gw-review-dialog *::before,
  .gw-review-dialog *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Canonical fixed-header anchor offsets.
   Keep section anchors flush with the bottom edge of the fixed header on every viewport. */

/* Tablet + Desktop share the fixed 80px desktop header. */
@media (min-width: 768px) {
  html {
    --desktop-header-anchor-gap: 0px;
    --desktop-header-anchor-offset: var(--desktop-header-height, 80px);
    scroll-padding-top: var(--desktop-header-anchor-offset);
  }
}

/* Mobile fixed header is 70px plus the iOS safe-area inset. */
@media (max-width: 767.98px) {
  html {
    --gw-mobile-header-anchor-offset: calc(70px + env(safe-area-inset-top));
    scroll-padding-top: var(--gw-mobile-header-anchor-offset);
  }

  /* The old chapter-level offset duplicated the document scroll-padding.
     Let the document-level fixed-header offset be the single source of truth. */
  .lifecycle-chapter {
    scroll-margin-top: 0;
  }
}

/* Canonical homepage navigation anchors do not add their own visual gap. */
#projects,
#services,
#approach,
#reviews,
#contacts {
  scroll-margin-top: 0;
}

/* Section 06 / narrow Tablet opening refinement — keep title and lead as one editorial block. */
@media (min-width: 768px) and (max-width: 820px) {
  .gw-reviews-v1-title {
    max-width: none;
  }

  .gw-reviews-v1-lead {
    grid-column: 1 / 6;
    max-width: 52ch;
    margin: 26px 0 0;
  }

  .gw-reviews-v1-filter {
    font-size: 12px;
  }
}

/* Section 06 / Tablet — user-approved static mode and final audit refinements. */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-toolbar,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-person,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-quote,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-project,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-registry-list,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-more {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .gw-reviews-v1-proof.is-motion-refreshing,
  .gw-reviews-v1-registry-list.is-motion-refreshing,
  .gw-reviews-v1-toolbar-count.is-motion-refreshing,
  .gw-reviews-v1-entry.is-motion-more-enter,
  .gw-review-dialog[open],
  .gw-review-dialog[open]::backdrop {
    animation: none !important;
  }

  .gw-reviews-v1-entry > span:nth-child(4) {
    color: #7F8A80;
  }

  .gw-reviews-v1-project-link {
    min-height: 44px;
  }

  .gw-review-dialog-upload-clear {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
  }
}

/* Section 06 / Mobile control exists in the shared DOM but is visible only below 768px. */
.gw-reviews-v1-mobile-filter {
  display: none;
}

/* ================================================================
   Section 06 / Mobile <768 — independent Review Registry composition.
   Shared DOM/data/filter/sort/pagination/form logic; Desktop + Tablet locked.
   ================================================================ */
@media (max-width: 767.98px) {
  .gw-reviews-v1 {
    --gw-reviews-mobile-gutter: 20px;
    position: relative;
    display: block;
    overflow: clip;
    border-top: 1px solid #293129;
    background: #0B0F0C;
    color: #F7F8F5;
  }

  .gw-reviews-v1-shell {
    position: relative;
    width: calc(100% - (var(--gw-reviews-mobile-gutter) * 2));
    max-width: none;
    margin-inline: auto;
  }

  .gw-reviews-v1-opening {
    display: block;
    padding: 70px 0 60px;
  }

  .gw-reviews-v1-heading {
    min-width: 0;
  }

  .gw-reviews-v1-eyebrow {
    display: block;
    margin: 0 0 18px;
    color: #63CA38;
    font-size: 11px;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-eyebrow::before {
    display: none;
    content: none;
  }

  .gw-reviews-v1-title {
    max-width: 15ch;
    margin: 0;
    color: #F7F8F5;
    font-size: clamp(34px, 9.4vw, 38px);
    font-weight: 560;
    line-height: 1.01;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-reviews-v1-title span {
    display: block;
  }

  .gw-reviews-v1-lead {
    max-width: 34ch;
    margin: 24px 0 0;
    color: #AAB4AA;
    font-size: 15px;
    font-weight: 410;
    line-height: 1.58;
    letter-spacing: -.006em;
  }

  .gw-reviews-v1-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    border-top: 1px solid #283129;
    border-bottom: 1px solid #283129;
  }

  .gw-reviews-v1-filters {
    display: none;
  }

  .gw-reviews-v1-mobile-filter {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 18px 0 16px;
    border-bottom: 1px solid #283129;
  }

  .gw-reviews-v1-mobile-filter-label {
    color: #7F8A80;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-mobile-filter-control {
    position: relative;
    display: block;
    min-width: 0;
  }

  .gw-reviews-v1-mobile-filter-control select {
    appearance: none;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 32px 0 0;
    border: 0;
    border-bottom: 1px solid #354036;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #EEF1EC;
    font: inherit;
    font-size: 15px;
    font-weight: 560;
    line-height: 1.35;
  }

  .gw-reviews-v1-mobile-filter-control select:focus-visible {
    border-bottom-color: #63CA38;
    box-shadow: 0 2px 0 #63CA38;
  }

  .gw-reviews-v1-mobile-filter-control svg {
    position: absolute;
    top: 50%;
    right: 2px;
    width: 14px;
    height: 14px;
    pointer-events: none;
    fill: none;
    stroke: #63CA38;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: translateY(-50%);
  }

  .gw-reviews-v1-toolbar-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 16px;
    align-items: center;
    min-width: 0;
    padding: 8px 0 16px;
  }

  .gw-reviews-v1-toolbar-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    color: #AAB4AA;
    font-size: 12px;
    font-weight: 550;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .gw-reviews-v1-toolbar-count::before {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-sort {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    min-width: 0;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #D5DCD3;
    font: inherit;
    cursor: pointer;
  }

  .gw-reviews-v1-sort > span:first-child {
    display: none;
  }

  .gw-reviews-v1-sort strong {
    color: inherit;
    font-size: 11px;
    font-weight: 620;
    line-height: 1.2;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  .gw-reviews-v1-sort svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: #7F8A80;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-sort[data-review-sort="old"] svg {
    transform: rotate(180deg);
  }

  .gw-reviews-v1-sort:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 3px;
  }

  .gw-reviews-v1-leave {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 8px 0 0;
    padding: 0 13px 0 18px;
    border: 1px solid rgba(16, 20, 16, .16);
    border-radius: 10px;
    background: #61C835;
    color: #090C0A;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 1px 0 rgba(16,20,16,.035);
    cursor: pointer;
    touch-action: manipulation;
  }

  .gw-reviews-v1-leave .action-arrow {
    display: block;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    box-sizing: border-box;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-leave:focus-visible {
    outline: 2px solid #D2F7C2;
    outline-offset: 3px;
  }

  .gw-reviews-v1-registry {
    margin-top: 28px;
    padding-bottom: 104px;
  }

  .gw-reviews-v1-registry-head {
    display: none;
  }

  .gw-reviews-v1-registry-list {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .gw-reviews-v1-entry {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    column-gap: 10px;
    row-gap: 2px;
    align-items: start;
    width: 100%;
    min-height: 92px;
    padding: 14px 0;
    border: 0;
    border-top: 1px solid #252D26;
    background: transparent;
    color: #7E897F;
    font: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
  }

  .gw-reviews-v1-entry::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-entry.is-active {
    background: rgba(255,255,255,.012);
    color: #C6CEC4;
  }

  .gw-reviews-v1-entry.is-active::before {
    width: 32px;
  }

  .gw-reviews-v1-entry-num {
    grid-column: 1;
    grid-row: 1 / 4;
    padding-top: 2px;
    color: #63CA38;
    font-size: 10px !important;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .07em;
  }

  .gw-reviews-v1-entry > strong {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    color: #DDE3DA;
    font-size: 13px;
    font-weight: 590;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry > span:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    color: #AAB4AA;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry > span:nth-child(4) {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    color: #7F8A80;
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-entry time {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    padding-top: 1px;
    color: #7F8A80;
    font-size: 10.5px;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .gw-reviews-v1-entry[hidden] {
    display: none;
  }

  .gw-reviews-v1-entry:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 3px;
  }

  .gw-reviews-v1-stage {
    width: 100%;
    padding: 0;
  }

  .gw-reviews-v1-proof {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 0 0 34px;
    border-top: 0;
    border-bottom: 1px solid #2A332B;
  }

  .gw-reviews-v1-quote {
    order: 1;
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 30px 0 0;
    border: 0;
  }

  .gw-reviews-v1-quote-mark {
    position: static;
    display: block;
    height: 28px;
    margin: 0 0 8px;
    color: #63CA38;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
  }

  .gw-reviews-v1-quote p {
    max-width: 34ch;
    margin: 0;
    color: #EDF0EB;
    font-size: 20px;
    font-weight: 450;
    line-height: 1.5;
    letter-spacing: -.022em;
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-person {
    order: 2;
    min-width: 0;
    margin-top: 28px;
    padding: 24px 0 0;
    border-top: 1px solid #252D26;
  }

  .gw-reviews-v1-person-line {
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .gw-reviews-v1-avatar {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid #3A453B;
    border-radius: 50%;
    background: #121813;
    color: #D6DDD4;
    font-size: 15px;
    font-weight: 620;
  }

  .gw-reviews-v1-person-line strong {
    display: block;
    color: #EEF1EC;
    font-size: 14px;
    font-weight: 610;
    line-height: 1.3;
  }

  .gw-reviews-v1-rating {
    display: block;
    margin-top: 6px;
    color: #D2F7C2;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .1em;
  }

  .gw-reviews-v1-meta {
    display: none;
  }

  .gw-reviews-v1-project {
    order: 3;
    display: block;
    min-width: 0;
    margin-top: 24px;
    padding: 24px 0 0;
    border-top: 1px solid #252D26;
    border-left: 0;
  }

  .gw-reviews-v1-project-block + .gw-reviews-v1-project-block {
    margin-top: 22px;
  }

  .gw-reviews-v1-project-block > span {
    display: block;
    margin-bottom: 10px;
    color: #7F8A80;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .gw-reviews-v1-project-block > strong {
    display: block;
    max-width: 22ch;
    color: #DEE4DC;
    font-size: 16px;
    font-weight: 570;
    line-height: 1.4;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
  }

  .gw-reviews-v1-project-block ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gw-reviews-v1-project-block li {
    position: relative;
    padding: 6px 0 6px 14px;
    color: #AAB4AA;
    font-size: 12px;
    line-height: 1.4;
  }

  .gw-reviews-v1-project-block li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 1px;
    content: "";
    background: #63CA38;
  }

  .gw-reviews-v1-project-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    min-height: 44px;
    margin-top: 20px;
    padding: 0 0 2px;
    border-bottom: 1px solid #354036;
    color: #F7F8F5;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    text-decoration: none;
  }

  .gw-reviews-v1-project-arrow {
    display: block;
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    fill: none;
    stroke: #63CA38;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-project-link:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 3px;
  }

  .gw-reviews-v1-more {
    display: flex;
    align-items: center;
    min-height: 64px;
    border-bottom: 1px solid #252D26;
  }

  .gw-reviews-v1-more[hidden] {
    display: none !important;
  }

  .gw-reviews-v1-more-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #AAB4AA;
    font: inherit;
    font-size: 13px;
    font-weight: 560;
    line-height: 1;
    cursor: pointer;
  }

  .gw-reviews-v1-more-button svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #7F8A80;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-reviews-v1-more-button:focus-visible {
    outline: 2px solid #63CA38;
    outline-offset: 3px;
  }

  .gw-reviews-v1-foot[hidden] {
    display: none !important;
  }

  .gw-reviews-v1-sr-status,
  .gw-review-dialog-sr-status {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  html.gw-review-dialog-open {
    overflow: hidden;
  }

  .gw-review-dialog {
    --gw-review-mobile-gutter: 20px;
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100vh;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border: 0;
    border-radius: 0;
    background: #F7F8F5;
    color: #101410;
    box-shadow: none;
  }

  .gw-review-dialog::backdrop {
    background: rgba(6,9,7,.78);
  }

  .gw-review-dialog-shell {
    min-height: 100%;
  }

  .gw-review-dialog-head {
    position: sticky;
    z-index: 5;
    top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    padding: 24px var(--gw-review-mobile-gutter) 22px;
    border-bottom: 1px solid #DDE3DA;
    background: rgba(247,248,245,.98);
  }

  .gw-review-dialog-kicker {
    margin: 0 0 10px;
    color: #2E7419;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-review-dialog-title {
    max-width: 12ch;
    margin: 0;
    color: #101410;
    font-size: clamp(30px, 8.8vw, 34px);
    font-weight: 560;
    line-height: 1.04;
    letter-spacing: -.04em;
  }

  .gw-review-dialog-copy {
    max-width: 34ch;
    margin: 12px 0 0;
    color: #4D574E;
    font-size: 14px;
    line-height: 1.55;
  }

  .gw-review-dialog-close {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #BFC9BB;
    border-radius: 10px;
    background: transparent;
    color: #4D574E;
    font: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-close:focus-visible {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-form {
    padding: 24px var(--gw-review-mobile-gutter) 32px;
  }

  .gw-review-dialog-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .gw-review-dialog-grid > * {
    grid-column: 1 / -1 !important;
    min-width: 0;
  }

  .gw-review-dialog-field,
  .gw-review-dialog-rating {
    min-width: 0;
  }

  .gw-review-dialog-field > span,
  .gw-review-dialog-field > .gw-review-dialog-field-label,
  .gw-review-dialog-rating > legend,
  .gw-review-dialog-uploads-title {
    display: block;
    margin: 0 0 10px;
    padding: 0;
    color: #677168;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .02em;
    text-transform: none;
  }

  .gw-review-dialog-field input,
  .gw-review-dialog-field select,
  .gw-review-dialog-field textarea,
  .gw-review-project-select-trigger {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid #7D897B;
    border-radius: 0;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    box-shadow: none;
  }

  .gw-review-dialog-field textarea {
    min-height: 148px;
    padding-top: 8px;
    resize: vertical;
    line-height: 1.55;
  }

  .gw-review-dialog-field input::placeholder,
  .gw-review-dialog-field textarea::placeholder,
  .gw-review-project-select-trigger.is-placeholder {
    color: #677168;
    opacity: 1;
  }

  .gw-review-dialog-field input:focus-visible,
  .gw-review-dialog-field textarea:focus-visible,
  .gw-review-project-select-trigger:focus-visible,
  .gw-review-project-select-trigger[aria-expanded="true"] {
    border-bottom-color: #2E7419;
    box-shadow: 0 2px 0 #2E7419;
  }

  .gw-review-project-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .gw-review-dialog-field--project,
  .gw-review-project-select {
    position: relative;
  }

  .gw-review-project-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    cursor: pointer;
  }

  .gw-review-project-select-chevron {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    fill: none;
    stroke: #4D574E;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-review-project-select-trigger[aria-expanded="true"] .gw-review-project-select-chevron {
    stroke: #2E7419;
    transform: rotate(180deg);
  }

  .gw-review-project-select-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 6px;
    border: 1px solid #BFC9BB;
    border-radius: 8px;
    background: #F7F8F5;
    box-shadow: 0 18px 42px rgba(16,20,16,.14), 0 2px 8px rgba(16,20,16,.06);
  }

  .gw-review-project-select-menu[hidden] {
    display: none;
  }

  .gw-review-project-select-option {
    position: relative;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 0 11px;
    border: 0;
    border-radius: 6px;
    outline: 0;
    background: transparent;
    color: #101410;
    font: inherit;
    font-size: 14px;
    font-weight: 450;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
  }

  .gw-review-project-select-option::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: #61C835;
    opacity: 0;
  }

  .gw-review-project-select-option:focus-visible {
    background: rgba(210,247,194,.48);
    box-shadow: inset 0 0 0 2px rgba(46,116,25,.78);
  }

  .gw-review-project-select-option[aria-selected="true"] {
    color: #2E7419;
    font-weight: 560;
  }

  .gw-review-project-select-option[aria-selected="true"]::before {
    opacity: 1;
  }

  .gw-review-dialog-rating {
    margin: 0;
    padding: 0;
    border: 0;
  }

  .gw-review-dialog-stars {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .gw-review-dialog-stars input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .gw-review-dialog-stars label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 0 1px;
    border: 1px solid #BFC9BB;
    border-radius: 10px;
    background: transparent;
    color: #7D897B;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-stars label.is-filled {
    border-color: #61C835;
    background: #D2F7C2;
    color: #2E7419;
  }

  .gw-review-dialog-stars input:focus-visible + label {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-uploads {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-top: 2px;
    border-top: 1px solid #DDE3DA;
    border-bottom: 1px solid #DDE3DA;
  }

  .gw-review-dialog-uploads-title {
    padding-top: 18px;
    margin-bottom: 4px;
  }

  .gw-review-dialog-upload-cell {
    min-width: 0;
    padding: 0;
  }

  .gw-review-dialog-upload-cell + .gw-review-dialog-upload-cell {
    padding-left: 0;
    border-top: 1px solid #DDE3DA;
    border-left: 0;
  }

  .gw-review-dialog-upload,
  .gw-review-dialog-upload-cell .gw-review-dialog-upload {
    position: relative;
    display: flex;
    min-height: 82px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 14px 0 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
  }

  .gw-review-dialog-upload strong {
    color: #101410;
    font-size: 14px;
    font-weight: 560;
  }

  .gw-review-dialog-upload span,
  .gw-review-dialog-upload-status {
    color: #677168;
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .gw-review-dialog-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .gw-review-dialog-upload-meta {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 10px;
  }

  .gw-review-dialog-upload-clear {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #BFC9BB;
    background: transparent;
    color: #4D574E;
    font: inherit;
    font-size: 11px;
    font-weight: 520;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-upload-clear:focus-visible {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-field-error {
    margin: 8px 0 0;
    color: #9F3D2F;
    font-size: 12px;
    line-height: 1.45;
  }

  .gw-review-dialog-field-error[hidden] {
    display: none;
  }

  .gw-review-dialog-field input[aria-invalid="true"],
  .gw-review-dialog-field textarea[aria-invalid="true"],
  .gw-review-project-select-trigger[aria-invalid="true"] {
    border-bottom-color: #9F3D2F;
    box-shadow: 0 2px 0 rgba(159,61,47,.78);
  }

  .gw-review-dialog-rating[aria-invalid="true"] .gw-review-dialog-stars label {
    border-color: rgba(159,61,47,.55);
  }

  .gw-review-dialog-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #DDE3DA;
  }

  .gw-review-dialog-consent {
    max-width: 40ch;
    margin: 0;
    color: #677168;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }

  .gw-review-dialog-consent a {
    color: inherit;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
  }

  .gw-review-dialog-submit {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 0 13px 0 18px;
    border: 1px solid rgba(16,20,16,.16);
    border-radius: 10px;
    background: #61C835;
    color: #090C0A;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
  }

  .gw-review-dialog-submit .action-arrow {
    display: block;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 6.5px;
    border: 1px solid rgba(16,20,16,.22);
    border-radius: 7px;
    box-sizing: border-box;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-review-dialog-submit:focus-visible {
    outline: 2px solid #2E7419;
    outline-offset: 3px;
  }

  .gw-review-dialog-state {
    min-height: 18px;
    margin: 16px 0 0;
    color: #677168;
    font-size: 11px;
    line-height: 1.45;
  }

  .gw-review-dialog-state.is-ready { color: #2E7419; }
  .gw-review-dialog-state.is-error { color: #9F3D2F; }

  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-eyebrow,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-title,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-lead,
  .gw-reviews-v1[data-gw-reviews-motion] .gw-reviews-v1-toolbar,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-person,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-quote,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-project,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-registry-head,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-registry-list,
  .gw-reviews-v1 [data-gw-reviews-episode-motion] .gw-reviews-v1-more,
  .gw-reviews-v1-proof.is-motion-refreshing,
  .gw-reviews-v1-registry-list.is-motion-refreshing,
  .gw-reviews-v1-toolbar-count.is-motion-refreshing,
  .gw-reviews-v1-entry.is-motion-more-enter,
  .gw-review-dialog[open],
  .gw-review-dialog[open]::backdrop {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

@media (max-width: 359.98px) {
  .gw-reviews-v1 {
    --gw-reviews-mobile-gutter: 16px;
  }

  .gw-reviews-v1-title {
    font-size: 32px;
  }

  .gw-reviews-v1-toolbar-actions {
    column-gap: 10px;
  }

  .gw-reviews-v1-toolbar-count {
    font-size: 11px;
  }

  .gw-reviews-v1-sort strong {
    font-size: 10.5px;
  }

  .gw-reviews-v1-entry {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    column-gap: 8px;
  }

  .gw-reviews-v1-entry time {
    font-size: 10px;
  }

  .gw-reviews-v1-quote p {
    font-size: 19px;
  }

  .gw-review-dialog {
    --gw-review-mobile-gutter: 16px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-reviews-v1 {
    --gw-reviews-mobile-gutter: clamp(20px, 5vw, 32px);
  }

  .gw-reviews-v1-opening {
    padding-top: 78px;
    padding-bottom: 68px;
  }

  .gw-reviews-v1-registry {
    padding-bottom: 112px;
  }

  .gw-review-dialog {
    --gw-review-mobile-gutter: clamp(20px, 5vw, 32px);
  }
}


/* ====================== SECTION 07 / PRE-START ====================== */
/* Section 07 / Pre-start — Desktop V7 + Tablet V2 + Mobile V1.
   Desktop motion follows the established Genesis Web scroll-reveal grammar.
   Tablet 768–1024 and Mobile <768 are separate responsive compositions built from
   the approved Genesis Web spacing, typography and interaction systems. */

.gw-prestart-v1 {
  display: none;
}

/* ================================================================
   Section 07 / Mobile V1 — <768.
   Approved Genesis Web mobile editorial flow:
   eyebrow → title → lead/CTA → character → FAQ.
   No scroll entrance motion and no artificial answer-height floor.
   ================================================================ */
@media (max-width: 767.98px) {
  .gw-prestart-v1 {
    --gw-prestart-mobile-gutter: 20px;
    position: relative;
    display: block;
    overflow: hidden;
    border-top: 0;
    background: var(--paper);
    color: var(--ink);
  }

  .gw-prestart-v1-shell {
    width: calc(100% - (var(--gw-prestart-mobile-gutter) * 2));
    margin-inline: auto;
    padding: 70px 0 104px;
  }

  .gw-prestart-v1-layout {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .gw-prestart-v1-opening {
    order: 0;
    display: block;
    min-width: 0;
    padding: 0 0 56px;
  }

  .gw-prestart-v1-eyebrow {
    margin: 0 0 18px;
    color: var(--green-deep);
    font-size: 11px;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-prestart-v1-title {
    max-width: 15ch;
    margin: 0;
    color: var(--ink);
    font-size: clamp(34px, 9.4vw, 38px);
    font-weight: 560;
    line-height: 1.01;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-prestart-v1-aside {
    width: 100%;
    max-width: 36rem;
    margin-top: 24px;
    padding: 0;
  }

  .gw-prestart-v1-lead {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    font-weight: 430;
    line-height: 1.58;
    letter-spacing: 0;
  }

  .gw-prestart-v1-cta {
    width: 100%;
    margin-top: 24px;
    border: 0;
    appearance: none;
    font-family: inherit;
    cursor: pointer;
  }

  .gw-prestart-v1-cta:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-prestart-v1-visual {
    position: relative;
    z-index: 1;
    order: 1;
    width: 100%;
    margin: 0 0 56px;
    pointer-events: none;
  }

  .gw-prestart-v1-visual img {
    display: block;
    width: clamp(220px, 68vw, 300px);
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    user-select: none;
  }

  .gw-prestart-v1-faq {
    order: 2;
    width: 100%;
    min-width: 0;
    margin: 0;
    border-bottom: 1px solid var(--line);
  }

  .gw-prestart-v1-item {
    position: relative;
    border-top: 1px solid var(--line);
  }

  .gw-prestart-v1-item::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 32px;
    height: 2px;
    content: "";
    background: var(--green);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-prestart-v1-item.is-open::before {
    transform: scaleX(1);
  }

  .gw-prestart-v1-heading {
    margin: 0;
  }

  .gw-prestart-v1-trigger {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 28px;
    column-gap: 16px;
    align-items: center;
    min-height: 78px;
    padding: 17px 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 17px;
    font-weight: 560;
    line-height: 1.34;
    letter-spacing: -.018em;
    text-align: left;
    cursor: pointer;
    transition: color 160ms ease;
  }

  .gw-prestart-v1-trigger[aria-disabled="true"] {
    cursor: default;
  }

  .gw-prestart-v1-trigger:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 4px;
  }

  .gw-prestart-v1-toggle {
    position: relative;
    width: 28px;
    height: 28px;
    justify-self: end;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    transition: border-color 160ms ease;
  }

  .gw-prestart-v1-toggle i {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background: var(--ink);
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease, background-color 180ms ease;
  }

  .gw-prestart-v1-toggle i:first-child {
    width: 10px;
    height: 1px;
  }

  .gw-prestart-v1-toggle i:last-child {
    width: 1px;
    height: 10px;
  }

  .gw-prestart-v1-toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: var(--green-deep);
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-trigger {
    color: var(--black);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle {
    border-color: rgba(46, 116, 25, .45);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle i {
    opacity: 0;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle::after {
    opacity: 1;
  }

  .gw-prestart-v1-answer {
    box-sizing: border-box;
    min-block-size: 0;
    padding: 0 48px 28px 0;
  }

  .gw-prestart-v1-answer[hidden] {
    display: none;
  }

  .gw-prestart-v1-answer p {
    max-width: 58ch;
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.58;
    letter-spacing: -.006em;
  }
}

@media (max-width: 359.98px) {
  .gw-prestart-v1 {
    --gw-prestart-mobile-gutter: 16px;
  }

  .gw-prestart-v1-title {
    font-size: 32px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-prestart-v1 {
    --gw-prestart-mobile-gutter: clamp(20px, 5vw, 32px);
  }

  .gw-prestart-v1-shell {
    padding-top: 78px;
    padding-bottom: 112px;
  }

  .gw-prestart-v1-opening {
    padding-bottom: 64px;
  }

  .gw-prestart-v1-visual {
    margin-bottom: 64px;
  }
}

/* ================================================================
   Section 07 / Tablet V1 — 768–1024.
   Uses the approved Genesis Web Tablet system:
   960px shell / 8 columns / 20px gap / 88–104px opening air.
   No Tablet entrance motion. Desktop remains locked and unchanged below.
   ================================================================ */
@media (min-width: 768px) and (max-width: 1024px) {
  .gw-prestart-v1 {
    --gw-prestart-answer-min: clamp(130px, calc(217px - 8.5vw), 152px);
    position: relative;
    display: block;
    overflow: hidden;
    border-top: 0;
    background: var(--paper);
    color: var(--ink);
  }

  .gw-prestart-v1-shell {
    width: min(calc(100% - 64px), 960px);
    margin-inline: auto;
    padding: clamp(88px, 10vw, 104px) 0 clamp(112px, 13vw, 136px);
  }

  .gw-prestart-v1-layout {
    position: relative;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
  }

  .gw-prestart-v1-opening {
    grid-column: 1 / 9;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 20px;
    align-items: start;
    min-width: 0;
    padding-bottom: clamp(64px, 7.5vw, 76px);
  }

  .gw-prestart-v1-eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 22px;
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-prestart-v1-title {
    grid-column: 1 / 6;
    max-width: none;
    margin: 0;
    color: var(--ink);
    font-size: clamp(44px, 5.15vw, 52px);
    font-weight: 590;
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-prestart-v1-aside {
    grid-column: 6 / 9;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    padding: 4px 0 0;
  }

  .gw-prestart-v1-lead {
    margin: 0;
    color: var(--muted);
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.58;
    letter-spacing: 0;
  }

  .gw-prestart-v1-cta {
    width: fit-content;
    margin-top: 24px;
    border: 0;
    appearance: none;
    font-family: inherit;
    cursor: pointer;
  }

  .gw-prestart-v1-cta:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-prestart-v1-faq {
    grid-column: 1 / 6;
    grid-row: 2;
    min-width: 0;
    margin-top: 0;
    border-bottom: 1px solid var(--line);
  }

  .gw-prestart-v1-item {
    position: relative;
    border-top: 1px solid var(--line);
  }

  .gw-prestart-v1-item::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 32px;
    height: 2px;
    content: "";
    background: var(--green);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-prestart-v1-item.is-open::before {
    transform: scaleX(1);
  }

  .gw-prestart-v1-heading {
    margin: 0;
  }

  .gw-prestart-v1-trigger {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 32px;
    column-gap: 20px;
    align-items: center;
    min-height: 78px;
    padding: 18px 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 19px;
    font-weight: 560;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-align: left;
    cursor: pointer;
    transition: color 160ms ease;
  }

  .gw-prestart-v1-trigger[aria-disabled="true"] {
    cursor: default;
  }

  .gw-prestart-v1-trigger:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 5px;
  }

  .gw-prestart-v1-toggle {
    position: relative;
    width: 28px;
    height: 28px;
    justify-self: end;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    transition: border-color 160ms ease;
  }

  .gw-prestart-v1-toggle i {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background: var(--ink);
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease, background-color 180ms ease;
  }

  .gw-prestart-v1-toggle i:first-child {
    width: 10px;
    height: 1px;
  }

  .gw-prestart-v1-toggle i:last-child {
    width: 1px;
    height: 10px;
  }

  .gw-prestart-v1-toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: var(--green-deep);
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-trigger {
    color: var(--black);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle {
    border-color: rgba(46, 116, 25, .45);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle i {
    opacity: 0;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle::after {
    opacity: 1;
  }

  .gw-prestart-v1-answer {
    box-sizing: border-box;
    min-block-size: var(--gw-prestart-answer-min);
    padding: 0 64px 30px 0;
  }

  .gw-prestart-v1-answer[hidden] {
    display: none;
  }

  .gw-prestart-v1-answer p {
    max-width: 58ch;
    margin: 0;
    color: var(--muted);
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.58;
    letter-spacing: -.006em;
  }

  .gw-prestart-v1-visual {
    position: relative;
    z-index: 1;
    grid-column: 6 / 9;
    grid-row: 2;
    align-self: end;
    justify-self: stretch;
    min-width: 0;
    width: 100%;
    margin: 0;
    pointer-events: none;
  }

  .gw-prestart-v1-visual img {
    display: block;
    width: min(100%, clamp(250px, calc(35.15625vw - 20px), 340px));
    max-width: 100%;
    height: auto;
    margin-left: auto;
    object-fit: contain;
    user-select: none;
  }
}

/* Narrow Tablet uses the approved single editorial opening pattern from Sections 05/06. */
@media (min-width: 768px) and (max-width: 820px) {
  .gw-prestart-v1-shell {
    padding-top: 88px;
  }

  .gw-prestart-v1-title {
    grid-column: 1 / 9;
    font-size: 44px;
  }

  .gw-prestart-v1-aside {
    grid-column: 1 / 6;
    margin-top: 24px;
    padding-top: 0;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) and (max-width: 1024px) {
  .gw-prestart-v1-trigger:not([aria-disabled="true"]):hover {
    color: var(--black);
  }

  .gw-prestart-v1-trigger:not([aria-disabled="true"]):hover .gw-prestart-v1-toggle {
    border-color: var(--muted);
  }
}

@media (min-width: 1025px) {
  .gw-prestart-v1 {
    position: relative;
    display: block;
    overflow: hidden;
    border-top: 0;
    background: var(--paper);
    color: var(--ink);
  }

  .gw-prestart-v1-shell {
    width: min(calc(100% - 64px), 1312px);
    margin-inline: auto;
    padding: 136px 0 164px;
  }

  .gw-prestart-v1-layout {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    align-items: start;
  }

  .gw-prestart-v1-opening {
    grid-column: 1 / 13;
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
    gap: 0 24px;
    align-items: start;
    min-width: 0;
    padding-bottom: 76px;
  }

  .gw-prestart-v1-eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 26px;
    color: var(--green-deep);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .gw-prestart-v1-title {
    grid-column: 1;
    max-width: 820px;
    margin: 0;
    color: var(--ink);
    font-size: clamp(48px, 4.35vw, 68px);
    font-weight: 590;
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .gw-prestart-v1-aside {
    grid-column: 2;
    width: 100%;
    max-width: 420px;
    justify-self: end;
    padding-top: 8px;
  }

  .gw-prestart-v1-lead {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
  }

  .gw-prestart-v1-cta {
    width: fit-content;
    margin-top: 24px;
    border: 0;
    appearance: none;
    font-family: inherit;
    cursor: pointer;
  }

  .gw-prestart-v1-cta:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 3px;
  }

  .gw-prestart-v1-faq {
    grid-column: 1 / 8;
    grid-row: 2;
    min-width: 0;
    margin-top: 0;
    border-bottom: 1px solid var(--line);
  }

  .gw-prestart-v1-item {
    position: relative;
    border-top: 1px solid var(--line);
  }

  .gw-prestart-v1-item::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: 32px;
    height: 2px;
    content: "";
    background: var(--green);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-prestart-v1-item.is-open::before {
    transform: scaleX(1);
  }

  .gw-prestart-v1-heading {
    margin: 0;
  }

  .gw-prestart-v1-trigger {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 32px;
    column-gap: 24px;
    align-items: center;
    min-height: 78px;
    padding: 18px 0;
    border: 0;
    appearance: none;
    background: transparent;
    color: var(--ink);
    font-family: inherit;
    font-size: 20px;
    font-weight: 560;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-align: left;
    cursor: pointer;
    transition: color 160ms ease;
  }

  .gw-prestart-v1-trigger[aria-disabled="true"] {
    cursor: default;
  }

  .gw-prestart-v1-trigger:focus-visible {
    outline: 2px solid var(--green-deep);
    outline-offset: 5px;
  }

  .gw-prestart-v1-toggle {
    position: relative;
    width: 28px;
    height: 28px;
    justify-self: end;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    transition: border-color 160ms ease;
  }

  .gw-prestart-v1-toggle i {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background: var(--ink);
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease, background-color 180ms ease;
  }

  .gw-prestart-v1-toggle i:first-child {
    width: 10px;
    height: 1px;
  }

  .gw-prestart-v1-toggle i:last-child {
    width: 1px;
    height: 10px;
  }

  .gw-prestart-v1-toggle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    content: "";
    background: var(--green-deep);
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 180ms ease;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-trigger {
    color: var(--black);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle {
    border-color: rgba(46, 116, 25, .45);
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle i {
    opacity: 0;
  }

  .gw-prestart-v1-item.is-open .gw-prestart-v1-toggle::after {
    opacity: 1;
  }

  .gw-prestart-v1-answer {
    box-sizing: border-box;
    min-block-size: var(--gw-prestart-answer-min, 0px);
    padding: 0 64px 30px 0;
  }

  .gw-prestart-v1-answer[hidden] {
    display: none;
  }

  .gw-prestart-v1-answer p {
    max-width: 58ch;
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.62;
    letter-spacing: -.006em;
  }

  .gw-prestart-v1-visual {
    position: absolute;
    z-index: 1;
    grid-column: 8 / 13;
    grid-row: 2;
    align-self: end;
    justify-self: stretch;
    min-width: 0;
    width: 100%;
    margin: 0;
    pointer-events: none;
  }

  .gw-prestart-v1-visual img {
    display: block;
    width: min(100%, clamp(440px, calc(9.6386vw + 341.2px), 480px));
    max-width: 100%;
    height: auto;
    margin-left: auto;
    object-fit: contain;
    user-select: none;
  }
}

@media (min-width: 1025px) and (max-width: 1279.98px) {
  .gw-prestart-v1-trigger {
    font-size: 19px;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
  .gw-prestart-v1-trigger:not([aria-disabled="true"]):hover {
    color: var(--black);
  }

  .gw-prestart-v1-trigger:not([aria-disabled="true"]):hover .gw-prestart-v1-toggle {
    border-color: var(--muted);
  }
}

/* Section 07 / Desktop motion V1.
   Uses the existing Genesis Web motion grammar: viewport-height trigger geometry,
   restrained opacity/translate reveals, content-before-visual sequencing and no layout animation. */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  @keyframes gw-prestart-v1-answer-refresh {
    from { opacity: .72; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .gw-prestart-v1[data-gw-prestart-motion="pending"] .gw-prestart-v1-eyebrow,
  .gw-prestart-v1[data-gw-prestart-motion="pending"] .gw-prestart-v1-title,
  .gw-prestart-v1[data-gw-prestart-motion="pending"] .gw-prestart-v1-aside {
    opacity: 0;
    transform: translateY(11px);
  }

  .gw-prestart-v1[data-gw-prestart-motion="revealed"] .gw-prestart-v1-eyebrow,
  .gw-prestart-v1[data-gw-prestart-motion="revealed"] .gw-prestart-v1-title,
  .gw-prestart-v1[data-gw-prestart-motion="revealed"] .gw-prestart-v1-aside {
    opacity: 1;
    transform: none;
    transition: opacity 480ms cubic-bezier(.22, 1, .36, 1), transform 480ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-prestart-v1[data-gw-prestart-motion="revealed"] .gw-prestart-v1-title {
    transition-delay: 65ms;
  }

  .gw-prestart-v1[data-gw-prestart-motion="revealed"] .gw-prestart-v1-aside {
    transition-delay: 135ms;
  }

  .gw-prestart-v1-faq[data-gw-prestart-episode-motion="pending"],
  .gw-prestart-v1-visual[data-gw-prestart-episode-motion="pending"] {
    opacity: 0;
    transform: translateY(12px);
  }

  .gw-prestart-v1-visual[data-gw-prestart-episode-motion="pending"] {
    transform: translateY(16px);
  }

  .gw-prestart-v1-faq[data-gw-prestart-episode-motion="revealed"],
  .gw-prestart-v1-visual[data-gw-prestart-episode-motion="revealed"] {
    opacity: 1;
    transform: none;
    transition: opacity 460ms cubic-bezier(.22, 1, .36, 1), transform 460ms cubic-bezier(.22, 1,.36,1);
  }

  .gw-prestart-v1-visual[data-gw-prestart-episode-motion="revealed"] {
    transition-duration: 520ms;
    transition-delay: 90ms;
  }

  .gw-prestart-v1-answer.is-motion-refreshing p {
    animation: gw-prestart-v1-answer-refresh 180ms cubic-bezier(.22, 1, .36, 1) both;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-prestart-v1-item::before,
  .gw-prestart-v1-trigger,
  .gw-prestart-v1-toggle,
  .gw-prestart-v1-toggle i,
  .gw-prestart-v1-toggle::after,
  .gw-prestart-v1-cta .action-arrow {
    transition: none;
  }
}
/* ==================== END SECTION 07 / PRE-START ==================== */

/* Genesis Web — Footer / approved responsive system
   Desktop: orchestrated logo reveal → descriptor → contacts → utility.
   Tablet/Mobile: approved static independent compositions. */

.gw-footer-v1 {
  display: none;
}

@media (min-width: 1025px) {
  /* Footer transition calibration only. Section 07 remains structurally LOCKED;
     this temporary override reduces the light exit air before the Footer. */
  .gw-prestart-v1-shell {
    padding-bottom: 112px;
  }

  .gw-footer-v1 {
    --gw-footer-surface: #090C0A;
    --gw-footer-text: #F7F8F5;
    --gw-footer-contact: #D6DED7;
    --gw-footer-muted: #AEB8AF;
    --gw-footer-quiet: #858F87;
    --gw-footer-line: rgba(247, 248, 245, .11);
    --gw-footer-signal: #61C835;
    --gw-footer-hover: #D2F7C2;
    --gw-footer-motion-ease: cubic-bezier(.16, 1, .3, 1);

    display: block;
    overflow: hidden;
    background: var(--gw-footer-surface);
    color: var(--gw-footer-text);
    font-family: inherit;
  }

  .gw-footer-v1-shell {
    width: min(calc(100% - 64px), 1312px);
    margin-inline: auto;
    padding: 28px 0 14px;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 1px auto 1px auto;
    column-gap: 24px;
    row-gap: 0;
  }

  /* Internal structural rules only. There is deliberately no rule at the
     Section 07 → Footer boundary. */
  .gw-footer-v1-shell::before,
  .gw-footer-v1-shell::after {
    content: "";
    grid-column: 1 / -1;
    width: 100%;
    height: 1px;
    background: var(--gw-footer-line);
    pointer-events: none;
  }

  .gw-footer-v1-shell::before {
    grid-row: 2;
  }

  .gw-footer-v1-shell::after {
    grid-row: 4;
  }

  .gw-footer-v1-main,
  .gw-footer-v1-utility {
    display: contents;
  }

  /* -----------------------------------------------------------------------
     REGISTER 01 / BRAND
     One centered lockup. Reveal and fallback share identical geometry.
     ----------------------------------------------------------------------- */
  .gw-footer-v1-brand {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
    align-self: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 52px;
    color: inherit;
    text-align: center;
    text-decoration: none;
  }

  .gw-footer-v1-brand-media {
    position: relative;
    display: block;
    width: clamp(300px, 23vw, 360px);
    max-width: 100%;
    aspect-ratio: 1184 / 740;
    margin: 0 auto;
    overflow: hidden;
  }

  .gw-footer-v1-logo-video,
  .gw-footer-v1-logo-static,
  .gw-footer-v1-logo-static[hidden] {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center;
    transform: none;
    pointer-events: none;
  }

  .gw-footer-v1-logo-static {
    opacity: 1;
  }

  .gw-footer-v1-logo-static[hidden] {
    opacity: 0;
  }

  .gw-footer-v1-logo-video {
    opacity: 0;
  }

  .gw-footer-v1.is-logo-video .gw-footer-v1-logo-video {
    opacity: 1;
  }

  .gw-footer-v1.is-logo-video .gw-footer-v1-logo-static {
    opacity: 0;
  }

  .gw-footer-v1-brand-line {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;
    width: max-content;
    max-width: 100%;
    margin: 16px auto 0;
    color: var(--gw-footer-quiet);
    font-size: 13.5px;
    font-weight: 480;
    line-height: 1.35;
    letter-spacing: .002em;
    text-align: center;
    white-space: nowrap;
  }

  .gw-footer-v1-brand-dot {
    color: var(--gw-footer-signal);
    font-weight: 650;
  }

  /* -----------------------------------------------------------------------
     MOTION / ONE ORCHESTRATED MOMENT
     JS adds is-motion-ready only when Desktop motion is allowed. Without JS,
     or with reduced motion, every register remains fully visible by default.
     ----------------------------------------------------------------------- */
  .gw-footer-v1.is-motion-ready .gw-footer-v1-brand-line {
    transition:
      opacity 420ms var(--gw-footer-motion-ease) 160ms,
      transform 420ms var(--gw-footer-motion-ease) 160ms;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-contact {
    transition:
      opacity 480ms var(--gw-footer-motion-ease) 320ms,
      transform 480ms var(--gw-footer-motion-ease) 320ms;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-nav {
    transition:
      opacity 440ms var(--gw-footer-motion-ease) 500ms,
      transform 440ms var(--gw-footer-motion-ease) 500ms;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-legal {
    transition:
      opacity 440ms var(--gw-footer-motion-ease) 560ms,
      transform 440ms var(--gw-footer-motion-ease) 560ms;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-shell::before {
    transform-origin: left center;
    transition:
      opacity 320ms ease 260ms,
      transform 520ms var(--gw-footer-motion-ease) 260ms;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-shell::after {
    transform-origin: left center;
    transition:
      opacity 320ms ease 460ms,
      transform 520ms var(--gw-footer-motion-ease) 460ms;
  }

  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-brand-line {
    opacity: 0;
    transform: translateY(6px);
  }

  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-contact,
  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-nav,
  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-legal {
    opacity: 0;
    transform: translateY(8px);
  }

  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-shell::before,
  .gw-footer-v1.is-motion-ready:not(.is-footer-entered) .gw-footer-v1-shell::after {
    opacity: 0;
    transform: scaleX(.06);
  }

  /* -----------------------------------------------------------------------
     REGISTER 02 / CONTACTS
     One baseline: local phone/email cluster → approved social marks.
     ----------------------------------------------------------------------- */
  .gw-footer-v1-contact {
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: stretch;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 88px;
    padding: 20px 0;
  }

  .gw-footer-v1-eyebrow {
    display: none;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    color: var(--gw-footer-contact);
    font-size: 15.5px;
    font-weight: 510;
    line-height: 1.35;
    letter-spacing: -.008em;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-footer-v1-phone {
    flex: 0 0 auto;
    margin-right: 24px;
  }

  .gw-footer-v1-email {
    flex: 0 0 auto;
    color: var(--gw-footer-muted);
    font-weight: 480;
  }

  .gw-footer-v1-phone-icon,
  .gw-footer-v1-email-icon {
    display: block;
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* Section 07 already owns the conversion CTA. Footer is a system endpoint. */
  .gw-footer-v1-cta {
    display: none !important;
  }

  .gw-footer-v1-socials {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: fit-content;
    margin: 0 0 0 auto;
    padding: 0;
  }

  .gw-footer-v1-socials a {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    color: var(--gw-footer-muted);
    text-decoration: none;
    font-size: 0;
    line-height: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: color 150ms ease;
  }

  /* Approved social assets and approved optical sizes — do not replace. */
  .gw-footer-v1-socials a::before {
    content: "";
    display: block;
    background: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .gw-footer-v1-socials a:nth-child(1)::before {
    width: 21px;
    height: 21px;
    -webkit-mask-image: url("../images/social/telegram.svg");
    mask-image: url("../images/social/telegram.svg");
  }

  .gw-footer-v1-socials a:nth-child(2)::before {
    width: 20.5px;
    height: 20.5px;
    -webkit-mask-image: url("../images/social/whatsapp.svg");
    mask-image: url("../images/social/whatsapp.svg");
  }

  .gw-footer-v1-socials a:nth-child(3)::before {
    width: 22px;
    height: 22px;
    -webkit-mask-image: url("../images/social/max.svg");
    mask-image: url("../images/social/max.svg");
  }

  .gw-footer-v1-socials a:nth-child(4)::before {
    width: 24px;
    height: 17px;
    -webkit-mask-image: url("../images/social/vk.svg");
    mask-image: url("../images/social/vk.svg");
  }

  .gw-footer-v1-socials a:nth-child(5)::before {
    width: 20.5px;
    height: 20.5px;
    -webkit-mask-image: url("../images/social/instagram.svg");
    mask-image: url("../images/social/instagram.svg");
  }

  /* -----------------------------------------------------------------------
     REGISTER 03 / UTILITY
     Navigation starts at the shell edge; legal + copyright close the row.
     ----------------------------------------------------------------------- */
  .gw-footer-v1-nav {
    grid-column: 1 / 7;
    grid-row: 5;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0 14px;
    min-width: 0;
    padding: 10px 0;
    color: #B9C2BA;
  }

  .gw-footer-v1-nav::before {
    content: none;
    display: none;
  }

  .gw-footer-v1-nav a {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
    font-size: 12.5px;
    font-weight: 480;
    line-height: 1.25;
    letter-spacing: -.004em;
    white-space: nowrap;
  }

  .gw-footer-v1-legal {
    grid-column: 7 / 13;
    grid-row: 5;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    margin: 0;
    padding: 10px 0;
    border: 0;
    color: #7F8A81;
    font-size: 11.5px;
    font-weight: 440;
    line-height: 1.35;
  }

  .gw-footer-v1-legal-links {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 16px;
    min-width: 0;
  }

  .gw-footer-v1-legal > p {
    order: 2;
    margin: 0 0 0 20px;
    color: #929D94;
    white-space: nowrap;
  }

  .gw-footer-v1-legal a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email,
  .gw-footer-v1-nav a,
  .gw-footer-v1-legal a {
    transition: color 160ms ease;
  }

  .gw-footer-v1 a:focus-visible {
    outline: 2px solid var(--gw-footer-signal);
    outline-offset: 4px;
  }

  .gw-footer-v1-socials a:focus-visible {
    color: var(--gw-footer-hover);
    outline-offset: 2px;
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .gw-footer-v1-phone:hover,
  .gw-footer-v1-email:hover,
  .gw-footer-v1-nav a:hover,
  .gw-footer-v1-legal a:hover,
  .gw-footer-v1-socials a:hover {
    color: var(--gw-footer-hover);
  }
}

/* Narrow Desktop is still a Desktop composition: preserve the three
   horizontal registers but tighten utility spacing before allowing wrap. */
@media (min-width: 1025px) and (max-width: 1180px) {
  .gw-footer-v1-shell {
    padding-top: 28px;
  }

  .gw-footer-v1-brand {
    padding-bottom: 48px;
  }

  .gw-footer-v1-brand-media {
    width: 300px;
  }

  .gw-footer-v1-brand-line {
    gap: 6px;
    margin-top: 14px;
    font-size: 12.5px;
  }

  .gw-footer-v1-contact {
    min-height: 84px;
    padding-block: 18px;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    gap: 7px;
    font-size: 14px;
  }

  .gw-footer-v1-phone {
    margin-right: 24px;
  }

  .gw-footer-v1-socials {
    gap: 4px;
  }

  .gw-footer-v1-nav {
    gap: 0 9px;
  }

  .gw-footer-v1-nav a {
    font-size: 11.5px;
  }

  .gw-footer-v1-legal {
    font-size: 10.5px;
  }

  .gw-footer-v1-legal-links {
    gap: 0 10px;
  }

  .gw-footer-v1-legal > p {
    margin-left: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-footer-v1 *,
  .gw-footer-v1 *::before,
  .gw-footer-v1 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .gw-footer-v1.is-motion-ready .gw-footer-v1-brand-line,
  .gw-footer-v1.is-motion-ready .gw-footer-v1-contact,
  .gw-footer-v1.is-motion-ready .gw-footer-v1-nav,
  .gw-footer-v1.is-motion-ready .gw-footer-v1-legal,
  .gw-footer-v1.is-motion-ready .gw-footer-v1-shell::before,
  .gw-footer-v1.is-motion-ready .gw-footer-v1-shell::after {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   RESPONSIVE FOOTER / TABLET + MOBILE / APPROVED + LOCKED
   Desktop / Tablet / Mobile are USER-APPROVED + LOCKED and must not be changed without an explicit request.
   Tablet and Mobile deliberately keep the brand static: no entrance motion.
   ------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .gw-footer-v1 {
    --gw-footer-surface: #090C0A;
    --gw-footer-text: #F7F8F5;
    --gw-footer-contact: #D6DED7;
    --gw-footer-muted: #AEB8AF;
    --gw-footer-quiet: #858F87;
    --gw-footer-line: rgba(247, 248, 245, .11);
    --gw-footer-signal: #61C835;
    --gw-footer-hover: #D2F7C2;

    display: block;
    overflow: hidden;
    background: var(--gw-footer-surface);
    color: var(--gw-footer-text);
    font-family: inherit;
  }

  .gw-footer-v1-main,
  .gw-footer-v1-utility {
    display: contents;
  }

  .gw-footer-v1-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    color: inherit;
    text-align: center;
    text-decoration: none;
  }

  .gw-footer-v1-brand-media {
    position: relative;
    display: block;
    max-width: 100%;
    aspect-ratio: 1184 / 740;
    margin-inline: auto;
    overflow: hidden;
  }

  /* Tablet/Mobile use the matching poster directly from CSS so their visible
     brand state does not depend on JS mutating the stale development markup. */
  .gw-footer-v1-brand-media::before {
    position: absolute;
    inset: 0;
    content: "";
    background: url("../images/genesis-web-footer-logo-poster.webp") center / contain no-repeat;
    pointer-events: none;
  }

  .gw-footer-v1-logo-video,
  .gw-footer-v1-logo-static,
  .gw-footer-v1-logo-static[hidden] {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none;
  }

  .gw-footer-v1-brand-line {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    color: var(--gw-footer-quiet);
    font-weight: 480;
    line-height: 1.35;
    letter-spacing: .002em;
    text-align: center;
    white-space: nowrap;
  }

  .gw-footer-v1-brand-dot {
    color: var(--gw-footer-signal);
    font-weight: 650;
  }

  .gw-footer-v1-eyebrow,
  .gw-footer-v1-cta {
    display: none !important;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    color: var(--gw-footer-contact);
    font-weight: 510;
    line-height: 1.35;
    letter-spacing: -.008em;
    text-decoration: none;
    white-space: nowrap;
    touch-action: manipulation;
  }

  .gw-footer-v1-email {
    color: var(--gw-footer-muted);
    font-weight: 480;
  }

  .gw-footer-v1-phone-icon,
  .gw-footer-v1-email-icon {
    display: block;
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gw-footer-v1-socials {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0;
    padding: 0;
  }

  .gw-footer-v1-socials a {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    color: var(--gw-footer-muted);
    text-decoration: none;
    font-size: 0;
    line-height: 0;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: color 150ms ease;
  }

  .gw-footer-v1-socials a::before {
    content: "";
    display: block;
    background: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .gw-footer-v1-socials a:nth-child(1)::before {
    width: 21px;
    height: 21px;
    -webkit-mask-image: url("../images/social/telegram.svg");
    mask-image: url("../images/social/telegram.svg");
  }

  .gw-footer-v1-socials a:nth-child(2)::before {
    width: 20.5px;
    height: 20.5px;
    -webkit-mask-image: url("../images/social/whatsapp.svg");
    mask-image: url("../images/social/whatsapp.svg");
  }

  .gw-footer-v1-socials a:nth-child(3)::before {
    width: 22px;
    height: 22px;
    -webkit-mask-image: url("../images/social/max.svg");
    mask-image: url("../images/social/max.svg");
  }

  .gw-footer-v1-socials a:nth-child(4)::before {
    width: 24px;
    height: 17px;
    -webkit-mask-image: url("../images/social/vk.svg");
    mask-image: url("../images/social/vk.svg");
  }

  .gw-footer-v1-socials a:nth-child(5)::before {
    width: 20.5px;
    height: 20.5px;
    -webkit-mask-image: url("../images/social/instagram.svg");
    mask-image: url("../images/social/instagram.svg");
  }

  .gw-footer-v1-nav {
    min-width: 0;
    color: #B9C2BA;
  }

  .gw-footer-v1-nav::before {
    content: none;
    display: none;
  }

  .gw-footer-v1-nav a,
  .gw-footer-v1-legal a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
    touch-action: manipulation;
  }

  .gw-footer-v1-legal {
    min-width: 0;
    margin: 0;
    border: 0;
    color: #7F8A81;
    font-weight: 440;
    line-height: 1.4;
  }

  .gw-footer-v1-legal-links {
    min-width: 0;
  }

  .gw-footer-v1-legal > p {
    color: #929D94;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email,
  .gw-footer-v1-nav a,
  .gw-footer-v1-legal a {
    transition: color 160ms ease;
  }

  .gw-footer-v1 a:focus-visible {
    outline: 2px solid var(--gw-footer-signal);
    outline-offset: 3px;
  }

  .gw-footer-v1-socials a:focus-visible {
    color: var(--gw-footer-hover);
    outline-offset: 2px;
  }
}

/* Tablet 768–1024 / independent 8-column endpoint. */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Transition-only calibration. The Section 07 Tablet composition remains
     LOCKED; only its light exit air before the Footer is normalized. */
  .gw-prestart-v1-shell {
    padding-bottom: 112px;
  }

  .gw-footer-v1-shell {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-template-rows: auto 1px auto 1px auto auto;
    column-gap: 20px;
    width: min(calc(100% - 64px), 960px);
    margin-inline: auto;
    padding: 28px 0 18px;
  }

  .gw-footer-v1-shell::before,
  .gw-footer-v1-shell::after {
    content: "";
    grid-column: 1 / -1;
    width: 100%;
    height: 1px;
    background: var(--gw-footer-line);
    pointer-events: none;
  }

  .gw-footer-v1-shell::before { grid-row: 2; }
  .gw-footer-v1-shell::after { grid-row: 4; }

  .gw-footer-v1-brand {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 0 44px;
  }

  .gw-footer-v1-brand-media {
    width: clamp(280px, 33vw, 320px);
  }

  .gw-footer-v1-brand-line {
    gap: 6px;
    margin-top: 14px;
    font-size: 12.5px;
  }

  .gw-footer-v1-contact {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 86px;
    padding: 20px 0;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    font-size: 14.5px;
  }

  .gw-footer-v1-phone {
    flex: 0 0 auto;
    margin-right: 22px;
  }

  .gw-footer-v1-email {
    flex: 0 0 auto;
  }

  /* In the source DOM socials live in the utility group. On Tablet they are
     positioned directly on the contact register so the layout works without JS. */
  .gw-footer-v1-socials {
    grid-column: 6 / 9;
    grid-row: 3;
    align-self: center;
    justify-self: end;
    justify-content: flex-end;
    gap: 4px;
    margin: 0;
  }

  .gw-footer-v1-nav {
    grid-column: 1 / -1;
    grid-row: 5;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0 14px;
    padding: 10px 0 2px;
  }

  .gw-footer-v1-nav a {
    width: fit-content;
    font-size: 12.5px;
    font-weight: 480;
    line-height: 1.25;
    letter-spacing: -.004em;
    white-space: nowrap;
  }

  .gw-footer-v1-legal {
    grid-column: 1 / -1;
    grid-row: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 8px;
    padding: 12px 0 8px;
    border-top: 1px solid var(--gw-footer-line);
    font-size: 11px;
  }

  .gw-footer-v1-legal-links {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0 16px;
  }

  .gw-footer-v1-legal > p {
    order: 2;
    margin: 0;
    white-space: nowrap;
  }

  .gw-footer-v1-legal a {
    white-space: nowrap;
  }
}

/* Mobile <768 / independent vertical endpoint. */
@media (max-width: 767.98px) {
  .gw-footer-v1 {
    --gw-footer-mobile-gutter: 20px;
  }

  .gw-footer-v1-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(5, auto);
    width: calc(100% - (var(--gw-footer-mobile-gutter) * 2));
    margin-inline: auto;
    padding: 26px 0 18px;
  }

  .gw-footer-v1-brand {
    grid-row: 1;
    width: 100%;
    padding: 0 0 40px;
  }

  .gw-footer-v1-brand-media {
    width: clamp(220px, 72vw, 280px);
  }

  .gw-footer-v1-brand-line {
    gap: 5px;
    margin-top: 12px;
    font-size: 11.5px;
  }

  .gw-footer-v1-contact {
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--gw-footer-line);
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    width: fit-content;
    min-height: 46px;
    font-size: 15px;
  }

  .gw-footer-v1-phone {
    margin: 0;
  }

  /* Source-order independent placement: socials sit after contacts and before
     navigation even when Footer JS is unavailable. */
  .gw-footer-v1-socials {
    grid-row: 3;
    justify-self: start;
    justify-content: flex-start;
    gap: 4px;
    margin: 10px 0 22px;
  }

  .gw-footer-v1-nav {
    grid-row: 4;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 0;
    width: 100%;
    padding: 14px 0 10px;
    border-top: 1px solid var(--gw-footer-line);
  }

  .gw-footer-v1-nav a {
    width: 100%;
    font-size: 13px;
    font-weight: 480;
    line-height: 1.25;
    letter-spacing: -.004em;
    white-space: nowrap;
  }

  .gw-footer-v1-legal {
    grid-row: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 16px 0 0;
    border-top: 1px solid var(--gw-footer-line);
    font-size: 11.5px;
  }

  .gw-footer-v1-legal-links {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .gw-footer-v1-legal > p {
    order: 2;
    margin: 10px 0 0;
    font-size: 11px;
    white-space: nowrap;
  }

  .gw-footer-v1-legal a {
    width: fit-content;
    white-space: normal;
  }
}

@media (max-width: 359.98px) {
  .gw-footer-v1 {
    --gw-footer-mobile-gutter: 16px;
  }

  .gw-footer-v1-brand-line {
    gap: 4px;
    font-size: 11.5px;
  }

  .gw-footer-v1-phone,
  .gw-footer-v1-email {
    font-size: 14.5px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-footer-v1 {
    --gw-footer-mobile-gutter: clamp(20px, 5vw, 32px);
  }

  .gw-footer-v1-brand {
    padding-bottom: 44px;
  }

  .gw-footer-v1-brand-media {
    width: 280px;
  }
}

@media (max-width: 1024px) and (hover: hover) and (pointer: fine) {
  .gw-footer-v1-phone:hover,
  .gw-footer-v1-email:hover,
  .gw-footer-v1-nav a:hover,
  .gw-footer-v1-legal a:hover,
  .gw-footer-v1-socials a:hover {
    color: var(--gw-footer-hover);
  }
}

/* Contact typography tuning — Header + Footer.
   Scoped override layer: layout, spacing, colors and weights stay unchanged. */
@media (min-width: 1025px) {
  .header-phone { font-size: 15px; }
  .header-phone svg { width: 16px; height: 16px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .header-phone { font-size: clamp(14px, calc(.390625vw + 11px), 15px); }
  .header-phone svg {
    width: clamp(14px, calc(.78125vw + 8px), 16px);
    height: clamp(14px, calc(.78125vw + 8px), 16px);
  }
}

@media (max-width: 767.98px) {
  .mobile-hero-phone { font-size: clamp(13.5px, 3.5vw, 14px); }
  .mobile-hero-phone svg { width: 14px; height: 14px; }
}

.gw-footer-v1-phone,
.gw-footer-v1-email { font-size: 15px; }

/* Responsive navigation V3 — Header Continuation Drawer / Tablet + Mobile */
html.gw-menu-v3-open,
body.gw-menu-v3-open {
  overflow: hidden;
}

.gw-menu-v3 {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
  color: var(--ink, #101410);
}

.gw-menu-v3::backdrop {
  background: linear-gradient(
    to bottom,
    transparent 0 calc(70px + env(safe-area-inset-top)),
    rgba(9, 12, 10, .28) calc(70px + env(safe-area-inset-top)) 100%
  );
}

.gw-menu-v3-panel {
  position: absolute;
  top: calc(70px + env(safe-area-inset-top));
  left: auto;
  right: 0;
  bottom: 0;
  width: min(89vw, 430px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-left: 1px solid var(--line, #DDE3DA);
  background: var(--paper, #F7F8F5);
  transform: translateX(100%);
  transition: transform 240ms cubic-bezier(.16, 1, .3, 1);
  scrollbar-width: thin;
}

.gw-menu-v3.is-visible .gw-menu-v3-panel {
  transform: translateX(0);
}

.gw-menu-v3-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  padding:
    30px
    var(--gw-menu-v3-gutter, 20px)
    max(24px, env(safe-area-inset-bottom));
}

.gw-menu-v3-nav {
  display: grid;
  gap: 0;
}

.gw-menu-v3-nav a {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
  min-width: 0;
  min-height: 48px;
  color: var(--ink, #101410);
  font: inherit;
  font-size: 22px;
  font-weight: 515;
  line-height: 1.2;
  letter-spacing: -.01em;
  text-decoration: none;
  touch-action: manipulation;
}

.gw-menu-v3-nav a::after {
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 24px;
  height: 2px;
  content: "";
  background: var(--green, #61C835);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 180ms ease-out;
}

.gw-menu-v3-utility {
  display: grid;
  gap: 14px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid var(--line, #DDE3DA);
}

.gw-menu-v3-contacts {
  display: grid;
  gap: 0;
}

.gw-menu-v3-contact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  color: var(--muted, #4D574E);
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
  touch-action: manipulation;
}

.gw-menu-v3-contact--phone {
  font-weight: 520;
}

.gw-menu-v3-contact--email {
  color: var(--quiet, #677168);
  font-weight: 480;
}

.gw-menu-v3-contact svg {
  display: block;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gw-menu-v3-cta.primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  padding: 0 16px 0 20px;
  border: 1px solid rgba(16, 20, 16, .16);
  border-radius: 10px;
  background: var(--green, #61C835);
  color: var(--black, #090C0A);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .26),
    0 1px 0 rgba(16, 20, 16, .035);
  cursor: pointer;
  touch-action: manipulation;
}

.gw-menu-v3-cta .action-arrow {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  padding: 6.5px;
  border: 1px solid rgba(16, 20, 16, .22);
  border-radius: 7px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 180ms ease-out;
}

.gw-menu-v3-socials {
  display: flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
}

.gw-menu-v3-social {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  color: var(--quiet, #677168);
  text-decoration: none;
  touch-action: manipulation;
}

.gw-menu-v3-social::before {
  display: block;
  width: var(--gw-menu-icon-w, 21px);
  height: var(--gw-menu-icon-h, 21px);
  content: "";
  background: currentColor;
  -webkit-mask-image: var(--gw-menu-icon);
  mask-image: var(--gw-menu-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.gw-menu-v3-social--telegram {
  --gw-menu-icon: url("../images/social/telegram.svg");
  --gw-menu-icon-w: 21px;
  --gw-menu-icon-h: 21px;
}

.gw-menu-v3-social--whatsapp {
  --gw-menu-icon: url("../images/social/whatsapp.svg");
  --gw-menu-icon-w: 20.5px;
  --gw-menu-icon-h: 20.5px;
}

.gw-menu-v3-social--max {
  --gw-menu-icon: url("../images/social/max.svg");
  --gw-menu-icon-w: 22px;
  --gw-menu-icon-h: 22px;
}

.gw-menu-v3-social--vk {
  --gw-menu-icon: url("../images/social/vk.svg");
  --gw-menu-icon-w: 24px;
  --gw-menu-icon-h: 17px;
}

.gw-menu-v3-social--instagram {
  --gw-menu-icon: url("../images/social/instagram.svg");
  --gw-menu-icon-w: 20.5px;
  --gw-menu-icon-h: 20.5px;
}

.gw-menu-v3-nav a:focus-visible,
.gw-menu-v3-contact:focus-visible,
.gw-menu-v3-cta:focus-visible,
.gw-menu-v3-social:focus-visible,
.gw-menu-v3-open-trigger:focus-visible {
  outline: 2px solid var(--green-deep, #2E7419);
  outline-offset: 3px;
}

.desktop-menu-button::before,
.desktop-menu-button::after,
.mobile-hero-menu::before,
.mobile-hero-menu::after {
  transition:
    top 220ms cubic-bezier(.16, 1, .3, 1),
    left 220ms cubic-bezier(.16, 1, .3, 1),
    width 220ms cubic-bezier(.16, 1, .3, 1),
    transform 220ms cubic-bezier(.16, 1, .3, 1);
  transform-origin: center;
}

.desktop-menu-button.is-menu-open::before,
.mobile-hero-menu.is-menu-open::before {
  top: 50%;
  left: 50%;
  width: 18px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.desktop-menu-button.is-menu-open::after,
.mobile-hero-menu.is-menu-open::after {
  top: 50%;
  left: 50%;
  width: 18px;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.gw-menu-v3-trigger-placeholder {
  display: block;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

.gw-menu-v3-open-trigger {
  position: fixed !important;
  z-index: 2;
  top: calc(env(safe-area-inset-top) + 13px);
  right: 16px;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
  margin: 0 !important;
  touch-action: manipulation;
}

@media (hover: hover) and (pointer: fine) {
  .gw-menu-v3-nav a:hover::after,
  .gw-menu-v3-nav a:focus-visible::after {
    transform: scaleX(1);
  }

  .gw-menu-v3-contact:hover,
  .gw-menu-v3-social:hover {
    color: var(--green-deep, #2E7419);
  }

  .gw-menu-v3-cta.primary-action:hover {
    border-color: #429B24;
    background: #56BC30;
    transform: translateY(-1px);
  }

  .gw-menu-v3-cta.primary-action:hover .action-arrow {
    transform: translate(2px, -1px);
  }
}

@media (max-width: 359.98px) {
  .gw-menu-v3-inner {
    --gw-menu-v3-gutter: 16px;
  }
}

@media (min-width: 360px) and (max-width: 430px) {
  .gw-menu-v3-inner {
    --gw-menu-v3-gutter: 20px;
  }
}

@media (min-width: 431px) and (max-width: 767.98px) {
  .gw-menu-v3-inner {
    --gw-menu-v3-gutter: clamp(20px, 5vw, 24px);
  }
}

@media (max-width: 767.98px) {
  .mobile-hero-menu {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .desktop-nav {
    display: none !important;
  }

  .desktop-menu-button {
    display: inline-flex !important;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
  }

  .gw-menu-v3::backdrop {
    background: linear-gradient(
      to bottom,
      transparent 0 80px,
      rgba(9, 12, 10, .28) 80px 100%
    );
  }

  .gw-menu-v3-panel {
    top: 80px;
    width: clamp(380px, 44vw, 440px);
  }

  .gw-menu-v3-inner {
    padding: 32px 32px max(28px, env(safe-area-inset-bottom));
  }

  .gw-menu-v3-nav a {
    min-height: 52px;
    font-size: 24px;
  }

  .gw-menu-v3-utility {
    gap: 16px;
    padding-top: 28px;
  }

  .gw-menu-v3-socials {
    gap: 6px;
  }

  .gw-menu-v3-open-trigger {
    top: 18px;
    right: 32px;
  }
}

@media (min-width: 1025px) {
  .desktop-menu-button {
    display: none !important;
  }

  .gw-menu-v3 {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gw-menu-v3-panel,
  .desktop-menu-button::before,
  .desktop-menu-button::after,
  .mobile-hero-menu::before,
  .mobile-hero-menu::after,
  .gw-menu-v3-nav a::after,
  .gw-menu-v3-cta .action-arrow {
    transition: none !important;
  }
}
/* Tablet header navigation boundary fix — 768–1024 */
@media (min-width: 768px) and (max-width: 1024px) {
  .desktop-header-actions {
    grid-column: 3;
    justify-self: end;
  }

  .desktop-header .header-cta {
    display: inline-flex;
  }
}

/* Compact desktop header continuity — keep CTA single-line and center nav in the real free space. */
@media (min-width: 1025px) {
  .desktop-header {
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    column-gap: 32px;
  }

  .desktop-nav {
    min-width: 0;
    justify-self: stretch;
    justify-content: center;
  }

  .desktop-header-actions {
    justify-self: end;
  }

  .desktop-header .header-cta {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}

/* Header navigation system — same editorial language across Desktop / Tablet / Mobile.
   Footer navigation is intentionally excluded. */
@media (min-width: 1025px) {
  .desktop-nav a {
    color: var(--ink, #101410);
    font-size: 11px;
    font-weight: 680;
    line-height: 1.25;
    letter-spacing: .09em;
    text-transform: uppercase;
    text-decoration: none;
    touch-action: manipulation;
    transition: color 160ms ease;
  }

  .desktop-nav a::after {
    right: auto;
    bottom: 5px;
    left: 0;
    width: 24px;
    height: 2px;
    background: var(--green, #61C835);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 180ms cubic-bezier(.22, 1, .36, 1);
  }

  .desktop-nav a:focus-visible,
  .desktop-nav a:active,
  .desktop-nav a.is-current {
    color: var(--green-deep, #2E7419);
  }

  .desktop-nav a:focus-visible {
    outline: 2px solid var(--green-deep, #2E7419);
    outline-offset: 3px;
  }

  .desktop-nav a:focus-visible::after,
  .desktop-nav a:active::after,
  .desktop-nav a.is-current::after {
    right: auto;
    transform: scaleX(1);
  }
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .desktop-nav a:hover {
    color: var(--green-deep, #2E7419);
  }

  .desktop-nav a:hover::after {
    right: auto;
    transform: scaleX(1);
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  .desktop-nav a,
  .desktop-nav a::after {
    transition: none;
  }
}

@media (min-width: 1025px) and (max-width: 1279.98px) {
  .desktop-header {
    width: min(calc(100% - clamp(48px, 5vw, 64px)), 1312px);
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    column-gap: clamp(20px, 2.25vw, 32px);
  }

  .desktop-nav {
    min-width: 0;
    justify-self: stretch;
    justify-content: center;
    gap: clamp(16px, 1.8vw, 22px);
  }

  .desktop-header-actions {
    justify-self: end;
    flex: 0 0 auto;
    gap: clamp(14px, 1.5vw, 20px);
  }

  .header-phone {
    flex: 0 0 auto;
  }
}

/* Responsive Navigation V3 — compact Mobile/Tablet polish. */
@media (max-width: 1024px) {
  .desktop-menu-button::before,
  .desktop-menu-button::after,
  .mobile-hero-menu::before,
  .mobile-hero-menu::after {
    left: 50%;
    width: 18px;
    transform: translate(-50%, -50%);
  }

  .desktop-menu-button::before,
  .mobile-hero-menu::before {
    top: calc(50% - 4px);
  }

  .desktop-menu-button::after,
  .mobile-hero-menu::after {
    top: calc(50% + 4px);
  }

  .gw-menu-v3-nav {
    order: 1;
  }

  /* Reuse the editorial label language of Section 06 / “Отзывы / Client proof”.
     Visual type gets smaller and more deliberate; the link hit area remains large. */
  .gw-menu-v3-nav a {
    color: var(--ink, #101410);
    font-size: 11px;
    font-weight: 680;
    text-transform: uppercase;
    transition: color 160ms ease;
  }

  .gw-menu-v3-nav a::after {
    width: 24px;
    background: var(--green, #61C835);
    transition: transform 180ms cubic-bezier(.22, 1, .36, 1);
  }

  .gw-menu-v3-nav a:focus-visible {
    color: var(--green-deep, #2E7419);
  }

  .gw-menu-v3-nav a:focus-visible::after,
  .gw-menu-v3-nav a:active::after {
    transform: scaleX(1);
  }

  .gw-menu-v3-nav a:active {
    color: var(--green-deep, #2E7419);
  }

  .gw-menu-v3-nav a.is-current {
    color: var(--green-deep, #2E7419);
  }

  .gw-menu-v3-nav a.is-current::after {
    transform: scaleX(1);
  }

  .gw-menu-v3-inner::before {
    display: block;
    order: 2;
    min-height: 0;
    content: "";
    flex: 1 1 0;
    pointer-events: none;
  }

  .gw-menu-v3-utility {
    order: 3;
  }

  .gw-menu-v3-socials {
    width: 100%;
    justify-content: space-between;
    gap: 0;
  }

  .gw-menu-v3-social {
    -webkit-tap-highlight-color: transparent;
  }

  .desktop-menu-button,
  .mobile-hero-menu,
  .gw-menu-v3-open-trigger {
    -webkit-tap-highlight-color: transparent;
  }

  /* Suppress focus chrome only for a real pointer/touch activation. The class is
     cleared on keyboard input, so hardware-keyboard focus keeps its visible ring. */
  .desktop-menu-button.gw-menu-v3-pointer-activation:focus-visible,
  .mobile-hero-menu.gw-menu-v3-pointer-activation:focus-visible,
  .gw-menu-v3-open-trigger.gw-menu-v3-pointer-activation:focus-visible {
    outline: none;
    box-shadow: none;
  }
}

@media (max-width: 1024px) and (hover: hover) and (pointer: fine) {
  .gw-menu-v3-nav a:hover {
    color: var(--green-deep, #2E7419);
  }

  .gw-menu-v3-nav a:hover::after {
    transform: scaleX(1);
  }
}

@media (max-width: 767.98px) {
  .gw-menu-v3-panel {
    width: clamp(272px, 82vw, 290px);
    max-width: 100vw;
  }

  .gw-menu-v3::backdrop {
    background: linear-gradient(
      to bottom,
      transparent 0 calc(70px + env(safe-area-inset-top)),
      rgba(9, 12, 10, .22) calc(70px + env(safe-area-inset-top)) 100%
    );
  }

  .gw-menu-v3-nav a {
    font-size: 11px;
    font-weight: 680;
    line-height: 1.2;
    letter-spacing: .08em;
  }

  .gw-menu-v3-inner::before {
    max-height: 8px;
  }

  .gw-menu-v3-utility {
    margin-top: 24px;
  }

  .gw-menu-v3-contact {
    gap: 5px;
    font-size: clamp(13.5px, 3.5vw, 14px);
  }

  .gw-menu-v3-contact svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }
}

@media (max-width: 359.98px) {
  .gw-menu-v3-socials {
    max-width: 100%;
    gap: 0;
  }
}

/* Reflow fallback only: normal Mobile widths keep the approved drawer composition. */
@media (max-width: 271.98px) {
  .gw-menu-v3-panel {
    width: 100vw;
    max-width: 100vw;
  }

  .gw-menu-v3-inner {
    --gw-menu-v3-gutter: clamp(12px, 4vw, 16px);
  }

  .gw-menu-v3-contact span {
    overflow-wrap: anywhere;
  }

  .gw-menu-v3-cta.primary-action {
    gap: 12px;
    padding: 10px 12px;
    line-height: 1.2;
    white-space: normal;
  }

  .gw-menu-v3-socials {
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-menu-v3-panel {
    width: clamp(320px, 38vw, 330px);
  }

  .gw-menu-v3::backdrop {
    background: linear-gradient(
      to bottom,
      transparent 0 80px,
      rgba(9, 12, 10, .22) 80px 100%
    );
  }

  .gw-menu-v3-nav a {
    font-size: 11px;
    font-weight: 680;
    line-height: 1.25;
    letter-spacing: .09em;
  }

  .gw-menu-v3-inner::before {
    max-height: 32px;
  }

  .gw-menu-v3-utility {
    margin-top: 36px;
  }

  .gw-menu-v3-contact {
    gap: 8px;
    font-size: clamp(14px, calc(.390625vw + 11px), 15px);
  }

  .gw-menu-v3-contact svg {
    width: clamp(14px, calc(.78125vw + 8px), 16px);
    height: clamp(14px, calc(.78125vw + 8px), 16px);
    flex-basis: clamp(14px, calc(.78125vw + 8px), 16px);
  }
}

/* Section 02 Desktop: native sticky owns the rail geometry. Keeping the rail in
   its grid column avoids the fixed/absolute hand-off that caused both the entry
   snap and the Windows scrollbar X drift. The existing 76px start offset and
   96px end gap are preserved by the sticky margin box. */
@media (min-width: 1025px) {
  .lifecycle-spine,
  .lifecycle-spine.is-pinned,
  .lifecycle-spine.is-at-end {
    position: sticky;
    top: clamp(72px, 11vh, 118px);
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 2;
    margin-top: 76px;
    margin-bottom: 96px;
  }
}

/* Section 02 Desktop: make the Product lifecycle entrance legible without moving
   the sticky geometry itself. The outer rail already owns the approved opacity
   reveal; this adds only a restrained 8px orientation cue to its inner content. */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  .lifecycle-narrative.is-motion-ready .lifecycle-spine-inner {
    transform: translateY(8px);
    transition: transform 400ms cubic-bezier(.22, 1, .36, 1);
  }

  .lifecycle-narrative.is-intro-revealed .lifecycle-spine-inner {
    transform: none;
  }
}

/* Footer brand media scale.
   Use one continuous optical scale so the lockup keeps the same visual weight
   across Mobile, Tablet and Desktop without the 767→768 or 1024→1025 size drop. */
@media (max-width: 767.98px) {
  .gw-footer-v1-brand-media {
    width: clamp(270px, 80vw, 350px);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-footer-v1-brand-media {
    width: clamp(360px, calc(300px + 7.8125vw), 380px);
  }
}

@media (min-width: 1025px) {
  .gw-footer-v1-brand-media {
    width: clamp(380px, calc(359px + 2vw), 398px);
  }
}

/* Footer brand optical spacing.
   Lift the descriptor into the logo canvas safe area, then collapse the same
   amount from normal flow so that the space after the descriptor does not grow
   just because of the visual lift. The Footer's original register padding stays
   in control of the gap before the next divider/contact register. */
.gw-footer-v1-brand-line {
  position: relative;
  z-index: 2;
}

@media (min-width: 1181px) {
  .gw-footer-v1-brand-line {
    top: clamp(-42px, calc(-24px - 1vw), -38px);
    margin-top: 16px;
    margin-bottom: clamp(-42px, calc(-24px - 1vw), -38px);
  }
}

@media (min-width: 1025px) and (max-width: 1180px) {
  .gw-footer-v1-brand-line {
    top: -34px;
    margin-top: 14px;
    margin-bottom: -34px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-footer-v1-brand-line {
    top: clamp(-36px, calc(-20px - 1.6vw), -32px);
    margin-top: 14px;
    margin-bottom: clamp(-36px, calc(-20px - 1.6vw), -32px);
  }
}

@media (max-width: 767.98px) {
  .gw-footer-v1-brand-line {
    top: clamp(-30px, calc(-13px - 4vw), -25px);
    margin-top: 12px;
    margin-bottom: clamp(-30px, calc(-13px - 4vw), -25px);
  }
}

/* Legal pages — shared production shell. Keep legal CSS out of page markup. */
html.gw-legal-document,
html.gw-legal-document body {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--paper, #F7F8F5);
}

html.gw-legal-document .desktop-header > a:first-child {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: max-content;
  min-height: 44px;
  line-height: 0;
}

html.gw-legal-document .mobile-hero-header > a:first-child {
  display: inline-flex;
  align-items: center;
  margin-right: auto;
  min-height: 44px;
  line-height: 0;
}

.legal-page {
  position: relative;
  min-height: 70vh;
  padding: 152px 0 112px;
  background: var(--paper, #F7F8F5);
  color: var(--ink, #101410);
}

.legal-page-shell {
  width: min(calc(100% - 64px), 1312px);
  margin: 0 auto;
}

.legal-page-column {
  width: min(100%, 880px);
  min-width: 0;
  margin: 0 auto;
}

.legal-page-title {
  max-width: 100%;
  margin: 0;
  font-size: clamp(44px, 4.3vw, 62px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.045em;
  overflow-wrap: break-word;
  hyphens: auto;
}

.legal-page-lead {
  max-width: 780px;
  margin: 26px 0 0;
  color: var(--muted, #4D574E);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.62;
}

.legal-page-meta {
  margin: 28px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line, #DDE3DA);
  color: var(--quiet, #677168);
  font-size: 13px;
  line-height: 1.5;
}

.legal-page-content {
  margin-top: 64px;
}

.legal-page-section {
  padding: 30px 0;
  border-top: 1px solid var(--line, #DDE3DA);
}

.legal-page-section h2 {
  margin: 0 0 14px;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 590;
  line-height: 1.18;
  letter-spacing: -.028em;
}

.legal-page-section p,
.legal-page-section li {
  color: var(--muted, #4D574E);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.72;
}

.legal-page-section p {
  margin: 0 0 14px;
}

.legal-page-section p:last-child {
  margin-bottom: 0;
}

.legal-page-section ul {
  margin: 0;
  padding-left: 20px;
}

.legal-page-section li + li {
  margin-top: 7px;
}

.legal-page-section a {
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.legal-page-note {
  padding-left: 16px;
  border-left: 2px solid var(--green, #61C835);
}

@media (max-width: 1024px) {
  .legal-page {
    padding-top: 136px;
  }

  .legal-page-column {
    width: min(100%, 760px);
  }
}

@media (max-width: 767.98px) {
  .legal-page {
    padding: 112px 0 80px;
  }

  .legal-page-shell {
    width: min(calc(100% - 40px), 1312px);
  }

  .legal-page-column {
    width: 100%;
  }

  .legal-page-title {
    font-size: clamp(32px, 9.2vw, 44px);
    line-height: 1.02;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .legal-page-lead {
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.58;
  }

  .legal-page-meta {
    margin-top: 24px;
  }

  .legal-page-content {
    margin-top: 44px;
  }

  .legal-page-section {
    padding: 25px 0;
  }

  .legal-page-section h2 {
    font-size: 21px;
  }

  .legal-page-section p,
  .legal-page-section li {
    font-size: 15px;
    line-height: 1.68;
  }
}

@media (max-width: 359.98px) {
  .legal-page-shell {
    width: min(calc(100% - 32px), 1312px);
  }
}
/* Section 06 quote typography refinement — content-led sizing only. */
@media (min-width: 1025px) {
  .gw-reviews-v1-quote p {
    max-width: 38ch;
    font-size: clamp(19px, 1.4vw, 22px);
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .gw-reviews-v1-quote p {
    max-width: 38ch;
    font-size: clamp(18px, 2.1vw, 20px);
  }
}

@media (max-width: 767.98px) {
  .gw-reviews-v1-quote p {
    max-width: 100%;
    font-size: 18px;
  }
}
.gw-reviews-v1-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/* Section 03 proof windows: the homepage uses the same static service-bar and
   route contract as /projects/ while retaining its existing interactions. */
.capability-section.cap-v7 .gw-proof-window {
  --gw-proof-inset: 32px;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #29322A;
  background: #0D110E;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}

.capability-section.cap-v7 .gw-proof-head {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
  box-sizing: border-box;
  min-height: 48px;
  padding: 0 var(--gw-proof-inset);
  border-bottom: 1px solid #29322A;
  color: #8A958B;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.capability-section.cap-v7 .gw-proof-head strong,
.capability-section.cap-v7 .gw-proof-head > span,
.capability-section.cap-v7 .gw-proof-head > em {
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}

.capability-section.cap-v7 .gw-proof-head strong {
  grid-row: 1;
  color: #C0C8BE;
  font-weight: 650;
}

.capability-section.cap-v7 .gw-proof-head > span {
  grid-row: 1;
  display: block;
  width: 100%;
  max-width: none;
  align-self: center;
  justify-self: stretch;
  text-align: center;
  white-space: nowrap;
}

.capability-section.cap-v7 .gw-proof-head > span::before,
.capability-section.cap-v7 .gw-proof-head > em > span::before {
  content: none;
}

.capability-section.cap-v7 .gw-proof-head > em {
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 7px;
  color: #8A958B;
  font-style: normal;
  text-align: right;
  white-space: nowrap;
}

.capability-section.cap-v7 .gw-proof-head > em::before {
  position: static;
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  content: "";
  background: #63CA38;
  transform: none;
}

.capability-section.cap-v7 .gw-proof-head > em > span {
  display: block;
  min-width: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

/* The updater uses the same nine-column proof rail as the other three
   homepage product windows. Its original scene rule started one column late. */
@media (min-width: 1025px) {
  .capability-section.cap-v7 .gw-proof-updater { grid-column: 4 / 13; }
}

@media (min-width: 1025px) and (max-width: 1100px) {
  .capability-section.cap-v7 .gw-proof-head {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: 1fr;
    gap: 12px;
    min-height: 60px;
    padding: 8px var(--gw-proof-inset);
  }
  .capability-section.cap-v7 .gw-proof-head strong,
  .capability-section.cap-v7 .gw-proof-head > span,
  .capability-section.cap-v7 .gw-proof-head > em { grid-row: 1; align-self: center; min-width: 0; line-height: 1.3; overflow-wrap: break-word; }
  .capability-section.cap-v7 .gw-proof-head > span { grid-column: 2; justify-self: stretch; text-align: center; }
  .capability-section.cap-v7 .gw-proof-head > em { grid-column: 3; justify-self: end; max-width: 100%; white-space: normal; }
}

.capability-section.cap-v7 .gw-proof-footer {
  position: relative;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: 2;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0 var(--gw-proof-inset);
  border-top: 1px solid #29322A;
  border-bottom: 0;
  color: #A2ADA4;
  background: #0B0F0C;
  font-size: 9px;
  font-weight: 680;
  line-height: 1.2;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.capability-section.cap-v7 .gw-proof-footer i {
  width: 28px;
  height: 1px;
  flex: 0 1 34px;
  margin: 0 10px;
  background: #3A463C;
}

.capability-section.cap-v7 .gw-proof-footer b {
  align-self: center;
  margin-left: auto;
  color: #63CA38;
  font-weight: 650;
  white-space: nowrap;
}

.capability-section.cap-v7 .gw-proof-mail .cap-v10-telegram-stage,
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-form,
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-published,
.capability-section.cap-v7 .gw-proof-updater .cap-v10-updater-route,
.capability-section.cap-v7 .gw-proof-calc .cap-v13-calc-form,
.capability-section.cap-v7 .gw-proof-calc .cap-v13-calc-result {
  box-sizing: border-box;
  padding-right: var(--gw-proof-inset);
  padding-left: var(--gw-proof-inset);
}

.capability-section.cap-v7 .gw-proof-reviews .cap-v10-reviews-body {
  min-height: 0;
  align-items: stretch;
}

.capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-form,
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-published {
  min-height: 0;
  padding-top: 28px;
  padding-bottom: 28px;
}

.capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-published { justify-content: flex-start; }
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-panel-label,
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-published-status {
  min-height: 14px;
  margin: 0 0 18px;
  line-height: 1.35;
}
.capability-section.cap-v7 .gw-proof-reviews .cap-v10-panel-label { color: #98A398; font-weight: 690; }

@media (min-width: 768px) and (max-width: 1024px) {
  .capability-section.cap-v7 .gw-proof-window { --gw-proof-inset: 28px; }
  .capability-section.cap-v7 .gw-proof-head {
    grid-template-columns: minmax(0, .95fr) minmax(180px, 1.3fr) minmax(0, .95fr);
    grid-template-rows: 1fr;
    gap: 12px;
    min-height: 64px;
    padding: 10px var(--gw-proof-inset);
    font-size: 8.5px;
  }
  .capability-section.cap-v7 .gw-proof-head strong,
  .capability-section.cap-v7 .gw-proof-head > span,
  .capability-section.cap-v7 .gw-proof-head > em { grid-row: 1; align-self: center; line-height: 1.3; overflow-wrap: break-word; }
  .capability-section.cap-v7 .gw-proof-head > span { grid-column: 2; justify-self: stretch; text-align: center; }
  .capability-section.cap-v7 .gw-proof-head > em { grid-column: 3; max-width: none; white-space: normal; }
  .capability-section.cap-v7 .gw-proof-calc .gw-proof-head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    height: auto;
    min-height: 82px;
    align-content: center;
    row-gap: 6px;
  }
  .capability-section.cap-v7 .gw-proof-calc .gw-proof-head strong { grid-column: 1; grid-row: 1; }
  .capability-section.cap-v7 .gw-proof-calc .gw-proof-head > em { grid-column: 2; grid-row: 1; justify-self: end; }
  .capability-section.cap-v7 .gw-proof-calc .gw-proof-head > span {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    text-align: left;
  }
  .capability-section.cap-v7 .gw-proof-mail .gw-proof-head strong { white-space: nowrap; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-reviews-body { display: block; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-form,
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-published {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-panel-label,
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-published-status { margin-bottom: 14px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-fields { margin-top: 0; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-trace { min-height: 64px; }
}

@media (max-width: 767.98px) {
  .capability-section.cap-v7 .gw-proof-window {
    --gw-proof-inset: 16px;
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
  }
  .capability-section.cap-v7 .gw-proof-head {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 7px 12px;
    min-height: 88px;
    padding-top: 12px;
    padding-right: calc(var(--gw-proof-inset) + 8px);
    padding-bottom: 12px;
    padding-left: var(--gw-proof-inset);
    font-size: 8px;
    line-height: 1.25;
    letter-spacing: .05em;
  }
  .capability-section.cap-v7 .gw-proof-head strong {
    grid-column: 1;
    grid-row: 1;
    font-size: inherit;
    align-self: center;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }
  .capability-section.cap-v7 .gw-proof-head > em {
    grid-column: 2;
    grid-row: 1;
    gap: 5px;
    font-size: 7.5px;
    align-self: center;
    justify-self: end;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    overflow-wrap: normal;
  }
  .capability-section.cap-v7 .gw-proof-head > em::before {
    width: 5px;
    min-width: 5px;
    max-width: 5px;
    height: 5px;
    min-height: 5px;
    max-height: 5px;
    flex-basis: 5px;
  }
  .capability-section.cap-v7 .gw-proof-head > em > span { width: auto; max-width: none; flex: 0 0 auto; white-space: nowrap; }
  .capability-section.cap-v7 .gw-proof-head > span {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    width: auto;
    text-align: left;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .capability-section.cap-v7 .gw-proof-footer {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: 15px minmax(32px, 1fr);
    align-items: stretch;
    gap: 7px 1px;
    min-height: 76px;
    padding: 10px var(--gw-proof-inset) 0;
  }
  .capability-section.cap-v7 .gw-proof-footer b {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: start;
    justify-self: start;
    margin: 0;
    font-size: 8px;
    line-height: 1;
  }
  .capability-section.cap-v7 .gw-proof-footer span {
    display: flex;
    grid-row: 2;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    border-top: 1px solid #2D372F;
    font-size: 8px;
    line-height: 1.15;
    text-align: center;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .capability-section.cap-v7 .gw-proof-footer span:nth-of-type(1) { grid-column: 1; }
  .capability-section.cap-v7 .gw-proof-footer span:nth-of-type(2) { grid-column: 2; }
  .capability-section.cap-v7 .gw-proof-footer span:nth-of-type(3) { grid-column: 3; }
  .capability-section.cap-v7 .gw-proof-footer span:nth-of-type(4) { grid-column: 4; }
  .capability-section.cap-v7 .gw-proof-footer i { display: none; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-reviews-body { display: block; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-form,
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-published {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 18px var(--gw-proof-inset);
  }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-panel-label { margin: 0 0 11px; color: #B0BAB0; font-size: 10px; font-weight: 710; line-height: 1.3; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-published-status { margin: 0 0 11px; line-height: 1.3; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-fields { margin-top: 0; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-media { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-drop { min-height: 0; padding: 10px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-text { margin-top: 8px; padding: 11px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-submit { margin-top: 10px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-trace { min-height: 56px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-card-body { padding: 12px; }
}

@media (max-width: 359.98px) {
  .capability-section.cap-v7 .gw-proof-window { --gw-proof-inset: 12px; }
  .capability-section.cap-v7 .gw-proof-head { padding-right: 22px; font-size: 7.5px; }
  .capability-section.cap-v7 .gw-proof-head > em { font-size: 7px; }
  .capability-section.cap-v7 .gw-proof-footer { padding-right: 10px; padding-left: 10px; }
  .capability-section.cap-v7 .gw-proof-footer span { padding-right: 2px; padding-left: 2px; font-size: 7.5px; }
  .capability-section.cap-v7 .gw-proof-reviews .cap-v10-review-media { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .capability-section.cap-v7 .gw-proof-footer {
    grid-template-rows: 12px minmax(34px, 1fr);
    height: 75px;
    min-height: 75px;
  }
}

/* Keep the updater proof on the same visual rhythm as the other product windows.
   Its desktop rail begins with the copy; stacked layouts keep only their intended gap. */
@media (min-width: 1025px) {
  .capability-section.cap-v7 .cap-v10-updater-copy {
    grid-column: 1 / 4;
  }

  .capability-section.cap-v7 .cap-v10-updater-flow.gw-proof-updater {
    grid-column: 4 / 13;
    align-self: start;
    margin-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .capability-section.cap-v7 .cap-v10-updater-flow.gw-proof-updater {
    align-self: start;
    margin-top: 16px;
  }
}

@media (max-width: 767.98px) {
  .capability-section.cap-v7 .cap-v10-updater-flow.gw-proof-updater {
    margin-top: 28px;
  }
}

/* Home always leads the primary and footer navigation, regardless of cache or markup order. */
.desktop-nav > a[href="/"],
.gw-footer-v1-nav > a[href="/"],
.gw-menu-v3-nav > a[href="/"] {
  order: -1;
}
