
:root{--navy:#0b1f3a;--blue:#1a56db;--cyan:#00c2ff;--gray:#5b6675;--bg:#fff;--alt:#f3f6fa}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1c2733;background:var(--bg)}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}.narrow{max-width:640px;text-align:center}
.nav{position:sticky;top:0;background:#fffffff2;border-bottom:1px solid #e3e8ef;z-index:10}
.navin{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{font-weight:700;color:var(--navy);text-decoration:none;font-size:18px;display:flex;align-items:center;gap:8px}
.logo small{font-weight:400;color:var(--gray)}
.mark{background:var(--navy);color:#fff;width:30px;height:30px;display:grid;place-items:center;border-radius:6px}
nav a{margin-left:22px;color:var(--navy);text-decoration:none;font-size:15px}
.btn{display:inline-block;background:var(--blue);color:#fff!important;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:600;margin-left:0}
.btn.sm{padding:8px 16px}.btn.ghost{background:transparent;color:var(--blue)!important;border:2px solid var(--blue);padding:10px 22px}
section{padding:80px 0}.alt{background:var(--alt)}
.hero{background:linear-gradient(135deg,#eaf1fb,#fff)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
h1{font-size:46px;line-height:1.15;color:var(--navy);margin:.2em 0}
h2{font-size:34px;color:var(--navy);margin:0 0 .3em}h3{color:var(--navy);margin:.2em 0}
.eyebrow{color:var(--blue);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.lead{font-size:19px;color:var(--gray)}.sub{color:var(--gray);margin-bottom:36px}
img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px #0b1f3a22}
.card{background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:24px}
.card time{font-size:13px;color:var(--blue);font-weight:600}
.stats{background:var(--navy);color:#fff;padding:40px 0}
.stats b{display:block;font-size:34px;color:var(--cyan)}.stats span{font-size:14px;opacity:.85}
.checks{list-style:none;padding:0}.checks li{padding:6px 0 6px 28px;position:relative}
.checks li:before{content:"\2713";position:absolute;left:0;color:var(--blue);font-weight:700}
blockquote{border-left:4px solid var(--cyan);margin:24px 0;padding-left:16px;font-style:italic;color:var(--navy)}
footer{background:var(--navy);color:#b8c4d6;padding:28px 0;font-size:13px;text-align:center}
/* glitch effects */
.g-gone{visibility:hidden}
.g-flip{transform:rotate(180deg)!important;transition:none}
.g-shake{animation:shake .25s steps(2) 1}
.g-rgb{text-shadow:2px 0 #f0f,-2px 0 #0ff}
.g-fade{opacity:0;transition:opacity .4s}
body{transition:opacity .5s}body.g-body-fade{opacity:.05}
@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-4px,2px)}50%{transform:translate(5px,-2px)}75%{transform:translate(-3px,-1px)}100%{transform:translate(0)}}
@media(max-width:800px){.grid2,.grid3,.grid4{grid-template-columns:1fr}h1{font-size:34px}nav a:not(.btn){display:none}}
@media(prefers-reduced-motion:reduce){.g-shake{animation:none}}
/* inner pages */
a.card{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0b1f3a22}.more{color:var(--blue);font-weight:600;font-size:14px}
.crumbs{background:var(--alt);font-size:13px;padding:10px 0;color:var(--gray)}.crumbs a{color:var(--blue);text-decoration:none}
.prose{max-width:860px}.prose h2{margin-top:1.4em}
.tbl{width:100%;border-collapse:collapse;margin:20px 0}.tbl th,.tbl td{border-bottom:1px solid #e3e8ef;padding:10px;text-align:left}.tbl th{background:var(--alt);color:var(--navy)}
td.ok{color:#0a8a3c;font-weight:600}
.loader{height:14px;background:#e3e8ef;border-radius:7px;overflow:hidden}.loader span{display:block;height:100%;width:99%;background:var(--blue);animation:ld 3s ease-in-out infinite alternate}
@keyframes ld{0%{width:10%}100%{width:99%}}
footer a{color:#fff}
body[data-depth="3"] .hero,body[data-depth="4"] .hero{background:linear-gradient(135deg,#fff0f6,#effcff)}
body[data-depth="4"]{filter:hue-rotate(20deg)}
body.g-invert{filter:invert(1) hue-rotate(180deg)}
.g-skew{transform:skewX(-8deg);transition:none}
.g-mirror{transform:scaleX(-1)!important;transition:none}

.gform{display:grid;gap:16px;max-width:640px}.gform label{display:grid;gap:6px;font-weight:600;color:var(--navy);font-size:15px}
.gform input,.gform select,.gform textarea{font:inherit;padding:10px 12px;border:1px solid #c6cfdb;border-radius:6px}
.gform input:focus,.gform select:focus,.gform textarea:focus{outline:2px solid var(--cyan);border-color:var(--blue)}
.gform .btn{border:0;cursor:pointer;font-size:16px;justify-self:start}.fine{color:var(--gray);font-size:13px}
.errpage{min-height:60vh;background:linear-gradient(135deg,#1a0b2e,#0b1f3a);color:#fff}.errpage h1{color:#ff4d9d;font-family:monospace;word-break:break-word}.errpage .lead{color:#cfe}.code{font-family:monospace;color:#00c2ff}

#gchat{position:fixed;right:18px;bottom:18px;z-index:50;font:14px/1.4 -apple-system,"Segoe UI",Roboto,Arial,sans-serif}
#gchat-open{background:var(--blue);color:#fff;border:0;border-radius:24px;padding:12px 20px;font:600 14px inherit;cursor:pointer;box-shadow:0 6px 18px #0b1f3a44}
#gchat-win{width:320px;max-width:calc(100vw - 36px);background:#fff;border:1px solid #d3dbe6;border-radius:10px;box-shadow:0 12px 36px #0b1f3a44;overflow:hidden}
#gchat-win[hidden],#gchat-open[hidden]{display:none}
.gc-head{background:var(--navy);color:#fff;padding:12px 14px;position:relative}.gc-x{position:absolute;right:12px;top:8px;font-size:22px;cursor:pointer}
.gc-log{height:260px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f7f9fc}
.gc-m{max-width:85%;padding:8px 12px;border-radius:12px}.gc-m.bot{background:#e6edf7;color:#1c2733;align-self:flex-start}.gc-m.me{background:var(--blue);color:#fff;align-self:flex-end}
.gc-typing{opacity:.6;animation:ld2 1s infinite}@keyframes ld2{50%{opacity:.2}}
#gchat-form{display:flex;border-top:1px solid #d3dbe6}#gchat-form input{flex:1;border:0;padding:12px;font:inherit;min-width:0}#gchat-form input:focus{outline:2px solid var(--cyan);outline-offset:-2px}
#gchat-form button{border:0;background:var(--navy);color:#fff;padding:0 16px;cursor:pointer;font:inherit}

.launch{background:linear-gradient(135deg,#0b1f3a,#12345f);color:#fff;text-align:center}.launch h2{color:#fff}.launch .lead{color:#cfe3ff}.launch .eyebrow{color:var(--cyan)}
.cd{display:flex;gap:16px;justify-content:center;margin:28px 0;flex-wrap:wrap}.cd div{background:#ffffff14;border:1px solid #ffffff33;border-radius:10px;padding:16px 22px;min-width:96px}
.cd b{display:block;font:700 40px/1.1 ui-monospace,Menlo,Consolas,monospace;color:var(--cyan)}.cd span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.prose .cd div{background:var(--navy);color:#fff}.cdnote{text-align:center;color:#9fb6d3}.launch .cdnote{color:#9fb6d3}

.g-fuzz{filter:blur(2.5px);opacity:.75;transition:none}
.g-dim{opacity:.08;transition:opacity .25s}

#gck{position:fixed;left:18px;bottom:18px;z-index:60;max-width:380px;width:calc(100vw - 36px);background:#fff;border:1px solid #d3dbe6;border-radius:10px;box-shadow:0 12px 36px #0b1f3a55;font:14px/1.5 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;transition:opacity .5s,transform .5s}
#gck.gck-out{opacity:0;transform:translateY(20px)}.gck-in{padding:16px}.gck-in h4{margin:0 0 6px;color:var(--navy);font-size:16px}.gck-in p{margin:0 0 12px}
.gck-opts{display:grid;gap:8px;margin-bottom:12px}.gck-opts[hidden]{display:none}.gck-opts label{display:flex;gap:8px;align-items:flex-start}
.gck-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gck-btns .btn{padding:8px 14px;border:0;cursor:pointer;font-size:14px;transition:transform .3s}.gck-btns .btn.ghost{border:2px solid var(--blue);padding:6px 12px}
.gck-link{background:none;border:0;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit}.gck-res{margin-top:10px!important;color:var(--navy);font-weight:600}
@media(max-width:600px){#gck{bottom:74px}}

/* ===== fluid / responsive layer ===== */
.wrap{max-width:none;padding-left:clamp(14px,2.2vw,40px);padding-right:clamp(14px,2.2vw,40px)}
.narrow{max-width:760px}
.prose{max-width:none}.prose>p,.prose>ul,.prose>ol,.prose>blockquote{max-width:110ch}
body{font-size:clamp(16px,.9vw + 10px,19px)}
h1{font-size:clamp(32px,3.2vw,60px)}h2{font-size:clamp(26px,2.2vw,40px)}
.grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.grid3{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.grid4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.hero .grid2{grid-template-columns:1.2fr 1fr}
img{max-width:100%;height:auto}
.tbl{display:block;overflow-x:auto;white-space:normal}
.gform{max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.gform label:has(textarea),.gform .btn,.gform .fine{grid-column:1/-1}
.gform input,.gform select,.gform textarea{font-size:16px;min-height:44px;width:100%}
.nav .btn.sm,.btn{min-height:44px;display:inline-flex;align-items:center}
.menu-btn{display:none;background:none;border:1px solid #c6cfdb;border-radius:6px;width:44px;height:44px;font-size:22px;cursor:pointer;color:var(--navy)}
@media(max-width:1000px){.hero .grid2{grid-template-columns:1fr}}
@media(max-width:860px){
 .menu-btn{display:block}
 .navin{flex-wrap:wrap;height:auto;min-height:64px}
 .navin nav{display:none;flex-basis:100%;flex-direction:column;padding-bottom:10px}
 .navin nav.open{display:flex}
 nav a:not(.btn){display:flex!important;align-items:center;min-height:44px;margin:0;border-top:1px solid #eef1f5}
 nav .btn.sm{margin-top:8px;justify-content:center}
 section{padding:48px 0}
 .cd div{min-width:70px;padding:12px}.cd b{font-size:28px}
 #gchat-win{width:calc(100vw - 28px)}
 .gc-log{height:50vh}
}
@media(max-width:480px){.grid4{grid-template-columns:repeat(2,1fr)}.btn{width:100%;justify-content:center;margin-bottom:8px}.hero .btn{width:100%}}
@media(max-width:600px){#gchat{right:10px;bottom:10px}#gchat-open{padding:9px 14px;font-size:13px;opacity:.92}footer{padding-bottom:70px}}

.legal{max-width:none}.legal>p{max-width:120ch;font-size:.92em;line-height:1.7;color:#3c4858}.legal h2{font-size:1.15em;margin:1.6em 0 .4em}
@media(min-width:1500px){.legal{column-count:2;column-gap:64px}.legal h2{break-after:avoid}.legal p{break-inside:avoid}}
