/* Full-viewport campaign imagery; all selectors are banner scoped. */
:root{--z-banner-header-height:123px}
.z-banner{position:relative;isolation:isolate;width:100%;min-height:calc(100vh - var(--z-banner-header-height));min-height:calc(100svh - var(--z-banner-header-height));background:#172338;color:#fffefa;overflow:hidden}
.z-banner__media{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#172338}
.z-banner .z-banner__image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:68% center;transform-origin:68% center;animation:z-banner-settle 1.6s ease-out both}
.z-banner--carousel .z-banner__image{animation:z-banner-drift 22s ease-in-out infinite alternate}
.z-banner::after,.z-banner__panel::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(16,27,44,.91) 0%,rgba(16,27,44,.78) 31%,rgba(16,27,44,.27) 62%,rgba(16,27,44,.05) 100%)}
.z-banner--carousel::after{display:none}
.z-banner--carousel{height:calc(100vh - var(--z-banner-header-height));height:calc(100svh - var(--z-banner-header-height));min-height:480px}
.z-banner--carousel .z-banner__inner{min-height:100%;height:100%}
.z-banner__inner{display:flex;align-items:center;min-height:inherit;position:relative;padding-block:72px 100px}
.z-banner__copy{width:min(590px,53%);position:relative}
.z-banner .z-banner__copy h1,.z-banner .z-banner__copy h2{font:400 clamp(44px,5.4vw,78px)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:#fffefa;margin:0 0 25px;max-width:14ch;text-wrap:balance}
.z-banner .z-banner__copy>p{font:400 clamp(15px,1.25vw,18px)/1.75 'Segoe UI',Arial,sans-serif;color:#f4efe6;max-width:45ch;margin:0 0 30px;text-wrap:pretty}
.z-banner__actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px}
.z-banner .z-banner__button{background:#fffefa;border-color:#fffefa;color:#172338;min-height:51px;gap:16px}
.z-banner .z-banner__button:hover{background:#e8e0d3;border-color:#e8e0d3;color:#101b2c}
.z-banner__text-link,.z-banner__continue{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:14px;font-weight:500;border-bottom:1px solid rgba(255,254,250,.75);color:#fffefa}
.z-banner__continue{margin-top:8px}
.z-banner__continue span{font-size:22px;line-height:1}
.z-banner a:focus-visible,.z-banner button:focus-visible{outline:2px solid #fffefa;outline-offset:5px}
.z-banner__caption{position:absolute;right:24px;top:18px;font-size:10px;line-height:1.4;color:#fffefa;background:rgba(16,27,44,.67);padding:4px 7px;z-index:2}
.z-banner--portrait .z-banner__media{left:44%;background:#172338}
.z-banner--portrait .z-banner__image{object-fit:contain;object-position:center;transform-origin:center;animation:z-banner-fade .8s ease-out both;padding:30px}
.z-banner--portrait::after{background:linear-gradient(90deg,#172338 0%,#172338 38%,rgba(23,35,56,.65) 49%,transparent 64%)}
.z-banner--portrait .z-banner__copy{width:45%}
.z-banner__slides{position:relative;min-height:inherit;height:100%}
.z-banner__panel{position:absolute;inset:0;isolation:isolate;min-height:inherit;opacity:0;visibility:hidden;z-index:0;transition:opacity 1.15s ease,visibility 0s 1.15s}
.z-banner__panel.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity 1.15s ease,visibility 0s}
.z-banner__panel:not(.is-active) .z-banner__image,.z-banner.is-motion-paused .z-banner__image{animation-play-state:paused}
.z-banner__control-wrap{position:absolute;left:0;right:0;bottom:26px;z-index:3;pointer-events:none}
.z-banner__controls{display:inline-flex;align-items:center;flex-wrap:wrap;max-width:100%;width:max-content;gap:8px;pointer-events:auto;background:rgba(16,27,44,.68);border:1px solid rgba(255,254,250,.35);padding:2px 8px;color:#fffefa}
.z-banner__controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;color:inherit;border:0;border-radius:0;padding:5px;font-family:'Segoe UI',Arial,sans-serif}
.z-banner__controls button:hover{background:rgba(255,254,250,.12)}
.z-banner__arrow{font-size:23px;line-height:1}
.z-banner__dots{display:flex;align-items:center}
.z-banner__controls .z-banner__dot{min-width:44px}
.z-banner__dot>span{display:block;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;transition:background .15s}
.z-banner__dot[aria-current=true]>span{background:currentColor}
.z-banner__controls .z-banner__pause{font-size:11px;margin-left:5px;padding-inline:13px;border-left:1px solid rgba(255,254,250,.3);min-width:112px}
#z-page-content,#z-shop-content,#z-journal-content,#z-article-content{scroll-margin-top:0}
.z-detail-summary>h2{font-size:clamp(34px,3.4vw,49px);margin-bottom:22px}
.z-shop-heading h2{font-size:clamp(36px,4.2vw,60px);max-width:760px;margin-bottom:0}
@keyframes z-banner-drift{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes z-banner-settle{from{transform:scale(1.025);opacity:.75}to{transform:scale(1);opacity:1}}
@keyframes z-banner-fade{from{opacity:.5}to{opacity:1}}
@media(max-width:850px){
:root{--z-banner-header-height:105px}
.z-banner .z-banner__copy h1,.z-banner .z-banner__copy h2{font-size:clamp(40px,6.3vw,60px)}
.z-banner__copy{width:58%}
.z-banner__inner{padding-block:60px 112px}
.z-banner__controls{gap:2px}
.z-banner--portrait .z-banner__media{left:40%}
.z-banner--portrait .z-banner__image{padding:20px}
.z-banner--portrait .z-banner__copy{width:50%}
}
@media(max-width:600px){
:root{--z-banner-header-height:99px}
.z-banner__inner{align-items:flex-end;padding-block:32px 112px;min-height:calc(100vh - var(--z-banner-header-height));min-height:calc(100svh - var(--z-banner-header-height))}
.z-banner__copy,.z-banner--portrait .z-banner__copy{width:100%;max-width:470px}
.z-banner .z-banner__copy h1,.z-banner .z-banner__copy h2{font-size:clamp(36px,10.4vw,48px);line-height:1.07;max-width:16ch;margin-bottom:17px}
.z-banner .z-banner__copy>p{font-size:14px;line-height:1.65;max-width:36ch;margin-bottom:22px}
.z-banner .z-banner__image{object-position:74% center;transform-origin:74% center}
.z-banner::after,.z-banner__panel::after{background:linear-gradient(180deg,rgba(16,27,44,.06) 0%,rgba(16,27,44,.25) 25%,rgba(16,27,44,.86) 59%,rgba(16,27,44,.97) 100%)}
.z-banner__actions{gap:14px 22px}
.z-banner .z-banner__button{font-size:13px;min-height:48px;padding-inline:20px}
.z-banner__text-link,.z-banner__continue{font-size:13px}
.z-banner__caption{right:12px;top:12px;font-size:8px;padding:2px 5px}
.z-banner__control-wrap{bottom:90px}
.z-banner--carousel .z-banner__inner{padding-bottom:164px}
.z-banner__controls{padding:0 3px;gap:0}
.z-banner__controls .z-banner__pause{padding-inline:8px;min-width:101px;font-size:10px;margin-left:0}
.z-banner__controls .z-banner__dot,.z-banner__controls .z-banner__arrow{min-width:44px}
.z-banner--portrait .z-banner__media{inset:0 0 35%;background:#172338}
.z-banner--portrait .z-banner__image{object-fit:contain;object-position:center;padding:14px 32px 0}
.z-banner--portrait::after{background:linear-gradient(180deg,transparent 0%,rgba(23,35,56,.02) 34%,rgba(23,35,56,.91) 61%,#172338 78%)}
.z-detail-summary>h2{font-size:36px;line-height:1.12;margin-bottom:20px}
#z-page-content,#z-shop-content,#z-journal-content,#z-article-content{scroll-margin-top:0}
}
@media(max-width:360px){
.z-banner--carousel .z-banner__inner{padding-block:16px 145px}
.z-banner--carousel .z-banner__copy h2{font-size:32px}
.z-banner--carousel .z-banner__copy>p{font-size:13px;margin-bottom:16px}
.z-banner--carousel .z-banner__actions{gap:10px 18px}
.z-banner__controls{justify-content:center}
.z-banner__controls .z-banner__pause{flex-basis:100%;border-left:0;border-top:1px solid rgba(255,254,250,.3)}
}
@media(prefers-reduced-motion:reduce){
.z-banner .z-banner__image{animation:none!important;transform:none!important}
.z-banner__panel,.z-banner__panel.is-active,.z-banner__dot>span{transition:none!important}
}

