/* Cinematic concept photography; scoped to presentation surfaces. */
#v-home .h-hero{min-height:clamp(720px,90svh,1050px);isolation:isolate;background:var(--night);align-items:center;padding:0;overflow:hidden}
#v-home .h-hero-ph{inset:0;height:100%;border-radius:0}
#v-home .h-hero-ph img{object-position:65% 52%;filter:none!important;transform:scale(1.025);animation:cinema-settle 18s ease-out both!important}
#v-home .h-hero-ph::before{background:linear-gradient(90deg,rgba(12,19,22,.88),rgba(12,19,22,.7) 27%,rgba(12,19,22,.28) 52%,rgba(12,19,22,.02) 78%),linear-gradient(0deg,rgba(12,19,22,.56),transparent 24%,transparent 82%,rgba(12,19,22,.12))}
#v-home .h-hero-in{padding:80px clamp(24px,5.5vw,96px) 112px;color:var(--inverse)}
#v-home .h-hero h1{font-size:clamp(52px,5.8vw,86px);max-width:680px;line-height:1.04;letter-spacing:-.04em;text-shadow:0 2px 28px #0c131633}
#v-home .h-hero h1 .it{color:var(--inverse)}
#v-home .h-hero .eyebrow{color:var(--ink-3);letter-spacing:.17em}
#v-home .h-hero .lede{color:var(--inverse);max-width:43ch;font-size:17px;line-height:1.75;margin-top:24px}
#v-home .h-hero .search{max-width:540px;margin-top:30px;border:1px solid var(--rule);background:var(--ground);box-shadow:0 16px 45px #0002;border-radius:2px}
#v-home .h-hero .search .slabel{color:var(--ink-2)}
#v-home .h-hero .srow{box-shadow:none;background:transparent}
#v-home .h-hero .srow input{background:transparent;color:var(--ink)}
#v-home .h-hero .fine{color:var(--inverse)}
.cinema-caption{position:absolute;bottom:28px;left:clamp(24px,5.5vw,96px);right:clamp(24px,5.5vw,96px);display:flex;justify-content:space-between;gap:24px;padding-top:16px;border-top:1px solid color-mix(in srgb, var(--rule) 23.92%, transparent);z-index:2;color:var(--inverse);font:10px/1.6 var(--mono);letter-spacing:.07em}
#ways .w-pair{grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr)}
#ways .w-pair .ph,#ways .w-pair .fr{height:clamp(350px,36vw,510px)}
#ways .w-pair .ph img{object-position:50% 50%;filter:none}
#v-home .h-duo-l .ph{aspect-ratio:4/3}
#v-home .h-duo-l .ph img{filter:none;object-position:50% 55%}
.addon-architecture img{filter:none}
@keyframes cinema-settle{from{transform:scale(1.075)}to{transform:scale(1.025)}}
@media(max-width:1000px){#v-home .h-hero{min-height:780px}#v-home .h-hero-in{padding-inline:32px}#v-home .h-hero h1{font-size:64px}#v-home .h-hero-ph img{object-position:60% 50%}.cinema-caption{left:32px;right:32px}}
@media(max-width:640px){
 #v-home .h-hero{min-height:800px;align-items:end}
 #v-home .h-hero-ph img{object-position:58% 30%}
 #v-home .h-hero-ph::before{background:linear-gradient(0deg,rgba(12,19,22,.97),rgba(12,19,22,.84) 30%,rgba(12,19,22,.43) 65%,rgba(12,19,22,.08))}
 #v-home .h-hero-in{padding:230px 22px 100px}
 #v-home .h-hero h1{font-size:clamp(44px,11.3vw,62px);line-height:1.06}
 #v-home .h-hero .lede{font-size:15px;line-height:1.7;max-width:38ch;margin-top:20px}
 #v-home .h-hero .search{margin-top:24px;width:100%}
 .cinema-caption{left:22px;right:22px;bottom:22px;font-size:8px}
 .cinema-caption>span:last-child{display:none}
 #ways .w-pair{grid-template-columns:1fr}
 #ways .w-pair .ph{height:auto;aspect-ratio:4/3}
 #ways .w-pair .fr{height:260px}
}
@media(prefers-reduced-motion:reduce){#v-home .h-hero-ph img{animation:none!important;transform:none!important}}

/* Compact opening: photo flush to the header, aligned with the search edge. */
#v-home .h-hero{min-height:clamp(580px,72svh,720px);background:var(--night)}
#v-home .h-hero-ph{inset:0 0 0 35%;height:100%;aspect-ratio:auto;transform:none;background:var(--night)}
#v-home .h-hero-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none!important;animation:none!important}
#v-home .h-hero-ph::before{background:linear-gradient(90deg,var(--night),rgba(32,34,32,.66) 7%,rgba(32,34,32,.13) 22%,transparent 40%)}
#v-home .h-hero-in{padding:48px clamp(24px,4.5vw,80px) 54px;pointer-events:none}
#v-home .h-hero-in>*{pointer-events:auto}
#v-home .h-hero h1{font-size:clamp(46px,4.2vw,62px);max-width:520px;margin-top:0}
#v-home .h-hero .lede{max-width:37ch;font-size:16px;line-height:1.7;margin-top:22px}
#v-home .h-hero #heroSearch{display:block;width:min(420px,100%);padding:0;margin-top:24px;background:transparent;border:0;box-shadow:none;border-radius:0}
#v-home #heroSearch .slabel{display:block;margin-bottom:9px;font:11px/1.5 var(--mono);letter-spacing:.04em;color:var(--inverse)}
#v-home #heroSearch .srow{position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;padding:5px 5px 5px 14px;background:rgba(247,243,234,.12);border:1px solid rgba(247,243,234,.46);border-radius:3px;backdrop-filter:blur(12px);box-shadow:0 4px 20px #0001}
#v-home #heroSearch .srow:focus-within{border-color:var(--rule);box-shadow:0 0 0 2px #f4e9d52e}
#v-home #heroSearch .srow input{width:0;flex:1 1 0%;min-width:0;color:var(--inverse);padding:10px 0;border:0;background:transparent;font-size:15px;min-height:42px;outline:none}
#v-home #heroSearch .srow input::placeholder{color:var(--inverse);opacity:1}
#v-home #heroSearch .srow .btn{width:auto;flex:0 0 auto;min-height:42px;padding:10px 16px;font-size:13px;background:var(--paper);border:1px solid var(--rule);color:var(--ink)}
#v-home #heroSearch .srow .btn:hover{background:var(--ground);border-color:var(--rule)}
#v-home #heroSearch .address-status{margin-top:9px;color:var(--inverse);font-size:11px;line-height:1.5}
#v-home #heroSearch .search-privacy-details{margin-top:7px;padding:0;border:0;color:var(--inverse);font-size:10px;line-height:1.5}
#v-home #heroSearch .search-privacy-details summary{color:var(--inverse);font-size:10px}
#v-home #heroSearch .search-privacy-details p{color:var(--inverse);font-size:11px;max-width:42ch;padding-top:7px}
#v-home #heroSearch .live-search-notice{color:var(--inverse);font-size:10px;line-height:1.5;margin-top:6px}
#v-home .h-hero .fine{margin-top:10px}
#v-home .h-hero .fine .mono{font-size:10px;color:var(--inverse)}
#v-home #heroSearch .address-options{background:var(--ground);color:var(--ink);border-color:var(--rule);backdrop-filter:none}
#v-home #heroSearch .address-options button{color:var(--ink)}
.cinema-model{touch-action:pan-y;cursor:grab;outline-offset:-4px;background:var(--surface)!important}
.cinema-model:active{cursor:grabbing}
.cinema-model svg{position:absolute;inset:0;width:100%;height:100%}
.cinema-model-label{position:absolute;top:16px;left:18px;display:flex;align-items:center;gap:8px;font:9px/1.5 var(--mono);letter-spacing:.05em;color:var(--ink-2)}
.cinema-model-label i{width:10px;height:10px;border:1px solid #742c21;background:#de6e50}
[data-ax="add"] .cinema-model-label i{background:#ecc6a1;border-color:#854925}
.cinema-model-tools{position:absolute;bottom:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:9px/1.4 var(--mono);color:var(--ink-2)}
.cinema-model-tools button{font:10px var(--mono);padding:8px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:2px;min-height:36px}
#ways .w-pair{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr)}
#ways .w-pair .ph img{object-fit:contain;background:var(--night)}
@media(min-width:641px) and (max-width:1000px){
 #v-home .h-hero{min-height:600px}
 #v-home .h-hero-ph{left:30%}
 #v-home .h-hero-ph::before{background:linear-gradient(90deg,var(--night),rgba(32,34,32,.74) 14%,rgba(32,34,32,.16) 50%,transparent)}
 #v-home .h-hero-in{padding:42px 30px}
 #v-home .h-hero h1{font-size:50px;max-width:500px}
 #v-home .h-hero .lede{max-width:34ch}
}
@media(max-width:640px){
 #v-home .h-hero{min-height:0}
 #v-home .h-hero-ph{inset:0 0 auto;height:330px}
 #v-home .h-hero-ph img{object-fit:cover;object-position:center 42%}
 #v-home .h-hero-ph::before{background:linear-gradient(0deg,var(--night),rgba(32,34,32,.55) 14%,transparent 45%)}
 #v-home .h-hero-in{padding:305px 22px 36px}
 #v-home .h-hero h1{font-size:clamp(38px,10.2vw,54px);max-width:100%}
 #v-home .h-hero .lede{font-size:15px;max-width:38ch;margin-top:18px}
 #v-home .h-hero #heroSearch{margin-top:20px}
 #v-home #heroSearch .srow{padding-left:12px}
 #v-home #heroSearch .srow input{font-size:16px}
 #v-home #heroSearch .srow .btn{padding-inline:14px}
 #ways .w-pair{grid-template-columns:1fr}
 #ways .w-pair .ph{aspect-ratio:4/3}
 #ways .w-pair .fr{height:350px}
}
#v-home #ways{padding-top:64px}
@media(max-width:640px){#v-home #ways{padding-top:44px}}
#v-home .h-hero-ph img{transform:translateX(var(--hero-image-shift,0px))!important}
#ways .cinema-artwork{background:var(--ground)!important;cursor:default;touch-action:auto}
#ways .cinema-artwork img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
/* A single editorial report language for verified address records. */
.live-report.is-loading{max-width:760px;margin:60px auto 40px;padding:0 24px}
.live-report.is-loading>.eyebrow,.live-report.is-loading>h1,.live-report.is-loading>.live-note,.live-report.is-loading>.live-actions{display:none}
#liveState[aria-busy=true]{display:block;background:transparent;border:0;padding:0;color:var(--ink);overflow:visible}
.report-loading-address{font:600 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin-bottom:14px}
#liveState[aria-busy=true] h2{font:400 clamp(30px,4vw,40px)/1.15 var(--display);margin:0 0 36px}
#liveState .property-loading-steps{display:block;margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
#liveState .property-loading-steps li{position:relative;display:flex;align-items:flex-start;gap:18px;border:0;border-bottom:1px solid var(--rule);padding:18px 0;font:400 16px/1.5 var(--body);color:var(--ink-2)}
#liveState .property-loading-steps li::before{content:'';display:block;flex:0 0 16px;width:16px;height:16px;border:1px solid var(--rule);border-radius:50%;margin-top:4px;background:transparent;box-sizing:border-box}
#liveState .property-loading-steps li[data-state=complete]::before{background:var(--sage-deep);border-color:var(--ink-2)}
#liveState .property-loading-steps li[data-state=active]::before{border-color:var(--ink-2);border-right-color:transparent;animation:property-spin 1.2s linear infinite}
#liveState .property-loading-steps strong{font:400 17px/1.4 var(--body);display:block}
#liveState .property-loading-steps small{font:13px/1.5 var(--body);display:block;color:var(--ink-3);margin-top:4px}
.property-phase-time{margin-left:auto;font:11px/1.6 var(--mono);white-space:nowrap;color:var(--ink-3);padding-top:3px}
#liveState .report-loading-note{font:13px/1.7 var(--body);color:var(--ink-3);margin:30px 0 0;max-width:58ch}
.property-screen .site-capacity{background:var(--paper);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.property-screen .capacity-heading,.property-screen .capacity-projects,.property-screen .capacity-status,.property-screen .capacity-camera,.property-screen .capacity-legend{background:transparent}
.property-screen .capacity-drawing{background:var(--paper);border:0;touch-action:pan-y;cursor:grab}
.property-screen .capacity-drawing:active{cursor:grabbing}
.property-screen .site-capacity:not(.is-plan) .capacity-drawing svg{width:100%;min-width:0;max-width:100%;height:auto;aspect-ratio:760/470;max-height:620px}
.property-screen .capacity-parcel{fill:#f5f5ef}
.property-screen .capacity-boundary{stroke:#59665d;stroke-width:1.4;stroke-dasharray:5 4}
.property-screen .capacity-front-line{stroke:#59665d;stroke-width:1.6}
.property-screen .capacity-building.is-context{opacity:.56}
.property-screen .capacity-building.is-context .capacity-wall{fill:#dce0d7;stroke:#adb5a9;stroke-width:.75}
.property-screen .capacity-building.is-context .capacity-roof{fill:#f6f7f0;stroke:#adb5a9;stroke-width:.85}
.capacity-study-window{fill:#617872;fill-opacity:.48;stroke:#4b615b;stroke-opacity:.5;stroke-width:.55}
.property-screen .capacity-camera{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.property-screen .capacity-camera label{flex:1;min-width:180px}
.capacity-motion,.cinema-motion{padding:8px 12px;background:var(--ground);border:1px solid var(--rule);font:11px var(--mono);border-radius:3px;color:var(--ink-2)}
.cinema-live-model{position:relative;background:var(--paper)!important}
.cinema-turntable{position:absolute;inset:0 0 40px;min-height:200px;touch-action:pan-y}
.cinema-motion{position:absolute;right:14px;bottom:10px}
.opt-ph{aspect-ratio:4/3}
.opt-ph img{object-fit:cover;object-position:50% 44%}
@media(max-width:640px){.live-report.is-loading{margin:32px auto;padding:0 18px}#liveState .property-loading-steps li{gap:12px}#liveState .property-loading-steps strong{font-size:15px}#liveState .property-loading-steps small{font-size:12px}.property-screen .capacity-address-tag{display:none}}
@media(prefers-reduced-motion:reduce){#liveState .property-loading-steps li[data-state=active]::before{animation:none}}
@media print{.capacity-motion,.cinema-motion{display:none!important}}
/* Compact option thumbnails: preserve each complete facade and align the cards. */
#repIn .opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}
#repIn .opt{min-width:0;text-align:left;display:flex;flex-direction:column;align-items:stretch}
#repIn .opt-ph{height:160px;min-height:160px;max-height:160px;aspect-ratio:auto;flex:none;background:var(--night);margin-bottom:10px}
#repIn .opt-ph img{width:100%;height:100%;object-fit:contain;object-position:center}
#repIn .opt-ph i{display:none}
#repIn .opt>.chip{align-self:flex-start}
#repIn .opt h3{font-size:clamp(18px,2vw,24px);line-height:1.3;overflow-wrap:anywhere}
#repIn .opt>.mono{font-size:10px;line-height:1.6}
#repIn .opt .score{margin-top:auto;padding-top:12px}
@media(max-width:700px){#repIn .opts{grid-template-columns:1fr}#repIn .opt-ph{height:150px;min-height:150px;max-height:150px}}
/* Complete scene photographs fill section 01 without letterboxing. */
#ways .w-pair .ph{background:var(--paper);border:0;border-radius:0}
#ways .w-pair .ph img{object-fit:cover;object-position:center;background:transparent}
#ways .w-cap{grid-template-columns:1fr auto}
#report-inside .sample-original-link{display:inline-block;margin:0 0 0 24px;vertical-align:middle}
/* Section 03: a quiet service ribbon and an uninterrupted, larger model. */
#how>.h-head{display:grid;grid-template-columns:1.25fr .8fr;gap:64px;align-items:end;margin-bottom:34px}
#how>.h-head p{padding-bottom:5px}
#how .journey-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:5px;background:var(--paper);border:1px solid var(--rule);border-radius:5px;overflow:visible}
#how .journey-picker button{display:flex;align-items:center;justify-content:center;min-height:62px;padding:15px 18px;border:0;border-radius:2px;text-align:center;white-space:normal;font:500 15px/1.4 var(--body);letter-spacing:0;color:var(--ink-2);transition:background .2s,color .2s}
#how .journey-picker button:hover{background:var(--sage-wash);}
#how .journey-picker button[aria-selected=true]{background:var(--sage-deep);color:var(--ground)}
#how .journey-panel{padding:32px 0 44px;gap:32px;grid-template-columns:.85fr 1.2fr;align-items:center}
#how .journey-copy{padding:18px 18px 18px 0;align-self:center}
#how .journey-copy h3{font-size:clamp(30px,3vw,42px);line-height:1.18;max-width:18ch;margin:16px 0 22px}
#how .journey-copy p{font-size:15px;line-height:1.75}
#how .journey-copy .journey-outcome{font-size:13px}
#how .journey-copy .journey-price{font:12px/1.65 var(--body)!important;color:var(--ink-3)}
#how .journey-visual.journey-spatial{background:transparent;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.journey-model{height:clamp(430px,39vw,560px);position:relative;touch-action:pan-y;cursor:grab}
.journey-model svg{display:block;width:100%;height:100%;position:absolute;inset:0}
.journey-model:active{cursor:grabbing}
@media(max-width:1000px){#how>.h-head{gap:30px}#how .journey-panel{gap:22px;grid-template-columns:1fr 1.1fr}#how .journey-picker button{font-size:14px;padding:14px 10px}.journey-model{height:440px}}
@media(max-width:700px){#how>.h-head{grid-template-columns:1fr;gap:22px}#how .journey-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}#how .journey-picker button{min-height:58px;font-size:14px}#how .journey-panel{grid-template-columns:1fr;gap:8px;padding-top:24px}#how .journey-copy{padding-right:0}.journey-model{height:clamp(330px,90vw,470px)}#report-inside .sample-original-link{margin:16px 0 0;display:block;width:max-content;max-width:100%}}
@media(prefers-reduced-motion:reduce){#how .journey-picker button{transition:none}}
