/* Full-viewport homepage campaigns. Legacy CMS IDs remain available to category intros. */
body #top > section#hero:not(.category-hero){display:block;position:relative;padding:0;gap:0;min-height:0;max-width:none;overflow:hidden;background:#f4ede3}
body #top > section#hero:not(.category-hero)>.hero-copy{display:none}
body #top > section#hero:not(.category-hero)~.hero-transition{display:none}
body #top > section#hero:not(.category-hero) .hero-carousel{position:relative;display:block;width:100%;height:max(480px,calc(100svh - var(--hero-top,180px)));min-height:0;border-radius:0;box-shadow:none;background:#f4ede3;overflow:hidden;isolation:isolate}
body #top > section#hero .hero-carousel[hidden],body #top > section#hero .hero-carousel-slide[hidden]{display:none!important}
body #top > section#hero .hero-carousel-images{height:100%;position:relative}
body #top > section#hero .hero-carousel-slide{--campaign-bg:#f3ede4;--campaign-accent:#ed1420;position:absolute;inset:0;display:flex;align-items:center;background:var(--campaign-bg);overflow:hidden}
body #top > section#hero .hero-carousel-slide:nth-child(2){--campaign-bg:#ede7dc;--campaign-accent:#174964}
body #top > section#hero .hero-carousel-slide:nth-child(3){--campaign-bg:#f5e8e2;--campaign-accent:#b92442}
body #top > section#hero .hero-carousel-slide:nth-child(4){--campaign-bg:#edeae4;--campaign-accent:#b03d10}
body #top > section#hero .hero-carousel-slide img{position:absolute;inset:0 0 0 auto;display:block;width:65%;height:100%;min-height:0;object-fit:cover;object-position:center;border-radius:0}
body #top > section#hero .hero-carousel-slide::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--campaign-bg) 0%,var(--campaign-bg) 30%,transparent 75%)}
body #top > section#hero .hero-offer{position:relative;z-index:1;width:min(60%,850px);box-sizing:border-box;padding:44px 0 110px max(32px,calc((100vw - 1392px)/2));color:#171717}
body #top > section#hero .hero-offer .offer-kicker{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--campaign-accent);margin:0 0 22px}
body #top > section#hero .offer-kicker::before{content:"";width:30px;height:2px;background:currentColor}
body #top > section#hero .hero-offer h2{font-size:clamp(52px,6vw,104px);line-height:.97;letter-spacing:-.065em;font-weight:800;margin:0 0 22px;max-width:14ch;overflow-wrap:normal;text-wrap:balance}
body #top > section#hero .hero-offer h2 em{font-style:normal;color:var(--campaign-accent)}
body #top > section#hero .hero-offer .offer-detail{font-size:clamp(16px,1.25vw,20px);line-height:1.5;max-width:35ch;margin:0 0 26px;color:#3a3835;text-wrap:pretty}
body #top > section#hero .hero-offer .offer-action{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;min-height:54px;padding:16px 24px;box-sizing:border-box;border-radius:6px;background:#171717;color:#fff;font-size:15px;font-weight:750;text-decoration:none;border:0}
body #top > section#hero .offer-action:hover{background:var(--campaign-accent);color:#fff}
body #top > section#hero .offer-action:focus-visible,body #top > section#hero .hero-carousel button:focus-visible{outline:3px solid var(--campaign-accent,#ed1420);outline-offset:4px}
body #top > section#hero .offer-proof{display:block;margin-top:16px;font-size:11px;font-weight:650;color:#57534d}
body #top > section#hero .offer-number{position:absolute;right:32px;top:24px;z-index:1;font-size:11px;letter-spacing:.1em;color:#5b544c}
body #top > section#hero .hero-carousel-bar{position:absolute;inset:auto 0 0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(32px,calc((100vw - 1392px)/2));background:linear-gradient(0deg,#f6f1e9eb,#f6f1e9c9);border-top:1px solid #18181816;box-sizing:border-box}
body #top > section#hero .hero-offer-tabs{display:flex;gap:22px;min-width:0}
body #top > section#hero .hero-offer-tab{position:relative;background:none;border:0;border-top:2px solid #1a1a1a25;color:#6b655c;padding:10px 0 0;min-height:44px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap;text-align:left}
body #top > section#hero .hero-offer-tab[aria-pressed=true]{border-color:#ed1420;color:#171717}
body #top > section#hero .hero-carousel-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
body #top > section#hero .hero-carousel-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #18181830;background:transparent;border-radius:50%;color:#171717;padding:8px;font:inherit;cursor:pointer}
body #top > section#hero .hero-carousel-controls button:hover{background:#fff8}
body #top > section#hero #heroCarouselPause{font-size:11px;min-width:70px;border-radius:24px}
body #top > section#hero #heroCarouselCount{font-size:11px;letter-spacing:.06em;white-space:nowrap;margin-right:12px}
body #top > section#hero .hero-carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:761px) and (max-height:800px){body #top > section#hero:not(.category-hero) .hero-carousel{height:max(480px,calc(100svh - var(--hero-top,180px)))}body #top > section#hero .hero-offer h2{font-size:clamp(50px,5.5vw,86px)}body #top > section#hero .hero-offer{padding-top:26px;padding-bottom:100px}body #top > section#hero .hero-offer .offer-kicker{margin-bottom:16px}}
@media(max-width:760px){
 body #top > section#hero:not(.category-hero) .hero-carousel{height:max(650px,calc(100svh - var(--hero-top,150px)))}
 body #top > section#hero .hero-carousel-slide{align-items:flex-start}
 body #top > section#hero .hero-carousel-slide img{inset:auto 0 70px;width:100%;height:51%;object-fit:cover;object-position:50% 55%}
 body #top > section#hero .hero-carousel-slide::after{background:linear-gradient(180deg,var(--campaign-bg) 0%,var(--campaign-bg) 39%,transparent 64%)}
 body #top > section#hero .hero-offer{width:100%;padding:28px 22px 0}
 body #top > section#hero .hero-offer h2{font-size:clamp(44px,11.6vw,66px);line-height:.98;max-width:13ch;letter-spacing:-.055em;margin-bottom:14px}
 body #top > section#hero .hero-offer .offer-kicker{font-size:9px;letter-spacing:.11em;margin-bottom:17px}
 body #top > section#hero .hero-offer .offer-detail{font-size:14px;line-height:1.45;max-width:33ch;margin-bottom:17px}
 body #top > section#hero .hero-offer .offer-action{font-size:13px;min-height:48px;padding:13px 18px;gap:22px}
 body #top > section#hero .offer-proof{font-size:10px;margin-top:10px}
 body #top > section#hero .offer-number{right:18px;top:auto;bottom:88px;font-size:9px}
 body #top > section#hero .hero-carousel-bar{padding:12px 16px;gap:10px}
 body #top > section#hero .hero-offer-tabs{gap:8px;flex:1}
 body #top > section#hero .hero-offer-tab{font-size:0;flex:1;min-width:18px;min-height:30px;padding:0;border-top-width:3px}
 body #top > section#hero .hero-carousel-controls{gap:4px}
 body #top > section#hero #heroCarouselCount{margin-right:4px;font-size:10px}
 body #top > section#hero #heroCarouselPause{min-width:62px;font-size:10px}
 body #top > section#hero .hero-carousel-controls button{min-width:40px;min-height:40px}
}
@media(prefers-reduced-motion:no-preference){body #top > section#hero .hero-carousel-slide:not([hidden]) .hero-offer{animation:offer-enter .4s ease-out}@keyframes offer-enter{from{opacity:.25;transform:translateY(10px)}to{opacity:1;transform:none}}}
