:root{
  --canvas:#f3f7fb;
  --canvas-2:#eef4fa;
  --surface:#ffffff;
  --surface-raised:#f9fbfd;
  --surface-deep:#0b1726;
  --surface-deeper:#07111d;
  --text:#0d1724;
  --text-2:#334154;
  --muted:#6f7f92;
  --line:#d9e3ed;
  --line-strong:#bccbd9;
  --blue:#1d63f0;
  --blue-2:#5ab9ff;
  --blue-3:#d8edff;
  --green:#26b76f;
  --green-2:#84e3aa;
  --lime:#c3f28d;
  --warning:#e2a63b;
  --danger:#d85b66;
  --shadow:0 32px 70px rgba(30,70,110,.13);
  --shadow-strong:0 42px 92px rgba(4,17,31,.28);
  --radius-s:8px;
  --radius-m:14px;
  --radius-l:22px;
  --space-1:6px;
  --space-2:10px;
  --space-3:16px;
  --space-4:24px;
  --space-5:36px;
  --space-6:56px;
  --space-7:84px;
  --space-8:120px;
  --shell:min(1380px,calc(100vw - 56px));
  --font-display:"Aptos Display","Segoe UI Variable Display","Segoe UI",Helvetica,Arial,sans-serif;
  --font-body:"Aptos","Segoe UI Variable Text","Segoe UI",Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

html[data-theme="dark"]{
  --canvas:#07111e;
  --canvas-2:#0a1524;
  --surface:#0d1a2b;
  --surface-raised:#102034;
  --surface-deep:#09131f;
  --surface-deeper:#050c14;
  --text:#f2f7fb;
  --text-2:#c2d0df;
  --muted:#8495aa;
  --line:#1f3247;
  --line-strong:#34516f;
  --blue:#5c8dff;
  --blue-2:#6ecaff;
  --blue-3:#102c4b;
  --green:#46d98b;
  --green-2:#94edb6;
  --lime:#bfe88d;
  --shadow:0 34px 78px rgba(0,0,0,.28);
  --shadow-strong:0 46px 110px rgba(0,0,0,.42);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--canvas);color:var(--text)}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img,svg{display:block;max-width:100%}
::selection{background:var(--blue);color:white}

/* Native interaction framework -------------------------------------------
   The cursor deliberately keeps the original Concept 08 visual language:
   a blue point + technical ring, green on spatial surfaces. There is no
   morphing rectangle/glass plate, so the cursor can never disagree with a
   parallax-rotated element. JS owns the magnetic interaction point and the
   same point drives element transforms. */
.site-cursor{display:none}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  html.custom-cursor-active,
  html.custom-cursor-active *{cursor:none!important}

  .site-cursor{position:fixed;inset:0;display:block!important;z-index:2147483647;pointer-events:none;opacity:0;visibility:visible;transition:opacity .16s ease}
  .site-cursor.is-visible{opacity:1}
  .cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;will-change:transform,width,height,border-color,background}
  .cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--canvas) 55%,transparent);transform:translate3d(-50%,-50%,0);transition:width .14s ease,height .14s ease,background .14s ease,opacity .14s ease}
  .cursor-ring{width:26px;height:26px;border-radius:50%;border:1px solid color-mix(in srgb,var(--blue) 58%,transparent);transform:translate3d(-50%,-50%,0);transition:width .18s cubic-bezier(.2,.8,.2,1),height .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,opacity .18s ease,box-shadow .18s ease}
  .cursor-ring::before,.cursor-ring::after{content:"";position:absolute;background:color-mix(in srgb,var(--blue) 62%,transparent);opacity:.78;transition:.18s ease}
  .cursor-ring::before{width:6px;height:1px;left:50%;top:-1px;transform:translateX(-50%)}
  .cursor-ring::after{width:1px;height:6px;right:-1px;top:50%;transform:translateY(-50%)}
  .site-cursor.is-interactive .cursor-ring{width:34px;height:34px;border-color:color-mix(in srgb,var(--blue) 78%,transparent);background:color-mix(in srgb,var(--blue) 5%,transparent)}
  .site-cursor.is-interactive .cursor-dot{width:4px;height:4px}
  .site-cursor.is-depth .cursor-ring{width:42px;height:42px;border-color:color-mix(in srgb,var(--green) 62%,var(--blue));background:color-mix(in srgb,var(--blue) 4%,transparent)}
  .site-cursor.is-depth .cursor-dot{background:var(--green);box-shadow:0 0 10px color-mix(in srgb,var(--green) 40%,transparent)}
  .site-cursor.is-magnetic .cursor-ring{border-color:color-mix(in srgb,var(--blue) 92%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--blue) 12%,transparent)}
  .site-cursor.is-depth.is-magnetic .cursor-ring{border-color:color-mix(in srgb,var(--green) 78%,var(--blue));box-shadow:0 0 24px color-mix(in srgb,var(--green) 12%,transparent)}
  .site-cursor.is-tension-high .cursor-ring{width:38px;height:38px}
  .site-cursor.is-depth.is-tension-high .cursor-ring{width:46px;height:46px}
  .site-cursor.is-pressed .cursor-ring{width:20px;height:20px;background:color-mix(in srgb,var(--blue) 12%,transparent)}
  .site-cursor.is-pressed .cursor-dot{width:7px;height:7px}

  /* All controls use additive CSS transform properties. Existing component
     transforms remain intact; the framework adds only its own small motion. */
  [data-ix="control"]{--ix-control-x:0px;--ix-control-y:0px;--ix-control-scale:1}
  [data-ix="control"].ix-control-active{
    translate:var(--ix-control-x) var(--ix-control-y);
    scale:var(--ix-control-scale);
    transform-origin:center;
    will-change:translate,scale,filter;
    filter:brightness(1.018);
  }
  [data-ix="control"].ix-pressed{filter:brightness(.985)}
}

.shell{width:var(--shell);margin:0 auto;min-width:0}
.mono{font-family:var(--font-mono)}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:10px 14px;background:var(--surface-deep);color:white;border-radius:8px;transform:translateY(-160%);transition:.2s}
.skip-link:focus{transform:none}

.site-header{position:fixed;inset:0 0 auto 0;z-index:100;background:color-mix(in srgb,var(--canvas) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
.site-header.scrolled{border-color:var(--line);background:color-mix(in srgb,var(--canvas) 95%,transparent)}
.header-inner{height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.13em;font-weight:700;white-space:nowrap}
.brand b{color:var(--blue)}
.brand-mark{width:27px;height:27px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px;border:1px solid var(--line-strong);border-radius:7px;transform:skewY(-8deg)}
.brand-mark i{display:block;background:var(--blue);border-radius:2px}
.brand-mark i:nth-child(2){background:var(--green);transform:translateY(4px)}
.brand-mark i:nth-child(3){background:var(--blue-2);transform:translateY(1px)}
.desktop-nav{display:flex;justify-content:center;gap:32px;font-size:13px;color:var(--text-2)}
.desktop-nav a{position:relative;padding:7px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--blue);transition:right .25s}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}
.header-actions{display:flex;align-items:center;gap:10px}
.language-menu{position:relative;z-index:6}
.language-trigger{height:40px;min-width:126px;padding:0 10px 0 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.language-trigger:hover,.language-menu.is-open .language-trigger{border-color:color-mix(in srgb,var(--blue) 34%,var(--line));background:color-mix(in srgb,var(--surface) 92%,var(--blue) 8%)}
.language-code{width:27px;height:22px;border:1px solid color-mix(in srgb,var(--blue) 32%,var(--line));border-radius:6px;display:flex;align-items:center;justify-content:center;font:700 9px var(--font-mono);letter-spacing:.08em;color:var(--blue)}
.language-current{font-size:11px;font-weight:650;color:var(--text);white-space:nowrap}
.language-chevron{font:13px/1 var(--font-mono);color:var(--text-3);transform:translateY(-1px);transition:transform .18s ease}
.language-menu.is-open .language-chevron{transform:translateY(1px) rotate(180deg)}
.language-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:190px;padding:6px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-strong);backdrop-filter:blur(18px);overflow:hidden}
.language-dropdown[hidden]{display:none!important}
.language-option{width:100%;min-height:42px;padding:0 10px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:12px;font-weight:630;color:var(--text-2);transition:background .16s ease,color .16s ease}
.language-option:hover,.language-option:focus-visible{background:var(--canvas-2);color:var(--text)}
.language-option i{font-style:normal;color:var(--blue);opacity:0;transform:scale(.7);transition:opacity .16s ease,transform .16s ease}
.language-option.is-active{color:var(--text);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
.language-option.is-active i{opacity:1;transform:scale(1)}
.theme-switch{border:1px solid var(--line);background:var(--surface);height:40px;padding:0 11px 0 8px;border-radius:999px;display:flex;align-items:center;gap:8px;cursor:pointer}
.theme-track{width:34px;height:20px;border-radius:999px;background:var(--canvas-2);border:1px solid var(--line);padding:2px;display:block}
.theme-track i{display:block;width:14px;height:14px;background:var(--blue);border-radius:50%;transition:transform .25s ease}
html[data-theme="dark"] .theme-track i{transform:translateX(14px);background:var(--green)}
.theme-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.header-cta{height:40px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;background:var(--text);color:var(--canvas);font-weight:650;font-size:13px;transition:transform .2s,background .2s}
.header-cta:hover{transform:translateY(-1px)}
.menu-button{display:none;width:42px;height:40px;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-button span{width:17px;height:1px;background:var(--text);transition:.2s}
.mobile-nav{position:absolute;left:0;right:0;top:76px;background:var(--surface);border-bottom:1px solid var(--line);padding:18px 28px 24px;display:grid;gap:0}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-weight:650}
.mobile-nav a:last-child{color:var(--blue);border-bottom:0}

.hero{min-height:940px;padding:132px 0 84px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 83% 30%,color-mix(in srgb,var(--blue-2) 16%,transparent),transparent 34%),
  linear-gradient(var(--canvas),var(--canvas))}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,transparent 0,black 16%,black 72%,transparent 100%);opacity:.45;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.91fr) minmax(520px,1.09fr);gap:56px;align-items:center}
.hero-copy{padding-top:18px;min-width:0}
.eyebrow,.section-index{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}
.eyebrow span{width:22px;height:1px;background:var(--green)}
.hero h1,.section-heading h2,.problem-grid h2,.continuity-copy h2,.growth-copy h2,.contact-grid h2{font-family:var(--font-display);font-weight:640;letter-spacing:-.055em;line-height:.94;margin:22px 0 28px}
.hero h1{font-size:clamp(64px,7.1vw,112px);max-width:850px}
.hero h1 span,.section-heading h2 span,.continuity-copy h2 span,.growth-copy h2 span,.contact-grid h2 span{color:var(--blue)}
.hero-lead{max-width:680px;font-size:18px;line-height:1.62;color:var(--text-2);margin:0}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:50px;padding:0 18px;border-radius:12px;font-weight:700;font-size:14px}
.btn-primary{background:var(--blue);color:white;box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 25%,transparent)}
.btn-primary span{font-family:var(--font-mono);font-weight:400}
.text-link{font-size:13px;font-weight:650;color:var(--text-2);display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid var(--line-strong);padding-bottom:4px}
.text-link span{color:var(--blue)}
.hero-proof{margin-top:66px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);max-width:720px}
.hero-proof div{padding:16px 18px 4px 0;display:grid;grid-template-columns:28px 1fr;column-gap:8px;min-width:0}
.hero-proof div+div{border-left:1px solid var(--line);padding-left:18px}
.hero-proof span{font-family:var(--font-mono);font-size:9px;color:var(--blue);grid-row:1 / 3}
.hero-proof b{font-size:12px}
.hero-proof small{font-size:10px;color:var(--muted);margin-top:3px}

.hero-machine-wrap{position:relative;height:660px;min-width:0;perspective:1300px}
.hero-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--blue) 22%,transparent);border-radius:50%;left:50%;top:44%;transform:translate(-50%,-50%) rotateX(68deg);pointer-events:none}
.orbit-a{width:590px;height:390px}
.orbit-b{width:440px;height:290px;border-color:color-mix(in srgb,var(--green) 20%,transparent)}
.hero-server{position:absolute;left:49%;top:43%;width:510px;height:395px;transform:translate(-50%,-50%) rotateX(3deg) rotateY(-8deg);transform-style:preserve-3d;will-change:transform}
.hero-server-depth{position:absolute;inset:18px -34px 18px 34px;background:#07111b;border:1px solid rgba(255,255,255,.07);border-radius:18px;transform:translateZ(-50px)}
.hero-server-face{position:absolute;inset:0;border-radius:18px;padding:20px;background:linear-gradient(155deg,#12263d 0%,#0a1624 52%,#07101b 100%);border:1px solid rgba(255,255,255,.13);box-shadow:var(--shadow-strong),inset 0 1px rgba(255,255,255,.08);color:#e9f3fb;overflow:hidden}
.hero-server-face::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.04) 45%,transparent 57%);pointer-events:none}
.machine-topline{display:flex;justify-content:space-between;align-items:center;font:9px var(--font-mono);letter-spacing:.1em;color:#7892aa;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:12px}
.online-chip{color:#8eeab2;display:flex;align-items:center;gap:6px}
.online-chip i,.server-state i,.data-store em i,.vault-body em i,.contact-signal i{width:6px;height:6px;border-radius:50%;background:#47db8c;box-shadow:0 0 12px rgba(71,219,140,.45)}
.mini-control-plane{height:44px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:7px;margin:13px 0 10px}
.mini-control-plane span{border:1px solid rgba(108,177,255,.17);background:rgba(72,146,230,.05);border-radius:6px;font:7px var(--font-mono);letter-spacing:.08em;color:#88a4bf;display:flex;align-items:center;justify-content:center}
.mini-service-stack{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mini-service-stack>div{min-height:69px;border:1px solid rgba(255,255,255,.085);background:#08121f;border-radius:7px;padding:10px;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px}
.service-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(75,145,240,.13);border:1px solid rgba(94,165,255,.25);font:700 10px var(--font-mono);color:#8cc5ff}
.workflow-icon{color:#b9e6ff}.operations-icon{color:#a4e7c0;border-color:rgba(84,221,144,.2);background:rgba(84,221,144,.08)}.custom-icon{font-size:8px;color:#cff2a4;border-color:rgba(195,242,141,.18);background:rgba(195,242,141,.07)}
.mini-service-stack b{font-size:10px}.mini-service-stack small{font:7px var(--font-mono);letter-spacing:.08em;color:#67ce93}
.mini-data-plane{margin-top:9px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);height:53px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font:8px var(--font-mono);letter-spacing:.08em;color:#728ca3}
.mini-data-plane b{font:600 10px var(--font-body);color:#e7eef5;letter-spacing:0}.mini-data-plane i{width:6px;height:6px;border-radius:50%;background:#49cf87}
.mini-console{height:54px;display:flex;flex-direction:column;justify-content:center;gap:2px;font:7px/1.2 var(--font-mono);color:#67b788}
.hero-vault{position:absolute;right:4%;bottom:100px;width:205px;padding:14px 15px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--blue-3));border:1px solid var(--line);box-shadow:var(--shadow);z-index:2}
.hero-vault>span{font:8px var(--font-mono);letter-spacing:.1em;color:var(--muted)}
.hero-vault>b{display:block;margin:5px 0 12px;font-size:12px}
.hero-vault>small{font:8px var(--font-mono);color:var(--green);display:flex;gap:6px;align-items:center}.hero-vault>small i{width:6px;height:6px;border-radius:50%;background:var(--green)}
.hero-link{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-link path{fill:none;stroke:color-mix(in srgb,var(--green) 60%,var(--line));stroke-width:1.3;stroke-dasharray:4 6}
.hero-caption{position:absolute;left:0;bottom:24px;max-width:330px;padding-top:11px;border-top:1px solid var(--line)}
.hero-caption span{font-size:8px;letter-spacing:.1em;color:var(--blue)}.hero-caption p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}

.problem-band{padding:110px 0 126px;border-top:1px solid var(--line);background:var(--surface)}
.problem-grid{display:grid;grid-template-columns:160px 1.05fr .72fr;gap:44px;align-items:start}
.problem-grid h2{font-size:clamp(42px,5.4vw,82px);margin:0;max-width:820px}
.problem-grid h2 em{font-style:normal;color:var(--blue)}
.problem-rail{border-left:1px solid var(--line);padding-left:26px;margin-top:8px}
.problem-rail div{padding:0 0 28px}.problem-rail div+div{border-top:1px solid var(--line);padding-top:28px}
.problem-rail span{font:9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.problem-rail p{margin:7px 0 0;font-size:14px;line-height:1.65;color:var(--text-2)}

.assembly-story{height:940vh;position:relative;background:linear-gradient(180deg,var(--canvas-2),var(--canvas));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.assembly-sticky{position:sticky;top:0;height:100svh;min-height:680px;display:flex;align-items:center;overflow:clip;padding-top:64px}
.assembly-layout{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(620px,1.22fr);gap:56px;align-items:center;min-width:0}
.assembly-copy{min-width:0}
.assembly-copy h2{font-family:var(--font-display);font-size:clamp(44px,4.6vw,74px);line-height:.96;letter-spacing:-.05em;margin:18px 0 18px;font-weight:640}
.assembly-copy h2 span{color:var(--blue)}
.assembly-lead{color:var(--text-2);font-size:14px;line-height:1.65;max-width:540px}
.stage-copy{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);min-height:156px}
.stage-kicker{font:9px var(--font-mono);letter-spacing:.12em;color:var(--blue)}
.stage-copy h3{font-size:24px;line-height:1.15;letter-spacing:-.025em;margin:9px 0 8px}
.stage-copy p{font-size:13px;color:var(--muted);line-height:1.62;margin:0;max-width:510px}
.stage-rail{display:grid;grid-template-columns:repeat(9,1fr);gap:0;margin-top:20px;max-width:560px;border-top:1px solid var(--line)}
.stage-rail button{appearance:none;border:0;background:transparent;padding:12px 0 0;min-width:0;display:grid;justify-items:center;gap:6px;color:var(--muted);cursor:pointer;position:relative}
.stage-rail button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:transparent}
.stage-rail button[aria-current="true"]::before{background:var(--blue)}
.stage-rail i{width:6px;height:6px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface)}
.stage-rail button[aria-current="true"] i{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)}
.stage-rail span{font:7px var(--font-mono);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:100%}

.server-stage{position:relative;height:min(720px,calc(100svh - 92px));min-height:560px;max-height:760px;min-width:0;perspective:1300px;isolation:isolate;overflow:clip}
.stage-grid{position:absolute;inset:3% 3% 5%;background-image:linear-gradient(color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 74%);opacity:.75}
.stage-floor{position:absolute;left:14%;right:8%;bottom:4%;height:130px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--blue) 10%,transparent),transparent 68%);transform:rotateX(72deg);filter:blur(7px)}
.stage-axis{position:absolute;font:7px var(--font-mono);letter-spacing:.09em;color:var(--muted);opacity:.7}.axis-x{left:7%;right:7%;bottom:8%;border-bottom:1px solid var(--line)}.axis-x span{position:absolute;right:0;bottom:5px}.axis-y{top:9%;bottom:8%;left:7%;border-left:1px solid var(--line)}.axis-y span{position:absolute;top:0;left:7px;writing-mode:vertical-rl}
.deployment-queue{position:absolute;left:4%;top:16%;width:126px;padding:10px 10px 11px;border-left:1px solid var(--line);font:7px var(--font-mono);letter-spacing:.1em;color:var(--muted);display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.deployment-queue span{grid-column:1/-1}.deployment-queue i{height:3px;background:var(--line);border-radius:2px}

.server-unit{position:absolute;left:52%;top:50%;width:520px;height:440px;transform:translate(-50%,-50%) rotateX(2.5deg) rotateY(-7deg);transform-style:preserve-3d;will-change:transform,filter;z-index:5}
.server-shadow{position:absolute;left:4%;right:-7%;bottom:-18%;height:26%;background:radial-gradient(ellipse,rgba(0,17,35,.32),transparent 68%);filter:blur(16px);transform:rotateX(75deg) translateZ(-70px)}
.server-back{position:absolute;inset:15px -36px 15px 36px;border-radius:18px;background:linear-gradient(90deg,#07101b,#15283a);border:1px solid rgba(255,255,255,.07);transform:translateZ(-52px)}
.server-side{position:absolute;right:-34px;top:30px;width:48px;height:376px;background:linear-gradient(90deg,#0d1b2a,#07111d);transform-origin:left center;transform:rotateY(73deg) translateZ(-18px);border:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:18px 8px;border-radius:0 10px 10px 0}
.server-side span{display:block;background:rgba(255,255,255,.05);border-radius:1px}
.server-face{position:absolute;inset:0;border-radius:18px;background:linear-gradient(150deg,#14283d,#0b1726 54%,#08111d);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow-strong),inset 0 1px rgba(255,255,255,.08),inset 0 -28px 60px rgba(0,0,0,.18);padding:18px;color:#edf5fa;overflow:hidden}
.server-face::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 15%,rgba(255,255,255,.035) 44%,transparent 55%);pointer-events:none}
.server-identity{height:38px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}
.server-identity>div:first-child span{display:block;font:7px var(--font-mono);letter-spacing:.12em;color:#6f879d}.server-identity>div:first-child b{font:600 10px var(--font-body);letter-spacing:.05em}
.server-state{font:8px var(--font-mono);letter-spacing:.1em;color:#8ea4b9;display:flex;align-items:center;gap:7px}.server-state i{background:#597084;box-shadow:none;transition:.4s}.server-state.online{color:#78dfa2}.server-state.online i{background:#47d889;box-shadow:0 0 12px rgba(71,216,137,.42)}
.control-plane{margin-top:11px;height:52px;display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:7px;opacity:.25;transition:.4s;position:relative;z-index:2}
.control-plane.ready{opacity:1}
.control-plane>div{border:1px solid rgba(110,172,234,.14);background:rgba(79,143,207,.04);border-radius:6px;padding:8px 9px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center}
.control-plane span{font:6px var(--font-mono);letter-spacing:.11em;color:#68849d}.control-plane b{font-size:9px;font-weight:550}.control-plane i{grid-row:1/3;grid-column:2;width:5px;height:5px;border-radius:50%;background:#385169;transition:.3s}.control-plane.ready i{background:#57c88b}.observe-cell{transition:.3s}.observe-cell.observe-live{border-color:rgba(85,204,144,.26);background:rgba(85,204,144,.05)}
.service-bay{margin-top:9px;height:152px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#07111d;padding:10px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:22px 1fr;gap:7px;position:relative;z-index:2}
.bay-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;font:7px var(--font-mono);letter-spacing:.1em;color:#6d8296}.bay-title small{font-size:6px;letter-spacing:.07em;color:#405567}
.service-slot{position:relative;border:1px dashed #21394e;border-radius:6px;overflow:hidden;background:#081522;min-width:0}
.slot-empty,.slot-service{position:absolute;inset:0;transition:opacity .25s,transform .35s ease}
.slot-empty{display:flex;align-items:center;justify-content:center;gap:8px;font:7px var(--font-mono);color:#3d566a}.slot-empty i{width:20px;height:8px;border-top:1px solid #2e4659;border-bottom:1px solid #2e4659}
.slot-service{opacity:0;transform:translateY(8px);padding:10px 9px;display:grid;grid-template-columns:24px 1fr 5px;align-items:center;gap:7px;background:linear-gradient(180deg,rgba(73,140,224,.08),rgba(6,17,29,.95));border:1px solid rgba(101,172,255,.18);border-radius:6px}
.service-slot.filled .slot-empty{opacity:0}.service-slot.filled .slot-service{opacity:1;transform:none}
.service-mark{width:24px;height:24px;border-radius:5px;border:1px solid rgba(115,187,255,.24);background:rgba(81,150,230,.08);display:flex;align-items:center;justify-content:center;font:700 8px var(--font-mono);color:#9dd0ff}.custom-mark{font-size:6px;color:#c8f19c;border-color:rgba(190,235,138,.2);background:rgba(190,235,138,.05)}
.slot-service b{font-size:8px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-service small{display:block;font:6px var(--font-mono);color:#63cc8f;margin-top:2px;letter-spacing:.06em}.slot-service>i{width:5px;height:5px;border-radius:50%;background:#4ed68a;box-shadow:0 0 8px rgba(78,214,138,.32)}
.data-plane{margin-top:9px;height:74px;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:8px 0;opacity:.3;transition:.4s;position:relative;z-index:2}.data-plane.ready{opacity:1}
.data-head{display:flex;justify-content:space-between;font:6px var(--font-mono);letter-spacing:.1em;color:#637c91}.data-head small{font-size:6px;letter-spacing:.05em;color:#415a6e}
.data-store{height:42px;margin-top:4px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px}.disk-stack{width:34px;height:26px;position:relative}.disk-stack i{position:absolute;left:0;width:30px;height:8px;border-radius:50%;border:1px solid #40607a;background:#0d2134}.disk-stack i:nth-child(1){top:1px}.disk-stack i:nth-child(2){top:8px}.disk-stack i:nth-child(3){top:15px}
.data-store b{font-size:9px}.data-store small{display:block;color:#668198;font:6px var(--font-mono);margin-top:2px}.data-store em{font:7px var(--font-mono);font-style:normal;color:#63cd8e;display:flex;align-items:center;gap:5px}.data-store em i{width:5px;height:5px}
.server-footer{height:70px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;position:relative;z-index:2}
.boot-console{align-self:stretch;padding:7px 0;display:flex;flex-direction:column;justify-content:center;font:6px/1.35 var(--font-mono);color:#3c5f4b}.boot-console span{opacity:.18;transition:.25s}.boot-console span.show{opacity:1;color:#6fc890}
.power-block{width:48px;height:48px;border-left:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:6px var(--font-mono);color:#687f93}.power-block i{width:8px;height:8px;border-radius:50%;background:#3e5364;transition:.35s}.power-block i.online{background:#46d98b;box-shadow:0 0 14px rgba(70,217,139,.5)}

.software-module{position:absolute;width:190px;height:70px;border:1px solid color-mix(in srgb,var(--blue-2) 25%,var(--line));background:color-mix(in srgb,var(--surface) 88%,var(--blue-3));border-radius:10px;box-shadow:0 20px 44px rgba(22,64,101,.16);padding:10px 11px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;z-index:10;opacity:0;will-change:transform,opacity;pointer-events:none}
.module-mark{width:36px;height:36px;border-radius:8px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));display:flex;align-items:center;justify-content:center;font:700 10px var(--font-mono);color:var(--blue)}
.software-module b{display:block;font-size:11px}.software-module small{display:block;margin-top:3px;font:7px var(--font-mono);letter-spacing:.05em;color:var(--muted)}.module-led{width:6px;height:6px;border-radius:50%;background:var(--blue-2)}
.mod-intake{left:2%;top:28%}.mod-workflow{left:6%;bottom:26%}.mod-operations{right:1%;top:19%}.mod-custom{right:0;bottom:22%}

.recovery-vault{position:absolute;right:2.5%;bottom:6.5%;width:190px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:13px 14px;z-index:4;opacity:.2;transform:translateY(10px);transition:opacity .4s,transform .4s,border-color .4s}.recovery-vault.ready{opacity:1;transform:none;border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.vault-top{display:flex;justify-content:space-between;align-items:center;font:7px var(--font-mono);letter-spacing:.1em;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line)}.vault-top i{width:5px;height:5px;border-radius:50%;background:var(--green)}
.vault-body{padding-top:9px}.vault-body b{display:block;font-size:11px}.vault-body small{display:block;font-size:8px;color:var(--muted);margin:3px 0 8px}.vault-body em{font:7px var(--font-mono);font-style:normal;color:var(--green);display:flex;gap:5px;align-items:center}.vault-body em i{width:5px;height:5px}
.recovery-link{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.recovery-link path{fill:none;stroke:color-mix(in srgb,var(--green) 62%,var(--line));stroke-width:1.2;stroke-dasharray:4 6;stroke-dashoffset:100;opacity:.3;transition:opacity .3s}.recovery-link.ready path{opacity:1;animation:dash 1.2s linear infinite}@keyframes dash{to{stroke-dashoffset:0}}
.observer-ring{position:absolute;left:52%;top:50%;width:590px;height:505px;border:1px solid color-mix(in srgb,var(--blue-2) 26%,transparent);border-radius:24px;transform:translate(-50%,-50%) scale(.96);opacity:0;z-index:2;transition:opacity .35s,transform .4s}.observer-ring::before,.observer-ring::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue-2);box-shadow:0 0 14px color-mix(in srgb,var(--blue-2) 55%,transparent)}.observer-ring::before{left:-4px;top:20%}.observer-ring::after{right:-4px;bottom:24%}.observer-ring i{position:absolute;inset:10px;border:1px dashed color-mix(in srgb,var(--blue) 14%,transparent);border-radius:17px}.observer-ring span{position:absolute;right:12px;top:-9px;padding:2px 6px;background:var(--canvas-2);font:7px var(--font-mono);letter-spacing:.1em;color:var(--blue)}.observer-ring.ready{opacity:1;transform:translate(-50%,-50%) scale(1)}
.system-online{position:absolute;left:52%;bottom:5%;transform:translate(-50%,14px);min-width:230px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--green) 34%,var(--line));background:color-mix(in srgb,var(--surface) 92%,var(--green-2));border-radius:10px;display:grid;grid-template-columns:8px auto;column-gap:9px;opacity:0;z-index:12;transition:.4s;box-shadow:var(--shadow)}.system-online>i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 14px color-mix(in srgb,var(--green) 50%,transparent);margin-top:3px}.system-online span{font:700 10px var(--font-mono);letter-spacing:.1em;color:var(--green)}.system-online small{grid-column:2;font-size:8px;color:var(--muted);margin-top:1px}.system-online.ready{opacity:1;transform:translate(-50%,0)}

.reality-note{background:var(--surface);border-bottom:1px solid var(--line)}
.note-line{display:grid;grid-template-columns:230px 1fr;gap:36px;padding:22px 0}.note-line span{font-size:8px;letter-spacing:.08em;color:var(--blue)}.note-line p{margin:0;font-size:11px;color:var(--muted);max-width:900px}

.control-section{padding:130px 0;background:var(--surface)}
.control-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start}
.section-heading h2{font-size:clamp(46px,5.2vw,82px);margin:18px 0 0;max-width:720px}
.control-ledger{border-top:1px solid var(--line)}
.control-ledger article{display:grid;grid-template-columns:48px 1fr auto;gap:22px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line)}
.ledger-no{font:9px var(--font-mono);color:var(--blue);padding-top:3px}.control-ledger h3{margin:0;font-size:18px;letter-spacing:-.02em}.control-ledger p{margin:7px 0 0;max-width:600px;font-size:13px;line-height:1.65;color:var(--text-2)}.control-ledger strong{font:8px var(--font-mono);letter-spacing:.12em;color:var(--muted);padding-top:4px}

.continuity-section{padding:140px 0;background:linear-gradient(180deg,var(--canvas),var(--canvas-2));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.continuity-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.continuity-copy h2{font-size:clamp(48px,5vw,78px);margin:18px 0 26px}.continuity-copy p{max-width:560px;color:var(--text-2);font-size:15px;line-height:1.68}
.continuity-visual{position:relative;min-height:470px;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:14px}
.continuity-primary,.continuity-vault{min-height:230px;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;box-shadow:var(--shadow)}
.continuity-primary::before{content:"";position:absolute;inset:18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 5%,transparent),transparent)}
.continuity-primary>*{position:relative}.continuity-primary>span,.continuity-vault>span{font:8px var(--font-mono);letter-spacing:.1em;color:var(--muted)}.continuity-primary>b,.continuity-vault>b{font-size:20px;margin:6px 0}.continuity-primary>small,.continuity-vault>small{display:flex;align-items:center;gap:6px;font:8px var(--font-mono);color:var(--green)}.continuity-primary>small i,.continuity-vault>small i{width:6px;height:6px;background:var(--green);border-radius:50%}
.tiny-services{position:absolute;left:24px;right:24px;top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tiny-services i{height:45px;border:1px solid var(--line);background:var(--canvas-2);border-radius:7px;display:flex;align-items:center;justify-content:center;font:700 9px var(--font-mono);font-style:normal;color:var(--blue)}
.continuity-arrow{text-align:center;color:var(--muted);font:7px var(--font-mono);letter-spacing:.08em}.continuity-arrow i{display:block;font-style:normal;font-size:24px;color:var(--blue);margin-top:8px}
.continuity-vault{background:color-mix(in srgb,var(--surface) 94%,var(--green-2));border-color:color-mix(in srgb,var(--green) 25%,var(--line))}
.restore-flow{position:absolute;left:0;right:0;bottom:18px;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:8px}.restore-flow span{font:7px var(--font-mono);color:var(--muted);white-space:nowrap}.restore-flow i{height:1px;background:linear-gradient(90deg,var(--blue),var(--green));opacity:.4}

.growth-section{padding:140px 0;background:var(--surface)}
.growth-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:76px;align-items:center}.growth-copy h2{font-size:clamp(48px,5vw,80px);margin:18px 0 24px}.growth-copy>p{font-size:15px;color:var(--text-2);line-height:1.65}
.growth-machine{position:relative;min-height:530px}.growth-machine svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.growth-machine path{fill:none;stroke:color-mix(in srgb,var(--blue) 35%,var(--line));stroke-width:1.1;stroke-dasharray:5 6}
.growth-core{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:280px;height:235px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-raised),var(--surface));box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.growth-core>span,.growth-extension>span{font:8px var(--font-mono);letter-spacing:.1em;color:var(--muted)}.growth-core>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.growth-core>div i{height:70px;border:1px solid var(--line);background:var(--canvas-2);border-radius:9px;font:700 10px var(--font-mono);font-style:normal;color:var(--blue);display:flex;align-items:center;justify-content:center}.growth-core>b{font:8px var(--font-mono);letter-spacing:.1em;color:var(--green)}
.growth-extension{position:absolute;right:2%;width:220px;height:92px;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:16px 17px;box-shadow:0 15px 34px rgba(30,70,110,.08);display:flex;flex-direction:column;justify-content:space-between}.growth-extension b{font-size:13px}.ext-one{top:7%}.ext-two{top:50%;transform:translateY(-50%)}.ext-three{bottom:7%}
.growth-list{margin-top:32px;border-top:1px solid var(--line)}.growth-list>div{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.growth-list span{font:8px var(--font-mono);color:var(--blue)}.growth-list p{margin:0;font-size:12px;color:var(--text-2)}

.process-section{padding:128px 0;background:var(--canvas-2);border-top:1px solid var(--line)}
.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.section-heading.compact h2{font-size:clamp(44px,4.6vw,70px)}
.process-track{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.process-track article{min-height:210px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.process-track span{font:9px var(--font-mono);color:var(--blue)}.process-track h3{font-size:19px;margin:32px 0 8px}.process-track p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}

.contact-section{padding:120px 0;background:linear-gradient(135deg,#0b2a56 0%,#0f4f88 46%,#0b7b68 100%);color:white;position:relative;overflow:hidden}
.contact-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,black,transparent 76%)}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .62fr;gap:90px;align-items:end}.section-index.inverse{color:#a9c8e6}.contact-grid h2{font-size:clamp(54px,6.3vw,96px);margin:18px 0 0;color:white}.contact-grid h2 span{color:#bdf3aa}.contact-side p{font-size:14px;line-height:1.65;color:#d2e5f4}.contact-button{margin-top:22px;min-height:52px;padding:0 18px;border-radius:12px;background:white;color:#0b3563;font-weight:750;display:flex;justify-content:space-between;align-items:center}.contact-side small{display:block;margin-top:11px;font-size:9px;color:#b2cce0}
.contact-signal{grid-column:1/-1;margin-top:42px;border-top:1px solid rgba(255,255,255,.19);padding-top:18px;display:flex;align-items:baseline;gap:11px}.contact-signal div{display:flex;align-items:center;gap:7px;font:8px var(--font-mono);letter-spacing:.12em;color:#b6d5e9}.contact-signal b{font:700 22px var(--font-mono);letter-spacing:.08em;color:#c7f3a6}.contact-signal small{font-size:9px;color:#a9c5d8}

.site-footer{background:#06111f;color:#8197ad;border-top:1px solid rgba(255,255,255,.07)}.site-footer .shell{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;font:8px var(--font-mono);letter-spacing:.08em}.site-footer a{color:#b3c5d5}

:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media(max-width:1180px){
  :root{--shell:min(100% - 40px,1160px)}
  .desktop-nav{gap:20px}.desktop-nav a{font-size:12px}
  .hero-grid{grid-template-columns:.95fr 1.05fr;gap:26px}.hero h1{font-size:clamp(58px,7vw,86px)}
  .hero-machine-wrap{transform:scale(.92);transform-origin:center}
  .assembly-layout{grid-template-columns:.74fr 1.26fr;gap:24px}.server-unit{width:490px;height:416px}.observer-ring{width:555px;height:475px}.software-module{width:168px}
  .problem-grid{grid-template-columns:130px 1fr .7fr;gap:30px}
}

@media(max-width:980px){
  :root{--shell:calc(100vw - 36px)}
  .desktop-nav,.header-cta{display:none}.menu-button{display:flex}
  .hero{min-height:auto;padding:118px 0 78px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:820px}.hero h1{font-size:clamp(62px,10vw,96px);max-width:900px}.hero-machine-wrap{height:620px;max-width:760px;width:100%;margin:18px auto 0;transform:none}
  .problem-grid{grid-template-columns:1fr}.problem-grid .section-index{margin-bottom:4px}.problem-rail{display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--line);padding:0}.problem-rail div{padding:22px 22px 0 0}.problem-rail div+div{border-top:0;border-left:1px solid var(--line);padding:22px 0 0 22px}
  .assembly-story{height:820vh}.assembly-sticky{padding-top:88px;align-items:flex-start}.assembly-layout{height:calc(100svh - 88px);grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:14px}.assembly-copy h2{font-size:44px;max-width:780px}.assembly-lead{display:none}.stage-copy{margin-top:12px;padding-top:12px;min-height:108px}.stage-copy h3{font-size:20px}.stage-copy p{font-size:11px}.stage-rail{margin-top:10px;max-width:none}.server-stage{height:auto;min-height:0;max-height:none;align-self:stretch}.server-unit{top:49%;transform:translate(-50%,-50%) scale(.82) rotateX(2deg) rotateY(-5deg)}.observer-ring{top:49%;transform:translate(-50%,-50%) scale(.82)}.observer-ring.ready{transform:translate(-50%,-50%) scale(.84)}.recovery-vault{right:6%;bottom:3%;transform:scale(.88);transform-origin:right bottom}.system-online{bottom:2%}.software-module{transform:scale(.86)}
  .control-layout,.continuity-grid,.growth-layout,.process-layout{grid-template-columns:1fr;gap:46px}
  .continuity-visual{max-width:820px;width:100%;margin:0 auto}.growth-machine{max-width:780px;width:100%;margin:0 auto}.growth-copy{max-width:760px}
  .contact-grid{grid-template-columns:1fr;gap:36px}.contact-signal{grid-column:auto}
}

@media(max-width:700px){
  :root{--shell:calc(100vw - 28px)}
  .header-inner{height:68px}.site-header .brand-name{font-size:10px}.theme-label,.language-current{display:none}.language-trigger{min-width:52px;width:52px;padding:0 7px;grid-template-columns:1fr auto;gap:4px}.language-code{width:25px}.mobile-nav{top:68px}
  .hero{padding-top:102px}.hero h1{font-size:clamp(48px,14vw,72px);line-height:.98}.hero-lead{font-size:15px}.hero-proof{grid-template-columns:1fr;margin-top:44px}.hero-proof div,.hero-proof div+div{border-left:0;border-bottom:1px solid var(--line);padding:13px 0}.hero-proof div:last-child{border-bottom:0}.hero-machine-wrap{height:510px;margin-top:10px}.hero-server{width:410px;height:318px;top:44%;left:50%;transform:translate(-50%,-50%) scale(.9) rotateX(2deg) rotateY(-5deg)}.hero-vault{right:1%;bottom:60px;transform:scale(.82);transform-origin:right bottom}.hero-caption{bottom:0;max-width:280px}.orbit-a{width:470px;height:310px}.orbit-b{width:360px;height:230px}
  .problem-band,.control-section,.continuity-section,.growth-section,.process-section{padding:92px 0}.problem-grid h2,.section-heading h2,.continuity-copy h2,.growth-copy h2{font-size:clamp(40px,11.5vw,60px)}.problem-rail{grid-template-columns:1fr}.problem-rail div+div{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}
  .assembly-story{height:auto}.assembly-sticky{position:relative;height:auto;min-height:0;padding:88px 0 70px}.assembly-layout{height:auto;display:block}.assembly-copy h2{font-size:42px}.assembly-lead{display:block}.stage-copy{min-height:142px}.stage-rail{overflow-x:auto;grid-template-columns:repeat(9,70px);padding-bottom:4px;scrollbar-width:thin}.stage-rail button{padding-top:10px}.server-stage{height:540px;margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .stage-axis,.deployment-queue{display:none}.server-unit{left:50%;top:47%;width:430px;height:364px;transform:translate(-50%,-50%) scale(.76) rotateX(1.5deg) rotateY(-3deg)}.observer-ring{left:50%;top:47%;width:490px;height:420px;transform:translate(-50%,-50%) scale(.74)}.observer-ring.ready{transform:translate(-50%,-50%) scale(.76)}.recovery-vault{right:2%;bottom:3%;width:170px;transform:scale(.82);transform-origin:right bottom}.software-module{width:150px;height:62px;padding:8px;grid-template-columns:30px 1fr auto;gap:7px}.module-mark{width:30px;height:30px}.mod-intake{left:1%;top:12%}.mod-workflow{left:1%;bottom:16%}.mod-operations{right:1%;top:12%}.mod-custom{right:1%;bottom:16%}.system-online{left:50%;bottom:2%;min-width:210px}
  .note-line{grid-template-columns:1fr;gap:7px}
  .control-ledger article{grid-template-columns:34px 1fr}.control-ledger strong{grid-column:2;margin-top:-4px}
  .continuity-visual{min-height:560px;grid-template-columns:1fr;gap:12px;align-items:stretch}.continuity-primary,.continuity-vault{min-height:185px}.continuity-arrow{display:flex;align-items:center;justify-content:center;gap:10px}.continuity-arrow i{margin:0;transform:rotate(90deg)}.restore-flow{position:relative;bottom:auto;grid-template-columns:auto 1fr auto 1fr auto;row-gap:6px;margin-top:2px}.restore-flow span:nth-of-type(4),.restore-flow span:nth-of-type(5){grid-row:2}.restore-flow i:nth-of-type(4){display:none}
  .growth-machine{min-height:620px}.growth-core{left:50%;top:10%;transform:translateX(-50%);width:min(100%,300px)}.growth-extension{right:auto;left:50%;transform:translateX(-50%);width:min(88%,260px)}.ext-one{top:54%}.ext-two{top:70%;transform:translateX(-50%)}.ext-three{bottom:1%}.growth-machine svg{display:none}
  .process-track{grid-template-columns:1fr}.process-track article{min-height:170px}
  .contact-section{padding:90px 0}.contact-grid h2{font-size:clamp(48px,13vw,70px)}.contact-signal{flex-wrap:wrap}.site-footer .shell{padding:18px 0;min-height:0;flex-direction:column;align-items:flex-start}
}

@media(max-width:430px){
  :root{--shell:calc(100vw - 24px)}
  .brand-mark{width:25px;height:25px}.hero{padding-top:94px}.hero h1{font-size:clamp(44px,13.5vw,60px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.btn-primary{width:100%}
  .hero-machine-wrap{height:470px}.hero-server{width:390px;height:302px;transform:translate(-50%,-50%) scale(.78) rotateX(1.5deg) rotateY(-3deg)}.hero-vault{bottom:58px;right:-8px;transform:scale(.72)}.hero-caption{max-width:250px}.orbit-a{width:400px}.orbit-b{width:310px}
  .assembly-copy h2{font-size:38px}.assembly-lead{font-size:12px}.stage-copy h3{font-size:19px}.server-stage{height:510px}.server-unit{width:420px;height:356px;transform:translate(-50%,-50%) scale(.66) rotateX(1deg) rotateY(-2deg)}.observer-ring{width:470px;height:402px;transform:translate(-50%,-50%) scale(.64)}.observer-ring.ready{transform:translate(-50%,-50%) scale(.66)}.software-module{width:142px;height:58px;transform:scale(.86)}.software-module b{font-size:9px}.software-module small{font-size:6px}.mod-intake{top:11%;left:-2%}.mod-operations{top:11%;right:-2%}.mod-workflow{bottom:18%;left:-2%}.mod-custom{bottom:18%;right:-2%}.recovery-vault{right:-7px;bottom:5px;transform:scale(.72)}.system-online{bottom:8px;transform:translate(-50%,14px) scale(.86)}.system-online.ready{transform:translate(-50%,0) scale(.86)}
  .control-ledger article{gap:10px}.control-ledger p{font-size:12px}.contact-button{width:100%}
}

@media(max-width:350px){
  :root{--shell:calc(100vw - 20px)}
  .language-trigger{min-width:46px;width:46px;padding:0 5px}.language-code{width:24px}.language-dropdown{right:-48px;width:176px}
  .theme-switch{width:40px;padding:0;justify-content:center}.theme-track{width:30px}.theme-track i{width:12px;height:12px}html[data-theme="dark"] .theme-track i{transform:translateX(12px)}
  .brand-name{letter-spacing:.08em}.hero h1{font-size:43px}.hero-machine-wrap{height:440px}.hero-server{transform:translate(-50%,-50%) scale(.70) rotateY(-1deg)}.hero-vault{transform:scale(.66);right:-16px}.hero-caption{max-width:220px}.server-stage{height:490px}.software-module{width:132px}.mod-intake,.mod-workflow{left:-6%}.mod-operations,.mod-custom{right:-6%}
  .recovery-vault{right:-16px}.stage-rail{grid-template-columns:repeat(9,64px)}
}

@media(prefers-reduced-motion:reduce){
  .depth-glint{display:none}
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .assembly-story{height:auto}.assembly-sticky{position:relative;height:auto;min-height:0;padding:100px 0}.assembly-layout{grid-template-columns:1fr}.server-stage{height:620px}.software-module{display:none}.service-slot .slot-empty{display:none}.service-slot .slot-service{opacity:1;transform:none}.control-plane,.data-plane{opacity:1}.recovery-vault{opacity:1;transform:none}.observer-ring{opacity:1;transform:translate(-50%,-50%) scale(1)}.system-online{opacity:1;transform:translate(-50%,0)}.boot-console span{opacity:1;color:#6fc890}.server-state i,.power-block i{background:#46d98b}.server-state{color:#78dfa2}
}

/* Final spatial QA adjustments: keep operational states in distinct zones. */
.recovery-vault{bottom:3%}
.system-online{
  border-color:color-mix(in srgb,var(--green) 48%,var(--line));
  background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 78%,var(--green-2)),var(--surface));
  box-shadow:0 18px 36px color-mix(in srgb,var(--green) 10%,rgba(24,70,105,.12));
}
.system-online span{color:color-mix(in srgb,var(--green) 78%,#0a4128)}
html[data-theme="dark"] .system-online span{color:var(--green-2)}

@media(max-width:700px){
  .server-stage{height:600px}
  .server-unit{top:43%}
  .observer-ring{top:43%}
  .recovery-vault{right:0;bottom:8px;width:160px;transform:scale(.92);transform-origin:right bottom}
  .system-online{left:2%;bottom:104px;min-width:184px;transform:translateY(10px);padding:10px 12px}
  .system-online.ready{transform:none}
}

@media(max-width:430px){
  .server-stage{height:580px}
  .server-unit{top:42%}
  .observer-ring{top:42%}
  .recovery-vault{right:-2px;bottom:6px;width:154px;transform:scale(.88)}
  .system-online{left:0;bottom:99px;min-width:176px;transform:translateY(10px) scale(.92);transform-origin:left bottom}
  .system-online.ready{transform:scale(.92)}
}

@media(max-width:350px){
  .server-stage{height:570px}
  .server-unit{top:41%}
  .observer-ring{top:41%}
  .recovery-vault{right:-5px;bottom:4px;width:150px;transform:scale(.82)}
  .system-online{left:0;bottom:94px;min-width:170px;transform:translateY(8px) scale(.86)}
  .system-online.ready{transform:scale(.86)}
}


/* ==========================================================================\n   CONCEPT 07 / SCROLL NARRATIVE + LOCAL DEPTH\n   The narrative now scrolls as real content while the server remains sticky.\n   ========================================================================== */

.assembly-story{
  height:auto;
  position:relative;
  background:
    linear-gradient(180deg,var(--canvas-2),var(--canvas) 22%,var(--canvas) 80%,var(--canvas-2));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:visible;
}
.assembly-layout{
  display:grid;
  grid-template-columns:minmax(330px,.76fr) minmax(600px,1.24fr);
  grid-template-areas:
    "intro visual"
    "steps visual";
  column-gap:clamp(34px,4.2vw,72px);
  align-items:start;
  min-width:0;
  padding:118px 0 136px;
}
.assembly-intro{
  grid-area:intro;
  min-height:calc(100svh - 146px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.assembly-intro h2{
  font-family:var(--font-display);
  font-size:clamp(44px,4.55vw,74px);
  line-height:.96;
  letter-spacing:-.05em;
  margin:18px 0 20px;
  font-weight:640;
  max-width:620px;
}
.assembly-intro h2 span{color:var(--blue)}
.assembly-intro .assembly-lead{
  max-width:560px;
  margin:0;
  color:var(--text-2);
  font-size:14px;
  line-height:1.68;
}
.assembly-principle{
  margin-top:32px;
  padding:17px 0 0 18px;
  border-top:1px solid var(--line);
  border-left:2px solid color-mix(in srgb,var(--blue) 48%,var(--line));
  max-width:520px;
}
.assembly-principle span{
  font:8px var(--font-mono);
  letter-spacing:.12em;
  color:var(--blue);
}
.assembly-principle p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
  max-width:430px;
}
.stage-list{grid-area:steps;min-width:0;position:relative}
.stage-step{
  min-height:58svh;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:8svh 0;
  border-top:1px solid var(--line);
  opacity:.28;
  transition:opacity .42s ease,filter .42s ease;
  position:relative;
  scroll-margin-top:18svh;
}
.stage-step:last-child{border-bottom:1px solid var(--line)}
.stage-step.is-past{opacity:.46}
.stage-step.is-active{opacity:1;filter:none}
.step-marker{
  align-self:stretch;
  display:grid;
  grid-template-rows:auto 1fr;
  justify-items:center;
  gap:12px;
  padding-top:3px;
}
.step-marker span{
  font:8px var(--font-mono);
  letter-spacing:.1em;
  color:var(--muted);
  transition:color .35s ease,transform .35s ease;
}
.step-marker i{
  display:block;
  width:1px;
  height:100%;
  min-height:86px;
  background:linear-gradient(var(--line-strong),var(--line));
  position:relative;
  overflow:visible;
}
.step-marker i::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--surface);
  border:1px solid var(--line-strong);
  transform:translate(-50%,-50%);
  transition:.35s ease;
}
.stage-step.is-active .step-marker span{color:var(--blue);transform:translateY(-1px)}
.stage-step.is-active .step-marker i{background:linear-gradient(var(--blue),color-mix(in srgb,var(--blue) 16%,var(--line)))}
.stage-step.is-active .step-marker i::before{
  background:var(--blue);
  border-color:var(--blue);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent),0 0 18px color-mix(in srgb,var(--blue) 22%,transparent);
}
.step-body{
  max-width:530px;
  transform:translateX(0);
  transition:transform .42s cubic-bezier(.2,.75,.2,1);
}
.stage-step.is-active .step-body{transform:translateX(8px)}
.step-body .stage-kicker{
  font:8px var(--font-mono);
  letter-spacing:.12em;
  color:var(--blue);
}
.step-body h3{
  margin:10px 0 10px;
  font-size:clamp(25px,2.15vw,34px);
  line-height:1.08;
  letter-spacing:-.035em;
  max-width:500px;
}
.step-body p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.66;
  max-width:500px;
}
.step-state{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid var(--line);
  min-width:190px;
}
.step-state span{font:7px var(--font-mono);letter-spacing:.1em;color:var(--muted)}
.step-state b{font:700 8px var(--font-mono);letter-spacing:.08em;color:var(--text-2)}
.stage-step.is-active .step-state b{color:var(--blue)}
.step-state.success b{color:var(--green)}

.assembly-visual{
  grid-area:visual;
  position:sticky;
  top:76px;
  height:calc(100svh - 92px);
  min-height:620px;
  max-height:780px;
  align-self:start;
  min-width:0;
  z-index:4;
}
.server-stage{
  height:100%;
  min-height:0;
  max-height:none;
  perspective:1350px;
  overflow:clip;
}
.stage-readout{
  position:absolute;
  top:7%;
  right:5%;
  z-index:16;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 9px;
  border-left:1px solid color-mix(in srgb,var(--blue) 42%,var(--line));
  background:color-mix(in srgb,var(--canvas) 82%,transparent);
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.stage-readout span{font:7px var(--font-mono);letter-spacing:.1em;color:var(--blue)}
.stage-readout b{font:650 8px var(--font-mono);letter-spacing:.08em;color:var(--text-2)}

/* The server uses variables so story-state motion and cursor parallax can coexist. */
.server-unit{
  --base-scale:1;
  --base-rx:2.5deg;
  --base-ry:-7deg;
  --story-scale:1;
  --story-x:0px;
  --story-y:0px;
  --story-ry:0deg;
  --pointer-x:0px;
  --pointer-y:0px;
  --pointer-rx:0deg;
  --pointer-ry:0deg;
  transform:
    translate(-50%,-50%)
    translate3d(calc(var(--story-x) + var(--pointer-x)),calc(var(--story-y) + var(--pointer-y)),0)
    scale(var(--base-scale))
    scale(var(--story-scale))
    rotateX(calc(var(--base-rx) + var(--pointer-rx)))
    rotateY(calc(var(--base-ry) + var(--story-ry) + var(--pointer-ry)));
  transition:filter .45s ease,transform .42s cubic-bezier(.2,.75,.2,1);
}
.server-face{transform-style:preserve-3d}
.server-stage[data-stage="1"] .data-plane{border-color:rgba(83,171,255,.2)}
.server-stage[data-stage="6"] .stage-floor{background:radial-gradient(ellipse,color-mix(in srgb,var(--green) 12%,transparent),transparent 68%)}
.server-stage[data-stage="7"] .stage-grid{opacity:.95}
.server-stage[data-stage="8"] .stage-grid{opacity:.5}

.data-plane.is-stage-focus .data-store,
.service-slot.is-stage-focus,
.vault-body.is-stage-focus{
  box-shadow:0 0 0 1px rgba(94,176,255,.24),0 12px 28px rgba(25,91,151,.10);
}
.service-slot.is-stage-focus{border-style:solid;border-color:rgba(101,172,255,.42)}
.recovery-vault.ready .vault-body.is-stage-focus{box-shadow:0 0 0 1px color-mix(in srgb,var(--green) 36%,transparent),0 14px 30px color-mix(in srgb,var(--green) 10%,transparent)}
.observer-ring.is-stage-focus{border-color:color-mix(in srgb,var(--blue-2) 58%,transparent)}
.control-plane.is-stage-focus>div{border-color:rgba(101,172,255,.28)}
.server-unit.self-check .server-face::after{animation:selfCheckSweep 1.55s cubic-bezier(.2,.7,.2,1) both}
@keyframes selfCheckSweep{
  0%{transform:translateX(-34%);opacity:.15}
  55%{opacity:.85}
  100%{transform:translateX(34%);opacity:.16}
}

/* Local spatial interaction -------------------------------------------------
   Each interactive surface has three cues, not just a shadow:
   1) a small physical lift, 2) cursor-relative tilt, 3) a moving light field.
   The motion is intentionally local: only the element under the pointer moves. */
[data-depth]{
  --depth-x:0px;
  --depth-y:0px;
  --depth-z:0px;
  --depth-rx:0deg;
  --depth-ry:0deg;
  --depth-light-x:50%;
  --depth-light-y:50%;
  --depth-inner-x:0px;
  --depth-inner-y:0px;
  transform:perspective(900px) translate3d(var(--depth-x),var(--depth-y),var(--depth-z)) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) scale(var(--apple-lift-scale,1));
  transform-style:preserve-3d;
  transform-origin:center;
  will-change:transform;
  transition:box-shadow .24s ease,border-color .24s ease,background-color .24s ease,filter .24s ease;
}
.depth-position-context{position:relative}
/* Inner content travels a little less/more than the panel, creating true
   relative parallax instead of a flat card tilt. */
.control-plane>div[data-depth]>span,.control-plane>div[data-depth]>b,.control-plane>div[data-depth]>i,
.mini-service-stack>div[data-depth]>*,
.service-slot[data-depth] .slot-service>*,
.data-store[data-depth]>*,
.vault-body[data-depth]>*,
.control-ledger article[data-depth]>*,
.continuity-primary[data-depth]>*,.continuity-vault[data-depth]>*,
.process-track article[data-depth]>*{
  transform:translate3d(var(--depth-inner-x),var(--depth-inner-y),10px);
  transform-style:preserve-3d;
  will-change:transform;
}

.depth-glint{
  position:absolute;
  inset:1px;
  z-index:20;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at var(--depth-light-x) var(--depth-light-y),rgba(146,210,255,.20) 0,rgba(104,177,255,.08) 18%,transparent 48%);
  mix-blend-mode:screen;
  transition:opacity .18s ease;
}
html[data-theme="dark"] .depth-glint{
  background:radial-gradient(circle at var(--depth-light-x) var(--depth-light-y),rgba(126,202,255,.18) 0,rgba(70,132,214,.08) 20%,transparent 50%);
}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  [data-depth].is-depth-active{z-index:18;filter:saturate(1.06) brightness(1.025)}
  [data-depth].is-depth-active>.depth-glint{opacity:1}
  .control-plane>div[data-depth].is-depth-active,
  .service-slot.filled[data-depth].is-depth-active,
  .data-store[data-depth].is-depth-active{
    border-color:rgba(119,190,255,.42);
    box-shadow:0 18px 34px rgba(0,0,0,.22),0 0 0 1px rgba(126,196,255,.16),inset 0 1px rgba(255,255,255,.05);
  }
  .mini-service-stack>div[data-depth].is-depth-active,
  .control-ledger article[data-depth].is-depth-active,
  .continuity-primary[data-depth].is-depth-active,
  .continuity-vault[data-depth].is-depth-active,
  .process-track article[data-depth].is-depth-active{
    box-shadow:0 22px 42px color-mix(in srgb,var(--blue) 14%,transparent),0 0 0 1px color-mix(in srgb,var(--blue-2) 18%,transparent);
  }
}

/* Generic module names / source positions. */
.mod-intake{left:2%;top:28%}
.mod-workflow{left:6%;bottom:26%}
.mod-operations{right:1%;top:19%}
.mod-custom{right:0;bottom:22%}

@media(max-width:1100px){
  .assembly-layout{
    grid-template-columns:1fr;
    grid-template-areas:"intro" "visual" "steps";
    gap:0;
    padding:102px 0 110px;
  }
  .assembly-intro{min-height:auto;max-width:790px;padding-bottom:58px}
  .assembly-intro h2{font-size:clamp(44px,7vw,70px);max-width:780px}
  .assembly-visual{
    position:sticky;
    top:74px;
    height:520px;
    min-height:0;
    max-height:none;
    z-index:5;
    background:linear-gradient(180deg,var(--canvas) 76%,color-mix(in srgb,var(--canvas) 92%,transparent));
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .stage-list{max-width:790px;position:relative;z-index:2}
  .stage-step{
    min-height:calc(100svh - 74px);
    padding:calc(520px + 5svh) 0 7svh;
    align-items:end;
  }
  .server-unit{--base-scale:.82;--base-rx:2deg;--base-ry:-5deg;left:50%;top:49%}
  .observer-ring{left:50%;top:49%;transform:translate(-50%,-50%) scale(.82)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.84)}
  .recovery-vault{right:5%;bottom:4%;transform:scale(.86);transform-origin:right bottom}
  .system-online{left:50%;bottom:3%}
}

@media(max-width:700px){
  .assembly-layout{padding:86px 0 80px}
  .assembly-intro{padding-bottom:38px}
  .assembly-intro h2{font-size:42px}
  .assembly-intro .assembly-lead{font-size:12px}
  .assembly-principle{margin-top:24px}
  .assembly-visual{top:68px;height:392px}
  .stage-readout{top:10px;left:10px;right:auto;max-width:calc(100% - 20px);background:color-mix(in srgb,var(--canvas) 90%,transparent)}
  .stage-readout b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
  .stage-axis,.deployment-queue{display:none}
  .stage-step{
    min-height:calc(100svh - 68px);
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    padding:calc(392px + 5svh) 0 8svh;
  }
  .step-body h3{font-size:24px}
  .step-body p{font-size:12px}
  .stage-step.is-active .step-body{transform:translateX(4px)}
  .server-unit{--base-scale:.73;--base-rx:1.4deg;--base-ry:-3deg;top:48%}
  .observer-ring{left:50%;top:48%;transform:translate(-50%,-50%) scale(.70)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.72)}
  .recovery-vault{right:1%;bottom:2%;width:160px;transform:scale(.76);transform-origin:right bottom}
  .system-online{left:2%;bottom:82px;min-width:176px;transform:translateY(10px) scale(.86);transform-origin:left bottom}
  .system-online.ready{transform:scale(.86)}
  .software-module{width:146px;height:60px;padding:8px;grid-template-columns:30px 1fr auto;gap:7px}
  .module-mark{width:30px;height:30px}
  .mod-intake{left:-1%;top:14%}
  .mod-workflow{left:-1%;bottom:13%}
  .mod-operations{right:-1%;top:14%}
  .mod-custom{right:-1%;bottom:13%}
}

@media(max-width:430px){
  .assembly-intro h2{font-size:38px}
  .assembly-visual{height:360px}
  .stage-step{padding-top:calc(360px + 5svh)}
  .server-unit{--base-scale:.63;--base-rx:1deg;--base-ry:-2deg;top:47%}
  .observer-ring{top:47%;transform:translate(-50%,-50%) scale(.60)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.62)}
  .recovery-vault{right:-4px;bottom:2px;width:150px;transform:scale(.68)}
  .system-online{left:0;bottom:76px;transform:translateY(8px) scale(.80)}
  .system-online.ready{transform:scale(.80)}
  .software-module{width:136px;height:56px;transform:scale(.82)}
  .software-module b{font-size:9px}.software-module small{font-size:6px}
  .mod-intake,.mod-workflow{left:-4%}
  .mod-operations,.mod-custom{right:-4%}
  .step-state{min-width:0}
}

@media(max-width:350px){
  .assembly-visual{height:340px}
  .stage-step{padding-top:calc(340px + 4svh)}
  .server-unit{--base-scale:.57;top:47%}
  .observer-ring{top:47%;transform:translate(-50%,-50%) scale(.55)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.57)}
  .software-module{width:128px}
  .mod-intake,.mod-workflow{left:-7%}.mod-operations,.mod-custom{right:-7%}
  .recovery-vault{right:-7px;transform:scale(.62)}
  .system-online{bottom:70px;transform:translateY(8px) scale(.74)}
  .system-online.ready{transform:scale(.74)}
}

@media(prefers-reduced-motion:reduce){
  .assembly-layout{grid-template-areas:"intro visual" "steps visual"}
  .assembly-visual{position:sticky;top:76px;height:calc(100svh - 92px)}
  .stage-step{min-height:42vh;padding:9vh 0;opacity:1}
  .server-unit{--story-scale:1!important;--story-x:0px!important;--story-y:0px!important;--story-ry:0deg!important}
  [data-depth]{transform:none!important}
}

/* Spatial QA pass / no-overlap guarantees for stacked breakpoints. */
@media(max-width:1100px) and (min-width:701px){
  .stage-step{padding-top:calc(520px + 12svh)}
}

@media(max-width:700px){
  .assembly-visual{height:390px}
  .stage-step{padding-top:calc(390px + 6svh)}
  .server-unit{--base-scale:.65;top:43%}
  .observer-ring{top:43%;transform:translate(-50%,-50%) scale(.63)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.65)}
  .recovery-vault{right:1%;bottom:7px;width:154px;transform:scale(.70);transform-origin:right bottom}
  .system-online{left:1%;bottom:7px;min-width:176px;transform:translateY(7px) scale(.80);transform-origin:left bottom}
  .system-online.ready{transform:scale(.80)}
}

@media(max-width:430px){
  .assembly-visual{height:372px}
  .stage-step{padding-top:calc(372px + 6svh)}
  .server-unit{--base-scale:.54;top:41%}
  .observer-ring{top:41%;transform:translate(-50%,-50%) scale(.52)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.54)}
  .recovery-vault{right:0;bottom:6px;width:146px;transform:scale(.66)}
  .system-online{left:0;bottom:6px;min-width:168px;transform:translateY(6px) scale(.76)}
  .system-online.ready{transform:scale(.76)}
}

@media(max-width:350px){
  .assembly-visual{height:354px}
  .stage-step{padding-top:calc(354px + 5svh)}
  .server-unit{--base-scale:.49;top:40%}
  .observer-ring{top:40%;transform:translate(-50%,-50%) scale(.47)}
  .observer-ring.ready{transform:translate(-50%,-50%) scale(.49)}
  .recovery-vault{right:-2px;bottom:5px;width:142px;transform:scale(.59)}
  .system-online{left:0;bottom:5px;min-width:164px;transform:translateY(5px) scale(.68)}
  .system-online.ready{transform:scale(.68)}
}

/* Recovery is not a decorative ghost: it enters only when the continuity stage exists. */
.recovery-vault{opacity:0;pointer-events:none}
.recovery-vault.ready{opacity:1;pointer-events:auto}
@media(max-width:1100px) and (min-width:701px){.recovery-vault.ready{transform:scale(.86)}}
@media(max-width:700px){.recovery-vault.ready{transform:scale(.70)}}
@media(max-width:430px){.recovery-vault.ready{transform:scale(.66)}}
@media(max-width:350px){.recovery-vault.ready{transform:scale(.59)}}


@media(forced-colors:active){
  .cursor-ring{border-color:Highlight!important;background:transparent!important;box-shadow:none!important}
  .cursor-ring::before,.cursor-ring::after,.cursor-dot{background:Highlight!important;box-shadow:none!important}
}
