:root{--bg-canvas:#f7f5f0;--bg-surface:#ffffff;--bg-surface-hover:#fffdf8;--text-primary:#111111;--text-muted:#56524b;--accent-primary:#d62828;--accent-secondary:#8f1b1b;--border-subtle:rgba(17,17,17,.14);--ease-kinetic:cubic-bezier(0.16,1,0.3,1);--shadow-soft:0 8px 26px -12px rgba(0,0,0,.2);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.25);--glow-accent:0 0 24px -10px var(--accent-primary);--glass-backdrop:blur(16px) saturate(180%);--sans:system-ui,"Segoe UI",Roboto,sans-serif;--read:68ch}
*,*::before,*::after{box-sizing:border-box;border-radius:0}
body{margin:0;padding:clamp(10px,3.2vw,40px);background:var(--bg-canvas);color:var(--text-primary);font:400 1.0625rem/1.78 var(--sans);overflow-wrap:anywhere;hyphens:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--sans);font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:0 0 .6em;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(2.2rem,6vw,4.4rem)}h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-top:2.2em}h3{font-size:1.25rem}
p{margin:0 0 1.2em}a{color:var(--accent-secondary);text-underline-offset:3px}a:hover{color:var(--accent-primary)}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#111;color:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:1rem;top:1rem}
.frame{position:relative;border:1px solid rgba(17,17,17,.3);background:var(--bg-canvas);min-height:calc(100vh - 80px)}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.read{max-width:var(--read);margin:0 auto}
.site-header{position:absolute;top:0;left:0;right:0;z-index:30;color:#fff;transition:background .45s var(--ease-kinetic),color .45s,box-shadow .45s}
.site-header.solid,.site-header.menu-open{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-soft)}
.hdr-in{max-width:1200px;margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.2rem}
.brand{display:flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none;font-weight:800;letter-spacing:-.03em;font-size:1.15rem;margin-right:auto}
.brand:hover{color:inherit}.mark{width:14px;height:14px;background:var(--accent-primary);display:inline-block}
#site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.15rem;flex-wrap:nowrap}
#site-nav a{color:inherit;text-decoration:none;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem 0;border-bottom:2px solid transparent;white-space:nowrap}
#site-nav a:hover,#site-nav a[aria-current="page"]{border-bottom-color:var(--accent-primary)}
.menu-btn{display:none;background:transparent;border:1.5px solid currentColor;color:inherit;font-size:1.4rem;line-height:1;width:44px;height:44px;cursor:pointer}
.hero,.page-hero{position:relative;display:grid;place-items:center;text-align:center;color:#fff;isolation:isolate;overflow:hidden}
.hero{min-height:100vh}.page-hero{min-height:64vh;padding:7rem 0 4rem}.page-hero.short{min-height:46vh;background:#1b1918}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.hero::before,.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(160deg,rgba(10,9,8,.82),rgba(17,17,17,.45) 45%,rgba(60,14,14,.78));background-size:200% 200%;animation:gradientShift 12s ease infinite}
.hero::after,.page-hero::after{content:"";position:absolute;width:42vmax;height:42vmax;left:58%;top:12%;z-index:-1;background:radial-gradient(circle,rgba(214,40,40,.28),transparent 65%);filter:blur(10px);animation:orb 16s var(--ease-kinetic) infinite alternate;pointer-events:none}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes orb{from{transform:translate(0,0)}to{transform:translate(-18vmax,12vmax)}}
.hero-inner{max-width:900px;padding:6rem 1.5rem 3rem}
.hero h1,.page-hero h1{letter-spacing:-.045em}
.dek{font-size:clamp(1.05rem,2vw,1.3rem);max-width:56ch;margin:0 auto 2rem;color:rgba(255,255,255,.88)}
.kicker{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--accent-primary);margin-bottom:1rem}
.hero .kicker,.page-hero .kicker{color:#ff8d8d}
.btn{display:inline-block;border:1.5px solid currentColor;padding:.9rem 1.6rem;text-transform:uppercase;letter-spacing:.15em;font:700 .76rem/1.2 var(--sans);color:var(--text-primary);text-decoration:none;background:transparent;cursor:pointer;transition:transform .5s var(--ease-kinetic),box-shadow .5s var(--ease-kinetic),background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}
.btn-light{color:#fff}
.section{padding:clamp(3rem,8vw,6.5rem) 0}
.section+.section{border-top:1px solid var(--border-subtle)}
.lede{font-size:1.25rem;line-height:1.6}
.pull{font-size:clamp(1.35rem,3vw,1.95rem);font-weight:800;letter-spacing:-.025em;line-height:1.25;border-top:3px solid var(--accent-primary);padding-top:1rem;margin:2.6rem 0;quotes:none}
.pull p{margin:0}
.note{font-size:.88rem;line-height:1.55;color:var(--text-muted);border-left:2px solid var(--accent-primary);padding-left:.9rem;margin:1.5rem 0}
.note strong{color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;display:block}
figure{margin:2.6rem 0}figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
figcaption{font-size:.85rem;color:var(--text-muted);margin-top:.6rem}
.breakout{width:min(1040px,calc(100vw - 7rem));margin-left:50%;transform:translateX(-50%)}
.steps{list-style:none;counter-reset:s;padding:0;margin:1.5rem 0 2rem}
.steps li{counter-increment:s;position:relative;padding:0 0 1.3rem 3.4rem}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-.1rem;font-weight:800;font-size:1.5rem;letter-spacing:-.04em;color:var(--accent-primary)}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--bg-surface);min-width:560px}
.tbl caption{text-align:left;font-weight:700;padding:.6rem 0;caption-side:top}
.tbl th,.tbl td{text-align:left;padding:.75rem .9rem;vertical-align:top;border-bottom:1px solid var(--border-subtle)}
.tbl th{border-bottom:2px solid #111;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.tbl-wrap{margin:1.5rem 0 2.2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.card{background:var(--bg-surface);box-shadow:var(--shadow-soft);color:inherit;text-decoration:none;display:flex;flex-direction:column;transition:transform .5s var(--ease-kinetic),box-shadow .5s var(--ease-kinetic),background .3s}
.card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover);color:inherit}
.card-body{padding:1.6rem}
.split{display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg-surface);box-shadow:var(--shadow-soft);transition:transform .5s var(--ease-kinetic),box-shadow .5s var(--ease-kinetic)}
.split:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}
.split.rev .split-media{order:2}
.split-media img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.split-body{padding:clamp(1.6rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center}
.split-body h2{margin-top:0}
.split-body p{color:var(--text-muted)}
.meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.8rem}
.faq details{border-top:1px solid var(--border-subtle);padding:1.1rem 0}
.faq details:last-child{border-bottom:1px solid var(--border-subtle)}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-primary);font-weight:800;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:.8rem 0 0;color:var(--text-muted)}
.next{margin:3rem 0 0;padding:1.8rem;background:var(--bg-surface);box-shadow:var(--shadow-soft)}
.sources{font-size:.88rem;color:var(--text-muted);padding-left:1.1rem}
.sources li{margin-bottom:.4rem}
.form label{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:1.3rem 0 .4rem}
.form input,.form select,.form textarea{width:100%;font:inherit;padding:.8rem .9rem;border:1px solid #111;background:var(--bg-surface);color:var(--text-primary)}
.form textarea{min-height:180px;resize:vertical}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0}
.preview{white-space:pre-wrap;background:var(--bg-surface);box-shadow:var(--shadow-soft);padding:1.3rem;min-height:140px;font:.9rem/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.status{font-size:.9rem;color:var(--accent-secondary);min-height:1.5em}
.colophon{border-top:1px solid var(--border-subtle);padding:3.5rem 0 3rem;font-size:.88rem;color:var(--text-muted)}
.colophon .read>*{margin:0 0 .9rem}
.col-brand{font-weight:800;font-size:1.1rem;color:var(--text-primary);letter-spacing:-.03em}
.col-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}
.col-links a,.colophon a{color:var(--text-primary)}
.js .reveal{opacity:0;transform:translateY(26px)}
.js .reveal.reveal-visible{opacity:1;transform:translateY(0);transition:all .7s var(--ease-kinetic)}
@media (min-width:1100px){.note{float:right;clear:right;width:220px;margin:.3rem calc(-220px - 3.5rem) 1rem 1.5rem}.pull{margin-left:-4rem;margin-right:-4rem}}
@media (min-width:1025px){.hero-inner{padding-top:7rem}}
@media (max-width:1024px){#site-nav ul{gap:.85rem}#site-nav a{font-size:.7rem;letter-spacing:.06em}}
@media (max-width:768px){.menu-btn{display:block}
#site-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-elevation);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .4s var(--ease-kinetic)}
#site-nav.open{opacity:1;visibility:visible;transform:translateY(0)}
#site-nav ul{flex-direction:column;gap:0;padding:.6rem 1.5rem 1.2rem}
#site-nav li{border-bottom:1px solid var(--border-subtle)}
#site-nav a{display:block;padding:.9rem 0;font-size:.82rem;border-bottom:0}
.split,.split.rev{grid-template-columns:1fr}.split.rev .split-media{order:0}
.breakout{width:100%;margin-left:0;transform:none}}
@media (min-width:481px) and (max-width:768px){.cards{gap:1.5rem}}
@media (max-width:480px){body{font-size:1rem}.wrap{padding:0 1.1rem}.hdr-in{padding:.9rem 1.1rem}.steps li{padding-left:2.7rem}.btn{padding:.85rem 1.2rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}