/* Homepage campaign: live accessible copy over source-led product artwork. */
.campaign-carousel{background:#0b1117;color:#fff;position:relative;isolation:isolate}
.campaign-carousel .brand-poster{position:relative;background:#0b1117;overflow:hidden}
.campaign-carousel .campaign-inner{position:relative;z-index:2;min-height:clamp(580px,45vw,740px);display:flex;align-items:center;pointer-events:none}
.campaign-carousel .poster-copy{width:55%;padding:64px 0 74px;pointer-events:auto}
.campaign-carousel .eyebrow{font-size:.7rem;letter-spacing:.22em;color:#ff9879;gap:13px}
.campaign-carousel .eyebrow:before{height:2px;width:32px}
.campaign-carousel .poster-copy h1,.campaign-carousel .poster-copy h2{font-size:clamp(56px,5.65vw,88px);line-height:1.025;letter-spacing:-.055em;font-weight:750;margin:28px 0 28px}
.campaign-carousel .poster-copy em{color:#ff643c}
.campaign-carousel .poster-copy p{color:#bac3cb;font-size:16px;line-height:1.85;max-width:470px;margin:0}
.campaign-carousel .hero-actions{margin-top:32px;gap:25px;align-items:center}
.campaign-carousel .btn{min-height:54px;padding:15px 23px;border-radius:2px;box-shadow:none;font-size:.81rem;gap:24px;display:inline-flex;align-items:center;justify-content:space-between}
.campaign-carousel .btn-primary{background:#f04a23}
.campaign-carousel .btn-primary:hover{background:#cf3714;transform:translateY(-2px)}
.campaign-carousel .poster-text-link{font-size:.8rem;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #61707b;padding:8px 0}
.campaign-carousel .poster-text-link:hover{color:#ff9879;border-color:#ff9879}
.campaign-carousel .poster-specs{gap:0;margin-top:48px;font-size:.62rem;letter-spacing:.18em;color:#8e9ca7;flex-wrap:wrap;row-gap:10px}
.campaign-carousel .poster-specs span+span:before{content:'/';color:#53616c;margin:0 18px}
.campaign-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.campaign-art img{position:absolute;left:20%;top:50%;width:80%;height:auto;transform:translateY(-50%);object-fit:contain;object-position:right center;max-width:none;mask-image:linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent)}
.campaign-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b1117 0%,rgba(11,17,23,.85) 29%,rgba(11,17,23,.2) 49%,transparent 65%),linear-gradient(180deg,#0b1117,transparent 14%,transparent 80%,#0b1117)}
.campaign-product-note{position:absolute;right:max(40px,calc((100vw - 1220px)/2));bottom:32px;z-index:1;text-align:right;border-right:2px solid #f04a23;padding:2px 17px 2px 0}
.campaign-product-note span{display:block;color:#a3b0ba;font-size:.6rem;letter-spacing:.2em;line-height:1.6}
.campaign-product-note strong{display:block;font-size:.86rem;font-weight:500;letter-spacing:.025em;margin-top:5px;color:#e7ebee}
.campaign-carousel .poster-controls{min-height:92px;position:relative;border-top:1px solid #ffffff1c;gap:24px}
.campaign-carousel .poster-tabs{gap:0;flex:1;max-width:800px}
.campaign-carousel .poster-tabs button{position:relative;min-width:0;flex:1;border:0;padding:23px 0 23px 0;font-size:.65rem;color:#8795a1;letter-spacing:.08em}
.campaign-carousel .poster-tabs button:before{content:'';position:absolute;top:-1px;left:0;right:28px;height:2px;background:transparent;transition:background .2s}
.campaign-carousel .poster-tabs button.selected:before{background:#ff643c}
.campaign-carousel .poster-tabs button.selected{color:#ff9879}
.campaign-carousel .poster-tabs button span{font-size:.8rem;color:#a3adb6;letter-spacing:0;margin-left:18px}
.campaign-carousel .poster-tabs button.selected span{color:white}
.campaign-carousel .poster-arrows{gap:12px}
.campaign-carousel .poster-arrows button{width:46px;height:46px;border-radius:50%;border-color:#ffffff35;transition:background .2s,border-color .2s}
.campaign-carousel :is(a,button):focus-visible{outline:2px solid #ffad91;outline-offset:5px}
@media(min-width:1700px){.campaign-carousel .campaign-inner,.campaign-carousel .poster-controls{width:min(1480px,calc(100% - 120px))}.campaign-product-note{right:max(60px,calc((100vw - 1480px)/2))}.campaign-carousel .poster-copy h1,.campaign-carousel .poster-copy h2{font-size:96px}}
@media(min-width:761px) and (max-width:1100px){.campaign-carousel .poster-copy{width:58%}.campaign-carousel .poster-copy h1,.campaign-carousel .poster-copy h2{font-size:clamp(44px,5.5vw,61px)}.campaign-carousel .poster-copy p{max-width:370px;font-size:14px}.campaign-carousel .hero-actions{gap:15px;flex-wrap:wrap}.campaign-carousel .poster-copy{padding:58px 0 64px}.campaign-carousel .campaign-inner{min-height:540px}.campaign-carousel .poster-specs{font-size:.57rem}.campaign-carousel .poster-specs span+span:before{margin:0 11px}.campaign-carousel .poster-tabs button span{margin-left:10px;font-size:.72rem}}
@media(max-width:900px){
 .campaign-carousel .brand-poster{display:flex;flex-direction:column}
 .campaign-carousel .campaign-inner{min-height:0;pointer-events:auto;width:calc(100% - 44px)}
 .campaign-carousel .poster-copy{width:100%;padding:42px 0 8px}
 .campaign-carousel .eyebrow{font-size:.59rem;letter-spacing:.17em}
 .campaign-carousel .poster-copy h1,.campaign-carousel .poster-copy h2{font-size:clamp(40px,8.8vw,65px);line-height:1.04;margin:23px 0}
 .campaign-carousel .poster-copy p{font-size:14px;line-height:1.75;max-width:480px}
 .campaign-carousel .hero-actions{gap:20px;margin-top:26px;flex-wrap:wrap}
 .campaign-carousel .btn{font-size:.75rem;min-height:48px;padding:13px 17px;gap:18px}
 .campaign-carousel .poster-text-link{font-size:.73rem}
 .campaign-carousel .poster-specs{margin-top:28px;font-size:.56rem}
 .campaign-carousel .poster-specs span+span:before{margin:0 12px}
 .campaign-art{position:relative;inset:auto;height:clamp(290px,70vw,420px);overflow:hidden;margin-top:6px}
 .campaign-art img{position:static;left:auto;top:auto;width:160%;max-width:none;height:100%;object-fit:contain;transform:translateX(-36%);object-position:center;mask-image:none}
 .campaign-art:after{background:linear-gradient(90deg,#0b1117,transparent 8%,transparent 87%,#0b1117),linear-gradient(180deg,#0b1117,transparent 14%,transparent 80%,#0b1117)}
 .campaign-product-note{bottom:16px;right:22px;padding-right:12px}
 .campaign-product-note span{font-size:.5rem}
 .campaign-product-note strong{font-size:.72rem;margin-top:2px}
 .campaign-carousel .poster-controls{width:calc(100% - 44px);min-height:100px;gap:12px;align-items:center}
 .campaign-carousel .poster-tabs{gap:13px}
 .campaign-carousel .poster-tabs button{font-size:.58rem;padding:18px 0;line-height:1.4}
 .campaign-carousel .poster-tabs button:before{right:0}
 .campaign-carousel .poster-tabs button span{display:block;margin:6px 0 0;font-size:.62rem;max-width:100px}
 .campaign-carousel .poster-arrows{gap:7px;order:-1}
 .campaign-carousel .poster-arrows button{width:34px;height:34px;font-size:1rem}
}
@media(prefers-reduced-motion:no-preference){.campaign-carousel .brand-poster.is-active .poster-copy{animation:campaign-enter .45s ease-out both}.campaign-carousel .brand-poster.is-active .campaign-art img{animation:campaign-image .55s ease-out both}@keyframes campaign-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes campaign-image{from{opacity:.5}to{opacity:1}}}
