/* Persistent brand navigation. */
:root{--site-header-height:89px}
.site-header{position:sticky;top:0;z-index:40;background:#fffffffa;backdrop-filter:blur(14px);box-shadow:0 2px 12px #17202b06}
html{scroll-padding-top:calc(var(--site-header-height) + 80px)}
.product-jump,.q5-jump{top:var(--site-header-height);z-index:30}

/* Brand campaign: the entire photograph is retained, with copy on a soft veil. */
.brand-campaign{padding-block:30px 34px}
.campaign-main{position:relative;display:grid;isolation:isolate;border-radius:5px;overflow:hidden}
.campaign-photo,.campaign-copy{grid-area:1/1}
.campaign-photo{position:relative;min-width:0}
.campaign-photo img{width:100%;height:auto;display:block}
.campaign-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,249,249,.96),rgba(248,249,249,.83) 29%,rgba(248,249,249,.3) 48%,transparent 64%);pointer-events:none}
.campaign-copy{position:relative;z-index:1;align-self:center;padding:44px;max-width:570px}
.campaign-copy .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:25px;color:#394b5c}
.campaign-copy h1{font-size:clamp(48px,4.7vw,68px);line-height:1.06;letter-spacing:-.055em;max-width:455px}
.campaign-copy h1 span{color:var(--blue)}
.campaign-description{font-size:16px;line-height:1.8;margin-block:25px 27px;color:#394b5c}
.campaign-copy .button-row{gap:16px}
.campaign-copy .button{font-size:11px;min-height:48px;padding:14px 17px;gap:16px}
.campaign-copy .text-button{padding-inline:0}
.campaign-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding-top:17px}
.campaign-caption>span:first-child{display:flex;gap:12px;align-items:center;color:var(--ink)}
.campaign-caption>span:first-child:before{content:'';width:26px;height:2px;background:var(--orange);flex:none}
.campaign-caption>span:last-child{font-size:9px}

/* Static/short-screen fallback is canonical; desktop enhancement adds a sticky stage. */
.story-chapters{display:grid;gap:56px}
.story-chapter{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:60px;scroll-margin-top:20px}
.story-chapter-photo{overflow:hidden;border-radius:4px}
.story-chapter-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.story-chapter-copy{min-width:0;padding-block:20px}
.story-index{font-size:12px;color:var(--blue);letter-spacing:0;border-bottom:2px solid var(--orange);padding-bottom:4px;margin-right:4px}
.story-chapter h3{font-size:clamp(32px,3.1vw,45px);line-height:1.15;max-width:380px}
.story-description{max-width:355px;font-size:15px;line-height:1.9;margin-block:23px 25px}
.story-stage{width:min(100%,calc((100svh - var(--site-header-height) - 125px)*4/3));align-self:start;position:sticky;top:calc(var(--site-header-height) + 24px);min-width:0}
.story-frame{position:relative;aspect-ratio:4/3;isolation:isolate;border-radius:4px;overflow:hidden;background:var(--pale)}
.story-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;pointer-events:none}
.story-slide.is-active{opacity:1;z-index:1}
.story-slide img{width:100%;height:100%;object-fit:contain}
.story-selector{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin-top:13px}
.story-selector a{display:flex;align-items:center;gap:8px;padding:13px 2px;min-height:48px;font-size:12px;border-bottom:2px solid transparent;transition:border-color .25s,color .25s}
.story-selector a>span{font-size:9px;color:var(--muted)}
.story-selector a[aria-current]{color:var(--blue);border-color:var(--blue)}
.story-image-note{font-size:9px;margin-top:12px}
@media(min-width:1000px) and (min-height:680px) and (prefers-reduced-motion:no-preference){
 .story-enhanced .story-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:70px;align-items:start}
 .story-enhanced .story-chapters{gap:0}
 .story-enhanced .story-chapter{display:flex;min-height:clamp(380px,62vh,570px);padding-block:50px}
 .story-enhanced .story-chapter-photo{display:none}
 .story-enhanced .story-chapter+.story-chapter{border-top:1px solid var(--line)}
 .story-enhanced .story-chapter-copy{padding:0}
}
@media(max-width:1100px){
 .campaign-copy{padding:28px;max-width:490px}.campaign-copy h1{font-size:52px;max-width:370px}
 .campaign-description{font-size:14px;margin-block:20px}.campaign-copy .button-row{gap:12px}
 .story-enhanced .story-layout{gap:42px}
}
@media(max-width:999px){
 .brand-campaign{padding-block:36px 28px}.campaign-main{display:flex;flex-direction:column;overflow:visible;gap:30px}
 .campaign-copy{order:-1;align-self:stretch;padding:0;max-width:650px}.campaign-copy h1{font-size:64px;max-width:640px}
 .campaign-copy .eyebrow{margin-bottom:24px}.campaign-description{font-size:16px;margin-block:22px}
 .campaign-photo:after{display:none}.campaign-photo{border-radius:5px;overflow:hidden}
 .story-chapters{gap:58px}.story-chapter{gap:32px}.story-chapter h3{font-size:34px}
 .story-description{font-size:14px}.story-chapter-copy .eyebrow{font-size:9px}
}
@media(max-width:820px){
 :root{--site-header-height:77px}
 .js .site-header nav{position:absolute;top:100%;left:0;right:0;width:100%;padding:12px 32px 24px;background:#fff;box-shadow:0 14px 20px #17202b14;border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;overscroll-behavior:contain}
 .js .site-header nav.is-open{animation:menu-arrive .2s ease-out}
 .story-chapter{grid-template-columns:1fr;gap:22px}.story-chapter-copy{padding:0}
 .story-chapter h3{max-width:520px;font-size:38px}.story-description{max-width:520px;margin-block:18px}
}
@media(max-width:600px){
 :root{--site-header-height:74px}.js .site-header nav{padding-inline:20px}
 .brand-campaign{padding-block:30px 26px}.campaign-main{gap:27px}
 .campaign-copy h1{font-size:clamp(42px,11.5vw,58px);max-width:420px}
 .campaign-copy .eyebrow{font-size:8px;letter-spacing:.05em;margin-bottom:20px}
 .campaign-description{font-size:14px;max-width:300px;margin-block:20px}
 .campaign-copy .button-row{gap:16px}.campaign-copy .button{font-size:11px;gap:10px;padding:13px 14px}.campaign-copy .text-button{padding-inline:0}
 .campaign-caption{align-items:flex-start;gap:8px;flex-direction:column;padding-top:13px;font-size:10px}
 .campaign-caption>span:first-child{gap:8px}.campaign-caption>span:first-child:before{width:18px}
 .campaign-caption>span:last-child{font-size:8px;margin-left:26px}
 .story-chapters{gap:48px}.story-chapter{gap:22px}.story-chapter h3{font-size:33px;max-width:340px}
 .story-chapter-copy .eyebrow{margin-bottom:17px}.story-description{font-size:14px;line-height:1.85}
}
@keyframes menu-arrive{from{opacity:.5;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.story-slide,.story-selector a{transition:none}.js .site-header nav.is-open{animation:none}}
@media print{.site-header{position:static}.product-jump,.q5-jump{position:static}html{scroll-padding-top:0}.story-stage{display:none!important}.story-chapter-photo{display:block!important}.story-layout,.story-chapter{display:block!important}.story-chapter{min-height:0!important}.campaign-copy{position:static}}
