/* A single motion language, tailored to the existing photographic composition. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.hero-copy,.hero-visual,.paper-sculpture,.clay-circle{animation:none}
.hero-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-layer.hero-portrait{object-position:center 15%}
.hero-piece .hero-layer{filter:saturate(.55)}
.portrait-caption{z-index:2}
.motion-word{display:inline-block}
.sphere-canvas{position:absolute;left:-10%;top:-10%;width:120%;height:120%;pointer-events:none;opacity:0;transition:opacity 600ms var(--motion-ease)}
.sphere-ready{background:transparent;box-shadow:none}
.sphere-ready .sphere-canvas{opacity:1}
.clay-circle.sphere-ready{filter:drop-shadow(10px 14px 10px #76513a20)}
.ochre-pebble.sphere-ready{filter:drop-shadow(6px 8px 6px #76513a20)}
.treatment-dialog{max-width:1040px;width:calc(100% - 80px);max-height:calc(100dvh - 64px);padding:0;background:var(--sand);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #33281e33}
.treatment-dialog[open]{display:grid;grid-template-columns:44% 56%}
.treatment-dialog::backdrop{background:#30282088;backdrop-filter:blur(5px)}
html.treatment-open{overflow:hidden;scrollbar-gutter:stable}
.dialog-close{position:absolute;right:16px;top:16px;z-index:4;background:#fff;width:44px;height:44px}
.dialog-visual{position:relative;min-height:590px;background:#dfd4c6;overflow:hidden}
.dialog-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:saturate(.6)}
.dialog-visual figcaption{position:absolute;left:24px;right:24px;bottom:24px;color:#fff;font:400 9px/1.5 var(--label);letter-spacing:2px;text-transform:uppercase;background:#30282080;padding:13px 16px}
.dialog-content{padding:76px 48px 48px;align-self:center;min-width:0}
.dialog-content h2{font-size:48px;margin-bottom:26px;line-height:1.08}
.dialog-content>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#57534e}
.dialog-content .dialog-note{border-top:1px solid #cfc4b6;padding-top:22px;margin:26px 0;font-size:11px}
.dialog-content .button{font-size:8px;padding:16px 18px;gap:18px}
.dialog-content .text-link{display:flex;width:fit-content;max-width:100%;font-size:8px;line-height:1.8;margin-top:22px;gap:12px}
.treatment-flight{position:fixed;z-index:5;max-width:none;margin:0;pointer-events:none;object-fit:cover;filter:saturate(.6);transform-origin:0 0}
@media(max-width:900px){.treatment-dialog{width:calc(100% - 40px)}.dialog-content{padding:70px 30px 36px}.dialog-content h2{font-size:40px}.dialog-visual{min-height:560px}}
@media(max-width:600px){.treatment-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px)}.treatment-dialog[open]{display:block}.dialog-visual{height:240px;min-height:0}.dialog-visual img{object-position:center 30%}.dialog-visual figcaption{left:18px;right:18px;bottom:18px;font-size:8px;padding:10px 12px}.dialog-content{padding:32px 26px}.dialog-content h2{font-size:36px;margin-bottom:20px}.dialog-content>p:not(.eyebrow){font-size:12px}.dialog-content .eyebrow{margin-bottom:16px}.dialog-content .dialog-note{margin:20px 0}.dialog-close{right:12px;top:12px}}
@media(prefers-reduced-motion:reduce){.motion-word{filter:none!important;opacity:1!important;transform:none!important}.treatment-flight{display:none}}
