.halloween-page{position:relative;background:var(--halloween-ink);color:var(--halloween-cream);overflow:hidden}
.halloween-page h1,.halloween-page h2,.halloween-page h3{letter-spacing:var(--heading-letter-spacing,1px)}
.halloween-kicker{margin:0 0 18px;color:var(--halloween-orange);font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.halloween-hero{position:relative;min-height:690px;padding:70px 0 74px;background:var(--halloween-ink);isolation:isolate;overflow:hidden}
.halloween-hero-slider{position:relative;z-index:2}
.halloween-hero__slide[hidden]{display:none}
.halloween-hero__slide.is-active{animation:halloween-hero-enter .42s ease both}
.halloween-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(50px,7vw,110px);align-items:center}
.halloween-hero__copy{grid-column:2;grid-row:1;position:relative;z-index:4}
.halloween-hero__copy h1{max-width:620px;margin:0 0 22px;color:var(--halloween-cream);font-size:clamp(3rem,4.25vw,4.75rem);line-height:.92;text-transform:uppercase}
.halloween-hero__copy h1 a{color:inherit}
.halloween-hero__title-accent{color:var(--halloween-purple)}
.halloween-hero__text{max-width:540px;margin:0;color:rgba(243,240,231,.82);font-size:1.06rem;line-height:1.55}
.halloween-hero__actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.halloween-button{--halloween-button-outline:var(--halloween-cream);position:relative;isolation:isolate;display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:0 30px;border:0;border-radius:0;background:transparent;color:var(--halloween-ink);font-family:var(--font-heading);font-size:.95rem;line-height:1;text-transform:uppercase;letter-spacing:var(--heading-letter-spacing,1px);box-shadow:none;transform:rotate(-.8deg);transition:transform .18s ease}
.halloween-button::before,.halloween-button::after{content:"";position:absolute;z-index:-2;clip-path:polygon(2% 7%,96% 1%,100% 17%,98% 88%,94% 100%,4% 96%,0 80%,1% 18%)}
.halloween-button::before{inset:-2px;background:var(--halloween-button-outline)}
.halloween-button::after{z-index:-1;inset:1px;background:var(--halloween-yellow);clip-path:polygon(2% 9%,97% 2%,99% 20%,97% 87%,94% 98%,4% 95%,1% 78%,2% 17%)}
.halloween-button:hover{transform:rotate(.6deg) translateY(-2px) scale(1.015)}
.halloween-button span{color:var(--halloween-ink)}
.halloween-link{font-weight:800;text-decoration:underline;text-decoration-color:var(--halloween-orange);text-decoration-thickness:2px;text-underline-offset:6px}
.halloween-link span{color:var(--halloween-orange);font-size:1.25em}
.halloween-hero__media{grid-column:1;grid-row:1;position:relative;min-height:560px}
.halloween-hero__photo{position:absolute;z-index:2;inset:74px 0 0 0;overflow:hidden;border:4px solid var(--halloween-cream);border-radius:48% 52% 12% 12% / 22% 23% 8% 8%;background:#b65c25;transform:rotate(-1.5deg)}
.halloween-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.halloween-moon{position:absolute;z-index:1;left:-52px;top:-5px;width:220px;height:220px;border-radius:50%;background:var(--halloween-orange);box-shadow:0 0 0 8px rgba(255,107,26,.12)}
.halloween-bats{position:absolute;z-index:4;right:-10px;top:15px;width:220px;fill:var(--halloween-orange)}
.halloween-hero__sticker{position:absolute;z-index:5;right:-28px;bottom:24px;display:grid;width:145px;height:145px;place-items:center;align-content:center;border:3px solid var(--halloween-ink);border-radius:50%;background:var(--halloween-orange);color:var(--halloween-ink);text-align:center;transform:rotate(7deg)}
.halloween-hero__sticker small{font-weight:800;text-transform:uppercase}
.halloween-hero__sticker strong{max-width:105px;font-family:var(--font-heading);font-size:1.6rem;line-height:.95;text-transform:uppercase}
.halloween-hero-slider__controls{position:relative;z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:26px}
.halloween-hero-slider__controls>button{display:grid;width:40px;height:40px;place-items:center;padding:0;border:2px solid var(--halloween-cream);border-radius:50%;background:transparent;color:var(--halloween-cream);font-weight:900;line-height:1;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.halloween-hero-slider__controls>button:hover{background:var(--halloween-orange);color:var(--halloween-ink);transform:rotate(-4deg)}
.halloween-hero-slider__dots{display:flex;align-items:center;gap:8px;padding:0 4px}
.halloween-hero-slider__dots button{width:10px;height:10px;padding:0;border:1.5px solid var(--halloween-cream);border-radius:50%;background:transparent;cursor:pointer;transition:width .18s ease,background-color .18s ease}
.halloween-hero-slider__dots button[aria-selected="true"]{width:25px;border-radius:7px;background:var(--halloween-orange)}
@keyframes halloween-hero-enter{from{opacity:.25;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.halloween-web{position:absolute;z-index:1;fill:none;stroke:var(--halloween-orange);stroke-width:4;opacity:.82}
.halloween-web--top{right:-52px;top:-42px;width:390px;transform:rotate(90deg)}
.halloween-marquee{position:relative;z-index:5;overflow:hidden;border-block:3px solid var(--halloween-ink);background:var(--halloween-orange);color:var(--halloween-ink)}
.halloween-marquee>div{display:flex;width:100%;align-items:center;justify-content:center;gap:26px;min-height:68px;padding:0 24px;font-family:var(--font-heading);font-size:1.25rem;text-transform:uppercase;letter-spacing:var(--heading-letter-spacing,1px);white-space:nowrap}
.halloween-marquee i{color:var(--halloween-cream);font-style:normal}
.halloween-featured{padding:78px 0 68px;background:var(--halloween-cream);color:var(--halloween-ink)}
.halloween-featured__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:18px}
.halloween-featured__heading>div{max-width:880px}
.halloween-featured__heading h2{margin:0;font-size:clamp(3rem,4.8vw,5.25rem);line-height:.9;text-transform:uppercase}
.halloween-featured__heading>p{max-width:470px;margin:0;font-size:1rem;line-height:1.6}
.halloween-featured__rail-wrap{position:relative}
.halloween-featured__rail{grid-auto-columns:calc((100% - 72px)/4);padding-top:46px}
.halloween-featured__rail .product-card__media{height:300px}
.halloween-featured__rail img.product-card__image{top:15%;left:0;width:100%;height:85%;box-sizing:border-box;border:3px solid var(--halloween-ink);border-radius:45% 55% 12% 12% / 25% 25% 8% 8%;object-fit:cover;object-position:center;filter:none}
.halloween-featured__rail .product-card__media:hover img.product-card__image{transform:none}
.halloween-featured__rail .product-card__info{gap:12px;padding-top:17px;text-align:left;justify-content:space-between}
.halloween-featured__rail .product-card__info h3{font-size:1.08rem}
.halloween-featured__rail .product-card__backdrop{background:var(--halloween-orange);border-radius:45% 55% 12% 12% / 25% 25% 8% 8%}
.halloween-featured__rail .product-card:nth-child(3n+2) .product-card__backdrop{background:#a8d5dc}
.halloween-featured__rail .product-card:nth-child(3n+3) .product-card__backdrop{background:var(--halloween-pink)}
.halloween-featured__rail .quick-add__button{color:var(--halloween-ink)}
.halloween-featured__rail-wrap>.rail-arrow{top:49%;border:2px solid var(--halloween-ink);background:var(--halloween-orange);color:var(--halloween-ink);box-shadow:none}
.halloween-featured__rail--empty{display:block;max-width:820px;padding-top:40px}
.halloween-featured__placeholder{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:34px;min-height:245px;padding:24px 38px;border-radius:46px;background:#a8d5dc;overflow:hidden}
.halloween-featured__placeholder-art{position:relative;min-height:205px}
.halloween-featured__placeholder-art::before{content:"";position:absolute;inset:52px 3% 0;border-radius:36px;background:var(--halloween-orange)}
.halloween-featured__placeholder-art img{position:absolute;z-index:2;inset:-12% 0 0;width:100%;height:116%;object-fit:contain;filter:drop-shadow(0 14px 10px rgba(32,32,30,.15))}
.halloween-featured__placeholder h3{max-width:430px;margin:0 0 10px;font-size:clamp(2rem,3.2vw,3.25rem);line-height:.92;text-transform:uppercase}
.halloween-featured__placeholder p{max-width:430px;margin:0;line-height:1.5}
@media (max-width:990px){
  .halloween-hero__grid{grid-template-columns:1fr}.halloween-hero__copy{grid-column:1;grid-row:1}.halloween-hero__media{grid-column:1;grid-row:2}.halloween-hero-slider__controls{justify-content:flex-end;margin-top:18px}.halloween-marquee>div{width:max-content;justify-content:flex-start}.halloween-featured__heading{align-items:flex-start;flex-direction:column;gap:22px}.halloween-featured__rail{grid-auto-columns:minmax(280px,47%)}
}

@media (max-width:700px){
  .halloween-hero{min-height:0;padding:22px 0 42px}.halloween-hero__grid{gap:8px}.halloween-hero__copy{grid-column:1;grid-row:1}.halloween-hero__copy h1{font-size:2.8rem}.halloween-hero__text{font-size:1rem}.halloween-hero__actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:22px}.halloween-hero__media{grid-column:1;grid-row:2;min-height:310px}.halloween-hero__photo{inset:12px 0 0}.halloween-hero-slider__controls{justify-content:center;margin-top:16px}.halloween-moon{left:-30px;width:135px;height:135px}.halloween-bats{right:-10px;width:135px}.halloween-hero__sticker{right:-7px;bottom:6px;width:100px;height:100px}.halloween-hero__sticker strong{font-size:1.05rem}.halloween-web--top{width:250px}.halloween-marquee>div{min-height:56px;font-size:1rem}.halloween-featured{padding:60px 0 48px}.halloween-featured__heading h2{font-size:3.15rem}.halloween-featured__rail{grid-auto-columns:minmax(245px,82%);padding-top:38px}.halloween-featured__rail .product-card__media{height:280px}.halloween-featured__rail-wrap>.rail-arrow{display:none}.halloween-featured__placeholder{grid-template-columns:1fr;gap:12px;min-height:0;padding:22px 20px 25px;border-radius:36px}.halloween-featured__placeholder-art{min-height:190px}
}
