:root{
  --bg:#0A0E1A; --panel:#0F1629; --panel-2:#131C33; --line:rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.14); --ink:#F5F7FA; --ink-2:#AEB8CC; --ink-3:#7E8AA3;
  --cyan:#22D3EE; --cyan-text:#67E8F9; --good:#34D399; --bad:#F87171; --amber:#FBBF24;
  --display:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan-text)}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.01em;line-height:1.12}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(10,14,26,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em}
.mark{width:22px;height:22px;flex:none}
.nav-links{display:flex;gap:30px;align-items:center;font-size:14px;color:var(--ink-2)}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a.active{color:var(--cyan-text)}
.nav-cta{border:1px solid var(--line-strong);border-radius:8px;padding:8px 15px;color:var(--ink);font-size:14px;transition:.2s}
.nav-cta:hover{background:var(--cyan);color:#04121A;border-color:var(--cyan)}
@media(max-width:820px){.nav-links{display:none}}

/* buttons */
.btn{border-radius:9px;padding:13px 22px;font-size:15px;font-weight:500;font-family:var(--sans);border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s;display:inline-flex;align-items:center;gap:9px}
.btn-primary{background:var(--cyan);color:#04121A}
.btn-primary:hover{transform:translateY(-1px);background:#3DDDF0}
.btn-ghost{border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan-text)}

/* page hero */
.phero{position:relative;padding:100px 0 72px;overflow:hidden;border-bottom:1px solid var(--line)}
.phero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 0%,transparent 75%);opacity:.5}
.phero-in{position:relative;max-width:820px}
.phero h1{font-size:clamp(38px,6vw,68px);margin:20px 0 0;font-weight:500}
.phero h1 em{font-style:italic;color:var(--cyan-text)}
.phero-sub{font-size:clamp(17px,2.1vw,20px);color:var(--ink-2);margin-top:24px;max-width:640px;line-height:1.55}
.phero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}

/* sections */
section{position:relative;padding:88px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:none}
.sec-head{max-width:700px;margin-bottom:48px}
.sec-head.center{margin:0 auto 52px;text-align:center}
.sec-head h2{font-size:clamp(28px,4vw,42px);margin-top:14px}
.sec-head p{color:var(--ink-2);font-size:17px;margin-top:16px;line-height:1.6}

/* generic cards */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}
.card h3{font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
.card p{color:var(--ink-2);font-size:14.5px;line-height:1.6}
.card .ic{width:38px;height:38px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ic svg{width:20px;height:20px;stroke:var(--cyan-text)}

/* pillar rows */
.pillar-row{display:grid;grid-template-columns:200px 1fr;gap:36px;padding:34px 0;border-top:1px solid var(--line);align-items:start}
.pillar-row:first-child{border-top:none}
@media(max-width:760px){.pillar-row{grid-template-columns:1fr;gap:16px}}
.pillar-label h3{font-family:var(--display);font-size:26px;font-weight:600}
.pillar-label .pnum{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-bottom:8px}
.pillar-body>p{color:var(--ink-2);font-size:16px;line-height:1.65;margin-bottom:18px;max-width:640px}
.caps{display:flex;flex-wrap:wrap;gap:8px}
.cap{font-family:var(--mono);font-size:12px;color:var(--ink-2);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:6px 11px}

/* solution blocks */
.sol{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:20px}
@media(max-width:760px){.sol{grid-template-columns:1fr}}
.sol-who{padding:32px;background:var(--panel-2)}
.sol-how{padding:32px;background:var(--panel)}
.sol h3{font-family:var(--sans);font-size:21px;font-weight:600;margin-bottom:6px}
.sol .role{font-family:var(--mono);font-size:12px;color:var(--cyan-text);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.sol-who p{color:var(--ink-2);font-size:15px;line-height:1.6}
.sol-how .lab{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:10px}
.sol-how ul{list-style:none}
.sol-how li{color:var(--ink-2);font-size:14.5px;line-height:1.5;padding-left:22px;position:relative;margin-bottom:11px}
.sol-how li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--good)}

/* evidence panel (reused) */
.evidence{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line-strong);border-radius:16px;overflow:hidden}
.ev-bar{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.ev-bar .d{width:11px;height:11px;border-radius:50%}
.ev-body{padding:26px;font-family:var(--mono);font-size:14.5px;line-height:1.85}
.ev-line{display:flex;gap:14px;margin-bottom:6px;flex-wrap:wrap}
.ev-tag{color:var(--ink-3);flex:none;width:64px}
.ev-sent{color:var(--ink-2)}
.ev-reply{color:var(--bad);font-weight:500}
.ev-verdict{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ev-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3);color:var(--bad);border-radius:7px;padding:6px 13px;font-size:13px;font-weight:600;font-family:var(--sans)}
.ev-verdict span{color:var(--ink-2);font-size:14px;font-family:var(--sans)}

/* availability strip */
.avail{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:24px 28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.avail .dot{width:9px;height:9px;border-radius:50%;background:var(--good);flex:none;box-shadow:0 0 0 4px rgba(52,211,153,.15)}
.avail p{color:var(--ink-2);font-size:15px;line-height:1.5}
.avail strong{color:var(--ink);font-weight:600}

/* stats */
.stat{border:1px solid var(--line);border-radius:13px;padding:24px 20px;background:var(--panel);text-align:center}
.stat .v{font-family:var(--display);font-size:clamp(30px,4vw,40px);font-weight:600}
.stat .l{font-size:12.5px;color:var(--ink-3);margin-top:8px;line-height:1.45}

/* logos row */
.logos{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.logos .lchip{font-family:var(--mono);font-size:13px;color:var(--ink-2);border:1px solid var(--line);border-radius:8px;padding:9px 15px;background:var(--panel)}

/* cta band */
.ctaband{text-align:center;padding:96px 0}
.ctaband h2{font-size:clamp(30px,4.4vw,48px);max-width:740px;margin:0 auto}
.ctaband p{color:var(--ink-2);font-size:18px;margin:20px auto 0;max-width:540px}
.ctaband .btn{margin-top:32px}
.ctaband .mail{font-family:var(--mono);font-size:15px;color:var(--cyan-text);margin-top:22px;display:inline-block}

/* footer */
footer{border-top:1px solid var(--line);padding:52px 0 40px}
.foot-in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.foot-brand{max-width:280px}
.foot-brand .brand{margin-bottom:14px}
.foot-brand p{color:var(--ink-3);font-size:13.5px;line-height:1.6}
.foot-cols{display:flex;gap:56px;flex-wrap:wrap}
.foot-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.foot-col a,.foot-col span{display:block;color:var(--ink-2);font-size:14px;margin-bottom:9px}
.foot-col a:hover{color:var(--ink)}
.foot-col span{color:var(--ink-3)}
.foot-bottom{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-3);font-size:13px}
.foot-bottom .split{font-family:var(--mono);font-size:12px}

/* founder responsive */
@media(max-width:760px){.founder-wrap{grid-template-columns:1fr!important;gap:28px!important}}

/* contact form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:32px}}
.form-field{margin-bottom:18px}
.form-field label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:7px;font-weight:500}
.form-field input,.form-field textarea,.form-field select{width:100%;background:var(--panel);border:1px solid var(--line-strong);border-radius:9px;padding:12px 14px;color:var(--ink);font-family:var(--sans);font-size:15px}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.form-field textarea{resize:vertical;min-height:100px}
.contact-info h3{font-family:var(--sans);font-size:18px;font-weight:600;margin:22px 0 8px}
.contact-info p{color:var(--ink-2);font-size:15px;line-height:1.6}
.contact-info a{color:var(--cyan-text)}
.note{color:var(--ink-3);font-size:13px;margin-top:14px;line-height:1.5}

/* ---- motion layer (progressive enhancement) ---- */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.08s}
[data-reveal][data-delay="2"]{transition-delay:.16s}
[data-reveal][data-delay="3"]{transition-delay:.24s}
[data-reveal][data-delay="4"]{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* animated hero canvas */
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.phero-in,.hero-in{position:relative;z-index:1}

/* card hover lift */
.card{transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s}
.card:hover{transform:translateY(-3px);border-color:var(--line-strong);background:var(--panel-2)}
.pillar-row .cap{transition:border-color .2s,color .2s}
.pillar-row:hover .cap{border-color:var(--line-strong)}

/* evidence typing caret */
.ev-reply.typing::after{content:"";display:inline-block;width:8px;height:15px;background:var(--bad);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ev-reply.typing::after{display:none}}

/* stat count shimmer */
.stat .v{transition:color .3s}

/* nav shadow on scroll */
nav.scrolled{box-shadow:0 1px 0 var(--line-strong),0 8px 30px rgba(0,0,0,.3)}

/* button shine */
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;left:-80%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .5s}
.btn-primary:hover::after{left:130%}

/* form status */
.form-status{margin-top:16px;font-size:14px;line-height:1.5;padding:0}
.form-status.ok{color:var(--good)}
.form-status.err{color:var(--bad)}
.form-status:empty{display:none}

/* ---- diagrams & textures ---- */
.diagram{width:100%;height:auto;display:block}
.diagram-wrap{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:32px;overflow:hidden}
.diagram-wrap.plain{background:transparent;border:none;padding:0}

/* section texture: faint radial + grid, non-literal */
.tex{position:relative}
.tex::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(600px 300px at 85% 10%, rgba(103,232,249,.05), transparent 70%),
    radial-gradient(500px 260px at 5% 90%, rgba(103,232,249,.035), transparent 70%);
  opacity:.9}
.tex > .wrap{position:relative;z-index:1}

/* dotted mesh texture variant */
.tex-dots{position:relative}
.tex-dots::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, #000, transparent 78%);opacity:.6}
.tex-dots > .wrap{position:relative;z-index:1}

/* screenshot placeholder frame (for later real screenshots) */
.shot-frame{border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;background:var(--panel-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.shot-frame .shot-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;border-bottom:1px solid var(--line);background:var(--panel)}
.shot-frame .shot-bar .d{width:10px;height:10px;border-radius:50%}
.shot-frame .shot-bar .u{margin-left:10px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.shot-frame .shot-slot{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--ink-3);font-family:var(--mono);font-size:12px;text-align:center;padding:24px;background:
  linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:40px 40px}
.shot-frame .shot-slot img{width:100%;height:100%;object-fit:cover}
