:root{--bg-canvas:#1c1f24;--bg-surface:#23272e;--bg-surface-hover:#2a2f37;--text-primary:#e5e7eb;--text-muted:#a3aab5;--accent-primary:#10b981;--accent-secondary:#047857;--border-subtle:#3a4049;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:none;--glow-accent:none;--glass-backdrop:none;--r:20px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:400 1.0625rem/1.75 system-ui,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere;hyphens:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(2.1rem,5.6vw,3.5rem)}
h2{font-size:clamp(1.55rem,3.6vw,2.15rem);margin-top:3rem}
h3{font-size:1.25rem}
p{margin:0}
ul{margin:0;padding:0}
a{color:var(--accent-primary);text-underline-offset:3px}
a:hover{color:#34d399}
img{display:block;max-width:100%;height:auto;object-fit:cover;border-radius:var(--r)}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent-primary);color:#06241a;padding:.6rem 1rem;z-index:10;border-radius:0 0 12px 0;font-weight:800}
.skip:focus{left:0}
.wrap{width:min(1200px,100% - 2rem);margin-inline:auto}
.col{width:min(68ch,100% - 2rem);margin-inline:auto}
.flow>*+*{margin-top:1.2rem}
.flow>h2{margin-top:3rem}
.flow>h3{margin-top:2rem}
.topbar{background:#14161a;border-bottom:1px solid var(--border-subtle);font-size:.82rem;color:var(--text-muted);padding:.35rem 0;line-height:1.4}
.site-header{position:relative;background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);z-index:5}
.hd{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:-.02em;font-size:1.25rem;color:var(--text-primary);text-decoration:none}
.brand:hover{color:var(--text-primary)}
.main-nav ul{display:flex;gap:1.4rem;list-style:none}
.main-nav a{color:var(--text-primary);text-decoration:none;font-weight:600;font-size:.95rem;padding:.35rem 0;border-bottom:2px solid transparent;transition:border-color .25s var(--ease-kinetic),color .25s}
.main-nav a:hover,.main-nav a[aria-current=page]{border-color:var(--accent-primary);color:#34d399}
.menu-btn{display:none;background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);width:44px;height:44px;border-radius:12px;font-size:1.6rem;line-height:1;cursor:pointer;transition:background .25s}
.menu-btn:hover{background:var(--bg-surface-hover)}
.dots{background-image:radial-gradient(#3a4049 1.2px,transparent 1.4px);background-size:22px 22px}
.hero{padding:clamp(2rem,6vw,4.5rem) 0}
.hero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;align-items:center}
.hero-in .txt>*+*{margin-top:1.3rem}
.hero-in img{aspect-ratio:4/5;width:100%}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--accent-primary)}
.lead{font-size:1.2rem;color:var(--text-primary)}
.btns{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.btn{display:inline-block;background:var(--accent-primary);color:#06241a;font:800 1rem/1.2 system-ui,"Segoe UI",Roboto,sans-serif;padding:.9rem 1.4rem;border:0;border-radius:14px;box-shadow:4px 4px 0 var(--accent-secondary);transition:transform .22s var(--ease-kinetic),box-shadow .22s var(--ease-kinetic);cursor:pointer;text-decoration:none}
.btn:hover{transform:translate(4px,4px);box-shadow:0 0 0 var(--accent-secondary);color:#06241a}
.btn.alt{background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:4px 4px 0 var(--border-subtle)}
.btn.alt:hover{box-shadow:0 0 0 var(--border-subtle);color:var(--text-primary)}
.sec{padding:clamp(2.5rem,6vw,4rem) 0}
.sec>.col>h2:first-child,.sec>.wrap>h2:first-child{margin-top:0}
.sec-intro{margin-top:.8rem;color:var(--text-muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:2rem}
.card{position:relative;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r);padding:1.5rem;transition:transform .35s var(--ease-kinetic),border-color .3s,background .3s}
.card:hover{transform:translateY(-4px);border-color:var(--accent-primary);background:var(--bg-surface-hover)}
.card>*+*{margin-top:.7rem}
.card.media{padding:0;overflow:hidden}
.card.media img{aspect-ratio:4/3;width:100%;border-radius:0}
.card.media .body{padding:1.3rem 1.5rem 1.6rem}
.card.media .body>*+*{margin-top:.6rem}
.stretch{color:var(--text-primary);text-decoration:none}
.stretch::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.stretch:hover{color:var(--accent-primary)}
.tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--accent-primary)}
.muted{color:var(--text-muted)}
.more{font-weight:700}
.pull{margin-block:3rem;font-size:clamp(1.6rem,4.2vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;border-left:6px solid var(--accent-primary);padding-left:1.3rem}
.pull cite{display:block;margin-top:1rem;font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--text-muted);font-style:normal}
.wide{--bw:min(880px,calc(100vw - 2rem));width:var(--bw);margin-left:calc(50% - var(--bw)/2)}
.breakout{--bw:min(1040px,calc(100vw - 2rem));width:var(--bw);margin-left:calc(50% - var(--bw)/2);margin-block:2.5rem}
.breakout img{aspect-ratio:16/9;width:100%}
.breakout figcaption{margin-top:.7rem;font-size:.9rem;color:var(--text-muted);padding-inline:.3rem}
.quote-sec{padding:clamp(2.5rem,6vw,4.5rem) 0}
.pick{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r);padding:1.5rem;transition:transform .35s var(--ease-kinetic),border-color .3s}
.pick:hover{transform:translateY(-3px);border-color:var(--accent-primary)}
.pick>*+*{margin-top:.8rem}
.pc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.pc h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}
.pc ul{list-style:none;font-size:.97rem;line-height:1.55}
.pc li{padding-left:1.4rem;position:relative;margin-top:.45rem}
.pc .pro li::before{content:"+";position:absolute;left:0;color:var(--accent-primary);font-weight:800}
.pc .con li::before{content:"\2212";position:absolute;left:0;color:#fbbf24;font-weight:800}
.qa{border-top:1px solid var(--border-subtle);padding:1.4rem 0}
.qa:last-child{border-bottom:1px solid var(--border-subtle)}
.qa h3{margin-bottom:.5rem}
.page-hero{padding:clamp(2.5rem,7vw,5rem) 0 clamp(1.5rem,4vw,2.5rem)}
.page-hero .col>*+*{margin-top:1.1rem}
.ticks{padding-left:1.2rem}
.ticks li{margin-top:.4rem}
form.tool{display:grid;gap:1rem;margin-top:1.5rem}
.tool label{display:grid;gap:.35rem;font-weight:700;font-size:.95rem}
.tool input,.tool select,.tool textarea{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:14px;padding:.8rem 1rem;font:inherit;width:100%}
.tool textarea{min-height:150px;resize:vertical}
.tool input:focus,.tool select:focus,.tool textarea:focus{border-color:var(--accent-primary)}
.preview{margin-top:2rem;background:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:var(--r);padding:1.3rem}
.preview pre{margin:.6rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:.95rem/1.6 ui-monospace,Consolas,monospace;color:var(--text-primary)}
.status{min-height:1.5rem;margin-top:1rem;color:var(--accent-primary);font-weight:700}
.site-footer{margin-top:4rem;border-top:1px solid var(--border-subtle);background:#16181c;padding:2.5rem 0 2rem;font-size:.95rem}
.f-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;padding-bottom:1.4rem;border-bottom:1px solid var(--border-subtle)}
.f-top p{color:var(--text-muted)}
.f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding:1.4rem 0}
.f-bot ul{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.3rem}
.f-bot a{color:var(--text-primary);text-decoration:none}
.f-bot a:hover{color:var(--accent-primary);text-decoration:underline}
.note{color:var(--text-muted);font-size:.87rem;line-height:1.6}
.note+.note{margin-top:.5rem}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}
.reveal.reveal-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media (max-width:479px){body{font-size:1rem}.hero-in{gap:1.8rem}.btn{width:100%;text-align:center}.pull{padding-left:1rem}.card,.pick{padding:1.2rem}}
@media (min-width:481px) and (max-width:768px){.hero-in img{aspect-ratio:4/3}}
@media (max-width:767px){.menu-btn{display:block}
.main-nav{position:absolute;left:0;right:0;top:100%;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .45s var(--ease-kinetic),visibility .45s}
.main-nav.open{max-height:460px;visibility:visible}
.main-nav ul{flex-direction:column;gap:0;padding:.4rem 1rem 1rem;width:min(1200px,100%);margin-inline:auto}
.main-nav a{display:block;padding:.85rem 0;border-bottom:1px solid var(--border-subtle);font-size:1.05rem}
.main-nav a:hover,.main-nav a[aria-current=page]{border-color:var(--border-subtle)}}
@media (min-width:769px) and (max-width:1024px){.main-nav ul{gap:1rem}.main-nav a{font-size:.9rem}}
@media (min-width:1025px){.hero-in{grid-template-columns:1.15fr .85fr}.hero-in img{aspect-ratio:4/5}}