.ss-page #semi-finished{--build-distance:clamp(320px,44svh,480px);--build-bg:var(--ivory);--build-ink:var(--deep);--build-accent:var(--rust);--build-line:rgba(11,53,64,.2);color:var(--build-ink);background:var(--build-bg);overflow-anchor:none;scroll-margin-top:50px}
.ss-page #semi-finished[data-animate]{height:calc(var(--panel-height,740px) + var(--build-distance))}
.ss-page #semi-finished .villa-option{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"visual lead" "visual details";column-gap:6vw;row-gap:24px;padding:80px 6vw 88px;border-block:1px solid var(--build-line);background:var(--build-bg)}
.ss-page #semi-finished[data-animate] .villa-option{position:sticky;top:68px}
.ss-page #semi-finished .villa-lead{grid-area:lead;min-width:0}
.ss-page #semi-finished .villa-details{grid-area:details;min-width:0;max-width:480px}
.ss-page #semi-finished .villa-visual{grid-area:visual;min-width:0;align-self:center;margin:0}
.ss-page #semi-finished .visual-pin{position:relative;background:var(--build-bg)}
.ss-page #semi-finished .visual-pin:before{content:"";position:absolute;inset:-18px 18px 80px -18px;border:1px solid var(--build-line);pointer-events:none}
.ss-page #semi-finished .eyebrow{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--build-ink);margin:0 0 26px}
.ss-page #semi-finished .eyebrow:before{content:"";width:28px;height:1px;background:var(--build-accent);flex-shrink:0}
.ss-page #semi-finished h2{font:400 clamp(60px,6.2vw,94px)/.96 var(--serif);letter-spacing:-.04em;margin:0 0 26px;color:var(--build-ink)}
.ss-page #semi-finished h2 i{font-weight:400}
.ss-page #semi-finished .benefit{font:400 clamp(23px,2.2vw,31px)/1.22 var(--serif);color:var(--build-ink);margin:0;max-width:400px}
.ss-page #semi-finished .build-frame{position:relative;aspect-ratio:1672/941;overflow:hidden;background:#e3e5dc}
.ss-page #semi-finished .villa-image{display:block;width:100%;height:auto;aspect-ratio:1672/941}
.ss-page #semi-finished .stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.ss-page #semi-finished .build-frame[data-ready] .villa-image{visibility:hidden}
.ss-page #semi-finished .build-status{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;font-size:10px;line-height:1.5;color:var(--build-ink)}
.ss-page #semi-finished .build-hint{font-size:9px;letter-spacing:.06em;opacity:.7;white-space:nowrap}
.ss-page #semi-finished .stage-track{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ss-page #semi-finished .stage-track span{height:1px;background:var(--build-line)}
.ss-page #semi-finished .stage-track span[data-past]{background:var(--build-accent)}
.ss-page #semi-finished figcaption{margin:14px 0 0;font-size:9px;line-height:1.7;color:var(--build-ink);opacity:.7}
.ss-page #semi-finished .description{font-size:13px;line-height:1.85;max-width:410px;margin:0 0 25px}
.ss-page #semi-finished .handover-scope{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;padding:20px 0;border-block:1px solid var(--build-line);font-size:11px;line-height:1.8}
.ss-page #semi-finished .handover-scope dt{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;color:var(--build-accent)}
.ss-page #semi-finished .handover-scope dd{margin:0}
.ss-page #semi-finished .completion-note{font-size:10px;line-height:1.8;opacity:.8;margin:16px 0 24px;max-width:410px}
.ss-page #semi-finished .enquiry-link{display:inline-flex;min-height:44px;align-items:center;gap:24px;border-bottom:1px solid var(--build-accent);color:var(--build-ink);font-size:11px;text-decoration:none;padding:0 0 9px}
.ss-page #semi-finished .enquiry-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2}
.ss-page #semi-finished .enquiry-link:hover{color:var(--build-accent)}
.ss-page #semi-finished .enquiry-link:focus-visible{outline:2px solid var(--build-accent);outline-offset:6px}
@media(max-width:760px){
 .ss-page #semi-finished{--mobile-travel:clamp(280px,48svh,440px);--sticky-top:72px;scroll-margin-top:42px}
 .ss-page #semi-finished[data-animate]{height:auto}
 .ss-page #semi-finished .villa-option,.ss-page #semi-finished[data-animate] .villa-option{position:relative;top:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"lead" "visual" "details";gap:32px;padding:52px 24px 56px}
 .ss-page #semi-finished .eyebrow{font-size:8px;letter-spacing:.1em;gap:10px;margin-bottom:24px}
 .ss-page #semi-finished h2{font-size:clamp(60px,17vw,74px);margin-bottom:24px}
 .ss-page #semi-finished .benefit{font-size:25px;line-height:1.24}
 .ss-page #semi-finished .villa-visual{width:calc(100% + 48px);margin-inline:-24px}
 .ss-page #semi-finished .visual-pin:before{display:none}
 .ss-page #semi-finished[data-animate] .visual-timeline{height:calc(var(--pin-height,310px) + var(--mobile-travel))}
 .ss-page #semi-finished[data-animate] .visual-pin{position:sticky;top:var(--sticky-top);padding-bottom:16px}
 .ss-page #semi-finished .build-status{margin:16px 24px 12px;font-size:11px}
 .ss-page #semi-finished .stage-track{margin-inline:24px}
 .ss-page #semi-finished figcaption{margin:12px 24px 0;font-size:10px}
 .ss-page #semi-finished .description{font-size:14px;line-height:1.8;margin-bottom:24px}
 .ss-page #semi-finished .handover-scope{font-size:12px;gap:20px}
 .ss-page #semi-finished .handover-scope dt{font-size:9px}
 .ss-page #semi-finished .completion-note{font-size:11px;margin:18px 0 22px}
 .ss-page #semi-finished .enquiry-link{display:flex;justify-content:space-between;min-height:48px;font-size:12px}
}
.ss-page #semi-finished[data-short]{height:auto}
.ss-page #semi-finished[data-short] .villa-option{position:relative;top:auto}
.ss-page #semi-finished[data-short] .visual-timeline{height:auto}
.ss-page #semi-finished[data-short] .visual-pin{position:relative;top:auto}
.ss-page #semi-finished[data-short] .build-hint{display:none}
@media(prefers-reduced-motion:reduce){
 .ss-page #semi-finished[data-animate]{height:auto}
 .ss-page #semi-finished[data-animate] .villa-option,.ss-page #semi-finished[data-animate] .visual-pin{position:relative;top:auto}
 .ss-page #semi-finished[data-animate] .visual-timeline{height:auto}
 .ss-page #semi-finished .build-hint{display:none}
}

/* Owner selected option 03: compact teal. */
.ss-page #semi-finished{--build-bg:var(--deep);--build-ink:var(--ivory);--build-accent:var(--gold);--build-line:#f4f1ea40}.ss-page #semi-finished .villa-option{grid-template-areas:"lead visual" "details visual";grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding-block:64px}.ss-page #semi-finished .visual-pin:before{inset:-18px -18px 80px 18px}.ss-page #semi-finished h2{font-size:clamp(60px,5.5vw,84px)}@media(max-width:760px){.ss-page #semi-finished .villa-option{grid-template-areas:"lead" "visual" "details";grid-template-columns:minmax(0,1fr)}}
