/* ═══════════════════════════════════════════════════════════════
   TOUR-ED MINE & MUSEUM - Main Stylesheet
   ═══════════════════════════════════════════════════════════════ */

:root {
  --coal:  #0d0b07;
  --deep:  #141008;
  --gold:  #FFC72C;
  --amber: #d4a020;
  --warm:  #f5e6c8;
  --stone: #a89880;
  --mid:   #282010;
  --panel: #1a1508;
  --red:   #c82040;
}

/* ─── GLOBAL ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:18px; }
body {
  font-family:'Raleway', sans-serif;
  font-weight:400;
  font-size:1rem;
  line-height:1.68;
  background:var(--deep);
  color:var(--warm);
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6 { font-family:'Raleway', sans-serif; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
strong { font-weight:800; }

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 52px; height:76px;
  background:rgba(8,6,2,0.97); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,199,44,0.28);
}
.nav-logo img { height:54px; width:auto; }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.nav-links a {
  font-family:'Raleway', sans-serif;
  font-size:0.88rem; font-weight:700; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--warm); opacity:0.82;
  transition:opacity 0.2s, color 0.2s;
}
.nav-links a:hover { opacity:1; color:var(--gold); }
.nav-book {
  background:var(--gold) !important;
  color:var(--coal) !important;
  opacity:1 !important;
  padding:10px 24px !important;
  font-weight:800 !important;
  white-space:nowrap;
}
.nav-book:hover { background:#FFD55A !important; color:var(--coal) !important; }

/* Mobile nav toggle */
.nav-toggle {
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:32px; height:32px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.nav-toggle span {
  display:block; width:100%; height:2px;
  background:var(--gold); transition:0.3s;
}

/* ─── HERO ─── */
.hero {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:76px;
  overflow:hidden;
}
.hero-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 35%;
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(6,4,1,0.95) 0%, rgba(6,4,1,0.72) 45%, rgba(6,4,1,0.18) 100%);
}
.hero-fade {
  position:absolute; bottom:0; left:0; right:0; height:200px;
  background:linear-gradient(to top, var(--deep), transparent);
}
.hero-content {
  position:relative; z-index:10;
  padding:80px 88px 88px;
  max-width:960px;
  width:68%;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:12px;
  font-family:'Raleway', sans-serif;
  font-size:0.9rem; font-weight:700; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--gold); margin-bottom:20px;
}
.hero-eyebrow::before { content:''; width:32px; height:1px; background:var(--gold); }

.hero h1 {
  font-family:'Raleway', sans-serif;
  font-size:clamp(1.9rem, 3.2vw, 3.2rem);
  font-weight:900;
  line-height:1.08;
  color:var(--warm);
  margin-bottom:10px;
  white-space:normal;
}
.hero h1 .h1-top {
  display:block;
  white-space:nowrap;
}
.hero h1 .h1-main {
  display:block;
  max-width:12.5em;
  color:var(--gold);
  font-weight:900;
}

.hero-sub {
  font-family:'Raleway', sans-serif;
  font-size:1rem; font-weight:500; font-style:italic;
  color:var(--stone); margin-bottom:24px; letter-spacing:0.04em;
}
.hero-desc {
  font-family:'Raleway', sans-serif;
  font-size:1.05rem; line-height:1.76; font-weight:400;
  color:rgba(245,230,200,0.76); max-width:620px; margin-bottom:40px;
}
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:54px; }

.btn-gold {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--gold); color:var(--coal);
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; font-weight:800; letter-spacing:0.08em;
  text-transform:uppercase; padding:15px 34px;
  transition:background 0.2s, transform 0.15s;
}
.btn-gold:hover { background:#FFD55A; transform:translateY(-2px); }

.btn-outline {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(0,0,0,0.5); color:var(--warm);
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; padding:15px 34px;
  border:1px solid rgba(245,230,200,0.3);
  transition:border-color 0.2s, color 0.2s;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

.hero-stats {
  display:flex; gap:44px; flex-wrap:wrap; max-width:620px;
  border-top:1px solid rgba(255,199,44,0.22); padding-top:28px;
}
.stat-num {
  font-family:'Raleway', sans-serif;
  font-size:2rem; font-weight:900; color:var(--gold); line-height:1;
}
.stat-lbl {
  font-family:'Raleway', sans-serif;
  font-size:0.8rem; font-weight:600; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--stone); margin-top:5px;
}

/* ─── SECTION UTILITIES ─── */
.sec-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; font-weight:700; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--gold); margin-bottom:12px;
}
.sec-eyebrow::before { content:''; width:22px; height:1px; background:var(--gold); }

.sec-title {
  font-family:'Raleway', sans-serif;
  font-size:clamp(1.9rem, 3vw, 2.9rem);
  font-weight:900; line-height:1.08; color:var(--warm); margin-bottom:16px;
}
.sec-body {
  font-family:'Raleway', sans-serif;
  font-size:1.02rem; line-height:1.76; font-weight:400;
  color:rgba(245,230,200,0.74); max-width:540px;
}
.gold-bar { width:44px; height:3px; background:var(--gold); margin:18px 0 28px; }

/* Heading with matched-width gold underline */
.sec-title--bar {
  width:fit-content;
  padding-bottom:20px;
  margin-bottom:28px;
  position:relative;
}
.sec-title--bar::after {
  content:'';
  position:absolute;
  bottom:0; left:0;
  width:100%; height:3px;
  background:var(--gold);
}

/* ─── PLAN YOUR VISIT ─── */
.visit-section {
  background:var(--panel);
  display:grid; grid-template-columns:1fr 1fr;
}
.visit-photo { position:relative; overflow:hidden; min-height:760px; }
.visit-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.visit-photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right, transparent 52%, var(--panel) 100%);
}
.visit-content {
  padding:72px 68px 72px 48px;
  display:flex; flex-direction:column; justify-content:center; gap:28px;
}

/* Status card */
.status-card {
  padding:24px 26px;
  border-left:5px solid var(--gold);
  background:rgba(255,199,44,0.07);
}
.status-card.closed { border-left-color:var(--stone); background:rgba(168,152,128,0.06); }
.status-card.open   { border-left-color:#50d080; background:rgba(80,208,128,0.06); }

.status-indicator {
  display:inline-flex; align-items:center; gap:9px;
  font-size:0.78rem; font-weight:800; letter-spacing:0.28em;
  text-transform:uppercase; margin-bottom:8px;
}
.status-dot {
  width:10px; height:10px; border-radius:50%; flex-shrink:0;
}
.status-dot.gold  { background:var(--gold); }
.status-dot.gray  { background:var(--stone); }
.status-dot.green { background:#50d080; animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }

.status-indicator.gold  { color:var(--gold); }
.status-indicator.gray  { color:var(--stone); }
.status-indicator.green { color:#50d080; }

.status-headline {
  font-size:1.6rem; font-weight:900; color:var(--warm); line-height:1.1; margin-bottom:6px;
}
.status-sub {
  font-size:0.92rem; font-weight:500; color:var(--stone); line-height:1.55;
}
.status-sub strong { color:var(--warm); font-weight:800; }
.status-next {
  display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.08);
}
.status-slot {
  display:inline-flex; align-items:center;
  font-size:0.82rem; font-weight:700;
  padding:5px 13px; background:rgba(255,199,44,0.12);
  border:1px solid rgba(255,199,44,0.3); color:var(--gold);
}
.status-slot.green-slot {
  background:rgba(80,208,128,0.12);
  border-color:rgba(80,208,128,0.3); color:#50d080;
}

/* Unified availability container */
.visit-mid {
  border:1px solid rgba(255,199,44,0.15);
  background:var(--mid);
  padding:24px;
  display:flex; flex-direction:column; gap:20px;
}
.visit-mid-cols {
  display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start;
}

/* Next-info panel */
.next-info-col {
  display:flex; flex-direction:column; gap:20px;
}
.next-info {
  background:var(--coal); padding:24px;
  display:flex; flex-direction:column; gap:4px;
}
.next-label {
  font-size:0.75rem; font-weight:800; letter-spacing:0.28em;
  text-transform:uppercase; color:var(--gold); margin-bottom:4px;
}
.next-date { font-size:1.25rem; font-weight:900; color:var(--warm); line-height:1.15; }
.next-slots { font-size:0.9rem; font-weight:500; color:var(--stone); margin-top:3px; }

/* Mini calendar */
.mini-cal { background:var(--coal); padding:20px; }
.mini-cal-nav {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;
}
.mini-cal-title {
  font-size:0.88rem; font-weight:900; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--warm);
}
.mini-cal-btn {
  background:none; border:none; cursor:pointer;
  color:var(--gold); font-size:1rem; font-weight:700; padding:2px 8px;
  font-family:'Raleway', sans-serif; line-height:1;
  transition:color 0.15s;
}
.mini-cal-btn:hover { color:#FFD55A; }
.mini-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; }
.mc-hdr {
  font-size:0.62rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--stone); text-align:center; padding:4px 0;
}
.mc-hdr.oh { color:var(--gold); }
.mc-day {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:2px;
  padding:4px 2px; min-height:28px;
  font-size:0.72rem; font-weight:700; color:rgba(168,152,128,0.55);
  cursor:default; position:relative;
}
.mc-day.od {
  color:var(--warm); background:rgba(255,199,44,0.05); cursor:pointer;
}
.mc-day.od:hover { background:rgba(255,199,44,0.12); }
.mc-day.today-mc {
  color:var(--coal); background:var(--gold); border-radius:2px;
}
.mc-day.today-mc .mc-dot { display:none; }
.mc-day.past-mc { opacity:0.45; }
.mc-dot { width:4px; height:4px; border-radius:50%; }
.mc-dot.g { background:#50d080; }
.mc-dot.y { background:var(--gold); }
.mc-dot.r { background:var(--red); }

/* Info grid: 2x2 */
.info-grid {
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid rgba(255,199,44,0.15);
  overflow:hidden;
}
.info-cell {
  background:var(--mid); padding:18px 20px;
}
.info-cell:nth-child(1) { border-right:1px solid rgba(255,199,44,0.1); border-bottom:1px solid rgba(255,199,44,0.1); }
.info-cell:nth-child(2) { border-bottom:1px solid rgba(255,199,44,0.1); }
.info-cell:nth-child(3) { border-right:1px solid rgba(255,199,44,0.1); }
.info-cell-label {
  font-family:'Raleway', sans-serif;
  font-size:0.75rem; font-weight:700; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:6px;
}
.info-cell-value {
  font-family:'Raleway', sans-serif;
  font-size:1.15rem; font-weight:900; color:var(--warm); line-height:1.2; margin-bottom:4px;
}
.info-cell-note {
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; color:var(--stone); line-height:1.4;
}

.res-micro {
  font-family:'Raleway', sans-serif;
  font-size:0.78rem; font-style:italic; color:var(--stone); line-height:1.5;
}

/* ─── TILES ─── */
.tiles-sec { padding:80px 72px; background:var(--deep); }
.tiles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
a.tile { display:block; }
.tile {
  position:relative; overflow:hidden; aspect-ratio:4/3; cursor:pointer;
  border:2px solid transparent; transition:border-color 0.3s;
}
.tile:hover { border-color:rgba(255,199,44,0.45); }
.tile img { width:100%; height:100%; object-fit:cover; object-position:center; }
.tile-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 40%, rgba(0,0,0,0.1) 70%, transparent 100%);
}
.tile-bar { display:none; }
.tile-body { position:absolute; inset:0; padding:26px 22px; padding-top:45%; display:flex; flex-direction:column; justify-content:flex-end; }
.tile-title {
  font-family:'Raleway', sans-serif;
  font-size:1.65rem; font-weight:900; color:var(--warm); line-height:1.15; text-shadow: 0 2px 8px rgba(0,0,0,0.7);
}
.tile-desc {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; line-height:1.5; color:rgba(245,230,200,0.65);
  margin-top:7px; max-width:400px; font-weight:400;
  opacity:1; transform:none;
}
.tile-link {
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--gold); margin-top:8px;
  opacity:1; transform:none;
}
/* hover reveal disabled — text always visible */

/* ─── SCHOOLS ─── */
.schools { display:grid; grid-template-columns:1fr 1fr; min-height:540px; background:var(--deep); }
.schools-img { position:relative; overflow:hidden; }
.schools-img img { width:100%; height:100%; object-fit:cover; }
.schools-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,transparent 45%,var(--deep) 100%); }
.schools-text { padding:80px 68px 80px 52px; display:flex; flex-direction:column; justify-content:center; }
.feat-row { display:flex; gap:18px; align-items:flex-start; padding:18px 0; border-bottom:1px solid rgba(255,199,44,0.1); }
.feat-row:last-of-type { border-bottom:none; }
.feat-icon { width:48px; height:48px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.feat-name { font-family:'Raleway', sans-serif; font-size:1rem; font-weight:800; color:var(--warm); margin-bottom:4px; }
.feat-desc { font-family:'Raleway', sans-serif; font-size:0.9rem; line-height:1.55; color:var(--stone); }

/* ─── HAUNTED ─── */
.haunted-sec { display:grid; grid-template-columns:1fr 1fr; min-height:500px; background:#060304; }
.haunted-img { position:relative; overflow:hidden; }
.haunted-img img { width:100%; height:100%; object-fit:cover; opacity:0.62; }
.haunted-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,transparent 40%,#060304 100%); }
.haunted-text { padding:80px 68px 80px 52px; display:flex; flex-direction:column; justify-content:center; }
.haunted-text .sec-eyebrow { color:var(--red); }
.haunted-text .sec-eyebrow::before { background:var(--red); }
.haunted-text .sec-title em { color:var(--red); font-style:normal; }
.date-blocks { display:flex; flex-direction:column; gap:12px; margin:24px 0; }
.date-block { background:rgba(200,32,64,0.09); border:1px solid rgba(200,32,64,0.24); padding:16px 20px; }
.date-lbl { font-family:'Raleway', sans-serif; font-size:0.82rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--red); margin-bottom:7px; }
.date-vals { font-family:'Raleway', sans-serif; font-size:0.95rem; line-height:1.65; color:rgba(245,230,200,0.78); }
.btn-red { display:inline-flex; align-items:center; gap:8px; background:var(--red); color:var(--warm); font-family:'Raleway', sans-serif; font-size:0.92rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; padding:15px 28px; transition:background 0.2s; align-self:flex-start; }
.btn-red:hover { background:#e03050; }

/* ─── REVIEWS ─── */
.reviews { padding:88px 72px; background:var(--panel); }
.reviews-head { text-align:center; margin-bottom:52px; }
.reviews-head .sec-eyebrow { justify-content:center; }
.reviews-head .sec-eyebrow::before { display:none; }
.reviews-head .sec-eyebrow::after { content:''; width:22px; height:1px; background:var(--gold); }
.stars-big { color:var(--gold); font-size:1.5rem; letter-spacing:3px; display:block; margin-top:10px; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rev-card { background:var(--mid); padding:32px 28px; border:1px solid rgba(255,199,44,0.1); position:relative; }
.rev-card::before { content:'\201C'; position:absolute; top:12px; left:20px; font-family:'Raleway', sans-serif; font-size:4.5rem; font-weight:900; line-height:1; color:rgba(255,199,44,0.1); pointer-events:none; }
.rev-stars { color:var(--gold); font-size:0.9rem; margin-bottom:14px; }
.rev-text { font-family:'Merriweather', serif; font-size:0.95rem; font-style:italic; line-height:1.74; color:rgba(245,230,200,0.84); margin-bottom:18px; }
.reviewer { font-family:'Raleway', sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); }

/* ─── LOCATION ─── */
.loc-bar { background:var(--mid); padding:52px 72px; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; border-top:1px solid rgba(255,199,44,0.15); }
.loc-bar h3 { font-family:'Raleway', sans-serif; font-size:1.4rem; font-weight:900; color:var(--warm); margin-bottom:6px; }
.loc-bar p { font-family:'Raleway', sans-serif; font-size:0.95rem; color:var(--stone); }
.loc-bar p a { color:inherit; text-decoration:none; transition:color 0.2s; }
.loc-bar p a:hover { color:#fff; }
.loc-items { display:flex; gap:72px; flex-wrap:wrap; }
.loc-item { display:flex; flex-direction:column; align-items:center; gap:10px; }
.loc-icon { line-height:0; }
.loc-lbl { font-family:'Raleway', sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--stone); }
.loc-val { font-family:'Raleway', sans-serif; font-size:0.92rem; font-weight:600; color:var(--warm); text-align:center; }
.loc-val a { color:inherit; text-decoration:none; transition:color 0.2s; }
.loc-val a:hover { color:#fff; }

/* ─── FOOTER ─── */
footer { background:var(--coal); border-top:1px solid rgba(255,199,44,0.1); padding:60px 72px 36px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; margin-bottom:44px; }
.footer-logo img { height:56px; width:auto; margin-bottom:16px; }
.footer-tag { font-family:'Raleway', sans-serif; font-size:0.9rem; line-height:1.7; color:var(--stone); max-width:260px; }
.footer-col h4 { font-family:'Raleway', sans-serif; font-size:0.8rem; font-weight:800; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:10px; }
.footer-col a { font-family:'Raleway', sans-serif; font-size:0.9rem; color:var(--stone); transition:color 0.2s; }
.footer-col a:hover { color:var(--warm); }
.footer-bottom { padding-top:26px; border-top:1px solid rgba(255,199,44,0.1); display:flex; justify-content:space-between; }
.footer-bottom p { font-family:'Raleway', sans-serif; font-size:0.82rem; color:rgba(168,152,128,0.5); }
.footer-bottom a { color:var(--stone); }
.footer-bottom a:hover { color:var(--gold); }

/* ─── SECTION DIVIDER ─── */
.sec-divider { height:1px; background:rgba(255,199,44,0.25); }

/* ─── REVEAL ─── */
.reveal { opacity:0; transform:translateY(20px); transition:opacity 0.65s ease, transform 0.65s ease; }
.reveal.on { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; } }

/* ═══════════════════════════════════════════════════════════════
/* ═══════════════════════════════════════════════════════════════
   SMALL DESKTOP (max-width: 1200px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  /* Tiles */
  .tile-title { font-size:1.35rem; }
  .tile-body { padding:22px 18px; }
}

/* 1100px - Tiles tighter */
@media (max-width: 1100px) {
  .tile-title { font-size:1.2rem; }
  .tile-body { padding:18px 14px; }
  .tiles-sec { padding:60px 32px; }
}


   TABLET BREAKPOINT (max-width: 1050px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1050px) {
  
  /* Hero */
  .hero-content { width:80%; padding:60px 48px; }
  .hero h1 .h1-top { white-space:normal; }
  .hero-stats { gap:28px; }
  
  /* Visit section */
  
  /* Tiles */
  .tiles-sec { padding:60px 40px; }
  .tiles-grid { grid-template-columns:repeat(2,1fr); }
  
  /* Schools */
  .schools-img { display: none; }
  .schools-img::after { background:linear-gradient(to bottom, transparent 50%, var(--deep) 100%); }
  .schools-text { padding:48px 40px; }
  
  /* Haunted */
  .haunted-img { display: none; }
  .haunted-text { padding:48px 40px; }
  .haunted-text { padding:48px 40px; }
  
  /* Reviews */
  .reviews { padding:60px 40px; }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  
  /* Location */
  .loc-bar { padding:40px; flex-direction:column; text-align:center; }
  .loc-items { gap:40px; justify-content:center; }
  
  /* Footer */
  footer { padding:48px 40px 32px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE BREAKPOINT (max-width: 768px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Hide visit photo on mobile */
  .visit-photo { display:none; }
  html { font-size:16px; }
  
  /* Nav adjustments for small mobile */
  nav { padding:0 20px; }
  .nav-logo img { height:44px; }
  
  /* Hero */
  .hero { padding-top:64px; min-height:auto; }
  .hero-content { width:100%; padding:40px 24px 60px; max-width:100%; }
  .hero-eyebrow { font-size:0.72rem; letter-spacing:0.2em; margin-bottom:16px; }
  .hero-eyebrow::before { width:20px; }
  .hero h1 { font-size:1.7rem; margin-bottom:8px; }
  .hero h1 .h1-top { font-size:0.85em !important; }
  .hero-sub { font-size:0.9rem; margin-bottom:20px; }
  .hero-desc { font-size:0.95rem; margin-bottom:32px; }
  .hero-btns { flex-direction:column; gap:12px; margin-bottom:40px; }
  .btn-gold, .btn-outline { width:100%; justify-content:center; padding:14px 24px; font-size:0.88rem; }
  .hero-stats { gap:20px; padding-top:24px; }
  .stat-num { font-size:1.5rem; }
  .stat-lbl { font-size:0.7rem; letter-spacing:0.12em; }
  
  /* Visit section */
  .visit-content { padding:36px 24px; gap:20px; }
  .visit-mid { padding:16px; }
  .visit-mid-cols { grid-template-columns:1fr; gap:16px; }
  .status-headline { font-size:1.3rem; }
  .info-grid { grid-template-columns:1fr; }
  .info-cell { border-right:none !important; border-bottom:1px solid rgba(255,199,44,0.1) !important; }
  .info-cell:last-child { border-bottom:none !important; }
  
  /* Tiles */
  .tiles-sec { padding:40px 20px; }
  .tiles-grid { grid-template-columns:1fr; gap:12px; }
  .tile { aspect-ratio:4/3; }
  .tile-title { font-size:1.35rem; }
  .tile-body { padding:20px 18px; }
  
  /* Schools */
  .schools-img { min-height:280px; }
  .schools-text { padding:36px 24px; }
  .feat-row { flex-direction:column; gap:12px; }
  .feat-icon { width:40px; height:40px; }
  
  /* Haunted */
  .haunted-img { min-height:240px; }
  .haunted-text { padding:36px 24px; }
  .haunted-text .sec-body { max-width:100%; }
  
  /* Reviews */
  .reviews { padding:48px 24px; }
  .reviews-head { margin-bottom:36px; }
  .reviews-grid { grid-template-columns:1fr; gap:16px; }
  .rev-card { padding:24px 20px; }
  .rev-card::before { font-size:3rem; top:8px; left:14px; }
  
  /* Location */
  .loc-bar { padding:36px 24px; }
  .loc-bar h3 { font-size:1.2rem; }
  .loc-items { display:grid; grid-template-columns:1fr 1fr; gap:24px; justify-items:center; }
  
  /* Footer */
  footer { padding:40px 24px 28px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; text-align:center; }
  .footer-logo { display:flex; justify-content:center; }
  .footer-logo img { margin:0 auto 16px; }
  .footer-col h4 { margin-bottom:14px; font-size:0.9rem; }
  .footer-col li { margin-bottom:12px; }
  .footer-tag { max-width:100%; margin:0 auto; font-size:1rem; }
  .footer-col a { font-size:1.05rem; }
  .footer-col li { margin-bottom:12px; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
  .footer-bottom p { font-size:0.9rem; }
}

/* ═══════════════════════════════════════════════════════════════
   SMALL MOBILE (max-width: 480px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  html { font-size:15px; }
  
  .hero h1 { font-size:1.5rem; }
  .hero-stats { flex-direction:column; gap:16px; }
  .hero-stats > div { display:flex; align-items:center; gap:12px; }
  .stat-lbl { margin-top:0; }
  
  .sec-title { font-size:1.6rem; }
  .status-headline { font-size:1.15rem; }
  
  .mini-cal { padding:14px; }
  .mc-day { min-height:24px; font-size:0.65rem; }
  
  /* loc-items 2x2 grid handled at 768px */
}

/* ═══════════════════════════════════════════════════════════════
   VISIT SECTION - Progressive photo reduction
   ═══════════════════════════════════════════════════════════════ */

/* 1520px - Start reducing photo (36/64) */
@media (max-width: 1520px) {
  .visit-section { grid-template-columns: 1fr 1.8fr; }
}

/* 1250px - More content space (30/70) */
@media (max-width: 1250px) {
  .visit-section { grid-template-columns: 1fr 2.3fr; }
  .visit-photo { min-height: 700px; }
}

/* 1150px - Content dominant (25/75) */
@media (max-width: 1150px) {
  .visit-section { grid-template-columns: 1fr 3fr; }
  .visit-photo { min-height: 600px; }
}

/* 1050px - Hide photo */
@media (max-width: 1050px) {
  .visit-section { grid-template-columns: 1fr; }
  .visit-photo { display: none; }
}

/* 1000px - Hide photo (mobile) */
@media (max-width: 1000px) {
  .visit-section { grid-template-columns: 1fr; }
  .visit-photo { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   SCHOOLS SECTION BREAKPOINTS
   ═══════════════════════════════════════════════════════════════ */

/* 1520px - Start reducing photo (36/64) */
@media (max-width: 1520px) {
  .schools { grid-template-columns: 1fr 1.8fr; }
}

/* 1250px - More content space (30/70) */
@media (max-width: 1250px) {
  .schools { grid-template-columns: 1fr 2.3fr; }
}

/* 1150px - Content dominant (25/75) */
@media (max-width: 1150px) {
  .schools { grid-template-columns: 1fr 3fr; }
}

/* 1050px - Hide photo */
@media (max-width: 1050px) {
  .schools { grid-template-columns: 1fr; }
  .schools-img { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   HAUNTED SECTION BREAKPOINTS
   ═══════════════════════════════════════════════════════════════ */

/* 1520px - Start reducing photo (36/64) */
@media (max-width: 1520px) {
  .haunted-sec { grid-template-columns: 1fr 1.8fr; }
}

/* 1250px - More content space (30/70) */
@media (max-width: 1250px) {
  .haunted-sec { grid-template-columns: 1fr 2.3fr; }
}

/* 1150px - Content dominant (25/75) */
@media (max-width: 1150px) {
  .haunted-sec { grid-template-columns: 1fr 3fr; }
}

/* 1050px - Hide photo */
@media (max-width: 1050px) {
  .haunted-sec { grid-template-columns: 1fr; }
  .haunted-img { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   INTERNAL PAGES — Shared Components
   ═══════════════════════════════════════════════════════════════ */

/* ─── PAGE HERO (Internal banner) ─── */
.page-hero {
  position:relative;
  min-height:45vh;
  display:flex;
  align-items:flex-end;
  padding-top:76px;
  overflow:hidden;
}
.page-hero-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 40%;
}
.page-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(6,4,1,0.72) 0%, rgba(6,4,1,0.45) 40%, rgba(6,4,1,0.18) 100%);
}
.page-hero-content {
  position:relative; z-index:10;
  padding:48px 88px 56px;
  max-width:900px;
  text-shadow:0 2px 12px rgba(0,0,0,0.6), 0 1px 3px rgba(0,0,0,0.4);
}
.page-hero-content h1 {
  font-family:'Raleway', sans-serif;
  font-size:clamp(2rem, 3.5vw, 3.2rem);
  font-weight:900; line-height:1.08;
  color:var(--warm); margin-bottom:10px;
  text-shadow:0 2px 12px rgba(0,0,0,0.7), 0 1px 3px rgba(0,0,0,0.5);
}
.page-hero-sub {
  font-family:'Raleway', sans-serif;
  font-size:1.1rem; font-weight:500; font-style:italic;
  color:var(--stone); letter-spacing:0.04em;
  text-shadow:0 1px 8px rgba(0,0,0,0.6), 0 1px 2px rgba(0,0,0,0.4);
}

/* Taller hero variant */
.page-hero--tall {
  min-height:70vh;
  align-items:flex-start;
}
.page-hero--tall .page-hero-content {
  margin-top:10vh;
}
.page-hero--tall .page-hero-overlay {
  background:linear-gradient(105deg,
    rgba(6,4,1,0.72) 0%,
    rgba(6,4,1,0.45) 40%,
    rgba(6,4,1,0.18) 100%
  );
}
.page-hero-fade {
  position:absolute; bottom:0; left:0; right:0; height:120px;
  background:linear-gradient(to top, rgba(13,11,7,0.5), transparent);
  z-index:5;
}

/* ─── HERO TRANSITION ─── */
.hero-transition {
  height:10px;
  background:var(--gold);
}

/* ─── CONTENT SECTIONS ─── */
.content-section {
  padding:80px 72px;
  background:var(--deep);
}
.content-section--alt {
  background:var(--panel);
}
.content-wrap {
  max-width:900px;
}
.content-wrap-wide {
  max-width:1200px;
  margin:0 auto;
}
.content-subhead {
  font-family:'Raleway', sans-serif;
  font-size:1.4rem; font-weight:800;
  color:var(--warm); margin:28px 0 12px;
}

/* ─── FACTS STRIP ─── */

/* ─── SPLIT SECTIONS (photo + text) ─── */
/* Narrow photo variant */
.split-section--narrow { grid-template-columns:1fr 1.6fr; }
.split-section--narrow .split-photo { min-height:400px; }

.split-section {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:540px; background:var(--deep);
}
.split-section--reverse { direction:rtl; }
.split-section--reverse > * { direction:ltr; }
.split-photo { position:relative; overflow:hidden; }
.split-photo img { width:100%; height:100%; object-fit:cover; }
.split-photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right, transparent 50%, var(--deep) 100%);
}
.split-section--reverse .split-photo::after {
  background:linear-gradient(to left, transparent 50%, var(--deep) 100%);
}
/* Hard edge — no fade overlay, for bright/light photos */
.split-photo--hard::after { display:none !important; }
.split-text {
  padding:72px 64px 72px 48px;
  display:flex; flex-direction:column; justify-content:center;
}
/* Reverse layout: text on left — match site-wide 72px viewport-edge padding */
.split-section--reverse .split-text {
  padding-left:72px; padding-right:48px;
}

/* ─── GOLD SECTION VARIANT ─── */
.split-section--gold {
  background:var(--gold);
  grid-template-columns:1fr 1fr;
}
.split-section--gold .split-photo::after { display:none; }
.split-section--gold .split-text { padding:72px 48px 72px 72px; }
.split-section--gold .sec-eyebrow { color:var(--coal); }
.split-section--gold .sec-eyebrow::before { background:var(--coal); }
.split-section--gold .sec-title { color:var(--coal); }
.split-section--gold .gold-bar { background:var(--coal); }
.split-section--gold .sec-body { color:rgba(13,11,7,0.65); max-width:none; }
.split-section--gold .btn-gold {
  background:var(--coal); color:var(--gold);
}
.split-section--gold .btn-gold:hover {
  background:var(--panel); transform:translateY(-2px);
}

/* Photo contain variant (for maps/illustrations) */
.split-photo--contain { background:var(--coal); display:flex; align-items:center; justify-content:center; padding:32px; }
.split-photo--contain img { object-fit:contain; width:100%; height:auto; max-height:100%; }
.split-photo--contain::after { display:none; }

/* Map key */
.map-key { display:flex; gap:32px; margin-top:8px; }
.map-key-col { flex:1; display:flex; flex-direction:column; gap:2px; }
.map-key-item {
  display:flex; align-items:center; gap:10px;
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; font-weight:600; color:rgba(245,230,200,0.72);
  padding:4px 0;
}
.map-key-num {
  width:22px; height:22px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,199,44,0.15); color:#fff;
  font-size:0.7rem; font-weight:800;
  border-radius:50%;
}

/* Two-card experience layout */
.exp-cards.exp-cards--two {
  grid-template-columns:repeat(2, 1fr);
  max-width:100%;
  width:100%;
  margin:0 auto;
  gap:28px;
}
.exp-cards--two .exp-card-img { aspect-ratio:16/9; }
.exp-cards--two .exp-card-body { padding:32px 28px; }
.exp-cards--two .exp-card-body h3 { font-size:1.4rem; margin-bottom:12px; }
.exp-cards--two .exp-card-body p { font-size:0.95rem; line-height:1.72; }

.expect-list { display:flex; flex-direction:column; gap:4px; margin-top:20px; }
.expect-list .expect-item { border-bottom:1px solid rgba(255,199,44,0.08); padding:10px 0; }
.expect-list .expect-item:last-child { border-bottom:none; }

.facts-strip {
  display:flex; justify-content:center; gap:60px;
  padding:48px 72px;
  background:var(--mid);
  border-top:1px solid rgba(255,199,44,0.15);
  border-bottom:1px solid rgba(255,199,44,0.15);
  flex-wrap:wrap;
}
.fact-item { text-align:center; }

/* ─── EXPECT GRID ─── */
.expect-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:18px 48px; margin-top:28px;
}
.expect-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,199,44,0.08);
}
.expect-check {
  flex-shrink:0; margin-top:3px;
}
.expect-item p {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; line-height:1.6; font-weight:400;
  color:rgba(245,230,200,0.78); margin:0;
}

/* ─── EXPERIENCE CARDS ─── */
.exp-cards {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.exp-card {
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.1);
  overflow:hidden;
}
/* hover removed — exp-cards are not links */
.exp-card-img {
  aspect-ratio:16/10; overflow:hidden;
}
.exp-card-img img {
  width:100%; height:100%; object-fit:cover;
}
/* hover removed — exp-cards are not links */
.exp-card-body {
  padding:24px 22px;
}
.exp-card-body h3 {
  font-family:'Raleway', sans-serif;
  font-size:1.2rem; font-weight:900;
  color:var(--warm); margin-bottom:10px; line-height:1.2;
}
.exp-card-body p {
  font-family:'Raleway', sans-serif;
  font-size:0.9rem; line-height:1.65; font-weight:400;
  color:rgba(245,230,200,0.68); margin:0;
}

/* ─── CTA STRIP ─── */
.cta-strip {
  padding:72px 72px;
  background:var(--coal);
  text-align:center;
}
.cta-strip h2 {
  font-family:'Raleway', sans-serif;
  font-size:clamp(1.6rem, 2.5vw, 2.4rem);
  font-weight:900; color:var(--warm);
  margin-bottom:28px;
}
.cta-note {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; font-weight:500; font-style:italic;
  color:var(--stone); margin-top:16px;
}
.cta-note a { color:inherit; text-decoration:none; transition:color 0.2s; }
.cta-note a:hover { color:#fff; }

/* ─── EXPECT SECTION (3-column: text, text, photo) ─── */
.expect-section {
  display:grid;
  grid-template-columns:1fr 1fr 1.4fr;
  column-gap:32px;
  background:var(--panel);
  min-height:560px;
  padding-left:72px;
}
.expect-photo {
  position:relative; overflow:hidden;
}
.expect-photo img {
  width:100%; height:100%; object-fit:cover; object-position:center 30%;
}
.expect-col {
  padding:48px 0;
  display:flex; flex-direction:column; justify-content:center; gap:0;
}
.expect-section .sec-title {
  font-size:clamp(1.5rem, 2.2vw, 2.2rem);
  white-space:nowrap;
}
.expect-col-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,199,44,0.08);
}
.expect-col-item:last-child { border-bottom:none; }
.expect-icon {
  flex-shrink:0; width:24px; height:24px; margin-top:1px;
  display:flex; align-items:center; justify-content:center;
}
.expect-col-item h4 {
  font-family:'Raleway', sans-serif;
  font-size:0.92rem; font-weight:800;
  color:var(--warm); margin-bottom:3px;
}
.expect-col-item p {
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; line-height:1.5; font-weight:400;
  color:var(--stone); margin:0;
}

/* ─── MAP SECTION (unified redesign) ─── */
.map-section {
  padding:88px 72px;
  background:var(--panel);
}
.map-section .sec-body {
  text-align:center; margin:0 auto 44px; max-width:620px;
}
.map-container {
  background:var(--coal);
  border:1px solid rgba(255,199,44,0.1);
  padding:40px;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:44px;
  align-items:center;
}
.map-image img {
  width:100%; height:auto;
}
.map-enlarge {
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--gold);
  margin-top:12px; transition:color 0.2s;
}
.map-enlarge:hover { color:#FFD55A; }
.map-key-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 24px;
}
.map-key-panel .map-key-item {
  display:flex; align-items:center; gap:10px;
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; font-weight:600; color:rgba(245,230,200,0.72);
  padding:6px 0;
}
.map-key-panel .map-key-num {
  width:24px; height:24px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:0.7rem; font-weight:800;
  border-radius:50%;
  color:#fff;
}
/* Map-matched circle colors */
.mk-1  { background:#16A34A; } /* green — Entrance */
.mk-2  { background:#D946EF; } /* fuchsia — Ira Wood Park */
.mk-3  { background:#c69601; } /* gold — Mine */
.mk-4  { background:#2563EB; } /* blue — Museum */
.mk-5  { background:#EA580C; } /* orange — Picnic Pavilion */
.mk-6  { background:#78716C; } /* warm gray — Mine Rescue Vehicle */
.mk-7  { background:#0D9488; } /* teal — Stage Pavilion */
.mk-8  { background:#EC4899; } /* pink — Railroad Caboose */
.mk-9  { background:#65A30D; } /* olive — 1785 Log House */
.mk-10 { background:#7C3AED; } /* purple — Wagon Barn */
.mk-11 { background:#0EA5E9; } /* sky blue — Souvenir Shop */
.mk-12 { background:#B45309; } /* sienna — Restrooms */
.mk-13 { background:#64748B; } /* slate — Parking */
.mk-14 { background:#DC2626; } /* red — First Aid */

/* ─── PRICING GRID ─── */
.pricing-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:32px;
}
.pricing-card {
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.1);
  padding:48px 40px;
}
.price-table {
  display:flex; flex-direction:column; gap:0;
  margin-bottom:20px;
}
.price-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(255,199,44,0.08);
}
.price-row:last-child { border-bottom:none; }
.price-label {
  font-family:'Raleway', sans-serif;
  font-size:1rem; font-weight:500; color:var(--warm);
}
.price-amount {
  font-family:'Raleway', sans-serif;
  font-size:1.3rem; font-weight:900; color:var(--gold);
}
.pricing-note {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; font-weight:500; font-style:italic;
  color:var(--stone); margin-top:8px;
}

/* ─── TOUR TIME SLOTS ─── */
.tour-times {
  display:flex; flex-direction:column; gap:12px;
  margin-top:20px;
}
.tour-time-slot {
  display:flex; align-items:center; gap:16px;
  padding:14px 18px;
  background:rgba(255,199,44,0.06);
  border:1px solid rgba(255,199,44,0.12);
}
.time-badge {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; font-weight:900; color:var(--gold);
  min-width:80px;
}
.time-desc {
  font-family:'Raleway', sans-serif;
  font-size:0.88rem; font-weight:500; color:var(--stone);
}

/* ─── CONTACT GRID ─── */
.contact-grid {
  display:grid; grid-template-columns:1fr 1.2fr;
  gap:64px;
}
.contact-info-col {
  display:flex; flex-direction:column;
}
.contact-detail {
  display:flex; align-items:flex-start; gap:16px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,199,44,0.08);
}
.contact-detail:last-of-type { border-bottom:none; }
.contact-detail-icon {
  flex-shrink:0; margin-top:2px;
}
.contact-detail h4 {
  font-family:'Raleway', sans-serif;
  font-size:0.92rem; font-weight:800; color:var(--warm); margin-bottom:4px;
}
.contact-detail p {
  font-family:'Raleway', sans-serif;
  font-size:0.92rem; line-height:1.6; color:var(--stone); margin:0;
}
.contact-detail p a {
  color:var(--gold); transition:color 0.2s;
}
.contact-detail p a:hover { color:#FFD55A; }
.contact-directions {
  margin-top:24px; padding:20px;
  background:rgba(255,199,44,0.05);
  border:1px solid rgba(255,199,44,0.1);
}
.contact-directions p {
  font-family:'Raleway', sans-serif;
  font-size:0.9rem; line-height:1.65; color:var(--stone); margin:0;
}
.contact-directions strong { color:var(--warm); }

/* ─── RESERVATION FORM ─── */
.contact-form-col {
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.1);
  padding:40px;
}
.form-heading {
  font-family:'Raleway', sans-serif;
  font-size:1.4rem; font-weight:900; color:var(--warm); margin-bottom:8px;
}
.form-intro {
  font-family:'Raleway', sans-serif;
  font-size:0.88rem; line-height:1.6; color:var(--stone);
  margin-bottom:28px;
}
.reservation-form .form-row {
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
  margin-bottom:16px;
}
.form-group {
  display:flex; flex-direction:column; margin-bottom:16px;
}
.form-group label {
  font-family:'Raleway', sans-serif;
  font-size:0.78rem; font-weight:700; letter-spacing:0.15em;
  text-transform:uppercase; color:var(--gold); margin-bottom:6px;
}
.form-group input,
.form-group select,
.form-group textarea {
  font-family:'Raleway', sans-serif;
  font-size:0.92rem; font-weight:500;
  background:var(--coal); color:var(--warm);
  border:1px solid rgba(255,199,44,0.15);
  padding:12px 14px;
  transition:border-color 0.2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline:none;
  border-color:var(--gold);
}
.form-group select {
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FFC72C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
.form-group textarea { resize:vertical; min-height:100px; }

/* ─── EVENT CARDS ─── */
.event-cards {
  display:grid; grid-template-columns:1fr 1fr;
  gap:24px;
}
.event-card {
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.1);
  overflow:hidden;
  display:flex;
}
.event-card-accent {
  width:4px; flex-shrink:0;
  background:var(--gold);
}
.event-card-body {
  padding:28px 24px;
}
.event-card-date {
  font-family:'Raleway', sans-serif;
  font-size:0.75rem; font-weight:700; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--gold); margin-bottom:10px;
}
.event-card-body h3 {
  font-family:'Raleway', sans-serif;
  font-size:1.15rem; font-weight:900; color:var(--warm);
  margin-bottom:10px; line-height:1.2;
}
.event-card-body p {
  font-family:'Raleway', sans-serif;
  font-size:0.88rem; line-height:1.65; color:var(--stone); margin:0;
}
.event-card-link {
  display:inline-flex; align-items:center; gap:4px;
  font-family:'Raleway', sans-serif;
  font-size:0.82rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--gold); margin-top:12px;
}

/* ─── BIRTHDAY FEATURES ─── */
.birthday-features {
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:28px;
}
.birthday-feature {
  text-align:center; padding:32px 20px;
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.08);
}
.birthday-feature-icon {
  margin-bottom:16px;
}
.birthday-feature h3 {
  font-family:'Raleway', sans-serif;
  font-size:1rem; font-weight:900; color:var(--warm);
  margin-bottom:8px;
}
.birthday-feature p {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; line-height:1.6; color:var(--stone); margin:0;
}

/* ─── FEATURE LIST ─── */
.feature-list {
  list-style:none; padding:0;
}
.feature-list li {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; line-height:1.7; font-weight:400;
  color:rgba(245,230,200,0.78);
  padding:6px 0 6px 20px;
  position:relative;
}
.feature-list li::before {
  content:''; position:absolute; left:0; top:14px;
  width:6px; height:6px; background:var(--gold); border-radius:50%;
}
.split-section--gold .feature-list li { color:rgba(13,11,7,0.7); }
.split-section--gold .feature-list li::before { background:var(--coal); }

/* ─── EXPECT INFO GRID ─── */
.expect-info-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:32px;
}
.expect-info-item {
  padding:28px;
  background:var(--mid);
  border:1px solid rgba(255,199,44,0.08);
}
.expect-info-icon {
  margin-bottom:14px;
}
.expect-info-item h3 {
  font-family:'Raleway', sans-serif;
  font-size:1.05rem; font-weight:900; color:var(--warm);
  margin-bottom:8px;
}
.expect-info-item p {
  font-family:'Raleway', sans-serif;
  font-size:0.88rem; line-height:1.65; color:var(--stone); margin:0;
}

/* ─── FAQ ─── */
.faq-list {
  display:flex; flex-direction:column; gap:0;
}
.faq-item {
  padding:24px 0;
  border-bottom:1px solid rgba(255,199,44,0.1);
}
.faq-item:last-child { border-bottom:none; }
.faq-item h3 {
  font-family:'Raleway', sans-serif;
  font-size:1.05rem; font-weight:800; color:var(--warm);
  margin-bottom:8px;
}
.faq-item p {
  font-family:'Raleway', sans-serif;
  font-size:0.92rem; line-height:1.7; color:var(--stone); margin:0;
}

/* ─── PARK MAP FULL PAGE ─── */
.map-full-container {
  background:transparent;
  border:1px solid rgba(255,199,44,0.18);
  padding:0;
}
.map-full-img {
  width:100%; height:auto;
}
.map-legend-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:20px 48px;
}
.map-legend-item {
  display:flex; align-items:flex-start; gap:16px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,199,44,0.06);
}
.map-legend-item:last-child { border-bottom:none; }
.map-legend-item .map-key-num {
  margin-top:3px;
}
.map-legend-item h4 {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; font-weight:800; color:var(--warm);
  margin-bottom:4px;
}
.map-legend-item p {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; line-height:1.6; color:var(--stone); margin:0;
}

/* ─── MAP SPLIT LAYOUT (map + legend side by side) ─── */
.map-split {
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:32px;
  align-items:start;
}
.map-split-img { position:sticky; top:24px; }
.map-split-img .map-full-container { padding:0; }
.map-split-legend { }
.map-legend-title {
  font-family:'Raleway', sans-serif;
  font-size:1.05rem; font-weight:800; color:var(--warm);
  margin:0; /* unused — kept for fallback */
}
.map-legend-sidebar {
  display:flex; flex-direction:column;
}
.map-legend-sidebar .map-legend-item {
  padding:8px 0; gap:10px; border-bottom:none;
}
.map-legend-sidebar .map-legend-item h4 {
  font-size:0.95rem; margin-bottom:3px;
}
.map-legend-sidebar .map-legend-item p {
  font-size:0.85rem; line-height:1.55;
}

/* ─── HAUNTED PAGE STYLES ─── */
.hero-eyebrow--red {
  color:var(--red) !important;
}
.hero-eyebrow--red::before {
  background:var(--red) !important;
}
.sec-eyebrow--red {
  color:var(--red);
}
.sec-eyebrow--red::before {
  background:var(--red);
}

.haunted-story {
  background:#060304;
  padding:80px 72px;
}
.haunted-story-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.haunted-story-content {
  max-width:none;
}
.haunted-story-video {
  position:relative; background:#0a0608; border:1px solid rgba(200,32,64,0.2); overflow:hidden;
}
.haunted-story-video video {
  display:block; width:100%; height:100%; object-fit:cover;
}
.mute-btn {
  position:absolute; bottom:12px; right:12px;
  background:rgba(6,3,4,0.7); border:1px solid rgba(200,32,64,0.4);
  color:#f5f0e8; cursor:pointer;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; transition:background 0.2s, border-color 0.2s;
}
.mute-btn:hover {
  background:rgba(200,32,64,0.4); border-color:rgba(200,32,64,0.7);
}

.haunted-gallery {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.haunted-gallery-item {
  overflow:hidden; aspect-ratio:4/3;
}
.haunted-gallery-item img {
  width:100%; height:100%; object-fit:cover;
  opacity:0.7; transition:opacity 0.3s;
}
/* hover removed — gallery items are not links */

.haunted-list {
  list-style:none; padding:0;
}
.haunted-list li {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; line-height:1.7; font-weight:500;
  color:rgba(245,230,200,0.78);
  padding:6px 0 6px 24px;
  position:relative;
}
.haunted-list li::before {
  content:''; position:absolute; left:0; top:14px;
  width:8px; height:8px; background:var(--red);
  border-radius:50%;
}

/* ─── Haunted Mine — Dates & Pricing redesign ─── */
.hm-block {
  margin-bottom:72px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(200,32,64,0.12);
}
.hm-block:last-of-type { margin-bottom:40px; }
.hm-block + .hm-block { border-top:none; }
.hm-block-divider {
  height:0; border:none;
  border-top:1px solid rgba(200,32,64,0.2);
  margin:0;
}

.hm-date-header {
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(200,32,64,0.12);
  border-left:6px solid #c82040;
  border-bottom:1px solid rgba(200,32,64,0.3);
  padding:20px 24px;
  min-height:72px;
  margin-bottom:0;
  gap:16px;
  box-sizing:border-box;
}
.hm-day-type {
  font-family:'Raleway', sans-serif;
  font-weight:900; font-size:1.5rem; color:#c82040;
  white-space:nowrap;
}
.hm-date-list {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; color:rgba(245,230,200,0.65);
  text-align:center; flex:1;
}
.hm-hours {
  font-family:'Raleway', sans-serif;
  font-size:0.95rem; color:rgba(245,230,200,0.65);
  white-space:nowrap;
}

.hm-ticket-row {
  display:grid; grid-template-columns:1fr 1fr;
  gap:16px;
  padding:4px 0 20px;
  margin-top:0;
}

.hm-ticket {
  padding:28px 24px;
  display:flex; flex-direction:column;
}
.hm-ticket--ga {
  background:#1a0a08;
  border:1px solid rgba(200,32,64,0.25);
}
.hm-ticket--fp {
  background:#1f0808;
  border:2px solid #c82040;
  box-shadow:0 4px 28px rgba(200,32,64,0.18);
  position:relative;
}

.hm-fp-badge {
  position:absolute; top:-13px; left:50%;
  transform:translateX(-50%);
  background:#c82040; color:#fff;
  font-family:'Raleway', sans-serif;
  font-weight:800; font-size:0.62rem;
  letter-spacing:0.22em; text-transform:uppercase;
  padding:5px 14px;
  border-radius:20px;
  white-space:nowrap;
}

.hm-ticket-label {
  font-family:'Raleway', sans-serif;
  font-weight:700; font-size:0.65rem;
  letter-spacing:0.2em; text-transform:uppercase;
  color:#c82040;
  margin-bottom:16px;
}

.hm-ticket-price {
  font-family:'Raleway', sans-serif;
  font-weight:900; font-size:3.2rem;
  color:#f5e6c8; line-height:1;
}
.hm-ticket-price span {
  font-size:0.9rem; font-weight:500;
  color:rgba(245,230,200,0.55);
  margin-left:6px;
}
.hm-ticket-price--gold { color:#FFC72C; }

.hm-ticket-desc {
  font-family:'Raleway', sans-serif;
  font-style:italic; font-size:0.85rem;
  color:rgba(245,230,200,0.5);
  margin:8px 0 0; line-height:1.5;
}

.hm-fp-note {
  font-family:'Raleway', sans-serif;
  font-style:italic; font-size:0.78rem;
  color:#FFC72C;
  margin:6px 0 0; line-height:1.4;
}

.hm-btn {
  display:block; width:100%; text-align:center;
  font-family:'Raleway', sans-serif;
  font-weight:700; font-size:0.88rem;
  padding:12px 24px; margin-top:auto;
  text-decoration:none; cursor:pointer;
  transition:background 0.2s, color 0.2s, border-color 0.2s;
  box-sizing:border-box;
}
.hm-btn--outline {
  border:1px solid #c82040; color:#c82040;
  background:transparent;
  margin-top:24px;
}
.hm-btn--outline:hover {
  background:#c82040; color:#fff;
}
.hm-btn--filled {
  border:2px solid #c82040;
  background:#c82040; color:#fff;
  font-weight:800;
  padding:13px 24px;
  margin-top:24px;
}
.hm-btn--filled:hover {
  background:#a01830; border-color:#a01830;
}

.hm-gate-note {
  text-align:center;
  font-family:'Raleway', sans-serif;
  font-size:1rem;
  font-weight:600;
  color:var(--warm);
  margin:40px 0 24px;
  padding:18px 24px;
  background:rgba(200,32,64,0.08);
  border:1px solid rgba(200,32,64,0.2);
  border-left:4px solid var(--red);
}
.haunted-info-bar {
  text-align:center; padding:24px;
  background:rgba(200,32,64,0.05);
  border:1px solid rgba(200,32,64,0.15);
}
.haunted-info-bar p {
  font-family:'Raleway', sans-serif;
  font-size:0.85rem; line-height:1.6; color:var(--stone); margin:0;
}

/* ═══════════════════════════════════════════════════════════════
   INTERNAL PAGES — Responsive
   ═══════════════════════════════════════════════════════════════ */

/* ─── Location bar: centered layout when icons wrap ─── */
@media (max-width: 1400px) {
  .loc-bar {
    flex-direction:column;
    text-align:center;
    align-items:center;
    gap:36px;
  }
  .loc-items {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:24px;
    width:100%;
    max-width:800px;
  }
}

@media (max-width: 1050px) {
  .page-hero-content { padding:40px 48px 48px; }
  .page-hero--tall { min-height:55vh; }
  .content-section { padding:60px 40px; }
  .facts-strip { padding:40px; gap:40px; }
  .exp-cards { grid-template-columns:repeat(2, 1fr); }
  .split-section { grid-template-columns:1fr; }
  .split-section--narrow { grid-template-columns:1fr; }
  .split-photo--contain { padding:24px; }
  .split-section--reverse { direction:ltr; }
  .split-photo { min-height:300px; }
  .split-photo::after { background:linear-gradient(to bottom, transparent 50%, var(--deep) 100%) !important; }
  .split-section--gold { grid-template-columns:1fr; }
  .split-section--gold .split-photo::after { display:none !important; }
  .split-section--gold .split-photo { min-height:350px; }
  .split-text { padding:48px 40px; }
  .split-section--reverse .split-text { padding:48px 40px; }
  .cta-strip { padding:56px 40px; }

  /* Expect section — drop photo, keep 2 text columns */
  .expect-section {
    grid-template-columns:1fr 1fr;
    padding:0 40px;
    column-gap:28px;
  }
  .expect-photo { display:none; }
  .expect-col { padding:48px 0; }

  /* Map section */
  .map-section { padding:64px 40px; }
  .map-container { grid-template-columns:1fr; padding:28px; gap:28px; }
  .map-key-panel { grid-template-columns:repeat(4, 1fr); gap:8px 16px; }

  /* Pricing */
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card { padding:40px 32px; }

  /* Contact */
  .contact-grid { grid-template-columns:1fr; gap:40px; }

  /* Haunted */
  .haunted-story { padding:60px 40px; }
  .haunted-story-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .haunted-gallery { grid-template-columns:repeat(3, 1fr); }
  /* Event cards */
  .event-cards { grid-template-columns:1fr; }

  /* Birthday features */
  .birthday-features { grid-template-columns:1fr 1fr; }

  /* Expect info grid */
  .expect-info-grid { grid-template-columns:1fr; gap:20px; }

  /* Map legend */
  .map-legend-grid { grid-template-columns:1fr; gap:12px; }
  .map-split { grid-template-columns:1fr; gap:24px; }
  .map-split-img { position:static; }

  /* Location bar — 2x2 grid at this size */
  .loc-items { grid-template-columns:repeat(2, 1fr); max-width:500px; }
}

@media (max-width: 768px) {
  .page-hero { min-height:35vh; }
  .page-hero--tall { min-height:45vh; }
  .page-hero-content { padding:32px 24px 40px; }
  .page-hero-content h1 { font-size:1.8rem; }
  .page-hero-sub { font-size:0.95rem; }

  .content-section { padding:48px 24px; }
  .split-text { padding:36px 24px; }
  .split-section--reverse .split-text { padding:36px 24px; }
  .split-photo { min-height:250px; }
  .split-section--gold .split-photo { min-height:220px; }
  .split-section--gold .split-text { padding:28px 24px 36px; }
  .content-subhead { font-size:1.2rem; }

  .facts-strip { padding:36px 24px; gap:28px; }

  /* Expect section — single column on mobile */
  .expect-section {
    grid-template-columns:1fr;
    padding:0 24px;
    column-gap:0;
  }
  .expect-section .sec-title { white-space:normal; }
  .expect-col { padding:36px 0; }
  .expect-col:last-of-type { padding-top:0; }
  .expect-col-item[style*="margin-top"] { margin-top:0 !important; }

  .exp-cards { grid-template-columns:1fr; gap:16px; }
  .exp-cards.exp-cards--two { grid-template-columns:1fr; }
  .exp-cards--two .exp-card-body { padding:24px 20px; }
  .exp-card-body { padding:20px 18px; }

  /* Map section */
  .map-section { padding:48px 24px; }
  .map-container { padding:20px; gap:24px; }
  .map-key-panel { grid-template-columns:1fr 1fr; gap:4px 16px; }

  .cta-strip { padding:48px 24px; }

  /* Pricing */
  .pricing-card { padding:32px 24px; }
  .price-amount { font-size:1.1rem; }

  /* Contact form */
  .contact-form-col { padding:28px 20px; }
  .reservation-form .form-row { grid-template-columns:1fr; gap:0; }

  /* Haunted */
  .haunted-story { padding:48px 24px; }
  .haunted-story-grid { grid-template-columns:1fr; gap:28px; }
  .haunted-gallery { grid-template-columns:1fr; gap:12px; }
  .hm-ticket-price { font-size:2.4rem; }

  /* Birthday features */
  .birthday-features { grid-template-columns:1fr; }
  .birthday-feature { padding:24px 20px; }

  /* Expect info */
  .expect-info-item { padding:20px; }
}

@media (max-width: 640px) {
  .hm-date-header {
    flex-direction:column; align-items:flex-start; gap:4px;
  }
  .hm-date-list { text-align:left; }
  .hm-ticket-row {
    grid-template-columns:1fr;
    gap:20px;
  }
  /* Fast Pass card first on mobile */
  .hm-ticket--fp { order:-1; }
  .hm-ticket-price { font-size:2.6rem; }
}

@media (max-width: 480px) {
  .page-hero { min-height:30vh; }
  .page-hero--tall { min-height:38vh; }
  .page-hero-content h1 { font-size:1.5rem; }

  .facts-strip { flex-direction:column; gap:20px; }
}
