.hero{background-color:var(--graphite);background-image:linear-gradient(90deg,rgba(41,42,39,.92) 30%,rgba(41,42,39,.55)),var(--hero-img);background-size:cover;background-position:center;color:var(--warm);padding:clamp(4rem,12vw,9rem) 0}
.hero__in{max-width:46rem;margin-left:max(1rem,calc((100% - 1160px)/2))}
.page-head{background:var(--graphite);color:var(--warm);padding:3rem 0;border-bottom:1px solid var(--olive)}
.page-head h1{margin-bottom:.3em}
.split{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;align-items:center}
.photo-slot{margin:0;min-height:300px;border:1px solid var(--olive);background:linear-gradient(135deg,var(--graphite-2),var(--graphite));display:grid;place-items:center;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}
.photo-slot--tall{min-height:420px}.photo-slot img{width:100%;height:100%;object-fit:cover}
.steps{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:s}
.steps li{padding-top:.5rem;border-top:2px solid var(--olive)}
.steps__n{font-family:var(--font-title);font-size:2.4rem;color:var(--olive)}
.map iframe{width:100%;height:360px;border:1px solid var(--olive)}
.map__note{margin:.4rem 0 0;color:var(--muted)}
.prose{max-width:none}.prose h2{margin-top:1.6em}.prose ul,.prose ol{padding-left:1.3rem}
.empty{grid-column:1/-1;padding:1.5rem;background:#fff;border:1px dashed var(--olive)}
