/* One native scroll drives the image expansion and linked visual chapters. */
:root{--header-height:92px;--page-progress:0}
.hero-track{position:relative}
.hero-scene-title,.service-story-stage{display:none}
.header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--lime);transform-origin:left;transform:scaleX(var(--page-progress));pointer-events:none}
.hero-gallery .hero-image:first-child{object-position:50% 76%}
.hero-gallery .hero-image:nth-child(2){object-position:50% 50%}
.hero-gallery .hero-image:nth-child(3){object-position:65% 50%}
.motion-ready .motion-reveal{opacity:var(--enter-opacity,1);transform:translate3d(0,var(--enter-y,0px),0)}
.motion-ready .motion-reveal:focus-within{opacity:1;transform:none}
.motion-ready .about-photo>img,.motion-ready .tips-feature>img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.085)}
.cinematic-motion .hero-track{height:190svh;min-height:1200px;z-index:1}
.cinematic-motion .hero{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;max-width:none;width:100%;display:block;overflow:hidden;isolation:isolate}
.cinematic-motion .hero-copy{position:absolute;left:0;top:0;bottom:0;width:50%;padding:24px 36px 24px max(48px,calc((100vw - 1280px)/2));opacity:var(--hero-copy-opacity,1);transform:translate3d(0,var(--hero-copy-y,0px),0);z-index:2}
.cinematic-motion .hero-copy-inner{max-width:550px}
.cinematic-motion .hero h1{font-size:clamp(58px,5.1vw,78px)}
.cinematic-motion .hero .eyebrow{margin-bottom:22px}
.cinematic-motion .hero-desc{font-size:13px;margin-top:20px;line-height:1.8}
.cinematic-motion .hero-desc-last{margin-top:0}
.cinematic-motion .hero-actions{margin-top:23px}
.cinematic-motion .hero-note{margin-top:17px}
.cinematic-motion .quick-services{padding-top:12px;margin-top:17px}
.cinematic-motion .quick-services>p{margin-bottom:6px}
.cinematic-motion .quick-services a{padding:8px 10px;min-height:35px}
.cinematic-motion .hero-image-wrap{position:absolute;top:0;bottom:0;left:var(--hero-photo-left,50%);width:var(--hero-photo-width,50%);height:auto;z-index:1}
.cinematic-motion .hero-image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111b16bb,#111b1633);opacity:var(--hero-shade,0);pointer-events:none;z-index:1}
.cinematic-motion .hero-gallery .hero-image{transform:translate3d(0,var(--hero-photo-y,0px),0) scale(var(--hero-photo-scale,1));transform-origin:50% 60%}
.cinematic-motion .hero-image-caption,.cinematic-motion .gallery-controls,.cinematic-motion .image-top-label,.cinematic-motion .image-side-note{opacity:var(--hero-details-opacity,1);z-index:2}
.cinematic-motion .hero-scene-title{display:block;position:absolute;left:max(48px,calc((100vw - 1280px)/2));top:50%;transform:translate3d(0,calc(-50% + var(--hero-title-y,35px)),0);z-index:3;color:#fff;pointer-events:none;opacity:var(--hero-title-opacity,0)}
.hero-scene-title p{font-size:clamp(64px,8.8vw,140px);font-weight:800;letter-spacing:-.075em;line-height:.97;text-shadow:0 2px 25px #0b180d33}
.hero-scene-title p>span{color:var(--lime)}
.hero-scene-title small{display:flex;align-items:center;gap:24px;font-size:10px;letter-spacing:.13em;margin-top:28px}
.hero-scene-title small>span{font-size:21px}
.cinematic-motion .hero-copy:focus-within{opacity:1;transform:none;pointer-events:auto!important}
.cinematic-motion .hero:has(.hero-copy:focus-within) .hero-image-wrap{left:50%;width:50%}
.cinematic-motion .hero:has(.hero-copy:focus-within) .hero-scene-title{opacity:0}
.cinematic-motion .hero-image-caption:focus-visible,.cinematic-motion .gallery-controls:focus-within{opacity:1;pointer-events:auto!important}
.promise-strip{position:relative;z-index:3}
.cinematic-motion .services{position:relative;z-index:4;background:var(--paper);padding-top:90px;padding-bottom:55px}
.cinematic-motion .service-story-flow{position:relative;--service-frame-height:calc(100svh - var(--header-height) - 48px)}
.cinematic-motion .service-story-stage{display:block;position:sticky;top:calc(var(--header-height) + 24px);height:var(--service-frame-height);min-height:420px;width:55%;margin-left:45%;overflow:hidden;background:var(--ink);z-index:1}
.service-story-images{position:absolute;inset:0}
.service-story-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:var(--scene-alpha,0);transform:scale(var(--scene-scale,1.03))}
.service-story-images img:first-child{opacity:var(--scene-alpha,1)}
.service-story-images img:nth-child(2){object-position:62% 50%}
.service-story-caption{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;gap:22px;padding:18px 22px;background:#171b18ed;color:white;font-size:14px;z-index:2}
.story-counter{color:var(--lime);font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.story-label{font-weight:500}
.cinematic-motion .service-story-panels{position:relative;margin-top:calc(0px - var(--service-frame-height));z-index:2;pointer-events:none}
.cinematic-motion .service-story-panels .service-panel{display:flex!important;align-items:center;width:42%;min-height:calc(100svh - var(--header-height));padding:36px 25px 36px 0;pointer-events:auto;animation:none;scroll-margin-top:0}
.cinematic-motion .service-story-panels .service-visual{display:none}
.cinematic-motion .service-story-panels .service-copy{width:100%;padding:26px 0}
.cinematic-motion .service-copy h3{font-size:clamp(28px,2.7vw,40px)}
.cinematic-motion .about{position:relative;z-index:5}
.cinematic-motion .process{position:relative;z-index:6;margin-top:-45px;border-radius:45px 45px 0 0;padding-top:95px}
.cinematic-motion .tips-section,.cinematic-motion .faq{position:relative;z-index:6;background:#fff}
.cinematic-motion .contact{position:relative;z-index:7}
.cinematic-motion .contact:before{content:'';position:absolute;left:0;right:0;top:-70px;height:71px;background:linear-gradient(0deg,#171b18,transparent);pointer-events:none}
@media(min-width:901px) and (max-width:1150px){.cinematic-motion .hero-copy{padding-left:36px;padding-right:26px}.cinematic-motion .hero h1{font-size:62px}.cinematic-motion .hero-actions .button{font-size:10px;padding-inline:16px;gap:12px}.cinematic-motion .hero-actions{gap:17px}.cinematic-motion .hero-actions .text-link{font-size:10px}.cinematic-motion .hero-note{font-size:9px}.cinematic-motion .quick-services a{font-size:9px;gap:8px}.cinematic-motion .hero-scene-title{left:36px}.cinematic-motion .service-copy>p:not(.eyebrow){font-size:13px}.cinematic-motion .feature-list li{font-size:11px}}
@media(min-width:901px) and (max-height:799px){.cinematic-motion .hero-copy{padding-top:16px;padding-bottom:16px}.cinematic-motion .hero h1{font-size:56px}.cinematic-motion .hero .eyebrow{margin-bottom:16px;font-size:8px}.cinematic-motion .hero-desc{font-size:12px;line-height:1.7;margin-top:16px}.cinematic-motion .hero-desc-last{margin-top:0}.cinematic-motion .hero-actions{margin-top:16px}.cinematic-motion .hero-actions .button{min-height:48px;padding:14px 17px;font-size:10px}.cinematic-motion .hero-actions .text-link{font-size:10px}.cinematic-motion .hero-note{margin-top:13px;font-size:9px}.cinematic-motion .quick-services{margin-top:14px;padding-top:10px}.cinematic-motion .quick-services>p{font-size:10px;margin-bottom:5px}.cinematic-motion .quick-services a{font-size:9px;padding:7px 9px;min-height:32px}.hero-scene-title p{font-size:clamp(66px,7.5vw,115px)}}
@media(max-width:680px){.hero-gallery .hero-image:first-child{object-position:50% 74%}.hero-gallery .hero-image:nth-child(3){object-position:58% 50%}.motion-ready .about-photo>img,.motion-ready .tips-feature>img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.045)}}
@media(prefers-reduced-motion:reduce){.header:after{transform:none;display:none}.motion-ready .motion-reveal,.motion-ready .about-photo>img,.motion-ready .tips-feature>img{opacity:1;transform:none}.hero-scene-title,.service-story-stage{display:none}}
