/* One closing rhythm across Home, Studio and the service pages.
   Content determines the height; the existing footer wipe uses this measured frame. */
body:is(.studio-home,.studio-inner) .contact-stage #contact.contact {
 display:grid; align-content:center; box-sizing:border-box;
 min-height:clamp(540px,70svh,760px); padding-block:clamp(88px,9svh,112px);
}
body:is(.studio-home,.studio-inner) #contact.contact > .container {
 display:flex; flex-direction:column; align-items:center; gap:0;
 width:100%; max-width:1200px; margin-inline:auto; text-align:center;
}
body:is(.studio-home,.studio-inner) #contact.contact .contact__title {
 margin:0; max-width:21ch; text-wrap:balance; text-shadow:none;
}
body:is(.studio-home,.studio-inner) #contact.contact .contact__title em { text-shadow:none; }
body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom {
 display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
 width:100%; max-width:54ch; margin:28px auto 0; padding:0; border:0; gap:32px;
}
body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom p {
 max-width:50ch; margin:0; line-height:1.65; text-wrap:pretty;
}
body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom > :is(button,a) {
 flex:none; margin:0; min-height:48px; max-width:100%;
}
/* Pages with a short title and no body paragraph keep a clear title-to-action gap. */
body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom:not(:has(p)) { margin-top:40px; }
.portfolio-closing { gap:32px; }
@media(max-width:720px) {
 body:is(.studio-home,.studio-inner) .contact-stage #contact.contact { min-height:0; padding-block:80px 96px; }
 body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom { margin-top:24px; gap:28px; }
 body:is(.studio-home,.studio-inner) #contact.contact .contact__bottom:not(:has(p)) { margin-top:32px; }
 .portfolio-closing { gap:28px; }
}
@media(max-height:650px) {
 body:is(.studio-home,.studio-inner) .contact-stage #contact.contact { min-height:0; padding-block:64px 80px; }
}
