/* Independent scenic layers. Flat page geometry; no flattened screenshot. */
.our-story,.our-story.story-motion{background:#f8f9f8}
.our-story .story-stage{background:#f8f9f8;min-height:100svh}
.our-story .story-art{position:absolute;inset:0;max-width:none;margin:0;z-index:2;pointer-events:none;overflow:hidden}
.story-subject-frame{position:absolute;inset:0;max-width:1800px;margin-inline:auto}
.story-mountains{position:absolute;inset:0;clip-path:polygon(17% 0,45% 0,20% 100%,0 100%,0 62%);opacity:.82}
.story-mountains img{width:100%;height:100%;object-fit:cover}
.story-yellow-block,.story-glass-block{position:absolute;inset:0;transform-origin:center}
.story-yellow-block{z-index:1;background:rgb(255 204 0 / .94);clip-path:polygon(30% 0,48% 0,22% 88%,7% 88%)}
.story-glass-block{z-index:2;background:rgb(213 220 221 / .28);clip-path:polygon(48% 0,59% 0,35% 83%,24% 83%)}
.story-athlete{position:absolute;left:-1%;bottom:10%;width:70%;height:80%;z-index:4}
.story-athlete img{display:block;width:100%;height:100%;object-fit:contain;object-position:left bottom}
.story-ice-floor{position:absolute;left:0;bottom:0;width:100%;height:15%;z-index:0;background:url('media/story-mountain-plate.webp') left bottom / 100vw 100svh no-repeat;mask-image:linear-gradient(to top,#000,transparent)}
.our-story .story-content-frame{position:relative;max-width:1800px;height:100svh;padding:0;z-index:5;isolation:auto;pointer-events:none}
.our-story .story-copy,.story-motion[data-phase="reading"] .story-copy{left:54%;top:44%;width:calc(46% - var(--page-gutter));max-width:720px;transform:translateY(-50%);background:none;opacity:1;pointer-events:auto}
.our-story .story-copy h2{font-size:clamp(48px,7vw,120px);line-height:.99;color:#080b09;white-space:nowrap}
.story-title-line:last-child>span{background-image:linear-gradient(#080b09 35%,rgb(8 11 9 / .85) 60%,rgb(8 11 9 / .3)),url('media/story-mountain-plate.webp');background-position:center,30% 75%;background-size:100% 100%,180%;background-clip:text;-webkit-background-clip:text;color:transparent}
.our-story .story-copy .yellow-rule{width:48px;margin:24px 0}
.our-story .story-copy .story-lead{font-weight:500;font-size:clamp(20px,1.85vw,32px);line-height:1.3;margin-bottom:22px}
.our-story .story-copy .story-description{font-size:var(--type-body);line-height:1.6;color:#838986;max-width:46ch}
.story-slogan-background{z-index:1;clip-path:none;mix-blend-mode:normal;color:#dfe3e0!important}
.story-slogan-background span{font-size:clamp(94px,14.5vw,230px)}
.story-motion .story-mountains{opacity:calc(var(--mountain-enter,0) * .82);transform:translate3d(calc((1 - var(--mountain-enter,0)) * -60px),0,0)}
.story-motion .story-yellow-block{opacity:var(--yellow-enter,0);transform:translate3d(calc((1 - var(--yellow-enter,0)) * -42vw),0,0)}
.story-motion .story-glass-block{opacity:var(--glass-enter,0);transform:translate3d(calc((1 - var(--glass-enter,0)) * -50vw),0,0)}
.story-motion .story-athlete{opacity:var(--athlete-enter,0);transform:translate3d(calc((1 - var(--athlete-enter,0)) * -58vw),calc((1 - var(--athlete-enter,0)) * 40px + var(--athlete-dy,0px)),0) rotate(var(--athlete-turn,0deg))}
.story-motion .story-ice-floor{opacity:var(--athlete-enter,0)}

@media(max-width:700px){
 .our-story .story-stage{min-height:100svh}
 .our-story .story-art{inset:0 0 auto;height:43svh;max-height:360px;min-height:230px}
 .story-mountains{clip-path:polygon(20% 0,65% 0,38% 100%,0 100%,0 70%)}
 .story-yellow-block{clip-path:polygon(37% 0,62% 0,33% 100%,8% 100%)}
 .story-glass-block{clip-path:polygon(62% 0,80% 0,52% 100%,33% 100%)}
 .story-athlete{left:3%;bottom:0;width:94%;height:94%}
 .story-ice-floor{display:none}
 .our-story .story-content-frame{height:auto;padding-top:min(43svh,360px);display:block}
 .our-story .story-copy,.story-motion[data-phase="reading"] .story-copy{position:relative;left:auto;top:auto;width:auto;max-width:none;transform:none;padding:26px 28px 32px;background:none}
 .our-story .story-copy h2{font-size:clamp(40px,10.7vw,70px)}
 .our-story .story-copy .yellow-rule{margin:18px 0;width:40px}
 .our-story .story-copy .story-lead{font-size:20px;margin-bottom:16px}
 .our-story .story-copy .story-description{font-size:14px;line-height:1.6}
 .story-slogan-background span{font-size:16vw}
}
@media(max-width:700px) and (max-height:700px){
 .our-story .story-art{height:38svh;min-height:180px}
 .our-story .story-content-frame{padding-top:38svh}
 .our-story .story-copy{padding:20px 26px 24px}
 .our-story .story-copy h2{font-size:40px}
 .our-story .story-copy .yellow-rule{margin:14px 0}
 .our-story .story-copy .story-lead{font-size:18px;margin-bottom:14px}
 .our-story .story-copy .story-description{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.our-story .story-stage{position:relative}.our-story{height:auto}}

/* Four acts, one flat white field; native scroll remains the source of truth. */
.our-story.story-motion{height:500svh}
.story-motion .story-stage{position:sticky;top:0;display:block;height:100svh}
.our-story .story-panel{--panel-opacity:1}
.story-motion .story-panel{opacity:var(--panel-opacity,0);transform:translateY(-50%);pointer-events:none}
.story-motion .story-panel.is-current{pointer-events:auto}
.story-build-link{display:inline-flex;align-items:center;gap:28px;margin-top:26px;padding:16px 22px;background:var(--yellow);color:var(--ink);font:750 12px/1.4 var(--font-copy);min-height:48px;text-decoration:none}
.story-build-link span{font-size:22px;line-height:1}
.story-build-link:hover{background:#efb900}
.story-build-link:focus-visible,.story-act-nav button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.story-act-nav{position:absolute;left:54%;right:var(--page-gutter);bottom:5%;max-width:720px;display:flex;gap:20px;z-index:9;pointer-events:auto}
.story-act-nav button{flex:1;min-width:0;padding:12px 0;background:none;border:0;text-align:left;color:#858c88;font:650 11px/1.4 var(--font-copy);cursor:pointer}
.story-act-nav button i{display:block;width:18px;height:2px;margin-bottom:10px;background:#cbd1ce;transition:width .2s,background .2s}
.story-act-nav button[aria-current="step"]{color:var(--ink)}
.story-act-nav button[aria-current="step"] i{width:38px;background:var(--yellow)}
.story-act-nav button:hover{color:var(--ink)}
.story-signature{position:absolute;left:calc(max(0px,(100vw - 1800px)/2) + var(--page-gutter));top:25%;width:clamp(180px,25vw,420px);aspect-ratio:4.71;background:var(--ink);mask:var(--gwind-scene-wordmark, url('../catch-lab-ice-hero-v15/media/gwind-wordmark-white.png')) center/contain no-repeat;z-index:3;pointer-events:none;opacity:0}
.story-motion .story-signature{opacity:var(--signature-opacity,0);transform:none}
.story-motion .story-mountains{opacity:calc(var(--mountain-enter,0) * var(--scenery-opacity,1) * .82);transform:translate3d(calc((1 - var(--mountain-enter,0)) * -60px + var(--mountain-dx,0px)),var(--mountain-dy,0px),0)}
.story-motion .story-yellow-block{opacity:calc(var(--yellow-enter,0) * var(--scenery-opacity,1));transform:translate3d(calc((1 - var(--yellow-enter,0)) * -42vw + var(--yellow-dx,0px)),var(--yellow-dy,0px),0)}
.story-motion .story-glass-block{opacity:calc(var(--glass-enter,0) * var(--scenery-opacity,1));transform:translate3d(calc((1 - var(--glass-enter,0)) * -50vw + var(--glass-dx,0px)),var(--glass-dy,0px),0)}
.story-motion .story-athlete{opacity:calc(var(--athlete-enter,0) * var(--athlete-opacity,1));transform:translate3d(calc((1 - var(--athlete-enter,0)) * -58vw + var(--athlete-dx,0px)),calc((1 - var(--athlete-enter,0)) * 40px + var(--athlete-dy,0px)),0) rotate(var(--athlete-turn,0deg))}
.story-motion .story-slogan-background{opacity:calc(var(--carry-opacity,.5) * var(--background-fade,1))}
/* Without motion, every act stays readable in document order. */
.our-story:not(.story-motion){height:auto;display:block}
.our-story:not(.story-motion) .story-stage{display:block;min-height:0}
.our-story:not(.story-motion) .story-content-frame{height:auto;padding-top:100svh}
.our-story:not(.story-motion) .story-art{height:100svh}
.our-story:not(.story-motion) .story-subject-frame{height:100svh}
.our-story:not(.story-motion) .story-panel{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:720px;margin:0 var(--page-gutter) 0 54%;padding:72px 0;border-top:1px solid #dfe3e0;opacity:1}
.our-story:not(.story-motion) .story-panel[data-act="0"]{position:absolute;top:50svh;left:54%;width:calc(46% - var(--page-gutter));transform:translateY(-50%);margin:0;padding:0;border:0}
.our-story:not(.story-motion) .story-act-nav{display:none}
@media(max-width:700px){
 .our-story.story-motion{height:580svh}
 .our-story .story-panel,.story-motion[data-phase="reading"] .story-panel{position:absolute;inset:min(43svh,360px) 0 auto;left:0;top:min(43svh,360px);padding:24px 28px 90px;transform:none;width:100%;box-sizing:border-box}
 .story-motion .story-panel{transform:none;opacity:var(--panel-opacity,0)}
 .story-act-nav{left:28px;right:28px;bottom:18px;gap:12px}
 .story-act-nav button{font-size:10px}
 .story-act-nav button i{margin-bottom:8px}
 .story-build-link{margin-top:18px;padding:13px 18px;min-height:44px}
 .story-signature{top:11svh;left:28px;width:55%}
 .our-story:not(.story-motion) .story-content-frame{padding-top:min(43svh,360px)}
 .our-story:not(.story-motion) .story-art,.our-story:not(.story-motion) .story-subject-frame{height:min(43svh,360px)}
 .our-story:not(.story-motion) .story-panel,.our-story:not(.story-motion) .story-panel[data-act="0"]{position:relative;inset:auto;transform:none;width:auto;max-width:none;margin:0 28px;padding:32px 0;border-top:1px solid #dfe3e0}
 .our-story:not(.story-motion) .story-panel[data-act="0"]{border:0}
}
@media(max-width:700px) and (max-height:700px){
 .our-story .story-art{height:32svh;min-height:160px}
 .our-story .story-panel,.story-motion[data-phase="reading"] .story-panel{top:32svh;padding:18px 26px 80px}
 .our-story .story-panel h2{font-size:36px}
 .our-story .story-panel .yellow-rule{margin:12px 0}
 .our-story .story-panel .story-lead{font-size:18px;margin-bottom:12px}
 .our-story .story-panel .story-description{font-size:13px;line-height:1.5}
 .story-build-link{margin-top:14px;padding:10px 14px;min-height:40px}
}
.story-motion[data-phase="reading"] .story-panel{transform:translateY(-50%)}
@media(max-width:700px){.story-motion[data-phase="reading"] .story-panel{transform:none}}
.our-story.story-motion .story-panel{opacity:var(--panel-opacity,0);pointer-events:none}
.our-story.story-motion .story-panel.is-current{pointer-events:auto}
@media(max-width:700px){.our-story.story-motion .story-content-frame{height:100svh;padding:0}}

/* Buttons enter with the copy; all four acts share the same type scale. */
.our-story .story-panel h2{font-size:clamp(48px,7vw,120px);font-weight:900;font-style:italic;line-height:.99}
.our-story .story-build-link{transition:background-color .18s ease;position:relative;z-index:2}
.our-story .story-build-link span{transition:transform .2s ease}
.our-story .story-build-link:hover span{transform:translateX(4px)}
.story-motion .story-athlete{transform-origin:45% 65%}
@media(max-width:700px){
 .our-story .story-panel h2{font-size:clamp(40px,10.7vw,70px)}
 .our-story.story-motion .story-panel{top:38svh;padding-bottom:70px}
 .our-story.story-motion .story-art{height:38svh;min-height:200px}
 .our-story .story-panel .story-description{margin:0}
}
@media(max-width:700px) and (max-height:700px){
 .our-story .story-panel h2{font-size:36px}
 .our-story.story-motion .story-panel{top:30svh;padding-top:14px}
 .our-story.story-motion .story-art{height:30svh;min-height:150px}
 .our-story .story-panel .story-lead{font-size:17px;line-height:1.25;margin-bottom:10px}
 .our-story .story-panel .story-description{font-size:13px;line-height:1.45}
 .our-story .story-panel .story-build-link{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.our-story .story-build-link,.our-story .story-build-link span{transition:none}}

/* Chapter headings keep one screen position during every fade. */
@media(min-width:701px){
 .our-story.story-motion .story-panel,.story-motion[data-phase="reading"] .story-panel{top:20%;transform:none}
}
@media(min-width:701px) and (max-height:740px){
 .our-story.story-motion .story-panel,.story-motion[data-phase="reading"] .story-panel{top:15%}
 .our-story .story-panel h2{font-size:clamp(44px,5.5vw,88px)}
}

/* All story acts share the first act's masked title and copy reveal. */
.our-story.story-motion .story-panel .story-title-line:first-child>span{transform:translateY(var(--title-first,112%));opacity:var(--title-first-opacity,0)}
.our-story.story-motion .story-panel .story-title-line:last-child>span{transform:translateY(var(--title-second,112%));opacity:var(--title-second-opacity,0)}
.our-story.story-motion .story-panel .yellow-rule{transform:scaleX(var(--rule-progress,0))}
.our-story.story-motion .story-panel .story-lead{opacity:var(--lead-opacity,0);transform:translateY(var(--lead-y,12px))}
.our-story.story-motion .story-panel .story-description{opacity:var(--body-opacity,0);transform:translateY(var(--body-y,10px))}
.our-story.story-motion .story-panel .story-build-link{opacity:var(--cta-opacity,0);transform:translateY(var(--cta-y,8px))}
