/* Progressive, native-scroll enhancement. The base state is a complete still hero. */
.scroll-hero{--scene-progress:0;--scene-exit:0;--scene-height:100svh;--scene-runway:220svh;position:relative;background:var(--paper);isolation:isolate}
.scroll-hero .hero-stage{min-height:630px;height:min(900px,100svh);padding:0;display:block;position:relative;overflow:hidden;background:#f5f3ec}
.scroll-hero.is-scrollable{height:calc(var(--scene-height) + var(--scene-runway))}
.scroll-hero.is-scrollable .hero-stage{position:sticky;top:0;height:var(--scene-height);min-height:0}
.scroll-hero .hero-stage::after{display:none}
.scene-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#e5dfd1}
.scene-media::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,#f5f3ec 0%,rgba(245,243,236,.96) 22%,rgba(245,243,236,.87) 34%,rgba(245,243,236,.38) 50%,transparent 67%),linear-gradient(0deg,rgba(248,246,240,.9),rgba(248,246,240,0) 28%)}
.scene-poster,.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.scene-poster{z-index:0}
.scene-video{z-index:1;opacity:0;pointer-events:none;transition:opacity .35s ease}
.is-ready .scene-video{opacity:1}
.scroll-hero .hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:40px 64px 120px;max-width:1320px;margin:auto;pointer-events:none}
.scroll-hero .hero-content a{pointer-events:auto}
.scroll-hero .hero-content .eyebrow{margin-bottom:23px}
.scroll-hero .hero-content h1{font-size:clamp(60px,5.35vw,82px);line-height:1.02;letter-spacing:-2.4px}
.scroll-hero .hero-content h1 em{color:#98735e}
.scroll-hero .hero-description{font-size:13px;line-height:1.9;color:#535f50;margin-top:25px}
.scroll-hero .hero-actions{margin-top:28px;gap:25px;display:flex;flex-direction:row;align-items:center}
.scroll-hero .hero-actions .button{font-size:12px;min-height:49px}
.scroll-hero .hero-actions .text-link{font-size:12px}
.scene-credit{position:absolute;right:24px;bottom:97px;z-index:3;font-size:9px;letter-spacing:.4px;color:#fff;text-shadow:0 1px 5px #30291d;background:#2535278c;padding:4px 9px;border-radius:2px}
.scene-loader{position:absolute;right:25px;top:24px;z-index:4;background:#f8f6f0ec;color:var(--green);padding:8px 13px;font-size:10px;border-radius:2px}
.scene-ui{position:absolute;left:max(5%,calc((100vw - 1192px)/2));right:max(5%,calc((100vw - 1192px)/2));bottom:28px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:21px;border-top:1px solid #929b804d}
.scene-journey,.scene-controls{display:flex;align-items:center;gap:20px}
.scene-scroll-label{font-size:10px;color:#59674f;letter-spacing:.5px}
.scene-progress{display:none;overflow:hidden;width:100px;height:2px;background:#8c987951}
.is-scrollable .scene-progress{display:block}
.scene-progress-fill{display:block;width:100%;height:100%;background:var(--green);transform:scaleX(var(--scene-progress));transform-origin:left center}
.scene-control{border:1px solid #aab39d;background:#f8f6f0c9;color:var(--green);font-size:10px;padding:8px 14px;min-height:36px;min-width:60px;border-radius:25px}
.scene-control:hover{background:var(--paper)}
.scene-skip{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:600;min-height:44px;padding:6px 0;color:var(--green)}
.scene-skip .icon{width:14px;height:17px}
.scroll-hero .hero-stage::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,var(--paper) 0%,rgba(248,246,240,.88) 13%,transparent 60%);opacity:var(--scene-exit)}
/* The last frame gives way to the existing cream service ribbon and genuine creations. */
.scroll-hero+.service-ribbon{position:relative;z-index:2;border-top:0;background:var(--paper)}
@media(max-width:1100px) and (min-width:701px){.scroll-hero .hero-content{padding-left:40px;padding-right:40px}.scroll-hero .hero-content h1{font-size:62px}.scroll-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:15px}.scroll-hero .hero-actions .button,.scroll-hero .hero-actions .text-link{font-size:11px}.scene-ui{left:40px;right:40px}.scene-media::after{background:linear-gradient(90deg,rgba(245,243,236,.98),rgba(245,243,236,.89) 37%,rgba(245,243,236,.4) 61%,transparent 85%),linear-gradient(0deg,rgba(248,246,240,.95),transparent 28%)}}
@media(max-width:700px){
 .scroll-hero{--scene-height:100svh;--scene-runway:150svh}
 .scroll-hero .hero-stage,.scroll-hero.is-scrollable .hero-stage{height:var(--scene-height);min-height:0;display:block;padding:0;background:#25382d}
 .scroll-hero .hero-content{height:100%;width:100%;padding:135px 26px 175px;margin:0;justify-content:center;pointer-events:none;color:#fffaf0}
 .scroll-hero .hero-content>*{flex-shrink:0}
 .scroll-hero .hero-content .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px;color:#ede6d6}
 .scroll-hero .hero-content h1{font-size:clamp(38px,11.4vw,66px);line-height:1.02;letter-spacing:-1.25px;text-shadow:0 2px 18px #111c1650}
 .scroll-hero .hero-content h1 em{color:#e8cba7}
 .scroll-hero .hero-description{font-size:12px;line-height:1.8;margin-top:22px;color:#fff9ec;max-width:355px;text-shadow:0 1px 8px #122018}
 .scroll-hero .hero-description br{display:none}
 .scroll-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:11px;margin-top:24px}
 .scroll-hero .hero-actions .button{font-size:11px;min-height:48px;padding:13px 19px;background:#f8f3e8;color:#263e33;border-color:#f8f3e8;box-shadow:0 4px 20px #16291c25}
 .scroll-hero .hero-actions .text-link{font-size:11px;min-height:36px;display:flex;align-items:center;padding-bottom:2px;color:#fff9ee;border-bottom-color:#fff7e880}
 .scene-media{position:absolute;inset:0;width:100%;height:100%}
 .scene-poster,.scene-video{object-fit:cover;object-position:center}
 .scene-media::after{display:block;background:linear-gradient(180deg,rgba(15,27,20,.4),rgba(15,27,20,.06) 25%,rgba(15,27,20,.15) 70%,rgba(15,27,20,.67)),linear-gradient(90deg,rgba(15,27,20,.72),rgba(15,27,20,.30) 72%,rgba(15,27,20,.07))}
 .scene-credit{font-size:7px;right:26px;bottom:146px;padding:3px 6px}
 .scene-loader{font-size:9px;top:118px;right:20px;padding:6px 9px}
 .scene-ui{position:absolute;left:26px;right:26px;bottom:72px;margin:0;padding:14px 0 0;gap:8px;border-top:1px solid #fff9e84d;align-items:center;background:transparent}
 .scene-journey{gap:8px;flex-direction:column;align-items:flex-start}
 .scene-scroll-label{font-size:8px;letter-spacing:.15px;max-width:125px;line-height:1.5;color:#fff8e9}
 .scene-progress{width:64px;background:#fff7e850}
 .scene-progress-fill{background:#f4dbc0}
 .scene-controls{gap:12px}
 .scene-control{font-size:9px;min-width:0;min-height:40px;padding:8px 12px;color:#fff9ef;background:#25382d66;border-color:#fff5e780}
 .scene-control:hover{background:#25382dcc}
 .scene-skip{font-size:9px;gap:7px;white-space:nowrap;color:#fff9ef}
 .scene-skip .icon{width:11px;height:14px}
 .scroll-hero .hero-stage::before{background:linear-gradient(0deg,var(--paper),transparent 8%);z-index:2}
 .scroll-hero.is-static .hero-stage{height:auto;min-height:var(--scene-height)}
 .scroll-hero.is-static .hero-content{height:auto;min-height:var(--scene-height)}
}
@media(max-width:700px) and (max-height:760px){.scroll-hero .hero-content{padding-top:120px;padding-bottom:154px}.scroll-hero .hero-content .eyebrow{margin-bottom:14px}.scroll-hero .hero-content h1{font-size:clamp(36px,10.3vw,49px)}.scroll-hero .hero-description{font-size:11px;margin-top:16px}.scroll-hero .hero-actions{margin-top:17px;gap:7px}.scene-credit{bottom:134px}}
@media(max-width:700px) and (max-height:620px){.scroll-hero .hero-content{padding-top:103px;padding-bottom:137px}.scroll-hero .hero-content .eyebrow{font-size:8px;margin-bottom:10px}.scroll-hero .hero-content h1{font-size:35px}.scroll-hero .hero-description{font-size:10px;line-height:1.6;margin-top:13px}.scroll-hero .hero-actions{margin-top:13px;gap:4px}.scroll-hero .hero-actions .button{min-height:42px;font-size:10px}.scroll-hero .hero-actions .text-link{min-height:31px;font-size:10px}.scene-ui{bottom:62px;padding-top:9px}.scene-credit{bottom:119px}.scene-loader{top:90px}}
@media(max-width:360px){.scroll-hero .hero-content{padding-inline:20px}.scroll-hero .hero-content h1{font-size:35px}.scene-ui{left:20px;right:20px}.scene-journey{max-width:90px}.scene-controls{gap:9px}.scene-control{padding-inline:10px}}
@media(max-height:559px) and (min-width:701px){.scroll-hero .hero-stage{height:auto;min-height:580px}.scroll-hero .hero-content{padding-block:50px 100px}.scene-ui{bottom:16px}.scene-credit{bottom:90px}}
@media(prefers-reduced-motion:reduce){.scene-video{transition:none}.scroll-hero .hero-stage::before{display:none}}
