body.final-calm[data-page="lavoro-appartamento-colore.html"] .page-hero h1 { font-size:clamp(2.2rem,4.5vw,4rem); line-height:1.08; max-width:24ch; }
.sand-case .lead { max-width:74ch; }
.sand-case .sand-gallery { display:grid; grid-template-columns:1fr; gap:24px; margin:28px 0; }
.sand-case .sand-gallery figure { margin:0; min-width:0; }
.sand-case .sand-gallery img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto 4/3; object-fit:contain; border-radius:8px; }
.sand-case .sand-gallery figcaption { position:static; margin-top:10px; color:#596158; font-size:.875rem; line-height:1.5; }
.sand-photo { display:block; cursor:zoom-in; }
.sand-photo:focus-visible { outline:3px solid #465b49; outline-offset:5px; border-radius:8px; }
.sand-feature { margin-top:36px!important; }
.sand-photo-hint { font-size:.875rem; color:#596158; }
.sand-story { max-width:1120px; }
.sand-copy { max-width:76ch; }
.sand-case p { font-size:1rem; line-height:1.8; }
body.final-calm .sand-case h2 { font-size:clamp(1.65rem,2.7vw,2.4rem); line-height:1.18; max-width:30ch; }
.sand-stage { margin-top:56px; padding-top:32px; border-top:1px solid #dadfd8; }
.sand-case .sand-pair { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.sand-media { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.sand-media > * { min-width:0; }
.sand-video { display:block; width:min(100%,360px); height:auto; aspect-ratio:9/16; object-fit:contain; border-radius:8px; background:#20261f; margin-top:28px; }
.sand-case .sand-swatch { max-width:420px; }
.sand-case .sand-swatch img { aspect-ratio:auto 3/4; }
.sand-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.sand-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; padding:70px 20px 20px; border:0; margin:0; background:#182019; color:#fff; box-sizing:border-box; }
.sand-lightbox[open] { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.sand-lightbox::backdrop { background:#182019; }
.sand-lightbox .sand-large { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 140px); min-height:0; object-fit:contain; }
.sand-close { position:absolute; top:16px; right:20px; min-height:44px; padding:10px 18px; border:1px solid #fff; border-radius:6px; background:#fff; color:#182019; font:inherit; cursor:pointer; }
.sand-close:focus-visible { outline:3px solid #cdddba; outline-offset:4px; }
.sand-image-label { margin:0; max-width:80ch; text-align:center; font-size:.875rem; line-height:1.4; }
@media(max-width:760px) {
 .sand-case .sand-pair,.sand-media { grid-template-columns:1fr; gap:24px; }
 .sand-stage { margin-top:36px; padding-top:24px; }
 .sand-video,.sand-case .sand-swatch { margin-inline:auto; }
 .sand-lightbox { padding-inline:10px; }
}
