:root { --access-gold:#d9a441; --access-gold-dark:#76500a; --access-ink:#111; --access-paper:#f6f2ea; }
body { background:#fff; color:var(--access-ink); }
.access-hero { min-height:68vh; display:grid; place-items:center; padding:8rem 6vw 5rem; color:#fff; background:linear-gradient(110deg,rgba(0,0,0,.92),rgba(0,0,0,.62)),url('../hero.jpg') center/cover; }
.access-hero-inner { width:min(1120px,100%); }
.eyebrow,.section-kicker { margin:0 0 .8rem; color:var(--access-gold); font-family:Outfit,sans-serif; font-weight:900; letter-spacing:.18em; font-size:.78rem; }
.access-hero h1 { max-width:820px; margin:0; font-size:clamp(2.25rem,6vw,5rem); line-height:1.08; letter-spacing:-.035em; }
.hero-lead { max-width:650px; margin:1.5rem 0 0; font-size:clamp(1rem,2vw,1.2rem); line-height:1.9; color:rgba(255,255,255,.84); }
.hero-actions,.map-actions,.cta-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2rem; }
.hero-actions .btn,.cta-actions .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; }
.studio-summary,.route-section,.map-section,.access-cta { padding:5rem 6vw; }
.summary-card { width:min(1120px,100%); margin:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; padding:3rem; border-radius:24px; background:var(--access-paper); box-shadow:0 18px 50px rgba(0,0,0,.08); }
.summary-card .section-kicker,.map-section .section-kicker { color:var(--access-gold-dark); }
.summary-card h2,.route-section h2,.map-section h2,.access-cta h2 { margin:.2rem 0 0; font-size:clamp(1.8rem,4vw,3rem); line-height:1.25; }
.studio-data { margin:0; display:grid; gap:0; }
.studio-data div { display:grid; grid-template-columns:6rem 1fr; gap:1rem; padding:1.2rem 0; border-bottom:1px solid rgba(0,0,0,.12); }
.studio-data div:last-child { border-bottom:0; }
.studio-data dt { font-weight:700; }
.studio-data dd { margin:0; line-height:1.8; }
.route-section { background:#101010; color:#fff; }
.route-section .section-header,.map-section .section-header { width:min(1120px,100%); margin:0 auto 2.5rem; text-align:left; }
.route-section .section-header p:last-child { color:rgba(255,255,255,.72); }
.route-grid { width:min(1120px,100%); margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.route-card { position:relative; padding:2rem; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.055); }
.route-card>span { position:absolute; right:1.2rem; top:.7rem; color:rgba(255,255,255,.09); font:900 3.6rem/1 Outfit,sans-serif; }
.route-card svg { width:32px; height:32px; color:var(--access-gold); }
.route-card h3 { margin:1.3rem 0 .6rem; font-size:1.25rem; }
.route-card p { margin:0; color:rgba(255,255,255,.7); line-height:1.8; }
.arrival-note { width:min(1120px,100%); margin:1rem auto 0; display:flex; gap:1rem; align-items:flex-start; padding:1.4rem 1.6rem; border-radius:16px; color:#191919; background:var(--access-gold); }
.arrival-note svg { flex:none; }
.arrival-note p { margin:.3rem 0 0; line-height:1.7; }
.map-section { background:var(--access-paper); }
.map-frame { width:min(1120px,100%); height:min(58vw,540px); min-height:360px; margin:auto; overflow:hidden; border-radius:24px; box-shadow:0 18px 45px rgba(0,0,0,.12); }
.map-actions { width:min(1120px,100%); margin:1.2rem auto 0; }
.map-actions .btn-secondary { color:#fff; background:#171717; border-color:#171717; }
.map-actions .btn-secondary:hover { color:#171717; background:#fff; border-color:#171717; }
.access-cta { display:flex; align-items:center; justify-content:space-between; gap:3rem; width:min(1120px,88vw); margin:5rem auto; border-radius:28px; color:#fff; background:#171717; }
.access-cta>div:first-child { max-width:650px; }
.access-cta p:not(.section-kicker) { color:rgba(255,255,255,.74); line-height:1.8; }
.cta-actions { min-width:310px; flex-direction:column; margin:0; }
.access-footer-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:1.5rem; margin:1rem 0; }
.access-footer-nav a { color:#fff; }
.copyright { text-align:center; opacity:.65; }
@media (max-width:800px) {
  .access-hero { min-height:auto; padding:7rem 1.25rem 4rem; }
  .hero-actions,.map-actions { flex-direction:column; }
  .hero-actions .btn,.map-actions .btn { width:100%; }
  .studio-summary,.route-section,.map-section { padding:4rem 1.25rem; }
  .summary-card { grid-template-columns:1fr; gap:1.5rem; padding:1.5rem; }
  .studio-data div { grid-template-columns:1fr; gap:.35rem; }
  .route-grid { grid-template-columns:1fr; }
  .map-frame { min-height:420px; }
  .access-cta { width:auto; margin:3rem 1.25rem 6rem; padding:2rem 1.4rem; flex-direction:column; align-items:stretch; }
  .cta-actions { min-width:0; }
  .cta-actions .btn { width:100%; padding-inline:1.25rem; white-space:normal; text-align:center; }
}
