:root{
  --noir:#0C0B0A; --noir2:#13110E; --cream:#F2EDE4; --dim:#C5BFB4; --mute:#8A8078;
  --gold:#C9A96E; --gold-deep:#A88A58; --line:rgba(242,237,228,.10); --line2:rgba(242,237,228,.18);
  --display:'Bebas Neue',sans-serif; --serif:'Boska',Georgia,serif; --body:'General Sans',system-ui,sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--noir);color:var(--cream);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold);color:var(--noir);}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px;}
.kick,.kicker{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--gold);}
.serif-it{font-family:var(--serif);font-style:italic;}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:.02em;
  background:var(--gold);color:#1A140B;padding:14px 24px;border-radius:2px;transition:background .2s,transform .2s;}
.btn:hover{background:#dcc089;transform:translateY(-1px);}
.btn.ghost{background:transparent;color:var(--cream);border:1px solid var(--line2);}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn.sm{padding:10px 18px;font-size:13px;}

header{position:sticky;top:0;z-index:50;background:rgba(12,11,10,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.mark{font-family:var(--display);font-size:26px;letter-spacing:2px;color:var(--cream);}
.mark b{color:var(--gold);font-weight:400;}
.nlinks{display:flex;align-items:center;gap:24px;}
.nlinks a{font-family:var(--body);font-size:14px;color:var(--dim);}
.nlinks a:hover{color:var(--gold);}
.nlinks a.btn{color:var(--cream);}

main{display:block;}
.crumb{padding:22px 28px 0;font-size:13px;color:var(--mute);letter-spacing:.02em;}
.crumb a:hover{color:var(--gold);}
.crumb span{color:var(--dim);}

.rhero{padding:clamp(34px,5vw,60px) 0 clamp(20px,3vw,34px);}
.rhero h1{font-family:var(--display);font-size:clamp(44px,7vw,86px);line-height:.96;letter-spacing:1px;margin:14px 0 0;}
.rhero .tag{font-size:clamp(18px,2.2vw,23px);color:var(--gold);margin-top:14px;}
.rhero .intro{font-family:var(--body);font-size:17px;color:var(--dim);max-width:62ch;margin-top:20px;line-height:1.74;}

.feature{padding:clamp(26px,4vw,44px) 0;}
.feat-label{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--mute);margin-bottom:16px;}
.feat-card{display:grid;grid-template-columns:1.05fr 1fr;gap:0;border:1px solid var(--line2);border-radius:5px;overflow:hidden;background:var(--noir2);}
.feat-photo{position:relative;min-height:340px;}
.feat-photo img{width:100%;height:100%;object-fit:cover;}
.feat-photo .cred{position:absolute;bottom:10px;left:10px;background:rgba(8,7,6,.7);color:var(--dim);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:2px;}
.feat-body{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;}
.feat-cat{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold);}
.feat-body h2{font-family:var(--display);font-size:clamp(34px,4vw,50px);letter-spacing:.5px;line-height:1;margin:8px 0 0;}
.feat-city{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--mute);margin-top:8px;}
.feat-body p{font-size:15.5px;color:var(--dim);margin-top:18px;line-height:1.72;}
.feat-meta{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:22px;}
.coord{font-family:var(--body);font-size:12.5px;color:var(--mute);letter-spacing:.03em;}
.src{font-size:12.5px;color:var(--dim);border-bottom:1px solid var(--line2);}
.src:hover{color:var(--gold);border-color:var(--gold);}
.vbadge{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#1A140B;background:var(--gold);padding:5px 10px;border-radius:2px;}
.attrib{font-size:11px;color:var(--mute);margin-top:14px;line-height:1.5;opacity:.8;}

.also{padding:clamp(30px,5vw,56px) 0 clamp(20px,3vw,30px);border-top:1px solid var(--line);}
.also h3{font-family:var(--display);font-size:clamp(30px,4vw,48px);letter-spacing:.5px;margin:12px 0 26px;}
.tzgrid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.tz{border:1px solid var(--line);border-radius:4px;padding:20px 22px;background:rgba(255,255,255,.012);}
.tz-h{display:flex;flex-direction:column;gap:5px;}
.tz-cat{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--gold);}
.tz-name{font-family:var(--serif);font-size:21px;color:var(--cream);line-height:1.15;}
.tz-city{font-size:12.5px;color:var(--mute);margin-top:5px;}
.tz-tease{font-size:14px;color:var(--dim);margin-top:10px;line-height:1.6;}
.locked{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--mute);margin-top:26px;}

.cta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--noir2);padding:clamp(40px,6vw,72px) 0;text-align:center;}
.cta h3{font-family:var(--display);font-size:clamp(32px,4.4vw,56px);letter-spacing:.5px;margin:12px auto 0;max-width:20ch;line-height:1.02;}
.cta p{font-size:15px;color:var(--dim);max-width:48ch;margin:16px auto 0;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px;}

.more{padding:clamp(34px,5vw,56px) 0;}
.rlinks{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:18px;}
.rlinks a{font-size:14px;color:var(--dim);border:1px solid var(--line2);border-radius:2px;padding:9px 15px;transition:.2s;}
.rlinks a:hover{border-color:var(--gold);color:var(--gold);}

.hubgrid{display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(30px,5vw,64px);align-items:center;}
.hubcover img{width:100%;border-radius:3px;box-shadow:0 30px 70px rgba(0,0,0,.5);}
.hubregions{padding:clamp(34px,5vw,60px) 0;}
.hubcards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.hub-card{border:1px solid var(--line2);border-radius:4px;padding:24px 26px;background:var(--noir2);transition:.2s;}
.hub-card:hover{border-color:var(--gold);transform:translateY(-2px);}
.hub-cat{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--gold);}
.hub-name{font-family:var(--display);font-size:30px;letter-spacing:.5px;margin:8px 0 6px;}
.hub-tag{font-size:16px;color:var(--mute);}

footer{border-top:1px solid var(--line);padding:46px 0 58px;}
.foot{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:22px;}
.fm{font-family:var(--display);font-size:28px;letter-spacing:2px;color:var(--cream);}
.fm b{color:var(--gold);font-weight:400;}
.fl{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--mute);max-width:32ch;margin-top:6px;}
.fcol{display:flex;flex-direction:column;gap:8px;text-align:right;font-size:13px;color:var(--dim);}
.fcol a:hover{color:var(--gold);}

@media(max-width:820px){
  .feat-card{grid-template-columns:1fr;}
  .feat-photo{min-height:240px;}
  .tzgrid,.hubcards{grid-template-columns:1fr;}
  .hubgrid{grid-template-columns:1fr;}
  .hubcover{max-width:300px;margin:0 auto;order:-1;}
  .foot{flex-direction:column;align-items:flex-start;}
  .fcol{text-align:left;}
}
