/* The Abandoned Hayride — magic, fire & fear. Woodcut type, ember light on char. */
:root{
  --char:#1d1511; --char-2:#271c16; --ember:#d9541e; --flame:#f2a33a; --straw:#d9bc7a; --ash:#a1968a; --teal:#10292a;
  --bg:var(--char); --ink:#efe4cf; --muted:var(--ash); --line:#3b2c23; --link:var(--flame); --focus:var(--flame);
  --accent:var(--ember); --accent-ink:#fff; --accent-text:var(--flame);
  --display:'IM Fell English',Georgia,serif; --display-weight:400; --body:'Karla',system-ui,sans-serif;
  --buy:var(--ember); --buy-ink:#fff; --buy-hover:#ee6428;
  --banner-bg:var(--flame); --banner-ink:var(--char);
  --header-bg:rgba(29,21,17,.95);
  --strip-bg:transparent; --strip-ink:var(--straw); --strip-border:1px solid #3b2c23;
  --card:var(--char-2); --card-border:1px solid #3b2c23;
  --cal-open:#3a2418; --cal-open-ink:#f4e3c6; --cal-sold:#180f0b; --cal-sold-ink:#8c7f72;
  --footer-bg:#140e0b; --footer-ink:#c7b9a2;
  --quote-font:'IM Fell English',serif;
  --radius-btn:999px; --radius-card:6px; --att-gap:0;
}
.wordmark{font-family:'IM Fell English SC',serif;font-size:1.5rem}
.btn{font-weight:700;letter-spacing:.01em}

/* hero: a wagon on the ridge, ember glow below the horizon */
.hero-hr{min-height:min(88vh,760px);display:flex;align-items:center;background:
  linear-gradient(180deg,rgba(16,41,42,.0),rgba(29,21,17,.6) 70%,var(--char)),
  var(--hero-img,none) center/cover no-repeat,
  radial-gradient(900px 400px at 50% 110%,#5a2310 0,transparent 70%),
  linear-gradient(180deg,#0b1a1b 0,#10292a 40%,#1d1511 100%)}
.hero-hr-inner{position:relative;z-index:2;padding:80px 0 220px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hr-title{font-size:clamp(3rem,9vw,7rem);max-width:none;line-height:.95;margin-bottom:.25em;
  color:#fff3df;text-shadow:0 0 18px rgba(242,163,58,.35),0 0 2px rgba(255,255,255,.4);
  animation:flicker 3.2s ease-out .3s both}
@keyframes flicker{0%{opacity:0;text-shadow:none}10%{opacity:.9}14%{opacity:.25}22%{opacity:1}26%{opacity:.5}40%{opacity:1}100%{opacity:1;text-shadow:0 0 18px rgba(242,163,58,.35)}}
.hero-hr .lede{margin-inline:auto;color:var(--straw);font-size:1.3rem}
.hero-hr .hero-actions{justify-content:center}
.ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:260px;z-index:1}
.lantern{animation:lantern 2.8s ease-in-out infinite alternate}
@keyframes lantern{from{opacity:.65}to{opacity:1}}

.highlights-row{justify-content:center;gap:48px}
.hl-v{font-family:'IM Fell English SC',serif;color:var(--flame);font-size:2.4rem}

/* the route: numbered stops, because it is a sequence */
.attractions{grid-template-columns:1fr;counter-reset:none;border-left:2px dashed #5b3b28;margin-left:10px}
.attraction{background:transparent;border:0;position:relative;padding-left:28px}
.attraction::before{content:'';position:absolute;left:-9px;top:28px;width:16px;height:16px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px var(--char),0 0 14px rgba(217,84,30,.7)}
.attraction-body{padding:20px 0 26px}
.attraction h3{font-size:1.9rem}
.attraction .stop{font-family:'IM Fell English SC',serif;color:var(--flame);font-size:1.05rem}
.attraction-img{border-radius:6px;max-width:520px;margin-left:28px}
.attractions.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-left:0;border-top:2px dashed #5b3b28;margin-left:0;padding-top:0}
.attractions.compact .attraction{padding:0 20px 0 0}
.attractions.compact .attraction::before{left:0;top:-9px}
.attractions.compact .attraction-body{padding-top:26px}
.attractions.compact .attraction h3{font-size:1.6rem}

.review blockquote{font-style:italic;font-size:1.45rem;color:#fff1da}
.price{font-family:'Karla',sans-serif;font-weight:700;color:var(--flame)}
.tier-card.featured{outline-color:var(--flame)}
.home-tickets{background:linear-gradient(180deg,var(--char),#231812)}
.faq summary{font-family:var(--display);font-weight:400;font-size:1.35rem}
.hiring-callout{background:radial-gradient(400px 200px at 0 100%,rgba(217,84,30,.25),transparent),var(--char-2)}

/* attraction art is portrait posters */
.attraction-img{aspect-ratio:2/3;object-fit:cover}
.attractions:not(.compact) .attraction{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}
.attractions:not(.compact) .attraction-img{max-width:220px;margin:22px 0 0;width:220px}
@media (max-width:640px){.attractions:not(.compact) .attraction{grid-template-columns:1fr}.attractions:not(.compact) .attraction-img{width:100%;max-width:300px}}
.attractions.compact .attraction-img{border-radius:6px;margin:26px 0 0;width:100%;max-width:none}
.attractions.compact .attraction-body{padding-top:12px}
.brand img{max-height:54px}
