.ss-page .terrace-360{padding:100px 6vw;background:var(--deep);color:var(--ivory);scroll-margin-top:60px}
.terrace-heading{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;max-width:1440px;margin:0 auto 48px}
.ss-page .terrace-heading h2{font:400 clamp(40px,4.2vw,64px)/1.02 var(--serif);letter-spacing:-.025em;margin:0;max-width:12ch}
.ss-page .terrace-heading p{font:400 16px/1.7 var(--sans);max-width:45ch;margin:0}
.terrace-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,2fr);gap:5vw;align-items:center}
.terrace-choices{display:flex;flex-direction:column;align-items:stretch;gap:20px;min-width:0}
.terrace-sites{display:flex;gap:8px}
.ss-page .terrace-sites button,.ss-page .terrace-figure button{font:500 14px/1.4 var(--sans);border:0;border-radius:3px;padding:14px 20px;min-height:48px;background:var(--ivory);color:var(--deep);cursor:pointer}
.ss-page .terrace-sites button{background:#244b53;color:var(--ivory)}
.ss-page .terrace-sites button[aria-pressed=true]{background:var(--ivory);color:var(--deep)}
.ss-page .terrace-choices label{font:400 14px/1.5 var(--sans);margin:12px 0 -12px}
.ss-page .terrace-choices select{width:100%;min-height:50px;border:0;border-radius:3px;background:var(--ivory);color:var(--deep);font:400 16px var(--sans);padding:12px}
.ss-page .terrace-choices p{font:400 14px/1.6 var(--sans);margin:0}
.ss-page .terrace-choices .terrace-selection{font:400 30px/1.15 var(--serif);margin-top:12px}
.ss-page .terrace-enquire{font:500 14px/1.5 var(--sans);color:var(--ivory);text-underline-offset:6px;text-decoration:underline;padding:12px 0}
.terrace-figure{margin:0;min-width:0}
.ss-page .terrace-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;display:block}
.terrace-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;font:400 14px/1.5 var(--sans)}
.ss-page .terrace-status{max-width:1440px;margin:20px auto 0;font-size:14px}.terrace-status:empty{display:none}
.ss-page .villa-gallery-open{margin-bottom:10px}
.ss-page .villa-media-dialog{border:0;padding:24px;width:min(1200px,94vw);max-width:94vw;max-height:94dvh;overflow:auto;background:var(--ivory);color:var(--deep);border-radius:6px}
.villa-media-dialog::backdrop{background:rgba(4,22,27,.84)}
.villa-media-top{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}
.ss-page .villa-media-top h2{font:400 clamp(28px,3vw,40px)/1.1 var(--serif);margin:0}
.ss-page .villa-media-top p{font:400 14px/1.5 var(--sans);margin:8px 0 0}
.ss-page .villa-media-dialog button{border:0;font:500 13px/1.4 var(--sans);border-radius:3px;padding:12px 16px;min-height:44px;background:#e3e7df;color:var(--deep);cursor:pointer}
.ss-page .villa-media-dialog button[aria-pressed=true]{background:var(--deep);color:var(--ivory)}
.villa-media-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.villa-media-photo{position:relative;background:#e3e7df;min-height:240px}
.ss-page .villa-media-photo img{width:100%;height:min(52vh,620px);min-height:240px;object-fit:contain;display:block}
.ss-page .villa-media-photo button{position:absolute;top:calc(50% - 24px);background:var(--ivory);font-size:22px;width:48px;height:48px;padding:0}
.villa-media-prev{left:12px}.villa-media-next{right:12px}
.villa-media-thumbs{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 0 8px}
.ss-page .villa-media-thumbs button{flex:0 0 104px;padding:4px;background:transparent;border-radius:3px}
.ss-page .villa-media-thumbs img{width:96px;height:60px;object-fit:cover;display:block}
.ss-page .villa-media-caption{font:400 14px/1.5 var(--sans);margin:14px 0;min-height:21px}
.villa-media-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px}
.ss-page .villa-media-bottom p,.ss-page .villa-media-bottom a{font:400 13px/1.5 var(--sans);margin:0}
.ss-page .villa-media-bottom a{text-decoration:underline;text-underline-offset:5px}
.ss-page .villa-media-pano{height:min(55vh,620px);min-height:300px;position:relative;background:var(--deep);border-radius:3px;overflow:hidden}
.ss-page .villa-media-pano>img{height:100%;width:100%;object-fit:cover}
.ss-page .villa-media-pano>button{position:absolute;bottom:20px;left:20px}
.villa-media-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ss-page .villa-media-dialog [hidden],.ss-page .terrace-360 [hidden]{display:none!important}
.ss-page .villa-media-dialog button:focus-visible,.ss-page .villa-media-dialog a:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.ss-page .terrace-360 button:focus-visible,.ss-page .terrace-360 select:focus-visible,.ss-page .terrace-360 a:focus-visible{outline:3px solid var(--ivory);outline-offset:4px}
.ss-page .villa-media-dialog button:hover,.ss-page .terrace-360 button:hover{filter:brightness(.93)}
@media(max-width:760px){.ss-page .terrace-360{padding:64px 24px}.terrace-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.ss-page .terrace-heading h2{max-width:11ch;font-size:44px}.terrace-layout{grid-template-columns:1fr;gap:28px}.terrace-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.terrace-sites{grid-column:1/-1}.ss-page .terrace-choices label{grid-column:1/-1;margin:0 0 -8px}.terrace-choices select{grid-column:1/-1}.ss-page .terrace-choices .terrace-selection{display:none}.terrace-choices>p:not(.terrace-selection){grid-column:1/-1}.ss-page .terrace-enquire{grid-column:1/-1;padding:0}.terrace-figure figcaption{flex-direction:column;align-items:stretch;gap:14px}.ss-page .terrace-figure img{aspect-ratio:4/3}.ss-page .villa-media-dialog{padding:16px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:96dvh}.villa-media-top{gap:10px}.ss-page .villa-media-top h2{font-size:28px}.ss-page .villa-media-top p{font-size:13px}.ss-page .villa-media-dialog button{padding:11px 12px}.ss-page .villa-media-photo img{height:auto;aspect-ratio:3/2;min-height:0}.villa-media-photo{min-height:0}.villa-media-bottom{flex-direction:column;align-items:flex-start;gap:12px}.ss-page .villa-media-pano{height:48vh}.villa-media-controls{gap:6px}.ss-page .villa-media-controls button{font-size:12px}.villa-media-prev{left:4px}.villa-media-next{right:4px}}
