/* Model changes: the scene crossfades independently of the staggered copy. */
.showroom63-previous{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.showroom63-previous img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showroom59-stage.is-changing{animation:none}
.showroom59-stage.is-changing .showroom59-studio img{animation:copy63-in .5s ease both}
.showroom59-stage.is-changing #showroom-name{animation:copy63-in .45s .08s ease both}
.showroom59-stage.is-changing #showroom-description{animation:copy63-in .45s .16s ease both}
.showroom59-stage.is-changing #showroom-link{animation:copy63-in .45s .23s ease both}
@keyframes copy63-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
/* Detail explorer: one photograph, three short perspectives. */
html[data-theme] .detail63{display:block;width:100%;max-width:none;height:auto;min-height:0;padding:48px 5vw;margin:0;background:var(--ui-bg);overflow:hidden}
.detail63-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}
html[data-theme] .detail63-heading h2{font:500 clamp(30px,3.4vw,50px)/1.2 Lora,serif;color:var(--ui-heading);max-width:18ch;margin:0}
.detail63-heading p{max-width:32ch;font-size:14px;line-height:1.7;margin:0;color:var(--ui-fg)}
.detail63-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,.7fr);gap:5vw;align-items:center}
.detail63-photo{position:relative;height:clamp(320px,53svh,600px);overflow:hidden;background:var(--deep-brown)}
.detail63-photo img{width:100%;height:100%;object-fit:cover;display:block}
#detail63-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 16px;background:linear-gradient(transparent,#381e1dcc);color:var(--sand);font-size:11px}
.detail63-choices{display:flex;flex-direction:column}
.detail63-choices button{padding:23px 0;border:0;border-bottom:1px solid var(--ui-border);background:transparent;color:var(--ui-fg);text-align:left;cursor:pointer;transition:opacity .3s, padding .3s;opacity:.6}
.detail63-choices button span{font:500 clamp(25px,2.8vw,38px)/1.2 Lora,serif;display:block;margin-bottom:9px;color:var(--ui-heading)}
.detail63-choices button small{font:400 12px/1.6 Manrope,sans-serif;display:block}
.detail63-choices button[aria-selected=true]{opacity:1;padding-left:20px;border-color:var(--ui-heading)}
.detail63-choices button[aria-busy=true]{opacity:.4}
/* Section rhythm: three light-weight, once-only arrivals. */
.motion63{transition:opacity .65s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.motion63-heading{opacity:0;transform:translateY(16px)}
.motion63-photo{opacity:0;transform:translateY(10px) scale(.985)}
.motion63-detail{opacity:0;transform:translateY(5px);transition-delay:.15s}
.motion63-visible{opacity:1!important;transform:none!important}
/* One compact contextual action, hidden at both the hero and footer. */
.product63-action{position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);display:flex;align-items:center;gap:26px;z-index:35;width:max-content;max-width:calc(100% - 32px);padding:10px 12px 10px 24px;border:1px solid #f7e7ce44;border-radius:5px;background:#381e1df5;color:var(--sand);box-shadow:0 6px 24px #19171822;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,transform .3s,visibility .3s}
.product63-action.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.product63-action>span{font:500 20px/1.3 Lora,serif}
html[data-theme] .product63-action .btn{background:var(--button-sand)!important;color:var(--deep-brown)!important;min-height:42px;padding:12px 18px;font-size:11px;margin:0}
html.menu-open .product63-action{visibility:hidden;pointer-events:none}
/* Two steps, one form. Values remain in memory while moving between steps. */
.form63-step{padding:0;margin:0;border:0;min-width:0}
.form63-step[hidden],#project-form[hidden]{display:none!important}
.form63-progress{font:500 12px/1.5 Manrope,sans-serif;color:var(--sand);margin:0 0 18px}
#form63-title{scroll-margin-top:110px;outline:none}
#form63-first .field-pair{display:grid;grid-template-columns:1fr;gap:20px}
#form63-next{margin-top:12px}
#form63-back{margin:8px 10px 8px 0}
.form63-step .field{margin-bottom:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){
 html[data-theme] .detail63{padding:32px 20px}
 .detail63-heading{display:block;margin-bottom:22px}.detail63-heading p{margin-top:14px;font-size:12px}
 .detail63-layout{grid-template-columns:1fr;gap:8px}.detail63-photo{height:auto;aspect-ratio:4/3}
 .detail63-choices{flex-direction:row;gap:14px}.detail63-choices button{flex:1;min-width:0;padding:15px 0;align-self:stretch}.detail63-choices button span{font-size:24px}.detail63-choices button small{font-size:10px}
 .detail63-choices button[aria-selected=true]{padding-left:0}
 .product63-action{bottom:12px;gap:12px;padding:8px 10px;max-width:calc(100% - 24px);width:calc(100% - 24px);justify-content:space-between}
 .product63-action>span{font-size:17px}
 html[data-theme] .product63-action .btn{font-size:9px;min-height:40px;padding:10px 12px;white-space:normal;max-width:70%;text-align:center}
 body:has(.product63-action.is-visible) .back-to-top{bottom:82px}
 #form63-title{scroll-margin-top:88px}
}
@media(prefers-reduced-motion:reduce){.motion63{opacity:1;transform:none;transition:none}.showroom59-stage.is-changing :is(img,h3,p,a){animation:none!important}.product63-action,.detail63-choices button{transition:none}}
