.asc-halloween{font-family:inherit}.asc-halloween *{box-sizing:border-box}.asc-halloween .hc-hero{position:relative;isolation:isolate;overflow:hidden;background:#110c22;color:#fff}.asc-halloween .hc-copy{width:56%;min-height:560px;padding:75px 0 70px}.asc-halloween .hc-eyebrow{font-size:11px;letter-spacing:2.4px;color:#e9b3ff;font-weight:700}.asc-halloween h2{font-family:inherit;font-weight:800;font-size:44px;line-height:1.2;letter-spacing:-1.4px;margin:24px 0 20px;color:white}.asc-halloween h2 em{font-style:normal;color:#ffb773}.asc-halloween .hc-copy>p{font-size:14px;line-height:1.8;color:#cfc4de;max-width:450px;margin:0 0 24px}.asc-halloween .hc-coupon{display:flex;align-items:center;justify-content:space-between;max-width:367px;background:#ffffff09;border:1px dashed #aa7cba80;border-radius:9px;padding:13px 17px;margin-bottom:23px;gap:16px}.asc-halloween .hc-coupon small{display:block;font-size:8px;letter-spacing:1.5px;color:#c6afd6;margin-bottom:4px}.asc-halloween .hc-coupon strong{font-size:23px;letter-spacing:2px}.asc-halloween .hc-copy-code{background:#49355f;color:#fff;border:1px solid #ffffff15;border-radius:5px;font:inherit;font-size:11px;padding:10px 11px;white-space:nowrap;cursor:pointer}.asc-halloween .hc-cta{display:inline-block;background:#ff9e48;color:#2b1726;padding:15px 23px;border-radius:7px;font-weight:700;font-size:13px;text-decoration:none}.asc-halloween a:focus-visible,.asc-halloween button:focus-visible{outline:3px solid #ffbb81;outline-offset:3px}
.asc-halloween .hc-hero::before{content:'';position:absolute;pointer-events:none;z-index:0;top:0;bottom:0;left:auto;right:max(0px,calc((100% - 1580px)/2));width:min(1000px,85%);background:url('../img/halloween/hero-code.webp') center center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 33%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 33%,#000 78%,transparent 100%)}
.asc-halloween .hc-hero>.container{position:relative;z-index:1}
/* Reserve a separate artwork area below the copy. Its upper edge fades to
   the same dark surface as the text, including when the copy wraps. */
@media(max-width:1024px){
 .asc-halloween .hc-hero{--hc-art-height:clamp(320px,55vw,440px)}
 .asc-halloween .hc-copy{width:100%;max-width:650px;margin:0 auto;min-height:0;padding:42px 0 calc(var(--hc-art-height) + 24px)}
 .asc-halloween h2{font-size:38px}
 .asc-halloween .hc-copy>p{max-width:550px}
 .asc-halloween .hc-hero::before{left:0;right:auto;width:100%;height:var(--hc-art-height);top:auto;bottom:0;background-position:right bottom;background-size:auto 100%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 15%,#000 42%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 15%,#000 42%)}
}
@media(max-width:600px){
 .asc-halloween .hc-copy{padding-top:32px}
 .asc-halloween h2{font-size:34px;letter-spacing:-1px;margin:18px 0 14px}
 .asc-halloween .hc-copy>p{font-size:14px;line-height:1.75;margin-bottom:20px}
 .asc-halloween .hc-coupon{max-width:350px;padding:12px 14px;margin-bottom:20px;gap:12px}
 .asc-halloween .hc-coupon strong{font-size:21px;letter-spacing:1.5px}
 .asc-halloween .hc-copy-code{padding:10px}
}
@media(max-width:360px){.asc-halloween h2{font-size:30px}.asc-halloween .hc-coupon{padding:12px 10px;gap:8px}.asc-halloween .hc-coupon strong{font-size:19px}}

/* Mobile/tablet: artwork behind centered copy, with a minimum 65% dark overlay. */
@media(max-width:1024px){
 .asc-halloween .hc-hero::before{inset:0;width:100%;height:100%;background-image:linear-gradient(rgba(17,12,34,.65),rgba(17,12,34,.65)),url('../img/halloween/hero-code.webp');background-size:100% 100%,auto 115%;background-position:center,right center;background-repeat:no-repeat;-webkit-mask-image:none;mask-image:none;opacity:1}
 .asc-halloween .hc-copy{width:100%;max-width:650px;min-height:540px;padding:65px 0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto}
 .asc-halloween .hc-copy>p{max-width:550px;color:#f0eaf7}
 .asc-halloween .hc-coupon{width:367px;max-width:100%;text-align:center;background:rgba(17,12,34,.72)}
 .asc-halloween .hc-eyebrow{color:#f1d7ff}
}
@media(max-width:600px){
 .asc-halloween .hc-copy{min-height:520px;padding:46px 0}
 .asc-halloween .hc-hero::before{background-size:100% 100%,auto 100%;background-position:center,78% center}
 .asc-halloween .hc-copy>p{max-width:360px}
 .asc-halloween .hc-coupon{width:350px}
}

/* Peripheral scenery on wide screens; the main illustration remains separate. */
.asc-halloween .hc-edge-art{display:none;position:absolute;bottom:0;left:0;right:0;height:150px;z-index:1;pointer-events:none;background:url('../img/halloween/ground.webp') center bottom/100% auto no-repeat;opacity:.7;mask-image:linear-gradient(180deg,transparent,#000 70%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 70%)}
.asc-halloween .hc-edge-art span{display:none}
.asc-halloween .hc-hero::before{z-index:0}
.asc-halloween .hc-hero>.container{z-index:2}
@media(min-width:1440px){.asc-halloween .hc-edge-art{display:block}}
@media(min-width:1025px){.asc-halloween .hc-hero::before{filter:brightness(.85)}}
@keyframes hc-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.asc-halloween .hc-copy>*{animation:hc-enter .7s cubic-bezier(.22,1,.36,1) both}
.asc-halloween .hc-eyebrow{animation-delay:.04s}
.asc-halloween .hc-copy>h2{animation-delay:.12s}
.asc-halloween .hc-copy>p{animation-delay:.20s}
.asc-halloween .hc-coupon{animation-delay:.28s}
.asc-halloween .hc-cta{animation-delay:.36s}
@media(prefers-reduced-motion:reduce){.asc-halloween .hc-copy>*{animation:none!important}}

/* Saved Option 2: one spacious panoramic landscape. */
.asc-halloween.hc-panoramic .hc-edge-art{display:none}
.asc-halloween.hc-panoramic .hc-hero::before{inset:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(17,12,34,.18),transparent 65%),url('../img/halloween/panorama.webp') center/cover no-repeat;mask-image:none;-webkit-mask-image:none;opacity:1}
@media(min-width:1025px){
 .asc-halloween.hc-panoramic .hc-hero>.container{width:100%;max-width:1240px;padding-left:28px;padding-right:28px}
 .asc-halloween.hc-panoramic .hc-copy{width:48%;min-height:clamp(560px,33.333vw,800px);padding:64px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
 .asc-halloween.hc-panoramic h2{font-size:clamp(36px,3.1vw,48px)}
 .asc-halloween.hc-panoramic .hc-coupon{width:367px;max-width:100%;background:rgba(17,12,34,.72)}
}
@media(min-width:2000px){.asc-halloween.hc-panoramic .hc-hero>.container{max-width:1800px}}
@media(max-width:1024px){.asc-halloween.hc-panoramic .hc-hero::before{background-image:linear-gradient(rgba(17,12,34,.65),rgba(17,12,34,.65)),url('../img/halloween/panorama.webp');background-size:100% 100%,auto 100%;background-position:center,75% center;background-repeat:no-repeat}}
/* Mobile: ten percentage points darker than the previous 65% overlay. */
@media(max-width:600px){
 .asc-halloween .hc-hero::before{background-image:linear-gradient(rgba(17,12,34,.75),rgba(17,12,34,.75)),url('../img/halloween/hero-code.webp')}
 .asc-halloween.hc-panoramic .hc-hero::before{background-image:linear-gradient(rgba(17,12,34,.75),rgba(17,12,34,.75)),url('../img/halloween/panorama.webp')}
}
