:root{
  --bg:#f4e9d6; --bg-2:#e9d4ab; --surface:#fbf6ea; --surface-2:#f4e6c8;
  --text:#2b1712; --text-muted:#6e5643; --accent:#86172a; --accent-ink:#fbf1e6;
  --gold:#a5781f; --gold-soft:#d4ac57; --border:#dcbf82;
  --success:#3f6b3a; --success-bg:#e6ecd9; --danger:#a23327; --danger-bg:#f3ddd6;
  --shadow:0 18px 40px -22px rgba(48,15,10,.5);
  --radius-lg:22px; --radius-md:14px; --radius-sm:9px; --maxw:880px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#170b0a; --bg-2:#0f0605; --surface:#2a1512; --surface-2:#331a16;
    --text:#f2e2c9; --text-muted:#c0a086; --accent:#d1495a; --accent-ink:#1d0b0a;
    --gold:#e3b366; --gold-soft:#a97b3d; --border:#5a2c24;
    --success:#8bab73; --success-bg:#26301f; --danger:#e2887a; --danger-bg:#3a2119;
    --shadow:0 20px 44px -20px rgba(0,0,0,.65);
  }
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;color:var(--text);font-family:"Libre Franklin",ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;
  background:radial-gradient(1000px 460px at 50% -160px,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%),
             radial-gradient(700px 320px at 88% 260px,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),var(--bg);}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;text-wrap:balance;margin:0;color:var(--text);}
em{font-style:italic;color:var(--gold);}
a{color:var(--accent);}
::selection{background:var(--gold-soft);color:var(--text);}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--gold);}

.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;
  padding:12px max(16px,calc((100% - var(--maxw)) / 2));
  background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;min-width:0;}
.crest{width:46px;height:46px;flex:none;}
.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;}
.brand-text strong{font-family:"Fraunces",Georgia,serif;font-size:1.02rem;font-weight:600;}
.brand-text span{font-size:.75rem;color:var(--text-muted);}
.topbar-spacer{flex:1;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:9px 16px;font-weight:600;font-size:.85rem;
  cursor:pointer;border:1px solid transparent;text-decoration:none;line-height:1;white-space:nowrap;}
.btn-primary{background:var(--accent);color:var(--accent-ink);}
.btn-primary:hover{filter:brightness(1.08);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

main{max-width:var(--maxw);margin:0 auto;padding:24px 16px 60px;}
.hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);padding:clamp(26px,6vw,48px);
  background:radial-gradient(560px 280px at 82% 0%,color-mix(in srgb,var(--gold) 38%,transparent),transparent 65%),
             radial-gradient(420px 240px at 8% 100%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%),
             linear-gradient(155deg,var(--bg-2),var(--surface) 70%);}
.hero .eyebrow{margin-bottom:12px;}
.hero h1{font-size:clamp(1.9rem,6vw,2.8rem);line-height:1.08;}
.hero p.lead{margin:16px 0 0;color:var(--text-muted);max-width:58ch;font-size:1.04rem;}

.toc{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.toc a{display:flex;gap:12px;align-items:baseline;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);
  background:var(--surface);color:var(--text);text-decoration:none;font-weight:500;font-size:.93rem;}
.toc a:hover{border-color:var(--gold);}
.toc .num{font-family:"Fraunces",Georgia,serif;color:var(--gold);font-weight:600;min-width:1.4em;}

.divider{display:flex;align-items:center;gap:14px;margin:46px 0 26px;color:var(--gold);}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border);}
.divider .diamond{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none;}

section{scroll-margin-top:90px;}
.section-head{margin-bottom:18px;}
.section-head h2{font-size:clamp(1.45rem,4vw,1.9rem);}
.section-head p{color:var(--text-muted);margin:8px 0 0;max-width:62ch;}
h3{font-size:1.15rem;margin:26px 0 10px;}
p{margin:0 0 12px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;margin:14px 0;box-shadow:var(--shadow);}
.card > :last-child{margin-bottom:0;}

ol.steps{list-style:none;counter-reset:s;padding:0;margin:8px 0 14px;}
ol.steps > li{counter-increment:s;position:relative;padding:2px 0 12px 42px;}
ol.steps > li::before{content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;
  background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.82rem;display:grid;place-items:center;}
ol.steps > li:last-child{padding-bottom:0;}
ul.plain{margin:6px 0 12px;padding-left:20px;}
ul.plain li{margin-bottom:5px;}

.ui{display:inline-block;font-weight:600;font-size:.86em;padding:1px 9px;border-radius:999px;border:1px solid var(--border);
  background:var(--surface-2);white-space:nowrap;}
.badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;}
.badge-open{color:var(--success);background:var(--success-bg);border-color:transparent;}
.badge-member{color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:transparent;}
.badge-board{color:var(--danger);background:var(--danger-bg);border-color:transparent;}
.badge-beta{color:var(--accent-ink);background:var(--gold);border-color:transparent;}

.note{padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:var(--radius-sm);
  background:var(--surface);font-size:.92rem;margin:12px 0;}
.note.warn{border-left-color:var(--danger);background:var(--danger-bg);}
.note.ok{border-left-color:var(--success);background:var(--success-bg);}
.note strong:first-child{display:block;margin-bottom:2px;}

.table-wrap{overflow-x:auto;margin:10px 0 14px;}
table{border-collapse:collapse;width:100%;font-size:.92rem;}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;}

footer{max-width:var(--maxw);margin:0 auto;padding:22px 16px 40px;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem;}
footer p{margin:0 0 6px;}
@media (max-width:520px){ .brand-text span{display:none;} .crest{width:40px;height:40px;} }
@media print{
  .topbar{position:static;backdrop-filter:none;}
  .topbar .btn{display:none;}
  body{background:#fff;}
  .card{box-shadow:none;break-inside:avoid;}
  section{break-inside:auto;}
}