.service-story{position:relative;background:#fff;scroll-margin-top:110px}
.service-story-intro.wrap{display:block;padding-top:105px;padding-bottom:68px}
.service-story-intro>.eyebrow{margin:0 0 28px}
.service-story-intro>div{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:end}
.service-story-intro h2{font-size:clamp(48px,6.1vw,88px);line-height:1.04;max-width:750px}
.service-story-intro>div>p{align-self:end;max-width:350px;padding-bottom:5px;font-size:13px;line-height:1.9;color:var(--muted,#686868)}
/* Without JavaScript all service copy remains in normal reading order. */
.service-story-layout.wrap{position:relative;display:block;padding-top:0;padding-bottom:90px}
.service-story-visual{position:relative;aspect-ratio:16/9;margin-bottom:60px}
.service-story-stage{height:100%;position:absolute;inset:0;overflow:hidden;background:#eef0f1;isolation:isolate}
.service-story-stage>[data-story-image]{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.025);transition:opacity .65s ease,transform 1.15s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.service-story-stage>[data-story-image]:first-child{opacity:1}
.is-story-ready .service-story-stage>[data-story-image]{opacity:0}
.is-story-ready .service-story-stage>[data-story-image].is-active{opacity:1;transform:scale(1)}
.service-story-stage>[data-story-image]>picture,.service-story-stage>[data-story-image] img{width:100%;height:100%;display:block}
.service-story-stage>[data-story-image] img{object-fit:cover;object-position:35% 50%}
.service-story-caption{position:absolute;z-index:2;inset:auto 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:25px;padding:64px 5% 25px;color:#151515;background:linear-gradient(0deg,rgba(255,255,255,.9),rgba(255,255,255,.6) 45%,rgba(255,255,255,0));font-size:12px;line-height:1.4}
.service-story-caption>[data-story-count]{font-size:10px;letter-spacing:.08em;white-space:nowrap}
.service-story-caption>[data-story-label]{max-width:70%;text-align:right}
.service-story-progress{position:absolute;z-index:3;inset:auto 0 0;height:2px;background:rgba(15,15,15,.12);overflow:hidden}
.service-story-progress>[data-story-progress]{display:block;width:100%;height:100%;background:#151515;transform-origin:left center;transform:scaleX(.025)}
.service-story-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 8%;min-width:0}
.service-story-chapter{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:0}
.service-story-chapter>.eyebrow{font-size:9px;line-height:1.6;letter-spacing:.09em;margin-bottom:24px}
.service-story-chapter h3{font-size:clamp(34px,3.4vw,51px);line-height:1.07;letter-spacing:-.05em;max-width:510px;margin-bottom:24px}
.service-story-chapter h3 a{display:block;text-decoration-thickness:1px;text-underline-offset:6px}
.service-story-chapter h3 a:hover{text-decoration:underline}
.service-story-chapter>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#5d6263;max-width:460px}
.service-story-chapter ul{list-style:none;margin:24px 0 28px;padding:0;width:100%;max-width:460px;color:#5d6263;font-size:11px;line-height:1.8}
.service-story-chapter li{padding:8px 0}
.service-story-chapter>.line-link{font-size:11px;align-self:flex-start;margin-top:0;border-bottom:0}
.service-story-inline-image,.service-story-jumps{display:none}
/* One edge-to-edge photo and synchronized copy stage on desktop and phones. */
.service-story.is-story-ready:not(.is-story-static) .service-story-layout.wrap{max-width:none;padding:0;isolation:isolate}
.service-story.is-story-ready:not(.is-story-static) .service-story-visual{position:sticky;z-index:0;top:var(--story-header-height,90px);height:var(--story-screen-height,calc(100svh - 90px));width:100%;aspect-ratio:auto;margin:0}
.service-story.is-story-ready:not(.is-story-static) .service-story-stage:after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.02) 26%,rgba(255,255,255,.3) 42%,rgba(255,255,255,.93) 56%,#fff 77%,#fff 100%)}
.service-story.is-story-ready:not(.is-story-static) .service-story-caption{right:52%;padding:70px 5% 26px;background:linear-gradient(0deg,rgba(255,255,255,.83),rgba(255,255,255,0))}
.service-story.is-story-ready:not(.is-story-static) .service-story-chapters{position:relative;z-index:1;display:block;margin-top:calc(-1 * var(--story-screen-height,calc(100svh - 90px)));height:calc(var(--story-screen-height,calc(100svh - 90px)) * var(--story-count,6))}
.service-story.is-story-ready:not(.is-story-static) .service-story-copy-stage{position:sticky;top:var(--story-header-height,90px);height:var(--story-screen-height,calc(100svh - 90px));pointer-events:none}
.service-story.is-story-ready:not(.is-story-static) .service-story-chapter{position:absolute;inset:0 8% 0 54%;height:100%;padding:50px 0 84px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .25s ease,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s linear .25s}
.service-story.is-story-ready:not(.is-story-static) .service-story-chapter.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .4s ease .25s,transform .4s cubic-bezier(.2,.7,.2,1) .25s,visibility 0s linear 0s}
.service-story.is-story-ready:not(.is-story-static) .service-story-jumps{position:absolute;bottom:28px;left:54%;right:8%;z-index:4;display:flex;gap:10px;pointer-events:auto}
.service-story-jumps button{appearance:none;background:transparent;border:0;border-bottom:1px solid #c5c9ca;color:#939a9c;min-width:38px;min-height:30px;padding:4px 8px;font:inherit;font-size:9px;letter-spacing:.06em;cursor:pointer;transition:color .2s,border-color .2s}
.service-story-jumps button[aria-current=step],.service-story-jumps button:hover{color:#151515;border-color:#151515}
.service-story-jumps button:focus-visible{outline:2px solid #151515;outline-offset:4px}
@media(min-width:761px){
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.eyebrow{font-size:10px;line-height:1.5;margin-bottom:18px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(38px,4vw,58px);line-height:1.06;max-width:560px;margin-bottom:20px}
 html[data-typeface=editorial] .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(44px,4.6vw,66px);line-height:1.01}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:510px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter ul{font-size:12.5px;line-height:1.7;max-width:510px;margin:20px 0 24px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter li{padding-block:7px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.line-link{font-size:12.5px;line-height:1.6}
 .service-story-chapter>.service-story-doodle{display:block;flex:none;width:36px;height:36px;margin:0 0 12px;object-fit:contain}
}
@media(min-width:761px) and (max-width:1280px){
 .service-story.is-story-ready:not(.is-story-static) .service-story-jumps{bottom:90px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter{padding-top:34px;padding-bottom:132px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(38px,4.2vw,49px)}
 html[data-typeface=editorial] .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(44px,5.3vw,54px)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>p:not(.eyebrow){font-size:14.5px;line-height:1.75}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter ul{font-size:12px;line-height:1.6;margin:18px 0 20px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter li{padding-block:6px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.line-link{font-size:12px}
}
@media(min-width:761px) and (max-width:1100px){
 .service-story-intro.wrap{padding-top:80px;padding-bottom:50px}
 .service-story-intro>div{gap:7%}
 .service-story-intro h2{font-size:clamp(47px,6.2vw,65px)}
 .service-story-chapter h3{font-size:clamp(32px,4vw,42px)}
 .service-story-chapter>p:not(.eyebrow){font-size:12px}
 .service-story-chapter ul{font-size:10px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter{left:50%;right:7%}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(36px,4.7vw,44px)}
 html[data-typeface=editorial] .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(42px,5vw,50px)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>p:not(.eyebrow){font-size:14px;line-height:1.7}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter ul{font-size:11.5px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-jumps{left:50%;right:7%;gap:7px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-stage:after{background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.12) 29%,rgba(255,255,255,.94) 50%,#fff 77%)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-caption{right:54%;font-size:10px;padding-inline:5%}
}
/* Reduced motion and short landscape viewports retain normal reading. */
.service-story.is-story-static .service-story-visual{display:none}
.service-story.is-story-static .service-story-chapters{display:block}
.service-story.is-story-static .service-story-copy-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 8%}
.service-story.is-story-static .service-story-inline-image{display:block;aspect-ratio:4/3;width:100%;overflow:hidden;margin:0 0 28px;background:#eef0f1}
.service-story-inline-image>picture,.service-story-inline-image img{display:block;width:100%;height:100%}
.service-story-inline-image img{object-fit:cover;object-position:center}
@media(max-width:760px){
 .service-story-intro.wrap{padding-top:70px;padding-bottom:42px}
 .service-story-intro>div{display:block}
 .service-story-intro h2{font-size:clamp(43px,10.5vw,65px);max-width:600px}
 .service-story-intro>div>p{font-size:12px;line-height:1.9;margin-top:26px;padding:0;max-width:350px}
 .service-story-layout.wrap{padding-bottom:70px}
 .service-story-visual{aspect-ratio:4/3}
 .service-story-chapters,.service-story.is-story-static .service-story-copy-stage{display:block}
 .service-story-chapter{display:block;padding:0;margin-bottom:50px}
 .service-story-chapter:last-child{margin-bottom:0}
 .service-story-chapter>.eyebrow{font-size:8px;margin-bottom:20px}
 .service-story-chapter h3{font-size:clamp(33px,8.3vw,46px);max-width:470px;margin-bottom:22px}
 .service-story-chapter>p:not(.eyebrow){font-size:12px;max-width:100%}
 .service-story-chapter ul{font-size:11px;max-width:100%;margin-block:22px 27px}
}
@media(prefers-reduced-motion:reduce){
 .service-story-stage>[data-story-image]{transition:none;transform:none}
 .service-story-jumps button{transition:none}
}

/* Measure stable Safari small-viewport height without adding document flow. */
.service-story-viewport-probe{position:absolute;inset:0 auto auto 0;width:0;height:100svh;visibility:hidden;pointer-events:none}
@media(max-width:760px){
 .service-story{--story-live-height:var(--story-screen-height,calc(100svh - 74px))}
 .service-story-chapter>.service-story-doodle{display:block;width:32px;height:32px;margin:0 0 14px;object-fit:contain}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.service-story-doodle{display:none}
 .service-story.is-story-ready:not(.is-story-static) .service-story-visual,.service-story.is-story-ready:not(.is-story-static) .service-story-copy-stage{height:var(--story-live-height)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapters{margin-top:calc(-1 * var(--story-live-height))}
 .service-story.is-story-ready:not(.is-story-static) .service-story-stage img{object-position:43% 37%}
 .service-story.is-story-ready:not(.is-story-static) .service-story-stage:after{background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.08) 17%,rgba(255,255,255,.86) 34%,rgba(255,255,255,.98) 51%,#fff 72%,#fff 100%)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-caption{display:none}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter{inset:0;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;margin:0;padding:18px 6% calc(70px + env(safe-area-inset-bottom,0px));transform:translateY(10px)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter.is-active{transform:translateY(0)}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.eyebrow{font-size:8px;line-height:1.5;letter-spacing:.075em;margin:0 0 10px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(30px,8.2vw,37px);line-height:1.05;margin-bottom:12px;max-width:100%}
 html[data-typeface=editorial] .service-story.is-story-ready:not(.is-story-static) .service-story-chapter h3{font-size:clamp(34px,9.2vw,41px);line-height:1.01}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>p:not(.eyebrow){font-size:11.5px;line-height:1.65;max-width:100%}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter ul{font-size:10.5px;line-height:1.55;max-width:100%;margin:12px 0 16px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter li{padding:5px 0}
 .service-story.is-story-ready:not(.is-story-static) .service-story-chapter>.line-link{font-size:11px;line-height:1.5}
 .service-story.is-story-ready:not(.is-story-static) .service-story-jumps{left:6%;right:72px;bottom:calc(15px + env(safe-area-inset-bottom,0px));gap:6px}
 .service-story.is-story-ready:not(.is-story-static) .service-story-jumps button{flex:0 1 34px;min-width:30px;min-height:38px;padding:6px 4px;font-size:9px}
 /* Keep the assistant available without covering chapter controls or copy. */
 body:has(.service-story.is-story-on-screen:not(.is-story-static)) .voice-launch{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));width:44px;height:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;gap:0}
 body:has(.service-story.is-story-on-screen:not(.is-story-static)) .voice-launch>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 body:has(.service-story.is-story-on-screen:not(.is-story-static)) .voice-launch:after{content:'AI';font-size:11px;font-weight:550;line-height:1;letter-spacing:.02em}
}
@supports(height:100dvh){
 @media(max-width:760px){.service-story{--story-live-height:calc(100dvh - var(--story-header-height,74px))}}
}
