.page-contact .contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,1.05fr);gap:clamp(32px,5vw,78px);align-items:start}
.page-contact .contact-portrait.hanging-portrait{width:100%;max-width:560px;margin:-12px 0 0;justify-self:center;position:relative}
.hanging-stage{position:relative;padding:0 32px 8px;isolation:isolate}
.hanging-art{display:block;position:relative;width:100%;padding:0;border:0;background:none;color:inherit;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;transform-origin:47.1% 2.85%;will-change:transform;line-height:0}
.hanging-art:active{cursor:grabbing}
.hanging-art:focus-visible{outline:1px dashed var(--accent);outline-offset:8px}
.hanging-art img{width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:saturate(.78) sepia(.1) brightness(1.035) contrast(.97)}
.hanging-controls{display:flex;justify-content:center;min-height:36px;margin-top:6px}
.motion-toggle{background:none;border:0;border-bottom:1px solid var(--line);padding:3px 0;color:var(--muted);font-family:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.motion-toggle:hover{color:var(--ink);border-color:var(--ink)}
.hanging-portrait.is-paused .hanging-art{will-change:auto}
@media(max-width:1000px) and (min-width:761px){
 .page-contact .contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(230px,.8fr);gap:22px}
 .hanging-stage{padding-inline:20px}
}
@media(max-width:760px){
 .page-contact .contact-layout{grid-template-columns:1fr;gap:34px}
 .page-contact .contact-portrait.hanging-portrait{max-width:380px;width:100%;margin:0;justify-self:center}
 .hanging-stage{padding-inline:24px}
 .motion-toggle{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.hanging-art{will-change:auto}}
