/* Finishing touches for the desk and its four service pages. */
.intro h1,.hero h1,.section h2,.focus-copy h2{text-wrap:balance}
.focus-description,.hero-description,.hero-summary,.section-lead{text-wrap:pretty}
.stage-caption p:not(.eyebrow){font-size:15px;line-height:1.7}
.gallery-stage{aspect-ratio:16/9;border-radius:14px;box-shadow:0 12px 34px #0f1e1010}
.gallery-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;margin-bottom:14px;font-size:14px}
.gallery-count{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.gallery-navigation{display:flex;gap:6px}
.gallery-navigation button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:50%;transition:background .18s,border-color .18s,transform .18s}
.gallery-navigation .icon{width:18px;height:18px}
.gallery-navigation button:first-child .icon{transform:rotate(180deg)}
.gallery-navigation button:disabled{opacity:.3;cursor:default}
.gallery-options{padding:4px 4px 12px;scroll-padding:4px;overscroll-behavior:contain}
.gallery-options button{border-radius:10px;transition:border-color .18s,background .18s,box-shadow .18s}
.gallery-options button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}
.gallery-options button>img:not(.icon){border-radius:5px}
.gallery-options button>span{font-size:13px;line-height:1.45}
.gallery-options small{font-size:11px}
.gallery-play{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.service:focus-visible{outline:none}
.service:focus-visible .service-label{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 7px var(--panel)}
.focus-back:focus-visible,.focus-motion:focus-visible{outline:3px solid #e6efc6;outline-offset:4px}
.meeting-dialog[open],.photo-dialog[open]{animation:atelier-dialog-in .18s cubic-bezier(.2,.7,.2,1)}
@keyframes atelier-dialog-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(min-width:761px){.section-lead,.offering-list p,.steps p{font-size:15px;line-height:1.7}}
@media(max-width:760px), (max-width:960px) and (max-height:500px){
 .gallery-options button{flex-basis:156px;min-height:146px}
 .gallery-heading{gap:9px}.gallery-navigation{gap:5px}
 .gallery-stage[data-format=portrait]{aspect-ratio:4/5}
 .gallery-note{margin-top:14px}
 .stage-caption,.demo-copy,.plan-stage section{padding:26px}
}
@media(max-width:360px){.gallery-heading{gap:7px;font-size:13px}.gallery-navigation{gap:4px}.stage-caption,.demo-copy,.plan-stage section{padding:22px}}
@media(hover:hover) and (pointer:fine){
 .desktop-nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
 .gallery-navigation button:not(:disabled):hover,.gallery-options button:hover{border-color:var(--accent);background:var(--soft)}
}
@media(hover:none){.service:hover .service-label{transform:none}.service:hover .service-description{opacity:0}}
@media(prefers-reduced-motion:no-preference){
 .gallery-navigation button:not(:disabled):active,.button:active{transform:scale(.985)}
 .service:active .service-label{transform:scale(.97)}
}
@media(prefers-reduced-motion:reduce){.meeting-dialog[open],.photo-dialog[open]{animation:none}}
