/* Shared editorial rhythm for Studio, Services, and the text surrounding Process.
   No rules target the animated Process panel or its scroll geometry. */
:root{
 --practice-space:clamp(48px,5vw,80px);
 --practice-rule:color-mix(in srgb,var(--ink) 20%,var(--paper));
 --practice-heading:clamp(32px,3.2vw,48px);
}
.studio-opening.section{min-height:0;padding-block:48px var(--practice-space);grid-template-rows:auto auto auto;align-content:start}
.studio-opening-image{align-self:end}
.studio-opening-image img,.studio-material img{max-height:none}
.studio-opening-image figcaption,.studio-material figcaption{border-top:1px solid var(--practice-rule);padding-top:12px;margin-top:16px;font-size:var(--meta);line-height:1.4}
.studio-material.section,.studio-person-editorial.section{min-height:0;padding-block:var(--practice-space);border-top:1px solid var(--practice-rule)}
.studio-material h2{font-size:var(--practice-heading);line-height:1.08}
.studio-material-copy>p:last-child{max-width:40ch;font-size:17px;line-height:1.6}
.studio-person-editorial figure img{max-height:560px}
.services-heading.practice-heading{grid-template-columns:1fr;gap:24px;padding-block:48px var(--practice-space)}
.services-heading>.home-section-label{margin:0}
.services-heading>div{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}
.services-heading h1{font-size:clamp(64px,7.4vw,120px);line-height:1.02;max-width:none}
.services-heading>div>p{margin:0;max-width:42ch;justify-self:end;font-size:18px;line-height:1.55}
.service-spread{min-height:0;padding-block:var(--practice-space);border-color:var(--practice-rule);column-gap:7%;row-gap:24px}
.service-spread h2{font-size:var(--practice-heading);line-height:1.08;max-width:22ch}
.service-spread figure img{max-height:none;min-height:0}
.service-spread>p{font-size:17px;line-height:1.6;max-width:40ch}
.services-support.section{min-height:0;padding-block:var(--practice-space);border-color:var(--practice-rule)}
.services-support-heading h2,.approach-principles #principles-title{font-size:var(--practice-heading);line-height:1.08}
.services-support-heading>p{font-size:17px;line-height:1.6;max-width:40ch}
.services-support-sequence h3,.approach-principles h3{font-size:22px;line-height:1.18;color:var(--ink)}
.services-support-sequence p,.approach-principles li p{font-size:16px;line-height:1.55}
.services-support-footer{border-color:var(--practice-rule)}
.services-invitation.section,.page-continuation.section{padding-block:var(--practice-space);border-top:1px solid var(--practice-rule)}
.approach-principles.section{padding-block:var(--practice-space)}
.principles-heading{margin-bottom:40px}
.approach-principles ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px}
.approach-principles li{border-color:var(--practice-rule);padding-top:20px}
.approach-principles li p{max-width:42ch}
@media(max-width:900px){
 .services-heading>div{grid-template-columns:1fr;gap:24px}
 .services-heading>div>p{justify-self:start}
 .studio-opening.section{grid-template-rows:auto;padding-top:36px}
}
@media(max-width:700px){
 :root{--practice-space:48px;--practice-heading:32px}
 .studio-opening.section,.services-heading.practice-heading{padding-top:32px}
 .services-heading h1{font-size:clamp(44px,12vw,64px)}
 .services-heading>div>p{font-size:17px}
 .studio-opening-image{padding-block:0}
 .studio-opening-image img,.studio-material img{max-height:none}
 .studio-person-editorial figure img{max-height:none}
 .service-spread{gap:24px;padding-block:40px}
 .service-spread h2{max-width:20ch}
 .service-spread>p,.studio-material-copy>p:last-child{font-size:16px}
 .approach-principles ul{grid-template-columns:1fr;gap:28px}
 .principles-heading{margin-bottom:28px}
 .approach-principles li{padding-top:16px}
}
