/* New style, ported piece by piece: the rounded geometry, pill controls and bento grid of the reference,
   kept BLACK and monochrome. Ink page, neutral dark surfaces, paper text, hairlines; square frames with dashed crop marks.
   Pieces so far: navigation (.ns-menu), product bento (.ns-bento), hero and frontier graph (.frontier-opening overrides), learning curves (.learning overrides), 99:1 company figure (.future overrides), research chart (.proof overrides), agent-stack logo showcase (.ns-stack), SDK bridge, waitlist form and footer, category grid hero (#company-learning overrides), SDK page (.ns-sdk overrides), trusted-by marquee (.ns-marquee), sheet-row pulse, compliance badges (.ns-badges) in the footer, bracket links. */
:root{--ns-page:#101110;--ns-surface:#161616;--ns-surface-2:#1d1d1d;--ns-mark-x:28px;--ns-mark-y:10px;--ns-text:#f1f0ea;--ns-semi:rgba(241,240,234,.66);--ns-border:rgba(241,240,234,.1);--ns-border-strong:rgba(241,240,234,.3);--ns-accent:#f1f0ea;--ns-on-accent:#101110;--ns-r-s:0;--ns-r-m:0;--ns-r-l:0;--ns-round:0}
button,.button,.frontier-opening .frontier-cta,.ns-sdk .button{border-radius:0}
/* Sheet frames: dashed crop marks past every framed element's corners, one pseudo-element each. */
.ns-marks{position:relative}
.ns-marks::before{content:'';position:absolute;inset:calc(-1 * var(--ns-mark-y)) calc(-1 * var(--ns-mark-x));pointer-events:none;z-index:0;background-image:repeating-linear-gradient(90deg,var(--ns-border-strong) 0 4px,transparent 4px 9px),repeating-linear-gradient(90deg,var(--ns-border-strong) 0 4px,transparent 4px 9px),repeating-linear-gradient(180deg,var(--ns-border-strong) 0 4px,transparent 4px 9px),repeating-linear-gradient(180deg,var(--ns-border-strong) 0 4px,transparent 4px 9px);background-size:100% 1px,100% 1px,1px 100%,1px 100%;background-position:0 calc(var(--ns-mark-y) - 1px),0 calc(100% - var(--ns-mark-y) + 1px),calc(var(--ns-mark-x) - 1px) 0,calc(100% - var(--ns-mark-x) + 1px) 0;background-repeat:no-repeat}
.ns-marks>*{position:relative;z-index:1}
@media(max-width:739px){:root{--ns-mark-x:16px;--ns-mark-y:8px}}
/* Piece 01: navigation. A dark pill bar with dropdown cards for the grouped items, a ghost Log in and a paper Sign up.
   On narrow screens the bar collapses into a full-screen menu. */
.ns-header{padding-top:16px}
.ns-menu{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:66px;padding:6px 8px 6px 26px;background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:var(--ns-round);color:var(--ns-text);font-family:Jakarta,Arial,sans-serif;letter-spacing:0}
.ns-menu a{color:inherit;text-decoration:none}
.ns-menu :focus-visible{outline:2px solid var(--ns-text);outline-offset:3px}
.ns-menu-brand{display:inline-flex;align-items:center;min-height:44px;margin-right:4px}
.ns-menu-brand img{width:112px;height:auto;display:block}
.ns-menu-panel{display:flex;flex:1;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;min-width:0}
.ns-menu-list{display:flex;flex-wrap:wrap;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.ns-menu-group{position:relative}
.ns-menu-group::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px}
.ns-menu-link,.ns-menu-trigger{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:0;border-radius:var(--ns-round);background:transparent;color:var(--ns-text);font:500 14px/1 Jakarta,Arial,sans-serif;letter-spacing:0;cursor:pointer;transition:background-color .2s}
.ns-menu-link:hover,.ns-menu-trigger:hover,.ns-menu-group.open>.ns-menu-trigger{background:rgba(241,240,234,.08)}
.ns-chevron{display:inline-block;width:6px;height:6px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.75;transition:transform .2s}
.ns-menu-group.open .ns-chevron,.ns-menu-group:hover .ns-chevron{transform:rotate(225deg);margin-top:3px}
.ns-menu-dropdown{position:absolute;z-index:8;top:calc(100% + 14px);left:0;display:none;min-width:356px;padding:8px;background:var(--ns-surface-2);color:var(--ns-text);border:1px solid var(--ns-border);border-radius:0;box-shadow:0 18px 48px rgba(0,0,0,.5)}
.ns-menu-group:hover>.ns-menu-dropdown,.ns-menu:not(.ns-js) .ns-menu-group:focus-within>.ns-menu-dropdown,.ns-menu-group.open>.ns-menu-dropdown{display:block}
.ns-menu-item{display:block;padding:11px 14px;border-radius:0;transition:background-color .15s}
.ns-menu-item:hover,.ns-menu-item[aria-current=page]{background:rgba(241,240,234,.08)}
.ns-menu-item strong{display:block;font-size:15px;line-height:1.3;font-weight:500}
.ns-menu-item span{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:var(--ns-semi)}
.ns-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:var(--ns-round);background:var(--ns-accent);color:var(--ns-on-accent);font:500 10px/1.5 Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;font-style:normal;vertical-align:2px}
.ns-menu-aside{margin-top:6px;border-top:1px dashed var(--ns-border-strong);border-radius:0 0 12px 12px;padding-top:14px}
.ns-menu-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:none}
.ns-menu-login,.ns-menu-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:var(--ns-round);font-size:14px;font-weight:500;transition:background-color .2s,border-color .2s}
.ns-menu-login{border:1px solid var(--ns-border-strong);color:var(--ns-text)}
.ns-menu-login:hover{border-color:var(--ns-text)}
.ns-menu .ns-menu-cta{background:var(--ns-accent);color:var(--ns-on-accent)}
.ns-menu .ns-menu-cta:hover{background:#d9d8d0}
.ns-menu-toggle{display:none;min-height:44px;margin-left:auto;padding:0 20px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);background:transparent;color:var(--ns-text);font:500 14px/1 Jakarta,Arial,sans-serif;cursor:pointer}
@media(max-width:1023px){
  .ns-menu.ns-js .ns-menu-toggle{display:inline-flex;align-items:center}
  .ns-menu.ns-js:not(.open) .ns-menu-panel{display:none}
  .ns-menu.ns-js.open{position:fixed;z-index:20;inset:0;overflow:auto;display:block;padding:0 24px 32px;background:var(--ns-page);border:0;border-radius:0}
  .ns-menu.ns-js.open .ns-menu-brand{position:absolute;top:16px;left:24px}
  .ns-menu.ns-js.open .ns-menu-toggle{position:absolute;top:16px;right:24px}
  .ns-menu.ns-js.open .ns-menu-panel{display:block;padding-top:96px}
  .ns-menu.ns-js.open .ns-menu-list{display:block}
  .ns-menu.ns-js.open .ns-menu-list>li{border-bottom:1px dashed var(--ns-border-strong)}
  .ns-menu.ns-js.open .ns-menu-link,.ns-menu.ns-js.open .ns-menu-trigger{width:100%;min-height:56px;padding:0;border-radius:0;font-size:18px;background:none;cursor:default}
  .ns-menu.ns-js.open .ns-chevron{display:none}
  .ns-menu.ns-js.open .ns-menu-dropdown{position:static;display:block;min-width:0;padding:0 0 8px;background:transparent;border:0;box-shadow:none;border-radius:0}
  .ns-menu.ns-js.open .ns-menu-item{padding:10px 0 12px 16px;border-radius:0;border-top:1px dashed var(--ns-border)}
  .ns-menu.ns-js.open .ns-menu-item:hover,.ns-menu.ns-js.open .ns-menu-item[aria-current=page]{background:transparent}
  .ns-menu.ns-js.open .ns-menu-item strong{font-size:16px}
  .ns-menu.ns-js.open .ns-menu-aside{margin-top:0;border-radius:0;padding-top:12px}
  .ns-menu.ns-js.open .ns-menu-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
  .ns-menu.ns-js.open .ns-menu-login{justify-content:center;min-height:52px}
  .ns-menu.ns-js.open .ns-menu-cta{justify-content:center;min-height:52px}
  .ns-menu:not(.ns-js) .ns-menu-panel{flex-wrap:wrap}
  .ns-menu:not(.ns-js) .ns-menu-list{flex-wrap:wrap}
  .ns-menu:not(.ns-js) .ns-menu-dropdown{position:static;display:block;border:0;box-shadow:none;background:transparent;min-width:0}
}
@media(max-width:479px){
  .ns-header{padding-top:12px}
  .ns-menu{min-height:60px;padding-left:20px}
  .ns-menu-brand img{width:96px}
  .ns-menu.ns-js.open{padding:0 20px 28px}
  .ns-menu.ns-js.open .ns-menu-brand{left:20px}
  .ns-menu.ns-js.open .ns-menu-toggle{right:20px}
}
/* Piece 02: product bento. Dark tiles on the ink page; the ownership tile carries a dashed paper ring. */
.ns-bento{padding:72px 0 92px;font-family:Jakarta,Arial,sans-serif;letter-spacing:-.01em}
.ns-headline{display:flex;flex-direction:column;gap:32px;margin-bottom:64px}
.ns-divider{height:0;width:100%;border-bottom:1px dashed var(--ns-border-strong)}
.ns-armed .ns-divider{width:0;transition:width 1s cubic-bezier(.39,.58,.57,1)}
.ns-armed.ns-in-view .ns-divider{width:100%}
.ns-label{margin:0;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.ns-h2{margin:0;max-width:640px;font-size:48px;line-height:.92;letter-spacing:-.04em;font-weight:400;color:var(--paper)}
.ns-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(304px,auto);grid-template-areas:"combine revise control keep" "work revise owned owned";gap:16px}
.ns-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;min-width:0;padding:32px;border:1px solid var(--ns-border);border-radius:0;background:var(--ns-surface);color:var(--ns-text);overflow:hidden}
.ns-card .ns-label{display:flex;gap:10px;color:var(--ns-text)}
.ns-card .ns-num{color:var(--ns-semi)}
.ns-card-figure{display:block;width:100%;max-width:150px;height:auto;margin:auto 0 0}
.ns-card-figure-tall{max-width:240px}
.ns-card-bottom{display:flex;flex-direction:column;gap:12px}
.ns-card-title{margin:0;font-size:28px;line-height:1.05;letter-spacing:-.03em;font-weight:400;color:var(--ns-text)}
.ns-card .ns-body{margin:0;font-size:16px;line-height:1.5;color:var(--ns-semi);max-width:34ch}
.ns-card-tall{min-height:624px}
.ns-card-accent{background:var(--ns-surface-2)}
.ns-card-accent .ns-label{color:var(--ns-accent)}
.ns-card-accent .ns-card-title{font-size:40px;max-width:12ch}
.ns-card-accent .ns-body{max-width:44ch}
.ns-card-accent .ns-card-bottom{padding-right:120px}
.ns-area-combine{grid-area:combine}.ns-area-revise{grid-area:revise}.ns-area-control{grid-area:control}.ns-area-keep{grid-area:keep}.ns-area-work{grid-area:work}.ns-area-owned{grid-area:owned}
.ns-ring{position:absolute;right:-150px;bottom:-230px;width:400px;height:400px;border:1px dashed var(--ns-accent);border-radius:50%;opacity:.8;pointer-events:none}
.ns-armed .ns-ring{transform:rotate(-90deg)}
.ns-armed.ns-in-view .ns-ring{transform:none;transition:transform 4.5s cubic-bezier(.2,.7,.2,1)}
.g-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-8px 0 0;font-size:13px;line-height:1.5;color:var(--ns-semi)}
.g-key-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.g-key i{display:inline-block;width:16px;height:10px;border:1px solid var(--ns-semi)}
.g-key-hatch{background:repeating-linear-gradient(55deg,var(--ns-semi) 0 1px,transparent 1px 5px)}
.g-key-solid{background:var(--ns-text);border-color:var(--ns-text)}
.g-key-cross{width:10px;height:10px;background:linear-gradient(45deg,transparent 45%,var(--ns-text) 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--ns-text) 45% 55%,transparent 55%)}
.g-hair{fill:none;stroke:var(--ns-semi);stroke-width:1;vector-effect:non-scaling-stroke}
.g-outline{fill:none;stroke:var(--ns-text);stroke-width:1;vector-effect:non-scaling-stroke}
.g-solid,.g-line{fill:var(--ns-text)}
.g-line-old{opacity:.4}
.g-scope{fill:none;stroke:var(--ns-semi);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.g-card{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}
.g-card-old{stroke:var(--ns-semi)}
.g-card-now{stroke:var(--ns-text);stroke-width:1.5}
.g-hatch-line{stroke:var(--ns-semi);stroke-width:1}
.ns-area-revise .g-hatch-fill{fill:url(#lab-hatch-revise);opacity:.6}
.ns-area-keep .g-hatch-fill{fill:url(#lab-hatch-keep);opacity:.6}
.g-cross{fill:none;stroke:var(--ns-text);stroke-width:1.25;vector-effect:non-scaling-stroke}
@media(max-width:991px){
  .ns-h2{font-size:44px}
  .ns-bento{padding:56px 0 68px}
  .ns-headline{margin-bottom:40px}
  .ns-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"combine revise" "control revise" "keep work" "owned owned"}
  .ns-card-tall{min-height:0}
  .ns-card-accent .ns-card-title{font-size:36px}
}
@media(max-width:767px){.ns-h2{font-size:40px}}
@media(max-width:479px){
  .ns-h2{font-size:36px}
  .ns-label{font-size:10px;line-height:12px}
  .ns-bento{padding:48px 0 56px}
  .ns-headline{gap:24px;margin-bottom:32px}
  .ns-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;grid-template-areas:"combine" "revise" "control" "keep" "work" "owned"}
  .ns-card{padding:24px;min-height:220px}
  .ns-card .ns-body{font-size:14px}
  .ns-card-title{font-size:24px}
  .ns-card-accent .ns-card-title{font-size:32px}
  .ns-card-accent .ns-card-bottom{padding-right:40px}
  .ns-ring{width:200px;height:200px;right:-96px;bottom:-118px}
}
/* Piece 03: hero and frontier graph. The opening stays on the ink page; the graph sits in a dark card.
   The frontier component's own colour tokens are remapped here, so its geometry, story and QA hooks are unchanged. */
.frontier-opening{--ink:var(--ns-surface);--paper:var(--ns-text);--muted:var(--ns-semi);--rule:rgba(241,240,234,.09);--line:rgba(241,240,234,.3);--axis:rgba(241,240,234,.45);--hatch:rgba(241,240,234,.38);--earlier:rgba(241,240,234,.45);--models:rgba(241,240,234,.62);padding:20px 0 8px;border-bottom:0;letter-spacing:-.01em}
.frontier-opening .opening{padding:48px 0 40px}
.frontier-opening .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:24px}
.frontier-opening h1{font-size:clamp(44px,4.5vw,66px);font-weight:400;letter-spacing:-.04em;line-height:.95;max-width:none}
.frontier-opening .lead{font-size:clamp(20px,1.75vw,24px);line-height:1.3;letter-spacing:-.02em}
@media(min-width:1001px){.frontier-opening .opening{grid-template-columns:1fr 1.08fr}}
.frontier-opening .argument-copy{font-size:17px;line-height:1.6}
.frontier-opening .frontier-cta{border-radius:var(--ns-round);min-height:50px;padding:0 24px;font-weight:500;transition:background-color .2s}
.frontier-opening .frontier-cta:hover{background:#d9d8d0}
.frontier-opening .frontier{padding:28px 32px 24px;background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:0}
.frontier-opening .release-label{font:500 11px/1.5 Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.frontier-opening .story-controls{display:flex;flex-wrap:wrap;border-top:1px dashed var(--line);gap:8px;margin-top:26px}
.frontier-opening .step{flex:1 1 200px}
.frontier-opening .replay{flex:0 0 auto}
.frontier-opening .step,.frontier-opening .replay{border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);background:transparent;padding:0 18px;min-height:48px;font-weight:500;transition:background-color .2s,border-color .2s}
.frontier-opening .step .num{font:500 11px/1 Jakarta,Arial,sans-serif;letter-spacing:.04em;opacity:.74}
.frontier-opening .step[aria-pressed=true]{background:var(--ns-text);border-color:var(--ns-text);color:var(--ns-page)}
.frontier-opening .step:hover:not(:disabled),.frontier-opening .replay:hover:not(:disabled){border-color:var(--ns-text)}
.frontier-opening .replay[aria-pressed=true]{background:var(--ns-accent);border-color:var(--ns-accent);color:var(--ns-on-accent)}
.frontier-opening .step-content h2{font-size:28px;font-weight:400;letter-spacing:-.03em;line-height:1.1}
@media(max-width:1000px){
  .frontier-opening h1{font-size:56px}
  .frontier-opening .step,.frontier-opening .replay{padding:0 14px}
}
@media(max-width:740px){
  .frontier-opening .opening{padding-top:28px}
  .frontier-opening h1{font-size:50px}
  .frontier-opening .frontier{padding:20px 18px 18px}
  .frontier-opening .step,.frontier-opening .replay{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:13px}
  .frontier-opening .step .num{display:inline;margin:0 8px 0 0}
}
@media(max-width:480px){
  .frontier-opening h1{font-size:42px}
  .frontier-opening .frontier{padding:16px 12px 14px}
  .frontier-opening .step,.frontier-opening .replay{min-height:44px;padding:0 12px;font-size:12px;line-height:1.2}
  .frontier-opening .step{flex:1 1 100%}
  .frontier-opening .step-content h2{font-size:24px}
  .frontier-opening .axis-bottom{font-size:12px}
}
/* Piece 04: learning curves. Dashed section rule, uppercase label, lighter heading; the figure in a dark card
   with a pill segmented control. Geometry and behaviour unchanged. */
.learning{border-top:1px dashed var(--ns-border-strong);padding:72px 0 92px;letter-spacing:-.01em}
.learning .section-heading .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:24px}
.learning .section-heading h2{font-size:48px;line-height:.92;letter-spacing:-.04em;font-weight:400;max-width:560px}
.learning .section-heading .explanation{padding-top:12px}
.learning .explanation p{color:var(--ns-semi);font-size:17px;line-height:1.6}
.learning .learning-figure{margin-top:56px;padding:28px 32px 24px;background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:0}
.learning .learning-toolbar{margin-bottom:26px}
.learning .learning-toolbar>p{font-size:14px;color:var(--ns-semi)}
.learning .switcher{border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);padding:4px;gap:4px}
.learning .switcher button{border-radius:var(--ns-round);padding:0 18px;min-height:40px;font:500 14px/1 Jakarta,Arial,sans-serif;color:var(--ns-text);transition:background-color .2s,color .2s}
.learning .switcher button[aria-pressed=true]{background:var(--ns-text);color:var(--ns-page)}
.learning .switcher button[aria-pressed=true]:hover{color:var(--ns-page)}
.learning .plot-y{font:500 11px/1 Jakarta,Arial,sans-serif;letter-spacing:.04em;color:var(--ns-semi)}
.learning .chart-rule{stroke:rgba(241,240,234,.09)}
.learning .chart-axis{stroke:rgba(241,240,234,.3)}
.learning .ghost{stroke:rgba(241,240,234,.42)}
.learning .avoided{background:repeating-linear-gradient(120deg,transparent 0 5px,rgba(241,240,234,.42) 5px 6px)}
.learning .plot-x{font-size:13px;color:var(--ns-semi)}
.learning .plot-x span{border-left:1px solid var(--ns-border-strong)}
.learning .chart-key{font-size:13px;color:var(--ns-semi)}
.learning .line-key.dashed{border-color:rgba(241,240,234,.42)}
.learning .graph-reading{margin-top:30px}
.learning .graph-reading .state-caption{font-size:28px;line-height:1.1;letter-spacing:-.03em;font-weight:400}
.learning .graph-reading .qualification{color:var(--ns-semi);font-size:14px}
.learning .data-details{color:var(--ns-semi)}
.learning summary{color:var(--ns-text)}
.learning .data-details th,.learning .data-details td{border-bottom:1px solid var(--ns-border)}
@media(max-width:850px){
  .learning{padding:56px 0 68px}
  .learning .section-heading h2{font-size:44px;max-width:none}
  .learning .learning-figure{margin-top:32px}
}
@media(max-width:580px){
  .learning{padding:48px 0 56px}
  .learning .section-heading h2{font-size:40px}
  .learning .learning-figure{padding:18px 14px 16px}
  .learning .switcher button{flex:1;padding:0 10px;min-height:40px}
  .learning .graph-reading .state-caption{font-size:24px}
}
/* Piece 05: the 99:1 company figure. Dashed section rule, uppercase label, lighter heading; the drawing in a dark
   card with the retained-knowledge block and the three departments as nested tiles. Markup and behaviour unchanged. */
.future{border-top:1px dashed var(--ns-border-strong);padding:72px 0 92px;letter-spacing:-.01em}
.future .section-heading .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:24px}
.future .section-heading h2{font-size:clamp(44px,4.2vw,60px);line-height:.95;letter-spacing:-.04em;font-weight:400}
.future .section-heading .explanation{padding-top:12px}
.future .explanation p{color:var(--ns-semi);font-size:17px;line-height:1.6}
.future .company-figure{margin-top:48px}
.future .company-topline{margin-bottom:44px}
.future .company-topline p{font-size:14px;color:var(--ns-semi)}
.future .button.outline{border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);font-weight:500;min-height:44px;padding:0 18px;background:transparent;transition:border-color .2s}
.future .button.outline:hover{border-color:var(--ns-text);background:transparent}
.future .company-drawing{padding:32px;background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:0}
.future .human-authority h3{font-weight:400;font-size:20px;letter-spacing:-.025em}
.future .human-authority p{color:var(--ns-semi)}
.future .human-authority:after{background:var(--ns-border-strong)}
.future .knowledge-retained{border-left:0;padding:24px 26px;border:1px solid var(--ns-border);border-radius:0;background:var(--ns-page)}
.future .knowledge-retained:after{display:none}
.future .knowledge-retained:before{border-color:var(--ns-border-strong)}
.future .knowledge-retained .retained-tag{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.future .knowledge-retained h3{font-weight:400;font-size:28px;letter-spacing:-.03em;line-height:1.1}
.future .knowledge-retained p{color:var(--ns-semi)}
.future .scope-bus{border-top:1px dashed var(--ns-border-strong)}
.future .scope-bus:before{border-left-color:var(--ns-border-strong)}
.future .scope-bus span{background:var(--ns-surface);color:var(--ns-semi);font-size:13px}
.future .departments{gap:16px}
.future .department{border:1px solid var(--ns-border);border-radius:0;padding:20px 20px 18px;background:var(--ns-page)}
.future .department:before{border-left-color:var(--ns-border-strong)}
.future .department .scope-label{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:10px}
.future .department h3{font-weight:400;font-size:22px;letter-spacing:-.03em}
.future .department .model-label{color:var(--ns-text);font-size:14px}
.future .agent-mark{border-color:var(--ns-border-strong);border-radius:0}
.future .scope-note{color:var(--ns-semi);font-size:14px}
.future .company-reading p{color:var(--ns-semi);font-size:14px}
.future .model-status{color:var(--ns-text)}
@container(max-width:700px){
  .future .knowledge-retained{margin-left:0;border-top:1px solid var(--ns-border)}
  .future .knowledge-retained:before{display:none}
  .future .scope-bus{border-left:0;margin:0;padding:18px 0 12px}
  .future .departments{gap:12px;margin:0;border-left:0}
  .future .department{padding:18px;border:1px solid var(--ns-border)}
  .future .department+.department{padding-top:18px;border-top:1px solid var(--ns-border)}
  .future .department:before{display:none}
  .future .department:last-child{padding-bottom:18px}
}
@media(max-width:850px){
  .future{padding:56px 0 68px}
  .future .section-heading h2{font-size:48px}
  .future .company-figure{margin-top:32px}
  .future .company-drawing{padding:24px}
}
@media(max-width:580px){
  .future{padding:48px 0 56px}
  .future .section-heading h2{font-size:44px}
  .future .company-drawing{padding:18px 14px}
  .future .knowledge-retained{margin-left:0;border-top:1px solid var(--ns-border);padding:20px}
  .future .knowledge-retained:before{display:none}
  .future .scope-bus{border-left:0;margin:0;padding:16px 0 10px}
  .future .departments{gap:12px;margin:0;border-left:0}
  .future .department{padding:16px;border:1px solid var(--ns-border)}
  .future .department+.department{padding-top:16px;border-top:1px solid var(--ns-border)}
  .future .department:before{display:none}
  .future .department:last-child{padding-bottom:16px}
}
/* Piece 06: controlled research chart. Dashed section rule, uppercase label, lighter heading; the bars in a dark
   card with rounded ends and sans labels; the research link as a ghost pill. Values and data hooks unchanged. */
.proof{border-top:1px dashed var(--ns-border-strong);padding:72px 0 92px;letter-spacing:-.01em}
.proof .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:24px}
.proof h2{font-size:clamp(44px,4.2vw,60px);line-height:.95;letter-spacing:-.04em;font-weight:400}
.proof .proof-intro>p:not(.eyebrow){color:var(--ns-semi);font-size:17px;line-height:1.6;margin-top:24px}
.proof .research-link{display:inline-flex;align-items:center;gap:12px;min-height:46px;margin-top:28px;padding:0 20px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s}
.proof .research-link:hover{border-color:var(--ns-text)}
.proof .proof-figure{padding:28px 32px 24px;background:var(--ns-surface);border:1px solid var(--ns-border);border-radius:0}
.proof .proof-chart-title{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:18px}
.proof .bar-legend{color:var(--ns-semi);font-size:13px;margin-bottom:22px}
.proof .bar-key{border-radius:0;border-color:var(--ns-text)}
.proof .bar-key.learned{background:var(--ns-text)}
.proof .bar-grid span{background:rgba(241,240,234,.08)}
.proof .bar-group h3{font-weight:400;font-size:18px;letter-spacing:-.02em;background:var(--ns-surface)}
.proof .bar-row{height:24px}
.proof .bar-fill{border-radius:0;border-color:var(--ns-text)}
.proof .bar-fill.learned{background:var(--ns-text)}
.proof .bar-value{font:500 13px/1.4 Jakarta,Arial,sans-serif;color:var(--ns-text)}
.proof .bar-axis{font:500 11px/1 Jakarta,Arial,sans-serif;letter-spacing:.04em;color:var(--ns-semi);border-top:1px solid var(--ns-border-strong)}
.proof .proof-caption{color:var(--ns-semi);font-size:14px}
.proof .research-details{color:var(--ns-semi)}
.proof summary{color:var(--ns-text)}
.proof .research-details a{color:var(--ns-text)}
@media(max-width:850px){
  .proof{padding:56px 0 68px}
  .proof h2{font-size:48px}
}
@media(max-width:580px){
  .proof{padding:48px 0 56px}
  .proof h2{font-size:44px}
  .proof .proof-figure{padding:18px 14px 16px}
  .proof .research-link{margin-top:20px}
}
/* Piece 07: agent-stack logo showcase in the hero, in the 21st.dev "Logo Cloud 10" manner: a hairline cell sheet with
   dashed crop marks past its corners. Each category is a row: label cell, then logo cells; the lines are painted on the
   row so partial rows stay on the grid. Black: dark surface, paper icons. */
.ns-stack{margin:16px 0 64px;font-family:Jakarta,Arial,sans-serif;letter-spacing:-.01em}
.ns-stack-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:48px}
.ns-stack-title{margin:0;font:400 15px/1.4 Jakarta,Arial,sans-serif;letter-spacing:-.01em;color:var(--ns-text)}
.ns-stack-sub{display:block;margin-top:3px;font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-stack-actions{display:flex;flex-wrap:wrap;gap:8px}
.ns-stack-add{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);font:500 14px/1 Jakarta,Arial,sans-serif;text-decoration:none;transition:border-color .2s}
.ns-stack-add:hover{border-color:var(--ns-text)}
.ns-stack-add .ns-logo-icon{width:16px;height:16px;opacity:1}
.ns-stack-arrow{font-family:Arial,sans-serif;opacity:.7}
.ns-stack-frame{margin:0 2px}
.ns-stack-rows{position:relative;list-style:none;margin:0;padding:0;background:var(--ns-surface);border:1px solid var(--ns-border)}
.ns-stack-row{display:flex;border-top:1px solid var(--ns-border)}
.ns-stack-row:first-child{border-top:0}
.ns-stack-group{flex:0 0 118px;display:flex;align-items:center;padding:0 18px;border-right:1px solid var(--ns-border);font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-semi)}
.ns-stack-logos{--cols:6;--cell:58px;flex:1;min-width:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:var(--cell);background-image:linear-gradient(90deg,var(--ns-border) 1px,transparent 1px),linear-gradient(0deg,var(--ns-border) 1px,transparent 1px);background-size:calc(100% / var(--cols)) 100%,100% var(--cell);background-repeat:repeat-x,repeat-y}
.ns-stack-logos li{display:flex;align-items:center;justify-content:center;gap:8px;height:var(--cell);padding:0 10px;font-size:13px;color:var(--ns-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ns-logo-icon{width:17px;height:17px;flex:none;display:block;fill:currentColor;color:var(--ns-text);opacity:.85}
.ns-logo-wide{width:26px}
.ns-logo-word{width:auto;height:13px;opacity:1}
.ns-logo-icon mask [fill="white"]{fill:#fff}
.ns-logo-icon mask [fill="black"]{fill:#000}
@media(max-width:999px){
  .ns-stack-logos{--cols:4}
}
@media(max-width:739px){
  .ns-stack{margin:8px 0 44px}
  .ns-stack-add{flex:1 1 auto;justify-content:center}
  .ns-stack-head{margin-bottom:36px}
  .ns-stack-row{display:block}
  .ns-stack-group{min-height:40px;padding:0 14px;border-right:0;border-bottom:1px solid var(--ns-border)}
  .ns-stack-logos{--cols:3;--cell:52px}
  .ns-stack-logos li{font-size:12px;gap:7px;padding:0 6px}
}
@media(max-width:419px){
  .ns-stack-logos{--cols:2}
}
/* Piece 08: SDK bridge, waitlist form and footer, category grid hero (#company-learning overrides), SDK page (.ns-sdk overrides), trusted-by marquee (.ns-marquee), sheet-row pulse, compliance badges (.ns-badges) in the footer, bracket links. Dashed rules, lighter headings, the form as a square sheet with
   hairline fields and the company-size options as cells, ghost-pill links. Form behaviour unchanged. */
.sdk-bridge{border-top:1px dashed var(--ns-border-strong);padding:64px 0;letter-spacing:-.01em}
.sdk-bridge h2{font-size:clamp(36px,3.4vw,44px);line-height:.95;letter-spacing:-.04em;font-weight:400;max-width:520px}
.sdk-bridge p{color:var(--ns-semi);font-size:17px;line-height:1.6}
.sdk-bridge .text-link{display:inline-flex;align-items:center;gap:12px;min-height:46px;margin-top:22px;padding:0 20px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s}
.sdk-bridge .text-link:hover{border-color:var(--ns-text)}
.waitlist{border-top:1px dashed var(--ns-border-strong);padding:80px 0 96px;letter-spacing:-.01em}
.waitlist h2{font-size:clamp(44px,4.2vw,60px);line-height:.95;letter-spacing:-.04em;font-weight:400}
.waitlist-copy p{color:var(--ns-semi);font-size:17px;line-height:1.6}
.waitlist form{padding:26px 32px 32px;background:var(--ns-surface);border:1px solid var(--ns-border)}
.waitlist .prototype-notice{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);padding-bottom:16px;margin-bottom:24px;border-bottom:1px dashed var(--ns-border-strong)}
.waitlist .field-label{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:10px}
.waitlist input[type=email]{border:1px solid var(--ns-border-strong);border-radius:0;background:var(--ns-page);color:var(--ns-text);min-height:52px;font-size:16px;transition:border-color .2s}
.waitlist input[type=email]:hover{border-color:var(--ns-text)}
.waitlist input[aria-invalid=true]{border:1px solid var(--ns-text)}
.waitlist .audience-group{margin-top:22px}
.waitlist .audience-group legend{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:10px}
.waitlist .audience-group legend span{text-transform:none;letter-spacing:0}
.waitlist .audience-options{gap:0;border:1px solid var(--ns-border-strong)}
.waitlist .audience-option{border:0;border-right:1px solid var(--ns-border-strong);justify-content:center;padding:12px;min-height:50px;font-size:14px;transition:background-color .2s}
.waitlist .audience-option:last-child{border-right:0}
.waitlist .audience-option:hover{background:rgba(241,240,234,.05)}
.waitlist .audience-option:has(input:checked){background:rgba(241,240,234,.08);border-color:var(--ns-border-strong)}
.waitlist input[type=radio]{accent-color:var(--ns-text)}
.waitlist .form-submit{border-radius:var(--ns-round);min-height:50px;font-weight:500;transition:background-color .2s}
.waitlist .form-feedback{color:var(--ns-text)}
.waitlist .no-js{color:var(--ns-semi)}
.site-footer{border-top:1px dashed var(--ns-border-strong);padding:32px 0 40px;letter-spacing:-.01em}
.site-footer .footer-brand p,.site-footer .footer-bottom>span{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.site-footer .footer-nav{gap:4px;margin:0;justify-content:flex-start}
.site-footer .footer-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--ns-round);font-size:14px;font-weight:500;text-decoration:none;transition:background-color .2s}
.site-footer .footer-nav a:hover{background:rgba(241,240,234,.08);text-decoration:none}
@media(max-width:850px){
  .sdk-bridge{padding:48px 0}
  .waitlist{padding:60px 0 72px}
  .waitlist h2{font-size:48px}
}
@media(max-width:580px){
  .sdk-bridge{padding:40px 0}
  .sdk-bridge h2{font-size:34px}
  .waitlist{padding:48px 0 56px}
  .waitlist h2{font-size:42px}
  .waitlist form{padding:18px 14px 20px}
  .waitlist .audience-option{padding:10px 6px;font-size:13px}
  .site-footer{padding:26px 0 32px}
}
@media(max-width:350px){
  .waitlist .audience-option{border-right:0;border-bottom:1px solid var(--ns-border-strong)}
  .waitlist .audience-option:last-child{border-bottom:0}
}
/* Piece 09: the category grid hero. Dashed rule, uppercase labels, lighter heading, pill button; the 2x2 map as a
   hairline cell sheet with the memco cell marked by a paper inset border. Markup unchanged apart from the crop marks. */
#company-learning{border-top:1px dashed var(--ns-border-strong);padding:72px 0 80px;letter-spacing:-.01em}
#company-learning .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi)}
#company-learning .hero-copy h2{font-size:clamp(44px,4.2vw,60px);line-height:.95;letter-spacing:-.04em;font-weight:400;margin:22px 0 26px}
#company-learning .standfirst{color:var(--ns-semi);font-size:17px;line-height:1.6}
#company-learning .supporting{color:var(--ns-semi)}
#company-learning .button{border-radius:var(--ns-round);min-height:50px;font-weight:500;gap:14px;transition:background-color .2s}
#company-learning .hero-actions p{color:var(--ns-semi)}
.category-top,.category-bottom,.x-axis{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.category-top{margin:0 0 14px}
.category-top:before{color:var(--ns-text);font-family:Arial,sans-serif}
.category-bottom{margin:14px 0 10px}
.category-map{margin-left:0;border:1px solid var(--ns-border);gap:1px;background:var(--ns-border)}
.category-cell{padding:24px;min-height:176px;border:0;background:var(--ns-surface)}
.category-cell h3{font-weight:400;font-size:22px;line-height:1.15;letter-spacing:-.03em}
.category-cell p{color:var(--ns-semi)}
.category-cell.featured{background:var(--ns-surface-2);color:var(--ns-text);box-shadow:inset 0 0 0 1px var(--ns-text)}
.category-cell.featured h3{font-weight:400;font-size:30px;letter-spacing:-.04em;line-height:1}
.category-cell.featured .category-name{color:var(--ns-text);font-weight:500}
.category-cell.featured p{color:var(--ns-semi)}
.x-axis{margin-left:0;padding-top:10px;border-top:0}
.category-caption{margin:16px 0 0;color:var(--ns-semi)}
.mechanism{margin-left:0;padding-top:18px;border-top:1px dashed var(--ns-border-strong);color:var(--ns-semi)}
@media(max-width:850px){
  #company-learning{padding:56px 0 64px}
  #company-learning .hero-copy h2{font-size:48px}
  .category-cell{min-height:160px}
}
@media(max-width:580px){
  #company-learning{padding:48px 0 56px}
  #company-learning .hero-copy h2{font-size:42px}
  .category-cell{padding:18px 16px;min-height:150px}
  .category-cell h3{font-size:20px}
  .category-cell.featured h3{font-size:26px}
}
/* Monochrome base tokens for both pages' older rules. */
body{--rule:rgba(241,240,234,.12);--line:rgba(241,240,234,.38);--muted:rgba(241,240,234,.66)}
/* Piece 10: the SDK page. Its own tokens go neutral; the customer-roots figure, example tracks, code block and
   isolation items become hairline cell sheets with crop marks; tabs become a pill control; headings go lighter. */
.ns-sdk{--soft:var(--ns-surface);letter-spacing:-.01em}
.ns-sdk h1,.ns-sdk h2,.ns-sdk h3{font-weight:400}
.ns-sdk h1{font-size:clamp(48px,4.8vw,70px);line-height:.95;letter-spacing:-.04em}
.ns-sdk h2{font-size:clamp(40px,4vw,56px);line-height:.95;letter-spacing:-.04em}
.ns-sdk .eyebrow{font:500 12px/16px Jakarta,Arial,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .availability{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .availability::before{background:var(--ns-text)}
.ns-sdk .button{border-radius:var(--ns-round);min-height:50px;gap:14px;font-weight:500;transition:background-color .2s}
.ns-sdk .text-link{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 20px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);color:var(--ns-text);font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s}
.ns-sdk .text-link:hover{border-color:var(--ns-text);text-decoration:none}
.ns-sdk .hero-copy p{color:var(--ns-semi)}
.ns-sdk .section{border-top:1px dashed var(--ns-border-strong);padding-block:80px}
.ns-sdk .section-top>p,.ns-sdk .quickstart-heading p:last-child,.ns-sdk .isolation-heading>p:last-child{color:var(--ns-semi)}
/* customer roots */
.ns-sdk .learning-map{margin-top:64px}
.ns-sdk .map-heading p:first-child{font-size:16px;font-weight:500}
.ns-sdk .map-heading p:last-child,.ns-sdk .territory-note{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .territories{gap:1px;background:var(--ns-border);border:1px solid var(--ns-border)}
.ns-sdk .territory{padding:22px 24px 20px;background:var(--ns-surface);border-top:0}
.ns-sdk .territory-heading h3{font-size:20px}
.ns-sdk .territory-heading p{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .root-geometry::before{border-color:var(--ns-text);background:var(--ns-surface)}
.ns-sdk .domain-label{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:12px}
.ns-sdk .domain-path{border-left:1px solid var(--ns-border-strong)}
.ns-sdk .domain-path span{color:var(--ns-semi)}
.ns-sdk .territory-note{border-bottom:0;margin-top:18px;padding-bottom:0}
/* examples */
.ns-sdk .story-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);margin-bottom:28px}
.ns-sdk .tab{border:0;border-radius:var(--ns-round);padding:0 18px;min-height:40px;font:500 14px/1 Jakarta,Arial,sans-serif;letter-spacing:0;color:var(--ns-text);transition:background-color .2s,color .2s}
.ns-sdk .tab[aria-selected="true"]{background:var(--ns-text);color:var(--ns-page);border-color:transparent}
.ns-sdk .example-label{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi);margin-bottom:28px}
.ns-sdk .example-label .eyebrow{font-size:11px}
.ns-sdk .story-heading h3{font-size:28px;letter-spacing:-.03em}
.ns-sdk .story-heading p{color:var(--ns-semi)}
.ns-sdk .story-track{gap:1px;background:var(--ns-border);border:1px solid var(--ns-border)}
.ns-sdk .story-step{padding:22px 24px 24px;background:var(--ns-surface)}
.ns-sdk .step-label{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .step-index{border-radius:0;border-color:var(--ns-border-strong);font:500 11px/1 Jakarta,Arial,sans-serif;color:var(--ns-text)}
.ns-sdk .story-step>p{color:var(--ns-semi)}
.ns-sdk .lesson{color:var(--ns-text);border-top:1px solid var(--ns-text);border-bottom:0;font-weight:400}
.ns-sdk .scope-label{font:500 11px/16px Jakarta,Arial,sans-serif!important;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .applied{color:var(--ns-text)}
.ns-sdk .maintenance{border-top:1px dashed var(--ns-border-strong)}
.ns-sdk .maintenance>p{color:var(--ns-semi)}
.ns-sdk .boundary{font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.ns-sdk .boundary::before{border-color:var(--ns-text)}
/* quickstart */
.ns-sdk .setup h3,.ns-sdk .lifecycle h3{font-size:20px}
.ns-sdk .setup ol,.ns-sdk .lifecycle p,.ns-sdk .identity-note,.ns-sdk .sample-caption,.ns-sdk .code-status,.ns-sdk .code-meta,.ns-sdk .node-install summary{color:var(--ns-semi)}
.ns-sdk .identity-note{border-top:1px dashed var(--ns-border-strong)}
.ns-sdk .install{border-top:1px dashed var(--ns-border-strong)}
.ns-sdk .copy{border:1px solid var(--ns-border-strong);border-radius:var(--ns-round);min-height:40px;padding:0 16px;font:500 12px/1 Jakarta,Arial,sans-serif;color:var(--ns-text);transition:border-color .2s}
.ns-sdk .copy:hover{border-color:var(--ns-text)}
.ns-sdk .code-block{padding:18px 22px 22px;background:var(--ns-surface);border:1px solid var(--ns-border)}
.ns-sdk .code-block pre{color:var(--ns-text)}
.ns-sdk .comment{color:var(--ns-semi)}
.ns-sdk .string{color:rgba(241,240,234,.8)}
.ns-sdk .lifecycle{border-top:1px dashed var(--ns-border-strong)}
/* isolation and closing */
.ns-sdk .isolation-items{display:grid;gap:1px;background:var(--ns-border);border:1px solid var(--ns-border);border-top:1px solid var(--ns-border)}
.ns-sdk .isolation-item{padding:24px;background:var(--ns-surface);border-bottom:0}
.ns-sdk .isolation-item .eyebrow{font-size:11px;padding-top:4px}
.ns-sdk .isolation-item h3{font-size:20px}
.ns-sdk .isolation-item p{color:var(--ns-semi)}
.ns-sdk .closing h2{font-size:clamp(40px,4vw,54px)}
@media(max-width:820px){
  .ns-sdk .section{padding-block:64px}
  .ns-sdk .learning-map{margin-top:48px}
  .ns-sdk .story-track{gap:1px}
}
@media(max-width:600px){
  .ns-sdk .section{padding-block:52px}
  .ns-sdk h1{font-size:44px}
  .ns-sdk h2{font-size:38px}
  .ns-sdk .story-tabs{display:flex}
  .ns-sdk .tab{flex:1;padding:0 10px}
  .ns-sdk .territory,.ns-sdk .story-step,.ns-sdk .isolation-item{padding:18px 16px}
  .ns-sdk .code-block{padding:14px 12px 16px}
  .ns-sdk .closing h2{font-size:36px}
}
/* Piece 11: "Trusted by engineers at" marquee near the top of the hero, after the 21st.dev logo-cloud family's item
   design (mark plus small name). Pure CSS: three copies of the track loop seamlessly, edges fade, hover pauses,
   reduced motion shows a static row. */
.ns-marquee{margin:4px 0 40px;font-family:Jakarta,Arial,sans-serif;letter-spacing:-.01em}
.ns-marquee-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:18px}
.ns-marquee-title{margin:0;font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-semi)}
.ns-marquee-viewport{display:flex;overflow:hidden;padding:4px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ns-marquee-track{flex:none;display:flex;align-items:center;gap:56px;list-style:none;margin:0;padding:0 56px 0 0;animation:ns-marquee 42s linear infinite}
.ns-marquee-viewport:hover .ns-marquee-track{animation-play-state:paused}
.ns-marquee-track li{display:inline-flex;align-items:center;gap:10px;color:var(--ns-text);opacity:.82;font-size:15px;font-weight:500;white-space:nowrap}
.ns-marquee-icon{display:block;height:22px;width:auto;flex:none;fill:currentColor}
.ns-marquee-word{display:block;height:15px;width:auto;flex:none;fill:currentColor}
@keyframes ns-marquee{to{transform:translateX(-100%)}}
@media(max-width:739px){
  .ns-marquee{margin-bottom:32px}
  .ns-marquee-track{gap:40px;padding-right:40px;animation-duration:30s}
  .ns-marquee-track li{font-size:14px}
  .ns-marquee-icon{height:20px}
  .ns-marquee-word{height:13px}
}
/* A slow pulse: a soft band of bright blue at low alpha sweeps through each sheet row in turn. */
.ns-stack-logos{position:relative;overflow:hidden}
.ns-stack-logos li{position:relative;z-index:1}
.ns-stack-logos::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(96,146,255,.07) 30%,rgba(96,146,255,.16) 50%,rgba(96,146,255,.07) 70%,transparent 100%);transform:translateX(-100%);animation:ns-sweep 16s ease-in-out infinite}
.ns-stack-row:nth-child(2) .ns-stack-logos::after{animation-delay:4s}
.ns-stack-row:nth-child(3) .ns-stack-logos::after{animation-delay:8s}
.ns-stack-row:nth-child(4) .ns-stack-logos::after{animation-delay:12s}
@keyframes ns-sweep{0%{transform:translateX(-100%)}40%{transform:translateX(100%)}100%{transform:translateX(100%)}}
/* Button system: filled paper squares for primary actions; square hairline boxes for stateful controls;
   corner brackets for secondary links that lead somewhere. */
.ns-menu-login,.ns-stack-add,.proof .research-link,.sdk-bridge .text-link,.ns-sdk .text-link,.ns-sdk .setup .text-link{position:relative;border-color:transparent}
.ns-menu-login::before,.ns-menu-login::after,.ns-stack-add::before,.ns-stack-add::after,.proof .research-link::before,.proof .research-link::after,.sdk-bridge .text-link::before,.sdk-bridge .text-link::after,.ns-sdk .text-link::before,.ns-sdk .text-link::after{content:'';position:absolute;width:8px;height:8px;pointer-events:none;border:0 solid var(--ns-border-strong);transition:border-color .2s}
.ns-menu-login::before,.ns-stack-add::before,.proof .research-link::before,.sdk-bridge .text-link::before,.ns-sdk .text-link::before{top:-1px;left:-1px;border-top-width:1px;border-left-width:1px}
.ns-menu-login::after,.ns-stack-add::after,.proof .research-link::after,.sdk-bridge .text-link::after,.ns-sdk .text-link::after{bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px}
.ns-menu-login:hover,.ns-stack-add:hover,.proof .research-link:hover,.sdk-bridge .text-link:hover,.ns-sdk .text-link:hover{border-color:transparent;background:rgba(241,240,234,.06)}
.ns-menu-login:hover::before,.ns-menu-login:hover::after,.ns-stack-add:hover::before,.ns-stack-add:hover::after,.proof .research-link:hover::before,.proof .research-link:hover::after,.sdk-bridge .text-link:hover::before,.sdk-bridge .text-link:hover::after,.ns-sdk .text-link:hover::before,.ns-sdk .text-link:hover::after{border-color:var(--ns-text)}
/* Compliance badges: SOC 2 Type II and AI sovereignty as small square hairline tiles, placed in the footer (Piece 12). */
.ns-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.ns-badge{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:44px;padding:7px 14px 7px 10px;border:1px solid var(--ns-border-strong);color:var(--ns-text);opacity:.9}
.ns-badge-glyph{grid-row:1/span 2;width:18px;height:18px;color:var(--ns-text)}
.ns-badge-title{font:500 12px/1.25 Jakarta,Arial,sans-serif;letter-spacing:0}
.ns-badge-sub{font:500 9.5px/12px Jakarta,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-semi)}
@media(max-width:580px){.ns-marquee-head{margin-bottom:14px}.ns-badge{min-height:42px;padding:6px 12px 6px 9px}}
/* Spacing pass: more air between blocks, roomier cards. */
.frontier-opening{padding-top:36px}
.frontier-opening .opening{align-items:start;padding:44px 0 72px;gap:96px}
.frontier-opening .lead{margin-bottom:20px}
.frontier-opening .frontier-cta{margin-top:30px}
.ns-marquee{margin:48px 0 72px}
.ns-stack{margin:0 0 96px}
.ns-stack-head{margin-bottom:56px}
.frontier-opening .frontier{padding:36px 40px 32px}
.frontier-opening .track-success .ylabel{margin-bottom:24px}
.frontier-opening .story-controls{padding-top:28px}
.frontier-opening .step-content{padding:36px 0}
#company-learning{padding:112px 0 120px;gap:96px}
.ns-bento{padding:104px 0 120px}
.ns-headline{margin-bottom:72px}
.ns-card{padding:36px}
.learning,.future,.proof{padding:112px 0 120px}
.learning .learning-figure{margin-top:64px}
.learning .learning-toolbar{margin-bottom:32px}
.future .company-figure{margin-top:64px}
.future .company-drawing{padding:40px}
.proof{gap:96px}
.proof .proof-figure{padding:36px 40px 32px}
.sdk-bridge{padding:96px 0}
.waitlist{padding:112px 0 128px;gap:96px}
.waitlist form{padding:32px 36px 36px}
.site-footer{padding:44px 0 56px}
@media(max-width:1000px){
  .frontier-opening .opening{gap:56px}
  #company-learning,.waitlist,.proof{gap:56px}
}
@media(max-width:850px){
  .frontier-opening .opening{padding:36px 0 56px}
  .ns-marquee{margin-bottom:56px}
  .ns-stack{margin-bottom:72px}
  #company-learning,.ns-bento,.learning,.future,.proof{padding:80px 0 88px}
  .ns-headline{margin-bottom:48px}
  .ns-card{padding:28px}
  .future .company-drawing{padding:28px}
  .sdk-bridge{padding:64px 0}
  .waitlist{padding:80px 0 96px}
}
@media(max-width:580px){
  .frontier-opening .opening{padding:28px 0 44px}
  .ns-marquee{margin-bottom:44px}
  .ns-stack{margin-bottom:56px}
  .frontier-opening .frontier{padding:22px 16px 18px}
  #company-learning,.ns-bento,.learning,.future,.proof{padding:64px 0 72px}
  .ns-card{padding:24px}
  .future .company-drawing{padding:18px 14px}
  .proof .proof-figure{padding:22px 16px 18px}
  .sdk-bridge{padding:52px 0}
  .waitlist{padding:64px 0 72px}
  .waitlist form{padding:20px 16px 22px}
}
@media(prefers-reduced-motion:reduce){
  .ns-menu-link,.ns-menu-trigger,.ns-chevron,.ns-menu-item,.ns-menu-login,.ns-menu-cta,.ns-armed .ns-divider,.ns-armed.ns-in-view .ns-ring,.learning .switcher button,.future .button.outline,.proof .research-link,.ns-stack-add,.sdk-bridge .text-link,.waitlist input[type=email],.waitlist .audience-option,.waitlist .form-submit,.site-footer .footer-nav a,#company-learning .button,.ns-sdk .button,.ns-sdk .text-link,.ns-sdk .tab,.ns-sdk .copy{transition:none}
  .ns-armed .ns-divider{width:100%}
  .ns-armed .ns-ring{transform:none}
  .ns-marquee-track{animation:none}
  .ns-marquee-track[aria-hidden]{display:none}
  .ns-marquee-viewport{-webkit-mask-image:none;mask-image:none}
  .ns-marquee-track:first-child{flex-wrap:wrap;gap:20px 40px}
  .ns-stack-logos::after{animation:none;display:none}
}

/* Room under the graph: the hero ends well above the next section's dashed rule instead of the frame and the rule reading as a doubled line. */
.frontier-opening{padding-bottom:112px}
@media(max-width:850px){.frontier-opening{padding-bottom:80px}}
@media(max-width:580px){.frontier-opening{padding-bottom:56px}}

/* Piece 12: footer with the compliance badges, the same on both pages. Brand and links on the first row;
   under a dashed rule, the two square badges and the tagline. */
.site-footer{display:block}
.site-footer .footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 30px}
.site-footer .footer-brand{display:flex;align-items:center;gap:25px}
.site-footer .brand img{width:96px;height:auto}
.site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:32px;padding-top:28px;border-top:1px dashed var(--ns-border);font-size:inherit}
.site-footer .footer-bottom>span{display:block;margin:0}
.footer-badges{gap:8px}
.footer-badges .ns-badge{opacity:.85;text-transform:none;letter-spacing:0}
.footer-badges .ns-badge span{display:block;margin:0}
.footer-badges .ns-badge-title{display:block}
@media(max-width:580px){.site-footer .footer-row{align-items:flex-start}.site-footer .footer-brand{width:100%;justify-content:space-between}.site-footer .footer-bottom{margin-top:24px;padding-top:20px}}

/* The memco cell in the category grid carries the wordmark instead of the name, a touch smaller than the name was. */
.category-cell.featured .cell-wordmark{display:block;width:96px;height:auto;margin:8px 0 0}
@media(max-width:580px){.category-cell.featured .cell-wordmark{width:84px;margin:6px 0 0}}

/* Piece 13: typical success metrics. Nine measures as a hairline cell sheet with crop marks. */
.metrics{border-top:1px dashed var(--ns-border-strong);padding:104px 0 120px;letter-spacing:-.01em;display:grid;gap:64px}
.metrics .section-heading h2{font-size:clamp(40px,4vw,56px);line-height:.95;letter-spacing:-.04em;font-weight:400;max-width:none}
.metrics .section-heading h2 span{display:block}
.metrics .section-heading .explanation{padding-top:12px;color:var(--ns-semi);font-size:17px;line-height:1.6;max-width:480px}
.metrics-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ns-border);border:1px solid var(--ns-border)}
.metric{margin:0;padding:28px 28px 32px;min-height:196px;background:var(--ns-surface)}
.metric h3{margin:0 0 10px;font:400 20px/1.2 Jakarta,Arial,sans-serif;letter-spacing:-.02em;color:var(--ns-text)}
.metric p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ns-semi)}
@media(max-width:850px){.metrics{padding:80px 0 88px;gap:44px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric{min-height:0}}
@media(max-width:580px){.metrics{padding:56px 0 64px;gap:32px}.metrics .section-heading h2{font-size:34px}.metrics-grid{grid-template-columns:1fr}.metric{padding:22px 18px 24px}.metric h3{font-size:18px}}

/* Piece 15: the full footer. Brand and a line of introduction on the first row, five hairline columns of links, then the
   compliance badges and the legal line. */
.site-footer .footer-row{align-items:flex-start}
.site-footer .footer-intro{display:grid;gap:10px;justify-items:end;text-align:right}
.site-footer .footer-tagline{margin:0;max-width:none;font-size:15px;line-height:1.55;color:var(--ns-semi)}
.site-footer .footer-social{display:flex;gap:18px;margin:0;font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.site-footer .footer-social a{color:var(--ns-text);text-decoration:none;opacity:.8}
.site-footer .footer-social a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:32px;background:var(--ns-border);border:1px solid var(--ns-border)}
.site-footer .footer-col{display:grid;align-content:start;gap:9px;padding:22px 22px 26px;background:var(--ns-surface);min-width:0}
.site-footer .footer-col-title{margin:0 0 6px;font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-semi)}
.site-footer .footer-col a{font-size:14px;line-height:1.45;color:var(--ns-text);text-decoration:none;opacity:.86;transition:opacity .2s}
.site-footer .footer-col a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ns-border-strong)}
@media(max-width:1000px){.site-footer .footer-cols{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.site-footer .footer-row{flex-direction:column}.site-footer .footer-intro{justify-items:start;text-align:left}.site-footer .footer-cols{grid-template-columns:repeat(2,1fr);margin-top:24px}.site-footer .footer-col{padding:18px 16px 20px}}

/* Central icons (square outlined, stroke 1.5) rendered inline by tools/icons.cjs */
.ci{display:inline-block;flex:none;vertical-align:middle;color:currentColor}
.ns-menu-item{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;align-items:start}
.ns-menu-item .ns-menu-icon{grid-row:1/span 2;grid-column:1;margin-top:1px;color:var(--ns-semi);transition:color .15s}
.ns-menu-item:hover .ns-menu-icon,.ns-menu-item[aria-current=page] .ns-menu-icon{color:var(--ns-text)}
.ns-menu-item strong,.ns-menu-item span{grid-column:2}
.site-footer .footer-social a{display:inline-flex;align-items:center;gap:7px}

/* Piece 15: the hero constellation and the traced waitlist box. A faint grey particle field (scripts/hero-field.js) sits
   behind the top three fifths of the opening band, runs off the viewport edges and fades out downwards; a dashed hairline
   closes the band below and the background stays the page's own. The waitlist call to action is a hairline box with a
   light tracing its border. */
html,body{overflow-x:clip}
.frontier-opening .opening{position:relative}
.frontier-opening .opening>div:not(.ns-hero-deco){position:relative;z-index:1}
.frontier-opening .opening>.ns-hero-deco{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:0;pointer-events:none;overflow:hidden}
.ns-hero-deco .hl{position:absolute;left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,var(--ns-border-strong) 0 4px,transparent 4px 9px)}
.ns-hero-deco .hl.bottom{bottom:0}
.ns-hero-field{position:absolute;top:0;left:0;display:block;width:100%;height:60%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,#000 78%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent),linear-gradient(180deg,#000 78%,transparent);mask-composite:intersect}
@property --bw-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.frontier-opening .frontier-cta{position:relative;isolation:isolate;background:transparent;color:var(--paper);border:1px solid rgba(241,240,234,.28);transition:border-color .2s,background-color .2s}
.frontier-opening .frontier-cta:hover{background:rgba(241,240,234,.06);border-color:rgba(241,240,234,.55)}
.frontier-opening .frontier-cta::before,.frontier-opening .frontier-cta::after{content:'';position:absolute;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:bw-trace 3.6s linear infinite}
.frontier-opening .frontier-cta::before{inset:-1px;padding:1px;background:conic-gradient(from var(--bw-angle),transparent 0 68%,rgba(241,240,234,.06) 76%,rgba(241,240,234,.95) 100%)}
.frontier-opening .frontier-cta::after{inset:-5px;padding:5px;z-index:-1;opacity:.55;filter:blur(4px);background:conic-gradient(from var(--bw-angle),transparent 0 82%,rgba(241,240,234,.5) 100%)}
@keyframes bw-trace{to{--bw-angle:360deg}}
@media(prefers-reduced-motion:reduce){.frontier-opening .frontier-cta::before,.frontier-opening .frontier-cta::after{animation:none}.frontier-opening .frontier-cta::after{display:none}}

/* Piece 16: two ways in. Individuals, startups and scaleups sign up and start today; large companies join the waitlist. */
.waitlist-copy .waitlist-start{margin-top:32px;padding:22px 24px 24px;border:1px solid var(--ns-border);background:var(--ns-surface);max-width:470px}
.waitlist-copy .waitlist-start-label{margin:0;font:500 11px/16px Jakarta,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-semi)}
.waitlist-copy .waitlist-start-copy{margin:10px 0 18px;font-size:15px;line-height:1.55;color:var(--ns-semi)}
.waitlist-copy .waitlist-start .button{margin:0}
.waitlist .waitlist-path{margin:0 0 20px;font-size:15px;line-height:1.5;color:var(--ns-text)}
.frontier-opening .frontier-audience a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.waitlist-copy .waitlist-start{max-width:600px}}

/* Piece 17: capture the address where the button is. The hero "Join the waitlist" opens into a traced box holding one
   email field and a submit; the form at the foot of the page posts to the same endpoint. Honeypot fields sit off-screen. */
.frontier-opening .frontier-join{margin-top:30px}
.frontier-opening .frontier-join .frontier-cta{margin-top:0}
.frontier-opening .frontier-cta[hidden]{display:none}
.frontier-opening .frontier-form{position:relative;isolation:isolate;display:flex;align-items:stretch;min-height:50px;max-width:420px;border:1px solid rgba(241,240,234,.28);background:transparent}
.frontier-opening .frontier-form[hidden]{display:none}
.frontier-opening .frontier-form::before,.frontier-opening .frontier-form::after{content:'';position:absolute;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:bw-trace 3.6s linear infinite}
.frontier-opening .frontier-form::before{inset:-1px;padding:1px;background:conic-gradient(from var(--bw-angle),transparent 0 68%,rgba(241,240,234,.06) 76%,rgba(241,240,234,.95) 100%)}
.frontier-opening .frontier-form::after{inset:-5px;padding:5px;z-index:-1;opacity:.55;filter:blur(4px);background:conic-gradient(from var(--bw-angle),transparent 0 82%,rgba(241,240,234,.5) 100%)}
.frontier-opening .frontier-form input[type=email]{flex:1;min-width:0;border:0;background:transparent;color:var(--paper);font:400 15px/1.4 Jakarta,Arial,sans-serif;padding:0 16px;min-height:48px;box-shadow:none;border-radius:0}
.frontier-opening .frontier-form input[type=email]::placeholder{color:var(--muted);opacity:1}
.frontier-opening .frontier-form input[type=email]:focus{outline:none}
.frontier-opening .frontier-form:focus-within{border-color:rgba(241,240,234,.6)}
.frontier-opening .frontier-form input[aria-invalid="true"]{color:#f1f0ea;text-decoration:underline wavy rgba(241,240,234,.5)}
.frontier-opening .frontier-form button{flex:none;display:inline-flex;align-items:center;gap:14px;border:0;border-left:1px solid rgba(241,240,234,.28);background:transparent;color:var(--paper);font:500 15px/1 Jakarta,Arial,sans-serif;padding:0 18px;cursor:pointer;border-radius:0;transition:background-color .2s}
.frontier-opening .frontier-form button:hover{background:rgba(241,240,234,.06)}
.frontier-opening .frontier-form button:disabled{opacity:.6;cursor:default}
.frontier-opening .frontier-status{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--muted);max-width:420px}
.frontier-opening .frontier-status:empty{display:none}
.frontier-opening .frontier-status.is-ok{color:var(--paper)}
.frontier-opening .frontier-status:focus{outline:none}
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp label,.hp input{display:block;width:1px;height:1px;padding:0;margin:0;border:0;font-size:1px;line-height:1}
.waitlist .waitlist-path{margin:0 0 20px;padding-bottom:16px;border-bottom:1px dashed var(--ns-border-strong)}
.waitlist #form-status.is-ok{color:var(--ns-text)}
@media(prefers-reduced-motion:reduce){.frontier-opening .frontier-form::before,.frontier-opening .frontier-form::after{animation:none}.frontier-opening .frontier-form::after{display:none}}
@media(max-width:580px){.frontier-opening .frontier-form{max-width:none}.frontier-opening .frontier-form button{padding:0 14px}}

/* Piece 18: the menu bar sticks to the top at every width. Its backdrop runs edge to edge as frosted page colour:
   whatever scrolls beneath shows through as a soft blur, with no line or fade drawn. Anchors land below it. */
html{scroll-padding-top:96px}
.ns-header{position:sticky;top:0;z-index:15;padding-bottom:10px}
.ns-header::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:rgba(16,17,16,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:-1}
@supports not (backdrop-filter:blur(1px)){.ns-header::before{background:var(--ns-page)}}
@media(max-width:1023px){html{scroll-padding-top:84px}.ns-header{padding-bottom:8px}}
