/* Responsive editorial rhythm and a scroll-led project journey. */
.studio[data-page="/"] .focus-head{grid-template-columns:minmax(0,1fr) minmax(240px,.54fr);gap:clamp(40px,7vw,110px);align-items:end}.studio[data-page="/"] .focus-head h2{max-width:700px;text-wrap:balance}.studio[data-page="/"] .focus-head>p{max-width:350px;padding-bottom:4px}.focus-service h3{text-wrap:balance}.focus-service:nth-child(2) img{object-position:center 18%}
.flow-process{background:#102d3d;color:#f3f7f9;padding:clamp(80px,9vw,135px) 0 90px}.flow-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.5fr);gap:clamp(35px,7vw,100px);align-items:end;margin-bottom:clamp(55px,7vw,100px)}.flow-heading h2{font-size:clamp(38px,4.4vw,62px);max-width:740px;line-height:1.08;text-wrap:balance}.flow-heading .eyebrow{color:#a7c3ce}.flow-heading>p{color:#b9cdd6;max-width:350px;line-height:1.75}.flow-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(50px,8vw,130px);align-items:start}.flow-visual{display:none;position:sticky;top:clamp(105px,16vh,150px);align-self:start}.scroll-ready .flow-visual{display:block}.flow-image-frame{position:relative;height:min(57vh,550px);min-height:340px;background:#1b3c4b;overflow:hidden}.flow-image-frame:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(7,25,36,.74));pointer-events:none}.flow-image-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .65s ease,transform 1.1s ease}.flow-image-frame img.active{opacity:1;transform:scale(1)}.flow-image-caption{position:absolute;z-index:1;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;color:white;font-size:10px;letter-spacing:.12em}.flow-visual>p{font-size:10px;color:#9cb3bf;margin-top:14px}.flow-steps{position:relative}.flow-rail{position:absolute;left:21px;width:1px;background:#537180;z-index:0}.flow-rail span{display:block;width:2px;height:100%;background:#e33b4a;transform:scaleY(var(--fill,0));transform-origin:top}.flow-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:27px;min-height:65vh;align-content:center}.flow-node{position:relative;z-index:1;width:44px;height:44px;border:1px solid #75909b;background:#102d3d;display:grid;place-items:center;color:#adc1c9;font-size:10px;transition:background .3s,color .3s,border .3s}.flow-step.is-active .flow-node{background:#d6293c;color:#fff;border-color:#d6293c}.flow-copy{padding-bottom:10px}.flow-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#99b5c1;margin-bottom:20px}.flow-copy h3{font-size:clamp(30px,3.1vw,43px);line-height:1.12;margin-bottom:20px}.flow-copy>p:not(.flow-kicker){color:#b7cad3;max-width:440px;font-size:15px;line-height:1.8}.flow-mobile-image{display:block;width:100%;height:240px;object-fit:cover;margin-top:25px}.scroll-ready .flow-mobile-image{display:none}.flow-end{border-top:1px solid #4a6775;display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:28px;margin-top:40px}.flow-end p{font-size:11px;color:#a4bdc7}.flow-end a{display:inline-flex;gap:30px;border-bottom:1px solid #8ba6b0;padding:10px 0}.flow-end a:hover{color:#fff;border-color:#fff}
.studio[data-page="/"] .studio-cta{background:#f3f6f5;padding:clamp(70px,9vw,120px) 0}.studio[data-page="/"] .studio-cta>.shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(35px,6vw,80px);align-items:end;border-top:1px solid #b4c5ca;padding-top:45px}.studio[data-page="/"] .studio-cta h2{max-width:750px;font-size:clamp(38px,4vw,58px);text-wrap:balance}.studio[data-page="/"] .studio-cta p:not(.eyebrow){max-width:560px;margin-top:22px}.studio[data-page="/"] .studio-cta .button{margin:0;min-width:205px;justify-content:space-between}
.studio .footer-connect{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.studio .footer-core .footer-connect .footer-brand{display:block;width:205px;max-width:100%}.footer-contact-qr{display:flex;align-items:center;gap:13px}.footer-contact-qr img{width:88px;height:88px;background:#fff;padding:3px}.footer-contact-qr p{font-size:10px;line-height:1.5;color:#536f7e;max-width:110px;margin-bottom:5px}.footer-contact-qr a,.footer-linkedin{font-size:11px;color:#173647;border-bottom:1px solid #a4b6bf;padding-bottom:4px}.footer-linkedin{display:flex;align-items:center;gap:9px}.linkedin-mark{font-family:Arial,sans-serif;font-weight:bold;background:#173647;color:white;border-radius:2px;font-size:11px;width:17px;height:17px;display:grid;place-items:center}.media-v58 h2{margin-bottom:20px}.media-v58 p{max-width:800px}.media-v58 ul{margin-top:24px;padding-left:18px}.media-v58 li{margin:6px 0}.media-v58 a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.flow-layout{grid-template-columns:1fr}.scroll-ready .flow-visual{display:none}.scroll-ready .flow-mobile-image{display:block}.flow-step{min-height:0;padding:0 0 65px}.flow-step:last-child{padding-bottom:0}.flow-rail{left:21px}.flow-mobile-image{height:auto;aspect-ratio:1.65;max-height:320px}.flow-heading{grid-template-columns:1fr;gap:22px}.flow-heading h2{max-width:700px}.flow-end{margin-top:55px}}
@media(max-width:800px){.studio[data-page="/"] .focus-head{grid-template-columns:1fr;gap:20px}.studio[data-page="/"] .focus-head>p{max-width:550px}.studio[data-page="/"] .studio-cta>.shell{grid-template-columns:1fr;align-items:start}.studio[data-page="/"] .studio-cta .button{justify-self:start}.flow-end{align-items:flex-start;flex-direction:column}.studio .footer-connect{gap:18px}.footer-contact-qr img{width:84px;height:84px}}
@media(max-width:480px){.flow-process{padding:72px 0}.flow-heading h2{font-size:37px}.flow-step{grid-template-columns:38px minmax(0,1fr);gap:17px;padding-bottom:50px}.flow-node{width:38px;height:38px}.flow-rail{left:18px}.flow-copy h3{font-size:31px}.flow-copy>p:not(.flow-kicker){font-size:14px}.flow-mobile-image{aspect-ratio:1.45}.studio[data-page="/"] .focus-head h2{font-size:38px}.studio[data-page="/"] .studio-cta h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.flow-image-frame img,.flow-node{transition:none}}
@media(min-width:801px){.studio[data-page="/"] .focus-head{align-items:start}.studio[data-page="/"] .focus-head>p{margin-top:40px;align-self:start}}
.footer-contact-qr img{width:112px;height:112px}
@media(max-width:800px){.footer-contact-qr img{width:104px;height:104px}}
