/* Villa selection and on-demand architectural viewer. Scoped for Elementor. */
.selection-image img,.villa-list-item img{height:auto}
/* Buyer facts use the supplied plan schedules, separate from visualisation geometry. */
.ss-page .villa-facts{grid-column:1/-1;width:100%;margin:4px 0 22px;min-width:0}
.ss-page .villa-fact-list{margin:0;border-top:1px solid var(--line)}
.ss-page .villa-fact-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font:400 12px/1.5 var(--sans)}
.ss-page .villa-fact-list dt{color:var(--green)}
.ss-page .villa-fact-list dd{margin:0;text-align:right;color:var(--deep);font-weight:600}
.ss-page button.villa-list-item{white-space:normal;min-width:0}
.ss-page .villa-card-facts{display:block;margin-top:14px;border-top:1px solid var(--line);font:400 11px/1.5 var(--sans)}
.ss-page .villa-card-facts>span{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.ss-page .villa-card-facts>span>span:first-child{max-width:55%;color:var(--green)}
.ss-page .villa-card-facts>span>span:last-child{text-align:right;font-weight:600}
@media(max-width:760px){
 .ss-page .collection-list{grid-template-columns:1fr;max-height:660px}
 .ss-page .villa-list-item img{max-height:175px}
 .ss-page .villa-card-facts{font-size:12px}
 .ss-page .explorer-details>.villa-facts{order:2;width:auto;margin:20px 24px}
}
.villa-marker::before{content:'';position:absolute;inset:-6px;border-radius:50%}.ss-page .explorer-controls>button{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.explorer-controls>button span{margin-left:0!important}.collection-map-hint>[data-map-hint-text]{margin-left:0!important}
.collection-map.is-plot-view{background:radial-gradient(ellipse,#eee3ca,#f6f1e5)}.is-plot-view .collection-impression{color:#506761;text-shadow:none}.plot-shortcuts{position:absolute;inset:0;pointer-events:none}.ss-page .plot-shortcuts button{position:absolute;top:36%;left:14%;background:#f4f1eaf5;box-shadow:0 4px 20px #133c4325;padding:14px 20px;border:1px solid #fff;color:#143f43;font:30px Cormorant,serif;cursor:pointer;pointer-events:auto;text-align:left}.ss-page .plot-shortcuts button:last-child{left:52%;top:29%}.plot-shortcuts button span{font:9px Montserrat,sans-serif;display:block;margin-top:6px}.collection-map-hint [data-map-hint-text]{margin-left:0}.plot-shortcuts button::after{content:'';position:absolute;top:100%;left:25px;width:1px;height:35px;background:#fff}
.ss-page .villa-collection{padding:100px 0 0;background:var(--ivory,#f4f1ea);color:var(--deep,#123f43);scroll-margin-top:105px}
.ss-page .collection-heading{padding:0 5vw 38px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}
.ss-page .collection-heading .eyebrow{margin-bottom:18px}.ss-page .collection-heading h2{font-size:clamp(45px,4.8vw,83px);line-height:1.06;margin:0;letter-spacing:-.035em}.collection-mobile-break{display:none}
.ss-page .collection-heading>p{font-size:12px;line-height:1.8;max-width:280px;margin:0 0 5px}
.collection-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,29%);border-block:1px solid #153f4320}.collection-map-panel{min-width:0;position:relative;display:flex;flex-direction:column;background:#e6e8e1}
.collection-tools{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f4f1ea;border-bottom:1px solid #153f4320}
.collection-toggle,.collection-sites{display:flex;gap:0;border:1px solid #153f4329}.ss-page .collection-tools button{min-height:44px;padding:10px 14px;font:11px Montserrat,sans-serif;color:#19464a;background:transparent;border:0;cursor:pointer}.ss-page .collection-toggle button[aria-pressed=true]{background:#17494e;color:#fff}.ss-page .collection-sites button[aria-pressed=true]{background:#dcded4}.collection-toggle span{margin-left:6px}
.collection-map{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;margin:auto 0}.collection-map>img{display:block;width:100%;height:100%;object-fit:contain}.collection-markers{position:absolute;inset:0}
.ss-page .villa-marker{position:absolute;left:var(--marker-x);top:var(--marker-y);transform:translate(-50%,-100%);border:1px solid #fff;background:#fbf8ef;color:#123f43;min-width:36px;height:36px;border-radius:50%;font:11px Montserrat,sans-serif;box-shadow:0 3px 12px #142d3926;cursor:pointer;padding:0 6px;z-index:1;transition:background .2s,transform .2s}.villa-marker::after{content:'';height:10px;width:1px;background:#fff;position:absolute;top:100%;left:50%}.ss-page .villa-marker:hover,.ss-page .villa-marker[aria-pressed=true]{background:#a96244;color:white;z-index:3;transform:translate(-50%,-100%) scale(1.14);border-width:2px}.ss-page .villa-marker.is-community{border-radius:4px;font-size:10px;min-width:48px}
.ss-page .collection-map-hint{position:absolute;bottom:22px;left:22px;background:#f4f1eaf5;border-radius:30px;padding:12px 18px;font:10px Montserrat,sans-serif;margin:0;pointer-events:none}.collection-map-hint span{margin-left:20px}.collection-impression{position:absolute;right:18px;bottom:12px;color:white;font-size:9px;text-shadow:0 1px 4px #000}
.collection-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d6d9cd;padding:1px;max-height:630px;overflow:auto;flex:1}.ss-page .villa-list-item{border:0;background:#f4f1ea;text-align:left;color:#153f43;padding:15px;cursor:pointer}.villa-list-item img{width:100%;aspect-ratio:5/4;object-fit:contain;display:block}.villa-list-item strong{display:block;font:27px Cormorant,serif;font-weight:400}.villa-list-item small{font-size:9px}.ss-page .villa-list-item[aria-pressed=true]{box-shadow:inset 0 0 0 2px #a96244;background:#eeece2}
.ss-page .collection-selection{padding:30px clamp(22px,2.8vw,46px);border-left:1px solid #153f4320;display:flex;flex-direction:column;justify-content:center;min-width:0}.ss-page .collection-selection .eyebrow{font-size:9px;margin-bottom:12px}.ss-page .collection-selection h3{font:clamp(44px,4.5vw,70px)/1 Cormorant,serif;margin:0 0 12px;letter-spacing:-.03em}.ss-page .selection-intro{font:italic 24px/1.25 Cormorant,serif;margin:0 0 14px}.selection-image{position:relative;background:#eae8df}.selection-image img{width:100%;aspect-ratio:5/4;object-fit:contain;display:block}.selection-image>span{position:absolute;bottom:8px;left:12px;font-size:8px;color:#4e6663}.selection-features{display:flex;gap:10px;justify-content:space-between;padding:17px 0;font:18px Cormorant,serif}
.ss-page .explorer-primary{border:1px solid #143f43;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:16px 20px;background:#143f43;color:#fff;font:22px/1.1 Cormorant,serif;text-decoration:none;cursor:pointer;min-height:54px;transition:background .2s}.ss-page .explorer-primary:hover{background:#24555a}.ss-page .explorer-primary:disabled{opacity:.5;cursor:wait}.ss-page .selection-link{display:flex;align-items:center;justify-content:space-between;gap:14px;font:19px Cormorant,serif;background:none;color:#143f43;width:100%;border:0;border-bottom:1px solid #153f4325;min-height:51px;padding:10px 0;text-decoration:none;cursor:pointer}.ss-page .selection-link:disabled{opacity:.5;cursor:wait}.collection-foot{display:flex;justify-content:space-between;gap:20px;padding:20px 5vw;font-size:10px;color:#596e6c;line-height:1.6}.collection-load-status{position:absolute;left:25px;bottom:70px;background:#f4f1ea;padding:12px 18px;font-size:12px;max-width:85%}.collection-load-status:empty{display:none}
.ss-page .villa-explorer-dialog{padding:0;border:1px solid #d4d7cb;background:#f4f1ea;color:#143f43;width:calc(100vw - 44px);max-width:1720px;max-height:calc(100dvh - 44px);margin:auto;overflow:auto}.villa-explorer-dialog::backdrop{background:#0b282bd9;backdrop-filter:blur(6px)}.explorer-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:15px 32px;border-bottom:1px solid #143f4325;background:#f4f1ea;position:sticky;top:0;z-index:5}.explorer-wordmark{font:25px Cormorant,serif}.explorer-wordmark small{display:block;font:8px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.4em;margin-top:3px}.ss-page .explorer-topbar button{border:0;background:transparent;color:#946048;min-height:44px;font:17px Cormorant,serif;cursor:pointer}.explorer-topbar button span{font:30px Montserrat,sans-serif;margin-left:24px;vertical-align:middle}
.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,29%)}.explorer-main{min-width:0}.explorer-tabs{display:flex;padding:0 34px;height:54px;border-bottom:1px solid #143f4320}.ss-page .explorer-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#143f43;padding:12px 25px;font:18px Cormorant,serif;cursor:pointer}.ss-page .explorer-tabs button[aria-pressed=true]{border-bottom-color:#a96244}
.explorer-stage{height:clamp(400px,60vh,680px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#e5e3d8 0%,#f4f1ea 68%)}.explorer-stage-title{position:absolute;top:25px;left:34px;z-index:2;pointer-events:none}.ss-page .explorer-stage-title .eyebrow{font-size:8px;margin-bottom:10px}.ss-page .explorer-stage-title h2{font:clamp(33px,3.7vw,58px)/.98 Cormorant,serif;margin:0;letter-spacing:-.03em}.explorer-poster{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.explorer-model{position:absolute;inset:45px 0 20px}.explorer-model model-viewer{display:block;width:100%;height:100%;--poster-color:transparent;touch-action:pan-y}.explorer-loading{position:absolute;left:50%;bottom:65px;transform:translateX(-50%);background:#f4f1eaf2;padding:14px 22px;font-size:11px;z-index:3;text-align:center;min-width:220px;max-width:85%;box-shadow:0 2px 18px #142d3910}.explorer-loading progress{display:block;width:100%;height:3px;margin-top:10px;accent-color:#17494e}.ss-page .explorer-loading button{background:none;border:0;border-bottom:1px solid #a96244;color:#17494e;margin-top:12px;padding:9px;font:12px Montserrat,sans-serif;cursor:pointer}.explorer-drag-hint{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);font-size:10px;pointer-events:none;white-space:nowrap}.explorer-study-note{position:absolute;bottom:12px;left:24px;font-size:8px;color:#687874;pointer-events:none}
.explorer-controls{display:flex;align-items:center;justify-content:space-around;gap:5px;border-top:1px solid #143f4320;min-height:66px;padding:8px 14px}.ss-page .explorer-controls button{border:0;background:none;color:#143f43;min-width:40px;min-height:44px;padding:7px;font:23px Cormorant,serif;cursor:pointer}.explorer-controls button span,.explorer-controls>div>span{font:10px Montserrat,sans-serif;margin-left:8px}.explorer-controls>div{display:flex;align-items:center}.explorer-controls button:disabled{opacity:.35;cursor:default}
.explorer-details{border-left:1px solid #143f4320;padding:34px;display:flex;flex-direction:column}.ss-page .explorer-details>.eyebrow{font-size:9px;margin-bottom:15px}.ss-page .explorer-details h3{font:clamp(43px,4.7vw,70px)/1 Cormorant,serif;margin:0 0 18px;letter-spacing:-.03em}.ss-page .explorer-description{font:25px/1.22 Cormorant,serif;margin:0 0 28px}.explorer-views{border-top:1px solid #143f4325;padding-top:24px}.ss-page .explorer-views .eyebrow{font-size:9px;margin-bottom:10px}.ss-page .explorer-views button{display:flex;align-items:center;gap:12px;border:1px solid #143f4320;background:none;color:#143f43;padding:15px;width:100%;margin-bottom:8px;font:22px Cormorant,serif;text-align:left;cursor:pointer}.explorer-views button>span{font:9px Montserrat,sans-serif;color:#8a8a78}.explorer-views button>i{margin-left:auto;font-style:normal;color:#a96244}.ss-page .explorer-views button[aria-pressed=true]{border-color:#a96244;background:#e9e8dd}.explorer-views button:disabled{opacity:.45;cursor:default}.explorer-contact{margin-top:auto;padding-top:30px}.ss-page .explorer-contact .explorer-primary{font-size:21px;padding-inline:16px}.explorer-viewing-link{font-size:11px;display:block;text-align:center;text-underline-offset:5px;margin-top:20px;color:#a96244}
.explorer-plans{padding:30px;min-height:450px}.ss-page .plans-heading h2{font:46px Cormorant,serif;margin:0 0 10px}.ss-page .plans-heading .eyebrow{font-size:9px;margin-bottom:10px}.plans-heading>p:last-child,.plans-note{font-size:11px;line-height:1.7}.plan-levels{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.ss-page .plan-levels button{border:1px solid #143f4328;background:none;color:#143f43;font:11px Montserrat,sans-serif;min-height:44px;padding:10px 16px;cursor:pointer}.ss-page .plan-levels button[aria-pressed=true]{background:#143f43;color:#fff}.plan-preview{display:block;text-align:center;color:#143f43}.plan-preview img{display:block;width:100%;height:350px;object-fit:contain;background:white;border:1px solid #143f4320}.plan-preview span{display:inline-block;padding:15px;font-size:11px;text-underline-offset:4px}.plans-note{color:#64736d}
.ss-page .villa-collection [hidden],.ss-page .villa-explorer-dialog [hidden]{display:none!important}.villa-collection button:focus-visible,.villa-explorer-dialog button:focus-visible,.villa-explorer-dialog a:focus-visible{outline:3px solid #a96244;outline-offset:4px}.villa-explorer-dialog:fullscreen{width:100vw;max-width:none;max-height:100dvh;height:100dvh}.villa-explorer-dialog:fullscreen .explorer-stage{height:calc(100dvh - 200px)}
@media(min-width:1700px){.collection-map-panel{max-height:800px}.collection-map{max-height:730px}.collection-heading{max-width:1900px;margin:auto}.villa-marker{font-size:12px!important}}
@media(max-width:1050px){.collection-heading{align-items:flex-start!important;flex-direction:column;gap:14px!important}.collection-heading>p br{display:none}.collection-workspace{grid-template-columns:minmax(0,1fr) 300px}.collection-tools{padding:12px;gap:8px;flex-wrap:wrap}.collection-toggle span{margin-left:0}.ss-page .collection-tools button{padding-inline:12px}.ss-page .collection-selection{padding:24px}.explorer-details{padding:25px}.explorer-layout{grid-template-columns:minmax(0,1fr) 285px}.explorer-controls button span{display:none}.collection-map-hint{font-size:9px!important;padding:10px 13px!important;bottom:15px!important;left:12px!important}}
@media(max-width:760px){.ss-page .villa-collection{padding-top:65px;scroll-margin-top:90px}.ss-page .collection-heading{padding:0 24px 26px;gap:18px!important}.ss-page .collection-heading h2{font-size:49px}.collection-mobile-break{display:block}.collection-workspace{display:block}.collection-tools{flex-wrap:nowrap;gap:8px;padding:12px}.ss-page .collection-tools button{font-size:10px;padding:8px 10px;min-height:44px}.collection-toggle span{font-size:10px}.collection-toggle button:first-child{font-size:0}.collection-toggle button:nth-child(2){font-size:0}.collection-map{aspect-ratio:4/3;margin:0}.ss-page .villa-marker{min-width:30px;height:30px;font-size:9px;padding:0 4px;transform:translate(-50%,-100%)}.ss-page .villa-marker[aria-pressed=true]{transform:translate(-50%,-100%) scale(1.12)}.villa-marker::after{height:5px}.collection-map-hint{bottom:12px!important;font-size:8px!important}.collection-impression{font-size:7px;right:8px;bottom:8px}.ss-page .collection-selection{padding:24px;border-left:0;display:grid;grid-template-columns:1fr 125px;column-gap:20px;position:relative}.ss-page .collection-selection .eyebrow{grid-column:1;font-size:8px;margin-bottom:8px}.ss-page .collection-selection h3{font-size:45px;grid-column:1}.ss-page .selection-intro{font-size:21px;grid-column:1;margin-bottom:0}.selection-image{grid-column:2;grid-row:1/5;align-self:start;margin-top:0}.selection-image img{aspect-ratio:1}.selection-image>span{font-size:7px;bottom:6px;left:7px}.selection-features{grid-column:1/-1;font-size:18px;justify-content:flex-start;gap:30px;padding:20px 0 14px}.collection-selection>.explorer-primary,.collection-selection>.selection-link{grid-column:1/-1}.collection-foot{flex-direction:column;gap:6px;padding:17px 24px;font-size:9px}.collection-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:480px}.ss-page .villa-explorer-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0}.explorer-topbar{height:64px;padding:12px 20px}.explorer-wordmark{font-size:22px}.ss-page .explorer-topbar button{font-size:15px}.explorer-topbar button span{margin-left:12px;font-size:27px}.explorer-layout{display:flex;flex-direction:column}.explorer-main{order:1}.explorer-details{display:contents}.explorer-details>.eyebrow{order:0;padding:22px 24px 0;margin:0!important}.ss-page .explorer-details h3{order:0;padding:10px 24px 20px;margin:0;font-size:49px}.explorer-description{display:none}.explorer-tabs{padding:0 24px;height:47px}.ss-page .explorer-tabs button{padding:10px 23px;flex:1}.explorer-stage{height:390px;max-height:53dvh;min-height:270px}.explorer-stage-title{display:none}.explorer-model{inset:0 0 20px}.explorer-controls{min-height:57px;padding:3px 14px}.explorer-controls button span{display:inline;font-size:9px;margin-left:4px}.explorer-controls>div>span{display:none}.explorer-study-note{font-size:7px;left:15px}.explorer-drag-hint{font-size:9px;bottom:32px}.explorer-views{order:2;display:flex;gap:8px;padding:18px 20px 0;border:0}.explorer-views>.eyebrow{display:none}.ss-page .explorer-views button{display:flex;justify-content:center;padding:12px 8px;font-size:18px;min-height:48px}.explorer-views button span,.explorer-views button i{display:none}.explorer-contact{order:3;margin:0;padding:15px 20px 25px;position:sticky;bottom:0;background:#f4f1eaf7;z-index:4;border-top:1px solid #143f4315}.explorer-viewing-link{margin-top:14px}.explorer-plans{padding:24px;min-height:0}.ss-page .plans-heading h2{font-size:39px}.plan-preview img{height:280px}.explorer-stage:fullscreen{height:100dvh}.villa-explorer-dialog:fullscreen .explorer-stage{height:390px}.collection-load-status{bottom:auto;top:80px}}
@media(max-width:360px){.ss-page .collection-tools button{padding-inline:7px;font-size:9px}.ss-page .collection-selection{grid-template-columns:1fr 100px;padding:20px;gap:10px}.ss-page .collection-selection h3{font-size:40px}.explorer-controls button span{display:none}.ss-page .collection-heading h2{font-size:43px}.ss-page .explorer-views button{font-size:16px}}
@media(prefers-reduced-motion:reduce){.villa-collection *,.villa-explorer-dialog *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:760px){.ss-page .plot-shortcuts button{padding:10px 12px;font-size:24px}.plot-shortcuts button span{font-size:8px}.explorer-controls{gap:2px}.ss-page .explorer-controls>button{gap:4px;padding-inline:3px}.explorer-controls>button:last-child span{display:none}.explorer-contact{position:static}.explorer-controls button:focus-visible{outline-offset:0}.collection-tools{flex-wrap:wrap}.collection-toggle{flex:1}.collection-toggle button{flex:1}.collection-sites{flex-shrink:0}}
.explorer-drag-hint{padding:6px 10px;border-radius:2px;background:#f4f1eadb;color:#143f43}.explorer-study-note{padding:3px 5px;background:#f4f1eae6}

/* Keep the photograph and plot coordinates in the same 4:3 frame at every width. */
.ss-page .collection-map-panel{max-height:none}
.ss-page .collection-map{flex:none;max-height:none;margin:0;aspect-ratio:4/3}
.ss-page .collection-map>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ss-page .plot-shortcuts button{left:27%;top:calc(42% - 24px);transform:translate(-50%,-100%);display:flex;align-items:center;gap:14px;min-height:48px;padding:9px 16px;border:1px solid var(--ivory);border-radius:3px;background:var(--ivory);color:var(--deep);font:500 24px/1 var(--serif);box-shadow:0 3px 12px #0b354025;transition:background .2s,color .2s}
.ss-page .plot-shortcuts button:last-child{left:72%;top:calc(39% - 24px)}
.ss-page .plot-shortcuts button span{display:inline;margin:0;font:16px/1 var(--sans)}
.ss-page .plot-shortcuts button::after{left:50%;height:24px;background:var(--ivory)}
.ss-page .plot-shortcuts button::before{content:'';position:absolute;left:calc(50% - 4px);top:calc(100% + 20px);width:8px;height:8px;border:2px solid var(--ivory);border-radius:50%;background:var(--deep)}
.ss-page .plot-shortcuts button:hover,.ss-page .plot-shortcuts button:focus-visible{background:var(--deep);color:var(--ivory)}
.collection-map-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:var(--ivory);border-top:1px solid var(--line)}
.ss-page .collection-map-caption .collection-map-hint{position:static;transform:none;min-width:0;margin:0;padding:0!important;border-radius:0;background:none;font:12px/1.6 var(--sans)!important;color:var(--deep)}
.ss-page .collection-map-caption .collection-impression{position:static;flex-shrink:0;font:11px/1.6 var(--sans);color:var(--deep);text-shadow:none}
@media(max-width:760px){
 .ss-page .plot-shortcuts button{gap:10px;min-height:44px;padding:8px 12px;font-size:21px}
 .collection-map-caption{flex-wrap:wrap;gap:4px 16px;padding:12px 16px}
}

/* Warm, quiet presentation matching the site's ivory, stone and olive palette. */
.ss-page .explorer-wordmark img{display:block;width:148px;height:45px;object-fit:contain}
.ss-page .explorer-stage{background:radial-gradient(ellipse at 52% 68%,#e9e5d9 0%,#f4f1ea 66%)}
.ss-page .explorer-stage-title{top:26px;left:34px}
.ss-page .explorer-stage-title .eyebrow{color:#7c806f;letter-spacing:.18em;font-size:8px;margin-bottom:12px}
.ss-page .explorer-stage-title h2{font-size:clamp(28px,2.5vw,39px);line-height:1.05;font-weight:400}
.ss-page .explorer-model{inset:64px 18px 36px}
.ss-page .explorer-drag-hint{bottom:11px;background:none;padding:0;color:#58675d;font-size:10px;letter-spacing:.03em}
.ss-page .explorer-study-note{bottom:7px;left:25px;background:none;color:#68746b;font-size:9px}
.ss-page .explorer-views button{border:0;border-bottom:1px solid #143f4320;padding:16px 0;margin:0;background:none}
.ss-page .explorer-views button[aria-pressed=true]{background:none;border-color:#a96244;color:#946048}
.ss-page .selection-image{background:radial-gradient(ellipse at 50% 65%,#e7e3d7,#f4f1ea 75%)}
@media(max-width:760px){
 .ss-page .explorer-wordmark img{width:120px;height:37px}
 .ss-page .explorer-model{inset:4px 8px 37px}
 .ss-page .explorer-drag-hint{bottom:25px;font-size:9px}
 .ss-page .explorer-study-note{left:15px;bottom:5px;font-size:8px}
 .ss-page .explorer-views button{padding:12px 8px;border-bottom:1px solid #143f4325}
}
/* A bearing cue, with the coastal photograph one click away. */
.ss-page .collection-map.is-plot-view{background:radial-gradient(ellipse at 32% 38%,#f8f1df 0%,#eee4cc 76%,#d8e4d9 100%)}
.collection-sea-atmosphere{position:absolute;inset:0;pointer-events:none;background:linear-gradient(102deg,transparent 70%,#b5d8cf33 83%,#62b8b970 100%);color:#fff9e9}
.collection-sea-atmosphere svg{width:100%;height:100%;opacity:.7;stroke-width:3}
.ss-page .collection-sea-guide{position:absolute;z-index:2;right:3.4%;top:6%;padding:12px 0 14px 14px;border:0;background:none;color:#17575b;text-align:left;cursor:pointer;max-width:30%}
.sea-guide-overline{display:block;font:9px/1.5 Montserrat,sans-serif;letter-spacing:.17em}
.sea-guide-title{display:flex;align-items:center;gap:12px;font:italic 31px/1.4 Cormorant,serif;white-space:nowrap}
.sea-guide-title svg{width:40px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;transform:rotate(var(--sea-angle,17.5deg))}
.sea-guide-link{display:block;margin-top:5px;font:11px/1.5 Montserrat,sans-serif;text-decoration:underline;text-underline-offset:5px}
.ss-page .collection-sea-guide:hover{color:#a96244}
@media(max-width:760px){
 .ss-page .collection-sea-guide{right:3%;top:3%;padding:6px 0 10px 8px;max-width:34%}
 .sea-guide-overline{font-size:7.5px;letter-spacing:.06em}
 .sea-guide-title{font-size:20px;gap:5px}
 .sea-guide-title svg{width:25px;height:19px}
 .sea-guide-link{font-size:9.5px;margin-top:1px;text-underline-offset:3px}
}

/* Frame the supplied coastal image around both projects while retaining the sea. */
.ss-page .collection-map.is-setting-view>img{transform:scale(1.2);transform-origin:50% 20%}

.collection-map-transition{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;will-change:transform,opacity;background:var(--ivory)}
.collection-map-transition>img{display:block;width:100%;height:100%;object-fit:contain}
@media(prefers-reduced-motion:reduce){.collection-map-transition{display:none}}

/* Match the preview's AgX medium-high-contrast finish on the model only. */
.explorer-model model-viewer{filter:contrast(1.16) saturate(1.04)}

/* Each column ends with its content rather than stretching the image background. */
.ss-page .collection-workspace{align-items:start}
.ss-page .collection-map-panel{background:var(--ivory)}
.ss-page .collection-selection{justify-content:flex-start}
/* Explicit interactive states prevent Hello's pink button hover leaking in. */
.ss-page .villa-list-item:is(:hover,:focus-visible){background:#eeece2;color:var(--deep);box-shadow:inset 0 0 0 1px var(--rust)}
.ss-page .collection-tools button:is(:hover,:focus-visible){background:#e3e5da;color:var(--deep)}
.ss-page .collection-toggle button[aria-pressed=true]:is(:hover,:focus-visible){background:#17494e;color:white}
.ss-page .selection-link:is(:hover,:focus-visible),
.ss-page .explorer-tabs button:is(:hover,:focus-visible),
.ss-page .explorer-controls button:is(:hover,:focus-visible),
.ss-page .explorer-views button:is(:hover,:focus-visible),
.ss-page .explorer-topbar button:is(:hover,:focus-visible),
.ss-page .explorer-loading button:is(:hover,:focus-visible){background:#e9e8dd;color:var(--deep)}
.ss-page .plan-levels button:is(:hover,:focus-visible){background:#e9e8dd;color:var(--deep)}
.ss-page .plan-levels button[aria-pressed=true]:is(:hover,:focus-visible){background:var(--deep);color:white}
.ss-page .explorer-primary:is(:hover,:focus-visible){background:#24555a;color:white}
.ss-page .collection-sea-guide:is(:hover,:focus-visible){background:transparent;color:var(--rust)}
.ss-page .villa-marker:focus-visible{background:var(--rust);color:white}
@media(min-width:761px){
 .ss-page .collection-selection .selection-image img{height:200px;aspect-ratio:auto;object-fit:contain}
 .ss-page .collection-selection .villa-fact-list>div{padding:8px 0}
}
