:root {
      --home-deep: #07140c;
      --home-green: #10291c;
      --home-green-2: #183a27;
      --home-olive: #68704a;

      --home-lime: #d9ec78;
      --home-lime-2: #c8db62;

      --home-paper: #f7f2e8;
      --home-paper-2: #eee7d9;

      --home-ink: #183a27;
      --home-muted: #6f7568;

      --home-line: rgba(24, 58, 39, .15);
      --home-white-line: rgba(255, 255, 255, .17);

      --home-shadow:
        0 34px 100px rgba(24, 58, 39, .11);
    }


    /* =====================================================
       BASE
    ===================================================== */

    html {
      scroll-behavior: smooth;
    }

    body.home-page {
      margin: 0;
      background: var(--home-paper);
      color: var(--home-ink);
    }

    body.home-page main {
      overflow: hidden;
    }

    .client-only,
    .business-only {
      display: none !important;
    }

    body[data-audience="client"] .client-only.block,
    body[data-audience="business"] .business-only.block {
      display: block !important;
    }

    body[data-audience="client"] .client-only.inline-flex,
    body[data-audience="business"] .business-only.inline-flex {
      display: inline-flex !important;
    }

    body[data-audience="client"] .client-only.flex,
    body[data-audience="business"] .business-only.flex {
      display: flex !important;
    }

    body[data-audience="client"] img.client-only,
    body[data-audience="business"] img.business-only {
      display: block !important;
    }

    .client-grid,
    .business-grid {
      display: none !important;
    }

    body[data-audience="client"] .client-grid {
      display: grid !important;
    }

    body[data-audience="business"] .business-grid {
      display: grid !important;
    }

    .home-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 11px;

      color: #738045;

      font-size: 10px;
      font-weight: 900;

      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .home-eyebrow::before {
      content: "";

      width: 31px;
      height: 2px;

      background: currentColor;
    }

    .home-display {
      margin: 0;

      font:
        700 clamp(54px, 6.6vw, 100px) / .9
        var(--font-display);

      letter-spacing: -.06em;
      text-wrap: balance;
    }

    .home-display em {
      display: block;

      color: #748046;

      font-weight: 500;
      font-style: italic;
    }

    .home-copy {
      max-width: 620px;

      color: var(--home-muted);

      font-size: 16px;
      line-height: 1.75;

      text-wrap: pretty;
    }


    /* =====================================================
       BUTTONS
    ===================================================== */

    .home-btn {
      min-height: 50px;

      display: inline-flex;
      align-items: center;
      justify-content: center;

      gap: 12px;

      padding: 0 20px;

      border: 1px solid transparent;
      border-radius: 999px;

      font-size: 11px;
      font-weight: 900;

      letter-spacing: .07em;
      text-transform: uppercase;

      text-align: center;

      transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s var(--ease),
        box-shadow .2s ease;
    }

    .home-btn-primary {
      color: var(--home-green);
      border-color: var(--home-lime);
      background: var(--home-lime);
    }

    .home-btn-primary:hover {
      color: var(--home-deep);
      border-color: #e9ff83;
      background: #e9ff83;

      transform: translateY(-2px);

      box-shadow:
        0 18px 42px rgba(7, 20, 12, .22);
    }

    .home-btn-dark {
      color: white;
      border-color: var(--home-green);
      background: var(--home-green);
    }

    .home-btn-dark:hover {
      color: var(--home-deep);
      border-color: var(--home-lime);
      background: var(--home-lime);

      transform: translateY(-2px);
    }

    .home-btn-light {
      color: var(--home-green);
      border-color: rgba(24, 58, 39, .28);
      background: rgba(255, 255, 255, .72);
    }

    .home-btn-light:hover {
      color: var(--home-deep);
      border-color: var(--home-lime);
      background: var(--home-lime);

      transform: translateY(-2px);
    }

    .home-btn-on-dark {
      color: white;

      border-color:
        rgba(255, 255, 255, .30);

      background:
        rgba(255, 255, 255, .07);

      backdrop-filter: blur(14px);
    }

    .home-btn-on-dark:hover {
      color: var(--home-deep);

      border-color:
        var(--home-lime);

      background:
        var(--home-lime);

      transform: translateY(-2px);
    }

    .home-actions {
      display: flex;
      flex-wrap: wrap;

      align-items: center;

      gap: 10px;

      margin-top: 32px;
    }


    /* =====================================================
       FULLSCREEN ENTRY GATE
    ===================================================== */

    .audience-gate {
      position: fixed;
      inset: 0;

      z-index: 500;

      display: grid;
      grid-template-columns: 1fr 1fr;

      color: white;

      background:
        var(--home-deep);

      opacity: 1;
      visibility: visible;

      transition:
        opacity .7s var(--ease),
        visibility .7s var(--ease);
    }

    body.is-entered .audience-gate {
      opacity: 0;
      visibility: hidden;

      pointer-events: none;
    }

    .audience-gate::after {
      content: "";

      position: absolute;
      left: 50%;
      top: 0;
      bottom: 0;

      z-index: 5;

      width: 1px;

      background:
        rgba(255, 255, 255, .20);

      pointer-events: none;
    }

    .gate-choice {
      position: relative;

      min-height: 100svh;

      display: flex;
      align-items: flex-end;

      overflow: hidden;

      padding:
        clamp(34px, 6vw, 84px);

      border: 0;

      color: white;

      background:
        var(--home-deep);

      text-align: left;

      cursor: pointer;

      isolation: isolate;
    }

    .gate-choice > img {
      position: absolute;
      inset: 0;

      z-index: 0;

      width: 100%;
      height: 100%;

      object-fit: cover;

      transform:
        scale(1.075);

      filter:
        saturate(.91)
        contrast(1.03);

      transition:
        transform .9s var(--ease),
        filter .4s ease;
    }

    .gate-choice::before {
      content: "";

      position: absolute;
      inset: 0;

      z-index: 1;

      background:
        linear-gradient(
          180deg,
          rgba(7, 20, 12, .06),
          rgba(7, 20, 12, .88)
        );
    }

    .gate-choice.client::before {
      background:
        radial-gradient(
          circle at 18% 18%,
          rgba(217, 236, 120, .21),
          transparent 33%
        ),
        linear-gradient(
          180deg,
          rgba(7, 20, 12, .06),
          rgba(7, 20, 12, .88)
        );
    }

    .gate-choice.business::before {
      background:
        radial-gradient(
          circle at 82% 18%,
          rgba(217, 236, 120, .18),
          transparent 34%
        ),
        linear-gradient(
          180deg,
          rgba(7, 20, 12, .05),
          rgba(7, 20, 12, .92)
        );
    }

    .gate-choice::after {
      content: "";

      position: absolute;
      inset: 0;

      z-index: 2;

      opacity: .16;

      background-image:
        linear-gradient(
          rgba(255, 255, 255, .08)
          1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(255, 255, 255, .08)
          1px,
          transparent 1px
        );

      background-size:
        76px 76px;

      pointer-events: none;
    }

    .gate-choice:hover > img {
      transform:
        scale(1.015);

      filter:
        saturate(1.08)
        contrast(1.06);
    }

    .gate-content {
      position: relative;

      z-index: 3;

      width: min(650px, 100%);

      transition:
        transform .4s var(--ease);
    }

    .gate-choice:hover
    .gate-content {
      transform:
        translateY(-9px);
    }

    .gate-choice small {
      display: inline-flex;
      align-items: center;

      gap: 10px;

      margin-bottom: 18px;

      color:
        var(--home-lime);

      font-size: 10px;
      font-weight: 900;

      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .gate-choice small::before {
      content: "";

      width: 31px;
      height: 2px;

      background:
        currentColor;
    }

    .gate-choice h1 {
      max-width: 650px;

      margin: 0;

      font:
        700 clamp(64px, 7vw, 118px) / .82
        var(--font-display);

      letter-spacing:
        -.072em;
    }

    .gate-choice h1 em {
      display: block;

      color:
        var(--home-lime);

      font-weight: 500;
      font-style: italic;
    }

    .gate-choice p {
      max-width: 520px;

      margin:
        24px 0 0;

      color:
        rgba(255, 255, 255, .74);

      font-size: 15px;
      line-height: 1.7;
    }

    .gate-enter {
      display: inline-flex;
      align-items: center;

      gap: 12px;

      margin-top: 30px;

      padding:
        13px 18px;

      color:
        var(--home-green);

      border-radius:
        999px;

      background:
        var(--home-lime);

      font-size: 10px;
      font-weight: 900;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

      transition:
        background .2s ease,
        transform .2s ease;
    }

    .gate-choice:hover
    .gate-enter {
      background:
        #e9ff83;

      transform:
        translateX(4px);
    }

    .gate-logo {
      position: absolute;

      left: 50%;
      top: 50%;

      z-index: 10;

      width: 170px;
      height: 170px;

      display: grid;
      place-items: center;

      padding: 17px;

      border:
        1px solid
        rgba(255, 255, 255, .28);

      border-radius:
        50%;

      background:
        rgba(247, 242, 232, .94);

      box-shadow:
        0 34px 100px
        rgba(0, 0, 0, .35);

      transform:
        translate(-50%, -50%);

      backdrop-filter:
        blur(18px);
    }

    .gate-logo img {
      width: 100%;
      height: 100%;

      object-fit:
        contain;

      border-radius:
        50%;
    }

    .gate-note {
      position: absolute;

      left: 50%;
      bottom: 24px;

      z-index: 11;

      display: inline-flex;
      align-items: center;

      gap: 9px;

      padding:
        9px 13px;

      color:
        rgba(255, 255, 255, .76);

      border:
        1px solid
        rgba(255, 255, 255, .18);

      border-radius:
        999px;

      background:
        rgba(7, 20, 12, .54);

      font-size: 9px;
      font-weight: 900;

      letter-spacing:
        .12em;

      text-transform:
        uppercase;

      transform:
        translateX(-50%);

      backdrop-filter:
        blur(12px);
    }

    .gate-note::before {
      content: "";

      width: 7px;
      height: 7px;

      border-radius: 50%;

      background:
        var(--home-lime);

      animation:
        gatePulse 1.5s
        ease-in-out infinite;
    }


    /* =====================================================
       APP VISIBILITY
    ===================================================== */

    .home-app {
      min-height: 100vh;

      opacity: 0;

      pointer-events: none;

      transform:
        translateY(16px);

      transition:
        opacity .65s var(--ease),
        transform .65s var(--ease);
    }

    body.is-entered
    .home-app {
      opacity: 1;

      pointer-events: auto;

      transform:
        translateY(0);
    }


    /* =====================================================
       HEADER
    ===================================================== */

    .home-page .site-header {
      background:
        rgba(247, 242, 232, .94);

      border-bottom:
        1px solid
        rgba(24, 58, 39, .12);

      backdrop-filter:
        blur(18px);
    }


    /* =====================================================
       AUDIENCE HERO
    ===================================================== */

    .audience-hero {
      position: relative;

      min-height:
        calc(100svh - 130px);

      display: grid;
      align-items: end;

      color: white;

      background:
        var(--home-deep);

      isolation: isolate;
    }

    .audience-hero-image,
    .audience-hero-wash,
    .audience-grid {
      position: absolute;
      inset: 0;
    }

    .audience-hero-image img {
      width: 100%;
      height: 100%;

      object-fit: cover;

      filter:
        saturate(.98)
        contrast(1.04);
    }

    .audience-hero-wash {
      z-index: 1;

      background:
        radial-gradient(
          circle at 77% 18%,
          rgba(217, 236, 120, .18),
          transparent 32%
        ),
        linear-gradient(
          90deg,
          rgba(7, 20, 12, .95),
          rgba(7, 20, 12, .72) 46%,
          rgba(7, 20, 12, .18)
        ),
        linear-gradient(
          0deg,
          rgba(7, 20, 12, .8),
          transparent 62%
        );
    }

    .audience-grid {
      z-index: 2;

      opacity: .14;

      background-image:
        linear-gradient(
          rgba(255, 255, 255, .08)
          1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(255, 255, 255, .08)
          1px,
          transparent 1px
        );

      background-size:
        82px 82px;

      mask-image:
        linear-gradient(
          90deg,
          #000,
          transparent 86%
        );
    }

    .audience-hero-inner {
      position: relative;

      z-index: 4;

      width: 100%;

      display: grid;

      grid-template-columns:
        minmax(0, 1fr)
        minmax(330px, 430px);

      gap:
        clamp(44px, 8vw, 120px);

      align-items: end;

      padding-top:
        150px;

      padding-bottom:
        78px;
    }

    .audience-copy {
      max-width:
        1040px;

      text-align:
        left;
    }

    .audience-copy
    .home-eyebrow {
      margin-bottom:
        21px;

      color:
        var(--home-lime);
    }

    .audience-copy h1 {
      max-width:
        1040px;

      margin: 0;

      font:
        700 clamp(66px, 8vw, 130px) / .84
        var(--font-display);

      letter-spacing:
        -.065em;

      text-wrap:
        balance;
    }

    .audience-copy
    h1 em {
      display:
        block;

      color:
        var(--home-lime);

      font-weight:
        500;

      font-style:
        italic;
    }

    .audience-copy
    > p {
      max-width:
        670px;

      margin:
        28px 0 0;

      color:
        rgba(255, 255, 255, .76);

      font-size:
        17px;

      line-height:
        1.72;
    }

    .audience-panel {
      width:
        min(100%, 430px);

      justify-self:
        end;

      padding:
        24px;

      border:
        1px solid
        rgba(255, 255, 255, .19);

      border-radius:
        32px;

      background:
        rgba(16, 41, 28, .75);

      box-shadow:
        0 35px 100px
        rgba(0, 0, 0, .27);

      backdrop-filter:
        blur(18px);
    }

    .audience-panel
    > span {
      color:
        var(--home-lime);

      font-size:
        9px;

      font-weight:
        900;

      letter-spacing:
        .14em;

      text-transform:
        uppercase;
    }

    .audience-panel
    strong {
      display:
        block;

      margin-top:
        11px;

      color:
        white;

      font:
        700 42px / .95
        var(--font-display);

      letter-spacing:
        -.04em;
    }

    .audience-panel
    p {
      margin:
        13px 0 0;

      color:
        rgba(255, 255, 255, .66);

      font-size:
        12px;

      line-height:
        1.6;
    }

    .audience-switch {
      display:
        grid;

      grid-template-columns:
        1fr 1fr;

      gap:
        8px;

      margin-top:
        20px;
    }

    .audience-switch button {
      min-height:
        44px;

      color:
        white;

      border:
        1px solid
        rgba(255, 255, 255, .19);

      border-radius:
        999px;

      background:
        rgba(255, 255, 255, .06);

      font-size:
        10px;

      font-weight:
        900;

      letter-spacing:
        .07em;

      text-transform:
        uppercase;

      transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
    }

    .audience-switch
    button:hover,
    .audience-switch
    button[aria-pressed="true"] {
      color:
        var(--home-green);

      border-color:
        var(--home-lime);

      background:
        var(--home-lime);
    }

    .audience-switch
    button:hover {
      transform:
        translateY(-2px);
    }

    .return-to-gate {
      width:
        100%;

      min-height:
        42px;

      margin-top:
        9px;

      color:
        rgba(255, 255, 255, .78);

      border:
        1px solid
        rgba(255, 255, 255, .18);

      border-radius:
        999px;

      background:
        transparent;

      font-size:
        9px;

      font-weight:
        900;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;

      transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
    }

    .return-to-gate:hover {
      color:
        var(--home-green);

      border-color:
        var(--home-lime);

      background:
        var(--home-lime);
    }


    /* =====================================================
       STICKY MINI NAV
    ===================================================== */

    .home-subnav {
      position: sticky;

      top: 0;

      z-index: 80;

      color: white;

      background:
        rgba(16, 41, 28, .96);

      border-bottom:
        1px solid
        rgba(255, 255, 255, .1);

      backdrop-filter:
        blur(16px);
    }

    .home-subnav-inner {
      min-height:
        66px;

      display:
        flex;

      align-items:
        center;

      gap:
        8px;

      overflow-x:
        auto;

      scrollbar-width:
        none;
    }

    .home-subnav-inner::-webkit-scrollbar {
      display:
        none;
    }

    .home-subnav-inner
    > span {
      flex:
        0 0 auto;

      margin-right:
        16px;

      color:
        var(--home-lime);

      font-size:
        9px;

      font-weight:
        900;

      letter-spacing:
        .13em;

      text-transform:
        uppercase;
    }

    .home-subnav a {
      flex:
        0 0 auto;

      padding:
        9px 14px;

      color:
        rgba(255, 255, 255, .79);

      border:
        1px solid
        rgba(255, 255, 255, .14);

      border-radius:
        999px;

      font-size:
        10px;

      font-weight:
        850;

      transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
    }

    .home-subnav
    a:hover {
      color:
        var(--home-green);

      border-color:
        var(--home-lime);

      background:
        var(--home-lime);
    }


    /* =====================================================
       SECTION BASE
    ===================================================== */

    .home-section {
      position:
        relative;

      padding:
        126px 0;
    }

    .section-head {
      display:
        grid;

      grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, .42fr);

      gap:
        70px;

      align-items:
        end;

      margin-bottom:
        58px;
    }

    .section-head
    .home-eyebrow {
      margin-bottom:
        20px;
    }

    .section-head
    .home-copy {
      margin:
        0;
    }


    /* =====================================================
       SYSTEM / ORBIT SECTION
    ===================================================== */

    .system-section {
      background:
        radial-gradient(
          circle at 12% 0%,
          rgba(217, 236, 120, .11),
          transparent 30%
        ),
        linear-gradient(
          180deg,
          var(--home-paper),
          var(--home-paper-2)
        );
    }

    .system-layout {
      display:
        grid;

      grid-template-columns:
        minmax(0, .82fr)
        minmax(520px, 1fr);

      gap:
        clamp(50px, 8vw, 120px);

      align-items:
        center;
    }

    .system-copy {
      text-align:
        left;
    }

    .system-copy
    .home-eyebrow {
      margin-bottom:
        20px;
    }

    .system-copy
    .home-copy {
      margin-top:
        25px;
    }

    .system-copy
    .home-actions {
      justify-content:
        flex-start;
    }

    .system-stage {
      position:
        relative;

      min-height:
        650px;

      overflow:
        hidden;

      border:
        1px solid
        var(--home-line);

      border-radius:
        50px;

      background:
        radial-gradient(
          circle at 50% 45%,
          rgba(217, 236, 120, .25),
          transparent 29%
        ),
        radial-gradient(
          circle at 82% 10%,
          rgba(104, 112, 74, .12),
          transparent 26%
        ),
        rgba(255, 255, 255, .74);

      box-shadow:
        var(--home-shadow);

      backdrop-filter:
        blur(14px);
    }

    .system-stage-grid {
      position:
        absolute;

      inset:
        34px;

      border:
        1px solid
        rgba(24, 58, 39, .10);

      border-radius:
        40px;

      background-image:
        linear-gradient(
          rgba(24, 58, 39, .065)
          1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(24, 58, 39, .065)
          1px,
          transparent 1px
        );

      background-size:
        44px 44px;
    }

    .system-orbit {
      position:
        absolute;

      left:
        50%;

      top:
        50%;

      width:
        min(470px, 76%);

      aspect-ratio:
        1;

      border:
        1px dashed
        rgba(24, 58, 39, .18);

      border-radius:
        50%;

      transform:
        translate(-50%, -50%);

      animation:
        orbitRotate 46s
        linear infinite;
    }

    .system-orbit::before {
      content:
        "";

      position:
        absolute;

      left:
        50%;

      top:
        50%;

      width:
        73%;

      aspect-ratio:
        1;

      border:
        1px solid
        rgba(24, 58, 39, .10);

      border-radius:
        50%;

      transform:
        translate(-50%, -50%);
    }

    .system-core {
      position:
        absolute;

      left:
        50%;

      top:
        50%;

      z-index:
        5;

      width:
        min(300px, 54%);

      min-height:
        215px;

      display:
        grid;

      place-items:
        center;

      padding:
        28px;

      color:
        white;

      border:
        1px solid
        rgba(255, 255, 255, .16);

      border-radius:
        36px;

      background:
        radial-gradient(
          circle at 27% 16%,
          rgba(217, 236, 120, .24),
          transparent 37%
        ),
        linear-gradient(
          145deg,
          var(--home-green),
          var(--home-green-2)
        );

      box-shadow:
        0 30px 90px
        rgba(16, 41, 28, .26);

      text-align:
        center;

      transform:
        translate(-50%, -50%);
    }

    .system-core
    strong {
      display:
        block;

      color:
        var(--home-lime);

      font:
        700 clamp(42px, 4vw, 58px) / .9
        var(--font-display);

      letter-spacing:
        -.045em;
    }

    .system-core
    span {
      display:
        block;

      max-width:
        220px;

      margin:
        13px auto 0;

      color:
        rgba(255, 255, 255, .71);

      font-size:
        11px;

      line-height:
        1.55;
    }

    .system-pill {
      position:
        absolute;

      z-index:
        8;

      min-height:
        46px;

      min-width:
        145px;

      display:
        inline-flex;

      align-items:
        center;
      justify-content:
        center;

      gap:
        9px;

      padding:
        0 15px;

      color:
        var(--home-green);

      border:
        1px solid
        rgba(24, 58, 39, .14);

      border-radius:
        999px;

      background:
        rgba(255, 255, 255, .93);

      box-shadow:
        0 20px 55px
        rgba(24, 58, 39, .11);

      font-size:
        10px;

      font-weight:
        900;

      letter-spacing:
        .07em;

      text-transform:
        uppercase;

      backdrop-filter:
        blur(14px);
    }

    .system-pill::before {
      content:
        "";

      width:
        7px;

      height:
        7px;

      border-radius:
        50%;

      background:
        var(--home-lime);

      box-shadow:
        0 0 0 5px
        rgba(217, 236, 120, .18);
    }

    .system-pill
    i {
      width:
        17px;

      height:
        17px;

      color:
        #6f7b29;

      stroke-width:
        1.5;
    }

    .system-pill.one {
      top:
        9%;

      left:
        40%;
    }

    .system-pill.two {
      top:
        29%;

      right:
        7%;
    }

    .system-pill.three {
      bottom:
        20%;

      right:
        10%;
    }

    .system-pill.four {
      bottom:
        10%;

      left:
        19%;
    }

    .system-pill.five {
      top:
        31%;

      left:
        6%;
    }


    /* =====================================================
       MARQUEE — LEFT TO RIGHT
    ===================================================== */

    .home-marquee {
      overflow:
        hidden;

      padding:
        22px 0;

      color:
        white;

      background:
        var(--home-green-2);

      white-space:
        nowrap;
    }

    .home-marquee-track {
      width:
        max-content;

      display:
        flex;

      gap:
        36px;

      transform:
        translateX(-50%);

      animation:
        marqueeLeftToRight
        28s linear infinite;
    }

    .home-marquee-line {
      display:
        inline-flex;

      align-items:
        center;

      gap:
        28px;

      font:
        700 clamp(30px, 4vw, 55px) / 1
        var(--font-display);

      letter-spacing:
        -.045em;
    }

    .home-marquee-line
    em {
      color:
        var(--home-lime);

      font-weight:
        500;

      font-style:
        italic;
    }


    /* =====================================================
       AUDIENCE-SPECIFIC PATHS
    ===================================================== */

    .paths-section {
      background:
        var(--home-paper);
    }

    .paths-grid {
      grid-template-columns:
        repeat(12, minmax(0, 1fr));

      gap:
        16px;
    }

    .path-card {
      position:
        relative;

      min-height:
        390px;

      display:
        flex;

      align-items:
        flex-end;

      overflow:
        hidden;

      padding:
        28px;

      color:
        white;

      border-radius:
        38px;

      background:
        var(--home-green);

      box-shadow:
        var(--home-shadow);
    }

    .path-card.large {
      grid-column:
        span 7;

      min-height:
        560px;
    }

    .path-card.medium {
      grid-column:
        span 5;
    }

    .path-card.small {
      grid-column:
        span 4;
    }

    .path-card.wide {
      grid-column:
        span 8;
    }

    .path-card
    > img {
      position:
        absolute;

      inset:
        0;

      width:
        100%;

      height:
        100%;

      object-fit:
        cover;

      transform:
        scale(1.05);

      transition:
        transform .75s
        var(--ease);
    }

    .path-card:hover
    > img {
      transform:
        scale(1.015);
    }

    .path-card::after {
      content:
        "";

      position:
        absolute;

      inset:
        0;

      background:
        radial-gradient(
          circle at 20% 12%,
          rgba(217, 236, 120, .17),
          transparent 30%
        ),
        linear-gradient(
          0deg,
          rgba(7, 20, 12, .91),
          rgba(7, 20, 12, .21)
          72%
        );
    }

    .path-card.no-image {
      background:
        radial-gradient(
          circle at 80% 10%,
          rgba(217, 236, 120, .17),
          transparent 34%
        ),
        linear-gradient(
          145deg,
          var(--home-green),
          var(--home-green-2)
        );
    }

    .path-card-content {
      position:
        relative;

      z-index:
        2;

      max-width:
        650px;
    }

    .path-card-content
    > span {
      color:
        var(--home-lime);

      font-size:
        9px;

      font-weight:
        900;

      letter-spacing:
        .14em;

      text-transform:
        uppercase;
    }

    .path-card h3 {
      max-width:
        650px;

      margin:
        14px 0 0;

      font:
        700 clamp(34px, 4vw, 60px) / .95
        var(--font-display);

      letter-spacing:
        -.046em;

      text-wrap:
        balance;
    }

    .path-card p {
      max-width:
        520px;

      margin:
        14px 0 0;

      color:
        rgba(255, 255, 255, .74);

      font-size:
        13px;

      line-height:
        1.65;
    }

    .path-card
    strong {
      display:
        inline-flex;

      margin-top:
        23px;

      color:
        var(--home-lime);

      font-size:
        10px;

      letter-spacing:
        .08em;

      text-transform:
        uppercase;
    }


    /* =====================================================
       PRODUCTS
    ===================================================== */

    .products-section {
      background:
        radial-gradient(
          circle at 82% 0%,
          rgba(217, 236, 120, .11),
          transparent 27%
        ),
        linear-gradient(
          180deg,
          var(--home-paper-2),
          var(--home-paper)
        );
    }

    .products-frame {
      padding:
        20px;

      border:
        1px solid
        var(--home-line);

      border-radius:
        44px;

      background:
        radial-gradient(
          circle at 18% 0%,
          rgba(217, 236, 120, .13),
          transparent 34%
        ),
        rgba(255, 255, 255, .84);

      box-shadow:
        var(--home-shadow);

      backdrop-filter:
        blur(12px);
    }

    .products-frame
    .product-grid {
      padding-top:
        0;
    }


    /* =====================================================
       PHILOSOPHY / JOURNAL
    ===================================================== */

    .method-section {
      background:
        var(--home-paper);
    }

    .method-layout {
      display:
        grid;

      grid-template-columns:
        minmax(320px, .76fr)
        minmax(0, 1.24fr);

      gap:
        clamp(48px, 8vw, 120px);

      align-items:
        start;
    }

    .method-intro {
      position:
        sticky;

      top:
        110px;
    }

    .method-intro
    .home-eyebrow {
      margin-bottom:
        20px;
    }

    .method-intro
    .home-copy {
      margin-top:
        25px;
    }

    .method-flow {
      display:
        grid;

      gap:
        15px;
    }

    .method-row {
      display:
        grid;

      grid-template-columns:
        105px 1fr;

      gap:
        27px;

      padding:
        30px;

      border:
        1px solid
        var(--home-line);

      border-radius:
        34px;

      background:
        rgba(255, 255, 255, .55);

      transition:
        transform .22s
        var(--ease),
        background .22s ease,
        border-color .22s ease;
    }

    .method-row:hover {
      transform:
        translateX(7px);

      border-color:
        rgba(24, 58, 39, .24);

      background:
        white;
    }

    .method-row
    > span {
      color:
        #718044;

      font:
        700 57px / .82
        var(--font-display);

      letter-spacing:
        -.05em;
    }

    .method-row
    h3 {
      margin:
        0 0 10px;

      font:
        700 34px / 1
        var(--font-display);

      letter-spacing:
        -.035em;
    }

    .method-row
    p {
      margin:
        0;

      color:
        var(--home-muted);

      font-size:
        14px;

      line-height:
        1.7;
    }


    /* =====================================================
       FINDER
    ===================================================== */

    .home-finder {
      position:
        relative;

      color:
        white;

      background:
        var(--home-green);
    }

    .home-finder::before {
      content:
        "";

      position:
        absolute;

      inset:
        0;

      opacity:
        .18;

      background:
        radial-gradient(
          circle at 18% 18%,
          rgba(217, 236, 120, .42),
          transparent 22%
        ),
        radial-gradient(
          circle at 82% 78%,
          rgba(217, 236, 120, .20),
          transparent 25%
        );

      pointer-events:
        none;
    }

    .home-finder
    .project-finder-shell {
      position:
        relative;

      z-index:
        1;
    }

    .home-finder
    .project-finder-copy
    .eyebrow {
      color:
        var(--home-lime);
    }

    .home-finder
    .project-finder-copy
    h2 {
      color:
        white;
    }

    .home-finder
    .project-finder-copy
    h2 em {
      color:
        var(--home-lime);
    }

    .home-finder
    .project-finder-copy
    > p {
      color:
        rgba(255, 255, 255, .70);
    }

    .home-finder
    .finder-panel {
      border-radius:
        38px;

      box-shadow:
        0 35px 100px
        rgba(0, 0, 0, .27);
    }

    .home-finder
    .finder-option,
    .home-finder
    .finder-needs button {
      transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
    }

    .home-finder
    .finder-option:hover,
    .home-finder
    .finder-needs button:hover,
    .home-finder
    .finder-option[aria-pressed="true"],
    .home-finder
    .finder-needs button[aria-pressed="true"] {
      color:
        var(--home-green);

      border-color:
        var(--home-lime);

      background:
        var(--home-lime);

      transform:
        translateY(-2px);
    }


    /* =====================================================
       CONTACT
    ===================================================== */

    .contact-section {
      color:
        white;

      background:
        radial-gradient(
          circle at 82% 15%,
          rgba(217, 236, 120, .12),
          transparent 31%
        ),
        var(--home-green-2);
    }

    .contact-layout {
      display:
        grid;

      grid-template-columns:
        minmax(0, 1.08fr)
        minmax(320px, .62fr);

      gap:
        clamp(46px, 8vw, 110px);

      align-items:
        end;
    }

    .contact-copy
    .home-eyebrow {
      margin-bottom:
        20px;

      color:
        var(--home-lime);
    }

    .contact-copy
    .home-display em {
      color:
        var(--home-lime);
    }

    .contact-side
    .home-copy {
      color:
        rgba(255, 255, 255, .72);
    }

    .contact-card {
      margin-top:
        26px;

      padding:
        24px;

      border:
        1px solid
        rgba(217, 236, 120, .22);

      border-radius:
        36px;

      background:
        rgba(255, 255, 255, .06);

      backdrop-filter:
        blur(12px);
    }

    .contact-phone {
      display:
        block;

      color:
        white;

      font:
        700 clamp(38px, 4vw, 60px) / 1
        var(--font-display);

      letter-spacing:
        -.04em;
    }

    .contact-address {
      margin:
        15px 0 0;

      color:
        rgba(255, 255, 255, .68);

      font-size:
        13px;

      line-height:
        1.6;
    }


    /* =====================================================
       ANIMATION
    ===================================================== */

    @keyframes gatePulse {
      0%,
      100% {
        opacity: .35;
        transform: scale(.75);
      }

      50% {
        opacity: 1;
        transform: scale(1);
      }
    }

    @keyframes orbitRotate {
      to {
        transform:
          translate(-50%, -50%)
          rotate(360deg);
      }
    }

    @keyframes marqueeLeftToRight {
      from {
        transform:
          translateX(-50%);
      }

      to {
        transform:
          translateX(0);
      }
    }


    /* =====================================================
       RESPONSIVE
    ===================================================== */

    @media (max-width: 1120px) {
      .audience-hero-inner,
      .system-layout,
      .section-head,
      .method-layout,
      .contact-layout {
        grid-template-columns:
          1fr;
      }

      .audience-panel {
        justify-self:
          start;
      }

      .system-copy {
        max-width:
          850px;
      }

      .method-intro {
        position:
          static;
      }

      .path-card.large,
      .path-card.medium,
      .path-card.small,
      .path-card.wide {
        grid-column:
          span 6;
      }
    }

    @media (max-width: 900px) {
      .audience-gate {
        grid-template-columns:
          1fr;
      }

      .audience-gate::after,
      .gate-logo,
      .gate-note {
        display:
          none;
      }

      .gate-choice {
        min-height:
          50svh;

        padding:
          28px;
      }

      .gate-choice h1 {
        font-size:
          clamp(52px, 14vw, 76px);
      }

      .audience-hero {
        min-height:
          auto;
      }

      .audience-hero-inner {
        min-height:
          100svh;

        padding-top:
          140px;
      }
    }

    @media (max-width: 700px) {
      .home-section {
        padding:
          80px 0;
      }

      .audience-copy
      h1 {
        font-size:
          clamp(54px, 15vw, 78px);
      }

      .audience-copy
      > p {
        font-size:
          15px;
      }

      .home-actions {
        width:
          100%;

        flex-direction:
          column;

        align-items:
          stretch;
      }

      .home-actions
      .home-btn {
        width:
          100%;
      }

      .system-stage {
        min-height:
          auto;

        display:
          grid;

        gap:
          10px;

        padding:
          20px;

        border-radius:
          32px;
      }

      .system-stage-grid,
      .system-orbit {
        display:
          none;
      }

      .system-core,
      .system-pill {
        position:
          relative;

        inset:
          auto !important;

        width:
          100%;

        min-width:
          0;

        transform:
          none;

        border-radius:
          24px;
      }

      .system-core {
        min-height:
          190px;
      }

      .paths-grid {
        grid-template-columns:
          1fr;
      }

      .path-card.large,
      .path-card.medium,
      .path-card.small,
      .path-card.wide {
        grid-column:
          1;
      }

      .path-card {
        min-height:
          430px;
      }

      .path-card.large {
        min-height:
          500px;
      }

      .method-row {
        grid-template-columns:
          1fr;

        gap:
          18px;

        padding:
          24px;
      }

      .home-display {
        font-size:
          clamp(46px, 13vw, 66px);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .gate-choice > img,
      .system-orbit,
      .home-marquee-track,
      .path-card > img,
      .method-row {
        animation:
          none !important;

        transition:
          none !important;
      }
    }
