:root{
  --ink:#0a0a0d;
  --coal:#121116;
  --coal2:#1a1820;
  --gold:#c9a227;
  --gold2:#e8cd6d;
  --golddeep:#8a6d1f;
  --purple:#2e0d4e;
  --purple2:#4b1d82;
  --plum:#190830;
  --stone:#b3a68f;
  --stonebg:#efe9db;
  --cream:#f7f2e7;
  --creamdim:#cfc7b4;
  --line:rgba(201,162,39,.35);
  --danger:#e08a8a;
  --ok:#9fd3a8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--cream);
  font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.65;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold2)}
h1,h2,h3,.display{font-family:'Cinzel',serif;letter-spacing:.02em;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,5.2vw,3.4rem)}
h2{font-size:clamp(1.45rem,3.6vw,2.3rem);color:var(--gold2)}
h3{font-size:1.15rem;color:var(--gold2)}
p{margin:0 0 1em}
.serif{font-family:'Cormorant Garamond',serif}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.gold-rule{width:84px;height:3px;background:linear-gradient(90deg,var(--golddeep),var(--gold2),var(--golddeep));margin:1rem auto;border:0}
.eyebrow{font-family:'Cinzel',serif;letter-spacing:.35em;text-transform:uppercase;font-size:.72rem;color:var(--gold);text-align:center}
.center{text-align:center}
.small{font-size:.88rem}
.dim{color:var(--creamdim)}
.notice-bar{
  background:linear-gradient(90deg,var(--plum),var(--purple),var(--plum));
  color:var(--cream);text-align:center;font-size:.85rem;letter-spacing:.04em;
  padding:.5rem 1rem;border-bottom:1px solid var(--line);
}
.notice-bar strong{color:var(--gold2);font-family:'Cinzel',serif;font-weight:600}

/* header */
header.site{
  position:sticky;top:0;z-index:50;background:rgba(10,10,13,.96);
  border-bottom:1px solid var(--line);backdrop-filter:blur(6px);
}
.header-in{display:flex;align-items:center;gap:1rem;padding:.55rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;margin-right:auto}
.brand img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:2px solid var(--gold)}
.brand .bname{font-family:'Cinzel',serif;font-size:1.25rem;color:var(--cream);letter-spacing:.06em;line-height:1}
.brand .bsub{font-size:.62rem;letter-spacing:.42em;color:var(--gold);text-transform:uppercase}
nav.main{display:flex;flex-wrap:wrap;gap:.15rem .9rem;align-items:center}
nav.main a{
  color:var(--cream);text-decoration:none;font-size:.86rem;letter-spacing:.08em;
  text-transform:uppercase;padding:.35rem .1rem;border-bottom:2px solid transparent;
}
nav.main a:hover,nav.main a.on{color:var(--gold2);border-bottom-color:var(--gold)}
.btn{
  display:inline-block;font-family:'Cinzel',serif;letter-spacing:.08em;text-decoration:none;
  padding:.8rem 1.6rem;border-radius:3px;font-size:.95rem;text-align:center;cursor:pointer;border:1px solid var(--gold);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(201,162,39,.25)}
.btn-gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#191204;font-weight:700}
.btn-ghost{background:transparent;color:var(--gold2)}
.btn-purple{background:linear-gradient(180deg,var(--purple2),var(--purple));color:var(--cream);border-color:var(--purple2)}
.btn.sm{padding:.5rem 1rem;font-size:.82rem}

/* hero */
.hero{position:relative;border-bottom:3px solid var(--golddeep)}
.hero img.heroimg{width:100%;height:min(78vh,640px);object-fit:cover;object-position:center 38%}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,13,.42),rgba(10,10,13,.18) 40%,rgba(10,10,13,.88))}
.hero .hero-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:2rem 1.25rem 3rem}
.hero h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.7);margin-bottom:.25em}
.hero .tag{font-family:'Cormorant Garamond',serif;font-size:clamp(1.15rem,2.8vw,1.6rem);font-style:italic;color:var(--gold2);text-shadow:0 2px 14px rgba(0,0,0,.8)}
.hero .cta-row{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:1.2rem}
.caption{font-size:.8rem;color:var(--creamdim);text-align:center;padding:.45rem 1rem;background:var(--coal);font-style:italic}

/* sections */
section{padding:3.2rem 0}
section.alt{background:var(--coal)}
section.purple{background:linear-gradient(180deg,var(--plum),var(--purple) 55%,var(--plum))}
section.stone{background:var(--stonebg);color:#241d10}
section.stone h2,section.stone h3{color:#5c430d}
section.stone a{color:#6d4d05}
.grid{display:grid;gap:1.2rem}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.grid.c4{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.card{
  background:var(--coal2);border:1px solid var(--line);border-radius:6px;padding:1.4rem;
}
.card h3{margin-top:0}
.card .num{font-family:'Cinzel',serif;font-size:1.6rem;color:var(--gold);display:block;margin-bottom:.3rem}
section.stone .card{background:#fbf7ec;border-color:#d8cba6;color:#241d10}
section.stone .card h3{color:#5c430d}
.feat-list{list-style:none;padding:0;margin:0;columns:2;column-gap:2.5rem}
.feat-list li{break-inside:avoid;padding:.5rem 0 .5rem 1.6rem;position:relative;border-bottom:1px solid rgba(201,162,39,.14)}
.feat-list li::before{content:"♛";position:absolute;left:0;color:var(--gold)}
@media (max-width:640px){.feat-list{columns:1}}
figure{margin:0}
figure figcaption{font-size:.82rem;color:var(--creamdim);font-style:italic;text-align:center;padding:.5rem .5rem 0}
.framed{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--coal)}
.progress-shell{background:#08080a;border:1px solid var(--line);border-radius:999px;height:26px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--golddeep),var(--gold2));min-width:0}
.big-stats{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;text-align:center}
.big-stats .stat .v{font-family:'Cinzel',serif;font-size:clamp(1.7rem,4.5vw,2.6rem);color:var(--gold2);display:block}
.big-stats .stat .k{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--creamdim)}
.milestone{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(201,162,39,.16)}
.milestone:last-child{border-bottom:0}
.ms-dot{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--gold);margin-top:.3rem;position:relative}
.ms-dot.in_progress{background:var(--purple2)}
.ms-dot.complete{background:var(--gold)}
.ms-status{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.update-card{background:var(--coal2);border:1px solid var(--line);border-radius:6px;padding:1.5rem;margin-bottom:1.2rem}
.update-card .meta{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.update-card .body{white-space:pre-line}

/* forms */
form.royal{background:var(--coal2);border:1px solid var(--line);border-radius:8px;padding:1.6rem}
label{display:block;font-size:.85rem;letter-spacing:.06em;margin:0 0 .35rem;color:var(--gold2);font-family:'Cinzel',serif}
input,select,textarea{
  width:100%;background:#0c0c10;border:1px solid #3a3644;color:var(--cream);
  border-radius:4px;padding:.7rem .8rem;font:inherit;font-size:1rem;margin-bottom:1rem;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
textarea{min-height:130px;resize:vertical}
.frow{display:grid;gap:0 1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.disclaimer{
  border:1px solid var(--golddeep);background:rgba(201,162,39,.07);border-radius:6px;
  padding:1rem 1.2rem;font-size:.92rem;margin:1.2rem 0;
}
.tiers{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));margin-bottom:1.2rem}
.tier{border:1px solid var(--line);border-radius:8px;padding:1.1rem;text-align:center;cursor:pointer;background:#0c0c10}
.tier input{position:absolute;opacity:0;width:auto}
.tier .amt{font-family:'Cinzel',serif;font-size:1.5rem;color:var(--gold2);display:block}
.tier .lbl{font-size:.82rem;color:var(--creamdim);letter-spacing:.05em}
.tier:has(input:checked){border-color:var(--gold2);background:rgba(201,162,39,.12);box-shadow:0 0 0 1px var(--gold2)}
.radio-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.radio-row label{display:flex;gap:.5rem;align-items:center;font-family:'Jost',sans-serif;color:var(--cream);font-size:1rem;letter-spacing:0}
.radio-row input{width:auto;margin:0}
.alert{border-radius:6px;padding:1rem 1.2rem;margin-bottom:1.2rem}
.alert.err{background:rgba(160,40,40,.16);border:1px solid #a04040;color:#f0c0c0}
.alert.okk{background:rgba(50,110,60,.16);border:1px solid #3f7d4c;color:var(--ok)}
.ref{font-family:'Cinzel',serif;font-size:1.3rem;color:var(--gold2);letter-spacing:.06em}

/* footer */
footer.site{background:#060608;border-top:2px solid var(--golddeep);padding:2.6rem 0 1.6rem;margin-top:0}
footer .cols{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
footer h4{font-family:'Cinzel',serif;color:var(--gold2);margin:.2rem 0 .7rem;font-size:1rem;letter-spacing:.06em}
footer a{color:var(--creamdim);text-decoration:none;display:block;padding:.18rem 0;font-size:.95rem}
footer a:hover{color:var(--gold2)}
footer .lockup{max-width:230px}
footer .legal{border-top:1px solid rgba(201,162,39,.18);margin-top:2rem;padding-top:1.2rem;font-size:.82rem;color:#9a917c;text-align:center}

/* admin */
.admin-shell{display:grid;gap:1.4rem}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{border-bottom:1px solid rgba(201,162,39,.16);padding:.55rem .6rem;text-align:left;vertical-align:top}
th{font-family:'Cinzel',serif;color:var(--gold2);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.tablewrap{overflow-x:auto}
.pill{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--golddeep);color:var(--gold2)}
.pill.received{background:rgba(50,110,60,.25);border-color:#3f7d4c;color:var(--ok)}
.admin-nav{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.4rem}
.admin-nav a{border:1px solid var(--line);border-radius:999px;padding:.35rem 1rem;color:var(--cream);text-decoration:none;font-size:.85rem}
.admin-nav a:hover,.admin-nav a.on{background:var(--purple);color:#fff;border-color:var(--purple2)}
.inline-form{display:inline}
.inline-form button{margin:0}
@media (max-width:640px){
  .brand .bname{font-size:1.05rem}
  .brand img{width:38px;height:38px}
  nav.main{gap:.1rem .6rem}
  nav.main a{font-size:.78rem}
  section{padding:2.3rem 0}
  .hero img.heroimg{height:56vh}
  th,td{padding:.45rem .4rem}
}
