/* Campaign details are loaded only on the homepage. */
.night-announcement{display:flex;align-items:center;justify-content:center;gap:16px;min-height:38px;padding:7px 18px;background:#ffac64;color:#211c17;font-size:11px;font-weight:750;letter-spacing:.1em;text-align:center}
.announcement-pumpkin{font-size:16px}.announcement-arrow{font-size:18px}
[data-season="halloween"] .site-nav .season-nav{color:#ffb873}
[data-season="halloween"] .halloween-hero{height:min(800px,calc(100svh - 124px));min-height:650px}
[data-season="halloween"] .site-language button{min-width:36px;min-height:40px}
.night-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.night-bat{position:absolute;width:40px;height:19px;background:#11191d;clip-path:polygon(0 32%,14% 0,33% 35%,43% 25%,50% 43%,57% 25%,67% 35%,86% 0,100% 32%,75% 63%,60% 61%,50% 100%,40% 61%,25% 63%);animation:bat-drift 8s ease-in-out infinite}
.bat-one{right:21%;top:13%;transform:rotate(-12deg)}.bat-two{right:30%;top:20%;width:25px;height:12px;animation-delay:-3s}.bat-three{right:12%;top:26%;width:30px;height:14px;animation-delay:-5s}
.ember{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffc88b;opacity:0;box-shadow:0 0 10px #ffac64;animation:ember-rise 9s ease-in-out infinite}
.ember-one{left:58%;bottom:12%}.ember-two{left:72%;bottom:15%;animation-delay:-2s}.ember-three{left:87%;bottom:20%;animation-delay:-4s}.ember-four{left:48%;bottom:26%;animation-delay:-6s}
@keyframes bat-drift{0%,100%{translate:0 0}50%{translate:14px -9px}}
@keyframes ember-rise{0%{translate:0 10px;opacity:0}20%{opacity:.6}80%{opacity:.2}100%{translate:24px -95px;opacity:0}}
.night-gridline{min-height:56px;padding:14px max(48px,calc((100% - 1344px)/2));display:flex;gap:35px;align-items:center;border-bottom:1px solid var(--line);color:#a8b49f;font-size:10px;letter-spacing:.15em;background:#161b15}
.night-gridline>span:first-child{color:#ffb675;font-weight:800}.night-gridline i{height:1px;background:#c4ccb329;flex:1}
.night-circuit{padding-block:84px 76px;scroll-margin-top:24px}
.circuit-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end;margin-bottom:38px}
.circuit-intro>.eyebrow{grid-column:1/-1;margin-bottom:20px}
.circuit-intro h2{font-size:clamp(36px,3.7vw,54px);font-weight:750;line-height:1.22;letter-spacing:.025em;margin:0}
.circuit-intro h2>span{display:block}.circuit-intro h2>span:last-child{color:#ffb26c}
.circuit-intro>p{max-width:420px;margin:0 0 4px;font-size:14px;line-height:1.95;color:#abb5a1}
.circuit-explorer{display:grid;grid-template-columns:1.15fr 1fr;border-block:1px solid var(--line);min-height:450px}
.circuit-map{position:relative;display:flex;align-items:center;min-width:0;background:radial-gradient(ellipse at 48% 55%,#f2a5570c,transparent 60%),repeating-linear-gradient(0deg,transparent 0 43px,#b1c7bb08 44px 45px),repeating-linear-gradient(90deg,transparent 0 43px,#b1c7bb08 44px 45px),#151d1b;border-right:1px solid var(--line);padding:30px 0}
.map-caption,.map-legend{position:absolute;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;color:#82958b;font-size:9px;letter-spacing:.12em}.map-caption{top:22px}.map-caption>span:first-child{color:#bacbb9}.map-legend{bottom:22px;font-size:10px;letter-spacing:.03em}.map-legend>span:first-child{display:flex;align-items:center;gap:8px}.map-legend i{display:inline-block;width:18px;height:2px;background:#f0a969}
.circuit-map svg{width:100%;height:auto;display:block;overflow:visible}.circuit-line,.circuit-glow{fill:none;stroke:#eaaa6d;stroke-linejoin:round}.circuit-line{stroke-width:3}.circuit-glow{stroke-width:18;opacity:.09}.circuit-marker .marker-halo{fill:#ffab6122;opacity:0;stroke:#ffc88866;stroke-width:1}.circuit-marker .marker-core{fill:#65746c;stroke:#141f1a;stroke-width:3}.circuit-marker.is-active .marker-halo{opacity:1}.circuit-marker.is-active .marker-core{fill:#ffd7a8}.circuit-marker text{fill:#9cb3a0;font-size:13px;font-weight:700;letter-spacing:.06em}.circuit-marker.is-active text{fill:#ffd7a8}
.circuit-story{padding:26px 32px 0;display:flex;flex-direction:column;min-width:0;background:#161a15}
.circuit-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border-bottom:1px solid var(--line);padding-bottom:19px}
.circuit-tabs button{min-width:0;min-height:62px;border:1px solid transparent;border-left:2px solid #556251;background:transparent;color:#96a58c;text-align:left;padding:7px 9px;transition:background .18s,border-color .18s}
.circuit-tabs button>span{display:block;font-size:9px;letter-spacing:.13em;margin-bottom:7px}.circuit-tabs b{font-size:12px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
.circuit-tabs button[aria-selected="true"]{background:#ffad6410;border-color:#ffad6444;border-left-color:#ffb675;color:#ffcf9f}
.circuit-tabs button:hover{background:#ffad640c;color:#ffcf9f}
.circuit-detail{padding:32px 0 26px;flex:1;min-height:245px}.stop-kicker{font-size:9px;letter-spacing:.15em;color:#c28e60}
.circuit-detail h3{font-size:24px;line-height:1.4;font-weight:650;color:#e4e9db;margin:15px 0 16px}.circuit-detail>p{color:#a7b59f;font-size:13px;line-height:1.95;max-width:430px;margin:0}
.stop-tip{display:flex;gap:12px;margin-top:23px;color:#d4bd9f;font-size:11px;line-height:1.7}.stop-tip>span:first-child{font-size:22px;line-height:1}
.circuit-start{border-top:1px solid var(--line);min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#ffc082;font-size:12px;font-weight:650;line-height:1.5}.circuit-start:hover{color:#ffe2c1}
.night-invitation{display:grid;grid-template-columns:70px 1fr auto;gap:30px;align-items:center;padding:34px 0 44px;border-bottom:1px solid var(--line)}
.invitation-pumpkin svg{width:70px;color:#ffaf6c}.night-invitation .eyebrow{font-size:9px;letter-spacing:.12em}.night-invitation h2{font-size:25px;line-height:1.5;font-weight:650;margin:10px 0 11px}.night-invitation p{color:#98a58f;font-size:12px;line-height:1.9;max-width:550px;margin:0}.night-invitation .button-primary{min-width:210px;font-size:12px}
[data-season="halloween"] .site-footer>a{display:inline-flex;align-items:center;min-height:44px;color:#d0a77c}
@media(max-width:1000px){.circuit-explorer{grid-template-columns:1fr 1fr}.circuit-story{padding-inline:22px}.circuit-tabs{gap:0}.circuit-tabs button{padding-inline:7px}.circuit-intro{gap:35px}.night-invitation{grid-template-columns:55px 1fr;gap:22px}.invitation-pumpkin svg{width:55px}.night-invitation>.button{grid-column:2;justify-self:start}.night-announcement{font-size:10px}.night-gridline{padding-inline:40px}}
@media(max-width:800px){[data-season="halloween"] .halloween-hero{height:calc(100svh - 114px)}.night-circuit{padding-block:55px}.circuit-intro{grid-template-columns:1fr;gap:20px}.circuit-intro>.eyebrow{margin-bottom:0}.circuit-intro h2>span{display:inline}.circuit-intro>p{max-width:550px}.circuit-explorer{grid-template-columns:1fr}.circuit-map{border-right:0;border-bottom:1px solid var(--line);min-height:300px;max-height:420px}.circuit-map svg{max-height:360px}.circuit-story{padding:24px 26px 0}.circuit-detail{min-height:220px}.circuit-tabs button{padding:8px 12px}.circuit-tabs b{font-size:13px}.night-gridline{padding-inline:24px;gap:20px}}
@media(max-width:600px){.night-announcement{min-height:36px;font-size:9px;letter-spacing:.03em;gap:10px;padding-inline:14px}[data-season="halloween"] .site-nav{gap:14px}[data-season="halloween"] .site-nav .season-nav{display:none}[data-season="halloween"] .site-language button{min-width:28px;min-height:40px}[data-season="halloween"] .halloween-hero{height:calc(100svh - 106px);min-height:650px}[data-season="halloween"] .hero-play-note{font-size:8px}.night-gridline{min-height:45px;padding-block:12px;font-size:8px;gap:15px}.night-gridline>span:last-child{display:none}.night-circuit{padding-block:42px}.circuit-intro{margin-bottom:28px;gap:17px}.circuit-intro h2{font-size:32px}.circuit-intro h2>span{display:block}.circuit-intro>p{font-size:12px}.circuit-map{min-height:285px;padding-block:30px}.map-caption,.map-legend{left:18px;right:18px;font-size:8px}.circuit-story{padding:19px 18px 0}.circuit-tabs b{font-size:11px}.circuit-tabs button{min-height:60px;padding-inline:7px}.circuit-detail{padding-block:25px;min-height:240px}.circuit-detail h3{font-size:22px;margin-block:12px}.circuit-detail>p{font-size:12px}.stop-kicker{font-size:8px;letter-spacing:.09em}.stop-tip{font-size:10px;margin-top:18px}.circuit-start{min-height:62px;font-size:11px}.night-invitation{grid-template-columns:42px 1fr;padding-block:14px 34px;gap:18px}.invitation-pumpkin{align-self:start;padding-top:4px}.invitation-pumpkin svg{width:42px}.night-invitation .eyebrow{font-size:7px;white-space:normal}.night-invitation h2{font-size:21px}.night-invitation p{font-size:11px}.night-invitation>.button{grid-column:1/-1;justify-self:stretch}.bat-one{right:28%;top:9%}.bat-two{right:12%;top:16%}.bat-three{display:none}[data-season="halloween"] .site-footer{gap:18px;font-size:8px}}
@media(max-width:370px){[data-season="halloween"] .site-nav a[href="./garage.html"]{display:none}.night-announcement{font-size:8px;gap:8px}.circuit-intro h2{font-size:29px}.circuit-tabs b{font-size:10px}}
@media(orientation:landscape) and (max-height:550px) and (max-width:1100px){.night-announcement{min-height:30px;padding-block:4px;font-size:9px}[data-season="halloween"] .halloween-hero{min-height:315px;height:calc(100svh - 86px)}[data-season="halloween"] .site-language button{min-height:36px}.night-gridline{min-height:42px}.night-circuit{padding-block:40px}.circuit-intro{grid-template-columns:1fr 1fr}.circuit-intro h2{font-size:30px}.circuit-intro h2>span{display:block}.circuit-explorer{grid-template-columns:1fr 1fr}.circuit-map{border-right:1px solid var(--line);border-bottom:0;min-height:310px;max-height:none}.circuit-detail{min-height:245px}.circuit-tabs b{font-size:10px}.night-invitation{grid-template-columns:45px 1fr auto}.night-invitation>.button{grid-column:auto}.night-invitation h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.night-bat,.ember{animation:none!important}.ember{opacity:.25}.night-announcement:focus{scroll-behavior:auto}}
