/* cinematic homepage — do not apply to interior article pages */
:root { --bg:#041018; --fg:#f3ece3; --muted:#b7aa9a; --gold:#e8c27a; --accent:#4ad4c8; --line: rgba(255,255,255,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.home { margin:0; background:var(--bg); color:var(--fg); font-family:Syne,system-ui,sans-serif; line-height:1.65; }
.home a { color:var(--accent); }
.home header.top { position:absolute; top:0; left:0; right:0; z-index:30; display:flex; justify-content:space-between; align-items:center; padding:1.05rem 6vw; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.home .brand { color:var(--fg); text-decoration:none; font-weight:800; letter-spacing:.14em; }
.home nav a { color:var(--fg); text-decoration:none; opacity:.82; margin-left:.8rem; }
.home nav a[aria-current="page"], .home nav a:hover { color:var(--gold); opacity:1; }
.hero { min-height:100svh; display:grid; place-items:end stretch; background:url("/assets/hero.jpg") center/cover no-repeat; position:relative; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,8,10,.18) 0%, rgba(9,8,10,.28) 45%, rgba(9,8,10,.94) 100%); }
.hero-inner { position:relative; z-index:1; padding:0 6vw 8vh; max-width:48rem; }
.kicker { font-family:"IBM Plex Mono",ui-monospace,monospace; letter-spacing:.26em; font-size:.7rem; color:var(--gold); text-transform:uppercase; }
.hero h1 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; font-size:clamp(2.05rem,6vw,3.4rem); line-height:1.08; margin:.35rem 0 .75rem; }
.lead { color:var(--muted); font-size:1.06rem; margin:0 0 1.2rem; }
.cta-row { display:flex; flex-wrap:wrap; gap:.55rem; }
.btn { display:inline-block; padding:.7rem 1.05rem; border-radius:8px; text-decoration:none !important; font-weight:700; font-size:.88rem; border:1px solid var(--line); color:var(--fg); }
.btn.primary { background:var(--gold); border-color:var(--gold); color:#1a140c; }
.btn.ghost { background:transparent; }
main.sheet { padding:0 6vw 3.5rem; max-width:52rem; margin:0 auto; }
.home article { margin:2.2rem 0; }
.home article h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.45rem,3vw,2rem); font-weight:500; margin:0 0 .65rem; color:var(--gold); }
.home article h3 { font-size:1.05rem; margin:1.15rem 0 .3rem; }
.home article p, .home li { color:#ddd4c8; }
.notice { margin:1rem 0 0; padding:.85rem 1rem; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:.92rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.85rem; }
.mini { border:1px solid var(--line); border-radius:12px; padding:1rem; background:rgba(255,255,255,.03); }
.ad-slot { margin:1.6rem 0; min-height:90px; padding:8px; border:1px dashed var(--line); border-radius:8px; text-align:center; }
.ad-label { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#888; margin-bottom:6px; }
.family { display:flex; flex-wrap:wrap; gap:.5rem 1rem; font-size:.78rem; opacity:.85; margin-top:.8rem; }
footer.site { border-top:1px solid var(--line); padding:1.5rem 6vw 2.4rem; font-size:.85rem; color:var(--muted); }
footer.site nav { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-bottom:.7rem; }
.chip-row { display:flex; flex-wrap:wrap; gap:.45rem; }
.chip { display:inline-block; padding:.35rem .65rem; border:1px solid var(--line); border-radius:999px; text-decoration:none; color:var(--fg) !important; font-size:.82rem; }
