*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border-radius:0}
:root{--bg-canvas:#160f2e;--bg-surface:rgba(37,25,64,.72);--bg-surface-solid:#251940;--bg-surface-hover:rgba(62,36,96,.86);--text-primary:#ffffff;--text-muted:#d9cfea;--accent-primary:#e0409b;--accent-secondary:#e8c979;--border-subtle:rgba(232,201,121,.3);--ease-kinetic:cubic-bezier(0.16,1,0.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.45);--glow-accent:0 0 24px -4px var(--accent-primary);--glass-backdrop:blur(16px) saturate(180%);--frame:28px}
html{scroll-behavior:smooth;background:var(--bg-canvas)}
body{min-height:100vh;padding:var(--frame);background:radial-gradient(circle at 12% 0%,rgba(224,64,155,.14),transparent 45%),var(--bg-canvas);color:var(--text-primary);font:1.0625rem/1.7 Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;overflow-wrap:anywhere;hyphens:auto}
.frame{border:1px solid var(--border-subtle);outline:1px solid rgba(224,64,155,.2);outline-offset:6px;min-height:calc(100vh - var(--frame)*2)}
a{color:var(--accent-secondary);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}
img{max-width:100%;display:block}
h1,h2,h3{font-weight:700;line-height:1.2;color:#fff;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(2rem,5vw,3.4rem);max-width:22ch}
h2{font-size:clamp(1.55rem,3.2vw,2.3rem);margin-bottom:1rem}
h3{font-size:1.22rem;margin-bottom:.5rem}
p,li{color:var(--text-muted)}
p+p{margin-top:1rem}
strong{color:#fff}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.prose{max-width:70ch}
.prose p,.prose ul,.prose ol{margin-bottom:1rem}
.prose ul,.prose ol{padding-left:1.3rem}
.lead{font-size:1.15rem;color:#fff;max-width:62ch}
.label{display:inline-block;font-variant:small-caps;text-transform:lowercase;letter-spacing:.12em;color:var(--accent-secondary);font-size:1.02rem;margin-bottom:.6rem}
.site-header{position:relative;z-index:30;border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.site-header.is-solid{background:var(--bg-surface-solid);border-bottom-color:var(--border-subtle)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.12rem;margin-right:auto;white-space:nowrap}
.brand-mark{width:30px;height:30px;border:1px solid var(--accent-primary);display:grid;place-items:center;color:var(--accent-secondary);box-shadow:var(--glow-accent);font-size:.95rem}
.nav ul{display:flex;list-style:none;gap:.1rem}
.nav a{display:block;padding:.5rem .55rem;color:#fff;text-decoration:none;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid transparent;white-space:nowrap;transition:color .3s,border-color .3s}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--accent-primary);color:var(--accent-secondary)}
.menu-btn{display:none;background:transparent;border:1px solid var(--border-subtle);color:#fff;width:44px;height:44px;font-size:1.5rem;line-height:1;cursor:pointer}
.hero{position:relative;overflow:hidden;isolation:isolate;padding:3rem 0 2.4rem;background:linear-gradient(120deg,#2a1450,#160f2e 45%,#3a1240);background-size:200% 200%;animation:gradientShift 12s ease infinite;border-bottom:1px solid var(--border-subtle)}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);animation:float 14s ease-in-out infinite}
.hero::before{width:280px;height:280px;background:rgba(224,64,155,.45);right:8%;top:-90px}
.hero::after{width:200px;height:200px;background:rgba(232,201,121,.25);left:30%;bottom:-120px;animation-delay:-6s}
.hero .btn{margin-top:1.3rem}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes float{50%{transform:translate(30px,-24px)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.band{padding:4.5rem 0;position:relative}
.band--purple{background:linear-gradient(180deg,#22154a,#1b1238);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.band--magenta{background:radial-gradient(ellipse at 18% 18%,rgba(224,64,155,.3),transparent 55%),radial-gradient(ellipse at 85% 85%,rgba(232,201,121,.12),transparent 50%),#1a1133}
.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}
.split{display:grid;gap:2.5rem;grid-template-columns:1.3fr 1fr;align-items:start;margin-top:2rem}
.panel{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-subtle);padding:1.75rem;transition:transform .5s var(--ease-kinetic),box-shadow .5s var(--ease-kinetic),background .4s}
.panel:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}
.panel h3 a{color:#fff;text-decoration:none}
.panel h3 a:hover{color:var(--accent-secondary)}
.panel figure{margin:-1.75rem -1.75rem 1.2rem}
.panel figure img{border:0;border-bottom:1px solid var(--border-subtle)}
.sheet{border-left:3px solid var(--accent-primary)}
figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border-subtle)}
.r169 img{aspect-ratio:16/9}.r11 img{aspect-ratio:1/1}
figcaption{font-size:.86rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}
.btn{display:inline-block;border:1px solid var(--accent-secondary);background:transparent;color:#fff;padding:.85rem 1.5rem;font:inherit;font-size:.76rem;text-transform:uppercase;letter-spacing:.22em;text-decoration:none;cursor:pointer;transition:transform .45s var(--ease-kinetic),box-shadow .45s var(--ease-kinetic),background .3s}
.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevation),var(--glow-accent);background:rgba(224,64,155,.18);color:#fff}
.btn--fill{border-color:var(--accent-primary);background:rgba(224,64,155,.25)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
.seq{list-style:none;counter-reset:s;display:grid;gap:1rem;margin-top:1.4rem}
.seq li{counter-increment:s;position:relative;padding:1.1rem 1.2rem 1.1rem 4rem;background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-subtle)}
.seq li::before{content:counter(s);position:absolute;left:1rem;top:1.1rem;width:2.2rem;height:2.2rem;border:1px solid var(--accent-secondary);display:grid;place-items:center;color:var(--accent-secondary);font-weight:700}
.seq h3{font-size:1.08rem}
.rows{margin-top:1.6rem;border-top:1px solid var(--border-subtle)}
.row{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--border-subtle);border-top:0;background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);transition:background .3s}
.row:hover{background:var(--bg-surface-hover)}
.row--head{background:rgba(22,15,46,.6);font-variant:small-caps;text-transform:lowercase;letter-spacing:.1em;color:var(--accent-secondary)}
.row span::before{content:attr(data-k);display:none;font-variant:small-caps;text-transform:lowercase;color:var(--accent-secondary);letter-spacing:.1em}
.diagram{display:flex;align-items:flex-end;gap:.45rem;height:190px;padding:1rem 1rem 2.2rem;border:1px solid var(--border-subtle);background:rgba(22,15,46,.55);margin-top:1rem}
.diagram span{flex:1;min-width:10px;height:var(--h);background:linear-gradient(180deg,var(--accent-secondary),var(--accent-primary));position:relative}
.diagram span::after{content:attr(data-n);position:absolute;bottom:-1.7rem;left:50%;transform:translateX(-50%);font-size:.8rem;color:var(--text-muted)}
.degrees{font-family:Charter,Georgia,serif;letter-spacing:.18em;color:#fff;font-size:1.1rem;margin-top:.6rem}
details{border:1px solid var(--border-subtle);background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);padding:1rem 1.2rem;margin-top:.8rem}
summary{cursor:pointer;font-variant:small-caps;letter-spacing:.06em;color:#fff;font-size:1.1rem}
details[open] summary{color:var(--accent-secondary);margin-bottom:.6rem}
details ol,details ul{padding-left:1.3rem}
.tally{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.tally b{display:inline-block;margin-left:.5rem;color:var(--accent-secondary)}
.tally-msg{margin-top:.9rem;color:#fff}
.note{border:1px solid var(--accent-secondary);outline:1px solid var(--border-subtle);outline-offset:8px;padding:2rem;background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}
label{display:block;font-variant:small-caps;text-transform:lowercase;letter-spacing:.08em;color:var(--accent-secondary);margin:1rem 0 .3rem}
input,select,textarea{width:100%;padding:.75rem;background:rgba(22,15,46,.85);border:1px solid var(--border-subtle);color:#fff;font:inherit}
textarea{min-height:110px;resize:vertical}
.preview{white-space:pre-wrap;font-family:Charter,Georgia,serif;font-size:.95rem;padding:1rem;border:1px dashed var(--border-subtle);background:rgba(22,15,46,.6);color:var(--text-muted);margin-top:1rem}
.status{margin-top:.8rem;color:#fff;min-height:1.5em}
.site-footer{border-top:1px solid var(--border-subtle);padding:3rem 0 1.5rem;background:#120c26}
.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.foot-grid ul{list-style:none}
.foot-grid li{margin:.25rem 0}
.foot-domain{font-size:1.15rem;font-weight:700}
.foot-base{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-subtle);font-size:.86rem}
.js .reveal{opacity:0;transform:translateY(28px);transition:all .7s var(--ease-kinetic)}
.js .reveal.reveal-visible{opacity:1;transform:translateY(0)}
@media (max-width:1024px){:root{--frame:20px}.nav a{padding:.5rem .4rem;letter-spacing:.1em}}
@media (max-width:768px){:root{--frame:14px}.menu-btn{display:block}.nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--bg-surface-solid);border-bottom:1px solid var(--border-subtle);padding:.5rem 1rem 1rem;box-shadow:var(--shadow-elevation)}.nav.open ul{display:flex;animation:slideDown .35s var(--ease-kinetic)}.nav a{padding:.8rem .4rem;font-size:.82rem}.split{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:.4rem}.row--head{display:none}.row span::before{display:block}.band{padding:3.2rem 0}}
@media (max-width:480px){:root{--frame:8px}.wrap{padding:0 1rem}.note{padding:1.2rem;outline-offset:4px}.panel{padding:1.3rem}.panel figure{margin:-1.3rem -1.3rem 1rem}.seq li{padding-left:3.4rem}.seq li::before{left:.7rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}