.scroll-process{max-width:1100px;margin:70px auto 110px;padding:0 40px}.process-stage{position:relative}.process-label h2{font-size:32px;font-weight:300;margin:6px 0}.journey-rail,.journey-footer{display:none}.journey-copy .step{padding:55px 0;display:grid;grid-template-columns:140px 1fr;column-gap:30px}.journey-copy .num{font-size:90px;font-weight:300;line-height:1;grid-row:span 2;color:#b9b1a4}.journey-copy .step h3{font-size:46px;margin:0 0 20px}.journey-copy .step p{font-size:21px;max-width:540px;grid-column:2}.scroll-ready .scroll-process{height:650vh;max-width:none;padding:0;margin:70px 0 100px}.scroll-ready .process-stage{height:100svh;position:sticky;top:0;overflow:hidden;max-width:1280px;margin:auto}.scroll-ready .process-label{position:absolute;top:8%;left:10%;z-index:2}.scroll-ready .journey-rail{display:block;position:absolute;top:0;bottom:0;left:5%;width:220px;overflow:hidden;mask-image:linear-gradient(transparent 12%,black 29%,black 76%,transparent 94%)}.journey-rail svg{position:absolute;top:0;overflow:visible;will-change:transform}.rail-base,.rail-progress{fill:none;stroke:#ded7ca;stroke-width:1.5}.rail-progress{stroke:#686056;stroke-dasharray:1;stroke-dashoffset:1}.rail-stop{fill:#faf8f4;stroke:#b5ab9c;stroke-width:1.5}.rail-stop.passed{fill:#686056;stroke:#686056}.maintenance-loop{fill:none;stroke:#d8d0c3;stroke-width:1.5}.loop-progress{fill:none;stroke:#686056;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1}.loop-pulse{fill:#686056;opacity:0}.scroll-ready .journey-copy{position:absolute;left:29%;right:10%;top:28%;bottom:16%}.scroll-ready .journey-copy .step{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0;opacity:0;visibility:hidden;will-change:transform,opacity}.scroll-ready .journey-copy .num{font-size:112px;margin-bottom:27px;line-height:.9;color:#b9b1a4;letter-spacing:-.04em}.scroll-ready .journey-copy .step h3{font-size:clamp(34px,4vw,55px);font-weight:300;line-height:1.15;margin:0 0 22px;letter-spacing:-.035em}.scroll-ready .journey-copy .step p{font-size:21px;max-width:530px;line-height:1.7}.scroll-ready .journey-footer{display:flex;position:absolute;bottom:10%;left:29%;right:10%;justify-content:space-between;font-size:12px;color:#918879;gap:20px}.journey-count{font-variant-numeric:tabular-nums;color:#686056}.outro{margin-top:100px}.review a{white-space:nowrap}@media(max-width:700px){.scroll-ready .process-label{left:25px;top:7%}.process-label h2{font-size:26px}.scroll-ready .journey-rail{left:-5px;width:110px;mask-image:linear-gradient(transparent 15%,black 30%,black 75%,transparent 90%)}.journey-rail svg{width:110px;height:760px;transform-origin:top left}.scroll-ready .journey-copy{left:115px;right:24px;top:24%;bottom:19%}.scroll-ready .journey-copy .step{padding:0!important;width:auto!important}.scroll-ready .journey-copy .num{font-size:80px!important;margin-bottom:24px}.scroll-ready .journey-copy .step h3{font-size:34px!important}.scroll-ready .journey-copy .step p{font-size:17px}.scroll-ready .journey-footer{left:115px;right:24px;bottom:13%;font-size:11px}.journey-footer span:last-child{max-width:145px;text-align:right}.scroll-process{padding:0 25px}.journey-copy .step{display:block;padding:30px 0!important}.journey-copy .num{font-size:55px!important}.journey-copy .step p{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-rail{display:none!important}}
/* Keep caption anchors stable while the line moves between steps. */
.scroll-process .eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#827e77}
.scroll-process .step p{color:#716d67;margin:0;line-height:1.7;font-weight:400}
.scroll-process .step h3{font-weight:300;letter-spacing:-.035em;line-height:1.15}
.scroll-process .num{display:block;font-weight:300;line-height:.9;color:#b9b1a4}
.scroll-ready .journey-copy{top:31%;bottom:12%}
.scroll-ready .journey-copy .step{justify-content:flex-start}
.scroll-ready .journey-copy .num{flex:none}
.scroll-ready .journey-copy .step h3{min-height:1.15em}
.rail-stop{transition:fill .25s,stroke .25s}
@media(max-width:700px){.scroll-ready .journey-copy{top:26%}.scroll-ready .journey-copy .step h3{min-height:2.3em}.scroll-ready .journey-footer{bottom:7%}}

/* Persistent consultation CTA; newsletter hidden for this revision. */
body.home-page > .booking{
 position:fixed;inset:auto;right:max(28px,env(safe-area-inset-right));
 bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:50;margin:0;
}
body.home-page .newsletter{display:none}
@media(max-width:700px){body.home-page > .booking{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}

/* Hero actions and its below-the-fold companion. */
body.home-page .hero-action{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
body.home-page .hero-action .booking{position:relative;inset:auto;margin:0}
.product-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border:1px solid #ccc5ba;border-radius:30px;text-decoration:none;color:#292621;font:400 16px/1.2 BookingMono,monospace;min-height:51px;transition:background .2s,border-color .2s}
.product-cta img{width:25px;height:25px}.product-cta:hover{background:#eee9e0;border-color:#8d8579}
body.home-page > .floating-booking[hidden]{display:none}
.scroll-ready .process-label{left:var(--hero-alignment,16vw)}
@media(max-width:700px){.product-cta{padding:12px 18px}.hero-action{gap:12px!important}.scroll-ready .process-label{left:var(--hero-alignment,26px)}}

/* The product link shares the booking button's surface and typography. */
body.home-page .hero-action .product-cta{background:linear-gradient(160deg,#484644 0%,#272625 45%,#171717 100%);color:#faf8f4;border:1px solid #161616;padding:15px 27px;min-height:0;gap:8px;line-height:1.2;align-self:center}
body.home-page .hero-action .product-cta img{width:19.2px;height:19.2px;filter:invert(1)}
body.home-page .hero-action .product-cta:hover{background:linear-gradient(160deg,#484644 0%,#272625 45%,#171717 100%)}
.hero-shadow{display:block;width:min(100%,1000px);height:auto;aspect-ratio:1000/460;margin:48px 0 0;border:0}
body.layout-8 .intro{max-width:1050px}

/* Balanced hero lines and product navigation. */
body.layout-8 .intro h1{text-wrap:balance}
body.layout-8 .intro .sub{max-width:900px;text-wrap:wrap}
body.home-page .site-navigation{display:flex;align-items:center;gap:30px}
body.home-page .site-navigation a{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
body.home-page .site-navigation img{width:25px;height:25px;object-fit:contain}
.agency-bottom-links{max-width:1050px;margin:0 auto 100px;padding:30px 0;display:flex;gap:60px;border-top:1px solid #ded9d1}
.agency-bottom-links a{font-size:26px;font-weight:300;color:inherit;text-decoration:none}
.agency-bottom-links a span{font-size:18px;color:#827e77;margin-left:16px}
@media(max-width:1150px){.agency-bottom-links{margin-left:40px;margin-right:40px}}
@media(max-width:700px){body.home-page header{gap:18px;flex-wrap:wrap}body.home-page .site-navigation{margin-left:auto;gap:18px}body.home-page .site-navigation a{font-size:14px;gap:6px}body.home-page .site-navigation img{width:20px;height:20px}.agency-bottom-links{margin:0 25px 70px;gap:36px}.agency-bottom-links a{font-size:22px}}

/* Case studies: side index with readable stories. */
.agency-cases{margin:0 10vw 100px 16vw;scroll-margin-top:50px}
.agency-cases>h2{font-size:32px;font-weight:300;letter-spacing:-.025em;margin:0 0 48px}
.case-index-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.case-index{display:flex;flex-direction:column;gap:6px}
.case-index[hidden],.case-index-panel[hidden]{display:none}
.case-index button{font:400 18px/1.5 Zen,sans-serif;text-align:left;background:none;border:0;border-left:2px solid transparent;padding:12px 18px;color:#716b62;cursor:pointer;min-height:48px}
.case-index button:hover{color:#242320}
.case-index button[aria-pressed=true]{border-left-color:#242320;color:#242320}
.case-index-panels{border-left:1px solid #ded9d0;padding-left:40px;min-width:0}
.case-index-panel h3{font-size:clamp(28px,3vw,39px);line-height:1.2;letter-spacing:-.035em;font-weight:300;margin:0 0 22px;text-wrap:pretty}
.case-index-description{font-size:19px;line-height:1.65;color:#716b62;margin:0 0 32px;max-width:650px}
.case-index-copy{font-size:17px;line-height:1.8;color:#59554e;max-width:650px}
.case-index-copy p{margin:0 0 22px}
.case-index-copy ul{padding-left:22px;margin:0 0 22px}
.case-index-copy li{margin-bottom:10px}
.case-index-copy .brand-prefix{width:.85em;height:.85em;display:inline-block}
.case-index-copy .case-study-outcome{border-top:1px solid #ded9d0;padding-top:24px;margin-top:28px}
/* The story scrolls independently while its case navigation stays in place. */
.case-index-panel{height:clamp(340px,62svh,620px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:20px;scrollbar-width:thin;scrollbar-color:#b9b1a4 transparent}
.case-index-panel::-webkit-scrollbar{width:6px}
.case-index-panel::-webkit-scrollbar-thumb{background:#b9b1a4;border-radius:8px}
.case-index-panel:focus-visible{outline:1px solid #827e77;outline-offset:6px}
@media(max-width:950px){.case-index-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.case-index-panels{padding-left:24px}.case-index button{font-size:16px;padding-left:12px}}
@media(max-width:700px){
 .agency-cases{margin:0 26px 100px}
 .agency-cases>h2{font-size:28px;margin-bottom:28px}
 .case-index-layout{grid-template-columns:1fr;gap:28px;min-height:0}
 .case-index{flex-direction:row;flex-wrap:wrap;gap:8px 20px}
 .case-index button{padding:8px 0;border-left:0;border-bottom:2px solid transparent;font-size:15px}
 .case-index button[aria-pressed=true]{border-bottom-color:#242320}
 .case-index-panels{border-left:0;padding:0}
 .case-index-panel h3{font-size:29px}
 .case-index-description{font-size:17px;margin-bottom:25px}
 .case-index-copy{font-size:16px}
 .case-index-panel{padding-right:14px}
}
