/* V08: spatial images, readable copy, explicit chapter navigation. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.visual-v8 .rs-mini{opacity:.7;flex-shrink:0}
.visual-v8 .rs-mini-back{rotate:180deg;margin-left:0;margin-right:10px}
.visual-v8 .back-link{align-items:center;gap:2px}
.visual-v8 .back-link>.rs-mini{margin-left:0;margin-right:10px}
.visual-v8 .site-header nav .nav-cue,.visual-v8 .site-header nav .nav-contact{display:none}
.visual-v8 .site-header nav{gap:28px}
.visual-v8 .site-header nav a{font-size:13px}
.visual-v8 .site-header .header-contact{font-weight:400}
/* Native horizontal scrolling keeps touch gestures independent of animation JavaScript. */
.chapter-hero{position:relative;background:#101013;color:#fff;max-width:1600px;margin:0 auto;isolation:isolate}
.chapter-track{position:relative;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;outline-offset:-5px}
.chapter-track::-webkit-scrollbar{display:none}
.chapter-slide{flex:0 0 100%;min-width:0;min-height:740px;position:relative;isolation:isolate;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;overflow:hidden;background:#101013;padding:70px var(--gutter) 120px}
.chapter-visual{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.chapter-visual>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.chapter-slide::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101013 0%,#101013e0 24%,#10101373 55%,#10101308 78%),linear-gradient(0deg,#101013f5,transparent 25%)}
.chapter-brand::after{background:linear-gradient(90deg,#101013 2%,#101013b8 42%,transparent 70%),linear-gradient(0deg,#101013e8,transparent 22%)}
.chapter-insights .chapter-visual>img{object-position:70% center;opacity:.85}
.chapter-insights::after{background:linear-gradient(90deg,#17121f 0%,#17121ff2 28%,#17121f9e 55%,#17121f12 95%),linear-gradient(0deg,#17121f,transparent 30%)}
.chapter-about .chapter-visual>img{object-position:65% center}
.chapter-copy{max-width:850px;width:66%;position:relative;z-index:1}
.chapter-copy>.eyebrow{color:#d8cddd;font-size:10px;letter-spacing:.12em;line-height:1.6;margin-bottom:28px}
.chapter-title{font-size:clamp(52px,6.1vw,88px);line-height:1.075;letter-spacing:-.055em;font-weight:500;margin:0 0 27px}
.chapter-title .hero-line-frame{background:#e9dfff;color:#171218;padding:0 .11em .03em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.chapter-title .hero-result-frame{display:inline-block;background:#fa4900;color:#171218;padding:0 .12em .04em;margin-top:8px;margin-left:.52em}
.chapter-description{font-size:17px;line-height:1.58;max-width:510px;color:#e1dbe4;margin:0 0 30px}
.chapter-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;border:1px solid #f7f1f9;background:#f7f1f9;color:#171218;padding:15px 23px;font-size:13px;font-weight:600;transition:background .2s,color .2s}
.chapter-cta:hover{background:#e9dfff;border-color:#e9dfff}
.chapter-cta:focus-visible{outline:3px solid #fa4900;outline-offset:6px}
.chapter-controls{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);bottom:24px;display:grid;grid-template-columns:1fr auto auto;gap:26px;align-items:center;color:#f0e8f4}
.chapter-controls[hidden]{display:none}
.chapter-status{font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.chapter-pagination{display:flex;align-items:center;gap:7px}
.chapter-pagination button{position:relative;border:0;padding:0;width:28px;min-height:44px;background:none;cursor:pointer;color:inherit}
.chapter-pagination button::after{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:#fff5;transition:background .2s}
.chapter-pagination button[aria-current="true"]::after{background:#fa4900;height:3px}
.chapter-arrows{display:flex;gap:9px}
.chapter-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff60;background:transparent;color:#fff;cursor:pointer}
.chapter-arrows button:disabled{opacity:.25;cursor:default}
.visual-v8 .chapter-arrows .rs-mini{margin:0!important;width:19px!important;height:17px!important;flex-basis:19px}
.chapter-swipe-hint{display:none}
.chapter-people{position:absolute;inset:0 0 0 35%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:center;transform:rotate(-7deg) scale(1.05);background:#1e1525}
.chapter-people img{width:100%;height:410px;object-fit:cover;filter:grayscale(1);border:1px solid #ffffff1c}
.chapter-people img:nth-child(2){transform:translateY(90px)}
.chapter-people img:nth-child(3){transform:translateY(-80px)}
/* Full product composition: imagery stays visible above the complete product explanation. */
.visual-v8 .product-grid{gap:28px;align-items:stretch}
.visual-v8 .spatial-product,.visual-v8 .spatial-product:nth-child(n){padding:0!important;min-height:0;background:#15101b;color:#fff4ef;box-shadow:0 18px 50px #1c102316}
.visual-v8 .spatial-commerce:nth-child(n){background:#56201e}
.visual-v8 .spatial-customer:nth-child(n){background:#eee4f1;color:#211729}
.visual-v8 .spatial-data:nth-child(n){background:#151126}
.visual-v8 .spatial-product::before{display:none}
.product-visual{position:relative;width:100%;aspect-ratio:1.875;overflow:hidden;background:#17121f;isolation:isolate}
.product-visual>img{width:100%;height:100%;object-fit:cover;max-width:none;transform:scale(1.035) translate(var(--art-x,0px),var(--art-y,0px));transition:transform .45s cubic-bezier(.2,.65,.2,1)}
.product-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,65%) var(--light-y,25%),#fff2,transparent 60%);opacity:0;transition:opacity .35s}
.spatial-product:hover .product-visual::after,.spatial-product:focus-visible .product-visual::after{opacity:1}
.visual-v8 .product-copy{display:flex;flex-direction:column;flex:1;padding:27px 30px 30px}
.visual-v8 .product-copy .product-meta{font-size:10px;gap:20px;color:inherit;opacity:.8}
.visual-v8 .product-copy h3{font-size:clamp(29px,3vw,44px);line-height:1.09;margin:24px 0 22px;letter-spacing:-.04em}
.visual-v8 .product-copy>p{font-size:15px;line-height:1.6;color:inherit;opacity:.86;max-width:580px}
.visual-v8 .product-copy .card-bottom{padding-top:30px;gap:17px;color:inherit;opacity:.95}
.visual-v8 .product-copy .card-action{min-height:34px;gap:24px;font-size:12px}
.product-data-pulse{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.product-data-pulse path{fill:none;stroke:#fff4dc;stroke-width:3;stroke-linecap:round;stroke-dasharray:7 920;stroke-dashoffset:0;opacity:0}
@media(hover:hover) and (pointer:fine){.spatial-data:hover .product-data-pulse path{animation:rs-data-travel 2.8s ease-out 1}.spatial-data:hover .product-data-pulse path:nth-child(2){animation-delay:.15s}.spatial-data:hover .product-data-pulse path:nth-child(3){animation-delay:.3s}}
.motion-ready .spatial-data.is-in-view .product-data-pulse path{animation:rs-data-travel 2.8s ease-out 1}
.motion-ready .spatial-data.is-in-view .product-data-pulse path:nth-child(2){animation-delay:.15s}
.motion-ready .spatial-data.is-in-view .product-data-pulse path:nth-child(3){animation-delay:.3s}
@keyframes rs-data-travel{0%{stroke-dashoffset:0;opacity:0}15%{opacity:.9}90%{opacity:.8}100%{stroke-dashoffset:-920;opacity:0}}
.visual-v8 .spatial-detail{background-repeat:no-repeat;background-position:right center;background-size:cover;position:relative;isolation:isolate;overflow:hidden}
.visual-v8 .spatial-detail::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101013 2%,#101013eb 36%,#10101377 75%,#10101330)}
.visual-v8 .spatial-detail-growth{background-image:url('assets/depth-growth.webp')}
.visual-v8 .spatial-detail-commerce{background-image:url('assets/depth-commerce.webp')}
.visual-v8 .spatial-detail-customer{background-image:url('assets/depth-customer.webp')}
.visual-v8 .spatial-detail-data{background-image:url('assets/depth-data.webp')}
.visual-v8 .challenge-grid b.rs-mini{justify-self:end}
.visual-v8 .method-grid h3{justify-content:flex-start}
.visual-v8 .career-projects a>span{display:flex;justify-content:space-between;gap:20px;align-items:center}
.visual-v8 .job-row>span{display:flex;gap:20px;align-items:center}
.visual-v8 .contact-person>a .rs-mini{width:12px!important;height:11px!important;margin-left:5px}
.v8-handoff{border-bottom:1px solid #d7d3dc}.v8-handoff h2{margin-top:24px}
@media(max-width:1150px){.chapter-copy{width:73%}.chapter-title{font-size:clamp(52px,6.4vw,72px)}.chapter-slide{min-height:700px}.visual-v8 .site-header nav{gap:20px}.visual-v8 .product-copy{padding:24px}.visual-v8 .product-copy h3{font-size:33px}}
@media(max-width:899px){
 .visual-v8 .site-header.nav-ready nav{min-height:calc(100dvh - var(--header-height,66px));max-height:calc(100dvh - var(--header-height,66px));padding:30px 7vw 42px;box-shadow:none;overscroll-behavior:contain}
 .visual-v8 .site-header.nav-open nav{justify-content:flex-start}
 .visual-v8 .site-header.nav-open nav>a{font-size:clamp(25px,3.6vw,32px);font-weight:400;min-height:66px;padding:17px 0;border:0;justify-content:space-between}
 .visual-v8 .site-header.nav-open nav .nav-cue{display:inline-block}
 .visual-v8 .site-header.nav-open nav .nav-contact{display:flex;margin-top:38px;border:1px solid #ffffff77;padding:14px 20px;min-height:52px;font-size:15px;letter-spacing:.03em}
 .visual-v8 .site-header.nav-open .header-contact{visibility:hidden}
 .chapter-copy{width:80%}.chapter-slide{padding-top:50px;min-height:720px}
}
@media(max-width:760px){
 .chapter-slide{min-height:max(700px,calc(100svh - var(--header-height,66px)));align-items:flex-end;padding:170px 24px 115px}
 .chapter-copy{width:100%;max-width:none}
 .chapter-copy>.eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:20px;max-width:290px}
 .chapter-title{font-size:clamp(39px,9.6vw,60px);line-height:1.12;margin-bottom:23px}
 .chapter-description{font-size:15px;max-width:470px;margin-bottom:25px;line-height:1.55}
 .chapter-cta{font-size:12px;min-height:50px;padding:14px 18px;gap:30px}
 .chapter-slide::after,.chapter-brand::after,.chapter-insights::after{background:linear-gradient(0deg,#101013 0%,#101013ef 45%,#101013b0 65%,#10101308 100%)}
 .chapter-visual{inset:0 0 180px}
 .chapter-visual>img{object-position:70% top;object-fit:cover}
 .chapter-brand .chapter-visual>img{object-position:91% top;width:150%;margin-left:-50%;height:100%;object-fit:cover}
 .chapter-people{inset:-30px -20px 0 5%;gap:8px;align-items:start;padding-top:35px}
 .chapter-people img{height:300px}.chapter-people img:nth-child(2){transform:translateY(60px)}.chapter-people img:nth-child(3){transform:translateY(-25px)}
 .chapter-controls{left:24px;right:24px;bottom:16px;gap:5px 12px;grid-template-columns:1fr auto}
 .chapter-status{font-size:9px;grid-column:1;grid-row:1}
 .chapter-pagination{grid-column:1;grid-row:2;gap:6px}
 .chapter-pagination button{width:25px;min-height:34px}.chapter-pagination button::after{top:16px}
 .chapter-arrows{grid-column:2;grid-row:1/3;gap:7px}
 .chapter-swipe-hint{display:block;grid-column:1/-1;grid-row:3;font-size:9px;color:#aaa1b0;margin-top:3px}
 .visual-v8 .product-grid{gap:26px}
 .visual-v8 .product-copy{padding:25px 24px 28px}
 .visual-v8 .product-copy h3{font-size:clamp(29px,7.8vw,42px)}
 .visual-v8 .product-copy .product-meta{gap:15px}
 .visual-v8 .product-copy .product-meta>span:last-child{font-size:9px}
 .visual-v8 .product-copy>p{font-size:15px}
}
@media(max-width:390px){.chapter-slide{padding-inline:20px;min-height:700px;padding-top:160px}.chapter-title{font-size:38px}.chapter-controls{left:20px;right:20px}.chapter-description{font-size:14px}.visual-v8 .product-copy h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){.chapter-track{scroll-behavior:auto}.visual-v8 .product-visual>img{transform:none;transition:none}.visual-v8 .product-data-pulse{display:none}}
@media print{.chapter-track{display:block;overflow:visible}.chapter-slide:not(:first-child),.chapter-controls{display:none!important}.chapter-slide{min-height:0;padding:30px}.chapter-copy{width:100%}}
