
:root{
  --bg:#241012; --surface:#3B0D11; --text:#F2E7E2; --muted:#C9A9A6;
  --accent:#C9A227; --accent2:#E2574C; --border:#552025;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Bebas Neue', Georgia, serif; line-height:1.2; margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4vw,3rem)}
h2{font-size:clamp(1.4rem,2.6vw,2rem); margin-top:2.2rem}
h3{font-size:1.15rem}
p{margin:0 0 1em; max-width:70ch}
a{color:var(--accent); text-decoration:underline; text-decoration-thickness:1px}
a:hover{color:var(--accent2)}
img,svg{max-width:100%; height:auto; display:block}
.container{max-width:1080px; margin:0 auto; padding:0 1.25rem}
header.site-header{position:sticky; top:0; z-index:50; background:var(--bg);
  border-bottom:1px solid var(--border)}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:.9rem 0}
.brand{font-family:'Bebas Neue', Georgia, serif; font-size:1.25rem; font-weight:700;
  color:var(--text); text-decoration:none}
.brand small{display:block; font-size:.62rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); font-family:'Inter', sans-serif}
nav.main-nav{display:flex; gap:1.1rem; flex-wrap:wrap}
nav.main-nav a{color:var(--text); text-decoration:none; font-size:.92rem; font-weight:500}
nav.main-nav a:hover{color:var(--accent)}
#nav-toggle{display:none}
.nav-btn{display:none; background:none; border:1px solid var(--border); color:var(--text);
  padding:.4rem .7rem; border-radius:.4rem; font-size:1rem; cursor:pointer}
@media (max-width:760px){
  .nav-btn{display:inline-block}
  nav.main-nav{display:none; flex-direction:column; width:100%; padding:.6rem 0 1rem}
  #nav-toggle:checked ~ nav.main-nav{display:flex}
}
.hero{padding:3.2rem 0 2.4rem; border-bottom:1px solid var(--border)}
.hero p.lead{font-size:1.08rem; color:var(--muted); max-width:62ch}
.badge{display:inline-block; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase;
  background:var(--surface); border:1px solid var(--border); color:var(--muted);
  padding:.25rem .55rem; border-radius:999px; margin:.15rem .3rem .15rem 0}
.grid{display:grid; gap:1.1rem}
.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--surface); border:1px solid var(--border); border-radius:.6rem;
  padding:1.1rem 1.2rem}
.card h3{margin-top:0}
.card a.card-link{text-decoration:none; color:var(--text)}
.card a.card-link:hover h3{color:var(--accent)}
.timeline{border-left:3px solid var(--accent); margin:1.6rem 0; padding-left:1.4rem}
.timeline .event{margin-bottom:1.5rem; position:relative}
.timeline .event::before{content:""; position:absolute; left:-1.95rem; top:.3rem;
  width:.6rem; height:.6rem; background:var(--accent); border-radius:50%}
.timeline .year{font-weight:700; color:var(--accent); display:block; font-size:.95rem}
.source-list{font-size:.88rem; color:var(--muted); border-top:1px solid var(--border);
  margin-top:2rem; padding-top:1rem}
.disclaimer{background:var(--surface); border:1px solid var(--border); border-radius:.5rem;
  padding:.9rem 1.1rem; font-size:.85rem; color:var(--muted); margin:1.6rem 0}
details.faq{border:1px solid var(--border); border-radius:.5rem; padding:.2rem 1rem;
  margin-bottom:.6rem; background:var(--surface)}
details.faq summary{cursor:pointer; font-weight:600; padding:.6rem 0}
table.data{width:100%; border-collapse:collapse; font-size:.92rem; margin:1rem 0}
table.data th, table.data td{border:1px solid var(--border); padding:.5rem .6rem; text-align:left}
table.data th{background:var(--surface)}
.gallery-item{cursor:zoom-in}
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.82); display:none;
  align-items:center; justify-content:center; z-index:100; padding:2rem}
.lightbox.open{display:flex}
.lightbox img,.lightbox svg{max-height:85vh}
form.contact{display:grid; gap:.8rem; max-width:480px}
form.contact input, form.contact textarea{padding:.6rem .7rem; border-radius:.4rem;
  border:1px solid var(--border); background:var(--bg); color:var(--text); font-family:inherit}
form.contact button{padding:.65rem 1rem; border-radius:.4rem; border:none;
  background:var(--accent); color:#fff; font-weight:600; cursor:pointer}
.hp-field{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
footer.site-footer{border-top:1px solid var(--border); padding:2.4rem 0 2.8rem; margin-top:3rem;
  color:var(--muted); font-size:.86rem}
footer.site-footer a{color:var(--muted)}
.age-badge{display:inline-flex; align-items:center; gap:.4rem; border:1px solid var(--border);
  border-radius:.4rem; padding:.3rem .55rem; font-size:.78rem; font-weight:700; color:var(--text)}
.age-banner{display:flex; align-items:center; justify-content:center; gap:.6rem; flex-wrap:wrap;
  background:var(--text); color:var(--bg); font-size:.78rem; text-align:center; padding:.5rem 1rem}
.age-banner .age-badge-top{display:inline-flex; align-items:center; justify-content:center;
  width:1.9rem; height:1.9rem; border-radius:50%; background:var(--accent); color:#fff;
  font-weight:800; font-size:.78rem; flex:0 0 auto}
.breadcrumb{font-size:.82rem; color:var(--muted); margin-bottom:.4rem}
.breadcrumb a{color:var(--muted)}
.skip-link{position:absolute; left:-9999px; top:0; background:var(--accent); color:#fff;
  padding:.5rem 1rem; z-index:200}
.skip-link:focus{left:0}
.age-gate{position:fixed; inset:0; z-index:500; background:rgba(10,8,6,.93);
  display:flex; align-items:center; justify-content:center; padding:1.4rem}
.age-gate.hidden{display:none}
.age-gate-box{background:var(--surface); border:1px solid var(--border); border-radius:.7rem;
  padding:2rem 1.8rem; max-width:420px; text-align:center; color:var(--text)}
.age-gate-box .age-badge-top{margin:0 auto .9rem; width:2.6rem; height:2.6rem; font-size:.95rem}
.age-gate-box h2{margin-top:0; font-size:1.3rem}
.age-gate-box p{margin:0 auto 0; max-width:34ch; color:var(--muted); font-size:.92rem}
.age-gate-actions{display:flex; gap:.7rem; justify-content:center; margin-top:1.3rem; flex-wrap:wrap}
.age-gate-actions button{padding:.65rem 1.25rem; border-radius:.4rem; font-weight:700; cursor:pointer;
  font-family:inherit; font-size:.92rem}
.age-yes{background:var(--accent); color:#fff; border:none}
.age-no{background:transparent; color:var(--muted); border:1px solid var(--border)}
.svg-illustration{background:var(--surface); border:1px solid var(--border); border-radius:.5rem;
  padding:.8rem}
.map-alt-list{list-style:none; padding:0; margin:0}
.map-alt-list li{padding:.6rem 0; border-bottom:1px solid var(--border)}
