.halloween-page{--spooky:#241a38;--moon:#d7f347;--pumpkin:#ff8b43;max-width:1120px}
.halloween-hero{position:relative;min-height:560px;overflow:hidden;border:2px solid #181818;background:var(--spooky);color:white;display:flex;align-items:end;margin:24px 0 18px;box-shadow:10px 10px 0 #181818}
.halloween-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.83}
.halloween-hero:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(15,9,25,.92))}
.halloween-hero-copy{position:relative;z-index:1;padding:clamp(25px,5vw,66px);max-width:850px}
.halloween-hero .eyebrow{color:var(--moon);letter-spacing:.13em;text-transform:uppercase}
.halloween-hero h1{font-size:clamp(43px,7vw,93px);line-height:.94;letter-spacing:-.065em;margin:18px 0}
.halloween-hero h1 em{color:var(--moon)}
.halloween-hero p{font-size:clamp(18px,2vw,23px);line-height:1.35;max-width:650px}
.halloween-byline{display:flex;flex-wrap:wrap;gap:10px 28px;font:12px 'DM Mono',monospace;text-transform:uppercase;padding:22px 0;border-bottom:2px solid #181818}
.halloween-intro{max-width:820px;margin:54px auto;font-size:clamp(18px,2vw,22px);line-height:1.65}
.halloween-intro strong{background:var(--moon);box-shadow:4px 0 var(--moon),-4px 0 var(--moon)}
.halloween-toc{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 55px}
.halloween-toc a{padding:10px 14px;border:2px solid #181818;color:#181818;text-decoration:none;background:#fff;box-shadow:3px 3px 0 #181818;font:12px 'DM Mono',monospace}
.halloween-toc a:hover,.halloween-toc a:focus-visible{background:var(--moon);transform:translateY(-3px)}
.halloween-section{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;border-top:2px solid #181818;padding:45px 0}
.halloween-section .number{font:700 45px 'Space Grotesk',sans-serif;color:var(--pumpkin)}
.halloween-section h2{font-size:clamp(30px,4vw,51px);letter-spacing:-.055em;line-height:1.05;margin:0 0 18px}
.halloween-section p,.halloween-section li{font-size:18px;line-height:1.65;max-width:760px}
.halloween-section a,.halloween-intro a,.halloween-after a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
.halloween-section ul{padding-left:24px}
.halloween-stamp{display:inline-block;border:2px solid #181818;background:var(--moon);font:700 12px 'DM Mono',monospace;padding:8px 12px;text-transform:uppercase;transform:rotate(-2deg);margin-bottom:12px}
.halloween-quote{margin:35px 0;padding:24px 30px;background:#241a38;color:#fff;border-left:9px solid var(--pumpkin);font-size:clamp(21px,3vw,31px);font-weight:700;line-height:1.25}
.halloween-quote strong{color:var(--moon)}
.halloween-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}
.halloween-mini-card{border:2px solid #181818;padding:20px;background:#fff;box-shadow:5px 5px 0 #181818;transition:transform .2s}
.halloween-mini-card:hover{transform:translateY(-6px) rotate(-1deg)}
.halloween-mini-card b{font-size:24px;line-height:1.1;display:block}
.halloween-mini-card p{font-size:15px;line-height:1.45;margin-bottom:0}
.halloween-checks{display:grid;gap:9px;margin:20px 0}.halloween-checks label{border:2px solid #181818;background:#fff;padding:14px 16px;display:flex;gap:12px;align-items:start;cursor:pointer}.halloween-checks label:has(input:checked){background:var(--moon)}.halloween-checks input{accent-color:#241a38;width:20px;height:20px;flex:none}
.halloween-progress{height:12px;border:2px solid #181818;margin:20px 0 9px;background:#fff}.halloween-progress span{display:block;width:0;height:100%;background:var(--pumpkin);transition:width .35s}.halloween-score{font:700 12px 'DM Mono',monospace;text-transform:uppercase}
.halloween-after{background:var(--moon);border:2px solid #181818;box-shadow:7px 7px 0 #181818;padding:clamp(24px,4vw,45px);margin:30px 0 58px}.halloween-after h2{font-size:clamp(32px,4vw,50px);margin:0 0 12px}.halloween-after p{font-size:18px;line-height:1.6;max-width:780px}
.halloween-source{font-size:13px!important}
@media (prefers-reduced-motion:no-preference){.halloween-hero img{animation:halloween-drift 12s ease-in-out infinite alternate}.halloween-section{animation:halloween-enter .6s both;animation-timeline:view();animation-range:entry 0% entry 30%}@keyframes halloween-drift{from{transform:scale(1)}to{transform:scale(1.06) translateX(-1.5%)}}@keyframes halloween-enter{from{opacity:.45;transform:translateY(24px)}to{opacity:1;transform:none}}}
@media(max-width:760px){.halloween-hero{min-height:500px}.halloween-section{grid-template-columns:1fr;gap:3px}.halloween-section .number{font-size:27px}.halloween-card-grid{grid-template-columns:1fr}.halloween-intro{margin:35px 0}}

.halloween-figure{margin:15px 0 55px;border:2px solid #181818;box-shadow:8px 8px 0 #181818;background:#241a38;overflow:hidden}.halloween-figure img{width:100%;height:auto;display:block}.halloween-figure figcaption{padding:12px 18px;color:#fff;font:12px 'DM Mono',monospace;line-height:1.5}
