:root {
      --ink: #070706;
      --ink-soft: #0d0d0b;
      --panel: #11110e;
      --paper: #f1eee6;
      --muted: #aaa69b;
      --gold: #efb84d;
      --gold-bright: #ffe0a0;
      --gold-deep: #7e5518;
      --line: rgba(239, 184, 77, .18);
      --line-soft: rgba(255, 255, 255, .11);
      --ease: cubic-bezier(.16, 1, .3, 1);
      --scroll: 0;
      --page-pad: clamp(1.25rem, 4vw, 4.5rem);
      --max: 92rem;
    }

    *, *::before, *::after { box-sizing: border-box; }

    html {
      background: var(--ink);
      color: var(--paper);
      scroll-behavior: smooth;
      scrollbar-color: var(--gold-deep) var(--ink);
    }

    body {
      margin: 0;
      min-width: 320px;
      overflow-x: hidden;
      background:
        radial-gradient(circle at 76% 9%, rgba(124, 84, 20, .11), transparent 30rem),
        var(--ink);
      color: var(--paper);
      font-family: "Helvetica Neue", "Neue Haas Grotesk Text Pro", Inter, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }

    body::before {
      position: fixed;
      inset: 0;
      z-index: 40;
      pointer-events: none;
      content: "";
      opacity: .035;
      background-image: url("/assets/home/noise.svg");
    }

    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; }
    button { color: inherit; }

    ::selection { background: var(--gold); color: var(--ink); }

    .skip-link {
      position: fixed;
      z-index: 200;
      top: .75rem;
      left: .75rem;
      padding: .8rem 1rem;
      transform: translateY(-160%);
      border-radius: 999px;
      background: var(--paper);
      color: var(--ink);
      transition: transform .25s var(--ease);
    }

    .skip-link:focus { transform: none; }

    .loading-curtain {
      position: fixed;
      z-index: 180;
      inset: 0;
      display: grid;
      place-items: center;
      overflow: hidden;
      background: #050504;
      transition: transform .85s var(--ease) 1.15s;
    }

    .loading-curtain::after {
      width: 1px;
      height: 0;
      content: "";
      background: linear-gradient(transparent, var(--gold-bright), var(--gold), transparent);
      box-shadow: 0 0 28px rgba(239, 184, 77, .85);
      animation: ignition 1.1s var(--ease) forwards;
    }

    .ready .loading-curtain { transform: translateY(-100%); }

    @keyframes ignition {
      0% { height: 0; opacity: 0; }
      28% { opacity: 1; }
      100% { height: 42vh; opacity: .9; }
    }

    .site-header {
      position: fixed;
      z-index: 80;
      top: 0;
      left: 0;
      width: 100%;
      padding: 1.15rem var(--page-pad);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
      border-bottom: 1px solid transparent;
      transition: background .35s ease, border-color .35s ease, padding .35s var(--ease);
    }

    .site-header.scrolled {
      padding-block: .75rem;
      border-color: rgba(255,255,255,.07);
      background: rgba(7, 7, 6, .78);
      backdrop-filter: blur(18px);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: .8rem;
      text-decoration: none;
    }

    .brand-mark {
      display: block;
      flex: 0 0 auto;
      width: 2.25rem;
      height: 2.25rem;
    }

    .brand-mark img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      animation: brand-spin 20s linear infinite;
    }

    @keyframes brand-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }

    .icon-arrow { display: block; flex: none; width: 1.1rem; height: 1.1rem; }
    .icon-arrow--right { transform: rotate(45deg); }
    .icon-arrow--up { transform: rotate(-45deg); }

    .brand-name {
      font-size: .9rem;
      font-weight: 650;
      letter-spacing: .28em;
    }

    .brand-note {
      padding-left: .8rem;
      border-left: 1px solid rgba(255,255,255,.14);
      color: var(--muted);
      font-size: .75rem;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .main-nav {
      display: flex;
      align-items: center;
      gap: clamp(1.1rem, 2.5vw, 2.8rem);
    }

    .main-nav a {
      position: relative;
      color: #cbc7bd;
      font-size: .78rem;
      letter-spacing: .1em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .main-nav a::after {
      position: absolute;
      right: 0;
      bottom: -.45rem;
      left: 0;
      height: 1px;
      content: "";
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .35s var(--ease);
    }

    .main-nav a:hover::after,
    .main-nav a:focus-visible::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    .nav-cta {
      display: inline-flex;
      align-items: center;
      gap: .8rem;
      min-height: 2.75rem;
      padding: .2rem 1.05rem;
      border: 1px solid rgba(239, 184, 77, .48);
      border-radius: 999px;
      background: rgba(239, 184, 77, .05);
      transition: border-color .25s ease, background .25s ease, color .25s ease;
    }

    .nav-cta:hover,
    .nav-cta:focus-visible {
      border-color: var(--gold);
      background: var(--gold);
      color: var(--ink);
    }

    .nav-cta .icon-arrow { width: 1.1rem; height: 1.1rem; }

    .menu-button {
      display: none;
      width: 2.75rem;
      height: 2.75rem;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 50%;
      background: rgba(7,7,6,.5);
      cursor: pointer;
    }

    .menu-button span,
    .menu-button::before {
      display: block;
      width: 1rem;
      height: 1px;
      margin: .24rem auto;
      content: "";
      background: currentColor;
      transition: transform .25s ease;
    }

    .scroll-signal {
      position: fixed;
      z-index: 55;
      top: 50%;
      right: clamp(.7rem, 1.55vw, 1.75rem);
      width: 1px;
      height: min(52vh, 31rem);
      background: rgba(255,255,255,.1);
      transform: translateY(-44%);
    }

    .scroll-signal__fill {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: calc(var(--scroll) * 100%);
      background: linear-gradient(var(--gold-deep), var(--gold-bright));
      box-shadow: 0 0 12px rgba(239,184,77,.65);
    }

    .scroll-signal__head {
      position: absolute;
      top: calc(var(--scroll) * 100%);
      left: 50%;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gold-bright);
      box-shadow: 0 0 9px 2px rgba(239,184,77,.65);
      transform: translate(-50%, -50%);
    }

    .scroll-signal__label {
      position: absolute;
      top: 50%;
      right: .8rem;
      color: #77736a;
      font-size: .75rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      transform: translateY(-50%) rotate(-90deg);
      transform-origin: right top;
      white-space: nowrap;
    }

    main { overflow: clip; }

    .shell {
      width: min(100%, var(--max));
      margin-inline: auto;
      padding-inline: var(--page-pad);
    }

    .hero {
      position: relative;
      min-height: 100svh;
      display: grid;
      align-items: center;
      isolation: isolate;
    }

    .hero::after {
      position: absolute;
      z-index: -1;
      right: 0;
      bottom: 0;
      left: 0;
      height: 24%;
      content: "";
      background: linear-gradient(transparent, var(--ink));
      pointer-events: none;
    }

    .hero__content {
      position: relative;
      z-index: 4;
      width: min(100%, var(--max));
      margin-inline: auto;
      padding: clamp(7rem, 12vh, 10rem) var(--page-pad) 6rem;
    }

    .hero__copy { width: min(52rem, 65%); }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: .8rem;
      margin: 0 0 1.5rem;
      color: var(--gold-bright);
      font-size: .75rem;
      letter-spacing: .22em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      width: 2.5rem;
      height: 1px;
      content: "";
      background: linear-gradient(90deg, transparent, var(--gold));
    }

    .hero h1 {
      max-width: 9ch;
      margin: 0;
      font-size: clamp(4rem, 8.5vw, 9.8rem);
      font-weight: 420;
      letter-spacing: -.072em;
      line-height: .84;
    }

    .hero h1 .line {
      display: block;
      overflow: hidden;
      padding: .06em .08em .08em 0;
    }

    .hero h1 .word {
      display: inline-block;
      transform: translateY(112%);
      transition: transform 1.05s var(--ease);
    }

    .hero h1 .line:nth-child(2) .word { transition-delay: .14s; }
    .ready .hero h1 .word { transform: none; }

    .hero h1 em {
      color: var(--gold);
      font-style: normal;
      text-shadow: 0 0 42px rgba(239,184,77,.18);
    }

    .hero__intro {
      width: min(35rem, 100%);
      margin: 2rem 0 0;
      color: #b7b3aa;
      font-size: clamp(1rem, 1.35vw, 1.25rem);
      line-height: 1.65;
      opacity: 0;
      transform: translateY(.7rem);
      transition: opacity .8s ease 1.35s, transform .8s var(--ease) 1.35s;
    }

    .ready .hero__intro { opacity: 1; transform: none; }

    .hero__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 1rem 1.4rem;
      margin-top: 2.25rem;
      opacity: 0;
      transform: translateY(.7rem);
      transition: opacity .8s ease 1.5s, transform .8s var(--ease) 1.5s;
    }

    .ready .hero__actions { opacity: 1; transform: none; }

    .primary-button,
    .text-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      min-height: 3.4rem;
      text-decoration: none;
      cursor: pointer;
    }

    .primary-button {
      position: relative;
      overflow: hidden;
      padding: .25rem 1.5rem;
      border: 1px solid var(--gold);
      border-radius: 999px;
      background: var(--gold);
      color: #12100b;
      font-size: .79rem;
      font-weight: 650;
      letter-spacing: .11em;
      text-transform: uppercase;
      transition: color .35s ease, box-shadow .35s ease;
    }

    .primary-button::before {
      position: absolute;
      inset: 0;
      content: "";
      background: #fff0c6;
      transform: translateX(-102%);
      transition: transform .45s var(--ease);
    }

    .primary-button:hover::before,
    .primary-button:focus-visible::before { transform: none; }
    .primary-button:hover { box-shadow: 0 0 35px rgba(239,184,77,.24); }
    .primary-button span, .primary-button svg { position: relative; z-index: 1; }
    .primary-button .icon-arrow { width: 1.1rem; height: 1.1rem; }

    .text-button {
      min-height: 2.75rem;
      padding-inline: .25rem;
      color: #d5d1c8;
      font-size: .77rem;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .text-button .arrow { color: var(--gold); transition: transform .25s var(--ease); }
    .text-button:hover .arrow { transform: translateX(.35rem); }

    .hero__visual {
      position: absolute;
      z-index: 0;
      top: 0;
      right: 0;
      bottom: 0;
      width: min(68%, 78rem);
      overflow: hidden;
      opacity: 0;
      transform: scale(1.035);
      transition: opacity 1.2s ease .65s, transform 1.8s var(--ease) .65s;
      will-change: transform;
    }

    .ready .hero__visual { opacity: 1; transform: none; }

    .hero__visual::before {
      position: absolute;
      z-index: 3;
      inset: 0;
      content: "";
      background:
        linear-gradient(90deg, var(--ink) 0%, rgba(7,7,6,.9) 15%, rgba(7,7,6,.18) 55%, rgba(7,7,6,.08) 100%),
        linear-gradient(0deg, rgba(7,7,6,.78), transparent 38%);
      pointer-events: none;
    }

    .hero__image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 54% center;
      filter: saturate(.83) contrast(1.07) brightness(.8);
      transform: scale(1.025);
    }

    .hero__ambient {
      position: absolute;
      z-index: 4;
      top: 9%;
      left: 55.2%;
      width: 12rem;
      height: 76%;
      background: radial-gradient(ellipse at center, rgba(255,211,126,.15), rgba(239,184,77,.04) 42%, transparent 70%);
      filter: blur(20px);
      transform: translateX(-50%);
      animation: ambient-breathe 5.8s ease-in-out infinite;
      mix-blend-mode: screen;
    }

    .hero__seam {
      position: absolute;
      z-index: 6;
      top: 18%;
      left: 55.25%;
      width: 2px;
      height: 56%;
      overflow: hidden;
      background: linear-gradient(transparent, #fff5d6 12%, var(--gold-bright) 62%, var(--gold) 86%, transparent);
      box-shadow:
        0 0 6px 1px #fff0bf,
        0 0 24px 5px rgba(239,184,77,.58),
        0 0 70px 16px rgba(239,184,77,.22);
      transform: translateX(-50%);
      animation: seam-breathe 3.8s ease-in-out infinite;
    }

    .hero__seam::after {
      position: absolute;
      inset: -25% 0 auto;
      height: 32%;
      content: "";
      background: linear-gradient(transparent, #fff, transparent);
      animation: seam-scan 4.6s ease-in-out infinite 1.4s;
    }

    .hero__reflection {
      position: absolute;
      z-index: 5;
      left: 55%;
      bottom: 3%;
      width: 40%;
      height: 29%;
      background: radial-gradient(ellipse at 50% 0%, rgba(255,225,163,.4), rgba(239,184,77,.13) 24%, transparent 68%);
      filter: blur(11px);
      transform: translateX(-50%) skewX(-5deg);
      transform-origin: 50% 0;
      animation: reflection-drift 8s ease-in-out infinite alternate;
      mix-blend-mode: screen;
    }

    @keyframes ambient-breathe {
      0%, 100% { opacity: .55; transform: translateX(-50%) scaleX(.85); }
      50% { opacity: .95; transform: translateX(-50%) scaleX(1.08); }
    }

    @keyframes seam-breathe {
      0%, 100% { opacity: .72; filter: brightness(.9); }
      48% { opacity: 1; filter: brightness(1.25); }
    }

    @keyframes seam-scan {
      0%, 18% { transform: translateY(-120%); opacity: 0; }
      36% { opacity: 1; }
      72%, 100% { transform: translateY(480%); opacity: 0; }
    }

    @keyframes reflection-drift {
      0% { opacity: .45; transform: translateX(-52%) skewX(-8deg) scaleX(.88); }
      100% { opacity: .78; transform: translateX(-48%) skewX(4deg) scaleX(1.08); }
    }

    .orbit-field {
      position: absolute;
      z-index: 7;
      inset: 8% -3% 3% 10%;
      width: 93%;
      height: 89%;
      overflow: visible;
      opacity: .92;
      mix-blend-mode: screen;
    }

    .orbit {
      fill: none;
      stroke: url(#orbitGold);
      stroke-linecap: round;
      stroke-width: 1.25;
      vector-effect: non-scaling-stroke;
      filter: url(#lineGlow);
      stroke-dasharray: 5 18 80 38;
      animation: orbit-travel 12s linear infinite;
    }

    .orbit.orbit--2 {
      opacity: .52;
      stroke-width: .75;
      animation-duration: 18s;
      animation-direction: reverse;
    }

    .orbit.orbit--3 {
      opacity: .28;
      stroke-dasharray: 2 24 36 70;
      animation-duration: 22s;
    }

    .orbit-particle {
      fill: #fff1c8;
      filter: url(#particleGlow);
    }

    @keyframes orbit-travel { to { stroke-dashoffset: -280; } }

    .hero__meta {
      position: absolute;
      z-index: 8;
      right: var(--page-pad);
      bottom: 2rem;
      display: flex;
      align-items: center;
      gap: .7rem;
      color: #8f8b82;
      font-size: .75rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      opacity: 0;
      transition: opacity .7s ease 1.8s;
    }

    .ready .hero__meta { opacity: 1; }

    .hero__meta span:first-child {
      width: .35rem;
      height: .35rem;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 10px var(--gold);
      animation: status-pulse 2.8s ease infinite;
    }

    @keyframes status-pulse { 50% { opacity: .35; } }

    .scroll-cue {
      position: absolute;
      z-index: 5;
      bottom: 2rem;
      left: var(--page-pad);
      display: flex;
      align-items: center;
      gap: .8rem;
      color: #77736a;
      font-size: .75rem;
      letter-spacing: .15em;
      text-transform: uppercase;
      opacity: 0;
      transition: opacity .7s ease 1.8s;
    }

    .ready .scroll-cue { opacity: 1; }

    .scroll-cue__line {
      position: relative;
      width: 2.8rem;
      height: 1px;
      overflow: hidden;
      background: rgba(255,255,255,.12);
    }

    .scroll-cue__line::after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      animation: cue 2.4s ease infinite;
    }

    @keyframes cue { from { transform: translateX(-100%); } to { transform: translateX(100%); } }

    .chapter {
      position: relative;
      padding-block: clamp(7rem, 13vw, 13rem);
      border-top: 1px solid rgba(255,255,255,.07);
    }

    .chapter-head {
      display: grid;
      grid-template-columns: minmax(8rem, 1fr) minmax(0, 3fr);
      gap: 2rem;
      margin-bottom: clamp(4rem, 8vw, 8rem);
    }

    .chapter-index {
      display: flex;
      align-items: flex-start;
      gap: .75rem;
      color: var(--gold);
      font-size: .75rem;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .chapter-index::before {
      width: 2.2rem;
      height: 1px;
      margin-top: .55rem;
      content: "";
      background: var(--gold-deep);
    }

    .chapter-title {
      max-width: 13ch;
      margin: 0;
      font-size: clamp(3rem, 6.2vw, 7rem);
      font-weight: 430;
      letter-spacing: -.06em;
      line-height: .95;
    }

    .chapter-title .gold { color: var(--gold); }

    [data-reveal] {
      opacity: 0;
      transform: translateY(1.25rem);
      transition: opacity .8s ease, transform .9s var(--ease);
    }

    [data-reveal].is-visible { opacity: 1; transform: none; }

    .clarity { min-height: 100svh; }

    .clarity__body {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(20rem, 1.35fr);
      align-items: center;
      gap: clamp(3rem, 9vw, 9rem);
    }

    .clarity__copy p {
      max-width: 33rem;
      margin: 0;
      color: #aaa69d;
      font-size: clamp(1.05rem, 1.5vw, 1.28rem);
      line-height: 1.7;
    }

    .clarity__copy strong { color: var(--paper); font-weight: 520; }

    .clarity-field {
      position: relative;
      min-height: min(56vw, 38rem);
      display: grid;
      align-content: center;
      gap: clamp(1.1rem, 2.4vw, 2.1rem);
    }

    .clarity-field::before {
      position: absolute;
      inset: 7% 8%;
      content: "";
      border: 1px solid rgba(239,184,77,.12);
      background: radial-gradient(circle at center, rgba(239,184,77,.08), transparent 58%);
      opacity: .7;
    }

    .clarity-line {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 2rem 1fr auto .55rem;
      align-items: center;
      gap: 1rem;
      color: #d6d1c6;
      font-size: clamp(.86rem, 1.25vw, 1.06rem);
      letter-spacing: .15em;
      text-transform: uppercase;
      transform: translate(var(--chaos-x), var(--chaos-y)) rotate(var(--chaos-r));
      transition: transform 1.35s var(--ease), opacity 1s ease;
    }

    .clarity-line:nth-child(1) { --chaos-x: 10%; --chaos-y: -2rem; --chaos-r: -5deg; }
    .clarity-line:nth-child(2) { --chaos-x: -9%; --chaos-y: 1.2rem; --chaos-r: 4deg; }
    .clarity-line:nth-child(3) { --chaos-x: 7%; --chaos-y: -.4rem; --chaos-r: -3deg; }
    .clarity-line:nth-child(4) { --chaos-x: -6%; --chaos-y: 1.5rem; --chaos-r: 5deg; }

    .clarity-field.is-visible .clarity-line { transform: none; }

    .clarity-line__num { color: #69665f; font-size: .75rem; }

    .clarity-line__beam {
      position: relative;
      height: 1px;
      overflow: hidden;
      background: rgba(255,255,255,.12);
    }

    .clarity-line__beam::after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(90deg, transparent, var(--gold-bright), var(--gold));
      transform: translateX(-102%);
      transition: transform 1s var(--ease) .55s;
    }

    .clarity-field.is-visible .clarity-line__beam::after { transform: none; }

    .clarity-line__node {
      width: .55rem;
      height: .55rem;
      border: 1px solid var(--gold);
      border-radius: 50%;
      background: var(--ink);
      box-shadow: 0 0 0 0 rgba(239,184,77,0);
      transition: background .3s ease 1.35s, box-shadow .3s ease 1.35s;
    }

    .clarity-field.is-visible .clarity-line__node {
      background: var(--gold-bright);
      box-shadow: 0 0 12px rgba(239,184,77,.8);
    }

    .system-section { background: #0a0a08; }

    .system-layout {
      display: grid;
      grid-template-columns: minmax(18rem, .92fr) minmax(0, 1.55fr);
      gap: clamp(3rem, 7vw, 8rem);
      align-items: center;
    }

    .system-core {
      position: sticky;
      top: 18vh;
      min-height: 32rem;
      display: grid;
      place-items: center;
      isolation: isolate;
    }

    .system-core::before,
    .system-core::after {
      position: absolute;
      z-index: -1;
      border-radius: 50%;
      content: "";
    }

    .system-core::before {
      width: min(29rem, 90%);
      aspect-ratio: 1;
      border: 1px solid rgba(239,184,77,.15);
      box-shadow: inset 0 0 85px rgba(239,184,77,.035);
      animation: core-turn 20s linear infinite;
    }

    .system-core::after {
      width: min(20rem, 66%);
      aspect-ratio: 1;
      border: 1px dashed rgba(239,184,77,.19);
      animation: core-turn 26s linear reverse infinite;
    }

    @keyframes core-turn { to { transform: rotate(360deg); } }

    .core-beam {
      position: absolute;
      z-index: -2;
      width: 95%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(239,184,77,.12), var(--gold-bright), rgba(239,184,77,.12), transparent);
      box-shadow: 0 0 18px rgba(239,184,77,.14);
      transform: rotate(var(--beam-angle, -18deg));
      transition: transform .8s var(--ease);
    }

    .core-signal {
      display: block;
      width: .7rem;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--gold-bright);
      box-shadow: 0 0 18px 4px rgba(239,184,77,.3), 0 0 60px 15px rgba(239,184,77,.08);
      animation: signal-breathe 6s ease-in-out infinite;
    }

    .core-orbit {
      position: absolute;
      width: min(20rem, 66%);
      aspect-ratio: 1;
      pointer-events: none;
      animation: core-turn 26s linear reverse infinite;
    }

    .core-orbit::after {
      position: absolute;
      top: 0;
      left: 50%;
      width: .25rem;
      height: .25rem;
      content: "";
      border-radius: 50%;
      background: var(--gold);
      opacity: .65;
      box-shadow: 0 0 8px rgba(239,184,77,.45);
      transform: translate(-50%, -50%);
    }

    @keyframes signal-breathe {
      0%, 100% { opacity: .65; transform: scale(.94); }
      50% { opacity: 1; transform: scale(1.06); }
    }

    .core-mode {
      position: absolute;
      bottom: 12%;
      width: 100%;
      color: #7e7a71;
      font-size: .75rem;
      letter-spacing: .16em;
      text-align: center;
      text-transform: uppercase;
    }

    .core-mode strong {
      display: block;
      margin-top: .55rem;
      color: #d8d3c8;
      font-size: .9rem;
      font-weight: 500;
      letter-spacing: .08em;
    }

    .capability-list { border-top: 1px solid var(--line-soft); }

    .capability {
      position: relative;
      width: 100%;
      padding: clamp(1.6rem, 3vw, 2.6rem) 0;
      display: grid;
      grid-template-columns: 3rem minmax(0, 1fr) auto;
      gap: clamp(1rem, 2vw, 2rem);
      align-items: start;
      border: 0;
      border-bottom: 1px solid var(--line-soft);
      background: transparent;
      text-align: left;
      cursor: pointer;
    }

    .capability::after {
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      height: 1px;
      content: "";
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform .55s var(--ease);
    }

    .capability:hover::after,
    .capability:focus-visible::after,
    .capability.active::after { transform: scaleX(1); transform-origin: left; }

    .capability__num {
      padding-top: .45rem;
      color: #69665f;
      font-size: .75rem;
      letter-spacing: .14em;
    }

    .capability__title {
      display: block;
      font-size: clamp(1.65rem, 3.2vw, 3.25rem);
      font-weight: 430;
      letter-spacing: -.045em;
      line-height: 1;
      transition: color .3s ease, transform .45s var(--ease);
    }

    .capability:hover .capability__title,
    .capability:focus-visible .capability__title,
    .capability.active .capability__title { color: var(--gold-bright); transform: translateX(.3rem); }

    .capability__detail {
      display: block;
      max-width: 29rem;
      margin-top: .8rem;
      color: #8f8b82;
      font-size: .95rem;
      line-height: 1.55;
    }

    .capability__arrow {
      display: inline-flex;
      margin-top: .4rem;
      color: var(--gold);
      transition: transform .4s var(--ease);
    }

    .capability:hover .capability__arrow,
    .capability:focus-visible .capability__arrow { transform: rotate(45deg); }

    .work-section {
      background: linear-gradient(180deg, #0a0a08 0%, var(--ink-soft) 18%, var(--ink-soft) 82%, var(--ink) 100%);
      color: var(--paper);
    }
    .work-section .chapter-index { color: var(--gold); }
    .work-section .chapter-title .gold { color: var(--gold); }

    .work-intro {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 2rem;
      margin: -2rem 0 5rem;
    }

    .work-intro p {
      grid-column: 2;
      max-width: 38rem;
      margin: 0;
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .service-list { border-top: 1px solid var(--line-soft); }

    .service-row {
      position: relative;
      display: grid;
      grid-template-columns: clamp(2.5rem, 6vw, 6rem) minmax(13rem, .9fr) minmax(16rem, 1.1fr) auto;
      align-items: center;
      gap: clamp(1rem, 3vw, 3rem);
      min-height: clamp(8rem, 13vw, 12.5rem);
      border-bottom: 1px solid var(--line-soft);
      text-decoration: none;
      isolation: isolate;
    }

    .service-row::before {
      position: absolute;
      z-index: -1;
      inset: 0 calc(-1 * var(--page-pad));
      content: "";
      background: #16140f;
      transform: scaleY(0);
      transform-origin: bottom;
      transition: transform .55s var(--ease);
    }

    .service-row:hover::before,
    .service-row:focus-visible::before { transform: scaleY(1); }

    .service-row > * { transition: color .35s ease, transform .5s var(--ease); }
    .service-row:hover > *, .service-row:focus-visible > * { color: var(--paper); }
    .service-row:hover .service-row__title { transform: translateX(.6rem); }

    .service-row__num {
      color: #918c82;
      font-size: .75rem;
      letter-spacing: .15em;
    }

    .service-row__title {
      margin: 0;
      font-size: clamp(1.7rem, 3.8vw, 4.2rem);
      font-weight: 450;
      letter-spacing: -.055em;
      line-height: 1;
    }

    .service-row__desc {
      max-width: 31rem;
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

    .service-row__arrow {
      display: grid;
      place-items: center;
      width: 3.2rem;
      height: 3.2rem;
      border: 1px solid rgba(239,184,77,.3);
      border-radius: 50%;
      color: var(--gold);
      font-size: 1.2rem;
    }

    .service-row__arrow svg { width: 1.1rem; height: 1.1rem; }

    .service-row:hover .service-row__arrow,
    .service-row:focus-visible .service-row__arrow {
      border-color: var(--gold);
      background: var(--gold);
      color: var(--ink);
      transform: rotate(45deg);
    }

    .process {
      min-height: 90svh;
      display: grid;
      align-items: center;
    }

    .process__grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 1px solid rgba(255,255,255,.12);
    }

    .process__progress {
      position: absolute;
      top: -1px;
      left: 0;
      width: calc(var(--process-progress, 0) * 100%);
      height: 1px;
      background: linear-gradient(90deg, var(--gold-deep), var(--gold-bright));
      box-shadow: 0 0 12px rgba(239,184,77,.45);
    }

    .process-step {
      position: relative;
      min-height: 18rem;
      padding: 2rem clamp(1rem, 2.2vw, 2.2rem) 0 0;
    }

    .process-step::before {
      position: absolute;
      top: -.34rem;
      left: 0;
      width: .65rem;
      height: .65rem;
      border: 1px solid rgba(239,184,77,.5);
      border-radius: 50%;
      content: "";
      background: var(--ink);
    }

    .process-step__num {
      color: var(--gold);
      font-size: .75rem;
      letter-spacing: .16em;
    }

    .process-step h3 {
      margin: 3rem 0 1rem;
      font-size: clamp(1.7rem, 2.7vw, 3rem);
      font-weight: 450;
      letter-spacing: -.045em;
    }

    .process-step p {
      max-width: 15rem;
      margin: 0;
      color: #8e8a81;
      line-height: 1.6;
    }

    .portal {
      position: relative;
      min-height: min(92svh, 66rem);
      display: grid;
      place-items: center;
      overflow: hidden;
      isolation: isolate;
      text-align: center;
    }

    .portal__image {
      position: absolute;
      z-index: -3;
      inset: -4%;
      width: 108%;
      height: 108%;
      object-fit: cover;
      object-position: center;
      filter: brightness(.48) saturate(.82) contrast(1.12);
      transform: scale(1.03);
      transition: transform 1.5s var(--ease), filter 1.5s ease;
    }

    .portal::before {
      position: absolute;
      z-index: -2;
      inset: 0;
      content: "";
      background:
        radial-gradient(ellipse at 50% 54%, rgba(239,184,77,.08), transparent 18rem),
        linear-gradient(var(--ink) 0%, transparent 30%, transparent 70%, var(--ink) 100%),
        linear-gradient(90deg, rgba(7,7,6,.75), transparent 45%, transparent 55%, rgba(7,7,6,.75));
    }

    .portal::after {
      position: absolute;
      z-index: -1;
      top: 20%;
      left: 50%;
      width: min(25vw, 18rem);
      height: 60%;
      content: "";
      background: radial-gradient(ellipse, rgba(255,232,180,.55), rgba(239,184,77,.15) 38%, transparent 70%);
      filter: blur(20px);
      transform: translateX(-50%);
      animation: portal-breathe 5.5s ease-in-out infinite;
      mix-blend-mode: screen;
    }

    @keyframes portal-breathe {
      0%, 100% { opacity: .35; transform: translateX(-50%) scale(.9); }
      50% { opacity: .78; transform: translateX(-50%) scale(1.08); }
    }

    .portal:hover .portal__image { transform: scale(1.065); filter: brightness(.58) saturate(.95) contrast(1.12); }

    .portal__content {
      width: min(100%, 65rem);
      padding: 7rem var(--page-pad);
    }

    .portal__kicker {
      margin: 0 0 1.5rem;
      color: var(--gold-bright);
      font-size: .75rem;
      letter-spacing: .2em;
      text-transform: uppercase;
    }

    .portal h2 {
      margin: 0;
      font-size: clamp(3.4rem, 8vw, 8.7rem);
      font-weight: 430;
      letter-spacing: -.065em;
      line-height: .9;
      text-wrap: balance;
    }

    .portal p {
      max-width: 32rem;
      margin: 1.8rem auto 2.5rem;
      color: #bbb6ac;
      font-size: 1.05rem;
    }

    .portal-button > span { display: inline-flex; align-items: center; gap: .65rem; }

    .portal-button {
      display: inline-grid;
      place-items: center;
      width: 8.3rem;
      height: 8.3rem;
      border: 1px solid rgba(239,184,77,.65);
      border-radius: 50%;
      background: rgba(8,8,6,.62);
      color: var(--gold-bright);
      font-size: .75rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      cursor: pointer;
      backdrop-filter: blur(8px);
      transition: color .4s ease, background .4s ease, transform .5s var(--ease), box-shadow .5s ease;
    }

    .portal-button:hover,
    .portal-button:focus-visible {
      background: var(--gold);
      color: var(--ink);
      box-shadow: 0 0 70px rgba(239,184,77,.35);
      transform: scale(1.06);
    }

    .site-footer {
      padding: 4rem var(--page-pad) 2rem;
      background: #050504;
    }

    .footer-top {
      width: min(100%, var(--max));
      margin-inline: auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      align-items: end;
      padding-bottom: 4rem;
    }

    .footer-wordmark {
      display: inline-flex;
      align-items: center;
      gap: .85rem;
      width: fit-content;
      margin: 0;
      font-size: clamp(1.8rem, 4vw, 3.2rem);
      font-weight: 650;
      letter-spacing: .12em;
      line-height: 1;
      text-decoration: none;
    }

    .footer-wordmark img {
      display: block;
      flex: 0 0 auto;
      width: clamp(2.25rem, 4vw, 3rem);
      height: auto;
      object-fit: contain;
    }

    .footer-note {
      justify-self: end;
      max-width: 26rem;
      margin: 0;
      color: #8f8b82;
      text-align: right;
    }

    .footer-bottom {
      width: min(100%, var(--max));
      margin-inline: auto;
      display: flex;
      justify-content: space-between;
      gap: 2rem;
      padding-top: 1.25rem;
      border-top: 1px solid rgba(255,255,255,.09);
      color: #6f6b64;
      font-size: .75rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .footer-links { display: flex; gap: 1.5rem; }
    .footer-links a { text-decoration: none; }
    .footer-links a:hover { color: var(--gold); }

    dialog {
      width: min(54rem, calc(100% - 2rem));
      max-height: calc(100svh - 2rem);
      padding: 0;
      overflow: auto;
      border: 1px solid rgba(239,184,77,.28);
      border-radius: 1.1rem;
      background: #0c0c0a;
      color: var(--paper);
      box-shadow: 0 2rem 8rem rgba(0,0,0,.75);
    }

    dialog::backdrop {
      background: rgba(0,0,0,.8);
      backdrop-filter: blur(8px);
    }

    .brief {
      position: relative;
      min-height: 38rem;
      padding: clamp(1.5rem, 4vw, 3.2rem);
    }

    .brief__close {
      position: absolute;
      top: 1.1rem;
      right: 1.1rem;
      width: 2.7rem;
      height: 2.7rem;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 50%;
      background: transparent;
      cursor: pointer;
    }

    .brief__close:hover { border-color: var(--gold); color: var(--gold); }

    .brief__eyebrow {
      margin: 0 0 .6rem;
      color: var(--gold);
      font-size: .75rem;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .brief h2 {
      margin: 0;
      font-size: clamp(2.4rem, 5vw, 4.4rem);
      font-weight: 450;
      letter-spacing: -.055em;
      line-height: 1;
    }

    .brief__intro {
      max-width: 36rem;
      margin: 1rem 0 2.5rem;
      color: #99958b;
    }

    .brief__progress {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: .45rem;
      margin-bottom: 2.5rem;
    }

    .brief__progress span {
      height: 2px;
      background: rgba(255,255,255,.11);
    }

    .brief__progress span.active { background: var(--gold); box-shadow: 0 0 8px rgba(239,184,77,.55); }

    .brief-step { display: none; }
    .brief-step.active { display: block; animation: step-in .45s var(--ease); }
    @keyframes step-in { from { opacity: 0; transform: translateY(.6rem); } }

    .brief-step h3 {
      margin: 0 0 .45rem;
      font-size: 1.4rem;
      font-weight: 500;
    }

    .brief-step > p { margin: 0 0 1.4rem; color: #8f8b82; }

    .choice-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: .65rem;
    }

    .choice {
      position: relative;
      display: flex;
      align-items: center;
      gap: .9rem;
      min-height: 4.2rem;
      padding: .75rem 1rem;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: .65rem;
      color: #c5c1b8;
      cursor: pointer;
      transition: border-color .25s ease, background .25s ease, color .25s ease;
    }

    .choice:hover { border-color: rgba(239,184,77,.45); }
    .choice:has(input:checked) { border-color: var(--gold); background: rgba(239,184,77,.08); color: var(--paper); }
    .choice input { accent-color: var(--gold); }
    .choice__num { color: #6f6b63; font-size: .75rem; letter-spacing: .13em; }

    .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .field { display: grid; gap: .5rem; }
    .field.full { grid-column: 1 / -1; }
    .field label { color: #bbb7ae; font-size: .76rem; letter-spacing: .06em; }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      min-height: 3.2rem;
      padding: .75rem .9rem;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: .55rem;
      outline: 0;
      background: #11110e;
      color: var(--paper);
    }

    .field textarea { min-height: 7rem; resize: vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(239,184,77,.08); }

    .brief__actions {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      margin-top: 2.2rem;
    }

    .brief__back,
    .brief__next {
      min-height: 3rem;
      padding: .5rem 1.2rem;
      border-radius: 999px;
      cursor: pointer;
    }

    .brief__back { border: 1px solid rgba(255,255,255,.16); background: transparent; }
    .brief__back[hidden] { display: none; }
    .brief__next { display: inline-flex; align-items: center; gap: .65rem; margin-left: auto; border: 1px solid var(--gold); background: var(--gold); color: var(--ink); font-weight: 620; }
    .brief__next:hover { background: var(--gold-bright); }

    .brief__status {
      min-height: 1.3rem;
      margin: .8rem 0 0;
      color: #dc9f40;
      font-size: .82rem;
    }

    .brief__complete {
      display: none;
      min-height: 22rem;
      place-content: center;
      text-align: center;
    }

    .brief__complete.active { display: grid; }
    .brief__complete strong { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 450; letter-spacing: -.045em; }
    .brief__complete p { max-width: 34rem; color: #99958b; }

    :focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }

    @media (max-width: 960px) {
      .brand-note, .main-nav a:not(.nav-cta) { display: none; }
      .menu-button { display: block; }
      .main-nav {
        position: fixed;
        top: 0;
        right: 0;
        width: min(23rem, 88vw);
        height: 100svh;
        padding: 7rem 2rem 2rem;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        border-left: 1px solid rgba(239,184,77,.16);
        background: rgba(8,8,6,.97);
        transform: translateX(105%);
        transition: transform .6s var(--ease);
      }
      .nav-open .main-nav { transform: none; }
      .main-nav a:not(.nav-cta) {
        display: block;
        padding: 1.25rem 0;
        border-bottom: 1px solid rgba(255,255,255,.09);
        font-size: 1rem;
      }
      .main-nav .nav-cta { margin-top: 2rem; }
      .nav-open .menu-button { position: relative; z-index: 2; }
      .nav-open .menu-button span { transform: translateY(-.13rem) rotate(-45deg); }
      .nav-open .menu-button::before { transform: translateY(.12rem) rotate(45deg); }
      .scroll-signal { display: none; }
      .hero__copy { width: min(39rem, 73%); }
      .hero h1 { font-size: clamp(4rem, 10.8vw, 7.2rem); }
      .hero__visual { width: 78%; opacity: .72; }
      .hero__visual::before { background: linear-gradient(90deg, var(--ink), rgba(7,7,6,.85) 25%, rgba(7,7,6,.1)); }
      .clarity__body, .system-layout { grid-template-columns: 1fr; }
      .clarity__copy { max-width: 40rem; }
      .clarity-field { min-height: 30rem; }
      .system-core { position: relative; top: auto; min-height: 27rem; }
      .system-layout { gap: 2rem; }
      .service-row { grid-template-columns: 2.5rem 1fr auto; padding-block: 2rem; }
      .service-row__desc { grid-column: 2 / 3; }
      .service-row__arrow { grid-column: 3; grid-row: 1 / 3; }
    }

    @media (max-width: 680px) {
      .site-header { padding-top: .85rem; }
      .hero { min-height: 47rem; }
      .hero__content { padding-top: 7.5rem; align-self: end; padding-bottom: 8rem; }
      .hero__copy { width: 100%; }
      .hero h1 { max-width: 8.5ch; font-size: clamp(3.65rem, 18vw, 6.2rem); }
      .hero__intro { max-width: 25rem; font-size: 1rem; }
      .hero__visual { top: 0; bottom: auto; width: 100%; height: 67%; opacity: .58; }
      .hero__image { object-position: 57% center; }
      .hero__visual::before { background: linear-gradient(0deg, var(--ink), rgba(7,7,6,.08) 54%), linear-gradient(90deg, rgba(7,7,6,.45), transparent); }
      .hero__ambient { left: 57%; }
      .hero__seam { left: 57%; }
      .hero__reflection { left: 57%; }
      .hero__meta { display: none; }
      .scroll-cue { bottom: 1.3rem; }
      .chapter { padding-block: 6.5rem; }
      .chapter-head { grid-template-columns: 1fr; gap: 1.4rem; margin-bottom: 3.5rem; }
      .chapter-title { font-size: clamp(2.85rem, 14vw, 4.4rem); }
      .clarity-field { min-height: 24rem; gap: 1rem; }
      .clarity-line { grid-template-columns: 1.4rem 1fr auto; gap: .6rem; font-size: .78rem; }
      .system-core { min-height: 22rem; }
      .core-mode { bottom: 4%; }
      .capability { grid-template-columns: 2rem 1fr auto; }
      .capability__title { font-size: clamp(1.55rem, 8.5vw, 2.3rem); }
      .work-intro { grid-template-columns: 1fr; margin-top: 0; }
      .work-intro p { grid-column: 1; }
      .service-row { grid-template-columns: 2rem 1fr 2.8rem; gap: .75rem; }
      .service-row__title { font-size: clamp(1.65rem, 8vw, 2.4rem); }
      .service-row__desc { font-size: .9rem; }
      .service-row__arrow { width: 2.7rem; height: 2.7rem; }
      .process__grid { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid rgba(255,255,255,.12); margin-left: .3rem; }
      .process__progress { top: 0; left: -1px; width: 1px; height: calc(var(--process-progress, 0) * 100%); }
      .process-step { min-height: auto; padding: 0 0 3.5rem 2rem; }
      .process-step::before { top: .2rem; left: -.36rem; }
      .process-step h3 { margin: 1.1rem 0 .6rem; }
      .portal { min-height: 49rem; }
      .portal h2 { font-size: clamp(3.2rem, 16vw, 5.4rem); }
      .portal-button { width: 7rem; height: 7rem; }
      .footer-top { grid-template-columns: 1fr; }
      .footer-note { justify-self: start; text-align: left; }
      .footer-bottom { flex-direction: column; }
      .choice-grid, .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .brief { min-height: 0; padding: 4.5rem 1.2rem 1.3rem; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        transition-delay: 0ms !important;
      }
      .loading-curtain { display: none; }
      .hero h1 .word, .hero__intro, .hero__actions, .hero__visual, .hero__meta, .scroll-cue, [data-reveal] {
        opacity: 1;
        transform: none;
      }
      .clarity-line { transform: none; }
      .clarity-line__beam::after { transform: none; }
      .brand-mark img, .core-signal, .core-orbit { animation: none !important; }
    }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .chat-launcher {
      position: fixed; z-index: 60; right: max(1.1rem, env(safe-area-inset-right));
      bottom: max(1.1rem, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: .65rem;
      padding: .7rem 1.1rem .7rem .7rem; border: 1px solid rgba(239,184,77,.4); border-radius: 3rem;
      background: #11110e; color: var(--paper); font: inherit; font-size: .9rem; cursor: pointer;
      box-shadow: 0 8px 30px #0008; transition: border-color .2s, transform .2s var(--ease);
    }
    .chat-launcher:hover { border-color: var(--gold); transform: translateY(-2px); }
    .chat-symbol { display: block; flex: none; width: 1.8rem; height: 1.8rem; color: var(--gold); }
    .rsgo-chat {
      position: fixed; z-index: 70; right: max(1.1rem, env(safe-area-inset-right));
      bottom: max(1.1rem, env(safe-area-inset-bottom)); width: min(25rem, calc(100vw - 2.2rem));
      height: min(39rem, calc(100dvh - 2.2rem)); display: flex; flex-direction: column;
      overflow: hidden; border: 1px solid rgba(239,184,77,.3); border-radius: 1.25rem;
      background: #0f0f0c; color: var(--paper); box-shadow: 0 20px 90px #000b;
      font-size: 1rem; line-height: 1.5; letter-spacing: normal;
    }
    .rsgo-chat[hidden], .chat-launcher[hidden] { display: none; }
    .chat-header { display: flex; align-items: center; gap: .8rem; padding: 1.15rem; border-bottom: 1px solid var(--line-soft); }
    .chat-header .chat-symbol { width: 2rem; height: 2rem; }
    .chat-heading { flex: 1; }
    .chat-heading h2 { font-size: 1rem; margin: 0; font-weight: 550; letter-spacing: -.02em; }
    .chat-status { display: block; color: var(--muted); font-size: .8rem; margin-top: .1rem; }
    .chat-close { width: 2.5rem; height: 2.5rem; background: transparent; border: 1px solid var(--line-soft); border-radius: 50%; color: var(--paper); font-size: 1.3rem; cursor: pointer; }
    .chat-messages { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.15rem; scroll-behavior: smooth; }
    .chat-message { width: fit-content; max-width: 94%; margin: 0 0 .9rem; padding: .85rem 1rem; border-radius: .85rem .85rem .85rem .2rem; background: #1b1b16; white-space: pre-wrap; overflow-wrap: anywhere; }
    .chat-message--user { margin-left: auto; border-radius: .85rem .85rem .2rem .85rem; background: #332918; color: #f3dbaf; }
    .chat-message--notice { color: #c9b48d; background: transparent; border: 1px solid var(--line); font-size: .9rem; }
    .chat-prompts { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 1.15rem .8rem; }
    .chat-prompts[hidden] { display: none; }
    .chat-prompts button { border: 1px solid var(--line); border-radius: 2rem; background: transparent; color: #d6cbb6; padding: .55rem .8rem; font: inherit; font-size: .85rem; cursor: pointer; }
    .chat-prompts button:hover { border-color: var(--gold); color: var(--gold); }
    .chat-form { display: flex; align-items: flex-end; gap: .6rem; margin: 0 1rem; padding: .55rem .55rem .55rem .85rem; border: 1px solid #484234; border-radius: .85rem; background: #080807; }
    .chat-form:focus-within { border-color: var(--gold); }
    .chat-input { flex: 1; width: 100%; min-width: 0; height: 2.7rem; max-height: 6rem; padding: .55rem 0; resize: none; border: 0; outline: 0; background: transparent; color: var(--paper); font: inherit; font-size: 1rem; line-height: 1.5; }
    .chat-input::placeholder { color: #929087; }
    .chat-send { flex: 0 0 auto; display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border: 0; border-radius: .6rem; background: var(--gold); color: var(--ink); cursor: pointer; }
    .chat-send svg { width: 1.2rem; height: 1.2rem; }
    .chat-send:disabled { opacity: .45; cursor: wait; }
    .chat-bottom { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding: .7rem 1.1rem .9rem; color: #99958a; font-size: .8rem; }
    .chat-bottom button { border: 0; padding: 0; background: transparent; color: #d2bc92; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
    @media (max-width: 480px) { .rsgo-chat { right: .6rem; bottom: max(.6rem, env(safe-area-inset-bottom)); width: calc(100vw - 1.2rem); height: min(38rem, calc(100dvh - 1.2rem)); } }
    @media (prefers-reduced-motion: reduce) { .chat-launcher { transition: none; } .chat-messages { scroll-behavior: auto; } }

/* ---------- Legal pages (Privacy / Terms) — Golden Signal shell, no JS ---------- */
.legal-page { min-height: 100svh; display: flex; flex-direction: column; }
.legal-page .site-header { position: static; background: rgba(7,7,6,.9); border-bottom: 1px solid rgba(255,255,255,.07); }
.legal-page .menu-button { display: none; }
.legal-page .main-nav { position: static; width: auto; height: auto; padding: 0; flex-direction: row; background: none; border: 0; transform: none; }
.legal-main { flex: 1; width: min(100%, 62rem); margin-inline: auto; padding: clamp(3rem, 8vh, 6rem) var(--page-pad) clamp(4rem, 10vh, 7rem); }
.legal-eyebrow { margin: 0 0 1rem; color: var(--gold); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; }
.legal-main h1 { margin: 0; font-size: clamp(2.8rem, 7vw, 5.2rem); font-weight: 430; letter-spacing: -.05em; line-height: .95; }
.legal-updated { margin: 1.4rem 0 3rem; color: #77736a; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.legal-prose section { padding: 1.9rem 0; border-top: 1px solid var(--line-soft); }
.legal-prose section:first-child { border-top: 0; }
.legal-prose h2 { margin: 0 0 .7rem; font-size: clamp(1.3rem, 2.3vw, 1.7rem); font-weight: 500; letter-spacing: -.02em; color: var(--paper); }
.legal-prose p { margin: 0; max-width: 46rem; color: #aaa69d; font-size: 1.02rem; line-height: 1.7; }
.legal-prose a { color: var(--gold); text-underline-offset: .2em; }
.legal-prose a:hover { color: var(--gold-bright); }
@media (max-width: 680px) {
  .legal-page .main-nav a:not(.nav-cta) { display: none; }
  .legal-page .brand-note { display: none; }
}
