@layer reset, base, components, pages, responsive, motion;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, blockquote, dl, dd { margin: 0; }
  ul { margin: 0; padding: 0; list-style: none; }
  img, svg, canvas { display: block; max-width: 100%; }
  button, input, textarea, select { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  [hidden] { display: none !important; }
}

@layer base {
  :root {
    --midnight: #061329;
    --cobalt: #0a1d3b;
    --cobalt-2: #10294b;
    --cobalt-3: #19375a;
    --warm: #f4f0e3;
    --warm-muted: #b7b7ae;
    --copper: #c98455;
    --copper-light: #eca773;
    --lime: #cbff5c;
    --lime-soft: rgba(203, 255, 92, .14);
    --danger: #ff845e;
    --line: rgba(244, 240, 227, .15);
    --line-strong: rgba(244, 240, 227, .28);
    --panel: rgba(14, 36, 67, .72);
    --sans: Bahnschrift, "Arial Narrow", "Segoe UI", sans-serif;
    --body: "Segoe UI", Arial, sans-serif;
    --serif: Georgia, "Times New Roman", serif;
    --header-h: 84px;
    --shell: min(1440px, calc(100vw - 72px));
    --ease: cubic-bezier(.22, .78, .24, 1);
  }

  html { background: var(--midnight); color: var(--warm); }
  body {
    min-width: 320px;
    overflow-x: clip;
    background:
      radial-gradient(circle at 82% 18%, rgba(36, 74, 116, .25), transparent 34rem),
      var(--midnight);
    color: var(--warm);
    font-family: var(--body);
    font-size: 16px;
    line-height: 1.6;
  }

  body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .25;
    background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, #000, transparent 86%);
  }

  a { color: inherit; text-decoration: none; }
  button { color: inherit; }
  ::selection { background: var(--lime); color: var(--midnight); }
  :focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
  .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; }
  .skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 12px 18px; background: var(--lime); color: var(--midnight); transform: translateY(-150%); }
  .skip-link:focus { transform: none; }
  .section-shell { width: var(--shell); margin-inline: auto; }
  .current-field { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; opacity: .5; transition: opacity .5s ease; }
  main, .site-header, .site-footer { position: relative; z-index: 1; }
  body.form-focused .current-field, body[data-page="request"] .current-field { opacity: .18; }
  section[id], .request-panel, .form-success { scroll-margin-top: calc(var(--header-h) + 16px); }

  h1, h2, h3 { font-family: var(--sans); font-weight: 560; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
  h1 { font-size: clamp(3.7rem, 7.4vw, 8.2rem); }
  h2 { font-size: clamp(2.6rem, 5vw, 5.8rem); }
  h3 { font-size: clamp(1.35rem, 2vw, 2.1rem); }
  h1 em, h2 em { color: var(--copper-light); font-family: var(--serif); font-weight: 400; }
  p { color: var(--warm-muted); }
}

@layer components {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    min-height: var(--header-h);
    display: grid;
    grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr);
    align-items: center;
    gap: 32px;
    padding: 0 36px;
    border-bottom: 1px solid transparent;
    transition: background .35s ease, border-color .35s ease, min-height .35s ease, backdrop-filter .35s ease;
  }

  .site-header.is-scrolled {
    min-height: 68px;
    background: rgba(6, 19, 41, .86);
    border-color: var(--line);
    backdrop-filter: blur(18px);
  }

  .brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; font-family: var(--sans); font-size: .92rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
  .brand i { color: var(--copper-light); font-family: var(--serif); font-weight: 400; text-transform: none; }
  .brand-mark { width: 34px; height: 34px; overflow: visible; }
  .brand-mark path, .brand-mark circle { fill: none; stroke: var(--lime); stroke-width: 1.6; }
  .brand-mark circle { fill: var(--midnight); }
  .brand:hover .brand-mark path { filter: drop-shadow(0 0 7px var(--lime)); }

  .site-nav { display: flex; align-items: center; gap: 30px; }
  .site-nav a { position: relative; padding: 28px 0 25px; color: var(--warm-muted); font-family: var(--sans); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; transition: color .25s ease; white-space: nowrap; }
  .site-nav a span { margin-right: 5px; color: var(--copper-light); font-size: .61rem; }
  .site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 1px; background: var(--lime); transition: right .35s var(--ease); }
  .site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--warm); }
  .site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right: 0; }
  .site-nav .nav-emergency { display: none; }

  .header-actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
  .motion-toggle { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: var(--warm-muted); font-family: var(--sans); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
  .motion-toggle__dot { position: relative; width: 26px; height: 14px; border: 1px solid var(--line-strong); border-radius: 99px; }
  .motion-toggle__dot::after { content: ""; position: absolute; width: 6px; height: 6px; top: 3px; right: 3px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 8px var(--lime); transition: .25s ease; }
  .motion-toggle[aria-pressed="true"] .motion-toggle__dot::after { right: 15px; background: var(--warm-muted); box-shadow: none; }
  .emergency-link { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid rgba(255,132,94,.42); color: #ffc1ac; font-family: var(--sans); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; transition: background .25s, color .25s; }
  .emergency-link:hover { background: var(--danger); color: var(--midnight); }
  .pulse-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 0 0 rgba(255,132,94,.5); animation: pulse 2s infinite; }
  .nav-toggle { display: none; width: 44px; height: 44px; padding: 13px 9px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
  .nav-toggle > span:not(.sr-only) { display: block; width: 24px; height: 1px; margin: 5px 0; background: currentColor; transition: transform .25s ease; }

  .eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; color: var(--copper-light); font-family: var(--sans); font-size: .7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
  .eyebrow-line { width: 34px; height: 1px; background: var(--copper); }

  .button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 25px; padding: 0 22px; border: 1px solid transparent; font-family: var(--sans); font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
  .button span { font-size: 1.1rem; transition: transform .25s var(--ease); }
  .button:hover span { transform: translate(2px, -2px); }
  .button--primary { background: var(--lime); color: var(--midnight); }
  .button--primary:hover { background: var(--warm); transform: translateY(-2px); }
  .button--ghost { border-color: var(--line-strong); background: transparent; color: var(--warm); }
  .button--ghost:hover { border-color: var(--warm); }
  .button--circuit { border-color: var(--line-strong); background: rgba(6,19,41,.45); color: var(--warm); }
  .button--circuit:hover, .button--circuit[aria-pressed="true"] { border-color: rgba(203,255,92,.5); background: var(--lime-soft); }
  .breaker { position: relative; width: 27px; height: 13px; border: 1px solid var(--line-strong); border-radius: 20px; }
  .breaker i { position: absolute; width: 7px; height: 7px; top: 2px; left: 3px; border-radius: 50%; background: var(--warm-muted); transition: left .3s var(--ease), background .3s, box-shadow .3s; }
  .button--circuit[aria-pressed="true"] .breaker i { left: 15px; background: var(--lime); box-shadow: 0 0 8px var(--lime); }

  .text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--lime); color: var(--warm); font-family: var(--sans); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
  .text-link span { color: var(--lime); font-size: 1rem; }
  .text-link:hover span { transform: translate(2px, -2px); }
  .text-link--urgent { border-color: var(--danger); color: #ffc1ac; }
  .text-link--urgent span { color: var(--danger); }

  .scroll-cue { position: absolute; z-index: 3; left: 36px; bottom: 28px; display: flex; align-items: center; gap: 14px; color: var(--warm-muted); font-family: var(--sans); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
  .scroll-cue i { position: relative; width: 52px; height: 1px; overflow: hidden; background: var(--line-strong); }
  .scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--lime); transform: translateX(-110%); animation: lineTravel 2.6s var(--ease) infinite; }

  .section-intro { max-width: 840px; }
  .section-intro > p:last-child { max-width: 620px; margin-top: 28px; font-size: 1.05rem; }

  .conversion-field { min-height: 82vh; display: grid; place-items: center; position: relative; overflow: hidden; text-align: center; }
  .conversion-copy { position: relative; z-index: 2; max-width: 820px; }
  .conversion-copy .eyebrow { justify-content: center; }
  .conversion-copy p:not(.eyebrow) { max-width: 520px; margin: 28px auto 34px; font-size: 1.08rem; }
  .conversion-orbit { position: absolute; width: min(66vw, 820px); aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; opacity: .72; animation: orbitTurn 32s linear infinite; }
  .conversion-orbit::before, .conversion-orbit::after, .conversion-orbit i { content: ""; position: absolute; inset: 12%; border: 1px solid var(--line); border-radius: 50%; }
  .conversion-orbit::after { inset: 29%; border-color: rgba(201,132,85,.3); }
  .conversion-orbit i:nth-child(1) { inset: -4% 44%; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); border-radius: 0; }
  .conversion-orbit i:nth-child(2) { inset: 44% -4%; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; }
  .conversion-orbit i:nth-child(3) { inset: calc(50% - 4px) auto auto calc(50% - 4px); width: 8px; height: 8px; border: 0; background: var(--lime); box-shadow: 0 0 18px var(--lime); }
  .conversion-orbit span { position: absolute; top: 10%; left: 29%; width: 6px; height: 6px; border-radius: 50%; background: var(--copper-light); }
  .emergency-callout { position: absolute; bottom: 28px; z-index: 2; color: var(--warm-muted); font-size: .78rem; }
  .emergency-callout a { margin-left: 5px; color: #ffc1ac; text-decoration: underline; text-underline-offset: 4px; }
  .conversion-field--compact { min-height: 70vh; }

  .site-footer { width: var(--shell); min-height: 260px; margin: 0 auto; padding: 58px 0 30px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: start; border-top: 1px solid var(--line); }
  .site-footer > p { align-self: center; max-width: 400px; font-family: var(--serif); font-size: 1.45rem; font-style: italic; color: var(--warm); }
  .footer-links { display: flex; gap: 28px; justify-content: end; font-family: var(--sans); font-size: .69rem; letter-spacing: .09em; text-transform: uppercase; }
  .footer-links a { color: var(--warm-muted); }
  .footer-links a:hover { color: var(--lime); }
  .site-footer small { grid-column: 1 / -1; align-self: end; color: rgba(244,240,227,.42); font-size: .68rem; }
}

@layer pages {
  /* Home: disconnected split-depth stage */
  .hero { position: relative; min-height: max(760px, 100svh); padding: calc(var(--header-h) + 60px) 36px 80px; }
  .hero--home { display: grid; grid-template-columns: minmax(0, .82fr) minmax(600px, 1.18fr); gap: 4vw; align-items: center; }
  .hero-copy { position: relative; z-index: 3; max-width: 780px; }
  .hero-copy h1 { max-width: 850px; }
  .hero-intro { max-width: 600px; margin-top: 31px; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.7; }
  .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
  .trust-line { display: flex; gap: 0; margin-top: 52px; }
  .trust-line div { min-width: 145px; padding: 0 24px; border-left: 1px solid var(--line); }
  .trust-line div:first-child { padding-left: 0; border-left: 0; }
  .trust-line dt { font-family: var(--sans); font-size: .72rem; color: var(--warm); text-transform: uppercase; letter-spacing: .1em; }
  .trust-line dd { margin-top: 4px; color: var(--warm-muted); font-size: .72rem; }

  .hero-schematic { position: relative; justify-self: end; width: min(100%, 840px); min-width: 0; perspective: 1100px; }
  .schematic-meta { display: flex; justify-content: space-between; padding: 0 0 10px; color: var(--warm-muted); font-family: var(--sans); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
  .schematic-meta span:last-child { color: var(--danger); }
  .is-powered .schematic-meta span:last-child { color: var(--lime); }
  .house-grid { width: 100%; color: var(--warm); overflow: visible; border: 1px solid var(--line); background: rgba(10,29,59,.46); transform: rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)); transition: transform .2s ease-out, border-color .5s; }
  .is-powered .house-grid { border-color: rgba(203,255,92,.22); }
  .grid-fill { color: var(--warm); }
  .structure { fill: none; stroke: rgba(244,240,227,.22); stroke-width: 1.5; }
  .circuit { fill: none; stroke: var(--copper); stroke-width: 3; stroke-linecap: square; stroke-linejoin: round; opacity: .35; stroke-dasharray: 8 14; stroke-dashoffset: 0; transition: opacity .4s, stroke .4s, filter .4s; }
  .is-powered .circuit--trunk, .is-powered .circuit.is-active { opacity: 1; stroke: var(--lime); filter: url(#home-glow); animation: circuitFlow 1.1s linear infinite; }
  .panel-unit rect, .panel-unit path { fill: rgba(6,19,41,.8); stroke: var(--copper); stroke-width: 1.4; }
  .panel-unit text, .room-label text, .grid-node text { fill: var(--warm-muted); font-family: var(--sans); font-size: 11px; letter-spacing: 1.8px; }
  .grid-node { cursor: pointer; outline: none; }
  .grid-node > circle:first-child { fill: var(--midnight); stroke: var(--copper); stroke-width: 1.5; transition: fill .3s, stroke .3s, filter .3s; }
  .grid-node > circle:nth-child(2) { fill: var(--copper); }
  .grid-node:hover > circle:first-child, .grid-node:focus-visible > circle:first-child, .grid-node.is-active > circle:first-child { fill: var(--lime-soft); stroke: var(--lime); filter: url(#home-glow); }
  .grid-node:hover > circle:nth-child(2), .grid-node:focus-visible > circle:nth-child(2), .grid-node.is-active > circle:nth-child(2) { fill: var(--lime); }
  .grid-node:focus-visible > circle:first-child { stroke-width: 3; }
  .current-indicator { opacity: 0; pointer-events: none; }
  .is-powered .current-indicator { opacity: 1; }
  .current-indicator circle:first-child { fill: var(--lime); filter: url(#home-glow); }
  .current-indicator circle:last-child { fill: none; stroke: var(--lime); opacity: .5; animation: signalRing 1.6s ease-out infinite; }
  .schematic-hint { display: flex; align-items: center; gap: 10px; margin-top: 15px; font-size: .72rem; }
  .schematic-hint > span { width: 7px; height: 7px; border-radius: 50%; background: var(--copper); }
  .is-powered .schematic-hint > span { background: var(--lime); box-shadow: 0 0 10px var(--lime); }

  /* Home: scale narrative */
  .system-story { position: relative; height: 330vh; background: var(--warm); color: var(--midnight); }
  .story-stage { position: sticky; top: 0; min-height: 100svh; overflow: hidden; display: grid; grid-template-columns: .7fr 1.3fr .75fr; align-items: center; gap: 2vw; padding: 80px 4vw 44px; }
  .story-heading { align-self: start; padding-top: 6vh; }
  .story-heading .eyebrow { color: #8a4e2e; }
  .story-heading h2 { font-size: clamp(2.4rem, 4.3vw, 5.2rem); }
  .scale-visual { position: relative; width: 100%; }
  .scale-visual svg { width: 100%; max-height: 76vh; overflow: visible; }
  .scale-layer { opacity: 0; transform-origin: center; transform: scale(.8); transition: opacity .5s ease, transform .7s var(--ease); }
  .scale-layer.is-active { opacity: 1; transform: scale(1); }
  .scale-structure { fill: none; stroke: rgba(6,19,41,.28); stroke-width: 2; }
  .scale-current { fill: none; stroke: #779e2c; stroke-width: 5; stroke-dasharray: 10 18; animation: circuitFlow 1.3s linear infinite; filter: drop-shadow(0 0 5px rgba(125,169,47,.3)); }
  .scale-node { fill: var(--warm); stroke: #779e2c; stroke-width: 3; }
  .scale-readout { position: absolute; left: 8%; right: 8%; bottom: 0; display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid rgba(6,19,41,.2); font-family: var(--sans); text-transform: uppercase; }
  .scale-readout span { font-size: .65rem; letter-spacing: .12em; color: #637080; }
  .scale-readout strong { font-size: .75rem; letter-spacing: .08em; }
  .story-chapters { display: grid; align-self: end; gap: 0; padding-bottom: 6vh; }
  .story-chapter { display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 24px 0; border-top: 1px solid rgba(6,19,41,.15); opacity: .34; transform: translateX(14px); transition: opacity .4s, transform .5s var(--ease); }
  .story-chapter.is-active { opacity: 1; transform: none; }
  .chapter-number { padding-top: 5px; color: #8a4e2e; font-family: var(--sans); font-size: .68rem; }
  .story-chapter h3 { font-size: clamp(1.35rem, 2.1vw, 2.3rem); }
  .story-chapter p { margin-top: 10px; color: #5f6670; font-size: .82rem; line-height: 1.55; }
  .story-progress { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: rgba(6,19,41,.12); }
  .story-progress i { display: block; width: 100%; height: 100%; background: #789b35; transform: scaleX(0); transform-origin: left; }

  /* Home: capability routing */
  .capabilities { min-height: 110vh; padding: 140px 0 110px; }
  .capability-route { position: relative; min-height: 600px; margin-top: 55px; }
  .route-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
  .route-base, .route-live { fill: none; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
  .route-base { stroke: var(--line-strong); }
  .route-live { stroke: var(--lime); stroke-width: 2.5; stroke-dasharray: 10 16; animation: circuitFlow 1.2s linear infinite; filter: drop-shadow(0 0 5px rgba(203,255,92,.6)); }
  .capability-node { position: absolute; width: min(27vw, 345px); min-height: 280px; display: flex; flex-direction: column; padding: 27px; background: rgba(10,29,59,.82); border: 1px solid var(--line); backdrop-filter: blur(8px); transition: transform .45s var(--ease), border-color .3s, background .3s; }
  .capability-node:hover { transform: translateY(-9px); border-color: rgba(203,255,92,.5); background: var(--cobalt-2); }
  .capability-node::before { content: ""; position: absolute; width: 12px; height: 12px; border: 2px solid var(--copper); border-radius: 50%; background: var(--midnight); box-shadow: 0 0 0 6px rgba(201,132,85,.1); }
  .capability-node--home { left: 2%; top: 28%; }
  .capability-node--home::before { right: -7px; top: calc(50% - 6px); }
  .capability-node--work { left: 37%; top: 0; }
  .capability-node--work::before { left: calc(50% - 6px); bottom: -7px; }
  .capability-node--urgent { right: 2%; bottom: 0; }
  .capability-node--urgent::before { left: -7px; top: calc(50% - 6px); }
  .capability-icon { position: relative; width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: auto; color: var(--copper-light); }
  .capability-icon::before, .capability-icon::after { content: ""; position: absolute; inset: 0; border: 1px solid var(--line); border-radius: 50%; }
  .capability-icon::after { inset: 10px; border-color: rgba(201,132,85,.36); }
  .capability-index { margin-top: 30px; color: var(--copper-light); font-family: var(--sans); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
  .capability-node strong { margin-top: 5px; font-family: var(--sans); font-size: clamp(1.6rem, 2.5vw, 2.7rem); font-weight: 520; letter-spacing: -.04em; }
  .capability-node > span:nth-last-of-type(1) { color: var(--warm-muted); font-size: .78rem; }
  .node-arrow { position: absolute; right: 25px; top: 25px; color: var(--lime); font-style: normal; font-size: 1.3rem; transition: transform .3s var(--ease); }
  .capability-node:hover .node-arrow { transform: translate(3px, -3px); }
  .icon-house { width: 24px; height: 22px; display: block; border: 1.5px solid currentColor; border-top: 0; position: relative; }
  .icon-house::before { content: ""; position: absolute; width: 18px; height: 18px; left: 1px; top: -9px; border-left: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); }
  .icon-building { width: 24px; height: 29px; display: block; border: 1.5px solid currentColor; background: repeating-linear-gradient(to right, transparent 0 5px, currentColor 6px 7px); }
  .icon-bolt { width: 14px; height: 30px; display: block; background: currentColor; clip-path: polygon(55% 0, 100% 0, 66% 38%, 94% 38%, 26% 100%, 43% 55%, 10% 55%); }
  .icon-wave { width: 29px; height: 20px; display: block; background: linear-gradient(135deg, transparent 44%, currentColor 45% 52%, transparent 53%) 0 0/9px 20px repeat-x; }

  .proof-field { min-height: 90vh; display: grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items: center; padding: 110px 0; }
  .proof-statement { position: relative; }
  .statement-mark { position: absolute; left: -45px; top: -65px; color: rgba(201,132,85,.16); font-family: var(--serif); font-size: 13rem; line-height: 1; }
  .proof-statement blockquote { position: relative; font-family: var(--serif); font-size: clamp(2.1rem, 4.1vw, 4.9rem); line-height: 1.13; letter-spacing: -.035em; }
  .proof-notes { border-top: 1px solid var(--line); }
  .proof-note { display: grid; grid-template-columns: 35px 1fr; gap: 10px 18px; padding: 30px 0; border-bottom: 1px solid var(--line); }
  .proof-note > span { grid-row: 1 / 3; color: var(--copper-light); font-family: var(--sans); font-size: .65rem; }
  .proof-note h3 { font-size: 1.35rem; }
  .proof-note p { font-size: .82rem; }

  /* Shared page hero */
  .page-hero { position: relative; min-height: max(720px, 88svh); padding: calc(var(--header-h) + 90px) max(5vw, 36px) 80px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; overflow: hidden; }
  .page-hero::before { content: ""; position: absolute; width: 50vw; aspect-ratio: 1; right: -12vw; top: 8%; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(244,240,227,.012), 0 0 0 14vw rgba(244,240,227,.009); }
  .page-hero__copy { max-width: 950px; }
  .page-hero__copy h1 { font-size: clamp(4.1rem, 8vw, 9rem); }
  .page-hero__copy > p:last-child { max-width: 610px; margin-top: 32px; font-size: 1.08rem; }
  .hero-meter { position: relative; z-index: 2; justify-self: center; }
  .meter-orbit { position: relative; width: clamp(250px, 26vw, 410px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; animation: orbitTurn 24s linear infinite; }
  .meter-orbit::before, .meter-orbit::after { content: ""; position: absolute; inset: 13%; border: 1px dashed rgba(201,132,85,.45); border-radius: 50%; }
  .meter-orbit::after { inset: 30%; border-style: solid; border-color: var(--line-strong); }
  .meter-orbit i { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 18px var(--lime); }
  .meter-orbit i:nth-child(1) { top: 7%; left: 47%; }
  .meter-orbit i:nth-child(2) { bottom: 17%; right: 10%; width: 7px; height: 7px; background: var(--copper-light); box-shadow: none; }
  .meter-orbit i:nth-child(3) { bottom: 25%; left: 9%; width: 5px; height: 5px; background: var(--warm-muted); box-shadow: none; }
  .meter-orbit > span { display: flex; align-items: baseline; gap: 6px; font-family: var(--sans); font-size: clamp(3.2rem, 6vw, 6.5rem); letter-spacing: -.07em; animation: orbitTurn 24s linear infinite reverse; }
  .meter-orbit small { font-size: .7rem; letter-spacing: .14em; color: var(--copper-light); }
  .meter-caption { display: flex; justify-content: space-between; padding-top: 15px; font-family: var(--sans); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
  .meter-caption span { color: var(--warm-muted); }
  .meter-caption strong { color: var(--lime); }

  /* Services: control room */
  .service-router { min-height: 100vh; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 34px; align-items: stretch; padding: 110px 0; }
  .router-controls { display: flex; flex-direction: column; }
  .router-controls .eyebrow { margin-bottom: 40px; }
  .router-controls button { min-height: 116px; display: grid; grid-template-columns: 38px 1fr; grid-template-rows: 1fr 1fr; align-items: end; padding: 23px 10px; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; transition: background .3s, padding .3s; }
  .router-controls button:last-child { border-bottom: 1px solid var(--line); }
  .router-controls button > span { grid-row: 1 / 3; align-self: center; color: var(--copper-light); font-family: var(--sans); font-size: .65rem; }
  .router-controls button strong { font-family: var(--sans); font-size: 1.2rem; font-weight: 500; }
  .router-controls button small { align-self: start; color: var(--warm-muted); }
  .router-controls button[aria-selected="true"] { padding-left: 24px; background: var(--lime-soft); }
  .router-controls button[aria-selected="true"] strong { color: var(--lime); }
  .router-board { position: relative; min-height: 680px; overflow: hidden; border: 1px solid var(--line); background: rgba(10,29,59,.72); }
  .router-diagram { position: absolute; inset: 0; width: 64%; height: 100%; opacity: .78; }
  .router-grid { fill: none; stroke: var(--line); stroke-width: 1; }
  .router-diagram text { fill: var(--warm-muted); font-family: var(--sans); font-size: 10px; letter-spacing: 1.5px; }
  .router-wire { fill: none; stroke: var(--copper); stroke-width: 3; opacity: .14; stroke-dasharray: 8 13; transition: opacity .35s, stroke .35s; }
  .router-wire.is-active { opacity: 1; stroke: var(--lime); filter: url(#router-glow); animation: circuitFlow 1s linear infinite; }
  .router-source rect, .router-source path { fill: var(--midnight); stroke: var(--copper); }
  .router-terminal circle:first-child { fill: var(--midnight); stroke: var(--copper); }
  .router-terminal circle:last-child { fill: var(--copper); }
  .router-panel { position: absolute; z-index: 2; top: 50%; right: 5%; width: min(47%, 500px); padding: 38px; background: rgba(6,19,41,.92); border-left: 2px solid var(--lime); transform: translateY(-50%); animation: panelIn .5s var(--ease) both; }
  .route-status { display: flex; align-items: center; gap: 9px; margin-bottom: 25px; color: var(--lime); font-family: var(--sans); font-size: .62rem; letter-spacing: .11em; text-transform: uppercase; }
  .route-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px var(--lime); }
  .route-status--urgent { color: #ffc1ac; }
  .route-status--urgent i { background: var(--danger); box-shadow: 0 0 10px var(--danger); }
  .router-panel h2 { font-size: clamp(2.2rem, 4vw, 4.7rem); }
  .router-panel > p { margin-top: 20px; font-size: .9rem; }
  .router-panel ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 24px 0 30px; color: var(--warm); font-size: .75rem; }
  .router-panel li::before { content: "+"; margin-right: 8px; color: var(--copper-light); }

  .service-index { padding: 130px 0; }
  .service-index .section-intro { margin-bottom: 70px; }
  .service-accordion { border-top: 1px solid var(--line-strong); }
  .service-row { border-bottom: 1px solid var(--line); }
  .service-row h3 { font-size: clamp(1.7rem, 3.2vw, 3.7rem); }
  .service-row h3 button { width: 100%; min-height: 110px; display: grid; grid-template-columns: 70px 1fr 50px; align-items: center; gap: 20px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; transition: color .3s, padding .3s; }
  .service-row h3 button:hover, .service-row h3 button[aria-expanded="true"] { color: var(--lime); padding-left: 12px; }
  .service-row h3 span { color: var(--copper-light); font-size: .66rem; letter-spacing: .08em; }
  .service-row h3 i { justify-self: end; width: 32px; height: 32px; position: relative; border: 1px solid var(--line-strong); border-radius: 50%; }
  .service-row h3 i::before, .service-row h3 i::after { content: ""; position: absolute; top: 15px; left: 9px; width: 12px; height: 1px; background: currentColor; transition: transform .3s; }
  .service-row h3 i::after { transform: rotate(90deg); }
  .service-row h3 button[aria-expanded="true"] i::after { transform: rotate(0); }
  .service-detail { padding: 0 7vw 42px 90px; animation: detailIn .4s var(--ease) both; }
  .service-detail > p { max-width: 720px; font-size: 1rem; }
  .service-detail dl { display: grid; grid-template-columns: 1fr 1fr; max-width: 900px; margin-top: 25px; border-top: 1px solid var(--line); }
  .service-detail dl div { padding: 20px 24px 0 0; }
  .service-detail dt { color: var(--copper-light); font-family: var(--sans); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
  .service-detail dd { margin-top: 6px; color: var(--warm); font-size: .78rem; }

  .work-sample { min-height: 90vh; display: grid; grid-template-columns: 1.15fr .85fr; gap: 7vw; align-items: center; padding: 100px 0; }
  .work-sample__visual { position: relative; aspect-ratio: 1.15; padding: 8%; border: 1px solid var(--line); background: var(--cobalt); }
  .floor-plan { position: relative; width: 100%; height: 100%; border: 1px solid var(--line-strong); background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 30px 30px; }
  .floor-plan::before { content: ""; position: absolute; left: 36%; top: 0; bottom: 0; width: 1px; background: var(--line-strong); box-shadow: 200px 160px 0 var(--line-strong); }
  .floor-plan::after { content: ""; position: absolute; left: 0; right: 0; top: 53%; height: 1px; background: var(--line-strong); }
  .plan-zone { position: absolute; z-index: 2; color: var(--warm-muted); font-family: var(--sans); font-size: .58rem; letter-spacing: .12em; }
  .plan-zone--kitchen { left: 5%; top: 6%; }.plan-zone--living { left: 42%; top: 6%; }.plan-zone--garage { left: 42%; bottom: 6%; }
  .plan-line { position: absolute; height: 2px; background: var(--lime); box-shadow: 0 0 7px rgba(203,255,92,.5); transform-origin: left; }
  .plan-line--a { width: 44%; left: 8%; top: 35%; }.plan-line--b { width: 35%; left: 52%; top: 35%; transform: rotate(90deg); }.plan-line--c { width: 28%; left: 52%; top: 71%; }
  .plan-node { position: absolute; width: 10px; height: 10px; border: 2px solid var(--lime); border-radius: 50%; background: var(--midnight); box-shadow: 0 0 10px rgba(203,255,92,.5); }
  .plan-node--a { left: 7%; top: calc(35% - 4px); }.plan-node--b { left: calc(52% - 4px); top: calc(35% - 4px); }.plan-node--c { left: calc(80% - 4px); top: calc(71% - 4px); }
  .sample-tag { position: absolute; right: 0; bottom: -34px; color: var(--copper-light); font-family: var(--sans); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
  .work-sample__copy h2 { margin-bottom: 26px; }
  .work-sample__copy > p:not(.eyebrow) { max-width: 550px; }
  .work-sample__copy dl { margin-top: 42px; border-top: 1px solid var(--line); }
  .work-sample__copy dl div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--line); }
  .work-sample__copy dt { color: var(--copper-light); font-family: var(--sans); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
  .work-sample__copy dd { color: var(--warm); font-size: .78rem; }

  /* Request: quiet guided path */
  .request-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .82fr) minmax(560px, 1.18fr); gap: 7vw; align-items: start; padding-top: calc(var(--header-h) + 95px); padding-bottom: 100px; }
  .request-intro { position: sticky; top: calc(var(--header-h) + 40px); padding-top: 20px; }
  .request-intro h1 { font-size: clamp(3.5rem, 6.4vw, 7rem); }
  .request-intro > p:not(.eyebrow) { max-width: 590px; margin-top: 30px; font-size: 1rem; }
  .contact-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 30px; margin-top: 44px; padding-top: 25px; border-top: 1px solid var(--line); }
  .contact-rail span { display: block; margin-bottom: 4px; color: var(--copper-light); font-family: var(--sans); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
  .contact-rail a, .contact-rail p { color: var(--warm); font-size: .78rem; }
  .contact-rail a:hover { color: var(--lime); }
  .safety-note { display: grid; grid-template-columns: 42px 1fr; gap: 16px; margin-top: 42px; padding: 22px; border: 1px solid rgba(255,132,94,.35); background: rgba(255,132,94,.06); }
  .safety-icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--danger); border-radius: 50%; color: var(--danger); font-family: var(--sans); }
  .safety-note h2 { font-size: 1.15rem; letter-spacing: -.02em; }
  .safety-note p { margin-top: 7px; font-size: .74rem; line-height: 1.55; }
  .safety-note a { display: inline-block; margin-top: 10px; color: #ffc1ac; font-family: var(--sans); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }

  .request-panel { position: relative; min-height: 720px; padding: 42px; border: 1px solid var(--line); background: rgba(10,29,59,.78); backdrop-filter: blur(12px); transition: border-color .3s, box-shadow .3s; }
  .request-panel:focus-within { border-color: rgba(203,255,92,.26); box-shadow: 0 18px 80px rgba(0,0,0,.2); }
  .form-circuit { display: flex; align-items: center; margin-bottom: 14px; }
  .form-node { min-width: 34px; text-align: center; }
  .form-node i { display: block; width: 10px; height: 10px; margin: 0 auto 7px; border: 2px solid var(--copper); border-radius: 50%; background: var(--cobalt); transition: border-color .3s, background .3s, box-shadow .3s; }
  .form-node b { color: var(--warm-muted); font-family: var(--sans); font-size: .58rem; font-weight: 400; }
  .form-node.is-active i, .form-node.is-complete i { border-color: var(--lime); background: var(--lime); box-shadow: 0 0 9px var(--lime); }
  .form-node.is-active b, .form-node.is-complete b { color: var(--lime); }
  .form-wire { flex: 1; height: 1px; margin: -20px 7px 0; background: var(--line-strong); overflow: hidden; }
  .form-wire i { display: block; width: 100%; height: 100%; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
  .form-wire.is-complete i { transform: scaleX(1); }
  .form-status { margin-bottom: 34px; color: var(--copper-light); font-family: var(--sans); font-size: .61rem; letter-spacing: .11em; text-transform: uppercase; text-align: center; }
  .form-step { padding: 0; border: 0; animation: panelIn .45s var(--ease) both; }
  .form-step legend { width: 100%; margin-bottom: 30px; font-family: var(--sans); font-size: clamp(1.8rem, 2.9vw, 3.1rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
  .form-step legend span { display: block; margin-bottom: 10px; color: var(--copper-light); font-size: .62rem; letter-spacing: .1em; }
  .choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .choice-card { position: relative; min-height: 138px; display: grid; grid-template-columns: 45px 1fr; grid-template-rows: 1fr 1fr; gap: 0 12px; align-items: end; padding: 18px; border: 1px solid var(--line); background: rgba(6,19,41,.42); cursor: pointer; transition: border-color .25s, background .25s, transform .25s; }
  .choice-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
  .choice-card:has(input:checked) { border-color: var(--lime); background: var(--lime-soft); }
  .choice-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
  .choice-card:has(input:focus-visible) { outline: 2px solid var(--lime); outline-offset: 3px; }
  .choice-mark { grid-row: 1 / 3; align-self: center; width: 44px; height: 44px; display: grid; place-items: center; color: var(--copper-light); }
  .choice-card:has(input:checked) .choice-mark { color: var(--lime); }
  .choice-card strong { font-family: var(--sans); font-size: .9rem; font-weight: 500; }
  .choice-card small { align-self: start; color: var(--warm-muted); font-size: .65rem; line-height: 1.35; }
  .choice-card--urgent:has(input:checked) { border-color: var(--danger); background: rgba(255,132,94,.08); }
  .choice-card--urgent:has(input:checked) .choice-mark { color: var(--danger); }
  .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .field { display: block; margin-top: 24px; }
  .field--full { grid-column: 1 / -1; }
  .field > span:first-child { display: block; margin-bottom: 8px; color: var(--warm); font-family: var(--sans); font-size: .7rem; letter-spacing: .04em; }
  .field input, .field textarea, .field select { width: 100%; min-height: 52px; padding: 13px 0; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; background: transparent; color: var(--warm); outline: none; transition: border-color .25s, background .25s; }
  .field textarea { resize: vertical; min-height: 105px; }
  .field select { color-scheme: dark; }
  .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--lime); background: rgba(203,255,92,.025); }
  .field input::placeholder, .field textarea::placeholder { color: rgba(183,183,174,.45); }
  .field > small { display: block; margin-top: 6px; color: rgba(183,183,174,.6); font-size: .63rem; }
  .field-error { min-height: 17px; display: block; margin-top: 5px; color: #ffab91; font-size: .66rem; }
  [aria-invalid="true"] { border-color: var(--danger) !important; }
  .consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 28px; color: var(--warm-muted); font-size: .72rem; cursor: pointer; }
  .consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--lime); }
  .request-summary { margin-top: 30px; padding: 20px; border-left: 2px solid var(--copper); background: rgba(6,19,41,.42); color: var(--warm-muted); font-size: .76rem; }
  .request-summary strong { color: var(--warm); }
  .form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 35px; }
  .form-actions .button--primary { margin-left: auto; }

  .form-success { min-height: 590px; display: grid; align-content: center; justify-items: center; text-align: center; animation: panelIn .5s var(--ease) both; }
  .success-signal { position: relative; width: 180px; height: 180px; display: grid; place-items: center; margin-bottom: 35px; }
  .success-signal i { position: absolute; inset: 0; border: 1px solid rgba(203,255,92,.32); border-radius: 50%; animation: successRing 2.4s ease-out infinite; }
  .success-signal i:nth-child(2) { animation-delay: .8s; }
  .success-signal span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: var(--midnight); font-size: 2rem; box-shadow: 0 0 35px rgba(203,255,92,.28); }
  .form-success .eyebrow { margin-bottom: 13px; }
  .form-success h2 { font-size: clamp(2.5rem, 4.5vw, 4.7rem); }
  .form-success > p:not(.eyebrow) { max-width: 470px; margin-top: 18px; }
  .demo-note { padding: 8px 12px; background: rgba(201,132,85,.1); color: var(--copper-light) !important; font-size: .7rem; }
  .form-success .text-link { margin-top: 28px; }

  .process-strip { padding: 70px 0 130px; }
  .process-path { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4vw; margin-top: 60px; }
  .process-path::before { content: ""; position: absolute; left: 4px; right: 4px; top: 7px; height: 1px; background: var(--line-strong); }
  .process-path article { position: relative; padding-top: 44px; }
  .process-path article::before { content: ""; position: absolute; top: 1px; left: 0; width: 12px; height: 12px; border: 2px solid var(--copper); border-radius: 50%; background: var(--midnight); }
  .process-path article:first-child::before { border-color: var(--lime); box-shadow: 0 0 10px rgba(203,255,92,.5); }
  .process-path span { color: var(--copper-light); font-family: var(--sans); font-size: .62rem; }
  .process-path h2 { margin-top: 9px; font-size: 1.5rem; }
  .process-path p { margin-top: 10px; max-width: 340px; font-size: .78rem; }
}

@layer responsive {
  @media (max-width: 1180px) {
    :root { --shell: calc(100vw - 48px); }
    .site-header { grid-template-columns: 1fr auto auto; gap: 14px; padding-inline: 24px; }
    .site-header > .brand { grid-column: 1; grid-row: 1; }
    .nav-toggle { display: block; grid-column: 3; grid-row: 1; }
    .site-nav { position: absolute; top: 100%; left: 24px; right: 24px; display: grid; gap: 0; padding: 20px; background: rgba(6,19,41,.97); border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0,0,0,.3); transform-origin: top; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s ease; }
    .site-header.nav-open .site-nav { opacity: 1; visibility: visible; transform: none; }
    .site-nav a { padding: 16px 10px; border-bottom: 1px solid var(--line); }
    .site-nav a::after { bottom: 8px; }
    .site-nav .nav-emergency { min-height: 54px; display: flex; align-items: center; gap: 10px; color: #ffc1ac; border: 1px solid rgba(255,132,94,.35); margin-top: 12px; padding-inline: 14px; }
    .site-nav .nav-emergency::after { display: none; }
    .site-nav .nav-emergency > span { margin: 0; }
    .header-actions { grid-column: 2; grid-row: 1; display: flex; }
    .header-actions .emergency-link { display: none; }
    .hero--home { grid-template-columns: .85fr 1.15fr; padding-inline: 24px; }
    .hero-schematic { align-self: end; }
    .story-stage { grid-template-columns: .6fr 1.25fr .8fr; }
    .service-router { grid-template-columns: 250px 1fr; }
    .router-panel { width: 55%; }
    .request-layout { gap: 4vw; grid-template-columns: .8fr 1.2fr; }
  }

  @media (max-width: 900px) {
    :root { --shell: calc(100vw - 40px); }
    .hero--home { min-height: auto; grid-template-columns: 1fr; gap: 60px; padding: 140px 20px 110px; }
    .hero-copy { max-width: 760px; }
    .hero-schematic { width: min(100%, 760px); justify-self: center; }
    .scroll-cue { left: 20px; }
    .system-story { height: auto; }
    .story-stage { position: relative; min-height: auto; grid-template-columns: 1fr; padding: 100px 20px; }
    .story-heading { padding-top: 0; }
    .scale-visual { max-width: 680px; margin-inline: auto; }
    .story-chapters { grid-template-columns: repeat(3, 1fr); padding-bottom: 0; }
    .story-chapter { grid-template-columns: 1fr; padding-right: 15px; opacity: 1; transform: none; }
    .story-chapter p { font-size: .75rem; }
    .capabilities { padding-top: 100px; }
    .capability-route { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-height: auto; }
    .route-lines { display: none; }
    .capability-node { position: relative; inset: auto; width: 100%; min-height: 290px; }
    .capability-node--urgent { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
    .capability-node::before { display: none; }
    .proof-field { grid-template-columns: 1fr; gap: 80px; }
    .page-hero { grid-template-columns: 1fr; gap: 45px; padding-inline: 24px; }
    .hero-meter { justify-self: end; margin-right: 8vw; }
    .service-router { grid-template-columns: 1fr; }
    .router-controls { display: grid; grid-template-columns: repeat(3, 1fr); }
    .router-controls .eyebrow { grid-column: 1 / -1; }
    .router-controls button { min-height: 100px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 2px; text-align: center; }
    .router-controls button > span { grid-row: auto; }
    .router-controls button[aria-selected="true"] { padding-left: 10px; }
    .router-board { min-height: 690px; }
    .router-panel { width: 58%; }
    .work-sample { grid-template-columns: 1fr; gap: 80px; }
    .work-sample__visual { max-width: 700px; }
    .request-layout { grid-template-columns: 1fr; }
    .request-intro { position: relative; top: auto; }
    .request-panel { max-width: 760px; width: 100%; margin-inline: auto; }
  }

  @media (max-width: 620px) {
    :root { --shell: calc(100vw - 32px); --header-h: 70px; }
    .site-header, .site-header.is-scrolled { min-height: 70px; padding-inline: 16px; }
    .site-header { gap: 8px; }
    .site-nav { left: 16px; right: 16px; }
    .brand { font-size: .76rem; }
    .brand-mark { width: 30px; height: 30px; }
    .motion-toggle { width: 44px; justify-content: center; }
    .motion-toggle [data-motion-label] { display: none; }
    h1 { font-size: clamp(3.25rem, 16vw, 5.2rem); }
    h2 { font-size: clamp(2.55rem, 13vw, 4.5rem); }
    .hero--home { padding: 118px 16px 100px; gap: 48px; }
    .hero-intro { font-size: .96rem; }
    .hero-actions { display: grid; }
    .button { width: 100%; }
    .trust-line { display: grid; grid-template-columns: repeat(3, 1fr); }
    .trust-line div { min-width: 0; padding: 0 10px; }
    .trust-line dd { line-height: 1.25; }
    .schematic-meta { flex-direction: column; gap: 3px; }
    .schematic-hint { font-size: .64rem; }
    .scroll-cue span { display: none; }
    .story-stage { padding: 78px 16px; }
    .story-chapters { grid-template-columns: 1fr; margin-top: 30px; }
    .story-chapter { grid-template-columns: 35px 1fr; padding: 20px 0; }
    .story-chapter p { font-size: .78rem; }
    .capabilities { padding: 90px 0; }
    .capability-route { grid-template-columns: 1fr; }
    .capability-node, .capability-node--urgent { grid-column: auto; width: 100%; min-height: 255px; }
    .proof-field { padding: 80px 0; }
    .statement-mark { left: -5px; }
    .conversion-field { min-height: 720px; }
    .conversion-orbit { width: 130vw; }
    .conversion-copy .button { width: auto; }
    .emergency-callout { width: 90%; line-height: 1.5; }
    .site-footer { grid-template-columns: 1fr; }
    .footer-links { justify-content: start; flex-wrap: wrap; gap: 14px 22px; }
    .site-footer > p { margin: 30px 0 15px; }
    .page-hero { min-height: 800px; padding: 125px 16px 90px; }
    .page-hero__copy h1 { font-size: clamp(3.5rem, 17vw, 5.8rem); }
    .hero-meter { justify-self: center; margin: 0; }
    .service-router { padding: 80px 0; }
    .router-controls { grid-template-columns: 1fr; }
    .router-controls .eyebrow { margin-bottom: 20px; }
    .router-controls button { min-height: 78px; grid-template-columns: 32px 1fr; grid-template-rows: 1fr 1fr; text-align: left; }
    .router-controls button > span { grid-row: 1 / 3; }
    .router-board { min-height: 750px; }
    .router-diagram { width: 100%; height: 54%; }
    .router-panel { top: auto; right: 16px; left: 16px; bottom: 16px; width: auto; padding: 25px; transform: none; }
    .router-panel h2 { font-size: 2.5rem; }
    .router-panel ul { grid-template-columns: 1fr; }
    .service-index { padding: 90px 0; }
    .service-row h3 button { min-height: 90px; grid-template-columns: 34px 1fr 34px; gap: 10px; font-size: 1.55rem; }
    .service-detail { padding: 0 0 34px 44px; }
    .service-detail dl { grid-template-columns: 1fr; }
    .work-sample { padding: 60px 0 100px; }
    .request-layout { padding-top: 120px; }
    .contact-rail { grid-template-columns: 1fr; }
    .safety-note h2 { font-size: 1.15rem; }
    .request-panel { padding: 26px 18px; min-height: 680px; }
    .choice-grid, .field-grid { grid-template-columns: 1fr; }
    .choice-card { min-height: 105px; }
    .form-actions { flex-wrap: wrap; }
    .form-actions .button { width: auto; flex: 1; }
    .process-path { grid-template-columns: 1fr; gap: 35px; }
    .process-path::before { width: 1px; height: auto; top: 5px; bottom: 5px; left: 5px; }
    .process-path article { padding: 0 0 0 38px; }
    .process-path article::before { top: 4px; }
    .process-path h2 { font-size: 1.5rem; }
  }
}

@layer motion {
  .reveal { opacity: 1; transform: none; }
  .js-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .8s var(--ease); }
  .js-ready .reveal.is-visible { opacity: 1; transform: none; }
  @keyframes pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,132,94,.5); } 50% { box-shadow: 0 0 0 8px transparent; } }
  @keyframes lineTravel { 0% { transform: translateX(-110%); } 55%, 100% { transform: translateX(110%); } }
  @keyframes circuitFlow { to { stroke-dashoffset: -22; } }
  @keyframes signalRing { 0% { transform: scale(.4); opacity: .7; } 100% { transform: scale(1.8); opacity: 0; } }
  @keyframes orbitTurn { to { transform: rotate(360deg); } }
  @keyframes panelIn { from { opacity: 0; translate: 18px 0; } to { opacity: 1; translate: 0 0; } }
  @keyframes detailIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
  @keyframes successRing { 0% { transform: scale(.35); opacity: 0; } 20% { opacity: 1; } 100% { transform: scale(1.1); opacity: 0; } }

  html.motion-reduced { scroll-behavior: auto; }
  html.motion-reduced *, html.motion-reduced *::before, html.motion-reduced *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  html.motion-reduced .reveal { opacity: 1; transform: none; }
  html.motion-reduced .current-field { display: none; }

  @media (prefers-reduced-motion: reduce) {
    html:not(.motion-full) { scroll-behavior: auto; }
    html:not(.motion-full) *, html:not(.motion-full) *::before, html:not(.motion-full) *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
    html:not(.motion-full) .reveal { opacity: 1; transform: none; }
    html:not(.motion-full) .current-field { display: none; }
  }
}
