:root{--bg-canvas:#1e1612;--bg-surface:#30231b;--bg-surface-hover:#3a2b21;--text-primary:#f5ecdf;--text-muted:#c9b8a3;--accent-primary:#f59e0b;--accent-secondary:#c2410c;--border-subtle:rgba(245,236,223,.14);--border-highlight:rgba(245,158,11,.6);--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-head:"Arial Narrow","Helvetica Neue",Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--ease-kinetic:cubic-bezier(.16,1,.3,1);--hard:4px 4px 0 #0d0907}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-canvas);color:var(--text-primary);font:1.0625rem/1.72 var(--font-sans);overflow-wrap:anywhere;hyphens:auto}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent-primary);text-underline-offset:3px}
a:hover{color:#fbbf24}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-head);font-stretch:condensed;text-transform:uppercase;letter-spacing:.12em;line-height:1.15;font-weight:700}
h1{font-size:clamp(2rem,5vw,3.6rem);letter-spacing:.08em}
h2{font-size:clamp(1.35rem,2.6vw,1.9rem);margin:2.4rem 0 1rem}
h3{font-size:1.1rem;margin:1.6rem 0 .6rem}
p,ul,ol{margin-bottom:1.1rem}
ul,ol{padding-left:1.3rem}
.wrap{max-width:1240px;margin:0 auto;padding:0 1.25rem}
.muted{color:var(--text-muted)}
.label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--accent-primary);color:#1e1612;padding:.5rem 1rem;z-index:99}
/* tagline + header */
.tagbar{border-bottom:1px solid var(--border-subtle);background:#17110d;font:.72rem/1.4 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.45rem 0}
.tagbar .wrap{display:flex;align-items:center;gap:.6rem}
.tagdot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);flex:none}
.site-header{position:relative;border-bottom:1px solid var(--border-subtle);background:var(--bg-canvas);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text-primary);margin-right:auto}
.brand-mark{width:40px;height:40px;border-radius:50%;border:2px solid var(--accent-primary);display:grid;place-items:center;font:700 .8rem var(--font-head);letter-spacing:.08em;color:var(--accent-primary)}
.brand-name{font:700 1rem var(--font-head);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.site-nav ul{display:flex;list-style:none;gap:1.05rem;padding:0;margin:0}
.site-nav a{position:relative;color:var(--text-primary);text-decoration:none;font:600 .78rem var(--font-head);letter-spacing:.11em;text-transform:uppercase;padding:.35rem 0;white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-kinetic)}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.site-nav a[aria-current="page"]{color:var(--accent-primary)}
.menu-btn{display:none;background:none;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:1.5rem;width:44px;height:44px;cursor:pointer;line-height:1}
/* buttons */
.btn{display:inline-block;background:var(--accent-primary);color:#1e1612;font:700 .85rem var(--font-head);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.9rem 1.4rem;border:0;box-shadow:var(--hard);cursor:pointer;transition:transform .25s var(--ease-kinetic),box-shadow .25s var(--ease-kinetic)}
.btn:hover{transform:translate(4px,4px);box-shadow:0 0 0 #0d0907;color:#1e1612}
.btn-ghost{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);box-shadow:4px 4px 0 rgba(245,158,11,.35)}
.btn-ghost:hover{color:var(--accent-primary)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
/* hero */
.dotgrid{background-image:radial-gradient(rgba(245,158,11,.16) 1px,transparent 1.3px);background-size:22px 22px}
.hero{position:relative;padding:4.5rem 0 5rem;border-bottom:1px solid var(--border-subtle);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 50% at 75% 40%,rgba(245,158,11,.12),transparent 70%),radial-gradient(35% 40% at 15% 80%,rgba(194,65,12,.1),transparent 70%);animation:meshDrift 15s ease infinite alternate}
@keyframes meshDrift{0%{background-position:0 0,0 0;opacity:.7}100%{background-position:40px -30px,-30px 20px;opacity:1}}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero p.lead{font-size:1.2rem;color:var(--text-muted);max-width:52ch;margin:1.3rem 0 2rem}
.renders{position:relative;height:440px}
.render{position:absolute;width:58%;border:1px solid var(--border-highlight);background:var(--bg-surface)}
.render img{aspect-ratio:4/5;object-fit:cover;width:100%}
.render figcaption{font:.68rem/1.3 var(--font-mono);letter-spacing:.06em;color:var(--text-muted);padding:.45rem .55rem;border-top:1px solid var(--border-subtle);text-transform:uppercase}
.render:nth-child(1){left:0;top:0;z-index:1}
.render:nth-child(2){left:22%;top:12%;z-index:2}
.render:nth-child(3){left:42%;top:26%;z-index:3}
.recon-tag{position:absolute;top:.5rem;left:.5rem;background:#1e1612;color:var(--accent-primary);font:.62rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:.2rem .45rem;border:1px solid var(--accent-primary)}
/* page header */
.page-head{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--border-subtle)}
.page-head p{color:var(--text-muted);max-width:62ch;font-size:1.15rem;margin-top:1rem}
/* sections */
.section{padding:4rem 0;border-bottom:1px solid var(--border-subtle)}
.section-head{max-width:68ch;margin-bottom:2rem}
.section-head h2{margin-top:.4rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}
.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:1.5rem;transition:transform .5s var(--ease-kinetic),border-color .3s,background .3s}
a.panel{display:block;color:var(--text-primary);text-decoration:none}
a.panel:hover{transform:translateY(-6px) scale(1.01);border-color:var(--border-highlight);background:var(--bg-surface-hover)}
.panel h3{margin-top:.4rem}
.badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--accent-primary);color:var(--accent-primary);font:700 .78rem var(--font-head);letter-spacing:.06em;flex:none}
/* case rows */
.case-rows{border-top:1px solid var(--border-subtle)}
.case-row{display:grid;grid-template-columns:auto 120px 1fr auto;gap:1.25rem;align-items:center;padding:1.25rem .5rem;border-bottom:1px solid var(--border-subtle);text-decoration:none;color:var(--text-primary);transition:background .3s,padding .4s var(--ease-kinetic)}
.case-row:hover{background:var(--bg-surface);padding-left:1rem;color:var(--text-primary)}
.case-row .thumb img{aspect-ratio:1/1;object-fit:cover;width:120px;border:1px solid var(--border-subtle)}
.case-row h3{margin:0 0 .3rem}
.case-row p{margin:0;color:var(--text-muted);font-size:.95rem}
.case-row .go{font:700 .75rem var(--font-head);letter-spacing:.14em;color:var(--accent-primary);text-transform:uppercase}
/* status chips */
.status{display:inline-block;font:700 .66rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid currentColor}
.s-open{color:var(--accent-primary)}.s-solved{color:#a3c585}.s-disproven{color:#e8836b}.s-contested{color:#e0c27a}
/* article */
.article{max-width:70ch;margin:0 auto;padding:3rem 1.25rem 4rem}
.article h2{border-top:1px solid var(--border-subtle);padding-top:2rem}
.src{font:.8rem/1.5 var(--font-mono);color:var(--text-muted);border-left:2px solid var(--border-subtle);padding-left:.75rem;margin:-.4rem 0 1.4rem}
.wide{width:min(1100px,calc(100vw - 2.5rem));margin:2.5rem 0 2.5rem calc(50% - min(550px,calc(50vw - 1.25rem)));border:1px solid var(--border-subtle);background:var(--bg-surface)}
.wide img{aspect-ratio:16/9;object-fit:cover;width:100%}
figcaption{font:.78rem/1.5 var(--font-mono);color:var(--text-muted);padding:.7rem .9rem}
figcaption strong{color:var(--accent-primary);letter-spacing:.08em}
.card-img img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:1rem;border:1px solid var(--border-subtle)}
.pullquote{border-left:4px solid var(--accent-primary);background:rgba(48,35,27,.6);backdrop-filter:blur(6px);padding:1.4rem 1.6rem;margin:2.5rem 0}
.pullquote p{font:italic 1.35rem/1.5 var(--font-serif);margin-bottom:.8rem}
.pullquote cite{font:.78rem var(--font-mono);font-style:normal;color:var(--text-muted);letter-spacing:.05em}
.callout{border-left:4px solid var(--accent-primary);background:var(--bg-surface);padding:1.1rem 1.3rem;margin:1.8rem 0}
.callout p:last-child{margin:0}
/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-subtle);margin:2rem 0}
.compare>div{padding:1.2rem 1.3rem}
.compare>div+div{border-left:1px solid var(--border-subtle);background:var(--bg-surface)}
.compare h4{font-size:.8rem;color:var(--accent-primary);margin-bottom:.6rem}
.compare .verdict{grid-column:1/-1;border-top:1px solid var(--border-subtle);border-left:0!important;background:#17110d;font-size:.92rem}
.compare p{margin-bottom:.4rem}
/* chronology */
.chrono{list-style:none;padding:0;margin:2rem 0;position:relative}
.chrono::before{content:"";position:absolute;left:23px;top:0;bottom:0;width:1px;background:linear-gradient(var(--accent-primary),rgba(245,158,11,.1))}
.chrono li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:1rem;margin-bottom:1.3rem}
.chrono .node{width:48px;height:48px;border-radius:50%;background:var(--bg-canvas);border:1px solid var(--accent-primary);display:grid;place-items:center;font:700 .66rem var(--font-head);color:var(--accent-primary);box-shadow:0 0 18px -6px var(--accent-primary)}
.chrono h3{margin:.2rem 0 .25rem;font-size:.95rem}
.chrono p{margin:0;color:var(--text-muted);font-size:.95rem}
/* faq */
details{border:1px solid var(--border-subtle);background:var(--bg-surface);margin-bottom:.8rem}
summary{cursor:pointer;padding:1.1rem 1.3rem;font:700 .95rem var(--font-head);letter-spacing:.1em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--accent-primary);font-size:1.2rem}
details[open] summary::after{content:"–"}
details>div{padding:0 1.3rem 1.1rem;color:var(--text-muted)}
/* team */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}
.member{display:flex;gap:1rem;align-items:flex-start}
.avatar{width:58px;height:58px;border-radius:50%;background:#17110d;border:1px solid var(--accent-primary);display:grid;place-items:center;font:700 1rem var(--font-head);color:var(--accent-primary);flex:none}
.member h3{margin:.1rem 0 .2rem;font-size:.95rem}
.member p{margin:0;font-size:.9rem;color:var(--text-muted)}
/* form */
.form{display:grid;gap:1rem}
.form label{font:700 .75rem var(--font-head);letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:.35rem}
.form input,.form select,.form textarea{width:100%;background:#17110d;border:1px solid var(--border-subtle);color:var(--text-primary);padding:.75rem .85rem;font:inherit}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent-primary);outline:none}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}
.check input{width:auto;margin-top:.35rem}
.form-status{font:.85rem var(--font-mono);min-height:1.3em;color:var(--accent-primary)}
.form-out{white-space:pre-wrap;background:#17110d;border:1px solid var(--border-subtle);padding:1rem;font:.85rem/1.6 var(--font-mono);min-height:6rem;margin:1rem 0}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem}
/* tables */
table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem;min-width:520px}
th,td{border:1px solid var(--border-subtle);padding:.65rem .8rem;text-align:left;vertical-align:top}
th{font:700 .75rem var(--font-head);letter-spacing:.12em;text-transform:uppercase;background:var(--bg-surface)}
/* footer */
.site-footer{background:#140f0c;border-top:1px solid var(--border-subtle);padding:3rem 0 1.5rem;font-size:.92rem;color:var(--text-muted)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:2rem}
.foot-h{font-size:.8rem;margin:0 0 .8rem;color:var(--text-primary)}
.site-footer ul{list-style:none;padding:0}
.site-footer li{margin-bottom:.4rem}
.site-footer a{color:var(--text-muted)}
.site-footer a:hover{color:var(--accent-primary)}
.site-footer address{font-style:normal;margin-top:.6rem}
.foot-base{border-top:1px solid var(--border-subtle);margin-top:2rem;padding-top:1.2rem;font:.75rem var(--font-mono)}
/* reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-kinetic),transform .8s var(--ease-kinetic)}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* responsive */
@media (max-width:1200px){.site-nav ul{gap:.8rem}.site-nav a{font-size:.72rem;letter-spacing:.08em}}
@media (max-width:1000px) and (min-width:769px){.brand-name{display:none}}
@media (max-width:768px){
.menu-btn{display:block}
.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#17110d;border-bottom:1px solid var(--accent-primary);padding:1rem 1.25rem 1.4rem}
.site-nav.open{display:block;animation:drop .35s var(--ease-kinetic)}
.site-nav ul{flex-direction:column;gap:0}
.site-nav li{border-bottom:1px solid var(--border-subtle)}
.site-nav a{display:block;padding:.85rem 0;font-size:.85rem}
.hero-grid{grid-template-columns:1fr;gap:2rem}
.renders{height:auto;display:flex;padding-bottom:1rem}
.render{position:relative;width:38%;left:auto!important;top:auto!important}
.render+.render{margin-left:-7%}
.render:nth-child(2){transform:translateY(14px)}.render:nth-child(3){transform:translateY(28px)}
.render figcaption{font-size:.56rem;padding:.3rem}
.case-row{grid-template-columns:auto 1fr;}
.case-row .thumb,.case-row .go{display:none}
.compare{grid-template-columns:1fr}.compare>div+div{border-left:0;border-top:1px solid var(--border-subtle)}
.footer-grid{grid-template-columns:1fr 1fr}
}
@keyframes drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media (max-width:480px){body{font-size:1rem}.footer-grid{grid-template-columns:1fr}.hero{padding:3rem 0 3.5rem}.brand-name{font-size:.82rem;letter-spacing:.08em}.recon-tag{font-size:.5rem}}