@font-face {
  font-family:'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src:url(fonts/newsreader-latin-ext-opsz-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src:url(fonts/newsreader-latin-opsz-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Newsreader';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src:url(fonts/newsreader-latin-ext-opsz-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Newsreader';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src:url(fonts/newsreader-latin-opsz-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Schibsted Grotesk';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src:url(fonts/schibsted-grotesk-latin-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Schibsted Grotesk';
  font-style: normal;
  font-display: swap;
  font-weight: 400 900;
  src:url(fonts/schibsted-grotesk-latin-wght-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ==========================================================
   ULTRASSURE — design system
   Brand base pulled from ultrassure.com: navy #081120, cream #F7F3EE,
   ink #04060B, Schibsted Grotesk / Newsreader / IBM Plex Mono.
   Accent follows the live site: navy on light surfaces, cream/white on dark. Plus motion system.
   ========================================================== */
:root{
  --ink:#04060B; --navy:#081120; --navy-2:#0D1729; --navy-3:#15213A;
  --cream:#F7F3EE; --paper:#FBF8F4; --stone:#ECE7E0; --stone-2:#E2DCD3;
  --line:rgba(8,17,32,.10); --line-2:rgba(8,17,32,.16); --line-d:rgba(247,243,238,.12);
  --text:#081120; --bg:#F7F3EE; --card:#fff; --accent-text:var(--acc); --muted:#555D6C; --muted-d:rgba(247,243,238,.68);
  --acc:#081120; --acc-rgb:8,17,32; --acc-ink:#F7F3EE; --acc-hover:#16233A; --acc-soft:#081120; /* the live site has no colour accent: navy on light, cream on dark */
  --ok:#146039; --ok-wash:rgba(28,125,82,.10); --warn:#86500C; --warn-wash:rgba(196,128,26,.13); --bad:#B53A26; --bad-wash:rgba(181,58,38,.10);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-ui:cubic-bezier(.45,0,.25,1); /* symmetric in-out for hover states, so exits never snap */
  --t-in:.45s; --t-out:.6s;
  --f-sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-serif:"Newsreader",Georgia,serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gutter:clamp(16px,4vw,56px); --maxw:1360px; --header-h:72px;
  --r-s:8px; --r-m:14px; --r-l:22px;
  --shadow-ui:0 1px 0 rgba(255,255,255,.7) inset,0 40px 80px -32px rgba(8,17,32,.32),0 14px 28px -14px rgba(8,17,32,.18);
  --shadow-card:0 1px 2px rgba(8,17,32,.05),0 12px 32px -18px rgba(8,17,32,.22);
  --wash:radial-gradient(circle at 75% 20%,rgba(255,255,255,.9),rgba(255,255,255,0) 45%),linear-gradient(135deg,#FBF8F4,#E9E4DD);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-sans);font-size:17px;line-height:1.55;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:600}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--acc);color:var(--acc-ink)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.dark :focus-visible{outline-color:var(--acc-soft)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--navy);color:var(--cream);padding:10px 16px;border-radius:8px;transition:top .3s var(--ease)}
.skip:focus{top:12px}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.section{padding-block:clamp(88px,12vw,168px);position:relative}
.section.tight{padding-block:clamp(64px,8vw,112px)}
.dark{background:var(--ink);color:var(--cream)}
.navy{background:var(--navy);color:var(--cream)}
.paper{background:var(--paper)}
.stone{background:var(--stone)}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,32px)}

/* ---------- type ---------- */
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.dark .eyebrow,.navy .eyebrow{color:var(--muted-d)}
.eyebrow .tick{width:18px;height:1px;background:currentColor;opacity:.6}
.promise{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.h-display{font-size:clamp(2.6rem,5.4vw,5.25rem);line-height:1;letter-spacing:-.038em;font-weight:500;text-wrap:balance}
.h1{font-size:clamp(2.1rem,3.6vw,3.4rem);line-height:1.04;letter-spacing:-.032em;font-weight:500;text-wrap:balance}
.h2{font-size:clamp(1.75rem,2.8vw,2.6rem);line-height:1.06;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
.h3{font-size:clamp(1.3rem,1.7vw,1.6rem);line-height:1.2;letter-spacing:-.02em;font-weight:500}
.h4{font-size:1.125rem;line-height:1.25;letter-spacing:-.012em;font-weight:600}
.lead{font-size:clamp(1.0625rem,1.35vw,1.3125rem);line-height:1.5;color:var(--muted);max-width:40ch}
.dark .lead,.navy .lead{color:var(--muted-d)}
.muted{color:var(--muted)} .dark .muted,.navy .muted{color:var(--muted-d)}
.mono{font-family:var(--f-mono)}
.num{font-family:var(--f-sans);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-weight:600}
.accent{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.025em}
em.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}

/* ---------- buttons & links ---------- */
.btn{--bh:52px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--bh);padding:0 24px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);will-change:transform}
.btn .btn-label{display:inline-block;transition:transform .5s var(--ease)}
.btn-primary{background:var(--acc);color:var(--acc-ink);box-shadow:0 10px 24px -12px rgba(var(--acc-rgb),.7)}
.btn-primary:hover{background:var(--acc-hover)}
.btn-dark{background:var(--navy);color:var(--cream)}
.btn-dark:hover{background:#13213a}
.btn-ghost{border:1px solid var(--line-2);color:var(--text)}
.btn-ghost:hover{border-color:var(--text);background:rgba(8,17,32,.04)}
.dark .btn-ghost,.navy .btn-ghost{border-color:rgba(247,243,238,.26);color:var(--cream)}
.dark .btn-ghost:hover,.navy .btn-ghost:hover{border-color:var(--cream);background:rgba(247,243,238,.06)}
.btn-light{background:var(--cream);color:var(--text)}
.btn-light:hover{background:var(--card)}
.btn-sm{--bh:40px;padding:0 18px;font-size:14px}
.arrow{width:14px;height:14px;flex:none;display:inline-block;transition:transform .5s var(--ease)}
.ulink:hover .arrow{transform:translateX(3px)}
.btn:hover .arrow{transform:translateX(3px)}
.ulink{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:500}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.ulink:hover::after,.ulink:focus-visible::after{transform:scaleX(1);transform-origin:left}
.ulink.always::after{transform:scaleX(1);opacity:.35}
.ulink.always:hover::after{opacity:1}

/* ---------- chips ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line-2);color:var(--muted)}
.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.chip-live{border-color:rgba(28,125,82,.32);color:var(--ok);background:var(--ok-wash)}
.chip-soon{border-style:dashed;color:var(--muted);background:transparent}
.dark .chip,.navy .chip{border-color:rgba(247,243,238,.2);color:var(--muted-d)}
.dark .chip-live,.navy .chip-live{color:#6FD3A3;border-color:rgba(111,211,163,.35);background:rgba(111,211,163,.08)}
.chip-cobalt{color:var(--accent-text);border-color:rgba(var(--acc-rgb),.3);background:rgba(var(--acc-rgb),.07)}

/* ---------- header ---------- */
.announce{position:relative;z-index:61;background:var(--navy);color:var(--cream);font-size:13.5px}
.announce .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:40px;padding-right:56px}
.announce a{font-weight:500}
.announce .x{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;opacity:.7}
.announce .x:hover{opacity:1;background:rgba(247,243,238,.1)}
.announce.closing{transition:margin-top .6s var(--ease),opacity .4s;opacity:0}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;height:var(--header-h);transition:transform .7s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(247,243,238,.78);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom-color:var(--line)}
.site-header.hide{transform:translateY(-100%)}
.site-header .wrap{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;color:var(--text);height:22px}
.brand svg{height:100%;width:auto}
.nav{display:flex;gap:30px;margin-left:auto;font-size:15px}
.nav a{opacity:.82;transition:opacity .3s}
.nav a:hover,.nav a[aria-current="page"]{opacity:1}
.nav-cta{display:flex;gap:10px;margin-left:20px}
.progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}

.mnav{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--cream);padding:calc(var(--header-h) + 32px) var(--gutter) 32px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .9s var(--ease),visibility 0s linear .9s}
.mnav.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .9s var(--ease),visibility 0s}
.mnav ul a{display:block;font-size:clamp(2.5rem,11vw,4rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;padding:4px 0;transform:translateY(40px);opacity:0;transition:transform .9s var(--ease),opacity .9s var(--ease)}
.mnav.open ul a{transform:none;opacity:1;transition-delay:calc(.15s + var(--i)*70ms)}
.mnav .mnav-cta{display:flex;gap:10px;flex-wrap:wrap}
body.menu-open .site-header{background:transparent;border-color:transparent;color:var(--cream)}
body.menu-open .site-header .brand{color:var(--cream)}
body.menu-open .menu-btn{border-color:rgba(247,243,238,.3)}

/* ---------- reveal utilities ---------- */
.motion [data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--i,0)*75ms)}
.motion [data-reveal].in{opacity:1;transform:none}
.motion [data-clip]{clip-path:inset(12% 6% 12% 6% round 22px);opacity:.001;transition:clip-path 1.1s var(--ease),opacity .6s var(--ease)}
.motion [data-clip].in{clip-path:inset(0 0 0 0 round var(--clip-r,14px));opacity:1}
.split .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.split .line-inner{display:inline-block}
.motion .split .line-inner{transform:translate3d(0,108%,0);transition:transform 1.05s var(--ease);transition-delay:calc(var(--l,0)*80ms + var(--d,0ms))}
.motion .split.in .line-inner{transform:none}
.motion .split:not(.is-split){visibility:hidden}
.lift{transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(8,17,32,.35)}

/* ---------- product UI kit (designed visuals) ---------- */
.ui{--ui-bg:#fff;position:relative;background:var(--ui-bg);color:var(--text);border-radius:var(--r-m);box-shadow:var(--shadow-ui);border:1px solid rgba(8,17,32,.08);font-size:12.5px;line-height:1.45;overflow:hidden;text-align:left}
.ui-bar{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--paper)}
.ui-bar .crumb{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-bar .crumb b{color:var(--text);font-weight:500}
.ui-bar .sp{flex:1}
.ui-mark{width:18px;height:18px;border-radius:5px;background:var(--navy);color:var(--cream);display:grid;place-items:center;flex:none}
.ui-mark svg{width:10px;height:10px}
.ui-body{padding:16px}
.ui-note{display:block;text-align:right;padding:7px 14px;border-top:1px solid var(--line);background:var(--paper);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#5D6470}
.ui .tag{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:5px;font-family:var(--f-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.tag-high{background:var(--bad-wash);color:var(--bad)}
.tag-med{background:var(--warn-wash);color:var(--warn)}
.tag-low{background:rgba(8,17,32,.06);color:var(--muted)}
.tag-ok{background:var(--ok-wash);color:var(--ok)}
.tag-info{background:rgba(var(--acc-rgb),.07);color:var(--accent-text)}
.cite{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:4px;background:rgba(var(--acc-rgb),.07);color:var(--accent-text);font-family:var(--f-mono);font-size:10px;letter-spacing:.02em;font-weight:500;white-space:nowrap;vertical-align:1px}
.cite svg{width:9px;height:9px}
.hl{background:linear-gradient(transparent 0,transparent 0) ,linear-gradient(rgba(var(--acc-rgb),.13),rgba(var(--acc-rgb),.13));background-size:100% 100%,var(--hlw,100%) 100%;background-repeat:no-repeat;border-radius:2px;box-shadow:inset 0 -1.5px 0 rgba(var(--acc-rgb),.55);transition:background-size 1s var(--ease)}
.doc-line{height:6px;border-radius:3px;background:rgba(8,17,32,.09);margin:7px 0}
.doc-line.w60{width:60%}.doc-line.w80{width:82%}.doc-line.w90{width:92%}.doc-line.w40{width:42%}.doc-line.w70{width:70%}
.conf{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:10px;color:var(--muted)}
.conf i{display:block;width:34px;height:3px;border-radius:2px;background:rgba(8,17,32,.1);position:relative;overflow:hidden}
.conf i::after{content:"";position:absolute;inset:0;width:var(--c,90%);background:var(--ok)}

/* triage inbox */
.v-triage .filters{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.v-triage .filters span{height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:7px;border:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.v-triage .filters span.on{background:var(--navy);color:var(--cream);border-color:var(--text)}
.v-triage .filters b{font-family:var(--f-mono);font-weight:500;font-size:10.5px;opacity:.8}
.trow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) 66px 86px;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line)}
.trow>div:last-child{justify-self:end}
.trow .who b{display:block;font-weight:600;font-size:12.5px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .who span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.trow .lob{font-size:11.5px}
.trow .lob small{display:block;font-family:var(--f-mono);font-size:10px;color:var(--muted)}
.fit{font-family:var(--f-mono);font-size:11px}
.fit i{display:block;height:3px;border-radius:2px;background:rgba(8,17,32,.08);margin-top:4px;position:relative;overflow:hidden}
.fit i::after{content:"";position:absolute;inset:0;width:var(--f);background:var(--acc);border-radius:2px}
.trow.sel{background:linear-gradient(90deg,rgba(var(--acc-rgb),.07),transparent 70%);box-shadow:inset 2px 0 0 var(--acc)}

/* compare */
.v-compare .cols{display:grid;grid-template-columns:1fr 1fr}
.v-compare .col{padding:14px 16px}
.v-compare .col+.col{border-left:1px solid var(--line)}
.v-compare .colh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.clause-t{font-weight:600;font-size:12.5px;margin-bottom:6px;letter-spacing:-.01em}
.clause-p{font-family:var(--f-serif);font-size:13.5px;line-height:1.5;color:#26303F}
del.d{background:var(--bad-wash);color:var(--bad);text-decoration-color:rgba(181,58,38,.6);border-radius:2px;padding:0 2px}
ins.i{background:var(--ok-wash);color:var(--ok);text-decoration:none;border-radius:2px;padding:0 2px;box-shadow:inset 0 -1.5px 0 rgba(28,125,82,.4)}
.flag{display:flex;gap:10px;align-items:flex-start;margin:0 14px 14px;padding:10px 12px;border-radius:9px;background:var(--warn-wash);color:#6B4309;font-size:11.5px}
.flag svg{flex:none;width:14px;height:14px;margin-top:1px}
.flag b{font-weight:600}

/* claims */
.v-claims .loss{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;border-bottom:1px solid var(--line);background:var(--paper)}
.kv small{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.kv b{font-weight:600;font-size:13px;letter-spacing:-.01em}
.check{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.check:last-of-type{border-bottom:0}
.check .ic{width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.check .ic svg{width:11px;height:11px}
.ic.ok{background:var(--ok-wash);color:var(--ok)} .ic.warn{background:var(--warn-wash);color:var(--warn)} .ic.bad{background:var(--bad-wash);color:var(--bad)}
.check p{font-size:12px}
.check p small{display:block;color:var(--muted);font-size:11px}
.recov{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--navy);color:var(--cream)}
.recov small{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.recov b{font-size:18px;letter-spacing:-.03em;font-weight:600;font-variant-numeric:tabular-nums}

/* economics */
.v-econ table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.v-econ th{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:500;text-align:right;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--paper);white-space:nowrap}
.v-econ th:first-child,.v-econ td:first-child{text-align:left}
.v-econ td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;font-size:12px;white-space:nowrap}
.v-econ td b{font-weight:600}
.v-econ tr.sum td{background:var(--paper);font-weight:600}
.tower{display:flex;flex-direction:column-reverse;gap:3px;width:42px}
.tower i{display:block;border-radius:3px;background:var(--acc);opacity:var(--o)}
.econ-head{display:flex;gap:16px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}
.econ-head .kv{flex:1}
.bdx{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:11.5px;border-top:1px solid var(--line)}
.bdx .bar{flex:1;height:5px;border-radius:3px;background:rgba(8,17,32,.08);overflow:hidden}
.bdx .bar i{display:block;height:100%;width:var(--w,96%);background:var(--ok);border-radius:3px;transition:width 1.2s var(--ease)}

/* doc viewer */
.v-viewer .split2{display:grid;grid-template-columns:1.15fr 1fr;min-height:300px}
.v-viewer .page{padding:18px 20px;border-right:1px solid var(--line);background:linear-gradient(#fff,#fff) padding-box}
.v-viewer .page h5{margin:0 0 8px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
.v-viewer .page .para{font-family:var(--f-serif);font-size:12.5px;line-height:1.55;color:#2A3343;margin-bottom:10px}
.v-viewer .page .para b{font-family:var(--f-sans);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text);display:block;margin-bottom:2px}
.fields{padding:12px 14px}
.field{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px dashed var(--line-2);align-items:center}
.field:last-child{border-bottom:0}
.field small{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.field b{font-weight:600;font-size:12.5px;letter-spacing:-.01em;grid-column:1}
.field .cite{grid-column:2;grid-row:1/span 2}
.field.active{background:linear-gradient(90deg,rgba(var(--acc-rgb),.07),transparent);margin:0 -14px;padding-inline:14px;border-bottom-color:transparent}

/* agent */
.v-agent .thread{padding:16px;display:flex;flex-direction:column;gap:12px;min-height:260px}
.msg-u{align-self:flex-end;max-width:78%;background:var(--navy);color:var(--cream);padding:9px 12px;border-radius:12px 12px 3px 12px;font-size:12.5px}
.msg-a{display:grid;grid-template-columns:22px 1fr;gap:10px;max-width:94%}
.msg-a .av{width:22px;height:22px;border-radius:6px;background:var(--acc);color:#fff;display:grid;place-items:center}
.msg-a .av svg{width:11px;height:11px}
.msg-a .body{font-size:12.5px;color:#1C2535}
.msg-a .body p+p{margin-top:6px}
.srcs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.src{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border:1px solid var(--line-2);border-radius:6px;font-size:10.5px;font-family:var(--f-mono);color:var(--muted);background:var(--card)}
.src b{color:var(--accent-text);font-weight:500}
.composer{display:flex;align-items:center;gap:8px;margin:0 12px 12px;padding:8px 8px 8px 12px;border:1px solid var(--line-2);border-radius:10px;color:var(--muted);font-size:12px}
.composer .send{margin-left:auto;width:26px;height:26px;border-radius:7px;background:var(--navy);color:var(--cream);display:grid;place-items:center}
.composer .send svg{width:11px;height:11px}
.typing::after{content:"";display:inline-block;width:6px;height:13px;margin-left:2px;background:var(--acc);vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

/* compliance */
.v-comp .rule{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.v-comp .rule:last-child{border-bottom:0}
.v-comp .score{display:flex;align-items:center;gap:14px;padding:14px;border-bottom:1px solid var(--line);background:var(--paper)}
.ring{--v:80;width:44px;height:44px;border-radius:50%;background:conic-gradient(var(--acc) calc(var(--v)*1%),rgba(8,17,32,.08) 0);display:grid;place-items:center;flex:none}
.ring::after{content:"";width:34px;height:34px;border-radius:50%;background:var(--paper)}

/* ingest */
.v-ingest .files{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:14px}
.file{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:11.5px;min-width:0}
.file .ext{flex:none;width:30px;height:34px;border-radius:5px;display:grid;place-items:center;font-family:var(--f-mono);font-size:8.5px;font-weight:500;letter-spacing:.04em;color:#fff;background:var(--navy)}
.file .ext.x{background:#1D6B47}.file .ext.w{background:#2C4FB0}.file .ext.e{background:#7A5A12}.file .ext.t{background:#5B6270}
.file b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file small{font-family:var(--f-mono);font-size:9.5px;color:var(--muted)}
.file .st{margin-left:auto;flex:none}
.sources{display:flex;gap:8px;padding:0 14px 14px;flex-wrap:wrap}

/* ---------- hero ---------- */
.hero{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(64px,8vw,120px);position:relative;overflow:clip}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.hero h1{margin:22px 0 26px;font-size:clamp(2.6rem,5vw,4.9rem)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.hero .meta{margin-top:44px;display:flex;gap:28px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hero .meta span{display:inline-flex;align-items:center;gap:8px}
.hero .meta svg{width:14px;height:14px;color:var(--accent-text)}
.hero-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 82% 30%,rgba(var(--acc-rgb),.09),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(8,17,32,.04),transparent 70%)}
.hero-grid-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(70% 60% at 75% 40%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 75% 40%,#000 0%,transparent 75%);opacity:.6}
.stage{position:relative;perspective:1600px}
.stage-tilt{transform:rotateX(4deg) rotateY(-7deg) rotateZ(.6deg);transform-style:preserve-3d;transition:transform 1.2s var(--ease)}
.stage:hover .stage-tilt{transform:rotateX(2deg) rotateY(-3deg)}
.cycler{position:relative}
.cycler-tabs{display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:max-content;max-width:100%;margin-bottom:14px;box-shadow:var(--shadow-card);overflow-x:auto;scrollbar-width:none}
.cycler-tabs button{position:relative;height:32px;padding:0 13px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--muted);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:color .4s var(--ease),background-color .4s var(--ease)}
.cycler-tabs button .n{font-family:var(--f-mono);font-size:10px;opacity:.7}
.cycler-tabs button[aria-selected="true"]{background:var(--navy);color:var(--cream)}
.cycler-tabs button .bar{position:absolute;left:13px;right:13px;bottom:4px;height:1.5px;background:var(--acc-soft);transform:scaleX(0);transform-origin:left}
.cycler-tabs button[aria-selected="true"] .bar{animation:fill var(--dur,5s) linear forwards}
.cycler.paused .cycler-tabs button .bar{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.cycler-panels{position:relative;display:grid}
.cycler-panels>.panel{grid-area:1/1;opacity:0;transform:translate3d(0,14px,0) scale(.985);transition:opacity .7s var(--ease),transform .9s var(--ease),clip-path .9s var(--ease);clip-path:inset(0 0 8% 0 round 14px);pointer-events:none;visibility:hidden}
.cycler-panels>.panel.on{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 14px);pointer-events:auto;visibility:visible}
.cycler-foot{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:12.5px;color:var(--muted)}
.pause{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center}
.pause svg{width:10px;height:10px}
.float-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--card);box-shadow:var(--shadow-card);border:1px solid var(--line);font-size:12px;transform:translateZ(60px)}
.float-chip .cite{height:20px}
.float-chip.a{right:-22px;bottom:40px}
.float-chip.b{right:-6px;top:-4px}
.float-chip small{display:block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ---------- marquee ---------- */
.trust{border-block:1px solid var(--line);padding-block:30px;overflow:hidden}
.trust .wrap{display:flex;align-items:center;gap:40px}
.trust-label{flex:none;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);max-width:150px;line-height:1.4}
.marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marq 48s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;align-items:center;gap:64px;padding-right:64px}
.logo-word{display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--text);opacity:.78;font-weight:600;letter-spacing:-.02em;font-size:20px}
.logo-word .lm{width:26px;height:26px;border-radius:6px;border:1.5px solid currentColor;display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:0}
.logo-word.serif{font-family:var(--f-serif);font-weight:500;font-size:22px;letter-spacing:-.01em}
.logo-word.caps{text-transform:uppercase;letter-spacing:.08em;font-size:15px}
.logo-word small{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;opacity:.8}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- pinned lifecycle ---------- */
.pin{position:relative}
.pin-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.pin-sticky>.wrap{min-width:0}
.lc-visual,.cycler-panels,.acc-vis,.lm-detail .vis,.how-steps,.lc-steps{grid-template-columns:minmax(0,1fr)}
.cycler,.stage{min-width:0}
.hero-grid>*,.lc-grid>*{min-width:0}
.lc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,96px);align-items:center;width:100%}
.lc-head{margin-bottom:40px}
.lc-steps{position:relative;display:grid}
.lc-step{grid-area:1/1;opacity:0;transform:translate3d(0,24px,0);transition:opacity .6s var(--ease),transform .9s var(--ease);visibility:hidden}
.lc-step.on{opacity:1;transform:none;visibility:visible}
.lc-step .num{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--acc-soft)}
.lc-step h3{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.05;letter-spacing:-.03em;font-weight:500;margin:14px 0 16px}
.lc-step p{color:var(--muted-d);max-width:44ch}
.lc-step .mods{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.mod-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:rgba(247,243,238,.06);border:1px solid rgba(247,243,238,.14);font-size:12.5px}
.mod-pill i{width:6px;height:6px;border-radius:50%;background:var(--acc-soft)}
.lc-rail{display:flex;gap:6px;margin-top:44px}
.lc-rail button{flex:1;text-align:left;padding-top:14px;position:relative;font-size:12.5px;color:var(--muted-d);transition:color .5s var(--ease)}
.lc-rail button::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(247,243,238,.14);border-radius:2px}
.lc-rail button::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--acc-soft);border-radius:2px;transform:scaleX(var(--fill,0));transform-origin:left}
.lc-rail button.on{color:var(--cream)}
.lc-rail button small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;opacity:.7}
.lc-visual{position:relative;display:grid}
.lc-visual>.panel{grid-area:1/1;opacity:0;transform:translate3d(0,40px,0) scale(.97) rotate(.5deg);transition:opacity .7s var(--ease),transform 1s var(--ease),clip-path 1s var(--ease);clip-path:inset(6% 0 0 0 round 14px);visibility:hidden}
.lc-visual>.panel.on{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 14px);visibility:visible}
.lc-visual>.panel.past{opacity:0;transform:translate3d(0,-30px,0) scale(.97)}
.soon-ribbon{position:absolute;left:14px;top:-12px;z-index:4}
.spine{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(247,243,238,.14),transparent)}

/* ---------- layered system ---------- */
.layers-grid{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,72px);align-items:start}
.layer-nav{position:sticky;top:calc(var(--header-h) + 40px);display:flex;flex-direction:column;gap:2px}
.layer-nav a{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14px;color:var(--muted);transition:color .4s var(--ease)}
.layer-nav a .n{font-family:var(--f-mono);font-size:10.5px;width:22px}
.layer-nav a .ln{flex:none;width:14px;height:1px;background:currentColor;transition:width .6s var(--ease)}
.layer-nav a.on{color:var(--text)}
.layer-nav a.on .ln{width:28px;background:var(--acc)}
.layer-sec{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding-block:40px;border-top:1px solid var(--line)}
.layer-sec:first-child{border-top:0}
.layer-sec h3{margin:14px 0 16px}
.layer-sec ul{margin-top:22px;display:grid;gap:10px}
.layer-sec li{display:flex;gap:12px;font-size:15px}
.layer-sec li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--acc)}
.layer-visual{position:sticky;top:calc(var(--header-h) + 24px);height:calc(100vh - var(--header-h) - 48px);display:grid;place-items:center}
.stack{position:relative;width:min(100%,520px);aspect-ratio:1/1.02}
.slab{position:absolute;left:8%;right:8%;height:30%;transform-origin:center;transition:transform 1s var(--ease),opacity .8s var(--ease),filter .8s var(--ease)}
.slab .plane{position:absolute;inset:0;border-radius:18px;transform:perspective(1200px) rotateX(58deg) rotateZ(-38deg);border:1px solid var(--line-2);background:rgba(255,255,255,.82);box-shadow:0 30px 50px -30px rgba(8,17,32,.35);transition:background-color .8s var(--ease),border-color .8s var(--ease),box-shadow .8s var(--ease);display:grid;place-items:center;overflow:hidden}
.slab .plane .pat{position:absolute;inset:14px;opacity:.9}
.slab .lbl{position:absolute;right:-6%;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;white-space:nowrap;transition:color .6s var(--ease)}
.slab .lbl::before{content:"";width:34px;height:1px;background:currentColor;opacity:.5}
.slab:nth-child(1){top:2%}.slab:nth-child(2){top:20%}.slab:nth-child(3){top:38%}.slab:nth-child(4){top:56%}.slab:nth-child(5){top:72%}
.stack[data-active] .slab{opacity:.45}
.stack .slab.on{opacity:1}
.stack .slab.on .plane{background:var(--navy);border-color:var(--text);box-shadow:0 40px 70px -30px rgba(8,17,32,.6)}
.stack .slab.on .lbl{color:var(--text)}
.slab .plane .pat{color:var(--text);transition:color .8s var(--ease)}
.stack .slab.on .plane .pat{color:var(--acc-soft)}
.stack .slab.on{transform:translateX(-10px)}

/* ---------- audience tiles ---------- */
.tiles{display:flex;gap:14px;height:min(640px,78vh);margin-top:56px}
.tile{position:relative;flex:1;min-width:0;border-radius:var(--r-l);overflow:hidden;background:var(--navy-2);color:var(--cream);transition:flex-grow .9s var(--ease-ui);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;isolation:isolate}
.tile.is-active,.tile:focus-within{flex-grow:1.8}
.tile .art{position:absolute;inset:0;z-index:-1;color:rgba(247,243,238,.24);transition:transform 1.2s var(--ease-ui),color .9s var(--ease-ui)}
.tile .art svg{width:100%;height:100%}
.tile.is-active .art{transform:scale(1.04);color:rgba(247,243,238,.5)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,6,11,0) 35%,rgba(4,6,11,.88) 100%)}
.tile .idx{position:absolute;top:24px;left:28px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--muted-d)}
.tile h3{font-size:clamp(1.6rem,2.2vw,2.1rem);letter-spacing:-.03em;line-height:1.05;font-weight:500}
.tile .reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease-ui) .08s}
.tile .reveal>div{overflow:hidden}
.tile.is-active .reveal,.tile:focus-within .reveal{grid-template-rows:1fr;transition-delay:0s}
.tile .reveal p{padding-top:14px;color:var(--muted-d);max-width:34ch;font-size:15px;opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease-ui),transform .6s var(--ease-ui)}
.tile.is-active .reveal p,.tile:focus-within .reveal p{opacity:1;transform:none;transition:opacity .6s var(--ease-ui) .3s,transform .8s var(--ease-ui) .3s}
.tile .docs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tile .outcome{margin-top:10px;font-size:15px;max-width:30ch;color:var(--cream)}

/* ---------- metrics ---------- */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:56px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.metric .big{font-size:clamp(2.75rem,4.2vw,4rem);line-height:.95;letter-spacing:-.05em;font-weight:500;font-variant-numeric:tabular-nums}
.metric .big .u{font-size:.5em;letter-spacing:-.03em;margin-left:2px}
.metric .big.small{font-size:clamp(2.2rem,3.4vw,3.25rem)}
.metric .arrow-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.metric .arrow-row s{color:var(--muted);text-decoration-thickness:2px;font-weight:500}
.metric p{color:var(--muted);font-size:14.5px;margin-top:20px}
.metric .lbl{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.quote-card{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;background:var(--navy);color:var(--cream);border-radius:var(--r-l);padding:clamp(28px,4vw,56px);align-items:end}
.quote-card blockquote{margin:0;font-family:var(--f-serif);font-size:clamp(1.4rem,2.3vw,2.1rem);line-height:1.25;letter-spacing:-.015em}
.quote-card blockquote::before{content:"\201C";display:block;font-size:3em;line-height:.6;color:var(--acc-soft);margin-bottom:14px}
.quote-card .who{border-left:1px solid var(--line-d);padding-left:24px}
.quote-card .who b{display:block;font-weight:600}
.quote-card .who span{color:var(--muted-d);font-size:14.5px}

/* ---------- evidence demo ---------- */
.ev{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,3vw,48px);margin-top:56px;align-items:stretch}
.ev-q{display:flex;flex-direction:column;gap:8px}
.qbtn{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-size:15.5px;font-weight:500;letter-spacing:-.01em;transition:border-color .4s var(--ease),background-color .4s var(--ease),transform .5s var(--ease)}
.qbtn:hover{border-color:var(--line-2);transform:translateX(4px)}
.qbtn .k{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;background:var(--stone);color:var(--muted);transition:background-color .4s,color .4s}
.qbtn[aria-pressed="true"]{border-color:var(--accent-text);background:linear-gradient(90deg,rgba(var(--acc-rgb),.07),#fff 70%)}
.qbtn[aria-pressed="true"] .k{background:var(--acc);color:var(--acc-ink)}
.ev-answer{margin-top:16px;padding:22px;border-radius:16px;background:var(--navy);color:var(--cream);min-height:168px}
.ev-answer .lbl{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d);margin-bottom:12px}
.ev-answer .lbl .av{width:20px;height:20px;border-radius:6px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.ev-answer .lbl .av svg{width:10px;height:10px;color:var(--acc-ink)}
.ev-answer p{font-size:17px;line-height:1.5;letter-spacing:-.01em}
.ev-answer .cite{background:rgba(247,243,238,.16);color:var(--acc-soft);height:22px;font-size:11px;cursor:pointer}
.ev-doc{position:relative;height:620px;display:flex;flex-direction:column}
.ev-doc .ui-body{flex:1;overflow:auto;padding:28px 34px;scroll-behavior:smooth;scrollbar-width:thin}
.ev-doc h4{font-family:var(--f-serif);font-weight:500;font-size:20px;letter-spacing:-.01em;margin-bottom:4px}
.ev-doc .sub{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.art-p{position:relative;font-family:var(--f-serif);font-size:14.5px;line-height:1.6;color:#2A3343;padding:10px 12px;margin:0 -12px 4px;border-radius:8px;transition:color .5s var(--ease)}
.art-p b{display:block;font-family:var(--f-sans);font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--text);margin-bottom:3px}
.art-p::before{content:"";position:absolute;inset:0;border-radius:8px;background:rgba(var(--acc-rgb),.07);box-shadow:inset 3px 0 0 var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease);z-index:-1}
.art-p{z-index:0}
.art-p.hit::before{transform:scaleX(1)}
.art-p.hit .mark{background:rgba(var(--acc-rgb),.13);box-shadow:inset 0 -2px 0 var(--acc);border-radius:2px}
.ev-doc .pill-page{position:absolute;right:16px;bottom:14px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:var(--muted);background:var(--paper);border:1px solid var(--line);padding:4px 8px;border-radius:6px}

/* ---------- security ---------- */
.sec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,120px);align-items:end}
.badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:56px}
.badge{border:1px solid var(--line-d);border-radius:var(--r-m);padding:22px;display:flex;flex-direction:column;gap:28px;min-height:170px;background:rgba(247,243,238,.02);transition:border-color .5s var(--ease),background-color .5s var(--ease)}
.badge:hover{border-color:rgba(247,243,238,.3);background:rgba(247,243,238,.04)}
.badge .seal{width:44px;height:44px;border-radius:50%;border:1px solid rgba(247,243,238,.3);display:grid;place-items:center;color:var(--acc-soft)}
.badge .seal svg{width:20px;height:20px}
.badge b{display:block;font-size:17px;letter-spacing:-.015em;font-weight:600}
.badge span{font-size:13.5px;color:var(--muted-d)}
.controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.controls span{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:8px;border:1px solid var(--line-d);color:var(--muted-d)}
.no-train{display:flex;gap:16px;align-items:flex-start;margin-top:28px;padding:22px;border-radius:var(--r-m);background:rgba(247,243,238,.08);border:1px solid rgba(247,243,238,.22)}
.no-train svg{flex:none;width:22px;height:22px;color:var(--acc-soft);margin-top:2px}

/* ---------- resources ---------- */
.res-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-top:56px}
.res{display:flex;flex-direction:column;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);overflow:hidden}
.res .cover{position:relative;aspect-ratio:16/10;background:var(--stone);overflow:hidden}
.res .cover svg{width:100%;height:100%;transition:transform 1.4s var(--ease)}
.res:hover .cover svg{transform:scale(1.05)}
.res .meta{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.res .meta .t{display:flex;gap:10px;align-items:center;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.res h3{font-size:1.3rem;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.res p{color:var(--muted);font-size:15px}
.res .go{margin-top:auto;padding-top:12px}
.news-list{margin-top:14px;border-top:1px solid var(--line)}
.news-list a{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line);transition:padding .6s var(--ease),background-color .5s}
.news-list a:hover{padding-inline:14px;background:rgba(8,17,32,.025)}
.news-list .d{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.news-list b{font-weight:500;font-size:17px;letter-spacing:-.015em}
.news-list svg{width:16px;height:16px;transition:transform .6s var(--ease)}
.news-list a:hover svg{transform:translate(3px,-3px)}

/* ---------- CTA + footer ---------- */
.cta-final{text-align:center;overflow:hidden;position:relative}
.cta-final .h-display{max-width:16ch;margin:24px auto 0}
.cta-final .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:44px}
.cta-final .glow{position:absolute;inset:auto 0 -40% 0;height:80%;background:radial-gradient(50% 60% at 50% 100%,rgba(var(--acc-rgb),.28),transparent 70%);pointer-events:none}
.footer{background:var(--ink);color:var(--cream);padding-top:clamp(72px,9vw,120px);overflow:hidden}
.foot-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(5,minmax(0,1fr));gap:32px}
.foot-top h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d);font-weight:500;margin-bottom:18px}
.foot-top li+li{margin-top:10px}
.foot-top a{font-size:14.5px;color:rgba(247,243,238,.86)}
.foot-top .tagline{font-family:var(--f-serif);font-style:italic;font-size:24px;line-height:1.25;max-width:16ch;color:var(--cream)}
.foot-top .trust-btn{margin-top:28px}
.foot-mark{margin-top:clamp(48px,6vw,88px);color:var(--cream)}
.motion .foot-mark svg{clip-path:inset(100% 0 0 0);transform:translateY(12%);transition:clip-path 1.4s var(--ease),transform 1.4s var(--ease)}
.motion .foot-mark.in svg{clip-path:inset(0 0 0 0);transform:none}
.foot-mark svg{display:block;width:min(52%,720px);height:auto}
@media (max-width:640px){.foot-mark svg{width:78%}}
.foot-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:28px;border-top:1px solid var(--line-d);margin-top:clamp(24px,3vw,40px);font-size:13px;color:var(--muted-d)}
.foot-bot nav{display:flex;gap:24px;flex-wrap:wrap}

/* ---------- platform page ---------- */
.p-hero{padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(40px,5vw,72px);text-align:center;position:relative;overflow:clip}
.p-hero .h-display{max-width:16ch;margin:24px auto 0}
.p-hero .lead{margin:28px auto 0;max-width:52ch}
.p-hero .ctas{display:flex;gap:12px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.p-hero-vis{position:relative;margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1.25fr 1fr;gap:20px;text-align:left;perspective:1800px}
.p-hero-vis .ui{transform-origin:center bottom}
.statband{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.statband>div{padding:clamp(28px,4vw,56px) var(--gutter);border-left:1px solid var(--line)}
.statband>div:first-child{border-left:0}
.statband .num{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.95;display:block;font-weight:500}
.statband p{margin-top:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lifecycle-map{margin-top:64px;position:relative}
.lm-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative}
.lm-stage{position:relative;text-align:left;padding:24px;border-radius:var(--r-l);border:1px solid var(--line-d);background:rgba(247,243,238,.02);transition:background-color .6s var(--ease),border-color .6s var(--ease),transform .7s var(--ease);min-height:250px;display:flex;flex-direction:column}
.lm-stage:hover{transform:translateY(-4px);border-color:rgba(247,243,238,.24)}
.lm-stage[aria-selected="true"]{background:var(--cream);color:var(--text);border-color:var(--cream)}
.lm-stage .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lm-stage .n{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;opacity:.7}
.lm-stage h3{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;line-height:1.05;margin:36px 0 10px}
.lm-stage p{font-size:14px;color:var(--muted-d);transition:color .6s}
.lm-stage[aria-selected="true"] p{color:var(--muted)}
.lm-stage[aria-selected="true"] .chip-live{color:var(--ok);border-color:rgba(28,125,82,.32);background:var(--ok-wash)}
.lm-stage[aria-selected="true"] .chip-soon{color:var(--muted);border-color:var(--line-2)}
.lm-mods{margin-top:auto;padding-top:20px;display:flex;gap:6px;flex-wrap:wrap}
.lm-mods span{font-size:11.5px;padding:4px 9px;border-radius:6px;background:rgba(247,243,238,.08);white-space:nowrap}
.lm-stage[aria-selected="true"] .lm-mods span{background:var(--stone)}
.lm-spine{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 22px;border-radius:var(--r-m);border:1px dashed rgba(247,243,238,.22);font-size:14px;color:var(--muted-d)}
.lm-spine b{color:var(--cream);font-weight:600}
.lm-spine .flow{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--acc-soft) 0 6px,transparent 6px 12px);background-size:24px 1px;animation:flow 1.2s linear infinite;opacity:.8}
@keyframes flow{to{background-position:24px 0}}
.lm-detail{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);align-items:center}
.lm-detail .vis{display:grid}
.lm-detail .vis>.panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.lm-detail .vis>.panel.on{opacity:1;visibility:visible;transform:none}
.lm-detail .txt>div{display:none}
.lm-detail .txt>div.on{display:block;animation:fadeUp .9s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.acc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,96px);margin-top:64px;align-items:start}
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item>h3{margin:0}
.acc-btn{width:100%;display:grid;grid-template-columns:56px 1fr 28px;align-items:center;gap:8px;padding:24px 0;text-align:left}
.acc-btn .n{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);letter-spacing:.06em}
.acc-btn .t{font-size:clamp(1.25rem,1.8vw,1.6rem);letter-spacing:-.025em;font-weight:500;transition:color .4s}
.acc-btn .pm{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);position:relative;transition:transform .7s var(--ease),background-color .4s,border-color .4s}
.acc-btn .pm::before,.acc-btn .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.acc-btn .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .7s var(--ease)}
.acc-btn[aria-expanded="true"] .pm{background:var(--navy);color:var(--cream);border-color:var(--text)}
.acc-btn[aria-expanded="true"] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.acc-btn:not([aria-expanded="true"]) .t{color:rgba(8,17,32,.55)}
.acc-btn:hover .t{color:var(--text)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.acc-panel>div{overflow:hidden}
.acc-item.open .acc-panel{grid-template-rows:1fr}
.acc-panel .in-wrap{padding:0 0 28px 64px}
.acc-panel .tagl{font-family:var(--f-serif);font-style:italic;font-size:20px;margin-bottom:10px;letter-spacing:-.01em}
.acc-panel p{color:var(--muted);font-size:15.5px;max-width:52ch}
.acc-panel .where{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.acc-panel .mob-vis{display:none;margin-top:20px}
.acc-vis{position:sticky;top:calc(var(--header-h) + 32px);display:grid}
.acc-vis>.panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(24px) scale(.98);transition:opacity .6s var(--ease),transform .9s var(--ease),clip-path .9s var(--ease);clip-path:inset(0 0 10% 0 round 14px)}
.acc-vis>.panel.on{opacity:1;visibility:visible;transform:none;clip-path:inset(0 0 0 0 round 14px)}

.how-steps{display:grid}
.how-steps>div{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.how-steps>div.on{opacity:1;visibility:visible;transform:none}
.how-steps .n{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--accent-text)}
.how-steps h3{font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.032em;line-height:1.04;font-weight:500;margin:12px 0 16px}
.how-steps p{color:var(--muted);max-width:42ch;font-size:17px}
.how-steps .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}
.how-index{display:flex;flex-direction:column;gap:2px;margin-top:40px}
.how-index button{display:flex;align-items:center;gap:14px;padding:8px 0;font-size:14px;color:var(--muted);text-align:left}
.how-index button i{width:28px;height:2px;border-radius:2px;background:var(--line-2);position:relative;overflow:hidden}
.how-index button i::after{content:"";position:absolute;inset:0;background:var(--acc);transform:scaleX(var(--fill,0));transform-origin:left}
.how-index button.on{color:var(--text)}
.integr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:48px}
.integ{display:flex;align-items:center;gap:14px;padding:22px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line);font-weight:500;letter-spacing:-.01em;transition:transform .6s var(--ease),border-color .4s}
.integ:hover{transform:translateY(-3px);border-color:var(--line-2)}
.integ .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--stone);font-family:var(--f-mono);font-size:11px;font-weight:500;color:var(--text);flex:none}
.integ small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:400}
.intake-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--muted)}

/* ---------- dialog ---------- */
dialog.modal{border:0;padding:0;border-radius:var(--r-l);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--paper);color:var(--text);box-shadow:0 60px 120px -40px rgba(4,6,11,.6)}
dialog.modal::backdrop{background:rgba(4,6,11,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
dialog.modal[open]{animation:dlg .7s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.modal-in{padding:clamp(24px,4vw,40px)}
.modal .x{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2)}
.modal .tabs{display:inline-flex;padding:4px;border-radius:999px;background:var(--stone);margin-bottom:24px}
.modal .tabs button{height:34px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted)}
.modal .tabs button[aria-selected="true"]{background:var(--card);color:var(--text);box-shadow:var(--shadow-card)}
.modal h2{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.035em;line-height:1.05}
.modal .lead{margin-top:10px;font-size:15.5px;max-width:none}
.form{display:grid;gap:14px;margin-top:24px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fld label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}
.fld input,.fld select{width:100%;height:48px;padding:0 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);transition:border-color .3s,box-shadow .3s;font-size:15px}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.07)}
.fld .err{display:none;color:var(--bad);font-size:12.5px;margin-top:6px}
.fld.invalid input,.fld.invalid select{border-color:var(--bad)}
.fld.invalid .err{display:block}
.wf{display:flex;flex-wrap:wrap;gap:6px}
.wf label{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13.5px;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s}
.wf input{position:absolute;opacity:0;pointer-events:none}
.wf label:has(input:checked){background:var(--navy);border-color:var(--text);color:var(--cream)}
.wf label:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.form .fine{font-size:12.5px;color:var(--muted)}
.success{text-align:center;padding:24px 0 8px}
.success .ok{width:64px;height:64px;border-radius:50%;margin:0 auto 20px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.success .ok svg{width:26px;height:26px}
.success .ok path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .8s var(--ease) .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- cursor + preloader ---------- */
.preload{position:fixed;inset:0;z-index:150;background:var(--ink);color:var(--cream);display:grid;place-items:center;transition:clip-path 1s var(--ease);clip-path:inset(0 0 0 0)}
.preload.out{clip-path:inset(0 0 100% 0)}
.preload .pm{width:54px;color:var(--cream);clip-path:inset(100% 0 0 0);animation:pmIn .9s var(--ease) .1s forwards}
.preload .pl{position:absolute;left:var(--gutter);right:var(--gutter);bottom:40px;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-d)}
.preload .pbar{position:absolute;left:0;bottom:0;height:2px;background:var(--acc-soft);width:100%;transform:scaleX(0);transform-origin:left;animation:pbar 1s var(--ease) forwards}
@keyframes pmIn{to{clip-path:inset(0 0 0 0)}}
@keyframes pbar{to{transform:scaleX(1)}}

/* ---------- view router ---------- */
[data-view]{display:none}
[data-view].active{display:block;overflow-x:clip}


/* ---------- layered system (compact) ---------- */
.sys-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,112px);align-items:center}
.sys-visual{display:grid;place-items:center}
.sys-visual .stack{width:min(100%,460px)}
.sys-list{margin-top:40px;border-top:1px solid var(--line)}
.sys-list li{border-bottom:1px solid var(--line)}
.sys-list button{width:100%;display:grid;grid-template-columns:44px 1fr;gap:8px;text-align:left;padding:18px 0;transition:opacity var(--t-out) var(--ease-ui)}
.sys-list .n{font-family:var(--f-mono);font-size:11px;color:var(--muted);padding-top:4px}
.sys-list b{display:block;font-weight:500;font-size:18px;letter-spacing:-.015em}
.sys-list .d{display:grid;grid-template-rows:0fr;color:var(--muted);font-size:15px;opacity:0;transition:grid-template-rows .75s var(--ease-ui),opacity .4s var(--ease-ui)}
.sys-list .d>span{overflow:hidden;min-height:0}
.sys-list .d>span>span{display:block;padding-top:4px}
.sys-list button.on .d{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .75s var(--ease-ui),opacity .6s var(--ease-ui) .2s}
.sys-list button:not(.on){opacity:.5}
.sys-list button:hover{opacity:.85;transition-duration:var(--t-in)}
.sys-list button.on .n{color:var(--accent-text)}

/* ---------- offer layer ---------- */
.offer-band{background:var(--wash);padding-block:clamp(88px,11vw,150px);overflow:hidden;position:relative}
.offer-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,80px);align-items:center}
.offer-h{font-size:clamp(2.75rem,6vw,5.6rem);line-height:.98;letter-spacing:-.048em;font-weight:600;color:var(--text);margin-top:18px;text-wrap:balance}
.offer-line{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.5;color:#3A4256;max-width:38ch;margin-top:22px}
.offer-band .ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.fine{font-size:13px;color:var(--muted);margin-top:18px}
.gift-scene{position:relative;width:100%;max-width:440px;aspect-ratio:1/1;margin-inline:auto;perspective:1400px}
.gift{position:absolute;inset:18% 16% 20% 16%;transform:rotateX(10deg) rotateY(-20deg) rotateZ(-7deg);transform-style:preserve-3d;animation:floaty 7s ease-in-out infinite}
.gift .box{position:absolute;inset:0;border-radius:30px;background:linear-gradient(150deg,#FFFFFF 0%,#F3EFE9 50%,#E2DCD3 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -18px 30px -18px rgba(var(--acc-rgb),.25),0 60px 90px -40px rgba(8,17,32,.45),0 24px 36px -24px rgba(var(--acc-rgb),.4);overflow:hidden}
.gift .box::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:15%;transform:translateX(-50%);background:linear-gradient(90deg,#0B1424,#18263F 50%,#0B1424)}
.gift .box::after{content:"";position:absolute;left:0;right:0;top:44%;height:15%;background:linear-gradient(#0B1424,#18263F 50%,#0B1424)}
.box-mark{position:absolute;left:9%;top:9%;width:13%;color:var(--text);opacity:.9}
.gift .bow{position:absolute;left:50%;top:44%;width:58%;transform:translate(-50%,-62%);filter:drop-shadow(0 10px 14px rgba(8,17,32,.3))}
.gift .tag{position:absolute;right:-16%;bottom:-6%;background:var(--card);border-radius:12px;padding:14px 18px 14px 30px;box-shadow:0 20px 40px -20px rgba(8,17,32,.45);transform:rotate(7deg) translateZ(40px);border:1px solid var(--line)}
.gift .tag b{display:block;font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--text);white-space:nowrap}
.gift .tag small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tag-hole{position:absolute;left:12px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--stone);box-shadow:inset 0 1px 2px rgba(8,17,32,.3)}
.gift-shadow{position:absolute;left:22%;right:22%;bottom:8%;height:9%;border-radius:50%;background:rgba(8,17,32,.22);filter:blur(18px);animation:shadowy 7s ease-in-out infinite}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes shadowy{0%,100%{opacity:1;scale:1}50%{opacity:.7;scale:.92}}

/* ---------- /offer landing ---------- */
body.is-offer .announce,body.is-offer .site-header,body.is-offer .footer,body.is-offer .mnav,body.is-offer .progress{display:none}
.lp{background:var(--wash);padding-bottom:clamp(64px,8vw,112px)}
.lp-top{display:flex;align-items:center;justify-content:space-between;height:84px}
.lp-top .brand{height:22px}
.lp-trust{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lp-trust svg{width:14px;height:14px;color:var(--accent-text)}
.lp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,96px);align-items:start;padding-top:clamp(24px,4vw,56px)}
.lp-chip{background:rgba(255,255,255,.6);border-color:rgba(8,17,32,.12);color:var(--text)}
.lp-copy .offer-h{font-size:clamp(2.75rem,5.6vw,5.25rem)}
.vstack{margin-top:40px;display:grid;gap:22px;max-width:520px}
.vstack li{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start;font-size:15.5px;color:var(--muted)}
.vstack b{display:block;color:var(--text);font-weight:600;font-size:16.5px;letter-spacing:-.01em;margin-bottom:2px}
.vi{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.75);border:1px solid rgba(8,17,32,.08);display:grid;place-items:center;color:var(--accent-text)}
.vi svg{width:18px;height:18px}
.lp-side{position:relative;padding-top:clamp(150px,15vw,210px)}
.lp-gift{position:absolute;right:2%;top:-4%;width:min(330px,58%);z-index:0;pointer-events:none}
.lp-card{position:relative;z-index:1;background:var(--card);border-radius:var(--r-l);padding:clamp(24px,3vw,36px);box-shadow:0 50px 100px -50px rgba(8,17,32,.45),0 1px 0 rgba(255,255,255,.8) inset;border:1px solid rgba(8,17,32,.06)}
.lp-card .form{margin-top:20px}
.consent{display:grid!important;grid-template-columns:20px 1fr;gap:10px;font-size:13px;color:var(--muted);cursor:pointer;align-items:start}
.consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent-text)}
.consent .err{grid-column:2}
.next{margin-top:24px;display:grid;gap:14px}
.next li{display:grid;grid-template-columns:30px 1fr;gap:12px;font-size:14.5px;color:var(--muted)}
.next li>span{width:30px;height:30px;border-radius:50%;background:rgba(var(--acc-rgb),.07);color:var(--accent-text);display:grid;place-items:center;font-family:var(--f-mono);font-size:12px}
.next b{display:block;color:var(--text);font-weight:600}
.lp-proof{padding-block:clamp(64px,8vw,104px);background:var(--paper)}
.lp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-bottom:1px solid var(--line);padding-bottom:48px}
.lp-stats .num{font-size:clamp(2.4rem,4vw,3.5rem);font-weight:500;line-height:1;display:block}
.lp-stats small{font-size:.4em;letter-spacing:-.01em}
.lp-stats p{margin-top:10px;color:var(--muted);font-size:14.5px}
.lp-quote{margin:48px 0 0;max-width:820px}
.lp-quote blockquote{margin:0;font-family:var(--f-serif);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;letter-spacing:-.01em}
.lp-quote figcaption{margin-top:16px;font-size:14.5px;color:var(--muted)}
.lp-quote figcaption b{color:var(--text);font-weight:600}
.lp-logos{display:flex;flex-wrap:wrap;gap:20px 48px;margin-top:40px;align-items:center}
.lp-logos .logo-word{font-size:18px}
.lp-terms{padding-block:48px 56px;background:var(--paper);border-top:1px solid var(--line)}
.lp-terms p{font-size:12.5px;line-height:1.6;color:var(--muted);max-width:110ch;margin-top:12px}
.lp-foot{margin-top:24px!important}
mark.ph{background:#FFF1C2;color:#6B4F00;padding:0 4px;border-radius:3px}
@media (max-width:980px){
  .sys-grid{grid-template-columns:minmax(0,1fr)}
  .sys-visual{display:none}
  .offer-grid{grid-template-columns:minmax(0,1fr)}
  .offer-stage{max-width:360px;width:100%;margin-inline:auto}
  .lp-grid{grid-template-columns:minmax(0,1fr)}
  .lp-side{padding-top:0}
  .lp-gift{position:relative;right:auto;top:auto;width:min(300px,78%);margin:0 auto -70px}
  .lp-stats{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.gift,.gift-shadow{animation:none!important}}



/* ---------- client logos + programs ---------- */
.marquee ul{gap:72px;padding-right:72px}
.clogo{display:flex;align-items:center;height:44px;flex:none;color:var(--text);opacity:.72}
.clogo img,.clogo svg{height:28px;width:auto;display:block}
.clogo-millennium img,.clogo-gryphon-re img{height:40px}
.clogo-northern-re img{height:24px}
.clogo-icw svg{height:30px}
.backed{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px 48px;flex-wrap:wrap}
.backed-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:8px}
.backed ul{display:flex;align-items:center;gap:20px 48px;flex-wrap:wrap}
.backed li{display:flex;align-items:center;gap:12px}
.backed img{height:28px;width:auto}
.backed li:last-child img{height:22px}
.backed small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lp-logos .clogo{opacity:.8}

/* ---------- hover motion: symmetric ease, slower exits ---------- */
.btn{transition:background-color var(--t-out) var(--ease-ui),color var(--t-out) var(--ease-ui),box-shadow var(--t-out) var(--ease-ui),border-color var(--t-out) var(--ease-ui)}
.btn:hover{transition-duration:var(--t-in)}
.arrow,.btn .btn-label{transition:transform .6s var(--ease-ui)}
.ulink::after{transition:transform .65s var(--ease-ui),opacity .5s var(--ease-ui)}
.nav a{transition:opacity var(--t-out) var(--ease-ui)}
.lift{transition:transform .8s var(--ease-ui),box-shadow .8s var(--ease-ui)}
.lift:hover{transform:translateY(-4px);transition-duration:.55s}
.qbtn{transition:border-color var(--t-out) var(--ease-ui),background-color var(--t-out) var(--ease-ui),transform .7s var(--ease-ui)}
.qbtn:hover{transform:translateX(3px);transition-duration:var(--t-in)}
.badge,.integ,.lm-stage{transition:transform .8s var(--ease-ui),border-color var(--t-out) var(--ease-ui),background-color var(--t-out) var(--ease-ui),color var(--t-out) var(--ease-ui)}
.badge:hover,.integ:hover,.lm-stage:hover{transition-duration:.5s}
.res .cover svg{transition:transform 1.4s var(--ease-ui)}
.acc-btn .t{transition:color var(--t-out) var(--ease-ui)}
.acc-panel{transition:grid-template-rows .8s var(--ease-ui)}
.acc-panel .in-wrap{opacity:0;transition:opacity .35s var(--ease-ui)}
.acc-item.open .acc-panel .in-wrap{opacity:1;transition:opacity .6s var(--ease-ui) .25s}
.acc-vis>.panel,.lm-detail .vis>.panel,.cycler-panels>.panel{transition:opacity .7s var(--ease-ui),transform .9s var(--ease-ui),clip-path .9s var(--ease-ui),visibility 0s linear .9s}
.acc-vis>.panel.on,.lm-detail .vis>.panel.on,.cycler-panels>.panel.on{transition:opacity .8s var(--ease-ui) .1s,transform 1s var(--ease-ui) .1s,clip-path 1s var(--ease-ui) .1s,visibility 0s}
.cycler-tabs button{transition:color .5s var(--ease-ui),background-color .5s var(--ease-ui)}
.slab{transition:transform 1s var(--ease-ui),opacity .8s var(--ease-ui)}
.slab .plane,.slab .plane .pat{transition:background-color .8s var(--ease-ui),border-color .8s var(--ease-ui),box-shadow .8s var(--ease-ui),color .8s var(--ease-ui)}
.stage-tilt{transition:transform 1.6s var(--ease-ui)}
.lc-visual>.panel{transition:opacity .6s var(--ease-ui),transform .9s var(--ease-ui),clip-path .9s var(--ease-ui),visibility 0s linear .9s}
.lc-visual>.panel.on{transition:opacity .8s var(--ease-ui) .12s,transform 1s var(--ease-ui) .12s,clip-path 1s var(--ease-ui) .12s,visibility 0s}
.lc-step,.how-steps>div{transition:opacity .45s var(--ease-ui),transform .7s var(--ease-ui),visibility 0s linear .7s}
.lc-step.on,.how-steps>div.on{transition:opacity .7s var(--ease-ui) .15s,transform .9s var(--ease-ui) .15s,visibility 0s}
.lm-detail .txt>div.on{animation:fadeUp 1s var(--ease-ui)}


/* ================= v4: multi-page shell ================= */
/* header + menu button */
.site-header .wrap{gap:28px}
.nav{gap:28px}
.menu-btn{display:inline-flex!important;align-items:center;gap:10px;width:auto;height:40px;padding:0 16px 0 14px;border-radius:999px;border:1px solid var(--line-2);margin-left:6px;font-size:14px;font-weight:500;transition:background-color var(--t-out) var(--ease-ui),border-color var(--t-out) var(--ease-ui),color var(--t-out) var(--ease-ui)}
.menu-btn:hover{border-color:var(--text);transition-duration:var(--t-in)}
.menu-btn>.mb-lines{display:grid;gap:5px;width:16px;height:auto;background:none;margin:0;transform:none!important}
.menu-btn>.mb-label{display:inline;width:auto;height:auto;background:none;margin:0;transform:none!important}
.mb-lines span+span{margin-top:0!important}
.mb-lines span{display:block;height:1.5px;background:currentColor;border-radius:2px;transition:transform .6s var(--ease-ui)}
.menu-btn[aria-expanded="true"] .mb-lines span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .mb-lines span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
body.menu-open .site-header{background:transparent!important;border-color:transparent!important;color:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}
body.menu-open .site-header .brand{color:var(--cream)}
body.menu-open .menu-btn{border-color:rgba(247,243,238,.3)}
body.menu-open .nav,body.menu-open .nav-cta{opacity:0;pointer-events:none}
.nav,.nav-cta{transition:opacity .4s var(--ease-ui)}

/* full-screen menu */
.menu{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--cream);overflow:auto;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility 0s linear .9s}
.menu.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility 0s}
.menu-u{position:absolute;right:-4vw;bottom:-18vh;height:96vh;aspect-ratio:425/460;pointer-events:none;opacity:.9}
.menu-u .u-base{stroke:rgba(247,243,238,.08)}.menu-u .u-trace{stroke:rgba(247,243,238,.35)}
.menu.open .menu-u .u-trace{stroke-dashoffset:0;transition:stroke-dashoffset 2.4s var(--ease-ui) .3s}
.menu-grid{position:relative;min-height:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,120px);padding-top:calc(var(--header-h) + 48px);padding-bottom:48px;align-items:start}
.menu-links{display:flex;flex-direction:column;border-top:1px solid var(--line-d)}
.menu-links a{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:baseline;column-gap:12px;padding:14px 0;border-bottom:1px solid var(--line-d);opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease-ui),transform .6s var(--ease-ui),color .5s var(--ease-ui)}
.menu.open .menu-links a{opacity:1;transform:none;transition:opacity .8s var(--ease-ui) calc(.25s + var(--i)*60ms),transform 1s var(--ease) calc(.25s + var(--i)*60ms),color .5s var(--ease-ui)}
.menu-links .mn{font-family:var(--f-mono);font-size:12px;color:var(--muted-d)}
.menu-links .mt{font-size:clamp(2rem,4.2vw,3.6rem);font-weight:500;letter-spacing:-.04em;line-height:1.05;transition:transform .7s var(--ease-ui),color .5s var(--ease-ui)}
.menu-links .md{grid-column:2;font-size:14px;color:var(--muted-d);max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease-ui),opacity .4s var(--ease-ui),margin .6s var(--ease-ui)}
.menu-links a.hot .mt{transform:translateX(10px);color:#fff}
.menu-links a.hot .md{max-height:24px;opacity:1;margin-top:6px;transition:max-height .6s var(--ease-ui),opacity .6s var(--ease-ui) .15s,margin .6s var(--ease-ui)}
.menu-links a.cur .mn{color:var(--acc-soft)}
.menu-links:hover a:not(.hot) .mt{color:rgba(247,243,238,.45)}
.menu-side{display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease-ui),transform .6s var(--ease-ui)}
.menu.open .menu-side{opacity:1;transform:none;transition:opacity .9s var(--ease-ui) .5s,transform 1s var(--ease) .5s}
.menu-prev{position:relative;display:grid;border-radius:var(--r-l);background:rgba(247,243,238,.04);border:1px solid var(--line-d);min-height:260px;overflow:hidden}
.mp{grid-area:1/1;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:24px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s var(--ease-ui),transform .6s var(--ease-ui),visibility 0s linear .6s}
.mp.on{opacity:1;visibility:visible;transform:none;transition:opacity .7s var(--ease-ui) .1s,transform .9s var(--ease-ui) .1s,visibility 0s}
.mp p{color:var(--muted-d);font-size:15px}
.mp-big{width:96px;color:var(--cream)}
.mp-big.serif{width:auto;font-family:var(--f-serif);font-size:34px;line-height:1.15}
.mp-vis{height:210px;overflow:hidden;border-radius:12px;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.mp-vis .ui{transform:scale(.82);transform-origin:top left;width:122%}
.mp-stat{font-size:64px;font-weight:500;letter-spacing:-.05em;line-height:1}
.mp-stat s{color:var(--muted-d);font-size:.55em;text-decoration-thickness:2px}
.mp-stat small{font-size:.35em;letter-spacing:0}
.mp-badges,.mp-cards{display:flex;flex-wrap:wrap;gap:8px}
.mp-badges span,.mp-cards span{padding:10px 14px;border-radius:10px;border:1px solid var(--line-d);font-size:14px}
.mp-cards span{background:rgba(247,243,238,.05);padding:28px 16px 12px;min-width:120px}
.menu-offer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:var(--r-m);background:var(--wash);color:var(--text);transition:transform .6s var(--ease-ui)}
.menu-offer:hover{transform:translateY(-2px)}
.menu-offer small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.menu-offer b{font-weight:600;letter-spacing:-.015em}
.menu-cta{display:flex;gap:10px;flex-wrap:wrap}
.menu .btn-ghost{border-color:rgba(247,243,238,.26);color:var(--cream)}

/* the U: drawn strokes */
.u-svg{width:100%;height:100%;overflow:visible}
.u-svg path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 1}
.u-base{stroke:rgba(8,17,32,.10);stroke-width:1.2px;stroke-dashoffset:1}
.u-trace{stroke:rgba(var(--acc-rgb),.55);stroke-width:1.6px;stroke-dashoffset:var(--trace,1)}
.drawn .u-base{stroke-dashoffset:0;transition:stroke-dashoffset 2.8s var(--ease-ui)}
.u-sec{position:absolute;z-index:0;top:50%;right:-4vw;height:118%;aspect-ratio:425/460;transform:translateY(-50%);pointer-events:none}
.u-sec+.wrap,.u-sec~.wrap{position:relative;z-index:1}
[data-view="home"]>section{position:relative;z-index:1}
.u-mini{position:absolute;right:max(var(--gutter),6vw);top:50%;height:min(400px,72%);aspect-ratio:425/460;transform:translateY(-50%);pointer-events:none}
.u-mini .u-trace{transition:stroke-dashoffset 2.6s var(--ease-ui) .5s}
.drawn .u-mini .u-trace,.u-mini.drawn .u-trace{stroke-dashoffset:0}
.u-cta{position:absolute;left:50%;top:50%;height:120%;aspect-ratio:425/460;transform:translate(-50%,-50%);pointer-events:none;opacity:.9}
.u-cta .u-base{stroke:rgba(247,243,238,.06)}.u-cta .u-trace{stroke:rgba(247,243,238,.25)}
.cta-final .wrap{z-index:1}
.footer{position:relative;z-index:2}
.mb-label{white-space:nowrap}

/* intro */
.intro{position:fixed;inset:0;z-index:150;background:var(--ink);color:var(--cream);display:grid;place-items:center;clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.76,0,.24,1)}
.intro.out{clip-path:inset(0 0 100% 0)}
.intro-inner{display:grid;justify-items:center;gap:30px}
.intro-lock{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);height:clamp(48px,7vw,88px)}
.intro-lock .intro-u{height:100%;width:auto}
.intro-word{position:relative;height:100%;aspect-ratio:3660/645;display:block}
.iw-text{display:block;height:100%;color:var(--cream);clip-path:inset(0 100% 0 0);transition:clip-path .07s linear}
.iw-text svg{height:100%;width:100%;display:block}
.iw-caret{position:absolute;top:4%;bottom:4%;left:0;width:3px;border-radius:2px;background:#F7F3EE;opacity:0;transition:left .07s linear}
.intro-word.typing .iw-caret{opacity:1}
.intro-word.typed .iw-caret{animation:caret 1s steps(2) infinite}
@keyframes caret{50%{opacity:0}}
.intro-u{overflow:visible}
.iu-line{fill:none;stroke:var(--cream);stroke-width:1.6px;vector-effect:non-scaling-stroke;stroke-dasharray:1 1;stroke-dashoffset:1;animation:udraw 1.5s cubic-bezier(.65,0,.35,1) .25s forwards}
.iu-fill{fill:var(--cream);opacity:0;animation:ufill .7s var(--ease-ui) 1.45s forwards}
@keyframes udraw{to{stroke-dashoffset:0}}
@keyframes ufill{to{opacity:1}}
.intro-tag{font-family:var(--f-serif);font-size:clamp(20px,2.4vw,28px);letter-spacing:-.01em;overflow:hidden;color:rgba(247,243,238,.8)}
.intro-tag span,.intro-tag em{display:inline-block;transform:translateY(110%);animation:rise 1s var(--ease) forwards}
.intro-tag span{animation-delay:2.75s}.intro-tag em{animation-delay:2.9s;color:var(--cream)}
@keyframes rise{to{transform:none}}
.intro-skip{position:absolute;bottom:max(28px,env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,238,.4)}

/* page hero (inner pages) */
.page-hero{position:relative;padding-top:clamp(56px,8vw,120px);padding-bottom:clamp(56px,7vw,104px);overflow:clip;border-bottom:1px solid var(--line)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .h-display{margin-top:22px;max-width:15ch}
.page-hero .lead{margin-top:24px;max-width:46ch}

/* section head */
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px 40px;flex-wrap:wrap;margin-bottom:48px}
.sec-head .h1{margin-top:16px;max-width:20ch}

/* clients */
.clients{padding-block:clamp(40px,5vw,64px);border-block:1px solid var(--line)}
.clients-label{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:28px;font-weight:400}
.clients .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.clients .marquee-track{animation-duration:60s}
.clients .marquee ul{gap:clamp(56px,7vw,104px);padding-right:clamp(56px,7vw,104px)}
.clogo{opacity:1;height:72px;color:var(--text)}
.clogo svg{height:40px;width:auto}
.clogo-millennium svg,.clogo-gryphon-re svg{height:62px}
.clogo-northern-re svg{height:30px}
.clogo-pillar svg{height:44px}
.clogo-greenlight-re svg{height:40px}
.clogo-icw svg{height:42px}
.clients .clogo{filter:none;transition:opacity .5s var(--ease-ui)}



/* overview cards */
.ov-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ov-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 24px 64px;border-radius:var(--r-l);background:var(--paper);border:1px solid var(--line);min-height:250px;transition:background-color .7s var(--ease-ui),border-color .7s var(--ease-ui),transform .8s var(--ease-ui),box-shadow .8s var(--ease-ui)}
.ov-card:hover,.ov-card:focus-visible{background:var(--card);border-color:var(--line-2);transform:translateY(-4px);box-shadow:var(--shadow-card);transition-duration:.5s}
.ov-top{display:flex;justify-content:space-between;align-items:center}
.ov-top .n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.ov-card b{font-size:22px;font-weight:500;letter-spacing:-.025em;margin-top:28px}
.ov-line{color:var(--muted);font-size:15px}
.ov-go{position:absolute;left:24px;bottom:22px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:background-color .6s var(--ease-ui),color .6s var(--ease-ui),border-color .6s var(--ease-ui)}
.ov-card:hover .ov-go{background:var(--navy);color:var(--cream);border-color:var(--text)}

/* proof compact */
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line)}
.stats3>div{padding-top:28px}
.stats3 .num{display:block;font-size:clamp(3rem,5.4vw,5rem);line-height:1;font-weight:500;letter-spacing:-.05em}
.stats3 small{font-size:.36em;letter-spacing:-.01em}
.stats3 p{margin-top:12px;color:var(--muted);max-width:28ch}
.quote-mini{margin:56px 0 0;max-width:860px}
.quote-mini blockquote{margin:0;font-family:var(--f-serif);font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.3;letter-spacing:-.01em}
.quote-mini figcaption{margin-top:16px;color:var(--muted);font-size:15px}
.quote-mini figcaption b{color:var(--text);font-weight:600}

/* programs & backers */
.backed-band{padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.backed-row{display:flex;justify-content:center;align-items:center;gap:24px clamp(48px,7vw,112px);flex-wrap:wrap}
.bk{display:flex;flex-direction:column;align-items:center;gap:12px}
.bk svg{height:44px;width:auto}
.bk.clogo-claude-startups svg{height:34px}
.bk small{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pg{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:32px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);min-height:220px}
.pg span{height:64px;display:flex;align-items:center;margin-bottom:auto}
.pg svg{height:52px;width:auto}
.pg.clogo-claude-startups svg{height:40px}
.pg b{font-size:19px;font-weight:500;letter-spacing:-.02em;margin-top:24px}
.pg small{color:var(--muted);font-size:14px}

/* customers logo grid */
.logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lg-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:200px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .7s var(--ease-ui)}
.lg-cell:hover{background:var(--card)}
.lg-cell svg{height:52px;width:auto}
.lg-cell.clogo-millennium svg,.lg-cell.clogo-gryphon-re svg{height:84px}
.lg-cell.clogo-northern-re svg{height:40px}
.lg-cell small{font-size:13px;color:var(--muted);opacity:0;transform:translateY(4px);transition:opacity .5s var(--ease-ui),transform .6s var(--ease-ui)}
.lg-cell:hover small{opacity:1;transform:none}

/* case study calculator */
.cs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.cs-grid .lead{margin-top:20px}
.calc{background:var(--card);border-radius:var(--r-l);padding:clamp(24px,3vw,36px);border:1px solid var(--line);box-shadow:var(--shadow-card)}
.calc-title{font-weight:500;font-size:19px;letter-spacing:-.02em;margin-bottom:20px}
.calc .fld{margin-bottom:18px}
.calc label{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--muted);margin-bottom:10px}
.calc output{font-family:var(--f-sans);font-size:20px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
.calc input[type=range]{width:100%;accent-color:var(--accent-text);height:24px}
.calc-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.calc-out>div{padding:14px;border-radius:12px;background:var(--paper)}
.calc-out .hi{background:var(--navy);color:var(--cream)}
.calc-out small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.calc-out b{display:block;font-size:30px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:6px}
.calc-out span{font-size:12.5px;opacity:.75}
.calc-bar{height:6px;border-radius:3px;background:var(--stone);margin:18px 0 12px;overflow:hidden}
.calc-bar i{display:block;height:100%;width:24%;background:var(--acc);border-radius:3px;transition:width .6s var(--ease-ui)}

/* security page */
.no-train.big{background:var(--paper);border-color:var(--line);margin-top:0;padding:32px}
.no-train.big svg{width:28px;height:28px;color:var(--accent-text)}
.badges.light .badge{border-color:var(--line);background:var(--card);color:var(--text)}
.badges.light .badge span{color:var(--muted)}
.badges.light .seal{border-color:var(--line-2);color:var(--accent-text)}
.ctl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:48px}
.ctl{padding:24px;border-radius:var(--r-m);border:1px solid var(--line-d);background:rgba(247,243,238,.02)}
.ctl b{display:block;font-weight:500;font-size:17px;letter-spacing:-.015em;margin-bottom:8px}
.ctl p{font-size:14.5px;color:var(--muted-d)}
.tc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tc{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 56px 24px 24px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line);transition:border-color .6s var(--ease-ui),transform .7s var(--ease-ui)}
.tc:hover{border-color:var(--line-2);transform:translateY(-3px);transition-duration:.45s}
.tc b{font-weight:500;font-size:18px}
.tc span{color:var(--muted);font-size:14.5px}
.tc svg{position:absolute;right:20px;top:24px;width:16px;height:16px}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-grid .acc-panel .in-wrap{padding-left:64px}

/* resources page */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.filters button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);font-size:14.5px;transition:background-color .5s var(--ease-ui),color .5s var(--ease-ui),border-color .5s var(--ease-ui)}
.filters button:hover{border-color:var(--text)}
.filters button[aria-pressed="true"]{background:var(--navy);color:var(--cream);border-color:var(--text)}
.filters .cnt{font-family:var(--f-mono);font-size:11px;opacity:.65}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rcard{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 24px 28px;border-radius:var(--r-m);background:var(--card);border:1px solid var(--line);min-height:200px;transition:opacity .5s var(--ease-ui),transform .7s var(--ease-ui),border-color .6s var(--ease-ui)}
.rcard:hover{border-color:var(--line-2);transform:translateY(-3px);transition-duration:.45s}
.rcard.hide{display:none}
.rcard.fade-in{animation:fadeUp .7s var(--ease-ui)}
.rk{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.rcard b{font-weight:500;font-size:19px;letter-spacing:-.02em;line-height:1.25}
.rd{color:var(--muted);font-size:14.5px}
.ro{position:absolute;right:20px;top:22px;width:16px;height:16px;color:var(--muted)}
.ro svg{width:16px;height:16px}

/* company */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.values>div{border-top:1px solid var(--navy);padding-top:20px}
.vn{font-family:var(--f-mono);font-size:12px;color:var(--accent-text)}
.values h3{margin:14px 0 10px}
.values p{color:var(--muted)}
.roles{border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:1fr auto 20px;gap:24px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);transition:padding .7s var(--ease-ui),background-color .6s var(--ease-ui)}
.role:hover{padding-inline:16px;background:rgba(8,17,32,.03);transition-duration:.5s}
.role b{font-size:20px;font-weight:500;letter-spacing:-.02em}
.role span{color:var(--muted);font-size:14px}
.replay{font:inherit;color:inherit;margin-left:12px}

@media (max-width:980px){
  .nav,.nav-cta{display:none}
  .menu-btn{margin-left:auto}
  .menu-grid{grid-template-columns:minmax(0,1fr)}
  .menu-prev{display:none}
  .ov-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-grid,.rgrid,.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .u-sec{right:-30vw;opacity:.6}
  .u-mini{opacity:.5;right:-10vw}
}
@media (max-width:640px){
  .ov-grid,.stats3,.values,.ctl-grid,.tc-grid,.rgrid,.program-grid{grid-template-columns:minmax(0,1fr)}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg-cell{min-height:150px}
  .lg-cell svg{height:34px}
  .lg-cell.clogo-millennium svg,.lg-cell.clogo-gryphon-re svg{height:58px}
  .clogo svg{height:30px}
  .clogo-millennium svg,.clogo-gryphon-re svg{height:48px}
  .calc-out b{font-size:22px}
  .menu-links .mt{font-size:2rem}
  .mb-label{display:none}
  .menu-btn{padding:0 12px}
  .faq-grid .acc-panel .in-wrap{padding-left:0}
}
@media (prefers-reduced-motion:reduce){
  .u-svg path{stroke-dashoffset:0!important}
  .intro.still .iu-line{stroke-dashoffset:0}
  .intro.still .iu-fill{opacity:1}
  .intro.still .iw-text{clip-path:none!important}
  .intro.still .intro-tag span,.intro.still .intro-tag em{transform:none}
  .intro.still .iw-caret{display:none}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav{gap:22px}
  .layers-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .layer-nav{display:none}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-top>div:first-child{grid-column:1/-1}
  .float-chip.a{right:-6px}.float-chip.b{left:-6px}
}
@media (max-width:980px){
  :root{--header-h:64px}
  .nav,.nav-cta{display:none}
  .menu-btn{display:grid}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .stage-tilt{transform:none}
  .lc-grid{grid-template-columns:1fr;gap:24px}
  .lc-head{margin-bottom:16px}
  .lc-head .h2{font-size:clamp(1.75rem,6vw,2.4rem)}
  .lc-step h3{font-size:clamp(1.6rem,6vw,2.2rem);margin:8px 0 10px}
  .lc-step p{font-size:15px}
  .lc-step .mods{margin-top:14px}
  .lc-rail{margin-top:20px}
  .lc-visual .ui{font-size:11.5px}
  .layers-grid{grid-template-columns:minmax(0,1fr)}
  .layer-visual{display:none}
  .layer-sec{min-height:auto}
  .tiles{flex-direction:column;height:auto}
  .tile{min-height:340px;flex:none}
  .tile .reveal{grid-template-rows:1fr}
  .tile .reveal p{opacity:1;transform:none}
  .quote-card{grid-template-columns:minmax(0,1fr)}
  .quote-card .who{border-left:0;padding-left:0;border-top:1px solid var(--line-d);padding-top:20px}
  .ev{grid-template-columns:minmax(0,1fr)}
  .ev-doc{height:460px}
  .sec-grid{grid-template-columns:minmax(0,1fr)}
  .res-grid{grid-template-columns:minmax(0,1fr)}
  .news-list a{grid-template-columns:1fr auto;gap:6px 16px}
  .news-list .d{grid-column:1/-1}
  .p-hero-vis{grid-template-columns:minmax(0,1fr)}
  .p-hero-vis>.ui:nth-child(2){display:none}
  .lm-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lm-detail{grid-template-columns:minmax(0,1fr)}
  .acc-grid{grid-template-columns:minmax(0,1fr)}
  .acc-vis{display:none}
  .acc-panel .mob-vis{display:block}
  .acc-panel .in-wrap{padding-left:0}
  .integr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .how-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .how-steps h3{font-size:clamp(1.75rem,7vw,2.5rem)}
  .how-index{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .announce .wrap{justify-content:flex-start;font-size:12.5px}
  .trust .wrap{flex-direction:column;align-items:flex-start;gap:18px}
  .trust-label{max-width:none}
  .metrics{grid-template-columns:minmax(0,1fr)}
  .metric{min-height:220px}
  .badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .badge{padding:18px;min-height:150px}
  .statband{grid-template-columns:minmax(0,1fr)}
  .statband>div{border-left:0;border-top:1px solid var(--line)}
  .statband>div:first-child{border-top:0}
  .lm-stages{grid-template-columns:minmax(0,1fr)}
  .lm-stage{min-height:auto}
  .lm-stage h3{margin-top:20px}
  .integr{grid-template-columns:minmax(0,1fr)}
  .foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form .row2{grid-template-columns:minmax(0,1fr)}
  .trow{grid-template-columns:minmax(0,1fr) 64px;}
  .trow .lob,.trow .fitc{display:none}
  .v-claims .loss{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v-claims .loss .kv:last-child{display:none}
  .v-viewer .split2{grid-template-columns:minmax(0,1fr)}
  .v-viewer .page{display:none}
  .v-econ .hide-s{display:none}
  .v-compare .cols{grid-template-columns:minmax(0,1fr)}
  .v-compare .col+.col{border-left:0;border-top:1px solid var(--line)}
  .v-compare .col:first-child .clause-p{display:none}
  .float-chip{display:none}
  .ev-doc .ui-body{padding:20px}
  .hero .meta{gap:14px 20px}
  .cycler-tabs button{padding:0 10px;font-size:12px}
  .cycler-tabs button .n{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  [data-reveal],[data-clip],.split .line-inner{opacity:1!important;transform:none!important;clip-path:none!important}
  .split:not(.is-split){visibility:visible}
  .marquee-track{animation:none!important;flex-wrap:wrap}
  .marquee-track ul[aria-hidden="true"]{display:none}
  .marquee{mask-image:none;-webkit-mask-image:none}
  .marquee ul{flex-wrap:wrap;gap:24px 40px}
  .foot-mark svg{clip-path:none!important;transform:none!important}
  .stage-tilt{transform:none!important}
}

/* ================= v5: dark-first theme ================= */
/* Base is near-black ink; navy (#0B1220, the brand theme colour) is the raised surface.
   Product screens (.ui), the gift object and the /offer page keep the light palette. */
body.dark{
  --bg:#05070C; --card:#0B111C; --paper:#080C14; --stone:#0A101A;
  --line:rgba(247,243,238,.09); --line-2:rgba(247,243,238,.17);
  --muted:rgba(247,243,238,.72); --text:#F4F0EA; --accent-text:#D9D2C6;
  --acc:#F7F3EE; --acc-rgb:247,243,238; --acc-ink:#081120; --acc-hover:#FFFFFF; --acc-soft:#F7F3EE;
  --shadow-card:0 1px 0 rgba(255,255,255,.04) inset,0 24px 48px -28px rgba(0,0,0,.8);
  color-scheme:dark;
}
body.dark .navy{background:#0B1220}
body.dark .site-header.scrolled{background:rgba(5,7,12,.72);border-bottom-color:var(--line)}
body.dark .btn-dark{background:var(--cream);color:#081120}
body.dark .btn-dark:hover{background:#fff}
body.dark .chip-cobalt{color:#F7F3EE;border-color:rgba(247,243,238,.3);background:rgba(247,243,238,.08)}
body.dark .announce{background:#0B1220;border-bottom:1px solid var(--line)}
body.dark .ov-card,body.dark .rcard,body.dark .tc,body.dark .integ,body.dark .metric,body.dark .res,body.dark .pg,body.dark .calc,body.dark .qbtn{background:var(--card);border-color:var(--line)}
body.dark .ov-card:hover,body.dark .ov-card:focus-visible,body.dark .rcard:hover,body.dark .tc:hover,body.dark .integ:hover{background:#101827;border-color:var(--line-2)}
body.dark .ov-go,body.dark .acc-btn .pm{border-color:var(--line-2)}
body.dark .ov-card:hover .ov-go,body.dark .acc-btn[aria-expanded="true"] .pm{background:var(--cream);color:#081120;border-color:var(--cream)}
body.dark .acc-btn:not([aria-expanded="true"]) .t{color:rgba(242,238,231,.55)}
body.dark .acc-btn:hover .t{color:var(--text)}
body.dark .qbtn .k{background:rgba(247,243,238,.08);color:var(--muted)}
body.dark .qbtn[aria-pressed="true"]{border-color:#F7F3EE;background:linear-gradient(90deg,rgba(var(--acc-rgb),.22),var(--card) 75%)}
body.dark .ev-answer{background:#0B1220;border:1px solid var(--line)}
body.dark .stone{background:var(--stone)}
body.dark .paper{background:var(--paper)}
body.dark .clogo,body.dark .lg-cell,body.dark .bk,body.dark .pg{color:#F7F3EE}
body.dark .clogo,body.dark .lg-cell{color:var(--text)}
body.dark .lg-cell:hover{background:rgba(247,243,238,.03)}
body.dark .role:hover,body.dark .news-list a:hover{background:rgba(247,243,238,.03)}
body.dark .values>div{border-top-color:rgba(247,243,238,.5)}
body.dark .filters button:hover{border-color:var(--text)}
body.dark .filters button[aria-pressed="true"],body.dark .v-triage .filters span.on{background:var(--cream);color:#081120;border-color:var(--cream)}
body.dark .calc-out>div{background:rgba(247,243,238,.04)}
body.dark .calc-out .hi{background:var(--acc);color:var(--acc-ink)}
body.dark .calc-bar{background:rgba(247,243,238,.08)}
body.dark .calc output{color:var(--text)}
body.dark .no-train.big{background:var(--card);border-color:var(--line)}
body.dark .badges.light .badge{background:var(--card);color:var(--text);border-color:var(--line)}
body.dark .badges.light .badge span{color:var(--muted)}
body.dark .badges.light .seal{color:#F7F3EE;border-color:var(--line-2)}
body.dark .metric .arrow-row s,body.dark .stats3 s{color:var(--muted)}
body.dark .quote-card{background:#0B1220;border:1px solid var(--line)}
body.dark .res .cover svg rect:first-child{opacity:.92}
body.dark .cycler-tabs{background:rgba(11,17,28,.7);border-color:var(--line)}
body.dark .cycler-tabs button[aria-selected="true"]{background:var(--cream);color:#081120}
body.dark .pause{border-color:var(--line-2)}
body.dark .slab .plane{background:rgba(11,17,28,.88);border-color:var(--line-2)}
body.dark .stack .slab.on .plane{background:#1a2440;border-color:var(--acc)}
body.dark .slab .plane .pat{color:rgba(247,243,238,.6)}
body.dark .stack .slab.on .plane .pat{color:#F7F3EE}
body.dark .page-hero{border-bottom-color:var(--line)}
body.dark .u-base{stroke:rgba(247,243,238,.09)}
body.dark .u-trace{stroke:rgba(247,243,238,.6)}
body.dark .offer-band{background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.07),rgba(0,0,0,0) 45%),linear-gradient(#04060B,#0B1018);border-block:1px solid var(--line)}
body.dark .offer-h{color:var(--text)}
body.dark .offer-line{color:var(--muted)}
body.dark .hero-bg{background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.08),rgba(0,0,0,0) 38%),linear-gradient(#04060B,#0B1018)}
body.dark dialog.modal{background:#0B111C;color:var(--text);border:1px solid var(--line)}
body.dark .fld input,body.dark .fld select{background:#070B12;border-color:var(--line-2);color:var(--text)}
body.dark .modal .tabs{background:rgba(247,243,238,.06)}
body.dark .modal .tabs button[aria-selected="true"]{background:var(--cream);color:#081120}
body.dark .wf label:has(input:checked){background:var(--cream);color:#081120;border-color:var(--cream)}
body.dark .modal .x{border-color:var(--line-2)}
body.dark ::selection{background:var(--acc);color:var(--acc-ink)}
/* light islands inside the dark site */
.ui,.gift-scene,.menu-offer{--acc:#081120;--acc-rgb:8,17,32;--acc-ink:#F7F3EE;--acc-hover:#16233A;--acc-soft:#081120;--bg:#F7F3EE;--card:#fff;--paper:#FBF8F4;--stone:#ECE7E0;--line:rgba(8,17,32,.10);--line-2:rgba(8,17,32,.16);--muted:#555D6C;--text:#081120;--accent-text:var(--acc)}
.ui{color:var(--text)}
body.dark .ui .chip{color:#555D6C;border-color:rgba(8,17,32,.16);background:transparent}
body.dark .ui{box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06)}
body.dark .menu-offer{color:#081120}

/* atmosphere: film grain + hero document canvas */
.grain{display:none}
body:not(.dark) .grain{display:none}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.doc-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(60% 75% at 78% 45%,#000 25%,transparent 85%);mask-image:radial-gradient(60% 75% at 78% 45%,#000 25%,transparent 85%);opacity:0;transition:opacity 2s var(--ease-ui)}
.drawn .doc-canvas{opacity:1}
.hero>.wrap,.page-hero>.wrap{position:relative;z-index:1}
.section-glow{position:absolute;left:50%;top:0;width:70%;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(247,243,238,.5),transparent);pointer-events:none}
@media (prefers-reduced-motion:reduce){.grain{animation:none}}

body.dark .btn-primary{box-shadow:none}
body.dark .btn-primary:hover{box-shadow:0 0 0 6px rgba(247,243,238,.08)}
#overview,#proof{overflow:clip}

body.dark .u-sec .u-base{stroke:rgba(247,243,238,.045)}
body.dark .u-sec .u-trace{stroke:rgba(247,243,238,.2)}

/* ================= v10 multi-page additions ================= */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0 0 22px;padding:0;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li+li::before{content:"/";opacity:.45}
.crumbs a{color:var(--muted);transition:color .4s var(--ease-ui)}
.crumbs a:hover{color:var(--text)}
.crumbs [aria-current]{color:var(--text)}
.page-hero .eyebrow .chip{margin-left:6px}
.lc-more{margin-top:18px;font-size:14px}
.res-more{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:40px}
.nf-links{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:36px}
/* careers */
.role-dept{display:flex;align-items:center;gap:12px;margin:40px 0 4px;font-family:var(--f-mono);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.role-dept:first-of-type{margin-top:0}
.role-dept span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;border:1px solid var(--line-2);font-size:10.5px;letter-spacing:0}
.role-x{padding-block:26px}
.rx{display:flex;flex-direction:column;gap:6px;min-width:0}
.rx small{color:var(--muted);font-size:15px;line-height:1.45}
/* job page */
.job-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:26px 0 0;padding:0}
.job-meta li{height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13.5px;color:var(--text)}
.job-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,6vw,96px);align-items:start}
.prose{max-width:68ch}
.prose h2{font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:500;letter-spacing:-.02em;margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted);font-size:17px;line-height:1.65}
.prose ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.prose li{position:relative;padding-left:22px;color:var(--muted);font-size:16.5px;line-height:1.55}
.prose li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--text);opacity:.55}
.jstack{display:grid;gap:0;margin:0;width:auto;aspect-ratio:auto;border-top:1px solid var(--line)}
.jstack>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.jstack dt{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.jstack dd{margin:0;font-size:15.5px}
.job-aside{position:sticky;top:96px}
.ja-card{display:flex;flex-direction:column;gap:18px;padding:26px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card)}
.ja-card>b{font-size:20px;font-weight:500;letter-spacing:-.02em}
.ja-card dl{margin:0;display:grid;gap:10px}
.ja-card dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.ja-card dt{color:var(--muted)}
.ja-card dd{margin:0;text-align:right}
.apply{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(32px,6vw,96px);align-items:start}
.apply-card{padding:clamp(22px,3vw,36px);border-radius:var(--r-l);background:rgba(4,6,11,.55);border:1px solid var(--line)}
.apply-card .form{margin-top:0}
.fld .opt{color:var(--muted);font-weight:400;margin-left:4px}
.fld textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:#070B12;color:var(--text);font:inherit;font-size:15px;resize:vertical;transition:border-color .3s,box-shadow .3s}
.fld textarea:focus{outline:none;border-color:var(--accent-text);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.07)}
.fld.ap-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.file-btn{display:flex!important;align-items:center;gap:14px;height:52px;padding:0 8px 0 8px;border-radius:10px;border:1px dashed var(--line-2);cursor:pointer;transition:border-color .4s var(--ease-ui)}
.file-btn:hover{border-color:var(--text)}
.file-btn span{flex:none;white-space:nowrap;height:36px;display:inline-flex;align-items:center;padding:0 14px;border-radius:8px;background:var(--cream);color:#081120;font-size:13.5px;font-weight:500}
.file-btn small{color:var(--muted);font-size:13.5px;font-weight:400;font-family:inherit;min-width:0;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fld.ap-file:focus-within .file-btn{border-color:var(--accent-text);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.07)}
.fld.ap-file.invalid .file-btn{border-color:var(--bad)}
.fld.ap-consent label{display:flex!important;margin:0;gap:10px;align-items:flex-start;font-size:13.5px;font-weight:400;color:var(--muted);line-height:1.5}
.fld.ap-consent input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:#F7F3EE}
[data-apply-done]{text-align:center;padding:24px 0}
[data-apply-done] .ok{margin:0 auto 18px}
[data-apply-done] h3{font-size:26px;font-weight:500;letter-spacing:-.02em}
[data-apply-done] .lead{margin:10px auto 0}
/* news */
.nlist{border-top:1px solid var(--line)}
.nitem{position:relative;display:grid;grid-template-columns:170px minmax(0,1fr) 120px 20px;gap:28px;align-items:center;padding:30px 4px;border-bottom:1px solid var(--line);transition:padding .7s var(--ease-ui),background-color .6s var(--ease-ui)}
.nitem:hover{padding-inline:16px;background:rgba(247,243,238,.03);transition-duration:.5s}
.nmeta{display:flex;flex-direction:column;gap:6px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nmeta time,.nmeta>span:first-child{color:var(--text)}
.nbody h3{font-size:clamp(1.15rem,1.5vw,1.4rem);font-weight:500;letter-spacing:-.02em;line-height:1.3}
.nbody h3 a::after{content:"";position:absolute;inset:0}
.nbody p{margin-top:8px;color:var(--muted);font-size:15.5px;line-height:1.55;max-width:70ch}
.nlogo{display:flex;justify-content:flex-end;color:var(--cream);opacity:.85}
.nlogo .lsvg{height:30px;width:auto;max-width:120px}
.ngo svg{width:16px;height:16px;transition:transform .6s var(--ease-ui)}
.nitem:hover .ngo svg{transform:translate(3px,-3px)}
.rgrid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* solution pages */
.sol-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.sol-points{display:grid;gap:28px;margin-top:36px}
.sp{border-top:1px solid var(--line);padding-top:18px}
.sp h3{margin:10px 0 8px}
.sp p{color:var(--muted)}
.sol-vis{min-width:0}
.vis-note{margin-top:12px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:right}
.mod-links{display:flex;flex-wrap:wrap;gap:12px}
.mod-link{display:inline-flex;align-items:center;gap:14px;height:56px;padding:0 22px;border-radius:999px;border:1px solid var(--line-2);font-size:16px;transition:background-color .5s var(--ease-ui),border-color .5s var(--ease-ui)}
.mod-link b{font-weight:500}
.mod-link:hover{background:rgba(247,243,238,.05);border-color:rgba(247,243,238,.4)}
.mod-link .arrow{width:14px;transition:transform .6s var(--ease-ui)}
.mod-link:hover .arrow{transform:translateX(3px)}
.sol-case{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;position:relative}
.big-stat{display:flex;flex-direction:column;gap:6px}
.big-stat s{font-size:clamp(1.6rem,3vw,2.6rem);color:var(--muted);text-decoration-thickness:2px}
.big-stat b{font-size:clamp(4.5rem,10vw,9rem);font-weight:500;letter-spacing:-.05em;line-height:.9}
.big-stat small{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ov-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){
  .job-grid,.apply,.sol-grid,.sol-case{grid-template-columns:minmax(0,1fr)}
  .job-aside{position:static}
  .nitem{grid-template-columns:minmax(0,1fr) 20px;gap:12px 16px}
  .nmeta{grid-column:1/-1;flex-direction:row;gap:14px}
  .nlogo{display:none}
  .ov-grid-3,.rgrid-2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .jstack>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .apply .row2{grid-template-columns:minmax(0,1fr)}
  .role-x{grid-template-columns:minmax(0,1fr) 20px}
  .role-x>span:not(.rx){display:none}
}
.section:has(>.u-sec){position:relative;overflow:clip}
/* back to top */
.to-top{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:60;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 15px;border-radius:999px;border:1px solid rgba(247,243,238,.22);background:rgba(8,17,32,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F7F3EE;font:500 14px/1 var(--f-sans,inherit);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .5s var(--ease-ui),transform .6s var(--ease-ui),background-color .4s var(--ease-ui),border-color .4s var(--ease-ui)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:rgba(22,35,58,.95);border-color:rgba(247,243,238,.45)}
.to-top svg{width:16px;height:16px;transition:transform .5s var(--ease-ui)}
.to-top:hover svg{transform:translateY(-2px)}
.to-top:focus-visible{outline:2px solid #F7F3EE;outline-offset:3px}
body:not(.dark) .to-top{background:rgba(8,17,32,.9)}
body.menu-open .to-top{opacity:0;pointer-events:none}
@media (max-width:640px){.to-top span{display:none}.to-top{width:46px;padding:0;justify-content:center}}
.foot-bot [data-top]{margin-left:14px}

/* ================= v11 local content pages ================= */
.h-art{font-size:clamp(2.1rem,4.6vw,3.9rem);line-height:1.04;letter-spacing:-.035em;font-weight:500;margin-top:20px;max-width:22ch}
.art-hero .lead{max-width:62ch}
.byline{margin-top:22px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.art-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.art-grid.no-toc{grid-template-columns:minmax(0,1fr)}
.art-grid.no-toc .prose-long{margin-inline:auto}
.art-side{position:sticky;top:96px}
.toc b{display:block;font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:1px solid transparent;font-size:13.5px;line-height:1.4;color:var(--muted);transition:color .4s var(--ease-ui),border-color .4s var(--ease-ui)}
.toc a:hover,.toc a.on{color:var(--text);border-left-color:var(--text)}
.prose-long{max-width:74ch;min-width:0;font-size:17px;line-height:1.7;color:var(--muted)}
.prose-long>*+*{margin-top:18px}
.prose-long h2{color:var(--text);font-size:clamp(1.45rem,2.1vw,1.9rem);line-height:1.2;letter-spacing:-.025em;font-weight:500;margin-top:56px;scroll-margin-top:96px}
.prose-long h2:first-child{margin-top:0}
.prose-long h3{color:var(--text);font-size:1.18rem;font-weight:500;letter-spacing:-.015em;margin-top:34px;scroll-margin-top:96px}
.prose-long h4{color:var(--text);font-size:1rem;font-weight:600;margin-top:24px}
.prose-long strong{color:var(--text);font-weight:600}
.prose-long a{color:var(--text);text-decoration:underline;text-decoration-color:rgba(247,243,238,.35);text-underline-offset:3px;transition:text-decoration-color .3s}
.prose-long a:hover{text-decoration-color:currentColor}
.prose-long ul,.prose-long ol{padding-left:1.25em;display:grid;gap:8px}
.prose-long li::marker{color:rgba(247,243,238,.45)}
.prose-long blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:2px solid var(--text);color:var(--text);font-family:var(--f-serif,"Newsreader",serif);font-size:1.2rem;line-height:1.5}
.prose-long blockquote p{margin:0}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);margin-top:24px}
.tbl table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.tbl th{text-align:left;font-weight:500;color:var(--text);background:rgba(247,243,238,.04);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--text)}
.stat-call{display:flex;flex-direction:column;gap:6px;margin:32px 0;padding:24px 26px;border-radius:var(--r-m);border:1px solid var(--line);background:rgba(247,243,238,.03)}
.stat-call b{font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--text)}
.stat-call span{font-size:14px;color:var(--muted)}
.disclaimer{margin-top:48px!important;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px}
.faq-block{margin-top:56px}
.faq-block h2{margin-bottom:18px}
.fq{border-top:1px solid var(--line)}
.fq:last-child{border-bottom:1px solid var(--line)}
.fq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 2px;cursor:pointer;color:var(--text);font-size:17px;font-weight:500;letter-spacing:-.01em}
.fq summary::-webkit-details-marker{display:none}
.fq summary i{position:relative;flex:none;width:14px;height:14px}
.fq summary i::before,.fq summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:currentColor;transition:transform .5s var(--ease-ui)}
.fq summary i::after{transform:rotate(90deg)}
.fq[open] summary i::after{transform:rotate(0)}
.fq-a{padding:0 2px 22px;font-size:16px}
.fq-a>*+*{margin-top:12px}
/* trust */
.trust-tabs{position:sticky;top:0;z-index:20;background:rgba(4,6,11,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.tt-row{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.tt-row::-webkit-scrollbar{display:none}
.tt-row a{flex:none;height:36px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;font-size:14px;color:var(--muted);transition:color .4s var(--ease-ui),background-color .4s var(--ease-ui)}
.tt-row a:hover{color:var(--text);background:rgba(247,243,238,.05)}
.tt-row a[aria-current]{color:#081120;background:var(--cream)}
.trust-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,80px);align-items:start}
.trust-grid .prose-long{grid-column:1;grid-row:1}
.sumcard{grid-column:2;grid-row:1;position:sticky;top:96px;padding:24px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card)}
.sumcard b{display:block;font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.sumcard ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sumcard li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.5;color:var(--text)}
.sumcard li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.status-pill{display:inline-flex!important;align-items:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-top:8px!important}
.s-achieved,.s-compliant{border-color:rgba(28,125,82,.6)}
/* cards with forms */
.lite-card{padding:clamp(22px,3vw,36px);border-radius:var(--r-l);background:rgba(4,6,11,.55);border:1px solid var(--line);margin-top:28px}
.prose-long .lite-card h2{margin-top:0}
.lite-card .form{margin-top:18px}
.lc-h{font-size:26px;font-weight:500;letter-spacing:-.02em}
.cb-group{border:0;padding:0;margin:0}
.cb-group legend{font-size:13px;font-weight:500;margin-bottom:10px;color:var(--text)}
.cbs{display:grid;gap:8px}
.cbs label{display:flex!important;gap:10px;align-items:center;font-size:14.5px;font-weight:400;color:var(--text);margin:0}
.cbs input{width:18px!important;height:18px!important;accent-color:#F7F3EE}
.cb-group.invalid .err{display:block}
.sched{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
[data-lite-done]{text-align:center;padding:28px 0}
[data-lite-done] .ok{margin:0 auto 18px}
[data-lite-done] h3{font-size:26px;font-weight:500;letter-spacing:-.02em;color:var(--text)}
[data-lite-done] .lead{margin:10px auto 0}
/* demo / try */
.demo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,520px);gap:clamp(32px,6vw,96px);align-items:start}
.demo-grid .lite-card{margin-top:0}
.ticks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:28px;font-size:16px;color:var(--text)}
.ticks li::before{content:"";position:absolute;left:2px;top:.45em;width:11px;height:6px;border-left:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg)}
.ticks.big li{font-size:19px}
.ticks.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 32px}
.chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.values.v4{grid-template-columns:repeat(4,minmax(0,1fr))}
.demo-fit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
/* blog + answers indexes */
.blist{display:grid;gap:12px}
.bcard{position:relative;display:grid;gap:10px;padding:28px 60px 30px 28px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card);transition:border-color .5s var(--ease-ui),transform .6s var(--ease-ui)}
.bcard:hover{border-color:var(--line-2);transform:translateY(-2px)}
.bcard b{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:-.025em;line-height:1.2;color:var(--text)}
.bcard .rd{color:var(--muted);max-width:80ch}
.bcard .bmeta{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bcard .ro{position:absolute;right:28px;top:30px}
.ans-group+.ans-group{margin-top:56px}
.ag-h{display:flex;align-items:baseline;gap:14px;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;letter-spacing:-.02em;margin-bottom:18px}
.ag-h span{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}
@media (max-width:980px){
  .art-grid,.trust-grid,.demo-grid,.demo-fit{grid-template-columns:minmax(0,1fr)}
  .art-side{position:static}
  .toc{display:none}
  .sumcard{position:static;grid-column:1;grid-row:auto}
  .trust-grid .prose-long{grid-row:auto}
  .values.v4,.ticks.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .values.v4,.ticks.grid3{grid-template-columns:minmax(0,1fr)}
  .prose-long{font-size:16px}
  .tbl table{font-size:13.5px}
  .tbl th,.tbl td{padding:10px 12px}
  .bcard{padding:22px 22px 24px}
  .bcard .ro{display:none}
}
.prose-long ul{list-style:disc}
.prose-long ol{list-style:decimal}
.prose-long li{padding-left:4px}
.prose-long li>p{margin:0}
.demo-hero .u-mini{display:none}
.demo-hero .lite-card{background:#070B12}
.trust-tabs{position:relative;top:auto}
/* cookie consent */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:12px;opacity:0;transform:translateY(40px);transition:opacity .6s var(--ease-ui),transform .7s var(--ease-ui)}
.cookie.in{opacity:1;transform:none}
.ck-card{position:relative;max-width:960px;margin:0 auto;max-height:58svh;overflow-y:auto;padding:18px 20px;border-radius:var(--r-l);background:#0B1220;border:1px solid rgba(247,243,238,.16);box-shadow:0 30px 80px -20px rgba(0,0,0,.6);color:#F7F3EE}
.ck-row{display:flex;flex-direction:column;gap:14px}
.ck-copy{display:flex;align-items:flex-start;gap:12px;padding-right:36px}
.ck-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(247,243,238,.08)}
.ck-ic svg{width:20px;height:20px}
.ck-t{font-weight:500;font-size:16px}
.ck-d{margin-top:4px;font-size:14.5px;line-height:1.5;color:rgba(247,243,238,.75)}
.ck-btns{display:flex;flex-direction:column;gap:8px}
.ck-btns .btn{width:100%;justify-content:center;min-height:44px}
.ck-btns [data-ck="accept"]{order:-1}
.ck-x{position:absolute;right:8px;top:8px;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;color:rgba(247,243,238,.75)}
.ck-x:hover{color:#F7F3EE}
@media (min-width:768px){
  .cookie{padding:24px}
  .ck-card{padding:22px 24px}
  .ck-row{flex-direction:row;align-items:center;gap:24px}
  .ck-copy{flex:1;align-items:center;padding-right:0}
  .ck-btns{flex-direction:row;align-items:center;margin-right:40px}
  .ck-btns .btn{width:auto}
  .ck-btns [data-ck="accept"]{order:3}
}
.ck-modal .modal-in h2{font-size:26px;font-weight:500;letter-spacing:-.02em}
.ck-modal .lead{margin-top:8px;font-size:15px}
.ck-list{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.ck-list li{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.ck-list b{font-weight:500}
.ck-list p{margin-top:2px;font-size:14px;color:var(--muted)}
.ck-sw{flex:none;position:relative;width:46px;height:28px;border-radius:999px;background:#C9C4BC;transition:background-color .35s var(--ease-ui)}
.ck-sw i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .35s var(--ease-ui)}
.ck-sw[aria-checked="true"]{background:#081120}
.ck-sw[aria-checked="true"] i{transform:translateX(18px)}
.ck-sw:disabled{opacity:.55;cursor:not-allowed}
.ck-sw:focus-visible{outline:2px solid #081120;outline-offset:3px}
.ck-mbtns{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}
.foot-bot nav button.ulink{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
/* a11y fixes */
.intro-skip{color:rgba(247,243,238,.68)}
.ui .tag-ok{color:#14603d}
.tbl:focus-visible{outline:2px solid var(--text);outline-offset:3px}
body.dark .lm-stage[aria-selected="true"]{--text:#081120;--muted:#555D6C;--stone:#ECE7E0;--line:rgba(8,17,32,.10);--line-2:rgba(8,17,32,.16);color:#081120}
body.dark .lm-stage[aria-selected="true"] .n,body.dark .lm-stage[aria-selected="true"] h3{color:#081120}
.v-triage .filters b{opacity:1}
.sys-list button:not(.on){opacity:.78}
.prose-long{width:100%}
.apply>*{min-width:0}
@media (max-width:400px){.apply-card,.lite-card{padding:18px}.lp-chip{white-space:normal;max-width:100%;height:auto;padding-block:6px}}
.form>*,.form .row2>*{min-width:0}
@media (max-width:640px){.page-hero .u-mini{opacity:.22;right:-22vw}}
body.dark .ck-sw{background:rgba(247,243,238,.18)}
body.dark .ck-sw[aria-checked="true"]{background:#F7F3EE}
body.dark .ck-sw[aria-checked="true"] i{background:#081120}
body.dark .ck-sw:focus-visible{outline-color:#F7F3EE}
.ck-note{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* unpinned mode for short viewports and high zoom */
html.unpin .pin{height:auto!important}
html.unpin .pin-sticky{position:static;height:auto;overflow:visible;padding-block:clamp(48px,8vw,96px)}
html.unpin .pin-sticky>.wrap{align-items:start!important}
html.unpin .lc-steps,html.unpin .how-steps{display:grid;gap:36px}
html.unpin .lc-step,html.unpin .how-steps>div{grid-area:auto;opacity:1;visibility:visible;transform:none}
html.unpin .pin .lc-visual{display:grid;gap:20px}
html.unpin .pin .lc-visual .panel{grid-area:auto;opacity:1;visibility:visible;transform:none;position:relative;clip-path:none}
html.unpin .lc-rail,html.unpin .how-index{display:none}
/* offer: conditions next to the offer (FTC "close conjunction") and the full terms */
.offer-cond{font-size:13.5px;line-height:1.55;color:var(--muted);max-width:56ch;margin-top:14px}
.lp-terms-h{font-size:17px;font-weight:600;margin-top:14px;color:var(--text)}
.lp-terms-list{list-style:decimal;margin:16px 0 0;padding-left:1.4em;max-width:110ch;font-size:12.5px;line-height:1.6;color:var(--muted)}
.lp-terms-list>li{margin-top:8px;padding-left:4px}
.lp-terms-list ol{list-style:lower-alpha;margin:4px 0 0;padding-left:1.4em}
.lp-terms-list ol li{margin-top:2px}
.lp-terms-list b{color:var(--text);font-weight:600}
.lp-terms-list li::marker{color:var(--muted)}
/* use-case pages */
.uc-answer{max-width:68ch}
.uc-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:32px;border-top:1px solid var(--line);max-width:1100px}
.uc-facts>div{padding:16px 20px 0 0}
.uc-facts dt{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.uc-facts dd{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--text)}
.uc-out{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.uc-label{font-size:13px;margin-top:10px}
.uc-table th[scope=row]{white-space:normal;background:none;font-weight:500;border-bottom:1px solid var(--line)}
.uc-table tr:last-child th[scope=row]{border-bottom:0}
.uc-table td{color:var(--muted)}
.uc-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.uc-steps li{display:flex;gap:16px;border-top:1px solid var(--line);padding-top:18px}
.uc-steps .h3{margin:0 0 8px}
.uc-steps p{color:var(--muted);line-height:1.6;margin:0}
.uc-faq{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.uc-faq .faq-block{margin-top:0}
.uc-note{border:1px solid var(--line);border-radius:var(--r-m);padding:24px;position:sticky;top:110px}
.uc-note p{color:var(--muted);line-height:1.6;margin-top:10px}
.sol-uc{margin-top:8px}
@media (max-width:1000px){.uc-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.uc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.uc-out,.uc-faq{grid-template-columns:minmax(0,1fr)}.uc-note{position:static}}
@media (max-width:640px){.uc-facts,.uc-steps{grid-template-columns:minmax(0,1fr)}}
.prose p+p{margin-top:1em}
