/* The ecosystem is a readable stack: each card retains its numbered title band. */
.practice{--stack-top:162px;--stack-step:clamp(48px,7svh,72px);padding:75px 4vw 110px;position:relative;isolation:isolate;scroll-margin-top:0}
.practice-heading{position:sticky;top:86px;height:300px;min-height:0;margin:0 0 45px;display:block;z-index:1;pointer-events:none}
.practice-heading h2{position:absolute;left:0;top:12px;margin:0;font-size:clamp(72px,9.5vw,144px);line-height:1;transform-origin:left top;transform:scale(var(--ecosystem-scale,1));will-change:transform;letter-spacing:-.065em}
.practice-heading>.micro{position:absolute;right:0;top:24px;font-size:14px;opacity:var(--ecosystem-label,0)}
.practice-row{position:sticky;top:calc(var(--stack-top) + var(--stack-index)*var(--stack-step));z-index:calc(2 + var(--stack-index));background:#000;min-height:clamp(350px,48svh,470px);padding:20px 0 50px;margin:0 0 calc(80px + var(--stack-tail,0px));gap:4vw;border-top:1px dotted #656565;box-shadow:0 -12px 24px #0005;scroll-margin-top:calc(var(--stack-top) + var(--stack-index)*var(--stack-step))}
.stack-anchor{display:block;height:0;position:relative;pointer-events:none}
.practice-copy{grid-template-columns:42px minmax(0,1fr);gap:20px}
.practice-copy h3{font-size:clamp(25px,2.4vw,34px);line-height:1.2;margin:2px 0 30px}
.practice-copy p{font-size:clamp(17px,1.5vw,21px);line-height:1.45;max-width:450px}
.practice-tags{margin-top:26px}.practice-tags a{font-size:13px}
.practice-film{align-self:start;border-radius:23px;transform-origin:center;clip-path:inset(var(--eco-mask,0%) 0 0 round 23px)}
.practice-film>img,.practice-film>video{transform:scale(var(--eco-image-scale,1));transition:none}
.technology-row .technology-list{margin:0;border:0;padding:0 0 10px}
.technology-list article{padding:17px 0;border-top:1px solid #333;border-bottom:0;gap:25px}
.technology-list h4{font-size:clamp(21px,2vw,27px)}
.technology-list p{font-size:15px;line-height:1.45}
.technology-row .developing{display:inline-block;margin-top:25px}
footer{position:relative;padding-top:clamp(75px,13svh,150px);overflow:hidden}
.contact-grid{transform:translateY(var(--contact-lift,0px));opacity:var(--contact-opacity,1);will-change:transform,opacity}
.contact-grid h2{overflow:hidden;line-height:1.15}
.contact-grid h2 span{display:inline-block;transform:translateY(var(--contact-title,0%));will-change:transform}
.footer-brand{transform:translateY(var(--footer-lift,0px));will-change:transform}
@media(max-width:1000px){.practice{--stack-top:151px;--stack-step:56px}.practice-heading h2{font-size:10vw}.practice-copy{grid-template-columns:32px minmax(0,1fr);gap:13px}.practice-copy h3{font-size:26px}.practice-copy p{font-size:17px}.practice-row{min-height:365px}.practice-tags a{font-size:12px}.practice-heading>.micro{font-size:13px}}
@media(max-width:600px){.practice{--stack-top:124px;--stack-step:46px;padding:40px 6vw 80px}.practice-heading{top:72px;height:195px;margin-bottom:25px}.practice-heading h2{top:10px;font-size:12.2vw;transform:scale(var(--ecosystem-mobile-scale,1))}.practice-heading>.micro{top:16px;font-size:12px}.practice-heading b{font-size:21px}.practice-row{grid-template-columns:1fr;min-height:0;gap:22px;padding:14px 0 32px;margin-bottom:calc(54px + var(--stack-tail,0px))}.practice-copy{grid-template-columns:27px minmax(0,1fr);gap:12px}.practice-copy h3{font-size:22px;margin:3px 0 19px}.practice-copy p{font-size:16px;line-height:1.45}.practice-number{min-height:29px;width:23px;font-size:13px}.practice-tags{margin-top:20px;gap:7px}.practice-tags a{font-size:12px;padding:8px 11px}.practice-film{aspect-ratio:16/9;border-radius:16px;clip-path:inset(var(--eco-mask,0%) 0 0 round 16px)}.practice-film>span{font-size:12px;bottom:12px;right:12px}.technology-list article{display:block;padding:15px 0}.technology-list h4{font-size:24px}.technology-list p{font-size:14px}.technology-row .technology-list{margin-left:39px}.contact-grid h2{font-size:48px}}
/* Small viewports and reduced motion keep complete cards in ordinary document flow. */
@media(max-height:700px){.practice-row{position:relative;top:auto;margin-bottom:54px}.practice-heading{position:relative;top:auto;height:140px}.practice-heading h2{font-size:clamp(32px,7vw,65px);transform:none!important}.practice-heading>.micro{opacity:1}}
.motion-off .practice-heading{position:relative;top:auto;height:120px}.motion-off .practice-heading h2{font-size:46px;transform:none!important}.motion-off .practice-heading>.micro{opacity:1}.motion-off .practice-row{position:relative;top:auto;margin-bottom:54px}.motion-off .practice-film{clip-path:none!important}.motion-off .practice-film>img,.motion-off .practice-film>video,.motion-off .contact-grid,.motion-off .contact-grid h2 span,.motion-off .footer-brand{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.practice-heading{position:relative;top:auto;height:120px}.practice-heading h2{font-size:46px;transform:none!important}.practice-heading>.micro{opacity:1}.practice-row{position:relative;top:auto;margin-bottom:54px}.practice-film{clip-path:none!important}.practice-film>img,.practice-film>video,.contact-grid,.contact-grid h2 span,.footer-brand{transform:none!important;opacity:1!important}}

@media(max-width:600px){.motion-off .practice-heading h2{font-size:29px}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.practice-heading h2{font-size:29px}}
