/* Retail-style automatic banner; actual GIF frames, no full-photo pulsing. */
.campaign-hero.home-carousel{padding:24px 0 0;background:var(--paper)}
.home-banner{display:grid;grid-template-columns:minmax(0,.52fr) minmax(0,1fr);border-radius:18px;overflow:hidden;background:#eae3d8;color:#393530}
.banner-copy{display:flex;flex-direction:column;justify-content:center;padding:34px clamp(22px,3vw,46px);gap:20px}
.banner-eyebrow{font-size:14px;letter-spacing:.15em;color:#736758;margin:0}
.banner-copy h1{font-size:clamp(38px,4.5vw,64px);font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:0}
.banner-copy h1 span{color:#80674b}
.banner-copy p:not(.banner-eyebrow){font-size:18px;line-height:1.8;margin:0;color:#635b51}
.banner-copy .button{background:#5b5145;color:#fffaf3;border:0;align-self:flex-start;min-height:48px;padding:13px 22px;font-size:17px}
.banner-media{position:relative;min-width:0;background:#1f2923}
.home-carousel .hero-frame{border-radius:0;aspect-ratio:3/2;touch-action:pan-y;animation:none}
.home-carousel .hero-frame>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0}
.home-scene-frame{position:relative;overflow:hidden}
.home-scene-frame>img{display:block;width:100%;height:100%;object-fit:cover}
.banner-media::after{content:"";position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(transparent,#0007);pointer-events:none}
.home-scene-dots{position:absolute;z-index:2;bottom:4px;left:50%;transform:translateX(-50%);display:flex;gap:0;max-width:100%}
.home-scene-dots button{display:grid;place-items:center;width:30px;height:44px;border:0;background:transparent;padding:0;cursor:pointer}
.home-scene-dots button::after{content:"";display:block;width:7px;height:7px;border-radius:20px;background:#ffffff80;transition:width .2s,background .2s}
.home-scene-dots button[aria-current="true"]::after{width:20px;background:#fff}
.home-carousel button:focus-visible{outline:2px solid #f6d399;outline-offset:-2px}
.home-motion-toggle{position:absolute;right:12px;top:12px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff55;background:#17281d80;color:#fff;border-radius:50%;font:inherit;font-size:18px;cursor:pointer}
.home-motion-toggle:disabled{display:none}
.banner-caption{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 0 18px;font-size:13px;color:#637267;border-bottom:1px solid var(--line)}
.banner-caption a{color:#425e51;font-weight:600;min-height:32px;display:flex;align-items:center}
@media(max-width:1000px){.banner-copy{gap:14px;padding:24px}.banner-copy h1{font-size:clamp(36px,4.8vw,44px)}.banner-copy p:not(.banner-eyebrow){font-size:16px}}
@media(max-width:760px){.campaign-hero.home-carousel{padding-top:16px}.home-carousel>.container{width:calc(100% - 32px)}.home-banner{grid-template-columns:1fr;border-radius:12px}.banner-copy{padding:18px 20px;display:block}.banner-eyebrow,.banner-copy p:not(.banner-eyebrow),.banner-copy .button{display:none}.banner-copy h1{font-size:clamp(24px,7vw,28px);line-height:1.4;letter-spacing:-.02em}.banner-copy h1 br{display:none}.banner-copy h1 span::before{content:" "}.banner-caption{font-size:11px;padding:8px 0 12px;gap:10px}.home-scene-dots button{width:28px}.home-motion-toggle{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.home-scene-dots button::after{transition:none}}
