:root{--bg-canvas:#12352d;--bg-surface:rgba(32,72,61,.64);--bg-surface-solid:#20483d;--bg-surface-hover:rgba(32,72,61,.88);--text-primary:#e0f2f1;--text-muted:#a9cbc6;--accent-primary:#ff6f59;--accent-secondary:#ffb4a6;--field-dark:#0c2621;--field-moss:#2a5a4c;--field-coral:#ff6f59;--border-subtle:rgba(224,242,241,.13);--border-highlight:rgba(255,111,89,.6);--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--font-mono:ui-monospace,Consolas,SFMono-Regular,Menlo,monospace;--ease-kinetic:cubic-bezier(0.16,1,0.3,1);--shadow-elevation:0 20px 40px -15px rgba(0,0,0,.55);--shadow-inner:inset 0 1px 0 rgba(255,255,255,.08);--glow-accent:0 0 30px -8px var(--accent-primary);--glass-backdrop:blur(18px) saturate(160%);--r:20px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:1.0625rem/1.65 var(--font-sans);overflow-wrap:anywhere;hyphens:auto}
img{max-width:100%;display:block}
a{color:var(--accent-primary);text-underline-offset:3px}
a:hover{color:var(--accent-secondary)}
:focus-visible{outline:3px solid var(--accent-primary);outline-offset:3px}
h1,h2,h3{line-height:1.12;margin:0 0 .6em}
h3{font:700 1.05rem/1.3 var(--font-mono);letter-spacing:.02em}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent-primary);color:#12352d;padding:8px 14px;z-index:50}
.skip:focus{left:12px}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.site-header{position:relative;z-index:30;width:calc(100% - 32px);max-width:1200px;margin:16px auto 0;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 20px;background:var(--bg-surface-solid);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-inner)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--text-primary);text-decoration:none;font:700 .92rem var(--font-mono);letter-spacing:.04em;white-space:nowrap}
.brand-mark{width:30px;height:30px;flex:none;border:2px solid var(--accent-primary);border-radius:50%;display:grid;place-items:center}
.brand-mark::before{content:"";width:11px;height:11px;border:2px solid var(--text-primary);transform:rotate(45deg)}
.nav ul{list-style:none;display:flex;gap:0;margin:0;padding:0}
.nav a{position:relative;display:block;padding:8px 8px;color:var(--text-primary);text-decoration:none;font:500 .8rem var(--font-mono);white-space:nowrap}
.nav a::after{content:"";position:absolute;left:8px;right:8px;bottom:3px;height:2px;background:var(--accent-primary);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-kinetic)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--accent-secondary)}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:2px solid var(--accent-primary);border-radius:50%;background:transparent;color:var(--text-primary);font:700 1.4rem/1 var(--font-mono);cursor:pointer;place-items:center}
@media (max-width:1080px){.menu-btn{display:grid}.nav{position:absolute;top:calc(100% + 10px);left:0;right:0;padding:12px;background:var(--bg-surface-solid);border:1px solid var(--border-subtle);border-radius:var(--r);box-shadow:var(--shadow-elevation);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .35s var(--ease-kinetic),transform .35s var(--ease-kinetic),visibility .35s}.nav.open{opacity:1;visibility:visible;transform:none}.nav ul{flex-direction:column}.nav a{font-size:1rem;padding:12px 14px}.nav a::after{left:14px;right:auto;width:40px}}
.hero{position:relative;overflow:clip;padding:clamp(56px,9vw,128px) 0 clamp(40px,6vw,72px);background:var(--bg-canvas)}
.hero::before,.hero::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(255,111,89,.32)}
.hero::before{right:-140px;top:30px;width:440px;height:440px;border-radius:50%;animation:meshDrift 15s ease infinite alternate}
.hero::after{right:-40px;top:130px;width:240px;height:240px;transform:rotate(45deg);animation:spinSlow 60s linear infinite}
@keyframes meshDrift{from{transform:translate(0,0)}to{transform:translate(-30px,24px)}}
@keyframes spinSlow{to{transform:rotate(405deg)}}
.hero .wrap{position:relative;z-index:1}
.hero h1{font:800 clamp(2.7rem,9vw,7.4rem)/.95 var(--font-sans);letter-spacing:-.035em;max-width:13ch;margin-bottom:28px}
.hero.sub h1{font-size:clamp(2.3rem,6.5vw,5rem);max-width:16ch}
.eyebrow{display:inline-block;margin-bottom:18px;font:700 .76rem var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-primary)}
.lead{font-size:clamp(1.15rem,2.1vw,1.5rem);line-height:1.5;max-width:44ch;color:var(--text-muted);margin:0 0 32px}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-block;padding:14px 22px;border:2px solid var(--accent-primary);border-radius:0;background:transparent;color:var(--text-primary);font:700 .78rem var(--font-mono);letter-spacing:.17em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .4s var(--ease-kinetic),background .3s,color .3s,box-shadow .4s}
.btn:hover{background:var(--accent-primary);color:#12352d;transform:translateY(-3px);box-shadow:var(--glow-accent)}
.btn.ghost{border-color:var(--text-primary)}
.btn.ghost:hover{background:var(--text-primary)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.field{padding:clamp(52px,7vw,96px) 0}
.field-dark{background:var(--field-dark)}
.field-moss{background:var(--field-moss)}
.field-coral{background:var(--field-coral);color:#12352d}
.field-coral .tile{background:rgba(18,53,45,.84);color:var(--text-primary)}
.field-coral .eyebrow{color:#12352d}
.field h2,.section-title{font:750 clamp(1.8rem,4vw,3rem)/1.08 var(--font-sans);letter-spacing:-.02em;max-width:22ch}
.intro-big{font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.35;max-width:34ch;margin:0 0 40px}
.muted{color:var(--text-muted)}
.tile{position:relative;background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-subtle);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-inner);color:var(--text-primary);transition:transform .5s var(--ease-kinetic),box-shadow .5s var(--ease-kinetic),border-color .4s,background .4s}
.tile p:last-child{margin-bottom:0}
a.tile{display:flex;flex-direction:column;gap:12px;text-decoration:none}
a.tile:hover,.tile.lift:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-elevation),var(--glow-accent);border-color:var(--border-highlight);background:var(--bg-surface-hover)}
.tile .more{margin-top:auto;font:700 .74rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-primary)}
.tag{display:inline-block;width:max-content;padding:3px 10px;border:1px solid var(--border-highlight);border-radius:999px;font:600 .7rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-secondary)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.bento{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(170px,auto)}
.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.tall{grid-row:span 2}
.media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--field-dark)}
.media img{width:100%;height:100%;object-fit:cover}
.media.r169{aspect-ratio:16/9}.media.r11{aspect-ratio:1/1}
.stat{display:block;font:700 clamp(2.3rem,5vw,3.5rem)/1 var(--font-mono);color:var(--accent-primary);margin-bottom:8px}
.crop{position:relative}
.pin{position:absolute;width:32px;height:32px;border-radius:50%;background:var(--accent-primary);color:#12352d;font:700 .82rem var(--font-mono);display:grid;place-items:center;box-shadow:0 0 0 5px rgba(18,53,45,.65)}
.notes{list-style:none;padding:0;margin:18px 0 0;counter-reset:n}
.notes li{counter-increment:n;position:relative;padding-left:44px;margin-bottom:12px}
.notes li::before{content:counter(n);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;border:2px solid var(--accent-primary);display:grid;place-items:center;font:700 .8rem var(--font-mono);color:var(--accent-primary)}
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:28px 0}
.panel{border-radius:var(--r);padding:24px;background:var(--bg-surface);border:1px solid var(--border-subtle);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}
.panel.doc{border-top:5px solid var(--text-primary)}
.panel.prop{border-top:5px dashed var(--accent-primary)}
.panel h3{margin-bottom:10px}
.panel ul{margin:0;padding-left:1.1em}
.caution{margin:28px 0;padding:18px 22px;border-left:4px solid var(--accent-primary);border-radius:0 var(--r) var(--r) 0;background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}
.caution strong{display:block;font:700 .74rem var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:6px}
blockquote.pull{margin:36px 0;padding:6px 0 6px 24px;border-left:4px solid var(--accent-primary);font:italic 1.32rem/1.5 var(--font-serif);color:var(--text-primary)}
blockquote.pull cite{display:block;margin-top:10px;font:normal .8rem var(--font-mono);color:var(--text-muted)}
.source{margin-top:36px;padding:18px 0 0;border-top:1px dashed var(--border-subtle);font:.85rem/1.6 var(--font-mono);color:var(--text-muted)}
.source h2,.source h3{font:700 .8rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary)}
.source ul{padding-left:1.1em}
.prose{max-width:70ch;margin:0 auto}
.prose h2{font:750 clamp(1.45rem,2.6vw,1.9rem)/1.2 var(--font-sans);margin:2.2em 0 .6em}
.prose figure{margin:34px 0}
figcaption{margin-top:10px;font:.8rem/1.5 var(--font-mono);color:var(--text-muted)}
.faq details{margin-bottom:12px;padding:18px 22px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}
.faq summary{cursor:pointer;list-style:none;font:700 1rem/1.4 var(--font-mono);padding-right:28px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:0;color:var(--accent-primary);font-size:1.2rem}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:12px 0 0;color:var(--text-muted)}
.form label{display:block;margin:18px 0 6px;font:700 .76rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.form input,.form textarea,.form select{width:100%;padding:12px 14px;background:var(--field-dark);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;font:inherit}
.form textarea{min-height:150px;resize:vertical}
.form .check{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font:400 .95rem var(--font-sans)}
.form .check input{width:auto;margin-top:5px}
.err{min-height:1.3em;margin:4px 0 0;color:var(--accent-secondary);font:.82rem var(--font-mono)}
pre.output{white-space:pre-wrap;margin:18px 0;padding:18px;background:var(--field-dark);border:1px solid var(--border-subtle);border-radius:var(--r);font:.85rem/1.6 var(--font-mono);min-height:80px}
.status{font:.85rem var(--font-mono);color:var(--accent-secondary);min-height:1.3em}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:top}
th{font:700 .76rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-secondary)}
.site-footer{background:var(--field-dark);padding:60px 0 34px;border-top:1px solid var(--border-subtle)}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
.site-footer h2{font:700 .78rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:6px}
.site-footer a{color:var(--text-primary)}
.site-footer address{font-style:normal;color:var(--text-muted);font-size:.92rem}
.legal-line{margin-top:40px;padding-top:20px;border-top:1px solid var(--border-subtle);font:.8rem var(--font-mono);color:var(--text-muted)}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-kinetic),transform .8s var(--ease-kinetic)}
.js .reveal.in{opacity:1;transform:translateY(0)}
@media (min-width:1201px){.bento{grid-auto-rows:minmax(190px,auto)}}
@media (max-width:1200px){.hero::before{width:340px;height:340px}}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3,.span-4{grid-column:span 2}}
@media (max-width:768px){.site-header{padding:8px 8px 8px 16px}.hero::after{display:none}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.bento>*{grid-column:auto!important;grid-row:auto!important}}
@media (max-width:480px){body{font-size:1rem}.brand span:last-child{font-size:.82rem}.tile{padding:20px}.btn{width:100%;text-align:center}.hero::before{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}