/* ============================================================
     Engineering-document system (Site Design Direction, Rev A)
     Two modes, one set of tokens: paper (light) and ink (dark).
     No gradients, no glows, no blur, no border-radius. Drawn, not
     styled. Amber is caution only.
     ============================================================ */
  :root{
    --paper:#F2F2EF;          /* reading surface */
    --panel:#FFFFFF;          /* panels, cards, tables */
    --navy:#161D33;           /* ink: text, rules, 2px borders */
    --solid:#161D33;          /* filled blocks, buttons, nodes */
    --solid-ink:#F2F2EF;      /* text on solid */
    --field:#2B2A7E;          /* brand field: hero, nav, CTA */
    --band:#BAD6DC;           /* statement band */
    --indigo:#2B2A7E;         /* labels, links, plate numbers */
    --rule:rgba(22,29,51,.16);/* hairline structure */
    --amber:#FFAB00;          /* caution only */
    --pale:#BAD6DC;           /* on-field secondary ink */
    --ink2:rgba(22,29,51,.72);/* secondary body ink */
  }
  /* Mode policy: follow the OS preference by default; the footer control
     persists an explicit choice (data-mode) that overrides it. */
  @media (prefers-color-scheme:dark){
    :root:not([data-mode="light"]){
      --paper:#0E1020; --panel:#141822; --navy:#E7E9EF; --solid:#BAD6DC;
      --solid-ink:#0E1020; --field:#1A1950; --band:#171F3D; --indigo:#8F8DE8;
      --rule:rgba(186,214,220,.18); --ink2:rgba(231,233,239,.72);
    }
  }
  :root[data-mode="dark"]{
    --paper:#0E1020; --panel:#141822; --navy:#E7E9EF; --solid:#BAD6DC;
    --solid-ink:#0E1020; --field:#1A1950; --band:#171F3D; --indigo:#8F8DE8;
    --rule:rgba(186,214,220,.18); --ink2:rgba(231,233,239,.72);
  }
  *{box-sizing:border-box;}
  /* No horizontal pan, ever — body-only overflow-x:hidden does not stop
     iOS Safari from panning toward content painted off-edge (e.g. the
     reveal transforms), so the root clips too. clip > hidden: it cannot
     become a scroll container. */
  html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;}
  body{margin:0;background:var(--paper);color:var(--navy);font-family:'Archivo',system-ui,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;}
  .mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
  a{color:var(--indigo);text-decoration:none;}
  a:hover{text-decoration:underline;}
  .wrap{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0 40px;}
  .kick{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;}

  /* a11y + utilities */
  .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{position:fixed;top:10px;left:10px;z-index:200;background:var(--solid);color:var(--solid-ink);font-family:'JetBrains Mono',monospace;font-weight:500;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;padding:10px 16px;transform:translateY(-64px);opacity:0;transition:transform .2s,opacity .2s;}
  .skip:focus-visible{transform:none;opacity:1;color:var(--solid-ink);}
  a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
  .ff input:focus-visible,.ff textarea:focus-visible{outline:none;}
  ::selection{background:#BAD6DC;color:#161D33;}
  #how,#field,#experts,#demo{scroll-margin-top:76px;}
  /* mechanical entrance: modules arrive by translateX from the rule */
  .rv{opacity:0;transform:translateX(-24px);transition:opacity .32s cubic-bezier(.2,.9,.25,1),transform .32s cubic-bezier(.2,.9,.25,1);transition-delay:var(--rvd,0s);}
  .rv.in{opacity:1;transform:none;}

  /* nav — indigo field */
  nav{position:sticky;top:0;z-index:50;background:var(--field);border-bottom:2px solid var(--navy);}
  .nav-in{position:relative;max-width:1240px;margin:0 auto;padding:14px 40px;padding-left:max(40px,env(safe-area-inset-left));padding-right:max(40px,env(safe-area-inset-right));display:flex;align-items:center;gap:32px;}
  .brand{display:flex;align-items:center;gap:12px;color:var(--pale);}
  .brand .wm{font-weight:800;text-transform:uppercase;font-size:16px;letter-spacing:0.06em;white-space:nowrap;color:#fff;}
  .brand .wm em{font-style:normal;color:var(--pale);}
  .nav-menu{display:contents;}
  .nav-links{display:flex;gap:26px;margin-left:24px;}
  .nav-links a{color:var(--pale);font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;}
  .nav-links a:hover{color:#fff;text-decoration:none;}
  .nav-cta{margin-left:auto;display:flex;align-items:center;gap:20px;}
  .nav-toggle{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:2px solid var(--pale);cursor:pointer;-webkit-tap-highlight-color:transparent;}
  .nav-toggle .bars{position:relative;display:block;width:20px;height:14px;}
  .nav-toggle .bars i{position:absolute;left:0;width:100%;height:2px;background:#fff;transition:transform .22s cubic-bezier(.2,.9,.25,1),opacity .18s;}
  .nav-toggle .bars i:nth-child(1){top:0;}
  .nav-toggle .bars i:nth-child(2){top:6px;}
  .nav-toggle .bars i:nth-child(3){top:12px;}
  nav.open .nav-toggle .bars i:nth-child(1){transform:translateY(6px) rotate(45deg);}
  nav.open .nav-toggle .bars i:nth-child(2){opacity:0;}
  nav.open .nav-toggle .bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  /* display-mode control — a quiet utility cell in the footer titleblock */
  .mode-toggle{display:flex;align-items:stretch;}
  .foot-base .mode-toggle{padding:0;}
  .mode-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--ink2);border:0;border-right:1px solid var(--rule);padding:0 13px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;transition:background .15s,color .15s;}
  .mode-toggle button:last-child{border-right:0;}
  .mode-toggle button:hover{color:var(--navy);}
  .mode-toggle button[aria-pressed="true"]{background:var(--band);color:var(--navy);}

  /* buttons — drawn, not styled */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;padding:13px 22px;border:2px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
  .btn-primary{background:var(--solid);border-color:var(--solid);color:var(--solid-ink);}
  .btn-primary:hover{background:var(--indigo);border-color:var(--indigo);color:#fff;}
  .btn-ghost{background:transparent;}
  .btn-ghost:hover{background:var(--navy);color:var(--paper);}
  /* on-field variants (nav + CTA band) */
  .on-field .btn,nav .btn{border-color:var(--pale);color:var(--pale);background:transparent;}
  .on-field .btn:hover,nav .btn:hover{background:var(--pale);color:#161D33;text-decoration:none;}
  .on-field .btn-primary,nav .btn-primary{background:var(--pale);border-color:var(--pale);color:#161D33;}
  .on-field .btn-primary:hover,nav .btn-primary:hover{background:#fff;border-color:#fff;color:#161D33;}
  .btn-lg{font-size:13.5px;padding:16px 28px;}

  /* plate heads */
  .plate-no{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--indigo);}
  .sec{padding:96px 0 0;}
  .sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:18px;}
  .sec-head .rule{flex:1;height:1px;background:var(--rule);align-self:center;}
  .sec-head .end{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.16em;color:var(--ink2);text-transform:uppercase;}
  h2.sec-title{font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4vw,46px);line-height:0.98;letter-spacing:-0.01em;margin:0 0 0;max-width:22ch;padding-bottom:18px;border-bottom:2px solid var(--navy);}
  .sec-lead{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--ink2);max-width:62ch;line-height:1.8;margin:18px 0 0;}

  /* hero — plate 01 on the indigo field */
  .hero{background:var(--field);color:#fff;padding:44px 0 56px;border-bottom:2px solid var(--navy);}
  .hero .plate-no{color:var(--pale);}
  .hero-row{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:end;margin:8px 0 32px;}
  .hero h1{font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.9vw,50px);line-height:0.96;letter-spacing:-0.02em;margin:12px 0 0;overflow-wrap:break-word;color:#fff;}
  .hero h1 .ln{display:block;}
  .hero h1 .em{color:var(--pale);}
  .hero p.sub{font-family:'JetBrains Mono',monospace;font-size:clamp(13px,1.15vw,14.5px);line-height:1.8;color:var(--pale);margin:0 0 6px;text-wrap:pretty;max-width:52ch;}
  .hero p.sub strong{color:#fff;font-weight:700;}

  /* video frame: a figure module on the field */
  .stage{margin:0;position:relative;}
  .stage-frame{position:relative;border:2px solid var(--pale);background:#2B2A7E;overflow:hidden;}
  .ratio{position:relative;width:100%;aspect-ratio:16/9;}
  .ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
  .stage-cap{display:flex;justify-content:space-between;gap:18px;margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;color:var(--pale);text-transform:uppercase;}

  /* statement band — pale field, indigo caps, three lines */
  .band{background:var(--band);border-bottom:2px solid var(--navy);padding:72px 0;}
  .band h2{margin:0;font-weight:800;text-transform:uppercase;font-size:clamp(34px,5vw,64px);line-height:0.98;letter-spacing:-0.02em;color:#2B2A7E;}
  @media (prefers-color-scheme:dark){ :root:not([data-mode="light"]) .band h2{color:#BAD6DC;} }
  :root[data-mode="dark"] .band h2{color:#BAD6DC;}
  .band h2 span{display:block;}
  .band-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .band-item{border-top:1px solid rgba(22,29,51,.3);padding:15px 0;}
  .band-item:last-child{border-bottom:1px solid rgba(22,29,51,.3);}
  :root[data-mode="dark"] .band-item{border-color:rgba(186,214,220,.25);}
  .band-item h3{margin:0;font-size:16.5px;font-weight:700;color:var(--navy);}
  .band-item p{margin:4px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink2);max-width:52ch;}

  /* module row — cards with titleblock headers */
  .steps{display:grid;grid-template-columns:4fr 3fr 3fr 2fr;gap:2px;background:var(--rule);border:2px solid var(--navy);margin-top:48px;}
  .step{background:var(--panel);display:flex;flex-direction:column;}
  .st-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:2px solid var(--navy);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;}
  .st-head .ix{color:var(--indigo);}
  .st-head .st{color:var(--ink2);font-size:10px;}
  .st-body{padding:16px 14px 20px;}
  .step h3{font-weight:700;font-size:19px;line-height:1.35;letter-spacing:0;margin:0 0 8px;text-transform:none;}
  .step p{font-size:14.5px;line-height:1.6;color:var(--ink2);margin:0;}

  /* split with figure */
  .split{display:grid;grid-template-columns:1.05fr 1fr;gap:0;margin-top:48px;}
  .split-copy{padding-right:44px;border-right:1px solid var(--rule);}
  .split-media{padding-left:44px;}
  .rpt-link{display:inline-block;margin-top:22px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border:2px solid var(--navy);padding:12px 18px;color:var(--navy);transition:background .15s,color .15s;}
  .rpt-link:hover{background:var(--navy);color:var(--paper);text-decoration:none;}
  .figure{border:2px solid var(--navy);background:var(--panel);padding:10px;}
  .scanview{position:relative;line-height:0;}
  .scanview img{display:block;width:100%;height:auto;}
  .scan-hud{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:0.14em;color:#fff;background:#161D33;padding:5px 9px;text-transform:uppercase;}
  .scan-hud .rec{width:7px;height:7px;background:var(--amber);}
  /* animated scan: sweep once on reveal, callouts land as it passes */
  .scan-sweep{position:absolute;inset:0;pointer-events:none;opacity:0;}
  .split-media.in .scan-sweep{animation:sweep 2.6s linear .2s forwards;}
  .scan-sweep i{position:absolute;top:0;bottom:0;left:0;width:2px;background:#BAD6DC;}
  @keyframes sweep{0%{transform:translateX(0);opacity:1}92%{opacity:1}100%{transform:translateX(100%);opacity:0}}
  .co-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
  .co-lines path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;}
  .co-hi{stroke:#ff6b57;}.co-md{stroke:#FFAB00;}.co-ok{stroke:#5FA8FF;}
  .co-dot{position:absolute;width:8px;height:8px;transform:translate(-50%,-50%);outline:1px solid #161D33;opacity:0;}
  .co-dot.hi{background:#ff6b57;}.co-dot.md{background:#FFAB00;}.co-dot.ok{background:#5FA8FF;}
  .co-tag{position:absolute;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;line-height:1;letter-spacing:0.08em;text-transform:uppercase;background:#161D33;padding:7px 10px;white-space:nowrap;opacity:0;}
  .co-tag.end{transform:translate(-100%,-50%);}
  .co-tag.hi{color:#ff6b57;}.co-tag.md{color:#FFAB00;}.co-tag.ok{color:#5FA8FF;}
  .split-media.in .co-lines path,.split-media.in .co-dot,.split-media.in .co-tag{animation:co-in .32s cubic-bezier(.2,.9,.25,1) var(--d,0s) forwards;}
  @keyframes co-in{from{opacity:0}to{opacity:1}}
  .fig-cap{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;color:var(--ink2);text-transform:uppercase;margin-top:10px;line-height:1.7;}
  .flist{display:flex;flex-direction:column;margin-top:26px;border-top:2px solid var(--navy);}
  .fitem{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--rule);}
  .fitem h4{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--indigo);margin:2px 0 0;}
  .fitem p{font-size:14.5px;line-height:1.6;color:var(--ink2);margin:0;}

  /* data footer — navy band, monospace only, four cells */
  .datafoot{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(242,242,239,.22);border:2px solid var(--navy);margin-top:48px;}
  .stat{background:#161D33;color:#F2F2EF;padding:20px 18px 22px;}
  @media (prefers-color-scheme:dark){ :root:not([data-mode="light"]) .datafoot{background:rgba(14,16,32,.4);} :root:not([data-mode="light"]) .stat{background:#BAD6DC;color:#161D33;} }
  :root[data-mode="dark"] .datafoot{background:rgba(14,16,32,.4);}
  :root[data-mode="dark"] .stat{background:#BAD6DC;color:#161D33;}
  .stat .l{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;letter-spacing:0.13em;text-transform:uppercase;opacity:.72;line-height:1.6;}
  .stat .n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:19px;line-height:1.2;text-transform:uppercase;margin-top:8px;}

  /* CTA — indigo field */
  .ctaband{margin-top:96px;background:var(--field);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);}
  .cta{padding-block:80px;color:#fff;}
  .cta .kick{color:var(--pale);}
  .cta h2{font-weight:800;text-transform:uppercase;font-size:clamp(32px,4.8vw,58px);line-height:0.96;letter-spacing:-0.02em;margin:16px 0 0;color:#fff;max-width:18ch;}
  .cta h2 .em{color:var(--pale);}
  .cta p{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--pale);margin:20px 0 0;max-width:52ch;line-height:1.8;}
  .cta .hero-cta{display:flex;gap:14px;margin-top:32px;}

  /* footer — paper with titleblock */
  footer{margin-top:0;border-top:2px solid var(--navy);padding:56px 0 60px;}
  .foot-in{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;}
  .foot-brand .wm{font-weight:800;text-transform:uppercase;font-size:16px;letter-spacing:0.05em;margin-top:14px;}
  .foot-brand .wm em{font-style:normal;color:var(--indigo);}
  .foot-brand p{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink2);line-height:1.7;margin:12px 0 0;max-width:34ch;}
  .foot-col h5{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:10px;letter-spacing:0.16em;color:var(--ink2);text-transform:uppercase;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--navy);}
  .foot-col a{display:block;color:var(--navy);font-size:14px;margin-bottom:10px;}
  .foot-base{max-width:1160px;margin:44px auto 0;border:2px solid var(--navy);display:flex;align-items:stretch;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.1em;color:var(--ink2);text-transform:uppercase;background:var(--panel);}
  .foot-base span{display:flex;align-items:center;padding:12px 18px;border-right:1px solid var(--rule);white-space:nowrap;}
  .foot-base span:last-child{border-right:none;border-left:1px solid var(--rule);margin-left:auto;}

  /* drawing-sheet zone references */
  .zone{position:fixed;z-index:5;display:none;pointer-events:none;user-select:none;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:0.1em;color:var(--ink2);opacity:.5;}
  @media (min-width:1200px){
    .zone{display:flex;}
    .zone-l{left:0;top:0;bottom:0;width:20px;flex-direction:column;align-items:center;justify-content:space-around;}
    .zone-b{bottom:0;left:0;right:0;height:17px;align-items:center;justify-content:space-around;}
  }

  /* walkthrough modal — drawn panel */
  .modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;}
  .modal.open{display:flex;}
  .modal-backdrop{position:absolute;inset:0;background:rgba(22,29,51,0.55);}
  @media (prefers-color-scheme:dark){ :root:not([data-mode="light"]) .modal-backdrop{background:rgba(6,8,18,0.72);} }
  :root[data-mode="dark"] .modal-backdrop{background:rgba(6,8,18,0.72);}
  .modal-dialog{position:relative;z-index:1;width:100%;max-width:560px;max-height:calc(100vh - 48px);overflow:auto;background:var(--panel);border:2px solid var(--navy);padding:0 0 30px;}
  .modal-head-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-bottom:2px solid var(--navy);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--indigo);}
  .modal-x{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:2px solid var(--navy);color:var(--navy);cursor:pointer;transition:background .15s,color .15s;}
  .modal-x:hover{background:var(--navy);color:var(--paper);}
  .modal-head{margin:22px 34px 20px;}
  .modal-title{font-weight:800;text-transform:uppercase;font-size:27px;line-height:1;letter-spacing:-0.01em;margin:0;}
  .modal-sub{font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:1.7;color:var(--ink2);margin:12px 0 0;max-width:52ch;}
  .demo-form{margin:0 34px;}
  .form-done{margin:0 34px;}
  .ff-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .ff{display:flex;flex-direction:column;gap:6px;}
  .ff-wide{grid-column:1 / -1;}
  .ff-l{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;letter-spacing:0.14em;color:var(--ink2);text-transform:uppercase;}
  .ff-l i{color:var(--indigo);font-style:normal;}
  .ff input,.ff textarea{font-family:'Archivo',system-ui,sans-serif;font-size:15px;color:var(--navy);background:var(--paper);border:2px solid var(--navy);padding:11px 12px;width:100%;transition:border-color .15s;}
  .ff textarea{resize:vertical;min-height:76px;}
  .ff input::placeholder,.ff textarea::placeholder{color:var(--ink2);opacity:.6;}
  .ff input:focus,.ff textarea:focus{outline:2px solid var(--amber);outline-offset:2px;}
  .ff input:user-invalid{border-color:var(--amber);}
  .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
  .form-err{margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--navy);background:rgba(255,171,0,0.18);border:2px solid var(--amber);padding:11px 13px;}
  .form-submit{width:100%;margin-top:20px;}
  .form-submit[disabled]{opacity:.7;cursor:default;}
  .form-note{font-family:'JetBrains Mono',monospace;text-align:left;font-size:10.5px;letter-spacing:0.06em;color:var(--ink2);margin:12px 0 0;text-transform:uppercase;}
  .form-done{text-align:left;padding:6px 0 8px;}
  .fd-ico{width:48px;height:48px;margin:14px 0 18px;border:2px solid var(--navy);color:var(--navy);display:flex;align-items:center;justify-content:center;}
  .form-done h3{font-weight:800;text-transform:uppercase;font-size:22px;margin:0;}
  .form-done p{font-family:'JetBrains Mono',monospace;color:var(--ink2);font-size:12.5px;line-height:1.7;margin:12px 0 22px;max-width:44ch;}

  @media (max-width:960px){
    .hero-row{grid-template-columns:1fr;gap:20px;align-items:start;margin-bottom:16px;}
    .steps{grid-template-columns:1fr 1fr;}
    .split{grid-template-columns:1fr;}
    .split-copy{padding-right:0;border-right:none;}
    .split-media{padding-left:0;margin-top:32px;}
    .datafoot{grid-template-columns:1fr 1fr;}
    .foot-in{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:900px){
    .nav-toggle{display:flex;}
    .nav-menu{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;
      padding:6px max(22px,env(safe-area-inset-right)) 18px max(22px,env(safe-area-inset-left));
      background:var(--field);border-bottom:2px solid var(--navy);}
    nav.open .nav-menu{display:flex;}
    .nav-menu .nav-links{flex-direction:column;gap:0;margin:0;}
    .nav-menu .nav-links a{padding:15px 2px;border-bottom:1px solid rgba(186,214,220,0.25);font-size:13px;color:#fff;}
    .nav-menu .nav-cta{margin:18px 0 0;flex-direction:column;align-items:stretch;gap:14px;}
    .nav-menu .nav-cta .btn{justify-content:center;width:100%;padding:14px 20px;}
    /* stacked footer: toggle buttons become full-width touch cells */
    .foot-base .mode-toggle button{flex:1;padding:13px;}
  }
  @media (max-width:600px){
    .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));}
    .ratio{aspect-ratio:4/5;}
    .hero{padding:32px 0 40px;}
    .hero .kick{font-size:10px;letter-spacing:0.14em;}
    .sec{padding-top:60px;}
    .steps{grid-template-columns:1fr;margin-top:32px;}
    .band{padding:52px 0;}
    .band-grid{grid-template-columns:1fr;gap:34px;}
    .split{margin-top:32px;}
    .fitem{grid-template-columns:1fr;gap:6px;padding:14px 0;}
    .flist{margin-top:22px;}
    .stage-cap{flex-direction:column;gap:5px;}
    .datafoot{grid-template-columns:1fr;margin-top:32px;}
    .ctaband{margin-top:64px;}
    .cta{padding-block:56px;}
    .cta .hero-cta{flex-direction:column;}
    .cta .hero-cta .btn{justify-content:center;width:100%;}
    .co-tag{font-size:10.5px;padding:6px 8px;}
    .scan-hud{top:auto;bottom:10px;left:auto;right:10px;}
    footer{padding-top:44px;}
    .foot-base{flex-direction:column;margin:32px 20px 0;}
    .foot-base span{border-right:none;border-bottom:1px solid var(--rule);white-space:normal;}
    .foot-base span:last-child{border-bottom:none;border-left:none;margin-left:0;}
    .foot-base .tb-x{display:none;}
    .foot-col a{padding:4px 0;margin-bottom:6px;}
    .ff-grid{grid-template-columns:1fr;}
    .modal{padding:0;align-items:stretch;}
    .modal-dialog{max-width:none;height:100dvh;max-height:100dvh;border:none;}
  }
  @media (max-width:380px){
    .brand .wm{font-size:14px;}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  }
