*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f3ee;color:#17282a;font-family:Manrope,Arial,sans-serif;line-height:1.65}.it{display:inline}.en{display:none}.lang-en .it{display:none}.lang-en .en{display:inline}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.site-header{position:fixed;z-index:50;top:18px;left:3vw;right:3vw;height:68px;padding:8px 18px;display:flex;align-items:center;gap:25px;background:rgba(248,247,242,.78);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(0,0,0,.08)}.brand{width:112px;flex:0 0 112px}.brand img{max-height:54px;width:auto;margin:auto}.site-header nav{display:flex;justify-content:center;gap:24px;flex:1;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.lang-toggle,.menu-toggle{border:0;background:none;color:inherit;cursor:pointer}.lang-toggle{font:600 10px Manrope;display:flex;gap:7px;align-items:center}.lang-toggle i{width:20px;height:1px;background:#17282a}.menu-toggle{display:none;font-size:22px;width:38px;height:38px;padding:7px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:1px solid rgba(23,40,42,.16);background:rgba(248,247,242,.42);border-radius:50%;transition:background .25s,border-color .25s,transform .25s}.menu-toggle i{display:block;width:19px;height:1.5px;background:#17373a;border-radius:2px;transition:transform .28s ease,opacity .2s ease,width .28s ease}.menu-toggle i:nth-child(2){width:14px;align-self:flex-end}.menu-toggle:hover{background:rgba(248,247,242,.82);border-color:rgba(23,40,42,.28)}body.menu-open .menu-toggle i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}body.menu-open .menu-toggle i:nth-child(2){opacity:0;width:19px}body.menu-open .menu-toggle i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.hero{height:100vh;min-height:650px;position:relative;overflow:hidden;background:#183537}.hero-image{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,28,.56),rgba(7,25,28,.05) 70%),linear-gradient(0deg,rgba(7,25,28,.45),transparent 45%)}.hero-content{position:absolute;left:9vw;bottom:12vh;color:#fff;max-width:650px}.eyebrow,.kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase}.hero h1{font:500 clamp(60px,8vw,116px)/.82 "Cormorant Garamond",serif;margin:20px 0 28px}.hero h1 em,h2 em{font-style:italic}.hero-link{display:inline-flex;gap:14px;margin-top:20px;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.section-pad{padding:110px 7vw}.intro{display:grid;grid-template-columns:80px 1fr 280px;gap:45px}.intro h2,.villa-story h2,.pool-copy h2,.section-heading h2,.interiors h2,.rooms h2,.amenities h2,.sicily h2,.availability h2{font:500 clamp(45px,5.5vw,78px)/.9 "Cormorant Garamond",serif;margin:0 0 30px}.intro-number{font:42px "Cormorant Garamond";color:#9a7d61}.kicker{color:#8d7259;margin:0 0 22px}.lead{font-size:17px;color:#435456;max-width:700px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:35px}.stats div{border-top:1px solid #cfc8bb;padding-top:10px}.stats strong{font:38px "Cormorant Garamond";display:block}.stats span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#778083}.feature-image{height:72vh;min-height:500px;position:relative;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:25px;left:7vw;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px #000}.villa-story{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center}.story-image img{width:100%;height:610px;object-fit:cover}.story-copy p:last-child{max-width:500px;color:#566365}.pool-section{display:grid;grid-template-columns:1.35fr .65fr;background:#17373a;color:#fff}.pool-image{min-height:740px}.pool-image img{width:100%;height:100%;object-fit:cover}.pool-copy{padding:100px 7vw 100px 6vw;align-self:center}.pool-copy .kicker{color:#c5ad8f}.pool-specs{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.pool-specs span{border:1px solid rgba(255,255,255,.25);padding:8px}.pool-copy>p:last-child{color:#c9d2d1}.outdoor{background:#ece8df}.section-heading{max-width:680px;margin-bottom:55px}.mosaic{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:320px 320px;gap:18px}.mosaic figure{margin:0;position:relative;overflow:hidden}.mosaic-a{grid-row:1/3}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic figcaption,.interior-card figcaption{position:absolute;z-index:2;bottom:20px;left:22px;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px #000}.interiors{background:#f7f5f0}.interiors-head{margin-bottom:55px}.interior-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.interior-card{margin:0;position:relative;min-height:360px;overflow:hidden;background:#ddd}.interior-card.large{grid-row:span 2;min-height:740px}.interior-card.wide{grid-column:1/-1;min-height:430px}.interior-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.interior-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}.interior-card figcaption{right:20px;display:flex;gap:12px;align-items:baseline}.interior-card b{font:24px "Cormorant Garamond"}.details-band{display:grid;grid-template-columns:repeat(3,1fr);background:#c8b398;padding:45px 7vw;text-align:center}.details-band div{border-right:1px solid rgba(32,48,50,.2)}.details-band div:last-child{border:0}.details-band strong{font:44px "Cormorant Garamond";display:block}.details-band span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.rooms{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.rooms-copy p:last-child{max-width:560px;color:#5e696a}.room-image{height:620px;position:relative;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover}.room-image span{position:absolute;bottom:20px;left:20px;color:#fff;font-size:9px;letter-spacing:.2em;text-shadow:0 2px 8px #000}.gallery-strip{overflow:hidden;background:#172f31;padding:18px 0}.gallery-track{display:flex;width:max-content;gap:18px;animation:marquee 36s linear infinite}.gallery-track img{width:340px;height:240px;object-fit:cover}@keyframes marquee{to{transform:translateX(-50%)}}.amenities{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.amenity-list{display:flex;flex-wrap:wrap;gap:8px}.amenity-list span{border-bottom:1px solid #c9c2b7;padding:8px 3px;min-width:42%;font-size:12px}.sicily{background:#dfd8cb}.sicily-intro{display:grid;grid-template-columns:.7fr 1fr .8fr;gap:50px;align-items:end}.sicily-intro>p:last-child{color:#586567}.dest-grid{padding:0 7vw 70px;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:18px}.dest{margin:0;position:relative;height:350px;overflow:hidden}.dest.large{height:520px;grid-row:span 2}.dest img{width:100%;height:100%;object-fit:cover}.dest:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.dest figcaption{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff;right:22px;display:flex;justify-content:space-between}.availability{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;background:#f7f5f0}.availability-copy p:not(.kicker){color:#5b6769;max-width:520px}.availability-actions,.closing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:15px;border:1px solid #233c3e;padding:12px 17px;font-size:10px;letter-spacing:.08em}.calendar-wrap{height:620px;border:1px solid #d3cdc3;background:#fff;overflow:hidden}.calendar-wrap iframe{width:100%;height:100%;border:0}.closing{background:#17373a;color:#fff;text-align:center;padding:105px 20px}.closing-content{max-width:560px;margin:auto}.closing img{width:190px;margin:0 auto 28px}.closing p{color:#cbd4d2}.button-light{border-color:rgba(255,255,255,.5)}footer{background:#10282a;color:#d8dfdd;padding:55px 7vw 28px}.footer-top{display:grid;grid-template-columns:160px 1fr auto;gap:45px;align-items:start}.footer-top img{width:150px}.footer-top a{text-decoration:underline}.legal-codes{display:flex;gap:18px;margin-top:14px;font-size:10px;opacity:.8}.back-top{text-transform:uppercase;font-size:10px;letter-spacing:.12em}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.65}.loader{position:fixed;z-index:100;inset:0;background:#17373a;display:grid;place-items:center;transition:.7s}.loader img{width:180px}.loader span{position:absolute;bottom:13vh;width:90px;height:1px;background:rgba(255,255,255,.35)}body.loaded .loader{opacity:0;visibility:hidden}@media(max-width:900px){.site-header{left:12px;right:12px}.site-header nav{display:none}.menu-toggle{display:block}.intro,.villa-story,.rooms,.amenities,.availability,.sicily-intro{grid-template-columns:1fr}.intro-number{display:none}.stats{grid-template-columns:repeat(4,1fr)}.feature-image{height:55vh}.pool-section{grid-template-columns:1fr}.pool-image{min-height:55vh}.pool-copy{padding:75px 7vw}.mosaic{grid-template-columns:1fr;grid-template-rows:repeat(3,340px)}.mosaic-a{grid-row:auto}.interior-grid{grid-template-columns:1fr}.interior-card.large{grid-row:auto;min-height:480px}.interior-card.wide{grid-column:auto}.details-band{grid-template-columns:1fr;gap:25px}.details-band div{border-right:0;border-bottom:1px solid rgba(32,48,50,.2);padding-bottom:20px}.dest-grid{grid-template-columns:1fr}.dest.large{grid-row:auto;height:420px}.calendar-wrap{height:520px}.footer-top{grid-template-columns:1fr}}@media(max-width:600px){.section-pad{padding:80px 6vw}.hero-content{left:7vw;right:7vw;bottom:9vh}.hero h1{font-size:65px}.stats{grid-template-columns:1fr 1fr}.site-header{height:60px}.brand{width:88px;flex-basis:88px}.brand img{max-height:46px}.feature-image{height:48vh}.story-image img{height:430px}.pool-image{min-height:420px}.gallery-track img{width:270px;height:190px}.footer-bottom{display:block}}
/* Loader failsafe for local/offline opening: JS normally hides it sooner. */
.loader{animation:loaderFailsafe 1.8s forwards;pointer-events:none}
@keyframes loaderFailsafe{0%,70%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
body.loaded .loader{animation:none;opacity:0;visibility:hidden}

/* v3.2.2 photo/layout refinements — keeps the v3.1 visual direction */
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,28,.56),rgba(7,25,28,.05) 70%),linear-gradient(0deg,rgba(7,25,28,.45),transparent 45%)}
.section-number{font:42px "Cormorant Garamond";color:#9a7d61}
.pool-media{min-height:740px;position:relative;overflow:hidden}
.pool-media img{width:100%;height:100%;object-fit:cover}
.pool-note{position:absolute;left:22px;right:22px;bottom:18px;color:#fff;font-size:10px;text-shadow:0 2px 8px #000}
.pool-spec{display:flex;flex-direction:column;gap:4px;margin:30px 0;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.pool-spec strong{font:38px "Cormorant Garamond";letter-spacing:0;text-transform:none}
.interior-grid figure{margin:0;position:relative;min-height:360px;overflow:hidden;background:#ddd}
.interior-grid figure.large{grid-row:span 2;min-height:740px}
.interior-grid figure.wide{grid-column:1/-1;min-height:430px}
.interior-grid figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.interior-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}
.interior-grid figure figcaption{position:absolute;z-index:2;bottom:20px;left:22px;right:20px;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px #000;display:flex;gap:12px;align-items:baseline}
.interior-grid figure figcaption b{font:24px "Cormorant Garamond"}
@media(max-width:900px){.pool-media{min-height:55vh}.interior-grid figure.large{grid-row:auto;min-height:480px}.interior-grid figure.wide{grid-column:auto;min-height:430px}}
@media(max-width:600px){.pool-media{min-height:420px}.interior-grid figure{min-height:360px}.interior-grid figure.large{min-height:430px}}

/* v3.2.3 refinements */
.header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
.language-switch{display:inline-flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid rgba(23,40,42,.14);border-radius:999px;background:rgba(255,255,255,.38);backdrop-filter:blur(10px)}
.language-switch .lang{border:0;background:transparent;padding:0;cursor:pointer;color:#526163;font:600 9px/1 Manrope,Arial,sans-serif;letter-spacing:.16em}
.language-switch .lang.active{color:#17282a}
.language-divider{width:1px;height:12px;background:rgba(23,40,42,.22)}
.destination-note{padding:0 7vw 55px;color:#687476;font-size:10px;letter-spacing:.03em;max-width:900px}
.six-spaces .interior-card.large{grid-row:span 2;min-height:740px}
@media(max-width:900px){.language-switch{padding:7px 10px}.destination-note{padding-bottom:45px}}
@media(max-width:600px){.language-switch{padding:6px 9px}.header-actions{gap:10px}.destination-note{padding:0 6vw 40px}}

/* v3.2.5 — destinations: taller editorial cards, no panoramic stretching */
.destination-grid{
  padding:0 7vw 70px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.destination-grid .dest,
.destination-grid .dest.large,
.destination-grid .dest.wide{
  grid-row:auto;
  grid-column:auto;
  height:430px;
  min-height:0;
  margin:0;
  position:relative;
  overflow:hidden;
}
.destination-grid .dest img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.destination-grid .dest figcaption{
  left:24px;
  right:24px;
  bottom:22px;
}
@media(max-width:1100px){
  .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .destination-grid .dest,
  .destination-grid .dest.large,
  .destination-grid .dest.wide{height:390px;}
}
@media(max-width:600px){
  .destination-grid{grid-template-columns:1fr;padding:0 6vw 45px;}
  .destination-grid .dest,
  .destination-grid .dest.large,
  .destination-grid .dest.wide{height:360px;}
}

/* v3.3 — selected photo set and gallery */
.interiors .interiors-head{margin-bottom:55px}
.interior-note{margin-top:28px;color:#687476;font-size:11px}
.gallery-head{display:flex;justify-content:space-between;align-items:center;padding:22px 7vw 14px;color:#e9eeeb}
.gallery-title{font-size:10px;text-transform:uppercase;letter-spacing:.14em;display:flex;gap:16px;align-items:baseline}
.gallery-title small{opacity:.55}
.gallery-controls{display:flex;gap:7px}
.gallery-controls button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;width:36px;height:36px;cursor:pointer}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none}
.gallery-track{animation:none;overflow:visible;scroll-behavior:auto;padding:0 7vw 24px;scrollbar-width:none}
.gallery-track img{flex:0 0 340px;height:240px;object-fit:cover}
@media(max-width:600px){.gallery-head{padding-left:6vw;padding-right:6vw}.gallery-track{padding-left:6vw;padding-right:6vw}.gallery-track img{flex-basis:270px;height:190px}}

/* v3.3.1 — layout, language and mobile navigation fixes */
.intro-line{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:20px;
  border-top:1px solid #cfc8bb;
  border-bottom:1px solid #cfc8bb;
}
.intro-line > span{
  min-height:120px;
  padding:22px 18px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-right:1px solid #cfc8bb;
}
.intro-line > span:last-child{border-right:0}
.intro-line strong{font:500 46px/1 "Cormorant Garamond",serif}
.intro-line small{margin-top:9px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#687476}
.mobile-menu{display:none}
.closing-actions{justify-content:center}
.footer-top .back-top{justify-self:end}
@media(max-width:900px){
  .mobile-menu{
    position:fixed;
    z-index:45;
    top:88px;
    left:12px;
    right:12px;
    display:none;
    flex-direction:column;
    gap:0;
    padding:10px 18px;
    background:rgba(248,247,242,.96);
    border:1px solid rgba(23,40,42,.10);
    box-shadow:0 14px 35px rgba(0,0,0,.10);
    backdrop-filter:blur(18px);
  }
  body.menu-open .mobile-menu{display:flex}
  .mobile-menu a{padding:12px 0;border-bottom:1px solid rgba(23,40,42,.10);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
  .mobile-menu a:last-child{border-bottom:0}
  .intro-line{grid-column:auto}
}
@media(max-width:600px){
  .intro-line{grid-template-columns:1fr 1fr 1fr;margin-top:10px}
  .intro-line > span{min-height:100px;padding:16px 6px}
  .intro-line strong{font-size:38px}
  .intro-line small{font-size:7px;letter-spacing:.11em}
  .mobile-menu{top:76px}
}

/* v3.3.2 — final polish */
.pool-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  margin:26px 0 8px;
  font-size:9px;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.pool-tags span{display:block;white-space:nowrap}

.gallery-strip{overflow:hidden}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-track{
  display:flex;
  width:max-content;
  gap:18px;
  animation:none !important;
  overflow:visible;
  scroll-behavior:auto;
  padding:0 7vw 24px;
  scrollbar-width:none;
}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track img{flex:0 0 340px;width:340px;height:240px;object-fit:cover}
.gallery-controls button{transition:background .2s,border-color .2s,transform .2s}
.gallery-controls button:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.5);transform:translateY(-1px)}

/* The closing panel was removed so the footer follows the availability section directly. */
@media(max-width:600px){.gallery-track img{flex-basis:270px;width:270px;height:190px}}

/* v3.3.4 — booking/availability CTAs */
.section-cta{
  display:flex;
  justify-content:flex-end;
  margin-top:38px;
}
.section-cta .button{
  background:#17373a;
  color:#fff;
  border-color:#17373a;
  padding:14px 20px;
}
.section-cta .button:hover{background:#234b4e;border-color:#234b4e}
@media(max-width:600px){
  .section-cta{justify-content:flex-start;margin-top:30px}
  .section-cta .button{width:100%;justify-content:space-between}
}

/* v3.3.6 — reviews, location and final CTA alignment */
.section-cta-centered{justify-content:center;padding:2px 0 18px}
.section-cta-centered .button{min-width:210px;justify-content:center}
.reviews{background:#f7f5f0}
.reviews-head{display:grid;grid-template-columns:1fr 260px;gap:8vw;align-items:end;margin-bottom:52px}
.reviews-head h2{font:500 clamp(45px,5.5vw,78px)/.9 "Cormorant Garamond",serif;margin:0 0 24px}
.reviews-intro{max-width:610px;color:#5b6769;margin:0}
.review-score{border-left:1px solid #cfc8bb;padding-left:34px;display:flex;flex-direction:column;align-items:flex-start}
.review-score strong{font:500 82px/.8 "Cormorant Garamond",serif}
.review-score>span{margin-top:17px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#8d7259}
.review-score small{margin-top:8px;color:#687476;font-size:10px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card{background:#fff;border:1px solid #e0dbd2;padding:34px 34px 30px;min-height:245px;display:flex;flex-direction:column}
.review-stars{letter-spacing:.2em;font-size:11px;color:#9a7d61;margin-bottom:22px}
.review-card p{margin:0;color:#435456;font-size:14px;line-height:1.8;max-width:620px}
.review-meta{margin-top:auto;padding-top:25px;display:flex;align-items:baseline;gap:12px;border-top:1px solid #e7e2d9}
.review-meta strong{font:500 24px "Cormorant Garamond",serif}
.review-meta span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7a8586}
.reviews-link{display:flex;justify-content:center;margin-top:34px}
.reviews-link .button{min-width:260px;justify-content:center}
.location{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center;background:#ece8df}
.location-copy h2{font:500 clamp(45px,5.5vw,78px)/.9 "Cormorant Garamond",serif;margin:0 0 28px}
.location-copy>p:not(.kicker){max-width:560px;color:#596567}
.location-details{display:flex;gap:30px;margin:30px 0 25px;padding:20px 0;border-top:1px solid #cfc8bb;border-bottom:1px solid #cfc8bb}
.location-details span{display:flex;flex-direction:column;gap:5px}
.location-details b{font:500 18px "Cormorant Garamond",serif}
.location-details small{font-size:8px;letter-spacing:.14em;color:#7a8586}
.location-map{height:570px;position:relative;overflow:hidden;background:#ddd;border:1px solid #d1cbc1}
.location-map iframe{width:100%;height:100%;border:0;display:block}
.map-label{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);padding:12px 15px 11px;box-shadow:0 8px 25px rgba(0,0,0,.12);display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}
.map-dot{width:9px;height:9px;background:#17373a;border-radius:50%;grid-row:span 2;box-shadow:0 0 0 4px rgba(23,55,58,.13)}
.map-label span:not(.map-dot){font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.map-label small{font-size:8px;color:#6c7778;grid-column:2}
@media(max-width:900px){
  .reviews-head,.location{grid-template-columns:1fr}
  .review-score{border-left:0;border-top:1px solid #cfc8bb;padding:25px 0 0}
  .location-map{height:480px}
}
@media(max-width:600px){
  .section-cta-centered{padding-bottom:8px}
  .section-cta-centered .button{width:auto;min-width:220px}
  .review-grid{grid-template-columns:1fr}
  .review-card{padding:28px 24px;min-height:0}
  .review-score strong{font-size:70px}
  .location-details{gap:18px;flex-wrap:wrap}
  .location-details b{font-size:16px}
  .location-map{height:420px}
  .map-label{left:12px;bottom:12px}
}
/* v3.3.7 — final content polish */
.location-details{display:none!important}
.interior-note,.pool-note{display:none!important}
.review-card{min-height:0}
.review-card p{max-width:none}

/* v4.0 — technical polish */
.skip-link{position:fixed;left:16px;top:10px;z-index:200;background:#17373a;color:#fff;padding:10px 14px;font-size:11px;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}
.hero-bottom{position:absolute;left:7vw;right:7vw;bottom:28px;display:flex;justify-content:center;align-items:center;color:rgba(255,255,255,.78);font-size:9px;text-transform:uppercase;letter-spacing:.16em;z-index:3}.hero-bottom .scroll-note{display:inline-flex;gap:8px;align-items:center}
.mobile-booking-cta{display:none}
@media(max-width:900px){.mobile-booking-cta{position:fixed;z-index:45;left:16px;right:16px;bottom:14px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 18px;background:rgba(23,55,58,.96);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 35px rgba(0,0,0,.18);font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateY(120%);pointer-events:none;transition:opacity .3s,transform .3s}.mobile-booking-cta b{font-size:13px;font-weight:400}.mobile-booking-cta.visible{opacity:1;transform:translateY(0);pointer-events:auto}.hero-bottom{left:6vw;right:6vw;bottom:20px}}
@media(max-width:600px){.mobile-booking-cta{left:12px;right:12px;bottom:12px}.hero-bottom{font-size:8px}}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.gallery-track{animation:none!important}.mobile-booking-cta{transition:none!important}.loader{transition:none!important}}

