:root{
--bg-canvas:#0f2a27;--bg-surface:#163a35;--bg-surface-hover:#1c4842;
--text-primary:#e0f2f1;--text-muted:#a9cbc6;--accent-primary:#ff6f59;--accent-secondary:#e85a45;
--border-subtle:rgba(224,242,241,0.18);
--ease-kinetic:cubic-bezier(0.16,1,0.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,0.25);
--glow-accent:0 0 24px -4px var(--accent-primary);--glass-backdrop:blur(16px) saturate(180%);
--serif:Georgia,"Times New Roman",serif;--sans:system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-canvas);color:var(--text-primary);font:1rem/1.6 var(--sans);overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,h4{font-family:var(--serif);font-weight:normal;line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(2rem,4.6vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:1rem}h3{font-size:1.3rem;margin-bottom:.5rem}
p+p{margin-top:1rem}
a{color:var(--accent-primary)}a:hover{color:#ffb2a6}
img{display:block;max-width:100%;height:auto;border-radius:0}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0;background:var(--accent-primary);color:var(--bg-canvas);padding:.5rem 1rem;z-index:99}.skip:focus{left:1rem}
/* header */
.site-header{position:relative;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:20}
.site-header.overlay{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent}
.header-in{display:flex;align-items:center;gap:1rem;min-height:72px;position:relative}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text-primary);text-decoration:none;font-family:var(--serif);font-size:1.15rem;margin-right:auto;min-width:0}
.brand:hover{color:var(--text-primary)}
.brand-mark{width:34px;height:34px;flex:none;border-radius:999px;background:var(--accent-primary);color:var(--bg-canvas);display:grid;place-items:center;font-weight:700;font-family:var(--sans)}
.nav ul{display:flex;gap:.15rem;list-style:none}
.nav a{display:block;padding:.4rem .7rem;color:var(--text-primary);text-decoration:none;font-size:.92rem;border-radius:999px;transition:background .3s var(--ease-kinetic),color .3s}
.nav a:hover,.nav a[aria-current=page]{background:var(--accent-primary);color:var(--bg-canvas)}
.menu-btn{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:1.5rem;cursor:pointer;place-items:center}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent-primary);color:var(--bg-canvas);border:0;border-radius:999px;padding:.75rem 1.4rem;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;transition:background .3s,transform .4s var(--ease-kinetic)}
.btn:hover{background:var(--accent-secondary);color:var(--bg-canvas);transform:translateY(-3px)}
/* hero */
.hero{position:relative;background:var(--bg-surface)}
.hero-media{position:relative}
.hero-media img{width:100%;height:min(80vh,660px);min-height:540px;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:rgba(15,42,39,.5)}
.hero-copy{position:absolute;top:110px;left:0;right:0;z-index:2}
.hero-copy h1{max-width:15ch;margin-bottom:1rem}
.hero-copy p{max-width:46ch;margin-bottom:1.5rem;font-size:1.08rem}
.hero-card-wrap{position:absolute;bottom:2rem;left:0;right:0;z-index:3}
.fact-card{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:1.5rem;max-width:440px}
.fact-card h2{font-size:1.3rem}
.fact-card ol{list-style:none;display:grid;gap:.9rem}
.fact-card li{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem}
.num{width:2rem;height:2rem;border-radius:999px;background:var(--accent-primary);color:var(--bg-canvas);display:inline-grid;place-items:center;font-weight:700;flex:none}
/* bands */
.band{padding:4.5rem 0}.band.alt{background:var(--bg-surface)}
.band.alt .panel,.band.alt .tabpanel,.band.alt .acc-item{background:var(--bg-canvas)}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:.6rem}
.lead{color:var(--text-muted);max-width:68ch;margin-bottom:2rem}
.prose{max-width:70ch}
.prose h2{margin-top:2.5rem}.prose h3{margin-top:1.75rem}
.prose ul,.prose ol{margin:1rem 0 1rem 1.25rem}.prose li+li{margin-top:.4rem}
.muted{color:var(--text-muted)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-subtle)}
.stat{padding:1.6rem;border-right:1px solid var(--border-subtle)}.stat:last-child{border-right:0}
.stat strong{display:block;font:2.6rem/1 var(--serif);color:var(--accent-primary);margin-bottom:.5rem}
.stat span{color:var(--text-muted);font-size:.93rem}
/* tabs */
.tablist{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.tab{background:transparent;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);padding:.55rem 1.1rem;font:500 .95rem var(--sans);cursor:pointer;transition:border-color .3s,background .3s}
.tab:hover{border-color:var(--accent-primary)}
.tab[aria-selected=true]{background:var(--accent-primary);color:var(--bg-canvas);border-color:var(--accent-primary)}
.tabpanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;border:1px solid var(--border-subtle);padding:1.5rem;background:var(--bg-surface)}
.tabpanel[hidden]{display:none}
.tabpanel img,.sq{aspect-ratio:1/1;object-fit:cover;width:100%}
.tabpanel ul{margin:1rem 0 1.5rem 1.2rem;color:var(--text-muted)}
/* panels */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem}
.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:1.5rem;transition:border-color .3s var(--ease-kinetic),transform .4s var(--ease-kinetic)}
.panel:hover{border-color:var(--accent-primary)}
.panel-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}
.panel-head h3{margin:0;font-size:1.15rem}
.initial{width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid var(--accent-primary);color:var(--accent-primary);display:grid;place-items:center;font:700 1rem var(--sans);flex:none}
.panel .meta{font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}
/* accordion */
.accordion{max-width:860px}
.acc-item{border:1px solid var(--border-subtle);margin-bottom:-1px;background:var(--bg-surface);transition:border-color .3s}
.acc-item:hover{border-color:var(--accent-primary);position:relative;z-index:1}
.acc-btn{width:100%;text-align:left;background:none;border:0;color:var(--text-primary);padding:1.1rem 1.25rem;font:1.12rem var(--serif);display:flex;justify-content:space-between;gap:1rem;cursor:pointer}
.acc-btn::after{content:"+";flex:none;width:1.8rem;height:1.8rem;border-radius:999px;background:var(--accent-primary);color:var(--bg-canvas);display:grid;place-items:center;font:700 1.1rem var(--sans)}
.acc-btn[aria-expanded=true]::after{content:"−"}
.acc-panel{padding:0 1.25rem 1.25rem;color:var(--text-muted);max-width:72ch}
/* page head */
.page-head{background:var(--bg-surface);padding:3.5rem 0 3rem;border-bottom:1px solid var(--border-subtle)}
.page-head p{max-width:64ch;color:var(--text-muted);margin-top:1rem}
.crumbs{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.crumbs a{color:var(--text-muted)}
/* topic */
.topic-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start}
.spec{border:1px solid var(--border-subtle);background:var(--bg-surface);padding:1.25rem}
.spec img{margin-bottom:1rem}
.spec h2{font-size:1.25rem}
.spec dl div{display:grid;grid-template-columns:7.5rem 1fr;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--border-subtle);font-size:.92rem}
.spec dt{color:var(--accent-primary)}
.defs{margin:1.5rem 0;border:1px solid var(--border-subtle)}
.defs div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--border-subtle)}.defs div:last-child{border-bottom:0}
.defs dt{font-family:var(--serif);color:var(--accent-primary)}
.table-wrap{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border-subtle)}
table{width:100%;border-collapse:collapse;min-width:540px;font-size:.93rem}
th,td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--border-subtle);vertical-align:top}
th{font-family:var(--serif);font-weight:normal;color:var(--accent-primary);background:var(--bg-surface)}
.next-obj{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--border-subtle);padding:1.25rem}
/* tag tool */
.tag-panel{position:relative;border:1px solid var(--border-subtle);background:var(--bg-surface);padding:2.5rem 2rem 2rem;max-width:760px}
.tag-panel::before{content:"";position:absolute;top:1rem;left:1rem;width:16px;height:16px;border-radius:999px;border:2px solid var(--accent-primary)}
.field{margin-bottom:1.1rem}
.field label,.field legend{display:block;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem}
.field input[type=text],.field input[type=email],.field textarea{width:100%;background:var(--bg-canvas);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:0;padding:.7rem .8rem;font:1rem var(--sans)}
.field input:focus,.field textarea:focus{border-color:var(--accent-primary);outline:none}
fieldset{border:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{display:inline-block;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:999px;padding:.4rem .95rem;cursor:pointer;margin:0}
.chips input:checked+label{background:var(--accent-primary);color:var(--bg-canvas);border-color:var(--accent-primary)}
.chips input:focus-visible+label{outline:2px solid var(--accent-primary);outline-offset:2px}
.preview{white-space:pre-wrap;border:1px dashed var(--border-subtle);padding:1rem;font:.9rem/1.5 ui-monospace,monospace;background:var(--bg-canvas);margin:1rem 0;min-height:8rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}
.status{margin-top:1rem;color:var(--text-muted);min-height:1.6em}
.team{display:flex;gap:1rem;align-items:flex-start}
/* footer */
.site-footer{background:var(--bg-surface);border-top:1px solid var(--border-subtle);padding:3rem 0 1.5rem;margin-top:0}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr}
.fcol{border:1px solid var(--border-subtle);padding:1.5rem;margin-right:-1px}
.fcol p{color:var(--text-muted);font-size:.92rem;margin-top:1rem}
.fh{font-size:1.1rem;margin-bottom:.75rem}
.fcol ul{list-style:none;display:grid;gap:.4rem}
.fcol a{color:var(--text-primary)}.fcol a:hover{color:var(--accent-primary)}
.footer-bottom{border:1px solid var(--border-subtle);border-top:0;padding:1rem 1.5rem;font-size:.85rem;color:var(--text-muted)}
/* reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:all .7s var(--ease-kinetic)}
.js .reveal.reveal-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
/* breakpoints */
@media (min-width:1025px){.band{padding:5rem 0}}
@media (max-width:1024px){.topic-grid{grid-template-columns:minmax(0,1fr) 290px}.nav a{padding:.4rem .5rem;font-size:.88rem}}
@media (max-width:900px){.topic-grid{grid-template-columns:1fr}.footer-cols{grid-template-columns:1fr 1fr}.fcol:first-child{grid-column:1/-1}}
@media (max-width:768px){
.menu-btn{display:grid}
.nav{position:absolute;top:100%;left:0;right:0;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}
.nav.open{max-height:85vh;visibility:visible}
.nav ul{flex-direction:column;padding:.75rem 1.25rem 1.25rem}
.nav a{padding:.7rem 1rem;font-size:1rem}
.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}
.tabpanel{grid-template-columns:1fr}
.hero-media img{min-height:480px;height:62vh}
.hero-card-wrap{position:static;padding:1.25rem 0}.fact-card{max-width:none}
.defs div{grid-template-columns:1fr;gap:.2rem}
}
@media (max-width:480px){
.brand{font-size:.95rem}.brand-mark{width:30px;height:30px}
.hero-copy{top:92px}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--border-subtle)}.stat:last-child{border-bottom:0}
.footer-cols{grid-template-columns:1fr}.tag-panel{padding:2.5rem 1.1rem 1.25rem}.band{padding:3.25rem 0}
.spec dl div{grid-template-columns:1fr;gap:.1rem}
}