/* COPX Night — the copxos.io look for the guest-facing portal and data room.
   Loaded after copx-room.css and copx-portal.css: it redefines their tokens and restyles components.
   Dark institutional ground, glass panels, Manrope display with Instrument Serif italic accents,
   amber shimmer actions, mono labels, fine grain. */
@font-face{font-family:"Instrument Serif";src:url("/static/fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap;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:"Instrument Serif";src:url("/static/fonts/instrument-serif-latin-ext-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap;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:"Instrument Serif";src:url("/static/fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/static/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  --void:#000F1E;--night:#001B33;--deep:#00294D;--navy:#003A6C;
  --sun:#FFCE6D;--amber:#FFBF65;--coral:#FF866C;--ok:#5FD3A2;
  --paper:#000F1E;--card:#041E38;--card2:#062644;--ink:#FFFFFF;--muted:#8DA2BA;--mist:#C9D6E5;
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);--amber-text:#FFBF65;--abyss:#000F1E;
  --serif:"Instrument Serif","Iowan Old Style",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark
}
html,body{background:var(--void);color:var(--ink)}
body{background:radial-gradient(1100px 700px at 85% -10%,rgba(6,63,114,.85) 0%,rgba(0,41,77,.35) 45%,transparent 75%) no-repeat,var(--void);background-attachment:fixed}
/* grain */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--amber)}
::selection{background:rgba(255,191,101,.35);color:#fff}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

/* ---------- header band ---------- */
.band{background:transparent;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.2px);background-size:12px 12px;
  -webkit-mask:radial-gradient(60% 80% at 80% 10%,#000 0%,transparent 70%);mask:radial-gradient(60% 80% at 80% 10%,#000 0%,transparent 70%)}
.band canvas.nfg{position:absolute!important;inset:0;width:100%;height:100%;z-index:0!important;pointer-events:none;
  -webkit-mask:radial-gradient(70% 90% at 78% 15%,#000 0%,transparent 72%);mask:radial-gradient(70% 90% at 78% 15%,#000 0%,transparent 72%)}
.top{padding-top:16px;padding-bottom:16px}
.top{margin-top:12px;border:1px solid var(--line);border-radius:999px;background:rgba(0,20,40,.55);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);
  max-width:1040px;padding:10px 10px 10px 22px;box-shadow:0 20px 50px -30px rgba(0,0,0,.8)}
@media(max-width:1080px){.top{margin-left:12px;margin-right:12px}}
.brand img{height:26px;width:auto;background:none;border-radius:0;padding:0;box-sizing:border-box}
.wordmark{background:none;box-shadow:none;padding:0;font-size:18px;letter-spacing:.2em}
.tagline{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;color:var(--amber);padding-left:14px;border-left:1px solid var(--line2)}
.lang,button.lang{height:36px;padding:0 16px;border-color:var(--line2);background:rgba(255,255,255,.04);color:#fff;font-family:Manrope,sans-serif;font-weight:700;font-size:12.5px;transition:border-color .2s,color .2s}
.lang:hover,button.lang:hover{border-color:var(--amber);color:var(--sun)}

/* ---------- hero ---------- */
.hero{padding-top:56px;padding-bottom:64px}
.hero.slim{padding-top:44px;padding-bottom:52px}
.eyebrow,.kicker,.muted.gate-k{font-family:var(--mono)!important;font-weight:500!important;font-size:11.5px!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--amber)!important;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.hero h1,.hero.slim h1,.lhero h1{font-family:Manrope,system-ui,sans-serif;font-weight:800;letter-spacing:-.05em;line-height:.98;font-size:clamp(40px,7vw,76px);color:#fff;text-wrap:balance}
.hero.slim h1{font-size:clamp(34px,5.4vw,58px)}
.hero p,.lead{color:var(--mist)!important;font-size:17.5px;line-height:1.6}
.chip{background:rgba(255,255,255,.04);border-color:var(--line2);padding:8px 14px;font-size:12.5px;color:var(--mist)}
.chip b{color:#fff}

/* serif accents replace Fraunces everywhere */
h2.section,.gate h1,.gone h1,.panel h2,.pcard h2,.reader h1,.reader h2,.libhead h2,.chead h2,.entext h2,.sbig,.thtop h2,.thnext b,.lgrid.g-questions .lmeta b,.rdot em,.snum,.bignum,.chapter .chn{font-family:var(--serif)!important;font-style:italic;font-weight:400!important;letter-spacing:-.01em}
h2.section{font-size:clamp(30px,4vw,44px);margin:56px 0 20px;color:#fff}
.gate h1{font-size:36px;line-height:1.05}
.gone h1{font-size:clamp(40px,6vw,60px)}

/* ---------- surfaces ---------- */
main{padding:36px 0 80px}
.vol,.files,.panel,.pcard,.gate,.qual,.chat,.acc details,.entrance,.scale,.welcome,.fp,.vcard,.reader,.story,.routewrap{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),var(--card)!important;border:1px solid var(--line)!important;border-radius:24px;
  box-shadow:0 30px 60px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05)!important;color:var(--ink);position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,-30%),rgba(255,191,101,.12),transparent 60%);opacity:0;transition:opacity .35s ease}
.spot:hover::before{opacity:1}
.welcome{border-left:1px solid var(--line)!important;margin-top:-28px;color:var(--mist)}
.welcome::after{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--sun),var(--coral))}
.gate{max-width:480px;margin:56px auto;padding:36px}
.gate p{color:var(--mist)}
.gate .muted{color:var(--muted)}
.panel.narrow{margin-top:-28px}
.grid{gap:16px}
.vol{padding:22px;gap:6px 16px;transition:border-color .3s,transform .3s}
.vol:hover{border-color:rgba(255,191,101,.4)!important;transform:translateY(-3px)}
.vol .n{background:radial-gradient(circle at 50% 30%,#0D3F72,#021A33);border:1px solid rgba(255,191,101,.4);box-shadow:none;color:var(--amber);font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;border-radius:14px}
.vol strong{font-size:17px;letter-spacing:-.01em}
.vol small,.file small,.muted{color:var(--muted)}
.file{border-top-color:var(--line)}
.note{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.note i{background:var(--ok);box-shadow:0 0 10px rgba(95,211,162,.6)}

/* ---------- buttons ---------- */
.btn{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:#fff;font:700 13.5px Manrope,sans-serif;
  transition:border-color .2s,color .2s,background .2s,box-shadow .25s,transform .25s;position:relative;overflow:hidden;isolation:isolate}
.btn:hover{border-color:rgba(255,191,101,.7);color:var(--sun)}
.btn.primary,.btn.amber{background:var(--amber)!important;border-color:var(--amber)!important;color:var(--void)!important;font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(255,206,109,.6),0 12px 36px -12px rgba(255,191,101,.8)}
.btn.primary::before,.btn.amber::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.6) 45%,transparent 60%);background-size:250% 100%;animation:nshim 3.4s ease-in-out infinite}
.btn.primary:hover,.btn.amber:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(255,206,109,.8),0 18px 44px -12px rgba(255,191,101,1);filter:none}
.btn.big{min-height:50px;padding:0 26px;font-size:14.5px}
.btn.small{min-height:32px;padding:0 12px;font-size:12px}
.btn:disabled{opacity:.4;box-shadow:none}
.btn:disabled::before{animation:none}
.btn.ghostd,.btn.ghostl{background:rgba(255,255,255,.03)!important;border-color:var(--line2)!important;color:#fff!important}
@keyframes nshim{0%{background-position:150% 0}60%,100%{background-position:-60% 0}}

/* ---------- forms ---------- */
.gate label,.pfield label,.pfield legend{color:var(--mist);font-weight:600;font-size:12.5px;letter-spacing:.02em}
.gate input,.pfield input:not([type=radio]):not([type=checkbox]),.cform input{background:rgba(0,0,0,.28)!important;border:1px solid var(--line2)!important;color:#fff!important;border-radius:14px!important;transition:border-color .2s,box-shadow .2s}
.gate input{font-family:var(--mono);letter-spacing:.45em;height:58px}
.gate input:focus,.pfield input:not([type=radio]):not([type=checkbox]):focus,.cform input:focus{outline:none!important;border-color:var(--amber)!important;box-shadow:0 0 0 4px rgba(255,191,101,.16)}
.pfield input:disabled{background:rgba(255,255,255,.04)!important;color:var(--muted)!important}
.pfield input::placeholder,.cform input::placeholder{color:#5F7590}
.pradio,.pcheck{color:var(--mist)}
.pradio input,.pcheck input{accent-color:var(--amber);width:18px;height:18px;margin:0;flex:none}
.flash{background:rgba(255,191,101,.1);color:var(--sun);border:1px solid rgba(255,191,101,.3);border-radius:14px}
.flash.err{background:rgba(255,134,108,.1);color:#FFB3A3;border-color:rgba(255,134,108,.35)}
.flash.ok{background:rgba(95,211,162,.1);color:#9FEACB;border-color:rgba(95,211,162,.35)}

/* ---------- reading ---------- */
.reader{padding:clamp(24px,5vw,64px);color:#DCE6F0}
.reader::after{color:rgba(255,255,255,.035)}
.reader h1{font-size:clamp(34px,4.6vw,52px);line-height:1.04;color:#fff}
.reader h2{font-size:clamp(24px,2.8vw,32px);color:var(--sun)}
.reader h3,.reader h4{color:#fff}
.reader p,.reader li{color:#D3DEEA;line-height:1.75}
.reader th,.reader td{border-color:var(--line2)}
.reader th{background:rgba(255,255,255,.05);color:#fff}
.reader a{color:var(--amber)}
.reader .end{color:var(--muted)}
.crumbs a:not(.btn){color:var(--mist);text-decoration:none}
.crumbs a:not(.btn):hover{color:var(--sun)}
.fp{margin-top:-28px}.fp span{color:var(--muted);font-family:var(--mono);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.fp code{color:var(--amber)}
.reader.doc{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}

/* ---------- lobby ---------- */
.heroshade{background:linear-gradient(90deg,rgba(0,15,30,.95) 0%,rgba(0,15,30,.75) 50%,rgba(0,15,30,.35) 100%),linear-gradient(0deg,rgba(0,15,30,1) 0%,rgba(0,15,30,0) 45%)!important}
.jtop{color:var(--muted)}.jbar i{background:rgba(255,255,255,.12)}
.steps li{color:var(--muted)}
.pcard{padding:26px;transition:border-color .3s,transform .3s}
.pcard:hover{border-color:rgba(255,191,101,.35)!important;transform:translateY(-3px)}
.pcard.feature{border-top:1px solid var(--line)!important}
.pcard.feature::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--na,0deg),transparent 0 78%,var(--sun) 88%,var(--coral) 94%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:norbit 6s linear infinite}
.pcard.feature:nth-child(2)::after{animation-delay:-2s}.pcard.feature:nth-child(3)::after{animation-delay:-4s}
.pcard.off::after{display:none}
.pcard p{color:var(--mist)}.pcard h2{font-size:30px;color:#fff}
@property --na{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes norbit{to{--na:360deg}}
.entrance{padding:clamp(12px,1.6vw,18px)}
.entext p{color:var(--mist)}
.entext h2{font-size:clamp(30px,3.8vw,44px);color:#fff}
.endur,.ldur{background:rgba(0,15,30,.8)}
.libband{background:radial-gradient(1100px 560px at 8% -10%,rgba(6,63,114,.8) 0%,transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(255,134,108,.12) 0%,transparent 60%),transparent;border-block:1px solid var(--line)}
.libhead h2{font-size:clamp(40px,6.4vw,68px)}
.libline{color:var(--mist)}
.libstat{background:rgba(255,255,255,.04);border-color:var(--line)}
.routewrap{background:rgba(255,255,255,.03)!important}
.lcard{background:rgba(255,255,255,.035);border-color:var(--line);border-radius:20px}
.lthumb{border-radius:0}
.fchip{border-color:var(--line2);font-family:Manrope,sans-serif}
.story{background:radial-gradient(700px 400px at 90% 0%,rgba(13,90,160,.6) 0%,transparent 60%),var(--card)!important}
.sname{background:linear-gradient(100deg,var(--sun),var(--amber),var(--coral))}
.snum{color:var(--amber)}
.ringsvg circle[stroke="#E2DED4"]{stroke:rgba(255,255,255,.12)}
.ringsvg .token{fill:var(--amber)}
.rcore{fill:#fff!important}.rsub{fill:var(--muted)!important;font-family:var(--mono)!important}
.node{background:var(--card2);border-color:var(--line2);color:#fff;box-shadow:0 14px 30px -14px rgba(0,0,0,.9)}
.node b{background:radial-gradient(circle at 50% 30%,#0D3F72,#021A33);border:1px solid rgba(255,191,101,.4);color:var(--amber)}
.qual{color:#fff}.qual:hover{border-color:rgba(255,191,101,.5)!important}
.qual .qi{background:radial-gradient(circle at 50% 30%,#0D3F72,#021A33);border:1px solid rgba(255,191,101,.35)}
.qual small{color:var(--amber)}
.scale{background:radial-gradient(500px 260px at 50% 0%,rgba(255,191,101,.12),transparent 70%),var(--card)!important}
.bignum{color:#fff}.bignum span{color:var(--amber);font-family:var(--mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.acc summary{color:#fff}.acc summary::after{color:var(--amber)}.acc p{color:var(--mist)}
.acc details[open]{border-color:rgba(255,191,101,.3)!important}
.modtag{background:rgba(255,191,101,.14);color:var(--amber);font-family:var(--mono);font-weight:500}
.tline{border-left-color:var(--line2)}.tline li::before{box-shadow:0 0 0 4px rgba(255,191,101,.15)}.tline p{color:var(--muted)}
.chapter{background:var(--card)!important}.chapter.ch-innovation{background:radial-gradient(400px 220px at 100% 100%,rgba(255,191,101,.14),transparent 70%),var(--card)!important}
.chapter .chn{color:rgba(255,191,101,.35)}
.talkcta{border-left:1px solid var(--line)!important}
.chat{padding:24px}
.chead p{color:var(--muted)}
.cdot{background:var(--ok)}
.msg.me{background:linear-gradient(140deg,var(--sun),var(--amber));color:var(--void);font-weight:600}
.msg.ai{background:rgba(255,255,255,.06);color:#E6EEF6;border:1px solid var(--line)}
.msg.wait{color:var(--muted)}
.chipq{background:rgba(255,255,255,.04);border-color:var(--line2);color:var(--mist)}
.chipq:hover{border-color:var(--amber);color:#fff}
.vcard figcaption{color:var(--mist)}
.dock{background:rgba(0,20,40,.8);border:1px solid var(--line2);border-radius:999px;padding-left:22px}
.pfoot .note{justify-content:center}
.thshell{background:linear-gradient(180deg,#041E38,#000F1E)}
.thnext{background:rgba(0,15,30,.95)}

/* ---------- reveal (JS adds .nv on load) ---------- */
.nv-r{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s ease}
.nv-r.nv-in{opacity:1;transform:none;filter:none}

@media(max-width:620px){.top{padding-left:16px}.tagline{display:none}.hero{padding-top:40px;padding-bottom:48px}.gate{padding:26px;margin:36px auto}}
@media(prefers-reduced-motion:reduce){.btn.primary::before,.btn.amber::before,.pcard.feature::after{animation:none}.nv-r{opacity:1;transform:none;filter:none;transition:none}}
@media print{
  body,html{background:#fff!important;color:#000!important}body::after{display:none}
  .reader{background:#fff!important;color:#000!important;box-shadow:none!important;border:0!important}
  .reader p,.reader li,.reader h1,.reader h2,.reader h3,.reader h4{color:#000!important}
}
.ndap .okline{color:var(--ok)}
.pcard.off>*{opacity:.5}

/* Patent pending notice under the confidentiality line */
.note.patent{margin-top:8px}
.note.patent i{background:var(--amber,#FFBF65);box-shadow:none}
.toplinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
