/* One removable seasonal layer. The everyday design remains untouched. */
.halloween-season { --first-clean-offer-height:var(--halloween-offer-height,34px) !important; --halloween-amber:#ffb45f; --halloween-cream:#fff2da; --halloween-lilac:#d2bbf7; }
.halloween-season #top { scroll-margin-top:var(--public-header-height); }
.halloween-season .site-header { border-bottom-color:#614436; }
.halloween-season .site-header > .first-clean-offer { display:none; }
.halloween-banner { position:absolute; top:0; left:0; width:100%; min-height:34px; padding:7px 18px; display:flex; align-items:center; justify-content:center; gap:16px; background:#f3ac62; color:#271729; font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:.04em; }
.halloween-banner strong { font-weight:800; }
.halloween-banner__code { font-weight:800; border-left:1px solid #714c3980; padding-left:16px; }
.halloween-banner:hover { background:#ffc580; }
.halloween-season .site-header > .button { background:var(--halloween-amber); color:#211522; }
.halloween-season .home-page .hero { min-height:760px; display:block; padding:78px max(6vw,24px) 48px; background:radial-gradient(ellipse at 81% 51%,#53305270,transparent 55%),radial-gradient(ellipse at 62% 100%,#b1592930,transparent 46%),#11101d; border-bottom:1px solid #5b3f3a; isolation:isolate; }
.halloween-season .home-page .hero > .hero-copy,
.halloween-season .home-page .hero > .hero-art,
.halloween-season .home-page .hero > .spark { display:none; }
.halloween-copy { position:relative; z-index:2; width:min(58%,740px); }
.halloween-eyebrow { margin:0 0 25px; font:600 11px/1.6 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.19em; color:var(--halloween-lilac); display:flex; align-items:center; gap:10px; }
.halloween-copy h1 { font:500 clamp(62px,6.6vw,102px)/.98 'Space Grotesk',sans-serif; letter-spacing:-.065em; margin:0 0 25px; color:var(--halloween-cream); }
.halloween-copy h1 em { font-style:normal; color:var(--halloween-amber); }
.halloween-intro { font:400 19px/1.55 'DM Sans',sans-serif; margin:0 0 10px; color:#ded2e3; }
.halloween-location { margin:0 0 28px; font-size:12px; color:#a79aaa; }
.halloween-offer { display:grid; grid-template-columns:110px minmax(0,1fr); gap:0 22px; max-width:500px; padding:20px 25px 16px; background:linear-gradient(115deg,#32212bfa,#211a2cf2); border:1px solid #d7965799; border-radius:16px; box-shadow:0 0 34px #f9952920; animation:halloween-glow 4s ease-in-out 1; scroll-margin-top:170px; }
.halloween-offer__amount { display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid #9a704e66; padding-right:23px; color:var(--halloween-amber); }
.halloween-offer__amount strong { font:600 70px/.95 'Space Grotesk',sans-serif; letter-spacing:-.07em; }
.halloween-offer__amount strong span { font-size:33px; vertical-align:top; position:relative; top:6px; margin-left:3px; }
.halloween-offer__amount > span { font-size:11px; font-weight:800; letter-spacing:.32em; margin-top:7px; max-width:86px; text-align:center; overflow-wrap:normal; }
.halloween-offer__details { display:flex; flex-direction:column; justify-content:center; }
.halloween-offer__details p { margin:0; font-size:12px; color:#d5c4d9; }
.halloween-offer__details p:first-child { color:var(--halloween-amber); text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:700; }
.halloween-offer__details h2 { font:500 21px/1.15 'Space Grotesk',sans-serif; margin:7px 0; color:var(--halloween-cream); letter-spacing:-.02em; }
.halloween-code { display:flex; flex-wrap:wrap; grid-column:1/-1; align-items:center; justify-content:space-between; gap:7px; margin-top:17px; padding-top:13px; border-top:1px dashed #a8877070; }
.halloween-code > span:first-child { font-size:11px; color:#d5c4d9; }
.halloween-copy-code { display:flex; align-items:center; gap:11px; min-height:44px; padding:8px 11px; border:1px solid #b8947180; background:#17141f; color:var(--halloween-cream); cursor:pointer; border-radius:6px; }
.halloween-copy-code b { font:700 15px 'Space Grotesk',sans-serif; letter-spacing:.12em; }
.halloween-copy-label { font-size:10px; color:#d5c4d9; }
.halloween-copy-code:hover { background:#342438; border-color:#ffb45f; }
.halloween-copy-code:focus-visible,.halloween-terms summary:focus-visible,.halloween-banner:focus-visible { outline:3px solid var(--halloween-lilac); outline-offset:4px; }
.halloween-copy-result { font-size:11px; color:#f5d7ac; width:100%; }
.halloween-copy-result:empty { display:none; }
.halloween-actions { display:flex; align-items:center; gap:25px; margin:25px 0 16px; }
.halloween-actions .button { background:var(--halloween-amber); color:#211522; gap:25px; border-radius:5px; padding:18px 22px; }
.halloween-actions .button:hover { background:#ffcc8b; }
.halloween-services { font-size:12px; color:#e5c9fa; }
.halloween-services span { margin-left:8px; }
.halloween-terms { max-width:500px; font-size:11px; color:#b5a8bd; }
.halloween-terms summary { cursor:pointer; width:fit-content; min-height:30px; }
.halloween-terms p { margin:2px 0 0; line-height:1.7; color:#d7cadc; }
.halloween-scene { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; user-select:none; }
.halloween-scene__art { position:absolute; width:57%; height:auto; right:-2%; top:6%; filter:drop-shadow(0 30px 40px #0005); }
.halloween-web { position:absolute; width:210px; opacity:.6; pointer-events:none; }
.halloween-web--right { top:0; right:0; transform:scaleX(-1); }
.halloween-spider { position:absolute; width:46px; height:auto; pointer-events:none; transform-origin:50% 0; }
.halloween-spider--one { right:7%; top:-6px; animation:halloween-crawl 4s ease-in-out 1; }
.halloween-spider--two { right:43%; top:-28px; width:30px; animation:halloween-crawl 4s ease-in-out 1; }
.halloween-season .home-page .services { background:linear-gradient(180deg,#191724,#111824); }
.halloween-season .home-page .services .eyebrow,
.halloween-season .home-page .services .service-count { color:var(--halloween-amber); }
.halloween-season .home-page .services .card:hover { background:#252033; }
/* Decorative motion ends after four seconds; reduced motion stays fully static. */
@keyframes halloween-glow { 0%,100% { box-shadow:0 0 24px #f9952915; } 50% { box-shadow:0 0 38px #f9952940; } }
@keyframes halloween-crawl { 0%,100% { transform:translateY(0) rotate(-5deg); } 45% { transform:translateY(85px) rotate(7deg); } 60% { transform:translateY(75px) rotate(1deg); } }
@media (max-width:1000px) and (min-width:701px) { .halloween-copy { width:62%; } .halloween-scene__art { right:-12%; width:65%; top:15%; } .halloween-copy h1 { font-size:72px; } }
@media (max-width:700px) {
 .halloween-banner { font-size:10px; gap:8px; padding:7px 10px; letter-spacing:0; }
 .halloween-banner > span:first-child { display:none; }
 .halloween-banner__code { padding-left:8px; white-space:nowrap; }
 .halloween-season .home-page .hero { padding:36px 24px 68px; min-height:0; }
 .halloween-copy { width:100%; }
 .halloween-eyebrow { font-size:9px; letter-spacing:.12em; margin-bottom:18px; }
 .halloween-copy h1 { font-size:clamp(49px,11vw,72px); line-height:1.02; max-width:100%; margin-bottom:18px; }
 .halloween-intro { font-size:15px; max-width:72%; }
 .halloween-location { font-size:10px; max-width:60%; margin-bottom:26px; }
 .halloween-scene__art { width:250px; max-width:none; top:88px; right:-87px; opacity:.9; }
 .halloween-web { width:100px; opacity:.4; }
 .halloween-spider--one { right:11px; width:30px; }
 .halloween-spider--two { display:none; }
 .halloween-offer { grid-template-columns:105px minmax(0,1fr); padding:18px 18px 12px; gap:0 16px; position:relative; background:linear-gradient(115deg,#32212b,#211a2c); }
 .halloween-offer__amount { padding-right:17px; }
 .halloween-offer__amount strong { font-size:58px; }
 .halloween-offer__details h2 { font-size:19px; }
 .halloween-offer__details p { font-size:11px; }
 .halloween-offer__details p:first-child { font-size:9px; }
 .halloween-actions { gap:18px; }
 .halloween-actions .button { font-size:10px; padding:17px 16px; gap:14px; }
 .halloween-services { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .halloween-spider,.halloween-offer { animation:none !important; } .halloween-actions .button { transition:none; } }
