:root{--bg-canvas:#3b0d1a;--bg-surface:#4a1424;--bg-surface-hover:#5a1b2e;--text-primary:#f6efe0;--text-muted:#dccdb4;--accent-primary:#e8d5a8;--accent-secondary:#c9a86a;--border-subtle:rgba(232,213,168,.3);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.35);--glow-accent:0 0 24px -4px var(--accent-primary);--glass-backdrop:blur(16px) saturate(180%);--serif:Charter,"Bitstream Charter",Cambria,Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:1.0625rem/1.72 var(--serif);overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3{font-family:var(--serif);line-height:1.18;overflow-wrap:anywhere;hyphens:auto;margin:0 0 .8rem}
h1{font-size:clamp(2rem,5.2vw,3.7rem);max-width:20ch}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1rem}
a{color:var(--accent-primary);text-underline-offset:3px}
a:hover{color:var(--text-primary)}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}
img{max-width:100%;height:auto;border-radius:4px}
.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}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.kicker,.sc{font-variant:small-caps;letter-spacing:.12em;color:var(--accent-primary);font-size:1.05rem}
.kicker{display:block;margin-bottom:.5rem}
.muted{color:var(--text-muted)}
/* header */
.site-head{position:relative;z-index:30;background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle)}
.home .site-head{position:absolute;top:0;left:0;right:0;background:transparent;border:0}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1200px;margin:0 auto;padding:1rem 1.25rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text-primary);text-decoration:none;font-weight:700;font-size:1.15rem;margin-right:auto}
.brand svg{width:36px;height:36px;flex:none}
.main-nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
.main-nav a{color:var(--text-primary);text-decoration:none;font-variant:small-caps;letter-spacing:.12em;font-size:1.08rem;padding-bottom:.2rem;border-bottom:1px solid transparent;transition:all .4s var(--ease-kinetic)}
.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--accent-primary);border-color:var(--accent-primary)}
.dots{display:none;background:transparent;border:1px solid var(--border-subtle);color:var(--accent-primary);font-size:1.5rem;line-height:1;width:44px;height:44px;border-radius:4px;cursor:pointer}
/* hero */
.hero{position:relative;padding:3rem 0 2.4rem;background:radial-gradient(60% 120% at 15% 10%,rgba(232,213,168,.22),transparent 60%),radial-gradient(50% 90% at 90% 100%,rgba(232,213,168,.14),transparent 70%),linear-gradient(120deg,#3b0d1a,#4a1424,#3b0d1a);background-size:200% 200%;animation:gradientShift 12s ease infinite;isolation:isolate}
.home .hero{padding:7.5rem 0 2.6rem}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);z-index:-1;animation:float 14s ease-in-out infinite}
.hero::before{width:340px;height:340px;background:rgba(232,213,168,.18);top:-80px;left:-60px}
.hero::after{width:260px;height:260px;background:rgba(232,213,168,.12);right:5%;bottom:-90px;animation-delay:-6s}
.rule{width:140px;height:2px;background:var(--accent-primary);margin-top:1.2rem;box-shadow:var(--glow-accent)}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,20px)}}
/* splits */
.split{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center;padding:4rem 0;border-top:1px solid var(--border-subtle)}
.split.rev .art{order:-1}
.art svg,.art img{width:100%;height:auto;display:block;border-radius:4px}
.glow-section{background:radial-gradient(45% 60% at 70% 50%,rgba(232,213,168,.16),transparent 70%)}
.prose{max-width:70ch}
.article{max-width:72ch;margin:0 auto;padding:3rem 0}
.article h2{margin-top:2.4rem}
/* rows */
.rows{list-style:none;padding:0;margin:1.4rem 0}
.rows>li{position:relative;padding:1rem .6rem 1rem 3.2rem;border-bottom:1px solid var(--border-subtle);transition:all .45s var(--ease-kinetic)}
.rows>li:first-child{border-top:1px solid var(--border-subtle)}
.rows>li::before{content:"";position:absolute;left:.4rem;top:1.1rem;width:28px;height:28px;background:var(--ico) center/contain no-repeat}
.rows>li:hover{background:var(--bg-surface-hover)}
.rows strong{display:block;font-variant:small-caps;letter-spacing:.08em;color:var(--accent-primary);font-size:1.1rem}
.i-scarf{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><path d='M5 3h8v21H5zM19 7h8v21h-8z'/><path d='M5 9h8M5 15h8M19 13h8M19 19h8M7 24v5M11 24v5M21 28v2M25 28v2M13 6l6 3'/></svg>")}
.i-drum{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><ellipse cx='16' cy='12' rx='11' ry='4'/><path d='M5 12v11c0 2.2 4.9 4 11 4s11-1.8 11-4V12M5 23l11-11 11 11'/><path d='M3 3l8 7M29 3l-8 7'/></svg>")}
.i-flag{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><path d='M7 30V3'/><path d='M7 4h19l-5 6 5 6H7'/></svg>")}
.i-pen{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><path d='M22 4l6 6-16 16H6v-6z'/><path d='M4 30h24'/></svg>")}
.i-person{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><circle cx='16' cy='10' r='6'/><path d='M5 29c1-7 6-10 11-10s10 3 11 10'/></svg>")}
.i-mail{--ico:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23e8d5a8' stroke-width='2'><rect x='3' y='7' width='26' height='18' rx='2'/><path d='M3 8l13 10 13-10'/></svg>")}
/* buttons */
.btn{display:inline-block;background:transparent;color:var(--accent-primary);border:1.5px solid var(--accent-primary);border-radius:0;padding:.85rem 1.7rem;font:600 .86rem var(--serif);text-transform:uppercase;letter-spacing:.14em;text-decoration:none;cursor:pointer;transition:all .45s var(--ease-kinetic)}
.btn:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:rgba(232,213,168,.08);color:var(--accent-primary)}
.btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
/* duotone */
.duo-fig{margin:0 0 2rem}
.duo{position:relative;border-radius:4px;overflow:hidden;background:#3b0d1a}
.duo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(1.05);mix-blend-mode:screen;opacity:.9;border-radius:0}
.duo::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(122,31,56,.55),rgba(232,213,168,.25));mix-blend-mode:multiply;pointer-events:none}
figcaption{font-size:.92rem;color:var(--text-muted);margin-top:.6rem;font-style:italic}
/* faq & glossary */
.faq details{border-bottom:1px solid var(--border-subtle)}
.faq details:first-child{border-top:1px solid var(--border-subtle)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:1.05rem 2.5rem 1.05rem 3.2rem;font-size:1.12rem;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";position:absolute;left:.4rem;top:1.1rem;width:28px;height:28px;background:var(--ico) center/contain no-repeat}
.faq summary::after{content:"+";position:absolute;right:.6rem;top:.8rem;color:var(--accent-primary);font-size:1.5rem}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 .6rem 1.1rem 3.2rem;color:var(--text-muted)}
.gloss{margin:1.4rem 0}
.gloss dt{font-variant:small-caps;letter-spacing:.1em;color:var(--accent-primary);font-size:1.2rem;padding-top:.9rem;border-top:1px solid var(--border-subtle)}
.gloss dd{margin:.2rem 0 .9rem}
/* form */
.form-rows label,.form-rows .lbl{display:block;font-variant:small-caps;letter-spacing:.1em;color:var(--accent-primary);margin-bottom:.35rem}
.form-rows input,.form-rows textarea{width:100%;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:.7rem .8rem;font:inherit}
.form-rows input:focus,.form-rows textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:var(--glow-accent)}
#msg-preview{white-space:pre-wrap;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;padding:1rem;margin:0;font:.92rem/1.6 var(--serif);color:var(--text-muted);min-height:6rem}
.status{min-height:1.5rem;color:var(--accent-primary);margin-top:.8rem}
.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;padding:1.5rem}
table{width:100%;border-collapse:collapse;margin:1rem 0;min-width:520px}
th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--border-subtle)}
th{font-variant:small-caps;letter-spacing:.1em;color:var(--accent-primary)}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
/* footer */
.site-foot{margin-top:3rem;padding:3.5rem 0 2rem;border-top:1px solid var(--border-subtle);background:radial-gradient(50% 80% at 20% 0%,rgba(232,213,168,.16),transparent 70%),var(--bg-canvas)}
.motto{font-variant:small-caps;letter-spacing:.14em;color:var(--accent-primary);margin:.4rem 0 1.4rem}
.foot-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));column-gap:2rem}
.foot-rows>li:nth-child(-n+3){border-top:1px solid var(--border-subtle)}
.foot-legal{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;list-style:none;padding:0;margin:1.5rem 0}
.foot-legal a{font-variant:small-caps;letter-spacing:.1em}
.site-foot address{font-style:normal;color:var(--text-muted);font-size:.93rem;margin-bottom:.8rem}
.copy{font-size:.93rem;color:var(--text-muted)}
/* reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:all .7s var(--ease-kinetic)}
.js .reveal.reveal-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
@media (min-width:1025px){.split{gap:4rem}}
@media (max-width:1024px){.main-nav ul{gap:1.1rem}}
@media (max-width:768px){
.dots{display:block}
.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--bg-surface);max-height:0;overflow:hidden;transition:max-height .5s var(--ease-kinetic);box-shadow:var(--shadow-elevation)}
.main-nav.open{max-height:26rem;border-bottom:1px solid var(--accent-primary)}
.main-nav ul{flex-direction:column;gap:0;padding:.6rem 1.25rem 1rem}
.main-nav li{border-bottom:1px solid var(--border-subtle)}
.main-nav a{display:block;padding:.8rem 0;border:0}
.split{grid-template-columns:1fr;gap:2rem;padding:3rem 0}
.split.rev .art{order:0}
.home .hero{padding-top:6rem}
}
@media (max-width:480px){body{font-size:1rem}.brand span{font-size:1rem}.btn{width:100%;text-align:center}.rows>li{padding-left:2.8rem}}