:root{ --ink:#12182B; --ink2:#1B2340; --parchment:#F3ECDD; --dim:#E9DFC9; --gold:#C9A227; --goldb:#E4C158; --rust:#A8452F; --char:#211D1B; }
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:var(--parchment); color:var(--char); font-family:'Work Sans', sans-serif; line-height:1.7; overflow-x:hidden; }
a{ color:var(--rust); }
h1, h2, h3{ font-family:Fraunces, serif; font-weight:600; line-height:1.12; color:var(--char); }
.k{ font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rust); }
.top{ position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 6vw; background:rgba(18,24,43,.97); border-bottom:1px solid rgba(228,193,88,.3); }
.mark{ font-family:Fraunces, serif; font-weight:600; letter-spacing:.18em; color:var(--parchment); text-decoration:none; font-size:16px; flex:0 0 auto; }
.mark span{ color:var(--goldb); }
.top nav{ display:flex; gap:20px; overflow-x:auto; scrollbar-width:none; }
.top nav::-webkit-scrollbar{ display:none; }
.top nav a{ font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(243,236,221,.75); text-decoration:none; white-space:nowrap; padding:6px 0; }
.top nav a:hover, .top nav a[aria-current]{ color:var(--goldb); }
@media (max-width:760px){ .top{ flex-direction:column; align-items:flex-start; gap:8px; padding:12px 20px; } .top nav{ width:100%; gap:16px; } }
.wrap{ max-width:1080px; margin:0 auto; padding:26px 6vw 60px; }
.crumbs{ font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.06em; color:#8d826e; margin-bottom:26px; }
.crumbs a{ color:#8d826e; text-decoration:none; } .crumbs a:hover{ color:var(--rust); } .crumbs span{ margin:0 4px; }
.art h1, .hub-head h1{ font-size:clamp(2.2rem, 6vw, 3.6rem); margin-top:10px; }
.meta{ font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.06em; color:#7a6f5f; margin-top:12px; }
.art p, .hub-head .lede{ font-size:17px; margin-top:18px; color:#3d352c; }
.art.narrow{ max-width:720px; }
.standfirst{ font-family:Fraunces, serif; font-style:italic; font-size:21px !important; line-height:1.5; color:var(--char) !important; border-left:3px solid var(--gold); padding-left:18px; }
.art-grid{ display:grid; grid-template-columns:1.35fr .9fr; gap:40px; margin-top:20px; align-items:start; }
@media (max-width:860px){ .art-grid{ grid-template-columns:1fr; gap:24px; } }
.facts{ background:#fffaf0; border:1px solid rgba(33,29,27,.12); border-radius:18px; padding:20px; position:sticky; top:90px; }
@media (max-width:860px){ .facts{ position:static; } }
.facts dl{ display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin-top:16px; font-size:14px; }
.facts dt{ font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--rust); padding-top:3px; }
.facts ul{ margin:8px 0 0 18px; font-size:14px; } .facts li{ margin-top:6px; }
h2.small{ font-size:18px; margin-top:18px; }
.map{ position:relative; background:radial-gradient(ellipse at 50% 40%, #1d2750, var(--ink)); border-radius:14px; padding:6%; overflow:hidden; }
.map img{ display:block; width:100%; height:auto; opacity:.85; }
.map .pin{ position:absolute; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--goldb); box-shadow:0 0 0 2px rgba(18,24,43,.8); text-decoration:none; transform:translate(0,0); }
.map .pin span{ display:none; }
.map .pin.on{ width:16px; height:16px; margin:-8px 0 0 -8px; background:var(--rust); box-shadow:0 0 0 3px var(--goldb), 0 0 18px rgba(228,193,88,.8); z-index:2; }
.map .pin.on span, .map.big .pin span{ display:block; position:absolute; left:50%; bottom:130%; transform:translateX(-50%); white-space:nowrap; font-family:Fraunces, serif; font-size:12px; color:var(--parchment); text-shadow:0 1px 6px #000; }
.map:not(.big) .pin:not(.on){ padding:0; margin:-4.5px 0 0 -4.5px; }
.map.big{ max-width:720px; margin:30px auto 10px; padding:4%; }
.map.big .pin{ width:12px; height:12px; margin:-6px 0 0 -6px; }
.map.big .pin span{ font-size:11px; opacity:.85; }
@media (max-width:640px){ .map.big .pin span{ display:none; } }
.reel{ margin-top:40px; padding:24px; border-radius:18px; background:var(--ink); color:var(--parchment); }
.reel .k{ color:var(--goldb); } .reel h2{ color:var(--parchment); font-size:24px; margin:6px 0 16px; }
.reel .instagram-media{ background:#fff; border-radius:12px !important; margin:0 auto !important; max-width:420px !important; min-width:0 !important; width:100% !important; }
.reel .instagram-media a{ display:block; padding:30px; text-align:center; color:var(--rust); }
.reel-link{ text-align:center; margin-top:12px !important; font-size:14px !important; } .reel-link a{ color:var(--goldb); }
.explore{ margin-top:34px; }
.btn{ display:inline-flex; align-items:center; gap:10px; font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:14px 22px; border-radius:100px; background:var(--goldb); color:var(--ink); text-decoration:none; }
.btn.ghost{ background:transparent; color:var(--char); border:1px solid rgba(33,29,27,.3); }
.btn:hover{ filter:brightness(1.05); } .btn.ghost:hover{ border-color:var(--rust); color:var(--rust); }
.related{ margin-top:46px; } .related h2, h2.sec{ font-size:26px; } h2.sec{ margin-top:46px; }
.cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; margin-top:16px; }
.cards.list{ grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); }
.card{ display:flex; flex-direction:column; gap:4px; padding:18px; border-radius:14px; background:#fffaf0; border:1px solid rgba(33,29,27,.1); text-decoration:none; color:var(--char); transition:border-color .2s, transform .2s; }
.card:hover{ border-color:var(--gold); transform:translateY(-2px); }
.card b{ font-family:Fraunces, serif; font-size:19px; font-weight:500; line-height:1.25; }
.card > span:last-child{ font-size:13.5px; color:#5c5246; line-height:1.5; }
.hub-head{ max-width:760px; }
.objects{ margin-top:30px; display:grid; gap:14px; }
.obj{ background:#fffaf0; border:1px solid rgba(33,29,27,.1); border-radius:16px; padding:24px; scroll-margin-top:90px; }
.obj h2{ font-size:26px; margin-top:6px; } .obj p{ margin-top:10px; font-size:16px; color:#3d352c; }
.obj .more{ display:inline-block; margin-top:12px; font-size:14px; }
.cta-band{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:44px 6vw; background:radial-gradient(ellipse at 50% 0%, #3a2a12, var(--ink) 70%); color:var(--parchment); }
.cta-band .k{ color:var(--goldb); } .cta-band h2{ color:var(--parchment); font-size:clamp(1.6rem, 4vw, 2.4rem); margin-top:6px; }
.cta-band h2 em{ color:var(--goldb); font-weight:500; } .cta-band p{ opacity:.75; margin-top:6px; }
.foot{ background:var(--ink); color:rgba(243,236,221,.55); text-align:center; padding:34px 6vw 40px; font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:.1em; border-top:1px solid rgba(228,193,88,.2); }
.foot .k{ color:var(--goldb); font-size:10px; }
.soc{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:12px 0 20px; }
.soc a{ text-decoration:none; color:rgba(243,236,221,.85); padding:8px 12px; border-radius:100px; border:1px solid rgba(243,236,221,.25); text-transform:uppercase; font-size:11px; }
.soc a:hover{ border-color:var(--goldb); color:var(--goldb); }
.foot .links{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-bottom:16px; }
.foot .links a{ color:rgba(243,236,221,.75); text-decoration:none; }
