/* JUSIVERSE — main stylesheet. No build step; no external requests. */

@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-latin-var.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-mono-latin-var.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}

:root{
  --bg:#05070C;--bg2:#070B13;--surface:#0B101A;--surface2:#101725;
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);--line3:rgba(255,255,255,.3);
  --text:#EEF2F7;--muted:#8E99AB;--dim:#748094;
  --cyan:#4FE3F0;--cy:79,227,240;--amber:#F2B65C;--am:242,182,92;--red:#FF5D5D;--rd:255,93,93;
  --cjk:"PingFang SC","HarmonyOS Sans SC","MiSans","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC",sans-serif;
  --sans:"Geist",var(--cjk);
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,var(--cjk);
  --gut:clamp(20px,4.6vw,64px);--maxw:1320px;--navh:68px;
  --ease:cubic-bezier(.2,.7,.2,1);--spring:cubic-bezier(.3,1.3,.4,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--navh) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
address{font-style:normal}
em{font-style:normal}
::selection{background:rgba(var(--cy),.3);color:#fff}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}
.sprite{position:absolute}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--text);color:var(--bg);padding:10px 16px;font-size:14px;transition:top .2s}
.skip:focus{top:12px}
.ico{width:1.25em;height:1.25em;stroke:currentColor;stroke-width:1.25;fill:none;stroke-linecap:square;stroke-linejoin:miter;flex:none}
.wrap{width:100%;max-width:calc(var(--maxw) + var(--gut)*2);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}

#space{position:fixed;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none}
.no-webgl #space{display:none}
.still #space{position:absolute;height:100vh;height:100svh}
.no-webgl body::before,.still body::before{content:"";position:fixed;left:0;top:0;right:0;bottom:0;z-index:0;pointer-events:none;opacity:.8;
  background-image:radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1px 1px at 34% 62%,rgba(var(--cy),.6),transparent 60%),radial-gradient(1.4px 1.4px at 58% 26%,rgba(255,255,255,.45),transparent 60%),radial-gradient(1px 1px at 76% 78%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.2px 1.2px at 88% 40%,rgba(var(--cy),.5),transparent 60%),radial-gradient(1px 1px at 22% 88%,rgba(255,255,255,.4),transparent 60%),radial-gradient(1.6px 1.6px at 66% 54%,rgba(var(--am),.55),transparent 60%),radial-gradient(1px 1px at 46% 8%,rgba(255,255,255,.4),transparent 60%);
  background-size:620px 540px}
.flash{position:fixed;left:0;top:0;right:0;bottom:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 46%,rgba(255,248,232,.98) 0%,rgba(255,226,170,.86) 30%,rgba(var(--am),.42) 62%,rgba(var(--am),0) 100%)}
main,.foot{position:relative;z-index:1}

/* ---------- type ---------- */
.eyebrow,.sec-no,.sec-en,.card-kicker,.aud-k,.demo-chrome,.pj-tag,.hero-facts,.hero-dims,.hero-scroll,.card-roi,.val-note-k,.wall-foot,.asm-legend,.access-k,.sheet dt,.menu-links i,.beliefs i,.ways i,.steps-row i,.brand-text i{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-feature-settings:"zero" 0}
.eyebrow{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 0;line-height:1.5}
.eyebrow span{white-space:nowrap}
.eyebrow span+span::before{content:"·";margin:0 .8em;color:var(--dim)}
.eyebrow span:first-child{color:var(--cyan)}

.ml{display:block;overflow:hidden;padding:.08em 0 .1em;margin:-.08em 0 -.1em}
.ml-i{display:block}
.js .ml-i{transform:translateY(112%);transition:transform 1.05s var(--ease)}
.js .ml:nth-child(2) .ml-i{transition-delay:.12s}
.js .in .ml-i,.hero-ready .hero-title .ml-i{transform:none}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;font-size:15px;font-weight:550;letter-spacing:.02em;border-radius:2px;white-space:nowrap;position:relative;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.btn .ico{transition:transform .3s var(--ease)}
.btn:hover .ico{transform:translateX(4px)}
.btn-solid{background:var(--text);color:#06090F}
.btn-solid:hover{background:#fff;box-shadow:0 0 0 1px rgba(var(--cy),.9),0 0 34px rgba(var(--cy),.35)}
.btn-line{border:1px solid var(--line3);color:var(--text);background:rgba(5,7,12,.35)}
.btn-line:hover{border-color:var(--cyan);color:var(--cyan)}

/* ---------- nav ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;height:var(--navh);transition:background .35s,border-color .35s,transform .4s var(--ease);border-bottom:1px solid transparent}
.nav.is-scrolled{background:rgba(5,7,12,.74);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.nav::before{content:"";position:absolute;left:0;right:0;top:0;height:150%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,7,12,.8),rgba(5,7,12,.45) 45%,rgba(5,7,12,0));transition:opacity .35s}
.nav.is-scrolled::before{opacity:0}
.nav-in{height:100%;max-width:calc(var(--maxw) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-height:44px}
.brand-tile{width:36px;height:36px;border-radius:9px;background:linear-gradient(145deg,#fff,#DDE6F1);display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 6px 20px rgba(0,0,0,.5);flex:none;overflow:hidden}
.brand-tile img{width:31px;height:31px}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text b{font-size:15.5px;font-weight:650;letter-spacing:.04em}
.brand-text i{font-size:10px;font-style:normal;color:var(--muted);letter-spacing:.3em;margin-top:3px}
.nav-links{display:flex;gap:6px;margin-left:auto}
.nav-links a{position:relative;padding:0 14px;height:44px;display:inline-flex;align-items:center;font-size:14.5px;color:var(--muted);transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a.is-active{color:var(--text)}
.nav-links a.is-active::after,.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{min-height:40px;padding:0 18px;font-size:14px}
.nav-toggle{display:none;width:44px;height:44px;margin-left:auto;margin-right:-10px;position:relative}
.nav-toggle span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--text);transition:transform .35s var(--ease),top .35s var(--ease)}
.nav-toggle span:nth-child(1){top:17px}.nav-toggle span:nth-child(2){top:26px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){top:21.5px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
.menu{position:fixed;left:0;top:0;right:0;bottom:0;z-index:40;background:rgba(5,7,12,.97);padding:calc(var(--navh) + 28px) var(--gut) 32px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;transition:opacity .3s}
.menu[hidden]{display:none}
.menu.is-open{opacity:1}
.menu-links{display:flex;flex-direction:column}
.menu-links a{display:flex;align-items:baseline;gap:18px;font-size:30px;font-weight:600;padding:14px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.menu.is-open .menu-links a{opacity:1;transform:none}
.menu-links a:nth-child(2){transition-delay:.04s}.menu-links a:nth-child(3){transition-delay:.08s}.menu-links a:nth-child(4){transition-delay:.12s}.menu-links a:nth-child(5){transition-delay:.16s}.menu-links a:nth-child(6){transition-delay:.2s}
.menu-links i{font-size:12px;color:var(--cyan);font-style:normal}
.menu-foot{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--dim)}

/* ---------- hero (default = static flow; .pin = scroll-driven) ---------- */
.hero{position:relative}
.hero-stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden}
.hero-stage::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;opacity:var(--copy,1);background:linear-gradient(90deg,rgba(5,7,12,.86) 0%,rgba(5,7,12,.62) 30%,rgba(5,7,12,.12) 54%,rgba(5,7,12,0) 66%),linear-gradient(0deg,rgba(5,7,12,.7) 0%,rgba(5,7,12,0) 22%)}
.hero-copy{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--navh) + 24px);padding-bottom:104px}
.hero-title{font-size:clamp(40px,6.2vw,96px);line-height:1.12;font-weight:650;letter-spacing:-.022em;margin:26px 0 30px;text-shadow:0 2px 40px rgba(5,7,12,.8)}
.hero-title em,.sec-title em{font-family:var(--sans);font-weight:600;letter-spacing:-.01em}
.hero-title em{color:var(--cyan)}
.hero-sub{max-width:36.6em;font-size:clamp(15.5px,1.22vw,17.5px);line-height:1.85;color:#B7C0CE}
p,li{text-wrap:pretty}
.nb{white-space:nowrap}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.js .hero-eyebrow,.js .hero-sub,.js .hero-actions,.js .hero-facts,.js .hero-scroll{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.hero-ready .hero-eyebrow,.hero-ready .hero-sub,.hero-ready .hero-actions,.hero-ready .hero-facts,.hero-ready .hero-scroll{opacity:1;transform:none}
.js .hero-title .ml-i{transition-delay:.35s}.js .hero-title .ml:nth-child(2) .ml-i{transition-delay:.5s}
.hero-ready .hero-eyebrow{transition-delay:.15s}.hero-ready .hero-sub{transition-delay:.8s}.hero-ready .hero-actions{transition-delay:.95s}.hero-ready .hero-facts{transition-delay:1.25s}.hero-ready .hero-scroll{transition-delay:1.6s}
.hero-facts{position:absolute;left:var(--gut);right:var(--gut);bottom:30px;display:flex;flex-wrap:wrap;gap:8px 0;font-size:12px;color:var(--muted);max-width:var(--maxw);margin:0 auto;padding-top:16px;border-top:1px solid var(--line)}
.hero-facts li{white-space:nowrap}
.hero-facts li+li::before{content:"";display:inline-block;width:18px;height:1px;background:var(--line3);vertical-align:middle;margin:0 16px}
.hero-facts li:first-child::before{content:"";display:inline-block;width:6px;height:6px;background:var(--amber);margin-right:12px;vertical-align:1px}
.hero-scroll{display:none}
.hero-dims{display:none}
.hero-fallback{display:none}
.no-webgl .hero-fallback{display:block;position:absolute;right:max(var(--gut),calc((100vw - var(--maxw))/2));top:50%;width:min(46vw,700px);margin-top:calc(min(46vw,700px)*-.4);transform-origin:50% 55%}
.hero-fallback svg{width:100%;height:auto;overflow:visible}
.fb-room path{stroke:rgba(255,255,255,.1);stroke-width:1}
.fb-glass rect{fill:rgba(18,40,66,.55)}
.fb-frame rect,.fb-frame path{stroke:rgba(210,244,250,.9);stroke-width:1.250}
.fb-open path{stroke:var(--cyan);stroke-width:1.250}
.fb-stars path{stroke:rgba(var(--cy),.35);stroke-width:.8}
.fb-stars circle{fill:var(--cyan)}.fb-stars circle.amber{fill:var(--amber)}

/* fly captions — static flow */
.fly{position:relative;padding:40px var(--gut) 120px;text-align:center}
.fly-line{font-size:clamp(22px,3.3vw,50px);font-weight:600;letter-spacing:.01em;line-height:1.35;color:var(--text)}
.fly-line+.fly-line{margin-top:10px}
.fly-k{color:#C3CBD7}
.fly-line[data-fly="2"] .fly-k{color:var(--cyan)}
.fly-big{font-size:clamp(120px,27vw,430px);font-weight:700;line-height:1;letter-spacing:.04em;margin:50px 0 40px;display:flex;justify-content:center;gap:.06em;color:#fff}
.fly-big span{display:block;background:linear-gradient(180deg,#fff 20%,#FFE9C2 62%,var(--amber) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 60px rgba(var(--am),.35))}
.slogan{font-size:clamp(38px,6.9vw,112px);font-weight:700;line-height:1.14;letter-spacing:-.01em;display:flex;flex-direction:column;align-items:center}
.slogan-a,.slogan-b{display:block;white-space:nowrap;background:linear-gradient(100deg,#EEF2F7 0%,#EEF2F7 42%,#FFE3AE 50%,#EEF2F7 58%,#EEF2F7 100%);background-size:260% 100%;background-position:var(--sweep,120%) 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.slogan-dot{display:block;width:8px;height:8px;background:var(--amber);margin:.16em 0;box-shadow:0 0 18px rgba(var(--am),.8)}
.slogan-sub{margin-top:28px;font-size:clamp(14.5px,1.3vw,18px);color:#C3CBD7;letter-spacing:.04em;text-shadow:0 1px 18px rgba(5,7,12,.9)}

/* pinned mode */
.pin .hero{height:calc(100vh*var(--pinvh,4.4))}
.pin .hero-stage{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100svh;min-height:0}
.pin .hero-copy{position:absolute;left:0;right:0;top:0;bottom:0;margin:0 auto;min-height:0}
.pin .hero-scroll{display:flex;position:absolute;right:var(--gut);bottom:84px;align-items:center;gap:14px;font-size:11px;color:var(--muted)}
.pin .hero-scroll i{display:block;width:1px;height:46px;background:linear-gradient(var(--cyan),transparent);animation:scrollhint 2.2s var(--ease) infinite;transform-origin:top}
@keyframes scrollhint{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.has-webgl .hero-dims{display:block;position:absolute;left:0;top:0;pointer-events:none}
.hero-dims span{position:absolute;left:0;top:0;font-size:12px;letter-spacing:.12em;color:rgba(214,240,246,.95);text-shadow:0 0 8px rgba(5,7,12,.9);white-space:nowrap;will-change:transform;opacity:0;transition:opacity .6s}
.hero-dims .d-seg{color:rgba(176,196,212,.85);font-size:11px}
.hero-dims .d-tag{color:var(--amber);letter-spacing:.2em}
.pin .fly{position:absolute;left:0;top:0;right:0;bottom:0;padding:0;pointer-events:none}
.pin .fly>*{position:absolute;left:0;right:0;margin:0;opacity:0;will-change:transform,opacity;padding:0 var(--gut)}
.pin .fly-line{bottom:13%;text-shadow:0 2px 24px rgba(5,7,12,.95)}
.pin .fly-line::before{content:"";position:absolute;left:50%;top:50%;width:min(92vw,900px);height:260%;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(closest-side,rgba(5,7,12,.7),rgba(5,7,12,.42) 55%,rgba(5,7,12,0))}
.pin .fly-big{top:50%;margin-top:-.5em}
.pin .fly-slogan{top:50%;transform:translateY(-50%)}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(96px,13vw,190px) 0}
.sec-break{padding-bottom:clamp(24px,4vw,64px)}
.sec-head{margin-bottom:clamp(44px,5.6vw,84px)}
.sec-bar{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding-top:16px;border-top:1px solid var(--line2);position:relative;margin-bottom:clamp(34px,4.4vw,64px)}
.sec-bar::before{content:"";position:absolute;left:0;top:-1px;width:72px;height:1px;background:var(--cyan);box-shadow:0 0 12px rgba(var(--cy),.9)}
.sec-no{color:var(--text)}
.sec-en{color:var(--dim);letter-spacing:.3em}
.sec-title{font-size:clamp(26px,4.3vw,66px);line-height:1.16;font-weight:650;letter-spacing:-.015em}
.sec-title-xl{font-size:clamp(26px,5vw,80px)}
.sec-title em{color:var(--cyan)}
.sec-lead{max-width:42em;margin-top:clamp(22px,2.6vw,36px);font-size:clamp(16px,1.36vw,19px);line-height:1.85;color:#B7C0CE}

/* ---------- 02 break (four casements) ---------- */
.pj-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:pj}
.pj{position:relative;counter-increment:pj;padding-bottom:88px}
.pj-win{position:relative;height:100%;min-height:440px;display:flex;flex-direction:column;gap:9px;padding:9px;background:linear-gradient(180deg,#151D2B 0%,#0B111B 100%);border:1px solid rgba(200,225,240,.36);box-shadow:inset 0 0 0 1px rgba(0,0,0,.55);transition:border-color .8s,box-shadow 1.2s;transition-delay:calc(var(--i)*.34s + .4s)}
.pj-win::after{content:"C-0" counter(pj);position:absolute;right:0;top:-24px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--dim)}
.pj-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--dim);margin-bottom:12px}
.pj-tag::before{content:"";width:7px;height:7px;border:1px solid currentColor}
.pj-top{position:relative;flex:none;min-height:156px;padding:18px 18px 20px;border:1px solid rgba(255,255,255,.16);color:#939DAE;font-size:15px;line-height:1.75;background:repeating-linear-gradient(135deg,rgba(255,255,255,.026) 0 1px,transparent 1px 7px),#070B12}
.pj-open{position:relative;flex:1;min-height:214px;border:1px solid rgba(255,255,255,.16);background:#060A11;-webkit-perspective:820px;perspective:820px;-webkit-perspective-origin:0 50%;perspective-origin:0 50%;transition:border-color .8s,box-shadow 1.2s;transition-delay:calc(var(--i)*.34s + .4s)}
.pj-light{position:absolute;left:0;top:0;right:0;bottom:0;background:radial-gradient(125% 95% at 0% 0%,rgba(var(--am),.5) 0%,rgba(var(--am),.2) 30%,rgba(var(--am),0) 66%),linear-gradient(116deg,rgba(var(--am),0) 16%,rgba(var(--am),.1) 34%,rgba(var(--am),0) 54%),linear-gradient(180deg,rgba(var(--cy),.1),rgba(var(--cy),.025));opacity:1}
.pj-sash{position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;transform-origin:left center;border:1px solid rgba(225,238,246,.62);border-right:2px solid rgba(255,214,150,.95);background:linear-gradient(90deg,rgba(var(--am),.2) 0%,rgba(16,24,38,.62) 46%,rgba(var(--am),.2) 100%);-webkit-backface-visibility:visible;backface-visibility:visible;transform:rotateY(83deg);opacity:.95}
.pj-sash::before{content:"";position:absolute;left:8px;top:8px;right:8px;bottom:8px;border:1px solid rgba(225,238,246,.34)}
.pj-sash svg{position:absolute;left:9px;top:9px;width:calc(100% - 18px);height:calc(100% - 18px)}
.pj-sash path{stroke:rgba(var(--cy),.7);stroke-width:1;vector-effect:non-scaling-stroke;fill:none}
.pj-sash i{position:absolute;right:9px;top:50%;width:5px;height:34px;margin-top:-17px;background:var(--line3);transform-origin:50% 12%;transition:transform .35s var(--ease)}
.pj-sol{position:relative;z-index:2;height:100%;padding:18px 18px 18px calc(9.5% + 16px);display:flex;flex-direction:column}
.pj-sol .pj-tag{color:var(--cyan)}
.pj-sol .pj-tag::before{background:var(--cyan);box-shadow:0 0 10px rgba(var(--cy),.9)}
.pj-sol p{font-size:16.5px;line-height:1.72;font-weight:500;color:#fff}
.pj-sol em{color:var(--amber)}
.pj-link{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13.5px;color:var(--cyan);letter-spacing:.04em;align-self:flex-start}
.pj-link .ico{transition:transform .3s var(--ease)}
.pj-link:hover .ico{transform:translateX(5px)}
.pj-link::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0}
.pj-spill{position:absolute;left:4%;right:4%;top:calc(100% - 86px);height:86px;pointer-events:none;background:linear-gradient(180deg,rgba(var(--am),.36),rgba(var(--am),.1) 46%,rgba(var(--am),0) 94%);-webkit-clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);opacity:1;transform-origin:top}
/* closed state only when JS is on and motion is allowed */
.js.motion .pj:not(.is-open) .pj-win{border-color:var(--line2)}
.js.motion .pj:not(.is-open) .pj-light{opacity:0}
.js.motion .pj:not(.is-open) .pj-sash{transform:rotateY(0deg);opacity:1;border-color:rgba(255,255,255,.22);background:linear-gradient(160deg,#111926 0%,#0A0F18 55%,#0C121C 100%)}
.js.motion .pj:not(.is-open) .pj-sash path{stroke:rgba(255,255,255,.3)}
.js.motion .pj:not(.is-open) .pj-open{border-color:rgba(255,255,255,.16);box-shadow:none}
.js.motion .pj:not(.is-open) .pj-sol{opacity:0;transform:translateY(10px)}
.js.motion .pj:not(.is-open) .pj-spill{opacity:0;transform:scaleY(.2)}
.js.motion .pj:not(.is-open) .pj-sash i{transform:rotate(0)}
.js.motion .pj-light{transition:opacity 1.3s ease;transition-delay:calc(var(--i)*.34s + .35s)}
.js.motion .pj-sash{transition:transform 1.5s cubic-bezier(.34,1.18,.4,1),opacity 1.2s,background 1.2s,border-color 1.2s;transition-delay:calc(var(--i)*.34s + .25s)}
.js.motion .pj-sash i{transform:rotate(90deg);transition-delay:calc(var(--i)*.34s)}
.js.motion .pj-sol{transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i)*.34s + .85s)}
.js.motion .pj-spill{transition:opacity 1.4s ease,transform 1.4s var(--ease);transition-delay:calc(var(--i)*.34s + .5s)}
.pj.is-open .pj-win,.pj-win{box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),0 0 70px rgba(var(--am),.1)}
.js.motion .pj:not(.is-open) .pj-win{box-shadow:inset 0 0 0 1px rgba(0,0,0,.55)}
.pj-open{border-color:rgba(var(--cy),.6);box-shadow:0 0 34px rgba(var(--cy),.12),inset 0 0 0 1px rgba(var(--cy),.12)}

/* ---------- 03 services ---------- */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.card{position:relative;background:rgba(10,14,23,.88);border:1px solid var(--line);border-radius:2px;display:flex;flex-direction:column;min-width:0;scroll-margin-top:calc(var(--navh) + 20px)}
.card::after{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;pointer-events:none;--c:rgba(255,255,255,.42);
  background:linear-gradient(var(--c),var(--c)) 0 0/14px 1px no-repeat,linear-gradient(var(--c),var(--c)) 0 0/1px 14px no-repeat,linear-gradient(var(--c),var(--c)) 100% 0/14px 1px no-repeat,linear-gradient(var(--c),var(--c)) 100% 0/1px 14px no-repeat,linear-gradient(var(--c),var(--c)) 0 100%/14px 1px no-repeat,linear-gradient(var(--c),var(--c)) 0 100%/1px 14px no-repeat,linear-gradient(var(--c),var(--c)) 100% 100%/14px 1px no-repeat,linear-gradient(var(--c),var(--c)) 100% 100%/1px 14px no-repeat}
.glow::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;z-index:3;opacity:0;transition:opacity .5s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(190,240,255,.085),rgba(190,240,255,.02) 40%,transparent 62%)}
.glow:hover::before{opacity:1}
.card-kb{grid-column:span 7}.card-sales{grid-column:span 5}.card-draw{grid-column:span 12;flex-direction:row}.card-qc{grid-column:span 12}
.card-body{padding:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;flex:1;min-width:0}
.card-kicker{font-size:12px;color:var(--cyan);margin-bottom:14px}
.card h3{font-size:clamp(20px,1.9vw,27px);line-height:1.35;font-weight:650;letter-spacing:-.005em;margin-bottom:14px}
.card-body p{color:#AEB8C7;font-size:15.5px;line-height:1.85}
.card-tagline{font-family:var(--mono);font-size:12.5px!important;letter-spacing:.12em;color:var(--amber)!important;margin:-4px 0 14px}
.card-note{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line2)}
.card-note b{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--cyan);border:1px solid rgba(var(--cy),.4);padding:1px 8px;margin-right:10px;font-weight:500;vertical-align:1px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips li{font-size:13px;line-height:1;padding:8px 11px;border:1px solid var(--line2);color:#C9D1DC;background:rgba(255,255,255,.02)}
.card-roi{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:auto;padding-top:22px;font-size:11.5px!important;letter-spacing:.08em;line-height:1.6!important}
.card-body>.chips+.card-roi,.card-body>p+.card-roi{border-top:0}
.card-roi span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.card-roi span::before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}
.roi-down{color:var(--amber)}.roi-down::before{border-top:6px solid var(--amber)}
.roi-up{color:var(--cyan)}.roi-up::before{border-bottom:6px solid var(--cyan)}
.card-draw .card-body{flex:0 0 41.5%}
.card-body-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.card-body-split>div{display:flex;flex-direction:column;min-width:0}
.card-body-split .chips{margin-top:34px}
.access{margin-top:34px;font-size:14px;color:var(--muted);line-height:1.8;display:flex;gap:18px;align-items:baseline;max-width:62em}
.access-k{flex:none;font-size:11.5px;color:var(--dim);padding:2px 9px;border:1px solid var(--line2)}

/* demos (shared) */
.demo{position:relative;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(13,19,31,.9),rgba(8,12,20,.6));overflow:hidden;min-width:0}
.demo-chrome{display:flex;justify-content:space-between;gap:12px;font-size:10.5px;color:var(--dim);padding:11px 16px;border-bottom:1px solid var(--line)}
.demo-chrome span:last-child{letter-spacing:.08em;color:var(--muted)}
.redact{display:inline-block;width:var(--w,60px);height:.95em;vertical-align:-.12em;background:repeating-linear-gradient(135deg,rgba(238,242,247,.92) 0 2px,rgba(238,242,247,.62) 2px 4px)}
.redact.sm{height:.85em}

/* kb demo */
.demo-kb{min-height:318px;padding-bottom:22px}
.kb-q,.kb-a{margin:20px clamp(16px,2.4vw,30px) 0;max-width:500px}
.kb-who{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--dim);margin-bottom:8px}
.kb-q p{font-size:clamp(16px,1.5vw,19px);font-weight:550;line-height:1.5;min-height:1.5em}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--cyan);vertical-align:-.16em;margin-left:3px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.kb-a{border-left:1px solid rgba(var(--cy),.5);padding-left:18px}
.kb-row{display:flex;align-items:center;gap:14px;font-size:14.5px;color:#C9D1DC;padding:7px 0;border-bottom:1px dashed var(--line)}
.kb-row span{flex:0 0 5.2em;color:var(--muted)}
.kb-row em{font-family:var(--mono);font-size:12px;color:var(--dim)}
.kb-src{display:inline-flex;align-items:center;gap:.4em;margin-top:14px;font-size:12.5px;color:var(--cyan);border:1px solid rgba(var(--cy),.35);padding:5px 10px;background:rgba(var(--cy),.05)}
.kb-src .redact{background:repeating-linear-gradient(135deg,rgba(var(--cy),.95) 0 2px,rgba(var(--cy),.55) 2px 4px)}
.demo-kb.run .kb-a .kb-who,.demo-kb.run .kb-row,.demo-kb.run .kb-src{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.demo-kb.run .kb-a{border-left-color:transparent;transition:border-color .5s}
.demo-kb.run.s1 .kb-a{border-left-color:rgba(var(--cy),.5)}
.demo-kb.run.s1 .kb-a .kb-who,.demo-kb.run.s1 .kb-row:nth-of-type(1),.demo-kb.run.s2 .kb-row:nth-of-type(2),.demo-kb.run.s3 .kb-row:nth-of-type(3),.demo-kb.run.s4 .kb-src{opacity:1;transform:none}
.demo-kb.run .kb-row .redact{transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease) .15s}
.demo-kb.run.s1 .kb-row:nth-of-type(1) .redact,.demo-kb.run.s2 .kb-row:nth-of-type(2) .redact,.demo-kb.run.s3 .kb-row:nth-of-type(3) .redact{transform:none}
.demo-kb.run.out .kb-q,.demo-kb.run.out .kb-a{opacity:0;transition:opacity .5s}

/* sales demo */
.demo-sales{min-height:318px;display:flex;flex-direction:column}
.chat{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:20px clamp(16px,2vw,26px) 24px}
.msg{max-width:86%;display:flex;flex-direction:column;gap:6px}
.msg-who{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--dim)}
.msg p{font-size:14.5px;line-height:1.65;padding:10px 14px;border:1px solid var(--line2);color:var(--text)}
.msg-u{align-self:flex-end;align-items:flex-end}
.msg-u p{background:rgba(255,255,255,.05)}
.msg-a p{border-color:rgba(var(--cy),.45);background:rgba(var(--cy),.06)}
.msg-a2{margin-top:-4px}
.msg-typing{display:none}
.msg-typing p{display:flex;gap:5px;padding:14px;border-color:rgba(var(--cy),.3)}
.msg-typing i{width:5px;height:5px;background:var(--cyan);animation:dots 1s infinite}
.msg-typing i:nth-child(2){animation-delay:.15s}.msg-typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{0%,60%,100%{opacity:.25}30%{opacity:1}}
.demo-sales.run .msg{display:none}
.demo-sales.run .msg.show{display:flex;animation:msgin .5s var(--ease) both}
@keyframes msgin{from{opacity:0;transform:translateY(10px)}}
.demo-sales.run.out .chat{opacity:0;transition:opacity .5s}

/* draw demo */
.demo-draw{flex:1;border-bottom:0;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.draw-svg{flex:none;width:100%;height:clamp(280px,28vw,400px);padding:6px 10px}
.draw-svg .fr{stroke:rgba(225,246,250,.92);stroke-width:1.3}
.draw-svg .fr2{stroke:rgba(225,246,250,.5);stroke-width:1}
.draw-svg .op{stroke:var(--cyan);stroke-width:1.1}
.draw-svg .dm{stroke:rgba(160,176,194,.6);stroke-width:1}
.draw-svg text{font-family:var(--mono);font-size:11px;fill:rgba(190,204,220,.9);letter-spacing:.08em}
.draw-svg text.big{fill:var(--amber)}
.draw-svg .gl{fill:rgba(var(--cy),.045)}
.draw-svg .ln{stroke-dasharray:1;stroke-dashoffset:1;animation:drawln .9s var(--ease) forwards;animation-delay:var(--dl,0s)}
.draw-svg .fd{opacity:0;animation:fadein .6s ease forwards;animation-delay:var(--dl,0s)}
.draw-svg .layer.out{opacity:0;transition:opacity .45s}
@keyframes drawln{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
.draw-out{display:flex;border-top:1px solid var(--line)}
.draw-out li{flex:1;text-align:center;font-size:12px;padding:11px 4px;color:var(--dim);border-right:1px solid var(--line);transition:color .4s,background .4s;white-space:nowrap}
.draw-out li:last-child{border-right:0}
.draw-out li.on{color:var(--cyan);background:rgba(var(--cy),.06)}

/* qc demo */
.demo-qc{height:clamp(300px,33vw,440px);transition:box-shadow .3s}
.qc-svg{position:absolute;left:0;top:36px;width:100%;height:calc(100% - 36px)}
.qc-svg .belt{stroke:rgba(255,255,255,.2);stroke-width:1}
.qc-svg .roll{stroke:rgba(255,255,255,.1);stroke-width:1;stroke-dasharray:1 27}
.qc-svg .zone{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;fill:#748094}
.qc-svg .zone.cur{fill:#B7C0CE}
.qc-svg .zl{stroke:rgba(255,255,255,.12);stroke-width:1;stroke-dasharray:3 5}
.qc-svg .vf{stroke:var(--cyan);stroke-width:1.5}
.qc-svg .vfd{stroke:rgba(var(--cy),.35);stroke-width:1;stroke-dasharray:2 6}
.qc-svg .post{fill:#0B101A;stroke:rgba(255,255,255,.4);stroke-width:1}
.qc-svg .scan{stroke:var(--cyan);stroke-width:1.2;opacity:0}
.qc-svg .pc .p1{stroke:rgba(225,238,246,.9);stroke-width:1.3;fill:rgba(20,30,46,.85)}
.qc-svg .pc .p2{stroke:rgba(225,238,246,.55);stroke-width:1;fill:rgba(8,12,20,.9)}
.qc-svg .pc .p3{stroke:rgba(225,238,246,.4);stroke-width:1}
.qc-svg .pc .gk{stroke:rgba(var(--cy),.75);stroke-width:1.2;stroke-dasharray:4 3}
.qc-svg .pc .hw{fill:rgba(225,238,246,.8)}
.qc-svg .det{opacity:0;transition:opacity .25s}
.qc-svg .det.on{opacity:1}
.qc-svg .det .bx{stroke:var(--cyan);stroke-width:1.2;fill:rgba(var(--cy),.06)}
.qc-svg .det .tg{fill:#061016;stroke:var(--cyan);stroke-width:1}
.qc-svg .det text{font-family:var(--mono);font-size:11.5px;fill:var(--cyan);letter-spacing:.04em}
.qc-svg .det .mk{stroke:var(--cyan);stroke-width:1.6}
.qc-svg .det .ld{stroke:var(--cyan);stroke-width:1}
.qc-svg .det.ng .ld{stroke:var(--red)}
.qc-svg .stamp rect{fill:#061016;stroke:var(--cyan);stroke-width:1}
.qc-svg .stamp .mk{stroke:var(--cyan);stroke-width:1.6}
.qc-svg .stamp{animation:fadein .4s ease both}
.qc-svg .det.ng .bx{stroke:var(--red);fill:rgba(var(--rd),.1)}
.qc-svg .det.ng .tg{stroke:var(--red);fill:#160708}
.qc-svg .det.ng text{fill:var(--red)}
.qc-svg .det.ng .mk{stroke:var(--red)}
.qc-andon{position:absolute;right:20px;bottom:18px;display:flex;gap:4px;align-items:center}
.qc-andon::before{content:"安灯";font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--dim);margin-right:7px}
.qc-andon i{width:24px;height:16px;border:1px solid var(--line3);background:rgba(255,255,255,.03);transition:background .2s,box-shadow .2s,border-color .2s}
.qc-andon b{display:none}
.qc-andon .a-g{background:rgba(var(--cy),.85);border-color:var(--cyan);box-shadow:0 0 16px rgba(var(--cy),.7)}
.demo-qc.alarm .qc-andon .a-g{background:rgba(255,255,255,.03);border-color:var(--line3);box-shadow:none}
.demo-qc.alarm .qc-andon .a-r{background:var(--red);border-color:var(--red);animation:andon .5s steps(2) infinite}
@keyframes andon{0%{box-shadow:0 0 26px 4px rgba(var(--rd),.9)}100%{box-shadow:0 0 8px rgba(var(--rd),.4);background:rgba(var(--rd),.45)}}
.demo-qc.alarm{box-shadow:inset 0 0 0 1px rgba(var(--rd),.85),inset 0 0 70px rgba(var(--rd),.26)}
.qc-status{position:absolute;left:16px;bottom:14px;display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--muted);padding:6px 10px;border:1px solid var(--line2);background:rgba(5,7,12,.7)}
.qc-dot{width:6px;height:6px;background:var(--cyan);box-shadow:0 0 8px rgba(var(--cy),.9)}
.demo-qc.ok .qc-status{color:var(--cyan);border-color:rgba(var(--cy),.5)}
.demo-qc.alarm .qc-status{color:var(--red);border-color:rgba(var(--rd),.6)}
.demo-qc.alarm .qc-dot{background:var(--red);box-shadow:0 0 8px rgba(var(--rd),.9)}
.qc-alert{position:absolute;left:50%;bottom:14px;transform:translate(-50%,24px);opacity:0;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13.5px;font-weight:550;letter-spacing:.04em;color:#fff;padding:9px 16px;background:rgba(40,10,12,.94);border:1px solid var(--red);box-shadow:0 0 34px rgba(var(--rd),.35);transition:transform .35s var(--spring),opacity .25s}
.qc-alert-dot{width:8px;height:8px;background:var(--red);animation:andon .5s steps(2) infinite}
.demo-qc.alarm .qc-alert{opacity:1;transform:translate(-50%,0)}

/* ---------- 04 value ---------- */
.val{position:relative;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:rgba(8,12,20,.5)}
.val::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line2)}
.val-col{padding:clamp(28px,4vw,60px) clamp(20px,4vw,60px) clamp(34px,4.4vw,66px);min-width:0}
.val-head{display:flex;align-items:stretch;gap:clamp(14px,2vw,30px);height:clamp(120px,16.5vw,250px);overflow:hidden;margin-bottom:clamp(24px,3vw,44px)}
.val-word{font-size:clamp(84px,13.2vw,204px);font-weight:700;line-height:1;letter-spacing:-.02em;align-self:center;white-space:nowrap}
.val-arrow{height:100%;width:auto;flex:none;stroke-width:7;stroke-linecap:square}
.val-down .val-arrow{stroke:var(--amber);filter:drop-shadow(0 0 16px rgba(var(--am),.5))}
.val-up .val-arrow{stroke:var(--cyan);filter:drop-shadow(0 0 16px rgba(var(--cy),.5))}
.val-list li{position:relative;display:grid;grid-template-columns:8.2em 1fr;gap:6px 20px;align-items:baseline;padding:17px 0 17px 22px;border-top:1px solid var(--line)}
.val-list li::before{content:"";position:absolute;left:0;top:27px;width:8px;height:8px}
.val-down .val-list li::before{background:var(--amber)}
.val-up .val-list li::before{background:var(--cyan)}
.val-list b{font-size:clamp(18px,1.7vw,23px);font-weight:650;white-space:nowrap}
.val-list span{color:#AEB8C7;font-size:15.5px;line-height:1.75}
.js.motion .val:not(.in) .val-down .val-word{transform:translateY(-105%)}
.js.motion .val:not(.in) .val-up .val-word{transform:translateY(105%)}
.js.motion .val-word{transition:transform 1.1s var(--ease)}
.js.motion .val:not(.in) .val-arrow{opacity:0}
.js.motion .val.in .val-down .val-arrow{animation:arrdown 1.25s cubic-bezier(.2,.9,.25,1) .25s both,bobdown 3.2s ease-in-out 1.7s infinite}
.js.motion .val.in .val-up .val-arrow{animation:arrup 1.25s cubic-bezier(.2,.9,.25,1) .4s both,bobup 3.2s ease-in-out 1.85s infinite}
@keyframes arrdown{0%{opacity:0;transform:translateY(-70%) scaleY(.3)}55%{opacity:1;transform:translateY(7%) scaleY(1.1)}78%{transform:translateY(-2%) scaleY(.98)}100%{opacity:1;transform:none}}
@keyframes arrup{0%{opacity:0;transform:translateY(70%) scaleY(.3)}55%{opacity:1;transform:translateY(-7%) scaleY(1.1)}78%{transform:translateY(2%) scaleY(.98)}100%{opacity:1;transform:none}}
@keyframes bobdown{50%{transform:translateY(5%)}}
@keyframes bobup{50%{transform:translateY(-5%)}}
.js.motion .val-list li{opacity:.16;transition:opacity .8s var(--ease);transition-delay:calc(.9s + var(--i,0)*.16s)}
.js.motion .val.in .val-list li{opacity:1}
.val-list li:nth-child(2){--i:1}.val-list li:nth-child(3){--i:2}.val-list li:nth-child(4){--i:3}
.val-note{position:relative;margin-top:clamp(36px,4vw,60px);display:grid;grid-template-columns:auto 1fr;border:1px solid rgba(var(--am),.5);background:rgba(var(--am),.035)}
.val-note-k{writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;font-size:12px;letter-spacing:.5em;color:#16110A;background:var(--amber);padding:20px 10px;text-align:center;font-weight:600}
.val-note p{padding:clamp(22px,2.8vw,40px) clamp(20px,3vw,46px);font-size:clamp(16px,1.42vw,19.5px);line-height:1.95;color:#D3DAE4}
.val-note strong{display:block;font-size:clamp(22px,2.3vw,32px);font-weight:700;color:#fff;margin-bottom:10px;letter-spacing:-.005em}
.val-note p span{border-bottom:1px dashed rgba(var(--am),.7);padding-bottom:1px;color:#fff}
.val-note p .nb{border-bottom:0;padding-bottom:0;color:inherit}

/* ---------- 05 solutions ---------- */
.sec-solutions{background:linear-gradient(180deg,rgba(7,14,26,0) 0,rgba(7,14,26,.9) 150px,rgba(7,14,26,.9) calc(100% - 150px),rgba(7,14,26,0) 100%)}
.sec-solutions::before{content:"";position:absolute;left:0;right:0;top:120px;bottom:120px;pointer-events:none;
  background-image:linear-gradient(rgba(var(--cy),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--cy),.05) 1px,transparent 1px),linear-gradient(rgba(var(--cy),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--cy),.03) 1px,transparent 1px);
  background-size:160px 160px,160px 160px,32px 32px,32px 32px;background-position:center top;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}
.sol-band{position:absolute;left:0;right:0;top:118px;height:260px;pointer-events:none;background:radial-gradient(60% 100% at 50% 0,rgba(var(--am),.2),rgba(var(--am),0) 70%)}
.sol-band::before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--amber) 30%,#FFE9C2 50%,var(--amber) 70%,transparent);box-shadow:0 0 24px 1px rgba(var(--am),.9)}
.sec-solutions .wrap{position:relative}
.aud-k{display:flex;justify-content:space-between;gap:16px;font-size:11.5px;color:var(--dim);margin-bottom:18px}
.aud-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2);background:rgba(5,9,16,.7)}
.aud-tab{position:relative;text-align:left;padding:clamp(18px,2.2vw,30px) clamp(16px,2.4vw,34px);display:flex;flex-direction:column;gap:6px;color:var(--muted);transition:color .4s,background .4s;min-height:44px}
.aud-tab+.aud-tab{border-left:1px solid var(--line2)}
.aud-tab b{font-size:clamp(20px,2.6vw,36px);font-weight:650;line-height:1.25;letter-spacing:-.005em}
.aud-tab span{font-size:clamp(12px,1.05vw,14px);line-height:1.5}
.aud-tab[aria-selected="true"]{color:var(--text);background:linear-gradient(180deg,rgba(var(--cy),.11),rgba(var(--cy),.02))}
.aud-tab[aria-selected="true"] span{color:#B7C0CE}
.aud-tab:hover{color:var(--text)}
.aud-ink{position:absolute;left:0;bottom:-1px;width:50%;height:2px;background:var(--cyan);box-shadow:0 0 18px rgba(var(--cy),.9);transition:transform .6s var(--ease)}
.aud-tabs[data-aud="sup"] .aud-ink{transform:translateX(100%)}
.aud-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,5vw,84px);padding-top:clamp(32px,4vw,56px);align-items:start}
.aud-panel[hidden]{display:none}
.aud-panel{animation:panelin .7s var(--ease)}
@keyframes panelin{from{opacity:0;transform:translateX(-18px)}}
.scn{counter-reset:scn}
.scn li{counter-increment:scn;position:relative;padding:17px 0 17px 54px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.scn li:last-child{border-bottom:1px solid var(--line)}
.scn li::before{content:"0" counter(scn);position:absolute;left:0;top:20px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--cyan)}
.scn b{font-size:clamp(17px,1.45vw,20px);font-weight:650;line-height:1.45}
.scn span{color:#AEB8C7;font-size:15px;line-height:1.75}
.asm{position:-webkit-sticky;position:sticky;top:calc(var(--navh) + 24px);min-width:0}
.asm-state{color:var(--cyan);letter-spacing:.1em}
.asm-scene{-webkit-perspective:1250px;perspective:1250px;padding:38px 4% 46px 8%}
.asm-win{position:relative;padding:15px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transform:rotateX(calc(9deg + var(--rx,0deg))) rotateY(calc(-23deg + var(--ry,0deg)));transition:transform .5s var(--ease)}
.asm-bar{position:absolute;background:linear-gradient(180deg,#1A2536,#0E1522);border:1px solid rgba(200,225,240,.5);-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform 1.2s var(--spring),opacity .8s}
.asm-bar::after{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border:1px solid rgba(200,225,240,.22);background:#080D16;transform:translateZ(-22px)}
.asm-bar-t{left:0;right:0;top:0;height:15px}.asm-bar-b{left:0;right:0;bottom:0;height:15px}
.asm-bar-l{left:0;top:0;bottom:0;width:15px}.asm-bar-r{right:0;top:0;bottom:0;width:15px}
.asm-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:9px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.asm-slot{position:relative;height:clamp(84px,7.6vw,106px);border:1px dashed rgba(255,255,255,.2);-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.asm-slot::before{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--mono);color:rgba(255,255,255,.25);font-size:16px}
.asm-mod{position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:12px 14px;border:1px solid rgba(var(--cy),.7);background:linear-gradient(140deg,rgba(24,70,92,.96),rgba(10,24,38,.96) 62%);color:#fff;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform 1s var(--spring),opacity .6s,border-color .6s,background .6s,color .6s,box-shadow .6s;transition-delay:calc(var(--i)*55ms);box-shadow:0 0 26px rgba(var(--cy),.16),inset 0 0 22px rgba(var(--cy),.1)}
.asm-mod::before{content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border:1px solid rgba(var(--cy),.3);background:#070C14;transform:translateZ(-16px)}
.asm-mod::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.1) 46%,transparent 58%);pointer-events:none}
.asm-mod .ico{position:absolute;right:12px;top:11px;width:22px;height:22px;color:var(--cyan)}
.asm-mod b{font-size:clamp(14px,1.25vw,17px);font-weight:650;line-height:1.3;white-space:nowrap}
.asm-mod small{font-size:11px;color:#9FE6EE;letter-spacing:.02em;white-space:nowrap}
.asm-mod.off{transform:translate3d(-51%,-5%,70px) rotateY(13deg) rotateZ(-3.5deg);opacity:.72;border:1px dashed rgba(255,255,255,.5);background:rgba(14,20,32,.92);color:#A7B1C2;box-shadow:none}
.asm-mod.off .ico{color:var(--dim)}
.asm-mod.off::after{display:none}
.asm-mod.off::before{display:none}
.asm-mod b,.asm-mod small{position:relative;z-index:1}
.js.motion .asm:not(.in) .asm-mod{transform:translate3d(calc(var(--i)*-5%),calc(var(--i)*-14%),calc(300px + var(--i)*46px)) rotateY(28deg);opacity:0}
.js.motion .asm:not(.in) .asm-bar-t{transform:translate3d(0,-70px,90px);opacity:0}
.js.motion .asm:not(.in) .asm-bar-b{transform:translate3d(0,70px,90px);opacity:0}
.js.motion .asm:not(.in) .asm-bar-l{transform:translate3d(-70px,0,90px);opacity:0}
.js.motion .asm:not(.in) .asm-bar-r{transform:translate3d(70px,0,90px);opacity:0}
.js.motion .asm.in .asm-mod{transition-delay:calc(.25s + var(--i)*90ms)}
.js.motion .asm.ready .asm-mod{transition-delay:calc(var(--i)*45ms)}
.asm.swap .asm-mod:not(.off){animation:unlatch .8s var(--ease) both;animation-delay:calc(var(--i)*45ms)}
@keyframes unlatch{0%{transform:translateZ(0)}38%{transform:translateZ(46px)}100%{transform:translateZ(0)}}
.asm-mod.snap{animation:snap .9s ease-out both}
@keyframes snap{0%{box-shadow:0 0 0 rgba(var(--cy),0)}40%{box-shadow:0 0 60px 6px rgba(var(--cy),.75),inset 0 0 40px rgba(var(--cy),.5)}100%{box-shadow:0 0 26px rgba(var(--cy),.16),inset 0 0 22px rgba(var(--cy),.1)}}
.asm-legend{display:flex;gap:22px;font-size:11px;color:var(--dim);letter-spacing:.08em;flex-wrap:wrap}
.asm-legend span{display:inline-flex;align-items:center;gap:9px}
.asm-legend span::before{content:"";width:18px;height:10px;border:1px solid var(--cyan)}
.asm-legend .lg-off::before{border:1px dashed rgba(255,255,255,.45)}
.steps{margin-top:clamp(64px,8vw,120px)}
.steps-row{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:40px}
.steps-row::before{content:"";position:absolute;left:0;right:0;top:12px;height:1px;background:var(--line3)}
.steps-row li{position:relative;padding-right:clamp(16px,2.4vw,40px);display:flex;flex-direction:column;gap:8px}
.steps-row li::before{content:"";position:absolute;left:0;top:-37px;width:1px;height:19px;background:var(--line3);transform:rotate(45deg);transform-origin:center}
.steps-row li::after{content:"";position:absolute;left:0;top:-40px;width:1px;height:25px;background:var(--line2)}
.steps-row li:last-child{padding-right:0}
.steps-row i{font-style:normal;font-size:13px;color:var(--amber);letter-spacing:.14em}
.steps-row b{font-size:clamp(19px,1.9vw,26px);font-weight:650}
.steps-row span{color:#AEB8C7;font-size:15px;line-height:1.8}
.sol-foot{margin-top:clamp(48px,6vw,84px);display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid var(--line2)}
.promises{display:flex;flex-wrap:wrap;gap:10px 30px}
.promises li{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--text);white-space:nowrap}
.promises li::before{content:"";width:9px;height:9px;border:1px solid var(--cyan);background:rgba(var(--cy),.25)}

/* ---------- 06 method ---------- */
.flow{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:8px 0}
.flow::before{content:"";position:absolute;left:8.333%;right:8.333%;top:40px;height:1px;background:linear-gradient(90deg,var(--line3),var(--line2))}
.flow li{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.flow-node{position:relative;z-index:1;width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--line3);background:#080C14;color:var(--muted)}
.flow-node .ico{width:26px;height:26px}
.flow li:nth-child(5) .flow-node{outline:1px solid var(--line2);outline-offset:4px}
.flow b{font-size:clamp(14px,1.3vw,17px);font-weight:600;line-height:1.4}
.flow li:not(:last-of-type)::after{content:"";position:absolute;right:-5px;top:36px;width:8px;height:8px;border-top:1px solid var(--line3);border-right:1px solid var(--line3);transform:rotate(45deg);z-index:1}
.flow-dot{position:absolute;top:36px;left:8.333%;width:9px;height:9px;margin-left:-4px;background:#FFE9C2;box-shadow:0 0 14px 3px rgba(var(--am),.9),-22px 0 26px 2px rgba(var(--am),.35);z-index:2;opacity:0}
.motion .flow.run .flow-dot{animation:flowdot 7s linear infinite}
.motion .flow.run .flow-node{animation:flownode 7s linear infinite;animation-delay:calc(var(--i)*1.120s)}
@keyframes flowdot{0%{left:8.333%;opacity:0}3%{opacity:1}77%{opacity:1}80%{left:91.667%;opacity:0}100%{left:91.667%;opacity:0}}
@keyframes flownode{0%{border-color:var(--amber);color:#FFE9C2;box-shadow:0 0 34px rgba(var(--am),.5)}16%{border-color:rgba(var(--cy),.6);color:var(--cyan);box-shadow:none}100%{border-color:rgba(var(--cy),.6);color:var(--cyan)}}
.ways{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,5vw,84px);margin-top:clamp(56px,7vw,100px)}
.ways li{position:relative;padding:24px 0 26px 58px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.ways i{position:absolute;left:0;top:25px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line3);font-style:normal;font-size:13px;color:var(--cyan);letter-spacing:0}
.ways b{font-size:clamp(18px,1.7vw,23px);font-weight:650;line-height:1.4}
.ways span{color:#AEB8C7;font-size:15.5px;line-height:1.8}
.wall{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(64px,8vw,120px);border:1px solid var(--line2);background:rgba(8,12,20,.72);overflow:hidden}
.wall::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line2)}
.wall::after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line2)}
.wall-cell{position:relative;padding:clamp(28px,4.4vw,64px) clamp(20px,3.6vw,48px);min-width:0}
.wall-num{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.1em;font-size:clamp(60px,9.4vw,146px);font-weight:600;line-height:1;letter-spacing:-.035em;color:var(--amber);font-variant-numeric:tabular-nums;text-shadow:0 0 70px rgba(var(--am),.35)}
.wall-num .f{font-size:.4em;color:var(--muted);letter-spacing:-.01em;text-shadow:none;font-weight:500}
.wall-num .u{font-size:.24em;color:var(--text);font-weight:600;letter-spacing:0;margin-left:.3em;text-shadow:none}
.wall-num .sl{font-weight:300;margin:0 .04em}
.wall-arrow{width:.36em;height:.18em;stroke:var(--muted);stroke-width:2;align-self:center;flex:none;margin:0 .04em}
.wall-cap{margin-top:clamp(14px,1.8vw,26px);font-size:clamp(15px,1.3vw,18px);color:#C9D1DC;line-height:1.6}
.wall-sweep{position:absolute;left:0;top:0;bottom:0;width:38%;background:linear-gradient(100deg,transparent,rgba(255,236,200,.1) 50%,transparent);transform:translateX(-120%);pointer-events:none}
.motion .wall.in .wall-sweep{animation:wallsweep 1.9s var(--ease) .1s both}
@keyframes wallsweep{to{transform:translateX(300%)}}
.wall-foot{margin-top:16px;font-size:11.5px;color:var(--dim);letter-spacing:.08em;text-transform:none}

/* ---------- 07 about ---------- */
.about-text{max-width:44em;font-size:clamp(17px,1.7vw,23px);line-height:1.9;color:#D3DAE4}
.beliefs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--line2)}
.beliefs li{padding:26px clamp(18px,2.4vw,36px) 6px 0;display:flex;flex-direction:column;gap:18px}
.beliefs li+li{border-left:1px solid var(--line2);padding-left:clamp(18px,2.4vw,36px)}
.beliefs i{font-style:normal;font-size:11.5px;color:var(--cyan)}
.beliefs p{font-size:clamp(18px,1.9vw,26px);font-weight:600;line-height:1.55;letter-spacing:-.005em}

/* ---------- 08 contact ---------- */
.sec-contact{padding-bottom:clamp(90px,11vw,160px)}
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,96px);align-items:start}
.contact-text{font-size:clamp(16px,1.42vw,19.5px);line-height:1.9;color:#B7C0CE}
.sheet{border:1px solid var(--line3);background:rgba(8,12,20,.8)}
.sheet-row{display:grid;grid-template-columns:clamp(64px,7vw,96px) 1fr}
.sheet-row+.sheet-row{border-top:1px solid var(--line3)}
.sheet dt{font-size:11.5px;color:var(--dim);padding:22px 0 0 clamp(14px,1.6vw,22px);border-right:1px solid var(--line3)}
.sheet dd{padding:clamp(16px,2vw,26px) clamp(16px,2.2vw,30px);display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;min-width:0}
.tel{font-family:var(--sans);font-size:clamp(30px,4.5vw,62px);font-weight:600;letter-spacing:-.015em;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .25s,text-shadow .25s}
.tel:hover{color:var(--cyan);text-shadow:0 0 40px rgba(var(--cy),.5)}
.copy{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line3);font-size:13.5px;color:var(--muted);transition:color .25s,border-color .25s}
.copy:hover,.copy.done{color:var(--cyan);border-color:var(--cyan)}
.sheet address{font-size:clamp(16px,1.5vw,20px);line-height:1.6}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line2);background:#05070C;padding:44px 0 34px}
.foot::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,rgba(var(--am),0) 12%,rgba(var(--am),.6) 50%,rgba(var(--am),0) 88%)}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.foot-slogan{font-size:14px;color:var(--muted);letter-spacing:.06em}
.foot-links{margin-left:auto;display:flex;flex-wrap:wrap;gap:0 4px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:14px;color:var(--muted);transition:color .2s}
.foot-links a:hover{color:var(--cyan)}
.foot-bottom{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:12.5px;color:var(--dim)}
.foot-icp:empty{display:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pj-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 22px}
  .pj-win{min-height:400px}
  .card-kb,.card-sales{grid-column:span 12}
  .card-kb{flex-direction:row}.card-kb .demo{flex:0 0 50%;border-bottom:0;border-right:1px solid var(--line)}
  .card-sales{flex-direction:row}.card-sales .demo{flex:0 0 50%;border-bottom:0;border-right:1px solid var(--line)}
}
@media (max-width:900px){
  h1,h2,h3,.sec-title,.sec-lead,.wall-cap{text-wrap:balance}
  :root{--navh:60px}
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:block}
  .hero-stage::before{background:linear-gradient(180deg,rgba(5,7,12,.82) 0%,rgba(5,7,12,.7) 44%,rgba(5,7,12,.1) 66%,rgba(5,7,12,0) 78%),linear-gradient(0deg,rgba(5,7,12,.75) 0%,rgba(5,7,12,0) 16%)}
  .hero-copy{justify-content:flex-start;padding-top:calc(var(--navh) + 30px)}
  .hero-title{margin:18px 0 20px}
  .hero-actions{margin-top:24px;gap:10px}
  .hero-facts{bottom:18px;font-size:10.5px;letter-spacing:.08em;padding-top:12px}
  .hero-facts li+li::before{width:10px;margin:0 9px}
  .hero-dims .d-seg{display:none}
  .pin .hero-scroll{display:none}
  .no-webgl .hero-fallback{left:5%;right:5%;width:90%;top:auto;bottom:70px;margin-top:0}
  .card-kb,.card-sales,.card-draw{flex-direction:column}
  .card-kb .demo,.card-sales .demo{flex:none;border-right:0;border-bottom:1px solid var(--line)}
  .card-draw .card-body{flex:none}
  .demo-draw{border-left:0;border-top:1px solid var(--line);min-height:340px}
  .card-body-split{grid-template-columns:1fr;gap:0}
  .card-body-split .chips{margin-top:20px}
  .val{grid-template-columns:1fr}
  .val::before{display:none}
  .val-up{border-top:1px solid var(--line2)}
  .aud-body{grid-template-columns:1fr}
  .asm{position:relative;top:auto;overflow:hidden;margin:0 calc(var(--gut)*-1);padding:0 var(--gut)}
  .asm-scene{padding:30px 3% 40px 15%;-webkit-perspective:900px;perspective:900px}
  .asm-win{transform:rotateX(8deg) rotateY(-17deg)}
  .asm-mod.off{transform:translate3d(-40%,-6%,50px) rotateY(12deg) rotateZ(-3.5deg)}
  .steps-row{grid-template-columns:1fr 1fr;gap:54px 0}
  .steps-row li:nth-child(n+3)::before{top:-37px}
  .steps-row::after{content:"";position:absolute;left:0;right:0;top:calc(50% + 39px);height:1px;background:var(--line3)}
  .contact{grid-template-columns:1fr}
  .beliefs{grid-template-columns:1fr}
  .beliefs li+li{border-left:0;padding-left:0;border-top:1px solid var(--line2)}
  .beliefs li{padding:22px 0 24px;gap:10px}
  .ways{grid-template-columns:1fr}
  .foot-links{margin-left:-12px;width:100%}
}
@media (max-width:640px){
  .hero-title{font-size:min(40px,calc((100vw - 2*var(--gut))/8.1))}
  .hero-sub{font-size:14.5px;line-height:1.78}
  .eyebrow{font-size:11px;letter-spacing:.1em}
  .eyebrow span+span::before{margin:0 .55em}
  .hero-eyebrow{display:block;line-height:1.9}
  .hero-eyebrow span:nth-child(3)::before{content:"\A";white-space:pre;margin:0}
  .hero-dims .d-main{display:none}
  .hero-facts li:nth-child(3){flex-basis:100%;padding-left:18px}
  .hero-facts li:nth-child(3)::before{display:none}
  .btn{padding:0 18px;font-size:14.5px}
  .slogan{font-size:calc((100vw - 2*var(--gut) - 4px)/7.050)}
  .fly-big{font-size:42vw}
  .sec-title,.sec-title-xl{font-size:min(30px,calc((100vw - 2*var(--gut))/12.150))}
  .pj-row{grid-template-columns:1fr;gap:10px}
  .demo-qc.alarm .qc-status{opacity:0}
  .draw-svg text{font-size:13px}
  .qc-andon{right:12px;top:45px;bottom:auto}.qc-andon::before{display:none}.qc-andon i{width:15px;height:11px}
  .pj{padding-bottom:70px}
  .pj-win{min-height:0}
  .pj-top{min-height:0}
  .pj-open{min-height:190px}
  .js.motion .pj-light,.js.motion .pj-sash,.js.motion .pj-sol,.js.motion .pj-spill,.pj-win,.pj-open{transition-delay:0s,0s}
  .js.motion .pj-sol{transition-delay:.6s}.js.motion .pj-sash{transition-delay:.15s}.js.motion .pj-light,.js.motion .pj-spill{transition-delay:.3s}
  .access{flex-direction:column;gap:10px}
  .val-list li{grid-template-columns:1fr;gap:2px}
  .val-note{grid-template-columns:1fr}
  .val-note-k{writing-mode:horizontal-tb;-webkit-writing-mode:horizontal-tb;padding:8px 16px;text-align:left;letter-spacing:.3em}
  .aud-tab span{display:block}
  .asm-slot{height:78px}
  .asm-mod{padding:9px 10px}
  .asm-mod .ico{width:18px;height:18px;right:8px;top:8px}
  .asm-mod small{font-size:9.5px}
  .steps-row{grid-template-columns:1fr;gap:0;padding-top:0;padding-left:26px}
  .steps-row::before{left:6px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
  .steps-row::after{display:none}
  .steps-row li{padding:0 0 28px}
  .steps-row li::before,.steps-row li:nth-child(n+3)::before{left:-29px;top:4px;width:19px;height:1px;transform:rotate(-45deg)}
  .steps-row li::after{display:none}
  .sol-foot{flex-direction:column;align-items:flex-start}
  .promises{gap:10px 22px}
  .flow{grid-template-columns:1fr;padding:0}
  .flow::before{left:27px;right:auto;top:28px;bottom:28px;width:1px;height:auto}
  .flow li{flex-direction:row;height:76px;gap:20px;text-align:left}
  .flow-node{width:56px;height:56px}
  .flow li:not(:last-of-type)::after{right:auto;left:23px;top:auto;bottom:-5px;transform:rotate(135deg)}
  .flow-dot{left:27px!important;top:38px;box-shadow:0 0 14px 3px rgba(var(--am),.9),0 -22px 26px 2px rgba(var(--am),.35)}
  .motion .flow.run .flow-dot{animation-name:flowdotv}
  @keyframes flowdotv{0%{top:38px;opacity:0}3%{opacity:1}77%{opacity:1}80%{top:418px;opacity:0}100%{top:418px;opacity:0}}
  .wall{grid-template-columns:1fr}
  .wall::before,.wall::after{display:none}
  .wall-cell+.wall-cell{border-top:1px solid var(--line2)}
  .wall-num{font-size:clamp(64px,21vw,96px)}
  .sheet-row{grid-template-columns:1fr}
  .sheet dt{border-right:0;padding:14px 16px 0}
  .sheet dd{padding-top:6px}
  .tel{font-size:min(40px,calc((100vw - 2*var(--gut) - 34px)/7.4))}
  .foot-top{flex-direction:column;align-items:flex-start;gap:16px}
  .foot-links{display:grid;grid-template-columns:repeat(3,max-content)}
}
@media (max-width:900px) and (orientation:portrait){
  .pin .hero-stage{z-index:0}
  .pin .hero-stage::after{content:"";position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;pointer-events:none;opacity:var(--shade,0);background:linear-gradient(180deg,rgba(5,7,12,.94) 0%,rgba(5,7,12,.6) 13%,rgba(5,7,12,0) 30%),linear-gradient(0deg,#05070C 0%,rgba(5,7,12,.9) 7%,rgba(5,7,12,0) 19%),radial-gradient(ellipse 84% 54% at 50% 46%,rgba(5,7,12,0) 46%,rgba(5,7,12,.62) 100%)}
  .pin .fly-line{bottom:9.5%}
  .pin .fly-line::before{left:0;top:-28px;width:100%;height:70vh;transform:none;background:linear-gradient(180deg,rgba(5,7,12,0) 0,rgba(5,7,12,.84) 30px,#05070C 78px)}
  .pin .fly-line[data-fly="2"]::before{top:-84px;background:linear-gradient(180deg,rgba(5,7,12,0) 0,rgba(5,7,12,.9) 58px,#05070C 104px)}
}
@media (min-width:901px) and (max-height:760px){
  .hero-title{font-size:clamp(40px,min(6.2vw,10.4vh),96px);margin:18px 0 20px}
  .hero-actions{margin-top:26px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;transition-delay:0s!important}
  .js .rv,.js .ml-i,.js .hero-eyebrow,.js .hero-sub,.js .hero-actions,.js .hero-facts{opacity:1!important;transform:none!important}
  .caret,.pin .hero-scroll{display:none}
}
