/* North Star Pumpkin Town — a lantern-lit storybook village. Warm, round, never scary. */
:root{
  --twilight:#2a2456; --deep:#1b1838; --lantern:#f4a93f; --pumpkin:#e46b2c; --paper:#fff6e6; --moss:#5c7a3e; --plum:#6b4a8e;
  --bg:var(--paper); --ink:#2a2140; --muted:#6b6280; --line:#ecdcc0; --link:#b4441a; --focus:var(--plum);
  --accent:var(--pumpkin); --accent-ink:#fff; --accent-text:#b4441a;
  --display:'Young Serif',Georgia,serif; --display-weight:400; --body:'Nunito',system-ui,sans-serif;
  --buy:var(--pumpkin); --buy-ink:#fff; --buy-hover:#cf5a1d;
  --banner-bg:var(--plum); --banner-ink:#fff;
  --header-bg:#1b1838; --header-border:0; --nav-ink:#f2e8ff;
  --strip-bg:var(--deep); --strip-ink:#ffe9c2;
  --card:#fff; --card-border:1px solid var(--line);
  --cal-open:#ffe3b8; --cal-open-ink:#5a2a10; --cal-limited:#ffd08a; --cal-sold:#e7e1ef; --cal-sold-ink:#7b7190;
  --footer-bg:var(--deep); --footer-ink:#e8dcf3;
  --field:#fff; --field-ink:#2a2140;
  --quote-font:'Young Serif',serif;
  --radius-btn:999px; --radius-card:18px; --radius-media:18px; --radius-cal:10px; --att-gap:18px;
}
.btn{font-weight:800}
.wordmark{color:var(--lantern)}
.site-header .menu-btn span:not(.sr){background:#f2e8ff}
.brand img{max-height:58px}

/* hero: a night sky with a string of jack-o'-lanterns that light one by one */
.hero-pt{background:
  linear-gradient(180deg,rgba(20,18,48,.78),rgba(27,24,56,.62) 45%,rgba(27,24,56,.85)),
  var(--hero-img,none) center/cover no-repeat,
  radial-gradient(600px 300px at 50% 100%,rgba(244,169,63,.35),transparent 70%),
  linear-gradient(180deg,#141230 0,var(--twilight) 55%,#4a3570 100%);
  color:#fff4dc;padding:150px 0 90px;text-align:center}
.lantern-line{position:absolute;top:0;left:0;width:100%;height:170px}
.lanterns{position:absolute;top:0;left:0;right:0;height:170px}
.jack{position:absolute;width:clamp(34px,4.4vw,56px);transform:translateX(-50%)}
.jack svg{width:100%;overflow:visible}
.jack .face{opacity:.15;animation:light-up .5s ease-out forwards;animation-delay:calc(.35s + var(--i) * .14s)}
.jack svg{filter:drop-shadow(0 0 0 rgba(244,169,63,0));animation:glow .6s ease-out forwards;animation-delay:calc(.35s + var(--i) * .14s)}
@keyframes light-up{to{opacity:1}}
@keyframes glow{to{filter:drop-shadow(0 0 14px rgba(244,169,63,.75))}}
.hero-pt-inner{position:relative;display:flex;flex-direction:column;align-items:center}
.pt-name{font-family:var(--display);color:var(--lantern);font-size:1.15rem;margin-bottom:.6em}
.hero-pt h1{max-width:20ch;font-size:clamp(2.2rem,5.2vw,4rem);text-wrap:balance}
.hero-pt .lede{color:#e9ddf6;margin-inline:auto}
.hero-pt .hero-actions{justify-content:center}
.hero-pt .btn-ghost{color:#fff4dc}

.hl-v{color:var(--lantern)}
.highlights-row{justify-content:center;gap:56px}

.attraction{box-shadow:0 2px 0 var(--line)}
.attraction h3{color:var(--twilight)}
.attraction .cat{color:var(--moss)}
.attraction.cat-midway{background:#2a2456;color:#f2e8ff}
.attraction.cat-midway h3{color:var(--lantern)}
.attraction.cat-midway .tagline{color:#cbbde6}

.home-tickets{background:#fdecd0}
.tier-card.featured{outline:3px solid var(--pumpkin)}
.price{color:var(--pumpkin)}
.review blockquote{color:var(--twilight)}
.hiring-callout{background:#f3eafb;border-color:#e2d3f3}
.faq summary{font-family:var(--display);font-weight:400;font-size:1.2rem;color:var(--twilight)}
.page-head h1{color:var(--twilight)}
.site-footer .footer-name{color:var(--lantern)}
.notice.ok{background:var(--moss)}

.hero-pt h1{text-shadow:0 2px 18px rgba(0,0,0,.45)}
