/* Borgo Punta Villa · compressed requests / source CSS retained; order preserved. v6.17 */

/* SOURCE: main.css */
:root{
  --navy:#083068;
  --navy-deep:#061d3f;
  --blue-soft:#eef3f8;
  --paper:#f7f8fa;
  --white:#ffffff;
  --ink:#101820;
  --muted:#68727c;
  --line:#e5e9ed;
  --radius:22px;
  --font:"SF Pro Display","SF Pro Text","Avenir Next","Segoe UI",Inter,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1240px,calc(100% - 56px));margin:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,48,104,.08)}
.nav{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.official-logo{width:138px;height:auto}
.desktop-menu{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:560;letter-spacing:-.01em}
.desktop-menu>a:not(.button-primary){position:relative;padding:38px 0;color:#26323d}
.desktop-menu>a:not(.button-primary):after{content:"";position:absolute;left:0;right:100%;bottom:28px;height:1px;background:var(--navy);transition:.25s}
.desktop-menu>a:not(.button-primary):hover:after{right:0}
.menu-toggle{display:none;border:0;background:none;color:var(--navy);font-weight:650;letter-spacing:.02em}
.mobile-menu{padding:18px 28px 28px;background:#fff;border-top:1px solid var(--line)}
.mobile-menu a{display:block;padding:10px 0;font-size:16px}
.mobile-cta{margin-top:10px}

/* Type */
.kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--navy);text-transform:uppercase;margin-bottom:18px}
.kicker.light{color:rgba(255,255,255,.72)}
h1,h2,h3{font-family:var(--font);font-weight:560;letter-spacing:-.052em;margin-top:0}
h2{font-size:clamp(44px,5.6vw,76px);line-height:.98;margin-bottom:26px}
p{margin-top:0}
.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:14px;font-weight:650}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translate(2px,-2px)}

/* Buttons */
.button-primary,.button-outline,.button-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 22px;border-radius:999px;
  font-size:13px;font-weight:680;letter-spacing:-.01em;transition:.2s;cursor:pointer
}
.button-primary{background:var(--navy);border:1px solid var(--navy);color:#fff}
.button-primary:hover{background:var(--navy-deep);border-color:var(--navy-deep);transform:translateY(-1px)}
.button-primary.light{background:#fff;color:var(--navy);border-color:#fff}
.button-primary.mini{min-height:42px;padding:0 18px}
.button-outline{border:1px solid rgba(255,255,255,.65);color:#fff;background:transparent}
.button-outline.dark{border-color:#bcc9d5;color:var(--navy)}
.button-ghost{padding-left:4px;padding-right:4px;color:#fff}
.button-ghost:hover{opacity:.72}

/* Hero */
.hero{min-height:78vh;display:flex;align-items:flex-end;background:linear-gradient(145deg,#526f8c,#9eb0bd);background-size:cover;background-position:center;padding:110px 0 78px;color:#fff}
.hero-copy{max-width:850px}
.hero h1{font-size:clamp(68px,9.5vw,130px);line-height:.82;margin-bottom:34px;color:#fff}
.hero-tagline{max-width:650px;font-size:clamp(19px,2vw,26px);line-height:1.3;letter-spacing:-.025em;color:rgba(255,255,255,.92);margin-bottom:32px}
.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* Intro */
.intro-section{padding:120px 0 110px}
.intro-layout{display:grid;grid-template-columns:220px 1fr;gap:80px}
.intro-label{padding-top:8px}
.intro-label>span{display:block;color:#a7b3bf;font-size:13px;margin-bottom:28px}
.intro-copy h2{max-width:900px}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:900px;margin-left:auto}
.intro-columns p{font-size:18px;color:var(--muted);line-height:1.6}

/* Residence visual */
.visual-section{padding:0 0 120px}
.visual-grid{display:grid;grid-template-columns:1fr 340px;gap:24px}
.visual-main{min-height:650px;border-radius:var(--radius);background:linear-gradient(145deg,#b7c3cd,#d7dfe4);background-size:cover;background-position:center;position:relative;overflow:hidden}
.visual-side{border-radius:var(--radius);background:var(--blue-soft);padding:38px;display:flex;flex-direction:column;justify-content:flex-end}
.visual-side .number{font-size:100px;line-height:.82;font-weight:550;letter-spacing:-.07em;color:var(--navy)}
.number-label{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:var(--navy);margin:16px 0 28px}
.visual-side p{color:var(--muted);font-size:16px}
.image-note{position:absolute;left:24px;bottom:24px;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.85);font-size:12px;color:var(--navy)}
.light-note{background:rgba(8,48,104,.78);color:#fff}

/* Apartments */
.apartments-home,.archive-section{padding:110px 0;background:var(--paper)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:42px}
.section-head h2{margin-bottom:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 22px}
.card-photo{position:relative;display:grid;place-items:center;aspect-ratio:1.12/1;border-radius:18px;overflow:hidden;background:#dfe5ea;color:#8693a0;font-size:12px}
.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.card:hover .card-photo img{transform:scale(1.028)}
.card-body{padding:18px 2px 0}
.card-topline{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}
.card-code{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--navy)}
.meta{font-size:12px;color:var(--muted)}
.card h3{font-size:24px;line-height:1.12;letter-spacing:-.035em;margin:0 0 15px;font-weight:560}

/* Feature */
.split-feature{display:grid;grid-template-columns:.8fr 1.2fr;min-height:700px;background:var(--navy)}
.feature-copy{padding:88px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.feature-copy h2{color:#fff}
.feature-copy p{max-width:530px;color:rgba(255,255,255,.72);font-size:18px}
.feature-photo{position:relative;min-height:700px;background:linear-gradient(145deg,#7d9aac,#c5d1d8);background-size:cover;background-position:center}

/* Discover */
.discover-section{padding:120px 0}
.discover-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.discover-photo{position:relative;min-height:620px;border-radius:var(--radius);background:linear-gradient(145deg,#b6c6cf,#d9e0e5);background-size:cover;background-position:center}
.discover-copy{max-width:500px}
.discover-copy p{font-size:18px;color:var(--muted);margin-bottom:30px}

/* CTA */
.final-cta{padding:90px 0;background:var(--navy-deep);color:#fff}
.final-cta-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.final-cta h2{color:#fff;max-width:760px;margin-bottom:0}
.final-cta p{color:rgba(255,255,255,.68);font-size:17px;max-width:470px;margin-bottom:25px}

/* Logo signoff */
.brand-signoff{padding:110px 0;background:#fff;text-align:center}
.brand-signoff-inner img{width:min(360px,72vw);margin:0 auto 22px}
.brand-signoff-inner p{margin:0;color:#8b959f;font-size:12px;letter-spacing:.18em;text-transform:uppercase}

/* Footer */
.site-footer{background:#06172d;color:#cdd6df;padding:72px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:70px}
.footer-logo{width:190px;filter:brightness(0) invert(1);opacity:.94;margin-bottom:24px}
.footer-main p{max-width:440px;color:#91a0af}
.site-footer strong{display:block;color:#fff;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.site-footer p{color:#9eabb7;line-height:1.8}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#6f8191}

/* Inner pages */
.page-hero,.apartment-title{padding:90px 0 46px;background:var(--paper)}
.page-hero h1,.apartment-title h1{font-size:clamp(58px,8vw,106px);line-height:.9;margin:0 0 22px}
.page-hero .lead,.apartment-title .lead{font-size:19px;color:var(--muted);max-width:760px}
.page-content{padding:70px 0 110px}
.content-narrow{max-width:900px}
.entry-content{font-size:17px;color:#2e3943}
.entry-content h2,.entry-content h3{letter-spacing:-.035em}
.entry-content table{width:100%;border-collapse:collapse;margin:32px 0;font-size:14px}
.entry-content th,.entry-content td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left}
.back-link{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:30px}

/* Apartment gallery */
.gallery-wrap{padding:26px 0;background:#fff}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.gallery-item{border:0;padding:0;min-height:220px;border-radius:14px;overflow:hidden;background:#e3e7ea;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-item.main{grid-row:span 2;min-height:450px}
.gallery-empty{grid-column:1/-1;padding:90px 30px;border-radius:18px;background:var(--blue-soft);text-align:center;color:var(--muted)}
.apartment-content{padding:75px 0 110px}
.apartment-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}
.capacity{font-size:15px;font-weight:700;color:var(--navy);padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.small-title{font-size:34px;margin-top:48px}
.spec-list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;list-style:none;padding:0}
.spec-list li{padding:13px 0;border-bottom:1px solid var(--line);color:#34404b}
.quote-card{position:sticky;top:125px;padding:38px;border-radius:18px;background:var(--blue-soft)}
.quote-card h2{font-size:40px;letter-spacing:-.045em}
.quote-card p{color:var(--muted)}

/* Forms */
.bpv-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:650;color:#394653}
.field input,.field select,.field textarea{width:100%;min-height:52px;border:1px solid #dce2e7;border-radius:12px;background:#fff;padding:14px 15px;color:var(--ink);outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca8c5;box-shadow:0 0 0 3px rgba(8,48,104,.06)}
.field textarea{min-height:130px;resize:vertical}
.privacy-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:8px!important;font-weight:400!important}
.privacy-check input{width:auto!important;min-height:auto!important;margin-top:4px}
.bpv-success{padding:16px 18px;border-radius:12px;background:#eaf4ed;color:#1d5932;margin-bottom:22px}

/* Misc inner */
.location-section{padding:70px 0 110px}
.location-grid,.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.map-card,.contact-card{border-radius:18px;background:var(--blue-soft)}
.map-placeholder{min-height:470px;display:grid;place-items:center;padding:35px;text-align:center;color:var(--muted)}
.contact-card{padding:38px;height:max-content}
.lightbox{display:none;position:fixed;inset:0;background:rgba(2,10,20,.94);z-index:1000;align-items:center;justify-content:center;padding:35px}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}
.lightbox-close{position:absolute;right:22px;top:10px;border:0;background:none;color:#fff;font-size:48px;cursor:pointer}

@media(max-width:1020px){
  .desktop-menu{display:none}.menu-toggle{display:block}
  .nav{min-height:88px}.official-logo{width:124px}
  .intro-layout{grid-template-columns:1fr;gap:20px}
  .intro-columns{margin-left:0}
  .visual-grid{grid-template-columns:1fr}
  .visual-side{min-height:330px}
  .cards{grid-template-columns:1fr 1fr}
  .split-feature{grid-template-columns:1fr}
  .feature-photo{order:-1}
  .feature-copy{padding:65px 40px}
  .discover-grid,.final-cta-grid,.apartment-grid,.location-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .discover-copy{max-width:720px}
  .footer-bottom{flex-direction:column}
}
@media(max-width:680px){
  .container{width:min(100% - 30px,1240px)}
  .nav{min-height:78px}.official-logo{width:108px}
  .hero{min-height:72vh;padding:85px 0 48px}
  .hero h1{font-size:clamp(60px,17vw,88px)}
  .hero-tagline{font-size:19px}
  .intro-section,.apartments-home,.archive-section,.discover-section,.brand-signoff{padding:78px 0}
  .intro-columns{grid-template-columns:1fr;gap:10px}
  .visual-section{padding-bottom:78px}
  .visual-main{min-height:430px}
  .cards{grid-template-columns:1fr}
  .section-head{align-items:flex-start;flex-direction:column}
  .feature-photo{min-height:430px}
  .feature-copy{padding:52px 25px}
  .discover-photo{min-height:430px}
  .final-cta{padding:68px 0}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-item.main{grid-column:1/-1;grid-row:auto;min-height:320px}
  .spec-list,.bpv-form{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .page-hero,.apartment-title{padding:65px 0 35px}
  .page-content,.apartment-content{padding-bottom:75px}
}


/* V3.1 — Google Maps */
.map-card-live{
  min-height:540px;
  overflow:hidden;
  padding:0;
  background:var(--blue-soft);
}
.google-map{
  display:block;
  width:100%;
  height:540px;
  border:0;
}
.location-copy h2{
  max-width:520px;
}
.location-info{
  margin:34px 0 30px;
  border-top:1px solid var(--line);
}
.location-row{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.location-row span{
  color:var(--muted);
  font-size:13px;
}
.location-row strong{
  font-weight:600;
}
.maps-button span{
  margin-left:7px;
}
@media(max-width:680px){
  .map-card-live,.google-map{height:430px;min-height:430px}
  .location-row{grid-template-columns:1fr;gap:4px}
}


/* V3.2 — Animali nel modulo preventivo */
.pet-note{margin-top:-4px}
.pet-note p{
  margin:0;
  padding:12px 14px;
  border-radius:12px;
  background:var(--blue-soft);
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.pet-field-muted{opacity:.55}
.pet-field-muted input{background:#f5f7f9}


/* V3.3 — Pet Friendly */
.pet-friendly-section{
  padding:120px 0;
  background:#fff;
}
.pet-friendly-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:78px;
  align-items:center;
}
.pet-friendly-photo{
  position:relative;
  min-height:620px;
  border-radius:var(--radius);
  overflow:hidden;
  background:linear-gradient(145deg,#dfe7ec,#eef3f6);
  background-size:cover;
  background-position:center;
}
.pet-badge{
  position:absolute;
  left:24px;
  bottom:24px;
  padding:11px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.93);
  color:var(--navy);
  font-size:11px;
  line-height:1;
  font-weight:750;
  letter-spacing:.12em;
  backdrop-filter:blur(10px);
}
.pet-friendly-copy{
  max-width:530px;
}
.pet-friendly-copy p{
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
  margin-bottom:18px;
}
.pet-friendly-copy strong{
  color:var(--ink);
  font-weight:680;
}
.pet-friendly-copy .button-outline{
  margin-top:12px;
}

@media(max-width:1020px){
  .pet-friendly-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .pet-friendly-photo{
    min-height:520px;
  }
  .pet-friendly-copy{
    max-width:760px;
  }
}
@media(max-width:680px){
  .pet-friendly-section{
    padding:78px 0;
  }
  .pet-friendly-photo{
    min-height:410px;
  }
  .pet-badge{
    left:16px;
    bottom:16px;
    font-size:10px;
    padding:10px 13px;
  }
  .pet-friendly-copy p{
    font-size:17px;
  }
}


/* =========================================================
   V3.5 — PERFECTION PASS
   The Home V3.3 remains the visual source of truth.
   ========================================================= */

/* Global typography consistency across WordPress/WPBakery/Eagle remnants */
body,.entry-content,.entry-content *:not(.dashicons),.wpb_wrapper,.wpb_wrapper p,.wpb_wrapper li,.wpb_text_column,.vc_row,.vc_column_container,
input,select,textarea,button,.wpcf7,.wpcf7-form,.cookie-law-info-bar,.cky-consent-container,.cli-modal-content{font-family:var(--font)!important}
body{font-weight:400}
.entry-content strong{font-weight:680}
.entry-content p,.entry-content li{line-height:1.72}
.entry-content a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.entry-content h2{font-size:clamp(34px,4.5vw,54px);line-height:1.02;margin:56px 0 22px;color:var(--navy)}
.entry-content h3{font-size:clamp(25px,3vw,34px);line-height:1.08;margin:42px 0 16px;color:var(--navy)}
.entry-content h4{font-size:20px;letter-spacing:-.025em;margin:34px 0 12px;color:var(--navy)}
.entry-content ul,.entry-content ol{padding-left:22px;margin:18px 0 30px}
.entry-content li+li{margin-top:8px}
.entry-content blockquote{margin:38px 0;padding:28px 30px;border:0;border-radius:var(--radius);background:var(--blue-soft);color:var(--navy);font-size:21px;letter-spacing:-.02em}

/* Header polish */
.lang-switch{font-size:11px!important;font-weight:750!important;letter-spacing:.12em!important;color:var(--navy)!important}
.desktop-menu .button-primary,.mobile-menu .button-primary{white-space:nowrap}

/* Inner-page rhythm copied from V3.3 */
.page-hero,.apartment-title{padding:112px 0 62px;background:linear-gradient(180deg,#f7f8fa 0%,#fff 100%)}
.page-hero h1,.apartment-title h1{max-width:1050px;font-size:clamp(64px,8.4vw,112px);line-height:.88;letter-spacing:-.06em;margin-bottom:28px}
.page-hero .lead,.apartment-title .lead{font-size:clamp(18px,2vw,22px);line-height:1.45;max-width:780px}
.page-content{padding:82px 0 120px}
.content-narrow{max-width:940px}

/* Archive — identical visual grammar to Home apartment cards */
.apartment-archive-hero{padding-bottom:70px}
.apartment-archive-cards{gap:54px 24px}
.card{min-width:0}
.card-detail-link{white-space:nowrap;width:max-content;max-width:100%}
.bpv-pagination{margin-top:62px}
.bpv-pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.bpv-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:#fff;font-size:13px}
.bpv-pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Apartment single */
.apartment-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.apartment-pills span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:650;color:var(--navy)}
.gallery-wrap{padding:18px 0 40px}
.apartment-gallery-grid{gap:12px}
.gallery-item{border-radius:var(--radius);box-shadow:none}
.gallery-item.main{min-height:540px}
.gallery-item:not(.main){min-height:264px}
.apartment-content{padding:72px 0 128px}
.apartment-main-copy{max-width:760px}
.apartment-main-copy .entry-content{font-size:18px;color:#34404b}
.spec-list{margin-top:26px}
.spec-list li{display:flex;gap:10px;align-items:flex-start;padding:15px 0}
.spec-list li span{color:var(--navy);font-weight:750}
.quote-card{top:120px;padding:42px;border-radius:var(--radius);box-shadow:0 16px 60px rgba(8,48,104,.07)}
.quote-card h2{font-size:clamp(36px,4vw,50px);line-height:.98}
.quote-card .button-primary{width:100%;margin-top:8px}
.related-apartments{padding:105px 0 120px;background:var(--paper)}

/* Quote / Contact */
.quote-page-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}
.quote-page-intro{position:sticky;top:140px}
.quote-page-intro h2{font-size:clamp(42px,5vw,66px);line-height:.98;color:var(--navy)}
.quote-page-intro p{font-size:17px;color:var(--muted);max-width:470px}
.quote-form-card,.contact-form-panel{padding:44px;border-radius:var(--radius);background:var(--paper)}
.contact-grid{grid-template-columns:1.2fr .8fr;align-items:start}
.contact-card{position:sticky;top:130px;padding:42px;border-radius:var(--radius);background:var(--navy);color:#fff}
.contact-card .kicker,.contact-card h2{color:#fff}
.contact-card p,.contact-card a{color:rgba(255,255,255,.78)}
.contact-title{margin-top:0}
.contact-lines{padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}

/* Forms — same rounded/pill language as Home */
.field input,.field select,.field textarea{border:1px solid #dce2e7;border-radius:14px;background:#fff;transition:.2s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#bdc9d5}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca8c5;box-shadow:0 0 0 4px rgba(8,48,104,.055)}
.bpv-form .button-primary{border:0}

/* Stay information: no price tables, clean editorial service blocks */
.conditions-page .entry-content>h2,.conditions-page .entry-content>h3{padding-top:24px;border-top:1px solid var(--line)}
.conditions-page .entry-content>h2:first-child,.conditions-page .entry-content>h3:first-child{border-top:0;padding-top:0}
.conditions-page .entry-content ul{list-style:none;padding:0;display:grid;gap:0}
.conditions-page .entry-content li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid var(--line)}
.conditions-page .entry-content li:before{content:"✓";position:absolute;left:0;color:var(--navy);font-weight:750}
.conditions-page table{display:none!important}

/* Location */
.location-section{padding:82px 0 120px}
.location-grid{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.location-lead{font-size:17px;color:var(--muted);max-width:520px}
.map-card-live,.google-map{height:610px;min-height:610px;border-radius:var(--radius)}

/* Editorial place pages */
.place-hero{min-height:72vh;display:flex;align-items:flex-end;background:linear-gradient(145deg,#526f8c,#9eb0bd);background-size:cover;background-position:center;color:#fff;padding:100px 0 70px}
.place-hero h1{max-width:1000px;font-size:clamp(64px,9vw,120px);line-height:.86;letter-spacing:-.06em;color:#fff;margin:0}
.place-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}
.place-aside{position:sticky;top:130px;padding:40px;border-radius:var(--radius);background:var(--blue-soft)}
.place-aside h2{font-size:40px;line-height:1;letter-spacing:-.045em;color:var(--navy)}
.place-aside p{color:var(--muted)}

/* Generic blog/archive output */
.editorial-list{display:grid;gap:30px}
.editorial-item{padding:36px;border-radius:var(--radius);background:var(--paper)}
.editorial-item h2{font-size:42px;line-height:1;margin-bottom:18px;color:var(--navy)}

/* Cookie plugin visual harmonisation (where plugin permits CSS overrides) */
.cky-consent-container .cky-consent-bar,.cli-modal-content,.cookie-law-info-bar{border-radius:18px!important;box-shadow:0 16px 60px rgba(6,29,63,.14)!important}
.cky-btn,.cli_settings_button,.wt-cli-accept-all-btn{border-radius:999px!important;font-family:var(--font)!important}

@media(max-width:1020px){
  .quote-page-grid,.place-layout{grid-template-columns:1fr;gap:48px}
  .quote-page-intro,.place-aside,.contact-card{position:static}
  .gallery-item.main{min-height:450px}
  .gallery-item:not(.main){min-height:220px}
}
@media(max-width:680px){
  .page-hero,.apartment-title{padding:74px 0 42px}
  .page-hero h1,.apartment-title h1{font-size:clamp(52px,16vw,76px)}
  .page-content{padding:58px 0 80px}
  .quote-form-card,.contact-form-panel,.contact-card,.place-aside{padding:28px 22px}
  .gallery-item.main{min-height:330px}
  .gallery-item:not(.main){min-height:160px}
  .related-apartments{padding:78px 0}
  .map-card-live,.google-map{height:440px;min-height:440px}
}

/* =========================================================
   V3.6 — LA MADDALENA / PLACES
   Same design language as the V3.3 home
   ========================================================= */

.places-index-hero{
  min-height:68vh;
  display:flex;
  align-items:flex-end;
  padding:110px 0 76px;
  color:#fff;
  background:linear-gradient(145deg,#526f8c,#9eb0bd);
  background-size:cover;
  background-position:center;
}
.places-index-hero-inner{max-width:1240px}
.places-index-hero h1{
  max-width:980px;
  margin:0 0 28px;
  font-size:clamp(66px,9vw,122px);
  line-height:.86;
  letter-spacing:-.065em;
  color:#fff;
}
.places-index-hero p{
  max-width:720px;
  margin:0;
  font-size:clamp(18px,2vw,23px);
  line-height:1.45;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.86);
}

.places-index-intro{padding:110px 0 100px;background:#fff}
.places-index-intro-grid{display:grid;grid-template-columns:220px 1fr;gap:80px;align-items:start}
.places-index-intro-grid>div:last-child{max-width:900px}
.places-index-intro h2{margin-bottom:28px}
.places-index-intro p{max-width:720px;font-size:18px;line-height:1.65;color:var(--muted)}

.places-index-list{padding:0 0 120px;background:#fff}
.places-editorial-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px;
}
.place-card{grid-column:span 4;min-width:0}
.place-card-wide{grid-column:span 7}
.place-card-tall{grid-column:span 5}
.place-card a{display:block;height:100%}
.place-card-media{
  position:relative;
  min-height:430px;
  height:100%;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--blue-soft);
  isolation:isolate;
}
.place-card-wide .place-card-media{min-height:560px}
.place-card-tall .place-card-media{min-height:560px}
.place-card-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.place-card:hover .place-card-media img{transform:scale(1.035)}
.place-card-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(3,18,38,.02) 25%,rgba(3,18,38,.72) 100%);
}
.place-card-copy{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:34px;
  color:#fff;
}
.place-card-kicker{
  margin-bottom:11px;
  font-size:10px;
  font-weight:720;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
}
.place-card-copy h2{
  margin:0 0 12px;
  font-size:clamp(31px,3.7vw,54px);
  line-height:.96;
  letter-spacing:-.05em;
  color:#fff;
}
.place-card-standard .place-card-copy h2{font-size:clamp(28px,2.7vw,40px)}
.place-card-copy p{
  max-width:520px;
  margin:0 0 17px;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.76);
}
.place-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:680;
  white-space:nowrap;
}
.place-card-link span{transition:transform .2s}
.place-card:hover .place-card-link span{transform:translate(2px,-2px)}
.places-empty{padding:70px;border-radius:var(--radius);background:var(--blue-soft);text-align:center}
.places-empty h2{font-size:50px;margin-bottom:18px}
.places-empty p{max-width:620px;margin:0 auto;color:var(--muted)}

.places-index-cta{padding:90px 0;background:var(--navy-deep);color:#fff}
.places-index-cta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.places-index-cta h2{max-width:760px;margin:0;color:#fff}
.places-index-cta p{max-width:500px;margin:0 0 24px;color:rgba(255,255,255,.68);font-size:17px}

/* Single place */
.place-hero-v36{min-height:74vh;padding-bottom:76px}
.place-hero-v36 h1{max-width:1100px}
.place-story{padding:90px 0 110px;background:#fff}
.place-story-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:90px;align-items:start}
.place-entry-content{font-size:18px;line-height:1.72;color:#33404a}
.place-entry-content>p:first-child{font-size:22px;line-height:1.55;color:#1b2731}
.place-entry-content h2,.place-entry-content h3{margin-top:54px;color:var(--navy)}
.place-entry-content h2{font-size:clamp(36px,4vw,54px);line-height:1}
.place-entry-content h3{font-size:30px;line-height:1.1}
.place-entry-content a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.place-entry-content img{border-radius:var(--radius);margin:34px 0}
.place-aside-v36{
  position:sticky;
  top:126px;
  padding:40px;
  border-radius:var(--radius);
  background:var(--blue-soft);
}
.place-aside-v36 h2{font-size:42px;line-height:1;letter-spacing:-.05em;color:var(--navy)}
.place-aside-v36 p{margin-bottom:24px;color:var(--muted)}
.place-back-link{display:block;margin-top:24px;font-size:13px;font-weight:650;color:var(--navy)}

.place-gallery-section{padding:0 0 110px;background:#fff}
.place-gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.place-gallery-grid .gallery-item{min-height:240px}
.place-gallery-grid .gallery-item.main{grid-row:span 2;min-height:490px}

.related-places-section{padding:105px 0 120px;background:var(--paper)}
.related-places-head{margin-bottom:42px}
.related-places-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.related-place-card{min-width:0}
.related-place-media{height:330px;overflow:hidden;border-radius:18px;background:var(--blue-soft)}
.related-place-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.related-place-card:hover .related-place-media img{transform:scale(1.028)}
.related-place-copy{padding:18px 2px 0}
.related-place-copy .kicker{margin-bottom:9px;font-size:9px}
.related-place-copy h3{margin:0 0 13px;font-size:30px;line-height:1;letter-spacing:-.04em;color:var(--navy)}

@media(max-width:1020px){
  .places-index-intro-grid{grid-template-columns:1fr;gap:18px}
  .places-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .place-card,.place-card-wide,.place-card-tall{grid-column:span 1}
  .place-card-media,.place-card-wide .place-card-media,.place-card-tall .place-card-media{min-height:500px}
  .places-index-cta-grid,.place-story-grid{grid-template-columns:1fr;gap:50px}
  .place-aside-v36{position:static}
  .related-places-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
  .places-index-hero{min-height:64vh;padding:82px 0 48px}
  .places-index-hero h1{font-size:clamp(56px,16vw,80px)}
  .places-index-hero p{font-size:17px}
  .places-index-intro{padding:76px 0 68px}
  .places-index-list{padding-bottom:78px}
  .places-editorial-grid{grid-template-columns:1fr;gap:14px}
  .place-card-media,.place-card-wide .place-card-media,.place-card-tall .place-card-media{min-height:440px;border-radius:18px}
  .place-card-copy{padding:25px}
  .place-card-copy p{font-size:13px}
  .places-index-cta{padding:68px 0}
  .place-story{padding:62px 0 76px}
  .place-entry-content{font-size:17px}
  .place-entry-content>p:first-child{font-size:19px}
  .place-aside-v36{padding:28px 22px}
  .place-gallery-section{padding-bottom:78px}
  .place-gallery-grid{grid-template-columns:1fr 1fr}
  .place-gallery-grid .gallery-item.main{grid-column:1/-1;grid-row:auto;min-height:330px}
  .place-gallery-grid .gallery-item:not(.main){min-height:170px}
  .related-places-section{padding:76px 0}
  .related-places-grid{grid-template-columns:1fr}
  .related-place-media{height:370px}
}

/* =========================================================
   V3.7.7 — RESIDENCE PAGE
   ========================================================= */
.residence-page-hero{padding:62px 0 88px;background:var(--paper)}
.residence-page-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:58px;align-items:center}
.residence-page-hero-copy{padding:36px 0}
.residence-page-hero h1{font-size:clamp(62px,7.6vw,112px);line-height:.88;max-width:660px;margin:0 0 28px}
.residence-page-lead{max-width:610px;font-size:20px;line-height:1.5;color:var(--muted);letter-spacing:-.02em;margin-bottom:30px}
.residence-page-actions{display:flex;gap:12px;flex-wrap:wrap}
.residence-page-hero-photo{min-height:660px;border-radius:var(--radius);background:linear-gradient(145deg,#b7c3cd,#d7dfe4);background-size:cover;background-position:center;position:relative;overflow:hidden}
.residence-highlights{padding:0 0 86px;background:var(--paper)}
.residence-highlights-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.residence-highlight{padding:25px 22px;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}
.residence-highlight:last-child{border-right:0}
.residence-highlight span{font-size:11px;color:#9aa7b2;letter-spacing:.14em}
.residence-highlight strong{font-size:14px;color:var(--navy);font-weight:650}
.residence-editorial-section{padding:108px 0 118px;background:#fff}
.residence-editorial-grid{display:grid;grid-template-columns:220px minmax(0,780px);gap:90px;justify-content:center}
.residence-editorial-aside{padding-top:7px}
.residence-editorial-aside p{color:#9aa5ae;font-size:13px}
.residence-editorial{font-size:19px;line-height:1.72;color:#39444e}
.residence-editorial>p{max-width:760px;margin-bottom:24px}
.residence-editorial h2{font-size:clamp(42px,4.8vw,66px);line-height:1.02;color:var(--navy);margin:86px 0 25px;letter-spacing:-.05em}
.residence-editorial h2:first-of-type{margin-top:56px}
.residence-editorial strong{color:var(--ink)}
.residence-editorial a{color:var(--navy);font-weight:650}
.residence-pool-feature{display:grid;grid-template-columns:.82fr 1.18fr;min-height:720px;background:var(--navy)}
.residence-pool-copy{padding:92px clamp(36px,6vw,100px);display:flex;flex-direction:column;justify-content:center;color:#fff}
.residence-pool-copy h2{color:#fff;margin-bottom:28px}
.residence-pool-copy p{font-size:18px;line-height:1.65;color:rgba(255,255,255,.75);max-width:520px}
.residence-pool-photo{min-height:720px;background:linear-gradient(145deg,#7d9aac,#c5d1d8);background-size:cover;background-position:center;position:relative}
.residence-location-feature{padding:120px 0;background:#fff}
.residence-location-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}
.residence-location-photo{min-height:620px;border-radius:var(--radius);background:linear-gradient(145deg,#b6c6cf,#d9e0e5);background-size:cover;background-position:center}
.residence-location-copy{max-width:520px}
.residence-location-copy h2{font-size:clamp(46px,5.4vw,74px);line-height:.98;margin-bottom:28px}
.residence-location-copy p{font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:30px}
.residence-final-cta{margin-top:0}

@media(max-width:1020px){
  .residence-page-hero-grid{grid-template-columns:1fr;gap:32px}
  .residence-page-hero-photo{min-height:560px}
  .residence-highlights-row{grid-template-columns:1fr 1fr}
  .residence-highlight:nth-child(2){border-right:0}
  .residence-highlight:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .residence-editorial-grid{grid-template-columns:1fr;gap:20px}
  .residence-editorial-aside{display:flex;gap:20px;align-items:center}
  .residence-editorial-aside .kicker{margin-bottom:0}
  .residence-pool-feature{grid-template-columns:1fr}
  .residence-pool-photo{min-height:520px;order:-1}
  .residence-location-grid{grid-template-columns:1fr;gap:44px}
  .residence-location-copy{max-width:760px}
}
@media(max-width:680px){
  .residence-page-hero{padding:42px 0 58px}
  .residence-page-hero h1{font-size:clamp(54px,16vw,78px)}
  .residence-page-lead{font-size:18px}
  .residence-page-hero-photo{min-height:420px}
  .residence-highlights{padding-bottom:62px}
  .residence-highlights-row{grid-template-columns:1fr}
  .residence-highlight{border-right:0;border-bottom:1px solid var(--line)!important;padding:18px 4px}
  .residence-highlight:last-child{border-bottom:0!important}
  .residence-editorial-section{padding:72px 0 80px}
  .residence-editorial{font-size:17px}
  .residence-editorial h2{margin-top:62px;font-size:42px}
  .residence-pool-copy{padding:58px 24px}
  .residence-pool-photo{min-height:420px}
  .residence-location-feature{padding:78px 0}
  .residence-location-photo{min-height:430px}
}

/* =========================================================
 * V3.7.8 — RESIDENCE PAGE REDESIGN
 * ========================================================= */
.bpv-residence{background:#fff;overflow:hidden}
.bpv-residence-hero{padding:72px 0 110px;background:var(--paper)}
.bpv-residence-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:center}
.bpv-residence-hero-copy{padding:20px 0}
.bpv-residence-hero-copy h1{font-size:clamp(60px,7vw,104px);line-height:.9;max-width:680px;margin:0 0 30px;color:var(--ink)}
.bpv-residence-hero-copy>p{max-width:590px;font-size:19px;line-height:1.62;color:var(--muted);margin-bottom:32px}
.bpv-residence-actions{display:flex;gap:12px;flex-wrap:wrap}
.bpv-residence-hero-media{min-height:650px;border-radius:var(--radius);overflow:hidden;background:var(--blue-soft);position:relative}
.bpv-residence-hero-media img{width:100%;height:100%;min-height:650px;object-fit:cover}

.bpv-residence-story{padding:120px 0}
.bpv-residence-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}
.bpv-residence-story-photo{min-height:620px;border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.bpv-residence-story-photo img{width:100%;height:100%;min-height:620px;object-fit:cover}
.bpv-residence-story-copy{max-width:560px}
.bpv-residence-story-copy h2{font-size:clamp(50px,5vw,72px);margin-bottom:30px;color:var(--navy)}
.bpv-residence-story-copy p{font-size:18px;line-height:1.68;color:var(--muted);margin-bottom:20px}

.bpv-residence-essentials{padding:110px 0;background:var(--paper)}
.bpv-residence-section-head{display:grid;grid-template-columns:220px minmax(0,760px);gap:72px;align-items:start;margin-bottom:55px}
.bpv-residence-section-head h2{margin:0;color:var(--ink)}
.bpv-residence-essentials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bpv-residence-essential{background:#fff;border:1px solid rgba(8,48,104,.08);border-radius:var(--radius);padding:34px 32px 36px;min-height:300px;display:flex;flex-direction:column}
.bpv-residence-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);margin-bottom:52px;color:var(--navy)}
.bpv-residence-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bpv-residence-essential h3{font-size:24px;line-height:1.15;margin:0 0 14px;color:var(--navy)}
.bpv-residence-essential p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}

.bpv-residence-gallery{padding:120px 0;background:#fff}
.bpv-residence-gallery-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}
.bpv-residence-gallery-main,.bpv-residence-gallery-small{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.bpv-residence-gallery-main{min-height:720px}
.bpv-residence-gallery-main img,.bpv-residence-gallery-small img{width:100%;height:100%;object-fit:cover}
.bpv-residence-gallery-main img{min-height:720px}
.bpv-residence-gallery-label{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:10px 14px;border-radius:999px;font-size:12px;font-weight:650;color:var(--navy)}
.bpv-residence-gallery-side{display:grid;grid-template-rows:1.05fr .95fr;gap:22px}
.bpv-residence-gallery-small{min-height:345px}
.bpv-residence-gallery-small img{min-height:345px}
.bpv-residence-gallery-quote{border-radius:var(--radius);background:var(--navy);color:#fff;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;min-height:345px}
.bpv-residence-gallery-quote .kicker{color:rgba(255,255,255,.65)}
.bpv-residence-gallery-quote p{font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.04em;margin:0;color:#fff}

.bpv-residence-island{padding:0;background:var(--navy-deep);color:#fff}
.bpv-residence-island-grid{width:100%;max-width:none;display:grid;grid-template-columns:.82fr 1.18fr;gap:0}
.bpv-residence-island-copy{padding:100px clamp(36px,7vw,120px);display:flex;flex-direction:column;justify-content:center}
.bpv-residence-island-copy h2{color:#fff;max-width:650px}
.bpv-residence-island-copy p{max-width:560px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.72);margin-bottom:30px}
.bpv-residence-island-photo{min-height:700px;overflow:hidden;background:#173d6b}
.bpv-residence-island-photo img{width:100%;height:100%;min-height:700px;object-fit:cover}

.bpv-residence-final{padding:115px 0;background:#fff}
.bpv-residence-final-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.bpv-residence-final h2{font-size:clamp(52px,6vw,82px);max-width:820px;margin-bottom:22px;color:var(--navy)}
.bpv-residence-final p{font-size:18px;color:var(--muted);max-width:650px;margin:0}
.bpv-residence-final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:980px){
  .bpv-residence-hero-grid,.bpv-residence-story-grid{grid-template-columns:1fr}
  .bpv-residence-hero-media,.bpv-residence-hero-media img{min-height:560px}
  .bpv-residence-story-grid{gap:42px}
  .bpv-residence-story-copy{max-width:none}
  .bpv-residence-section-head{grid-template-columns:1fr;gap:12px}
  .bpv-residence-essentials-grid{grid-template-columns:1fr 1fr}
  .bpv-residence-gallery-grid{grid-template-columns:1fr}
  .bpv-residence-gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .bpv-residence-island-grid{grid-template-columns:1fr}
  .bpv-residence-island-photo{min-height:560px;order:-1}
  .bpv-residence-final-inner{grid-template-columns:1fr;gap:34px}
  .bpv-residence-final-actions{justify-content:flex-start}
}

@media(max-width:680px){
  .bpv-residence-hero{padding:44px 0 72px}
  .bpv-residence-hero-copy h1{font-size:clamp(52px,15vw,76px)}
  .bpv-residence-hero-copy>p{font-size:17px}
  .bpv-residence-hero-media,.bpv-residence-hero-media img{min-height:420px}
  .bpv-residence-story{padding:78px 0}
  .bpv-residence-story-photo,.bpv-residence-story-photo img{min-height:430px}
  .bpv-residence-story-copy h2{font-size:44px}
  .bpv-residence-essentials{padding:76px 0}
  .bpv-residence-essentials-grid{grid-template-columns:1fr}
  .bpv-residence-essential{min-height:0}
  .bpv-residence-icon{margin-bottom:34px}
  .bpv-residence-gallery{padding:78px 0}
  .bpv-residence-gallery-main,.bpv-residence-gallery-main img{min-height:480px}
  .bpv-residence-gallery-side{grid-template-columns:1fr}
  .bpv-residence-gallery-small,.bpv-residence-gallery-small img,.bpv-residence-gallery-quote{min-height:320px}
  .bpv-residence-island-copy{padding:70px 24px}
  .bpv-residence-island-photo,.bpv-residence-island-photo img{min-height:420px}
  .bpv-residence-final{padding:80px 0}
  .bpv-residence-final h2{font-size:46px}
  .bpv-residence-actions,.bpv-residence-final-actions{flex-direction:column;align-items:stretch}
  .bpv-residence-actions a,.bpv-residence-final-actions a{width:100%}
}

/* =========================================================
   V3.8.0 — GALLERY / IL BORGO IN IMMAGINI
   ========================================================= */
.bpv-gallery-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:26px;color:#fff;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.02em}
.bpv-gallery-inline-link span{transition:transform .2s ease}.bpv-gallery-inline-link:hover span{transform:translate(3px,-3px)}
.bpv-photo-page{background:#fff;overflow:hidden}
.bpv-photo-hero{padding:76px 0 108px;background:var(--paper)}
.bpv-photo-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center}
.bpv-photo-hero-copy h1{font-size:clamp(58px,6.6vw,96px);line-height:.91;letter-spacing:-.055em;color:var(--ink);margin:0 0 30px;max-width:680px}
.bpv-photo-hero-copy p{font-size:18px;line-height:1.65;color:var(--muted);max-width:590px;margin:0}
.bpv-photo-hero-image{appearance:none;border:0;padding:0;background:var(--blue-soft);border-radius:var(--radius);overflow:hidden;min-height:650px;cursor:zoom-in;text-align:left}
.bpv-photo-hero-image img{width:100%;height:100%;min-height:650px;object-fit:cover;display:block;transition:transform .6s ease}
.bpv-photo-hero-image:hover img{transform:scale(1.018)}
.bpv-photo-gallery-section{padding:118px 0 130px}
.bpv-photo-gallery-head{display:grid;grid-template-columns:170px minmax(0,750px);gap:34px 60px;align-items:start;margin-bottom:52px}
.bpv-photo-gallery-head h2{margin:0;color:var(--navy);font-size:clamp(50px,5vw,76px)}
.bpv-photo-gallery-head p{grid-column:2;color:var(--muted);margin:-18px 0 0;font-size:16px}
.bpv-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:18px}
.bpv-photo-tile{grid-column:span 4;grid-row:span 2;appearance:none;border:0;padding:0;border-radius:var(--radius);overflow:hidden;background:var(--paper);cursor:zoom-in;position:relative}
.bpv-photo-tile.bpv-photo-wide{grid-column:span 8}
.bpv-photo-tile.bpv-photo-tall{grid-row:span 3}
.bpv-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.bpv-photo-tile:hover img{transform:scale(1.025)}
.bpv-photo-empty{padding:60px;border-radius:var(--radius);background:var(--paper);color:var(--muted);text-align:center}
.bpv-parking-feature{padding:118px 0;background:var(--paper)}
.bpv-parking-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:center}
.bpv-parking-copy h2{font-size:clamp(48px,5vw,74px);line-height:.96;color:var(--navy);margin:0 0 28px}
.bpv-parking-copy p{font-size:18px;line-height:1.66;color:var(--muted);max-width:560px;margin:0 0 30px}
.bpv-parking-photo{min-height:600px;border-radius:var(--radius);overflow:hidden;background:#fff}
.bpv-parking-photo img{width:100%;height:100%;min-height:600px;object-fit:cover;display:block}
.bpv-photo-placeholder{min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);padding:30px;text-align:center}.bpv-photo-placeholder strong{color:var(--navy)}
.bpv-photo-final{padding:110px 0;background:#fff}
.bpv-photo-final-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.bpv-photo-final h2{font-size:clamp(52px,5.5vw,82px);color:var(--navy);margin:0}
.bpv-photo-final-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.bpv-lightbox[hidden]{display:none!important}.bpv-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(3,15,32,.94);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:40px 24px;color:#fff}.bpv-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.bpv-lightbox figure img{display:block;max-width:min(1400px,100%);max-height:82vh;object-fit:contain;border-radius:18px}.bpv-lightbox figcaption{margin-top:13px;font-size:13px;color:rgba(255,255,255,.66);min-height:18px}.bpv-lightbox button{appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;font-size:34px}.bpv-lightbox-close{position:absolute;right:24px;top:20px;width:50px;height:50px;font-size:42px!important}.bpv-lightbox-prev,.bpv-lightbox-next{width:60px;height:60px}.bpv-lightbox-open{overflow:hidden}
@media(max-width:980px){.bpv-photo-hero-grid,.bpv-parking-grid{grid-template-columns:1fr}.bpv-photo-hero-image,.bpv-photo-hero-image img{min-height:560px}.bpv-photo-gallery-head{grid-template-columns:1fr;gap:12px}.bpv-photo-gallery-head p{grid-column:1;margin:0}.bpv-photo-tile{grid-column:span 6}.bpv-photo-tile.bpv-photo-wide{grid-column:span 12}.bpv-photo-final-inner{grid-template-columns:1fr;gap:30px}.bpv-photo-final-actions{justify-content:flex-start}}
@media(max-width:680px){.bpv-photo-hero{padding:44px 0 72px}.bpv-photo-hero-copy h1{font-size:clamp(50px,14vw,72px)}.bpv-photo-hero-image,.bpv-photo-hero-image img{min-height:420px}.bpv-photo-gallery-section,.bpv-parking-feature{padding:76px 0}.bpv-photo-grid{grid-template-columns:1fr;grid-auto-rows:auto}.bpv-photo-tile,.bpv-photo-tile.bpv-photo-wide,.bpv-photo-tile.bpv-photo-tall{grid-column:auto;grid-row:auto;min-height:340px}.bpv-photo-tile img{min-height:340px}.bpv-parking-photo,.bpv-parking-photo img,.bpv-photo-placeholder{min-height:420px}.bpv-photo-final{padding:78px 0}.bpv-lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:20px 8px}.bpv-lightbox figure img{border-radius:12px;max-height:78vh}.bpv-lightbox-prev,.bpv-lightbox-next{width:42px;height:48px;font-size:26px!important}}

/* V3.8.2 — DOVE SIAMO / LOCATION PREMIUM */
.where-hero{padding:42px 0 110px;background:#f7f8fa}
.where-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:74px}
.where-hero-copy h1{font-size:clamp(58px,6.3vw,102px);line-height:.91;letter-spacing:-.07em;max-width:720px;margin:18px 0 30px}
.where-hero-copy p{font-size:19px;line-height:1.75;color:var(--muted);max-width:610px}
.where-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.where-hero-photo{margin:0;height:700px;border-radius:34px;overflow:hidden}
.where-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.where-map-section{padding:120px 0;background:#fff}
.where-map-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:76px;align-items:center}
.where-map-copy h2,.where-story-copy h2,.where-parking-copy h2,.where-final-grid h2,.where-practical-head h2{font-size:clamp(44px,5vw,76px);line-height:.98;letter-spacing:-.055em;margin:14px 0 26px}
.where-lead,.where-story-copy p,.where-parking-copy p,.where-final-grid p{font-size:18px;line-height:1.8;color:var(--muted)}
.where-contact-lines{margin-top:38px;border-top:1px solid var(--line)}
.where-contact-lines>div{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}
.where-contact-lines span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.where-contact-lines strong{font-weight:600}
.where-map-card{height:620px;border-radius:34px;overflow:hidden;background:var(--blue-soft)}
.where-map-card iframe{width:100%;height:100%;border:0;display:block}
.where-story-section{padding:20px 0 120px;background:#fff}
.where-story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:84px;align-items:center}
.where-story-photo{height:720px;margin:0;border-radius:34px;overflow:hidden}
.where-story-photo img{width:100%;height:100%;object-fit:cover;display:block}
.where-story-copy p+p{margin-top:18px}
.where-practical-section{padding:110px 0;background:#f2f5f8}
.where-practical-head{max-width:850px;margin-bottom:55px}
.where-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.where-practical-card{background:#fff;border-radius:26px;padding:34px;min-height:285px;display:flex;flex-direction:column}
.where-practical-card .where-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:var(--navy);font-weight:700;margin-bottom:34px}
.where-practical-card h3{font-size:28px;letter-spacing:-.035em;margin:0 0 14px;color:var(--navy)}
.where-practical-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.where-parking-section{padding:120px 0;background:var(--navy);color:#fff}
.where-parking-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}
.where-parking-copy .kicker{color:#b8c8da}
.where-parking-copy h2{color:#fff}
.where-parking-copy p{color:#d3deea}
.where-parking-photo{height:560px;margin:0;border-radius:34px;overflow:hidden}
.where-parking-photo img{width:100%;height:100%;object-fit:cover;display:block}
.where-final-section{padding:120px 0;background:#fff}
.where-final-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px;align-items:center}
.where-final-grid>div{max-width:600px}
.where-final-grid figure{height:590px;margin:0;border-radius:34px;overflow:hidden}
.where-final-grid figure img{width:100%;height:100%;object-fit:cover;display:block}
.where-final-grid .button-primary{display:inline-flex;margin-top:24px}
@media(max-width:1020px){
  .where-hero-grid,.where-map-grid,.where-story-grid,.where-parking-grid,.where-final-grid{grid-template-columns:1fr;gap:44px}
  .where-hero-photo,.where-story-photo{height:570px}
  .where-map-card{height:520px}
  .where-practical-grid{grid-template-columns:1fr}
  .where-parking-photo,.where-final-grid figure{height:500px}
}
@media(max-width:680px){
  .where-hero{padding:35px 0 75px}.where-hero-copy h1{font-size:58px}.where-hero-photo{height:470px;border-radius:24px}
  .where-map-section,.where-story-section,.where-practical-section,.where-parking-section,.where-final-section{padding:78px 0}
  .where-map-card{height:430px;border-radius:24px}.where-story-photo,.where-parking-photo,.where-final-grid figure{height:430px;border-radius:24px}
  .where-contact-lines>div{grid-template-columns:1fr;gap:5px}
  .where-practical-card{min-height:0;padding:28px}
}


/* V3.8.4 — TRIPADVISOR TRAVELLERS' CHOICE 2022 */
.tripadvisor-section{padding:104px 0;background:var(--paper)}
.tripadvisor-card{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:center;background:#fff;border-radius:34px;padding:64px 70px;border:1px solid var(--line)}
.tripadvisor-copy{max-width:720px}
.tripadvisor-copy h2{font-size:clamp(46px,4.8vw,72px);line-height:.98;letter-spacing:-.055em;color:var(--navy);margin:14px 0 22px}
.tripadvisor-copy p{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 24px;max-width:680px}
.tripadvisor-widget-wrap{display:flex;align-items:center;justify-content:center;min-height:230px;padding:26px;border-radius:28px;background:var(--blue-soft)}
.tripadvisor-widget-wrap .TA_certificateOfExcellence,.tripadvisor-widget-wrap .TA_links,.tripadvisor-widget-wrap li{margin:0!important;padding:0!important;list-style:none!important}
.tripadvisor-widget-wrap img{display:block;max-width:100%;height:auto}
@media(max-width:900px){.tripadvisor-card{grid-template-columns:1fr;gap:38px;padding:48px}.tripadvisor-widget-wrap{justify-content:flex-start}}
@media(max-width:680px){.tripadvisor-section{padding:74px 0}.tripadvisor-card{padding:32px 24px;border-radius:26px}.tripadvisor-copy h2{font-size:44px}.tripadvisor-widget-wrap{min-height:190px;padding:20px}}

/* =========================================================
   V3.9.0 — MOBILE, LANGUAGES, FERRY PAGE, TRIPADVISOR
   ========================================================= */

html,body{max-width:100%;overflow-x:clip}
.desktop-menu{gap:20px}
.language-selector{position:relative;flex:0 0 auto}
.language-toggle{min-width:44px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--navy);font-size:11px;font-weight:750;letter-spacing:.11em;cursor:pointer}
.language-chevron{font-size:14px;line-height:1;transform:translateY(-1px);transition:transform .2s}
.language-toggle[aria-expanded="true"] .language-chevron{transform:rotate(180deg) translateY(1px)}
.language-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:220;width:210px;padding:10px;border:1px solid rgba(8,48,104,.09);border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(6,29,63,.16)}
.language-popover a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:43px;padding:0 12px;border-radius:11px;color:#26323d;font-size:13px}
.language-popover a:hover{background:var(--blue-soft);color:var(--navy)}
.language-popover a[aria-current="page"]{background:var(--navy);color:#fff}
.language-popover small{font-size:10px;font-weight:750;letter-spacing:.12em;opacity:.66}
.mobile-languages{display:flex;gap:8px;padding:18px 0 6px}
.mobile-languages a{display:grid!important;place-items:center;min-width:44px;width:44px;height:40px;min-height:40px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:999px;font-size:11px!important;font-weight:750;letter-spacing:.08em;color:var(--navy)}
.mobile-languages a[aria-current="page"]{background:var(--navy);border-color:var(--navy)!important;color:#fff}

/* Tripadvisor award: an editorial lock-up, without a framed image box. */
.tripadvisor-section{padding:110px 0;background:#fff}
.tripadvisor-card{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(210px,290px);gap:72px;padding:72px 76px;border:0;border-radius:34px;background:var(--navy);box-shadow:0 24px 70px rgba(6,29,63,.13)}
.tripadvisor-card:after{content:"";position:absolute;width:420px;height:420px;right:-170px;top:-210px;border-radius:50%;background:rgba(255,255,255,.055);pointer-events:none}
.tripadvisor-copy{position:relative;z-index:1}
.tripadvisor-copy .kicker{color:#b9cade}
.tripadvisor-copy h2{color:#fff}
.tripadvisor-copy p{color:rgba(255,255,255,.74)}
.tripadvisor-copy .text-link{color:#fff}
.tripadvisor-widget-wrap{position:relative;z-index:1;min-height:0;padding:0;border:0;border-radius:0;background:transparent}
.tripadvisor-widget-wrap img{width:min(250px,100%);filter:drop-shadow(0 16px 26px rgba(1,12,28,.22))}

/* Ferry discount */
.ferry-page{background:#fff}
.ferry-hero{padding:80px 0 100px;background:var(--paper)}
.ferry-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:80px;align-items:center}
.ferry-hero h1{max-width:760px;margin:14px 0 28px;font-size:clamp(58px,7.2vw,102px);line-height:.9;letter-spacing:-.065em;color:var(--navy)}
.ferry-hero .lead{max-width:660px;margin:0;font-size:20px;line-height:1.58;color:var(--muted)}
.ferry-discount-mark{min-height:420px;padding:54px;border-radius:34px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 22px 65px rgba(6,29,63,.13)}
.ferry-discount-mark span{font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:#b9cade}
.ferry-discount-mark strong{display:block;margin:16px 0 8px;font-size:clamp(74px,8vw,112px);line-height:.8;letter-spacing:-.075em}
.ferry-discount-mark p{margin:0;color:rgba(255,255,255,.72);font-size:16px}
.ferry-content-section{padding:110px 0}
.ferry-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:86px;align-items:start}
.ferry-editorial{max-width:790px;font-size:18px;line-height:1.72;color:#34404b}
.ferry-editorial h2{margin:64px 0 22px;font-size:clamp(38px,4vw,56px);line-height:1;color:var(--navy)}
.ferry-editorial h2:first-child{margin-top:0}
.ferry-editorial h3{margin:38px 0 15px;font-size:26px;color:var(--navy)}
.ferry-editorial ul{list-style:none;margin:20px 0 36px;padding:0;border-top:1px solid var(--line)}
.ferry-editorial li{position:relative;padding:16px 8px 16px 30px;border-bottom:1px solid var(--line)}
.ferry-editorial li:before{content:"✓";position:absolute;left:0;color:var(--navy);font-weight:750}
.ferry-editorial a{color:var(--navy);font-weight:650;text-decoration:underline;text-underline-offset:4px}
.ferry-sidebar{position:sticky;top:126px;padding:38px;border-radius:26px;background:var(--blue-soft)}
.ferry-sidebar h2{margin:12px 0 18px;font-size:38px;line-height:1;color:var(--navy)}
.ferry-sidebar p{color:var(--muted)}
.ferry-sidebar .button-primary{width:100%;margin-top:8px}
.ferry-note{margin-top:30px;padding:18px 20px;border-left:3px solid var(--navy);background:var(--paper);font-size:14px;color:var(--muted)}

@media(max-width:1180px){
  .desktop-menu{gap:14px;font-size:12px}
  .desktop-menu>a:not(.button-primary){padding-left:1px;padding-right:1px}
}

@media(max-width:1020px){
  .mobile-menu{position:fixed;left:0;right:0;top:88px;z-index:190;max-height:calc(100dvh - 88px);overflow-y:auto;padding:14px max(28px,calc((100vw - 900px)/2)) 28px;border-top:1px solid var(--line);box-shadow:0 24px 60px rgba(6,29,63,.12)}
  .mobile-menu>a:not(.mobile-cta){display:flex;align-items:center;min-height:50px;padding:0;border-bottom:1px solid var(--line);font-size:15px}
  .mobile-menu .mobile-cta{width:100%;margin-top:18px}
  .menu-toggle{min-width:92px;min-height:44px;padding:0 16px;border:1px solid rgba(8,48,104,.18);border-radius:999px;align-items:center;justify-content:space-between;gap:13px;font-size:12px;cursor:pointer}
  .menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{display:block;width:15px;height:1px;background:currentColor;content:"";transition:.2s}
  .menu-toggle i{position:relative}
  .menu-toggle i:before{position:absolute;top:-5px}
  .menu-toggle i:after{position:absolute;top:5px}
  .menu-toggle[aria-expanded="true"] i{background:transparent}
  .menu-toggle[aria-expanded="true"] i:before{top:0;transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] i:after{top:0;transform:rotate(-45deg)}
  .ferry-hero-grid,.ferry-content-grid{grid-template-columns:1fr;gap:44px}
  .ferry-discount-mark{min-height:320px}
  .ferry-sidebar{position:static}
}

@media(max-width:720px){
  :root{--radius:20px}
  body{font-size:16px;line-height:1.6}
  .container{width:calc(100% - 40px)}
  .nav{min-height:74px;gap:18px}
  .official-logo{width:110px}
  .mobile-menu{top:74px;max-height:calc(100dvh - 74px);padding:10px 20px 24px}
  .menu-toggle{display:inline-flex;min-width:88px;min-height:42px;padding:0 14px}
  .kicker{margin-bottom:14px;font-size:10px;letter-spacing:.15em}
  h2,.section-head h2{font-size:clamp(36px,10.6vw,48px);line-height:1.01;letter-spacing:-.048em}
  .hero{min-height:76svh;padding:94px 0 46px;background-position:center}
  .hero h1{max-width:100%;margin-bottom:24px;font-size:clamp(48px,14.6vw,66px);line-height:.9;letter-spacing:-.06em}
  .hero-tagline{max-width:34ch;margin-bottom:27px;font-size:17px;line-height:1.42}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .button-primary,.hero-actions .button-ghost{width:100%;min-height:50px;padding:0 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px}
  .intro-section,.apartments-home,.archive-section,.discover-section,.brand-signoff,.pet-friendly-section{padding:68px 0}
  .intro-layout{gap:26px}
  .intro-copy h2{font-size:clamp(38px,11vw,49px)}
  .intro-columns{gap:0}
  .intro-columns p,.pet-friendly-copy p,.discover-copy p,.feature-copy p,.final-cta p{font-size:16px;line-height:1.64}
  .visual-section{padding-bottom:68px}
  .visual-main,.discover-photo,.pet-friendly-photo{min-height:360px;border-radius:20px}
  .visual-side{min-height:260px;padding:28px}
  .visual-side .number{font-size:76px}
  .cards{gap:34px}
  .card-photo{border-radius:16px}
  .card h3{font-size:22px}
  .section-head{gap:12px;margin-bottom:30px}
  .feature-photo{min-height:360px}
  .feature-copy{padding:58px 20px}
  .feature-copy h2{font-size:clamp(38px,11vw,50px)}
  .pet-friendly-grid,.discover-grid{gap:32px}
  .pet-badge{max-width:calc(100% - 32px);line-height:1.25;text-align:center}
  .final-cta{padding:64px 0}
  .final-cta-grid{gap:28px}
  .final-cta .button-primary{width:100%}
  .brand-signoff-inner img{width:min(280px,75vw)}
  .brand-signoff{padding:58px 0}
  .site-footer{padding:58px 0 26px}
  .footer-grid{gap:34px}
  .footer-bottom{margin-top:34px;padding-top:20px;font-size:10px}

  .page-hero,.apartment-title{padding:62px 0 34px}
  .page-hero h1,.apartment-title h1,.places-index-hero h1,.residence-page-hero h1,.bpv-residence-hero-copy h1,.bpv-photo-hero-copy h1,.where-hero-copy h1,.place-hero h1{font-size:clamp(45px,13vw,60px);line-height:.94;letter-spacing:-.055em}
  .page-hero .lead,.apartment-title .lead,.residence-page-lead,.bpv-residence-hero-copy>p,.bpv-photo-hero-copy p,.where-hero-copy p,.places-index-hero p{font-size:16px;line-height:1.6}
  .page-content,.apartment-content{padding:56px 0 76px}
  .entry-content,.apartment-main-copy .entry-content,.place-entry-content,.residence-editorial{font-size:16px}
  .entry-content h2,.place-entry-content h2,.residence-editorial h2{margin-top:44px;font-size:34px}
  .entry-content h3,.place-entry-content h3{margin-top:34px;font-size:26px}
  .quote-form-card,.contact-form-panel,.contact-card,.place-aside,.place-aside-v36,.quote-card{padding:26px 20px}
  .gallery-item.main{min-height:300px}
  .gallery-item:not(.main){min-height:150px}
  .apartment-pills span{font-size:12px}
  .spec-list li{font-size:15px}

  .places-index-hero{min-height:58svh;padding:84px 0 44px}
  .places-index-intro,.places-index-list,.places-index-cta,.place-story,.related-places-section{padding-top:66px;padding-bottom:66px}
  .place-card-media,.place-card-wide .place-card-media,.place-card-tall .place-card-media{min-height:360px}
  .place-card-copy{padding:22px}
  .related-place-media{height:330px}

  .bpv-residence-hero,.bpv-residence-story,.bpv-residence-essentials,.bpv-residence-gallery,.bpv-residence-final{padding-top:66px;padding-bottom:66px}
  .bpv-residence-hero-grid,.bpv-residence-story-grid{gap:34px}
  .bpv-residence-hero-media,.bpv-residence-hero-media img,.bpv-residence-story-photo,.bpv-residence-story-photo img{min-height:380px}
  .bpv-residence-section-head{gap:18px;margin-bottom:34px}
  .bpv-residence-essential{min-height:0;padding:28px 24px}
  .bpv-residence-icon{margin-bottom:30px}
  .bpv-residence-gallery-main,.bpv-residence-gallery-main img{min-height:420px}
  .bpv-residence-gallery-small{min-height:300px}
  .bpv-residence-gallery-quote{min-height:280px;padding:28px}
  .bpv-residence-island-copy{padding:60px 20px}
  .bpv-residence-island-media,.bpv-residence-island-media img{min-height:400px}

  .bpv-photo-hero{padding:52px 0 66px}
  .bpv-photo-hero-image,.bpv-photo-hero-image img{min-height:380px}
  .bpv-photo-gallery-section,.bpv-parking-feature,.bpv-photo-final{padding:66px 0}
  .bpv-photo-tile,.bpv-photo-tile.bpv-photo-wide,.bpv-photo-tile.bpv-photo-tall,.bpv-photo-tile img{min-height:300px}
  .bpv-parking-photo,.bpv-parking-photo img,.bpv-photo-placeholder{min-height:360px}

  .where-hero{padding:52px 0 66px}
  .where-hero-grid,.where-map-grid,.where-story-grid,.where-parking-grid,.where-final-grid{gap:34px}
  .where-hero-photo,.where-story-photo,.where-parking-photo,.where-final-grid figure{height:380px;border-radius:20px}
  .where-map-section,.where-story-section,.where-practical-section,.where-parking-section,.where-final-section{padding:66px 0}
  .where-map-card{height:390px;border-radius:20px}
  .where-practical-card{padding:26px;min-height:0}
  .where-practical-card .where-icon{margin-bottom:26px}
  .where-practical-card h3{font-size:24px}

  .tripadvisor-section{padding:66px 0}
  .tripadvisor-card{grid-template-columns:1fr;gap:34px;padding:42px 24px;border-radius:24px}
  .tripadvisor-copy h2{font-size:clamp(38px,11vw,48px)}
  .tripadvisor-copy p{font-size:16px}
  .tripadvisor-widget-wrap{justify-content:center;min-height:0;padding:0}
  .tripadvisor-widget-wrap img{width:min(220px,72vw)}

  .ferry-hero{padding:58px 0 68px}
  .ferry-hero-grid,.ferry-content-grid{gap:32px}
  .ferry-hero h1{font-size:clamp(46px,13.5vw,60px);line-height:.94}
  .ferry-hero .lead{font-size:16px}
  .ferry-discount-mark{min-height:250px;padding:32px 26px;border-radius:24px}
  .ferry-discount-mark strong{font-size:78px}
  .ferry-content-section{padding:68px 0}
  .ferry-editorial{font-size:16px}
  .ferry-editorial h2{margin-top:48px;font-size:34px}
  .ferry-editorial h3{font-size:24px}
  .ferry-editorial li{padding-top:14px;padding-bottom:14px}
  .ferry-sidebar{padding:28px 24px}
  .ferry-sidebar h2{font-size:34px}
}

@media(max-width:390px){
  .container{width:calc(100% - 32px)}
  .official-logo{width:102px}
  .menu-toggle{min-width:82px;padding:0 12px}
  .mobile-menu{padding-left:16px;padding-right:16px}
  .mobile-languages{gap:6px}
  .mobile-languages a{min-width:40px;width:40px}
}


/* SOURCE: refined.css */
/* Borgo Punta Villa 3.9.3 — motion & tonal refinement.
   An additive visual layer above the original 3.9.1, without changing content. */
:root {
  --navy:#1a5686;
  --navy-deep:#164876;
  --blue-soft:#f1f7fc;
  --paper:#f7fafd;
  --white:#fcfdff;
  --ink:#1b3447;
  --muted:#627585;
  --line:#dfebf4;
  --bpv-accent:#2876ab;
  --bpv-accent-bright:#bae6ff;
  --bpv-ease:cubic-bezier(.22,1,.36,1);
}
body {background:var(--white)}
.bpv-residence,.bpv-photo-page,.ferry-page,.pet-friendly-section,.discover-section {background:var(--white)}
.apartments-home,.archive-section,.page-hero,.apartment-title,.where-hero,.ferry-hero{background:var(--paper)}
.where-practical-section{background:#f3f8fc}
.site-footer{background:#16436a}

/* Typography: the accent comes exclusively from colour, NEVER font weight. */
h1,h2,h3,
.hero h1,.intro-copy h2,.pet-friendly-copy h2,.discover-copy h2,
.feature-copy h2,.final-cta h2,.page-hero h1,.apartment-title h1 {
  font-family:var(--font);
  font-weight:450;
  letter-spacing:-.047em;
  text-wrap:pretty;
}
h1,h2 {font-synthesis:none}
.hero h1 {letter-spacing:-.059em;line-height:.9}
.intro-copy h2,.discover-copy h2,.pet-friendly-copy h2 {line-height:1.035}
.bpv-accent,
.pet-friendly-copy strong {
  color:var(--bpv-accent);
  font-weight:inherit!important;
  font-style:normal!important;
}
.hero .bpv-accent,.split-feature .bpv-accent,.final-cta .bpv-accent,
.bpv-residence-island .bpv-accent {color:var(--bpv-accent-bright)}
.hero .bpv-accent {text-shadow:0 2px 14px rgba(8,34,63,.24)}
.kicker:not(.light),.card-code,.number-label {color:var(--navy)}
.kicker {font-weight:520;letter-spacing:.18em}
.section-head h2 {margin-bottom:0}
.text-link {font-weight:520;transition:color .3s ease}
.text-link:hover {color:var(--bpv-accent)}

/* Crisp editorial separators instead of decorative boxes and heavy treatments. */
.intro-label>span {font-variant-numeric:tabular-nums;color:var(--bpv-accent);font-weight:450}
.intro-section .intro-copy,
.discover-copy,.pet-friendly-copy {min-width:0}
.intro-columns {gap:clamp(24px,3.7vw,56px)}
.intro-columns p {font-size:clamp(16px,1.45vw,18px)}
.apartments-home .section-head,
.archive-section .section-head {padding-bottom:26px;border-bottom:1px solid var(--line)}
.visual-side {background:#eff6fc;border:1px solid rgba(26,86,134,.055)}
.card-photo {border-radius:17px}
.card-photo img {transition:transform 1s var(--bpv-ease),filter .8s ease}
.card:hover .card-photo img {transform:scale(1.055)}
.card h3,.card-code {font-weight:500}
.pet-badge {font-weight:520;background:rgba(252,253,255,.94)}
.tripadvisor-card {border-color:var(--line)}

/* Lighter, measured interaction feedback: buttons stay recognizable and clickable. */
.button-primary,.button-outline,.button-ghost {font-weight:530;transition:background-color .32s ease,border-color .32s ease,color .32s ease,opacity .32s ease,transform .38s var(--bpv-ease),box-shadow .32s ease}
.button-primary:hover,.button-outline:hover {transform:translateY(-2px);box-shadow:0 10px 27px rgba(13,67,106,.10)}
.button-ghost:hover {opacity:1;transform:translateY(-2px)}
.hero-actions .button-ghost span {display:none} /* legacy decorative arrow, not a link */
.button-primary:focus-visible,.button-outline:focus-visible,.button-ghost:focus-visible,.text-link:focus-visible,
.desktop-menu a:focus-visible,.language-toggle:focus-visible,.menu-toggle:focus-visible {outline:2px solid var(--bpv-accent);outline-offset:4px}

/* Transparent navigation over the photo; readable frosted navigation after scrolling. */
.site-header.bpv-header-over-hero {
  position:fixed;inset:0 0 auto;width:100%;z-index:300;
  background:linear-gradient(180deg,rgba(5,32,59,.34),rgba(5,32,59,.045) 86%,transparent);
  border-bottom:1px solid transparent;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:background-color .38s ease,border-color .38s ease,box-shadow .38s ease,backdrop-filter .38s ease;
}
.site-header.bpv-header-over-hero .official-logo {filter:brightness(0) invert(1);transition:filter .3s ease}
.site-header.bpv-header-over-hero .desktop-menu>a:not(.button-primary),
.site-header.bpv-header-over-hero .language-toggle,
.site-header.bpv-header-over-hero .menu-toggle {color:#fff}
.site-header.bpv-header-over-hero .desktop-menu>a:not(.button-primary):after {background:#fff}
.site-header.bpv-header-over-hero .desktop-menu .button-primary.mini {color:var(--navy);background:#fff;border-color:#fff}
.site-header.bpv-header-over-hero .menu-toggle {border-color:rgba(255,255,255,.58)}
.site-header.bpv-header-over-hero.bpv-header-scrolled,
.site-header.bpv-header-over-hero.bpv-header-menu-open {
  background:rgba(252,253,255,.967);border-bottom-color:rgba(26,86,134,.11);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  box-shadow:0 9px 33px rgba(20,69,103,.055);
}
.site-header.bpv-header-over-hero.bpv-header-scrolled .official-logo,
.site-header.bpv-header-over-hero.bpv-header-menu-open .official-logo {filter:none}
.site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu>a:not(.button-primary),
.site-header.bpv-header-over-hero.bpv-header-scrolled .language-toggle,
.site-header.bpv-header-over-hero.bpv-header-scrolled .menu-toggle,
.site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu>a:not(.button-primary),
.site-header.bpv-header-over-hero.bpv-header-menu-open .language-toggle,
.site-header.bpv-header-over-hero.bpv-header-menu-open .menu-toggle {color:var(--navy)}
.site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu>a:not(.button-primary):after,
.site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu>a:not(.button-primary):after {background:var(--navy)}
.site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu .button-primary.mini,
.site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu .button-primary.mini {color:#fff;background:var(--navy);border-color:var(--navy)}
.site-header.bpv-header-over-hero.bpv-header-scrolled .menu-toggle,
.site-header.bpv-header-over-hero.bpv-header-menu-open .menu-toggle {border-color:rgba(26,86,134,.22)}
.site-header.bpv-header-over-hero .language-popover,
.site-header.bpv-header-over-hero .mobile-menu {color:var(--ink)}

/* Real page scroll, no scroll trapping, pinning, snap or scroll handler cancellation. */
html {scroll-snap-type:none}
/* Progressive editorial motion, only switched on if IntersectionObserver is available.
   Images are revealed by a soft bottom-to-top crop. Text arrives gently. */
@media (prefers-reduced-motion:no-preference) {
  .bpv-motion-on .bpv-reveal {
    transition-property:opacity,transform,clip-path;
    transition-duration:.85s,.94s,1.12s;
    transition-timing-function:var(--bpv-ease);
    transition-delay:var(--bpv-reveal-delay,0ms);
  }
  .bpv-motion-on .bpv-reveal:not(.bpv-visible) {
    opacity:0;transform:translate3d(0,29px,0);
  }
  .bpv-motion-on .bpv-reveal.bpv-reveal-text:not(.bpv-visible) {
    opacity:.07;transform:translate3d(0,25px,0);
    clip-path:inset(0 0 14% 0);
  }
  .bpv-motion-on .bpv-reveal.bpv-reveal-media:not(.bpv-visible) {
    opacity:.55;transform:translate3d(0,26px,0);
    clip-path:inset(0 0 17% 0);
  }
  .bpv-motion-on .bpv-reveal.bpv-visible {
    opacity:1;transform:none;clip-path:inset(0 0 0 0);
  }
  /* Precise two-line kinetic typography: no bold, no layout jumps, no new words. */
  .bpv-heading-split .bpv-heading-line {display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
  .bpv-heading-split .bpv-heading-line-inner {display:block;transition:transform 1.02s var(--bpv-ease),opacity .92s var(--bpv-ease)}
  .bpv-motion-on .bpv-heading-split.bpv-reveal:not(.bpv-visible) .bpv-heading-line-inner {
    transform:translate3d(0,90%,0);opacity:.2;
  }
  .bpv-motion-on .bpv-heading-split.bpv-reveal.bpv-visible .bpv-heading-line-inner {transform:none;opacity:1}
  .bpv-heading-line:nth-child(2) .bpv-heading-line-inner {transition-delay:110ms}
  /* Gentle first-load choreography in the hero, using the same original elements. */
  .bpv-hero-entrance .hero .kicker,
  .bpv-hero-entrance .hero .hero-tagline,
  .bpv-hero-entrance .hero .hero-actions {
    animation:bpv-hero-enter .92s var(--bpv-ease) both;
  }
  .bpv-hero-entrance .hero h1 .bpv-heading-line-inner {
    animation:bpv-hero-enter 1.06s var(--bpv-ease) both;
  }
  .bpv-hero-entrance .hero h1 .bpv-heading-line:nth-child(1) .bpv-heading-line-inner {animation-delay:100ms}
  .bpv-hero-entrance .hero h1 .bpv-heading-line:nth-child(2) .bpv-heading-line-inner {animation-delay:205ms}
  .bpv-hero-entrance .hero .kicker {animation-delay:70ms}
  .bpv-hero-entrance .hero .hero-tagline {animation-delay:290ms}
  .bpv-hero-entrance .hero .hero-actions {animation-delay:410ms}
  @keyframes bpv-hero-enter {
    from {opacity:.15;transform:translate3d(0,18px,0)}
    to {opacity:1;transform:none}
  }
  /* Keep natural responsive layout; motion is never positioned or fixed. */
  .bpv-motion-on .bpv-reveal.bpv-visible {will-change:auto}
  .hero .bpv-reveal {transition-duration:1s,1.1s,1.1s}
}
@media (prefers-reduced-motion:reduce) {
  .bpv-reveal {opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .site-header.bpv-header-over-hero {transition:none}
  .card-photo img {transition:none}
}
@media (max-width:1020px) {
  .site-header.bpv-header-over-hero .mobile-menu {background:var(--white)}
  .site-header.bpv-header-over-hero .mobile-menu a {color:var(--navy)}
  .site-header.bpv-header-over-hero .mobile-menu .mobile-cta {color:#fff}
}
@media (max-width:720px) {
  .site-header.bpv-header-over-hero .menu-toggle {min-height:42px}
  .bpv-motion-on .bpv-reveal {transition-duration:.65s,.72s,.82s}
  .intro-columns {gap:17px}
}

/* Two visual lines replace the original <br> but keep its line break in every motion mode. */
.bpv-heading-split .bpv-heading-line {display:block;overflow:visible}
@media (prefers-reduced-motion:no-preference) {
  .bpv-motion-on .bpv-heading-split .bpv-heading-line {overflow:hidden}
}


/* SOURCE: stay.css */
/* Borgo Punta Villa 3.9.4 — refined modern hospitality design, entirely sans-serif. */
:root {
  --bpv-ui-blue:#1a5686;
  --bpv-quiet-blue:#5684a8;
  --bpv-offwhite:#fcfdff;
  --bpv-canvas:#f7fafe;
  --bpv-thin-line:#dce8f1;
  --bpv-heading-font:'Manrope','Avenir Next','SF Pro Display','Segoe UI',Arial,sans-serif;
  --bpv-body-font:'DM Sans','Inter','SF Pro Text','Helvetica Neue',Arial,sans-serif;
  --bpv-motion-curve:cubic-bezier(.19,1,.22,1);
}
body {font-family:var(--bpv-body-font);font-weight:400;background:var(--bpv-offwhite)}
h1,h2,h3,.bpv-detail-amenities h2 {font-family:var(--bpv-heading-font);font-synthesis:none}
.kicker {font-family:var(--bpv-body-font);font-weight:500;letter-spacing:.18em}
/* Keep the original text intact; all headings read as a single colour. */
.bpv-accent,.hero .bpv-accent,.intro-section .bpv-accent,.split-feature .bpv-accent,
.pet-friendly-copy .bpv-accent,.discover-copy .bpv-accent,.final-cta .bpv-accent {
  color:inherit!important;font-weight:inherit!important;text-shadow:none!important
}
.hero.bpv-hero-reimagined {
  position:relative;isolation:isolate;min-height:min(900px,94svh);
  align-items:flex-end;overflow:hidden;color:#fff;
  background:#1a4469; /* fallback while theme hero photo is not assigned */
  padding:clamp(150px,19vh,230px) 0 clamp(78px,10vh,132px);
}
.bpv-hero-media,.bpv-hero-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}
.bpv-hero-media{
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  transform:scale(1.07);transform-origin:center;
}
.bpv-hero-shade{
  z-index:-1;
  background:linear-gradient(90deg,rgba(5,29,55,.66) 0%,rgba(5,29,55,.39) 51%,rgba(5,29,55,.05) 100%),
             linear-gradient(0deg,rgba(5,28,50,.43),transparent 52%,rgba(5,28,50,.17));
}
.hero.bpv-hero-reimagined .hero-inner{position:relative;z-index:1;width:min(1240px,calc(100% - 80px))}
.hero.bpv-hero-reimagined .hero-copy{max-width:1000px}
.hero.bpv-hero-reimagined .kicker{
  display:flex;align-items:center;gap:16px;margin-bottom:clamp(29px,4vw,56px);
  font-weight:500;color:rgba(255,255,255,.96);font-size:11px;letter-spacing:.2em;
}
.hero.bpv-hero-reimagined .kicker:before{content:'';display:inline-block;width:35px;height:1px;background:rgba(255,255,255,.8)}
.hero.bpv-hero-reimagined h1{
  font-family:var(--bpv-heading-font);font-weight:420;color:#fff;
  font-size:clamp(59px,8.4vw,123px);line-height:1.02;letter-spacing:-.062em;
  max-width:1080px;margin:0 0 clamp(20px,3vw,38px);text-wrap:balance;
}
.hero.bpv-hero-reimagined h1 .bpv-heading-line:nth-child(2){font-weight:350;letter-spacing:-.055em}
.hero.bpv-hero-reimagined h1 .bpv-heading-line{padding-bottom:.09em;margin-bottom:-.09em}
.hero.bpv-hero-reimagined .hero-tagline{
  font-family:var(--bpv-body-font);font-weight:400;font-size:clamp(17px,1.65vw,22px);
  line-height:1.55;letter-spacing:-.02em;max-width:590px;margin:0 0 34px;
  color:rgba(255,255,255,.90)
}
.hero.bpv-hero-reimagined .hero-actions{gap:12px}
.hero.bpv-hero-reimagined .hero-actions a{
  min-height:53px;padding:0 23px;letter-spacing:.006em;font-weight:500;font-size:12.5px;
}
.hero.bpv-hero-reimagined .hero-actions .button-ghost{
  padding-left:24px;padding-right:24px;border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.035);color:#fff;backdrop-filter:blur(6px)
}
.hero.bpv-hero-reimagined .hero-actions .button-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;opacity:1}
/* Clean readable menu: original floating transparent behaviour is preserved. */
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open){background:linear-gradient(180deg,rgba(5,29,55,.32),transparent)}
.desktop-menu{font-family:var(--bpv-body-font);font-weight:500}
.intro-copy h2,.discover-copy h2,.pet-friendly-copy h2,.split-feature h2,.final-cta h2{
  font-weight:410;letter-spacing:-.052em;line-height:1.09;
}
.section-head h2,.page-hero h1,.apartment-title h1{font-weight:430;letter-spacing:-.052em}
.section-head{align-items:end}
/* Apparent motion comes from typography & imagery, not scrolling restrictions. */
@media(prefers-reduced-motion:no-preference){
  .bpv-hero-entrance .bpv-hero-media{animation:bpv-hero-slow-zoom 13s cubic-bezier(.15,.7,.25,1) both}
  @keyframes bpv-hero-slow-zoom{from{transform:scale(1.13)}to{transform:scale(1.035)}}
  .bpv-hero-entrance .hero h1 .bpv-heading-line-inner{animation-duration:1.25s;animation-timing-function:var(--bpv-motion-curve)}
  .bpv-hero-entrance .hero .hero-tagline{animation-duration:1.15s;animation-delay:420ms}
  .bpv-hero-entrance .hero .hero-actions{animation-delay:550ms;animation-duration:1.1s}
  .bpv-hero-entrance .hero .kicker{animation-duration:1.1s;animation-delay:90ms}
  .bpv-motion-on .bpv-reveal{
    transition-duration:1.02s,1.12s,1.35s;
    transition-timing-function:var(--bpv-motion-curve)
  }
  .bpv-motion-on .bpv-reveal:not(.bpv-visible){transform:translate3d(0,34px,0)}
  .bpv-motion-on .bpv-reveal.bpv-reveal-media:not(.bpv-visible){
    transform:translate3d(0,33px,0) scale(.975);opacity:.58;clip-path:inset(0 0 12% 0 round 14px)
  }
  .bpv-motion-on .bpv-reveal.bpv-reveal-media.bpv-visible{transform:scale(1)}
  .bpv-motion-on .bpv-heading-split.bpv-reveal:not(.bpv-visible) .bpv-heading-line-inner{
    transform:translate3d(0,105%,0)
  }
  .bpv-motion-on .bpv-heading-split .bpv-heading-line-inner{transition-duration:1.18s,1.08s;transition-timing-function:var(--bpv-motion-curve)}
  .bpv-motion-on .bpv-heading-line:nth-child(2) .bpv-heading-line-inner{transition-delay:165ms}
  .bpv-amenities-card li{animation:bpv-amenity-enter .45s ease both}
  .bpv-amenities-card li:nth-child(n+2){animation-delay:60ms}
  .bpv-amenities-card li:nth-child(n+4){animation-delay:100ms}
  @keyframes bpv-amenity-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
}
/* Apartment archive: spacious two-column rhythm with clear, editable amenities. */
.archive-section{background:var(--bpv-canvas);padding-top:65px}
.apartment-archive-hero{padding-bottom:64px}
.apartment-archive-hero h1{max-width:950px}
.apartment-archive-cards{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:74px}
.apartment-archive-cards .card-photo{aspect-ratio:1.44/1;border-radius:12px}
.apartment-archive-cards .card h3{font-size:clamp(25px,2.15vw,32px)}
.card{min-width:0;display:flex;flex-direction:column}
.card-photo{border-radius:12px}
.card-photo img{transition:transform 1.1s var(--bpv-motion-curve),filter .6s ease}
.card:hover .card-photo img{transform:scale(1.055)}
.card-body{display:flex;flex:1;flex-direction:column;padding-top:20px}
.card-topline{margin-bottom:10px}
.card-code{font-family:var(--bpv-body-font);font-size:11px;font-weight:550;letter-spacing:.13em}
.card h3{margin-bottom:15px;font-weight:470;line-height:1.2;font-family:var(--bpv-heading-font)}
.card-detail-link{margin-top:auto;padding-top:18px;align-self:flex-start;font-size:13px;font-weight:500}
.bpv-amenities{
  list-style:none!important;padding:0!important;margin:0!important;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 15px;color:#516777;
}
.bpv-amenities li{
  min-width:0;display:flex;align-items:center;gap:9px;
  font-family:var(--bpv-body-font);font-size:12px;line-height:1.35;
  padding:6px 0;color:#586c7b;
}
.bpv-amenities-card{padding:14px 0 0!important;border-top:1px solid var(--bpv-thin-line)}
.bpv-amenity-icon{width:17px;height:17px;flex:0 0 17px;color:var(--bpv-ui-blue)}
.bpv-amenities li span{min-width:0;overflow-wrap:anywhere}
.bpv-amenities-more{grid-column:1/-1;color:var(--bpv-ui-blue)!important;font-weight:500}
.bpv-detail-amenities{padding:60px 0;border-bottom:1px solid var(--bpv-thin-line);background:#f7fafe}
.bpv-detail-amenities h2{font-size:clamp(32px,3.7vw,50px);font-weight:420;letter-spacing:-.04em;margin-bottom:29px}
.bpv-amenities-detail{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:11px}
.bpv-amenities-detail li{font-size:14px;border-bottom:1px solid var(--bpv-thin-line);padding:11px 0}
.bpv-amenities-detail .bpv-amenity-icon{width:21px;height:21px;flex-basis:21px}
@media(max-width:1020px){
  .apartment-archive-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 20px}
  .bpv-amenities-detail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero.bpv-hero-reimagined .hero-inner{width:min(1240px,calc(100% - 56px))}
}
@media(max-width:710px){
  .hero.bpv-hero-reimagined{min-height:84svh;padding:150px 0 70px;align-items:flex-end}
  .hero.bpv-hero-reimagined .hero-inner{width:calc(100% - 38px)}
  .hero.bpv-hero-reimagined h1{font-size:clamp(49px,11.7vw,78px);letter-spacing:-.061em;line-height:1.08}
  .hero.bpv-hero-reimagined .hero-tagline{font-size:16px;line-height:1.5;max-width:410px}
  .hero.bpv-hero-reimagined .hero-actions a{min-height:49px;font-size:12px;padding:0 17px}
  .bpv-hero-shade{background:linear-gradient(0deg,rgba(5,29,55,.70) 0%,rgba(5,29,55,.35) 67%,rgba(5,29,55,.18))}
  .apartment-archive-cards{grid-template-columns:1fr;row-gap:44px}
  .apartment-archive-cards .card-photo{aspect-ratio:1.25/1}
  .bpv-amenities-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}
  .bpv-detail-amenities{padding:42px 0}
}
@media(max-width:420px){
  .hero.bpv-hero-reimagined .hero-actions{gap:9px}
  .hero.bpv-hero-reimagined .hero-actions a{width:100%;justify-content:center}
  .hero.bpv-hero-reimagined h1{font-size:clamp(44px,11.6vw,57px)}
  .bpv-amenities-card li{font-size:11.5px}
  .bpv-amenities{column-gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .bpv-hero-media,.bpv-hero-entrance .bpv-hero-media{animation:none!important;transform:none!important}
  .bpv-amenities-card li{animation:none!important}
}


/* SOURCE: v396-fixes.css */
/* Borgo Punta Villa 3.9.6 — surgical corrections to the original 3.9.4.
   The original Manrope / DM Sans typography and all template copy are preserved. */

/* 1 — Fill apartment card previews edge-to-edge. The card's former display:grid
   allowed intrinsic image sizing to create an unused strip inside the grey frame.
   Absolutely position the image in an aspect-ratio box instead of letting the
   image participate in grid row sizing. Applies to both Home and room archive. */
.cards .card-photo {
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  line-height:0;
}
.cards .card-photo > img,
.cards .card-photo > picture,
.cards .card-photo > picture > img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  margin:0;
  padding:0;
}
.cards .card-photo > picture {width:100%;height:100%;}
/* Fallback if an apartment has no uploaded photography. */
.cards .card-photo > span {position:absolute;inset:0;display:grid;place-items:center;line-height:1.4;padding:18px;text-align:center}

/* 2 — Remove only the large, redundant brand sign-off that preceded the footer.
   The markup is also removed from footer.php; the ordinary blue site footer,
   including its small logo, remains unchanged. */
.brand-signoff {display:none!important}

/* V3.9.8: The V3.9.6 hero/intro gradients and oversized hero
   padding have been intentionally removed. */
@media (prefers-reduced-motion:reduce) {
  .cards .card-photo > img {transition:none!important;animation:none!important}
}


/* SOURCE: v398-clean.css */
/* Borgo Punta Villa V3.9.8 — targeted corrections over V3.9.6.
   1. Hero descenders readable; 2. No decorative fades; 3. CTA distinct from footer;
   4. Night-photo/text split intact; pet-friendly text left/photo right on desktop;
   5. Slightly shorter hero with no excess blank space below the buttons. */

/* Existing animation line masks cut off the tail of the “g” in Sardegna.
   Overflow and clipping alone change: font size, interline gap and negative
   compensation margins remain completely untouched. */
.hero.bpv-hero-reimagined h1 .bpv-heading-line,
.bpv-motion-on .hero.bpv-hero-reimagined h1 .bpv-heading-line {
  overflow:visible!important;
  clip-path:none!important;
}
.bpv-motion-on .hero.bpv-hero-reimagined h1.bpv-reveal {
  clip-path:none!important;
}

/* The hero photograph ends at a crisp, clean boundary. The cool-white
   section starts immediately; the V3.9.6 photo-fade is removed. */
.hero.bpv-hero-reimagined {
  min-height:min(810px,86svh);
  padding-bottom:clamp(65px,7.5vh,98px);
}
.hero.bpv-hero-reimagined::after {content:none!important;display:none!important}
.intro-section {background:#f7fafe}

/* No added gradients on the hero photo or its transparent navigation.
   Preserve enough uniform tint for accessible light-coloured copy. */
.hero.bpv-hero-reimagined .bpv-hero-shade {background:rgba(5,29,55,.34)}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) {
  background:rgba(5,29,55,.08);
}

/* Quote invitation and contact footer read as separate sections.
   Solid powder-blue, not a gradient, and original text/CTA are retained. */
.final-cta {
  background:#f1f7fc;
  color:#1a5686;
  padding:clamp(96px,9vw,138px) 0;
  border-top:1px solid #e2ecf4;
  border-bottom:1px solid #dce8f1;
}
.final-cta h2 {color:#1a5686}
.final-cta .kicker.light {color:#567fa0}
.final-cta p {color:#5b7184}
.final-cta .button-primary.light {
  background:#1a5686;
  border-color:#1a5686;
  color:#fff;
}
.final-cta .button-primary.light:hover,
.final-cta .button-primary.light:focus-visible {
  background:#16436a;
  border-color:#16436a;
  color:#fff;
}

/* Clean two-panel compositions: no overlays / photo gradients. */
.split-feature .feature-copy {order:0}
.split-feature .feature-photo {order:0}
.split-feature .feature-photo::before {content:none!important}
@media (min-width:1021px) {
  .pet-friendly-grid {grid-template-columns:.86fr 1.14fr;gap:clamp(30px,5vw,78px)}
  .pet-friendly-grid .pet-friendly-copy {order:0}
  .pet-friendly-grid .pet-friendly-photo {order:1}
}

@media (max-width:1020px) {
  /* Preserve the original responsive pool section: image above text. */
  .split-feature .feature-photo {order:-1}
  .pet-friendly-grid .pet-friendly-copy {order:0}
  .pet-friendly-grid .pet-friendly-photo {order:1}
}
@media (max-width:710px) {
  .hero.bpv-hero-reimagined {
    min-height:82svh;
    padding-top:clamp(125px,16vh,150px);
    padding-bottom:clamp(52px,7vh,74px);
  }
  .final-cta {padding:78px 0 88px}
}


/* SOURCE: pool.css */
/* V3.9.10 | Pool page refinement and CTA on existing home pool section. */
.bpv-pool-feature .feature-copy{display:flex;flex-direction:column;align-items:flex-start}
.bpv-pool-feature-cta{margin-top:28px}

.bpv-pool-page-intro{background:#f7fafe;padding:clamp(96px,9vw,142px) 0 clamp(46px,5vw,70px)}
.bpv-pool-page-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:clamp(34px,6vw,84px);align-items:end}
.bpv-pool-page-lead h1{font-family:var(--bpv-heading-font);font-size:clamp(54px,7.2vw,104px);font-weight:420;line-height:1.03;letter-spacing:-.066em;color:#19384d;margin:18px 0 20px;max-width:810px}
.bpv-pool-page-subtitle{font-family:var(--bpv-body-font);font-size:clamp(18px,1.55vw,22px);line-height:1.56;color:#397193;max-width:700px}
.bpv-pool-page-summary p{font-size:17px;line-height:1.82;color:#61788a;margin:0 0 16px}
.bpv-pool-page-hero-photo{background:#f7fafe;padding:0 0 clamp(42px,5vw,64px)}
.bpv-pool-detail-image{position:relative;display:block;width:100%;aspect-ratio:2.12 / 1;margin:0;border-radius:18px;overflow:hidden;background:#e2edf4;box-shadow:0 28px 70px rgba(22,65,96,.12)}
.bpv-pool-page-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.bpv-pool-highlights{padding:0 0 clamp(82px,8vw,112px);background:#f7fafe}
.bpv-pool-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bpv-pool-info-card{background:#fff;border:1px solid #dbe7ef;border-radius:18px;padding:28px 28px 30px;min-height:210px;box-shadow:0 18px 44px rgba(17,57,87,.06)}
.bpv-pool-info-label{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#6f8798}
.bpv-pool-info-card h3{font-family:var(--bpv-heading-font);font-weight:430;font-size:clamp(25px,2.5vw,33px);line-height:1.14;letter-spacing:-.04em;color:#1a5686;margin:0 0 14px}
.bpv-pool-info-card p{margin:0;font-size:15px;line-height:1.72;color:#61788a}
.bpv-pool-hours-divider{color:#9bb7c9;font-weight:300;margin:0 8px}
.bpv-pool-rules{padding:clamp(98px,9vw,138px) 0;background:#fff}
.bpv-pool-rules-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:clamp(44px,7vw,108px)}
.bpv-pool-rules-head h2{font-family:var(--bpv-heading-font);font-size:clamp(44px,4.8vw,68px);font-weight:420;line-height:1.08;letter-spacing:-.055em;color:#19384d;margin:18px 0 22px}
.bpv-pool-rules-head p{font-size:17px;color:#61788a;line-height:1.75;max-width:430px}
.bpv-pool-rules-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bpv-pool-rule-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start;background:#f7fafe;border:1px solid #dbe7ef;border-radius:18px;padding:24px 22px 23px}
.bpv-pool-rule-card h3{font-family:var(--bpv-heading-font);font-size:24px;font-weight:430;line-height:1.1;letter-spacing:-.03em;color:#1a5686;margin:0 0 10px}
.bpv-pool-rule-card p{font-size:15px;line-height:1.7;color:#50677a;margin:0}
.bpv-pool-rule-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:999px;background:#fff;border:1px solid #b8cfe0;color:#1a5686;font-size:13px;font-weight:600;letter-spacing:.08em}
.bpv-pool-page-cta{background:#edf5fb;padding:clamp(66px,7vw,96px) 0}
.bpv-pool-page-cta-layout{display:flex;gap:34px;align-items:center;justify-content:space-between}
.bpv-pool-page-cta .kicker{margin-bottom:14px;color:#5b81a0}
.bpv-pool-page-cta h2{font-family:var(--bpv-heading-font);font-size:clamp(31px,4vw,52px);font-weight:420;color:#1a5686;margin:0 0 12px;line-height:1.08;letter-spacing:-.04em}
.bpv-pool-page-cta p{color:#657e90;font-size:16px;line-height:1.7;margin:0;max-width:650px}
.bpv-pool-page-cta .button-primary{flex-shrink:0;background:#1a5686;border-color:#1a5686}

@media(max-width:1100px){
  .bpv-pool-highlights-grid,.bpv-pool-rules-content{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .bpv-pool-page-intro-grid,.bpv-pool-rules-layout,.bpv-pool-highlights-grid{grid-template-columns:1fr;gap:28px}
  .bpv-pool-rules-content{grid-template-columns:1fr}
  .bpv-pool-detail-image{aspect-ratio:1.45 / 1}
  .bpv-pool-page-hero-photo{padding-bottom:28px}
}
@media(max-width:600px){
  .bpv-pool-feature-cta{margin-top:22px}
  .bpv-pool-page-intro{padding:88px 0 42px}
  .bpv-pool-page-lead h1{font-size:clamp(46px,11vw,66px)}
  .bpv-pool-page-summary p,.bpv-pool-page-subtitle,.bpv-pool-rules-head p,.bpv-pool-info-card p{font-size:16px}
  .bpv-pool-detail-image{aspect-ratio:1.14 / 1;border-radius:14px}
  .bpv-pool-info-card{padding:24px 22px}
  .bpv-pool-page-cta-layout{flex-direction:column;align-items:flex-start}
  .bpv-pool-page-cta .button-primary{align-self:flex-start}
}


/* SOURCE: stay-guide.css */
/* Borgo Punta Villa 3.9.11 – arrival guide, self-contained responsive editorial layout. */
#bpv-stay-guide{color:#19384d;background:#f7fafe;overflow:clip}
#bpv-stay-guide .kicker{font-size:12px;letter-spacing:.19em;color:#6791ad;font-weight:500}
.bpv-stay-hero{padding:clamp(100px,9vw,145px) 0 clamp(76px,8vw,105px);background:#f7fafe}
.bpv-stay-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:50px;align-items:end}
.bpv-stay-hero h1{font-family:var(--bpv-heading-font);font-weight:410;font-size:clamp(58px,7.5vw,112px);line-height:1.04;letter-spacing:-.064em;max-width:950px;margin:22px 0 28px;color:#173f62}
.bpv-stay-hero-lead{font-family:var(--bpv-body-font);font-size:clamp(19px,1.75vw,24px);line-height:1.58;max-width:760px;color:#58778e}
.bpv-stay-hero-graphic{display:flex;gap:12px;align-items:center;color:#85aac4;font-size:12px;letter-spacing:.16em;padding-bottom:10px}
.bpv-stay-hero-graphic i{width:72px;height:1px;background:#9db9cd}
.bpv-stay-journey{padding:40px 0 55px;background:#eaf3fa}
.bpv-stay-journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:22px}
.bpv-stay-journey-step{display:flex;gap:15px;align-items:center;min-width:0;border-top:1px solid #bfd4e3;padding-top:22px}
.bpv-stay-step-index{font-size:12px;letter-spacing:.14em;color:#7ba1bc}
.bpv-stay-journey-step strong{font-size:clamp(17px,2vw,23px);font-family:var(--bpv-heading-font);font-weight:440;letter-spacing:-.035em;color:#1b5685}
.bpv-stay-chapter{padding:clamp(85px,9vw,135px) 0}
.bpv-stay-chapter--light{background:#fff}
.bpv-stay-chapter--sea{background:#e9f3fa}
.bpv-stay-chapter--local{background:#fff}
.bpv-stay-chapter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(48px,8vw,115px);align-items:center}
.bpv-stay-chapter-grid--image-first{grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
.bpv-stay-copy h2{font-family:var(--bpv-heading-font);font-weight:420;font-size:clamp(44px,5.5vw,78px);line-height:1.08;letter-spacing:-.058em;color:#1b4769;margin:21px 0 23px;max-width:640px}
.bpv-stay-chapter-lead{font-size:clamp(17px,1.52vw,21px);color:#557086;line-height:1.76;max-width:610px;margin:0 0 34px}
.bpv-stay-photo{position:relative;min-height:470px;height:100%;margin:0;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#eaf4fb,#b7d1e3);isolation:isolate}
.bpv-stay-photo--landscape{min-height:530px}
.bpv-stay-photo img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;object-position:center;transition:transform 1.1s ease}
.bpv-stay-photo:hover img{transform:scale(1.03)}
.bpv-stay-photo-placeholder{min-height:470px;display:grid;place-items:center;color:#6c99b5;font-family:var(--bpv-heading-font);font-size:15px;letter-spacing:.18em;text-align:center;padding:20px}
.bpv-stay-infolist{border-top:1px solid #dbe6ee}
.bpv-stay-infolist article{padding:24px 0;border-bottom:1px solid #dbe6ee}
.bpv-stay-infolist h3,.bpv-stay-practical-card h3{font-family:var(--bpv-heading-font);font-weight:480;font-size:23px;letter-spacing:-.035em;margin:0 0 11px;color:#1b5685}
.bpv-stay-infolist p,.bpv-stay-practical-card p{font-size:15px;line-height:1.78;margin:0 0 15px;color:#5b7080}
.bpv-stay-infolist a,.bpv-stay-text-link,.bpv-stay-practical-card a{color:#1b5685;font-weight:550;text-decoration:none;border-bottom:1px solid #8ab2cc;padding-bottom:3px;transition:border-color .2s,color .2s}
.bpv-stay-infolist a:hover,.bpv-stay-text-link:hover,.bpv-stay-practical-card a:hover{color:#2876ab;border-color:#2876ab}
.bpv-stay-meta{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#7894a8;margin:16px 0 10px}
.bpv-stay-phone-links{display:flex;gap:13px 26px;flex-wrap:wrap}
.bpv-stay-ferry-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:26px 0}
.bpv-stay-ferry-links a{display:inline-flex;align-items:center;color:#fff;background:#1a5686;padding:15px 23px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:550;transition:transform .28s,background .28s}
.bpv-stay-ferry-links a:hover{background:#2876ab;transform:translateY(-2px)}
.bpv-stay-ferry-links a:nth-child(2){color:#1a5686;background:#fff;border:1px solid #adc8db}
.bpv-stay-ferry-links a:nth-child(2):hover{background:#f4f9fd}
.bpv-stay-note{border-left:2px solid #9fbfd3;padding:3px 0 3px 16px;font-size:14px!important;line-height:1.73;color:#687e90;margin:20px 0 30px}
.bpv-stay-taxi-card{padding:22px 24px;border:1px solid #dae7f0;border-radius:16px;background:#f8fbfe;margin:24px 0}
.bpv-stay-taxi-card .bpv-stay-meta{margin:0 0 12px}
.bpv-stay-taxi-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e3edf4}
.bpv-stay-taxi-row:last-child{border-bottom:0}
.bpv-stay-taxi-row a{color:#1b5685;text-decoration:none;font-size:14px}
.bpv-stay-taxi-row a:hover{text-decoration:underline}
.bpv-stay-practical{background:#f7fafe;padding:clamp(82px,9vw,128px) 0}
.bpv-stay-practical-heading{max-width:760px;margin:0 0 48px}
.bpv-stay-practical-heading h2,.bpv-stay-closing h2{font-family:var(--bpv-heading-font);font-weight:420;font-size:clamp(43px,5.3vw,73px);letter-spacing:-.06em;line-height:1.08;margin:19px 0 19px;color:#1b4769}
.bpv-stay-practical-heading p{color:#647f93;font-size:17px;line-height:1.7;margin:0}
.bpv-stay-practical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bpv-stay-practical-card{background:#fff;border:1px solid #dce8ef;border-radius:18px;padding:28px 23px;min-height:245px}
.bpv-stay-practical-index{display:block;font-size:12px;letter-spacing:.12em;color:#90b1c6;margin-bottom:23px}
.bpv-stay-practical-card h3{font-size:21px}
.bpv-stay-practical-card p{margin:0 0 15px;font-size:14px}
.bpv-stay-practical-card a{font-size:13px}
.bpv-stay-closing{background:#e8f3fa;padding:clamp(70px,8vw,105px) 0}
.bpv-stay-closing-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.52fr);gap:clamp(35px,7vw,100px);align-items:center}
.bpv-stay-closing h2{margin-bottom:0}
.bpv-stay-closing p{font-size:18px;line-height:1.65;color:#5b788e;margin:0 0 25px}
.bpv-stay-closing .button-primary{background:#1a5686;border-color:#1a5686}
@media(min-width:1021px){.desktop-menu{gap:clamp(9px,1.12vw,19px)!important;font-size:clamp(11px,.86vw,13px)!important}.nav{gap:18px}.official-logo{max-width:145px}}
@media(min-width:1021px) and (max-width:1190px){.desktop-menu{gap:8px!important;font-size:11px!important}.official-logo{max-width:118px}}
@media(max-width:900px){.bpv-stay-chapter-grid,.bpv-stay-chapter-grid--image-first{grid-template-columns:1fr;gap:35px}.bpv-stay-chapter-grid--image-first .bpv-stay-copy{order:0}.bpv-stay-chapter-grid--image-first .bpv-stay-photo{order:1}.bpv-stay-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv-stay-photo,.bpv-stay-photo img,.bpv-stay-photo-placeholder{min-height:350px}}
@media(max-width:680px){.bpv-stay-hero{padding:96px 0 66px}.bpv-stay-hero-grid{grid-template-columns:1fr;gap:15px}.bpv-stay-hero-graphic{display:none}.bpv-stay-hero h1{font-size:clamp(50px,11vw,69px)}.bpv-stay-journey-grid{grid-template-columns:1fr 1fr;gap:20px}.bpv-stay-journey-step strong{font-size:18px}.bpv-stay-chapter{padding:75px 0}.bpv-stay-copy h2{font-size:clamp(42px,10vw,60px)}.bpv-stay-hero-lead{font-size:18px}.bpv-stay-practical-grid{grid-template-columns:1fr}.bpv-stay-practical-card{min-height:0}.bpv-stay-photo,.bpv-stay-photo img,.bpv-stay-photo-placeholder{min-height:310px}.bpv-stay-photo{border-radius:13px}.bpv-stay-closing-grid{grid-template-columns:1fr}.bpv-stay-journey{padding:30px 0 40px}}
@media(prefers-reduced-motion:reduce){.bpv-stay-photo img{transition:none}}

/* V3.9.12 — Only two headings: avoid clipping the descenders (g, j, p, q, y).
   The scroll reveal retains its opacity and translation, but no longer crops
   the fully visible glyphs. Line heights, margins and fonts remain unchanged. */
@media (prefers-reduced-motion: no-preference) {
  .bpv-motion-on .bpv-stay-hero h1.bpv-reveal,
  .bpv-motion-on .bpv-pool-page-cta h2.bpv-reveal {
    clip-path: none !important;
    overflow: visible !important;
  }
}

.bpv-stay-taxi-row > span{color:#1b5685;font-size:14px}

/* Quote date constraints – V3.9.13 */
.bpv-quote-dates-hint{font-size:13px;line-height:1.5;color:#648096;margin-top:-5px}
.bpv-quote-dates-hint.bpv-quote-dates-error,.bpv-quote-error{color:#963b41}
.bpv-quote-error{background:#fff5f5;border:1px solid #e9c4c7;border-radius:12px;padding:13px 16px;margin-bottom:18px;font-size:15px;line-height:1.5}


/* SOURCE: atelier-v6.css */
/* ATELIER MEDITERRANEO · v6.0.0 · visual system, accessible interactions. */
:root{--navy:#263a3a;--navy-deep:#182d2e;--bpv-accent:#bc8063;--bpv-accent-bright:#efcab0;--ink:#263a3a;--paper:#f5f2ea;--white:#fffefb;--blue-soft:#eeeee7;--muted:#66716d;--line:#e4e1d8;--radius:4px;--font:'Inter','Helvetica Neue',Arial,sans-serif;--serif:'Cormorant Garamond','Iowan Old Style','Baskerville',Georgia,serif;--a-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:75px}
body{background:var(--paper);font-family:var(--font);color:var(--ink);font-weight:400;letter-spacing:-.009em}
h1,h2,h3,.page-hero h1,.apartment-title h1,.archive-section h3,.card h3,.quote-card h2,.bpv-photo-page h1,.bpv-photo-page h2,.bpv-residence h1,.bpv-residence h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.03}
p{line-height:1.7}a,button{-webkit-tap-highlight-color:transparent}
::selection{background:#d5ad90;color:#182d2e}
.container{width:min(1340px,calc(100% - 92px))}
.kicker{color:var(--bpv-accent);letter-spacing:.17em;font-weight:600}
/* Unified navigation and footer, without removing existing language or menu routes. */
.site-header{background:#fffdf8f2;border-bottom:1px solid rgba(38,58,58,.11);backdrop-filter:blur(22px)}
.site-header .nav{min-height:82px;gap:20px}
.site-header .official-logo{width:135px}
.site-header .desktop-menu{gap:clamp(11px,1.15vw,19px);font-size:11px;letter-spacing:.005em;font-weight:540}
.site-header .desktop-menu>a:not(.button-primary){padding:29px 0;color:var(--ink)}
.site-header .desktop-menu>a:not(.button-primary):after{bottom:22px;background:var(--bpv-accent)}
.site-header .desktop-menu .button-primary.mini{border-radius:2px;background:var(--navy);border-color:var(--navy);color:#fff;font-size:11px;min-height:40px}
.site-header.bpv-header-over-hero{background:linear-gradient(to bottom,rgba(16,28,25,.55),rgba(16,28,25,.03));border-bottom-color:rgba(255,255,255,.16)}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu>a:not(.button-primary){color:white}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu .button-primary.mini{background:rgba(255,255,255,.93);color:#263a3a;border-color:transparent}
.site-header.bpv-header-over-hero.bpv-header-scrolled,.site-header.bpv-header-over-hero.bpv-header-menu-open{background:rgba(255,253,248,.97);border-bottom-color:var(--line)}
.site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu .button-primary.mini,.site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu .button-primary.mini{background:var(--navy);color:#fff}
.site-header .mobile-menu{background:#f9f6ef;color:var(--ink);box-shadow:0 25px 35px rgba(0,0,0,.1);max-height:calc(100dvh - 78px);overflow-y:auto}
.mobile-menu a{border-bottom:1px solid var(--line);padding:12px 0}
.site-header .menu-toggle{color:var(--ink)}
.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .menu-toggle{color:white}
.site-footer{background:#1c302f;color:#f3f0e8;padding:85px 0 25px}
.site-footer strong{color:#f3f0e8;font-size:11px;font-weight:600}
.site-footer p{color:#d5d5c8;line-height:1.9}
.site-footer a{color:#e7e5dc}
.site-footer a:hover{color:#ddb194}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.13)}
/* Editorial tokens */
.a-section{padding:clamp(90px,10vw,170px) 0}
.a-section-index{font-size:11px;font-weight:550;letter-spacing:.21em;text-transform:uppercase;color:#9c725c;line-height:1.4}
.a-heading,.a-display{font-family:var(--serif);font-weight:500;letter-spacing:-.043em;line-height:.96;margin:0}
.a-heading em,.a-display em{font-style:italic;font-weight:400}
.a-heading{font-size:clamp(56px,6.6vw,111px)}
.a-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:57px;padding:0 27px;text-transform:uppercase;font-size:11px;letter-spacing:.115em;font-weight:650;white-space:normal;border:1px solid transparent;border-radius:2px;transition:transform .35s var(--a-ease),background .35s,color .35s,border-color .35s}
.a-button:hover{transform:translateY(-3px)}
.a-button-white{background:#faf9f3;color:#243735;border-color:#faf9f3}
.a-button-white:hover{background:#e4d9c8;color:#1e3030}
.a-button-outline{border-color:#556b63;color:var(--ink);background:transparent}
.a-button-outline:hover{background:var(--ink);color:white}
.a-button-text{color:white;min-height:47px;background:transparent;padding:0 2px;border-bottom:1px solid rgba(255,255,255,.62);border-radius:0}
.a-inline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;color:var(--navy);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:660;border-bottom:1px solid #8f988e;padding:0 0 12px;max-width:100%;transition:gap .25s var(--a-ease),color .25s}
.a-inline-link:hover{gap:55px;color:var(--bpv-accent)}
.a-inline-light{color:white;border-bottom-color:#d1c9b8}
/* Hero: real project photo, contextual crop, careful vignette. */
.a-hero{position:relative;min-height:min(920px,100svh);min-height:max(740px,100svh);display:flex;align-items:end;isolation:isolate;background:#304444;color:#fff;padding:160px 0 105px;overflow:hidden}
.a-hero-photo,.a-hero-overlay{position:absolute;inset:0;z-index:-2;overflow:hidden}
.a-hero-photo picture{display:block;width:100%;height:100%}
.a-hero-photo .a-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:saturate(.94) contrast(.97);animation:a-hero-enter 2s var(--a-ease) both}
.a-hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(16,30,29,.75) 0%,rgba(16,30,29,.42) 42%,rgba(16,30,29,.04) 95%),linear-gradient(0deg,rgba(16,30,29,.48) 0%,transparent 43%,rgba(8,23,22,.18) 100%)}
.a-hero-container{padding-bottom:40px}
.a-hero .a-eyebrow{font-size:11px;letter-spacing:.27em;color:#f6e4d1;margin:0 0 26px;font-weight:550}
.a-hero .a-display{font-size:clamp(76px,9.3vw,168px);max-width:1220px;line-height:.82;color:#fff;letter-spacing:-.055em}
.a-hero-summary{max-width:490px;font-size:clamp(15px,1.3vw,18px);line-height:1.55;color:rgba(255,255,255,.89);margin:40px 0 28px;font-weight:360}
.a-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.a-hero-scroll{position:absolute;left:max(46px,calc((100vw - 1340px)/2));bottom:26px;font-size:9px;letter-spacing:.18em;color:white;display:flex;align-items:center;gap:14px}
.a-hero-scroll span{font-size:20px;line-height:1}
.a-hero-index{position:absolute;right:max(46px,calc((100vw - 1340px)/2));bottom:26px;font-size:11px;letter-spacing:.13em;color:#eee5d6}
@keyframes a-hero-enter{from{transform:scale(1.08);opacity:.2}to{transform:scale(1);opacity:1}}
/* Introduction manifesto */
.a-intro{background:#f5f2ea}
.a-intro-layout{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3.2fr);gap:5vw}
.a-intro .a-heading{font-size:clamp(58px,6.75vw,110px);max-width:1030px}
.a-intro-bottom{display:flex;gap:7vw;align-items:flex-start;justify-content:space-between;max-width:920px;margin:55px 0 0 auto}
.a-intro-bottom p{max-width:540px;color:#5b6b65;font-size:clamp(17px,1.4vw,21px);line-height:1.65}
.a-intro-bottom .a-inline-link{margin-top:12px;flex-shrink:0}
/* Category editorial images */
.a-rooms{background:#fcfaf6}
.a-rooms-title{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3.2fr);gap:5vw;margin-bottom:65px}
.a-rooms-sub{font-size:18px;max-width:480px;line-height:1.65;color:#64716b;margin:28px 0 0}
.a-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.a-category-photo{position:relative;aspect-ratio:3/3.7;overflow:hidden;background:#dad4c9}
.a-category-photo img{height:100%;width:100%;object-fit:cover;transition:transform 1.25s var(--a-ease),filter .7s;filter:saturate(.88)}
.a-category:hover img{transform:scale(1.055);filter:saturate(1)}
.a-category-arrow{position:absolute;top:18px;right:18px;background:#fffdf5e8;color:#263a3a;width:45px;height:45px;display:grid;place-items:center;font-size:20px;transition:background .3s,color .3s}
.a-category:hover .a-category-arrow{background:#263a3a;color:#fff}
.a-category-caption{display:grid;grid-template-columns:37px 1fr;gap:16px;align-items:start;padding:23px 0 18px}
.a-category-caption .a-index-num{font-size:12px;color:#bc8063;padding-top:6px}
.a-category-caption h3{font-size:clamp(32px,3vw,49px);margin:0;font-weight:500}
.a-category-caption p{font-size:14px;color:#637067;margin:9px 0 0}
.a-centered-action{text-align:center;margin-top:54px}
/* Experience */
.a-experience{display:grid;grid-template-columns:55% 45%;min-height:760px;background:#253936;color:#fff}
.a-experience-photo{min-height:690px;overflow:hidden}
.a-experience-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.91)}
.a-experience-copy{padding:clamp(70px,8vw,137px) clamp(45px,7vw,120px);align-self:center}
.a-experience-copy .a-section-index{color:#d8b297;margin-bottom:50px}
.a-experience-copy .a-heading{font-size:clamp(56px,5.1vw,95px);margin:0 0 35px}
.a-experience-copy>p{font-size:17px;line-height:1.7;color:#e0e5dc;max-width:465px}
.a-experience-points{margin:40px 0 40px;padding:0;list-style:none;color:#eee9dc;font-size:13px}
.a-experience-points li{padding:13px 0;border-top:1px solid #67736a;letter-spacing:.015em}
.a-experience-points li:last-child{border-bottom:1px solid #67736a}
/* Archipelago */
.a-island{background:#f0eee7}
.a-island-layout{display:grid;grid-template-columns:44% 56%;gap:7%;align-items:center}
.a-island-copy{padding:45px 0}
.a-island-copy .a-section-index{margin-bottom:70px}
.a-island-copy p{max-width:400px;color:#5f6c66;font-size:18px;margin:36px 0 35px}
.a-island-photo{margin:0;aspect-ratio:4/4.5;overflow:hidden;background:#ddd5c8}
.a-island-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--a-ease)}
.a-island-photo:hover img{transform:scale(1.03)}
/* Gallery */
.a-gallery{background:#fcfaf6}
.a-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:65px}
.a-gallery-head .a-section-index{margin-bottom:35px}
.a-gallery-head .a-inline-link{margin-bottom:15px}
.a-gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:260px 260px;gap:17px}
.a-gallery-item{overflow:hidden;background:#e0d7c8}
.a-gallery-item:first-child{grid-row:1/3}
.a-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--a-ease);filter:saturate(.89)}
.a-gallery-item:hover img{transform:scale(1.05)}
.a-gallery-item:nth-child(n+6){display:none}
/* Reviews no invented scores */
.a-reviews{background:#e9e7dd}
.a-reviews-inner{display:grid;grid-template-columns:1fr 2.7fr;gap:5vw;align-items:start}
.a-reviews .a-heading{grid-column:2;font-size:clamp(62px,6.5vw,106px)}
.a-reviews p{grid-column:2;max-width:540px;color:#5a6a64;font-size:18px;margin:30px 0 0}
.a-reviews .a-inline-link{grid-column:2;width:max-content;margin-top:18px}
/* Closing CTA */
.a-cta{background:#314943;color:#f7f5ee;text-align:center;padding:clamp(115px,13vw,195px) 0}
.a-cta .a-section-index{color:#dfb79a}
.a-cta .a-heading{font-size:clamp(70px,8.6vw,145px);margin:35px auto 25px;max-width:1150px}
.a-cta p{font-size:18px;color:#e5e8df;max-width:500px;margin:0 auto 35px}
/* Editorial standard page, form and room archive */
.page-hero,.apartment-title{background:#eeece4;padding:100px 0 65px}
.page-hero h1,.apartment-title h1{font-size:clamp(59px,7.3vw,108px)}
.page-hero .lead,.apartment-title .lead{color:#637169;line-height:1.55}
.archive-section,.apartment-content,.related-apartments,.bpv-detail-amenities,.gallery-wrap,.quote-page{background:#f9f8f3}
.apartment-archive-cards{gap:36px 20px}
.card{background:transparent;box-shadow:none;border-radius:0}
.card-photo{border-radius:2px;aspect-ratio:1.14/1;background:#ddd7c8}
.card-body{padding:19px 3px 0}
.card-code{color:#b1846c;font-size:10px;letter-spacing:.18em}
.card-topline .meta{color:#69776f;font-size:12px}
.card h3{font-family:var(--serif);font-size:clamp(27px,2.5vw,36px);font-weight:500;letter-spacing:-.02em}
.card .text-link{color:#344c47;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.card:hover img{transform:scale(1.035)}
.a-archive-hero{padding:105px 0 60px}
.a-archive-hero .a-heading{margin:25px 0 30px}
.a-archive-list{padding:20px 0 120px}
.a-filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:22px 0 28px;margin-bottom:52px}
.a-filter{padding:12px 22px;border:1px solid #b6bfb4;border-radius:2px;background:transparent;color:#384d43;cursor:pointer;font-size:12px;font-weight:570;transition:.2s}
.a-filter:hover,.a-filter.is-active{background:#2a433c;color:white;border-color:#2a433c}
.a-apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 20px}
.a-filter-item[hidden]{display:none!important}
.a-no-results{padding:45px 0}
.apartment-title h1{font-family:var(--serif)}
.apartment-pills{color:#66736c}
.gallery-grid.apartment-gallery-grid{max-height:1040px;overflow:hidden}
.gallery-item{border-radius:2px;overflow:hidden}
.apartment-gallery-grid .gallery-item img{max-height:570px;object-fit:cover}
.quote-card{background:#eeeae0;border-color:#e2ddd2;border-radius:2px}
.quote-card h2{font-size:clamp(36px,3vw,52px)}
.bpv-detail-amenities,.apartment-content{color:var(--ink)}
.bpv-quote-step{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#bpv-quote-form{display:block}
#bpv-quote-form .bpv-quote-step[hidden]{display:none!important}
#bpv-quote-form .field.full{grid-column:1/-1}
.bpv-form input:not([type=checkbox]),.bpv-form select,.bpv-form textarea{width:100%;border:1px solid #c4cac1;border-radius:2px;background:#fffefb;padding:13px 15px;color:#263a3a;min-height:46px}
.bpv-form .button-primary,.button-primary,.button-outline.dark{border-radius:2px;background:#2c4641;border-color:#2c4641;color:#fff;box-shadow:none}
.bpv-form .button-primary:hover,.button-primary:hover{background:#203934;border-color:#203934;box-shadow:none}
.a-back-button{border:0;background:none;padding:13px 0;color:#344b42;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.bpv-step-next .button-primary{width:100%}
.quote-page-grid{align-items:start}
.quote-form-card{border-radius:3px;background:#f4f2eb}
/* Minimal editor-specific fixes, leave native WPBakery rows editable. */
.bpv-wpbakery-home{overflow:hidden}
.bpv-wpbakery-home .vc_row{margin-left:0;margin-right:0}
.bpv-wpbakery-home .bpv-a-vc-row{width:100%;margin:0;padding:0}
.bpv-wpbakery-home .bpv-a-vc-row > .vc_column_container > .vc_column-inner{padding:0}
.bpv-wpbakery-home .bpv-a-vc-row .wpb_wrapper{margin:0;padding:0}
.bpv-wpbakery-home .bpv-a-vc-row .wpb_wrapper > *{margin-bottom:0}
.bpv-wpbakery-home>.a-hero{width:100%}
/* Subtle scroll animation: only hide after JavaScript marks ready. */
.a-js [data-a-reveal]{opacity:0;transform:translate3d(0,35px,0);transition:opacity .8s var(--a-ease),transform .95s var(--a-ease)}
.a-js [data-a-reveal].a-visible{opacity:1;transform:translate3d(0,0,0)}
.a-js .a-category:nth-child(2){transition-delay:.12s}
.a-js .a-category:nth-child(3){transition-delay:.24s}
/* high specificity overrides for old gradients and rounded corners */
.bpv-residence,.bpv-photo-page,.ferry-page,.pet-friendly-section,.discover-section{background:#faf8f2}
.bpv-photo-grid .bpv-photo-tile,.bpv-photo-hero-image{border-radius:2px}
.bpv-photo-grid img{filter:saturate(.9)}
:focus-visible{outline:2px solid #bd865e;outline-offset:4px}
@media (max-width:1320px){.site-header .desktop-menu{display:none!important}.site-header .menu-toggle{display:flex!important;align-items:center;gap:12px}.site-header .nav{min-height:77px}.a-experience-copy{padding:75px 6vw}}
@media (max-width:1060px){.container{width:min(100% - 48px,1340px)}.a-intro-layout,.a-rooms-title{grid-template-columns:1fr;gap:26px}.a-rooms-title{margin-bottom:50px}.a-hero{min-height:810px}.a-experience{grid-template-columns:1fr 1fr;min-height:650px}.a-experience-photo{min-height:650px}.a-experience-copy{padding:65px 30px}.a-reviews-inner{grid-template-columns:1fr 2fr}.a-island-layout{gap:5%}}
@media (max-width:760px){
 .container{width:calc(100% - 36px)}
 .site-header .nav{min-height:72px}.site-header .official-logo{width:116px}
 .a-section{padding:85px 0}
 .a-hero{min-height:760px;min-height:100svh;align-items:end;padding:115px 0 106px}
 .a-hero .a-hero-img{object-position:58% center}
 .a-hero-overlay{background:linear-gradient(0deg,rgba(12,30,28,.8) 0%,rgba(12,30,28,.35) 48%,rgba(12,30,28,.12) 100%)}
 .a-hero .a-display{font-size:clamp(66px,13.5vw,105px);line-height:.84;letter-spacing:-.05em}
 .a-hero-container{padding-bottom:0}
 .a-hero-summary{font-size:15px;margin:30px 0 22px;max-width:420px}
 .a-hero-actions{align-items:stretch;gap:12px}
 .a-hero-actions .a-button{width:auto;min-height:52px}
 .a-hero-actions .a-button-text{border-bottom:0;text-decoration:underline}
 .a-hero-scroll{left:18px;bottom:24px}
 .a-hero-index{right:18px;bottom:24px}
 .a-heading{font-size:clamp(56px,13vw,85px)}
 .a-intro .a-heading{font-size:clamp(58px,12vw,88px)}
 .a-intro-bottom{margin:30px 0 0;display:block}
 .a-intro-bottom p{font-size:17px;margin-bottom:28px}
 .a-category-grid{grid-template-columns:1fr 1fr;gap:12px}
 .a-category:last-child{grid-column:1/-1}
 .a-category-photo{aspect-ratio:3/4}
 .a-category:last-child .a-category-photo{aspect-ratio:4/2.7}
 .a-category-caption{display:block}
 .a-category-caption h3{font-size:34px}
 .a-category-caption .a-index-num{display:none}
 .a-category-caption p{font-size:13px}
 .a-experience{grid-template-columns:1fr}
 .a-experience-photo{min-height:440px;max-height:540px}
 .a-experience-copy{padding:70px 24px 90px}
 .a-experience-copy .a-section-index{margin-bottom:32px}
 .a-experience-copy .a-heading{font-size:73px}
 .a-island-layout{grid-template-columns:1fr;gap:44px}
 .a-island-copy{padding:0}
 .a-island-copy .a-section-index{margin-bottom:35px}
 .a-island-photo{aspect-ratio:3/3.3}
 .a-gallery-head{align-items:start;display:block;margin-bottom:32px}
 .a-gallery-head .a-inline-link{margin-top:23px}
 .a-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px;gap:10px}
 .a-gallery-item:first-child{grid-row:span 2}
 .a-gallery-item:nth-child(n+4){display:none}
 .a-reviews-inner{display:block}
 .a-reviews .a-heading{margin-top:25px}
 .a-reviews p{margin:22px 0}
 .a-cta .a-heading{font-size:clamp(70px,13vw,105px)}
 .a-archive-list{padding-bottom:90px}
 .a-apartment-grid{grid-template-columns:1fr 1fr;gap:35px 15px}
 .a-filters{margin-bottom:35px}
 .a-filter{padding:10px 14px}
 .quote-page-grid{display:block}
 .quote-page-intro{margin-bottom:35px}
 }
@media (max-width:480px){
 .a-hero .a-display{font-size:clamp(57px,14.5vw,75px)}
 .a-hero .a-eyebrow{font-size:10px;margin-bottom:25px}
 .a-hero-actions .a-button{font-size:10px;padding:0 17px;gap:14px}
 .a-heading,.a-intro .a-heading{font-size:clamp(53px,12vw,70px)}
 .a-category-grid{display:block}
 .a-category{display:block;margin-bottom:26px}
 .a-category .a-category-photo{aspect-ratio:4/3.5}
 .a-category:last-child .a-category-photo{aspect-ratio:4/3.5}
 .a-experience-copy .a-heading{font-size:65px}
 .a-apartment-grid{grid-template-columns:1fr}
 .a-gallery-grid{grid-template-rows:190px 190px}
 .bpv-quote-step{grid-template-columns:1fr}
 .a-reviews .a-heading{font-size:64px}
 }
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.a-hero-photo .a-hero-img{animation:none}.a-js [data-a-reveal]{opacity:1;transform:none;transition:none!important}.a-category-photo img,.a-island-photo img,.a-gallery-item img,.a-button,.a-inline-link{transition:none!important}}


/* SOURCE: bpv-original-identity-v61.css */
/* Borgo Punta Villa 6.1 — Atelier layout V6, original identity V3.9.14.
 * Deliberately enqueued AFTER Atelier 6.0: no template demolition, no new palette.
 * Typography: Manrope (headings), DM Sans (text), Instrument Serif (only <em> accents).
 */
:root{
  --navy:#083068;--navy-deep:#061d3f;--bpv-accent:#1a5686;--bpv-accent-bright:#afcde5;
  --ink:#101820;--paper:#f7f8fa;--white:#fff;--blue-soft:#eef3f8;
  --muted:#68727c;--line:#e5e9ed;--radius:18px;
  --font:'DM Sans','SF Pro Text','Helvetica Neue',Arial,sans-serif;
  --serif:'Manrope','Avenir Next','SF Pro Display',sans-serif;
  --bpv-heading-font:'Manrope','Avenir Next','SF Pro Display',sans-serif;
  --bpv-body-font:'DM Sans','SF Pro Text','Helvetica Neue',Arial,sans-serif;
}
body{font-family:var(--bpv-body-font);background:#fcfdff;color:var(--ink);font-weight:400;letter-spacing:0}
h1,h2,h3,h4,.a-heading,.a-display,.a-category-caption h3,.card h3,.quote-card h2,
.page-hero h1,.apartment-title h1,.apartment-title h2,.bpv-residence h1,.bpv-residence h2,.bpv-photo-page h1,.bpv-photo-page h2{
  font-family:var(--bpv-heading-font)!important;font-weight:450;letter-spacing:-.055em;line-height:1.07;
}
.a-heading em,.a-display em,.a-pet .a-heading em{
  font-family:'Instrument Serif',Georgia,'Times New Roman',serif!important;
  font-style:italic;font-weight:400;letter-spacing:-.029em;font-size:1.095em;
  line-height:.99;padding-inline-end:.04em;display:inline-block;
}
.a-section-index,.kicker{color:#1a5686;letter-spacing:.16em;font-weight:550}
::selection{background:#c9dfef;color:#061d3f}
.container{width:min(1320px,calc(100% - 88px))}
/* Original light navigation, coherent with the 3.9.14 design. */
.site-header,.site-header.bpv-header-over-hero.bpv-header-scrolled,
.site-header.bpv-header-over-hero.bpv-header-menu-open{background:rgba(255,255,255,.965);border-bottom:1px solid rgba(8,48,104,.10)}
.site-header .nav{min-height:84px}
.site-header .desktop-menu,.site-header .mobile-menu{font-family:var(--bpv-body-font)}
.site-header .desktop-menu>a:not(.button-primary){color:#26323d}
.site-header .desktop-menu>a:not(.button-primary):after{background:#1a5686}
.site-header .desktop-menu .button-primary.mini,.site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu .button-primary.mini,
.site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu .button-primary.mini{
  border-radius:999px;background:#083068;border-color:#083068;color:#fff
}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open){
  background:linear-gradient(to bottom,rgba(4,24,54,.55),rgba(4,24,54,.025));border-bottom-color:rgba(255,255,255,.17)
}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu>a:not(.button-primary){color:#fff}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu .button-primary.mini{color:#083068;background:#fff;border-color:#fff}
.site-header .mobile-menu{background:#fff;color:#101820}
.site-header .menu-toggle{color:#083068}
.site-footer{background:#061d3f;color:#f7fafe}
.site-footer strong,.site-footer p,.site-footer a{color:#f2f7fa}
.site-footer a:hover{color:#b6d6ef}
/* Restore a distinctly contemporary sans-serif hierarchy, with restrained italic accents. */
.a-heading{font-size:clamp(50px,6vw,103px)}
.a-display{line-height:.97}
.a-section{padding:clamp(94px,10vw,154px) 0}
.a-button{font-family:var(--bpv-body-font);border-radius:999px;letter-spacing:.075em;font-weight:650}
.a-button-white{background:#fff;color:#083068;border-color:#fff}
.a-button-white:hover{background:#e9f3fa;color:#061d3f}
.a-button-outline{border:1px solid #8aa9c6;color:#083068;background:transparent}
.a-button-outline:hover{background:#083068;border-color:#083068;color:#fff}
.a-button-text{color:#fff;border-radius:0;border-bottom-color:rgba(255,255,255,.66)}
.a-inline-link{color:#083068;border-bottom-color:#afc4d8}
.a-inline-link:hover{color:#1a5686}
.a-inline-light{color:#fff;border-bottom-color:rgba(255,255,255,.68)}
/* Large, cinematic Hero from V6, with the original cooler color grading. */
.a-hero{background:#153958;padding-bottom:clamp(110px,11vh,148px)}
.a-hero-photo .a-hero-img{filter:saturate(.98) contrast(1.015)}
.a-hero-overlay{background:linear-gradient(90deg,rgba(3,24,51,.79) 0%,rgba(4,37,74,.50) 51%,rgba(5,32,70,.08) 100%),linear-gradient(0deg,rgba(4,25,54,.39),transparent 48%,rgba(0,22,50,.18))}
.a-hero .a-eyebrow{color:#d4eafa;font-weight:500}
.a-hero .a-display{font-size:clamp(70px,8.7vw,151px);line-height:.96;letter-spacing:-.07em;max-width:1230px}
.a-hero .a-display em{font-size:1.03;letter-spacing:-.03em;white-space:normal}
.a-hero-summary{font-size:clamp(16px,1.3vw,19px);font-weight:400;line-height:1.6}
.a-hero-scroll,.a-hero-index{color:#f5f9fd}
/* Homepage follows V6's strong white and pale-blue chapter rhythm. */
.a-intro{background:#fff}
.a-intro .a-heading{font-size:clamp(53px,6vw,105px)}
.a-intro-bottom p{color:#58728a}
.a-rooms{background:#f5f9fd}
.a-rooms-sub,.a-category-caption p{color:#60798d}
.a-category-photo{background:#e1ecf5;border-radius:14px}
.a-category-photo img{filter:saturate(.98)}
.a-category:hover .a-category-photo img{filter:saturate(1.04)}
.a-category-arrow{background:rgba(255,255,255,.94);color:#083068;border-radius:50%}
.a-category:hover .a-category-arrow{background:#083068;color:#fff}
.a-category-caption .a-index-num{color:#1a5686}
.a-category-caption h3{font-size:clamp(28px,2.9vw,44px)}
.a-experience{background:#083068;color:#fff}
.a-experience-photo img{filter:saturate(1.01)}
.a-experience-copy .a-section-index{color:#a8d4f2}
.a-experience-copy>p{color:#e0ecf7}
.a-experience-points{color:#eff7ff}
.a-experience-points li{border-color:rgba(222,238,253,.25)}
/* Restored dedicated pet-friendly section from 3.9.14, in V6's split editorial proportions. */
.a-pet{background:#fff}
.a-pet-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:clamp(50px,6vw,112px);align-items:center}
.a-pet-visual{position:relative;min-width:0;overflow:hidden;border-radius:16px;min-height:clamp(480px,65svh,720px);background:#dceaf4}
.a-pet-visual img{width:100%;height:100%;min-height:clamp(480px,65svh,720px);object-fit:cover;transition:transform 1.05s var(--a-ease)}
.a-pet-visual:hover img{transform:scale(1.028)}
.a-pet-stamp{position:absolute;bottom:20px;left:22px;background:rgba(255,255,255,.95);color:#083068;letter-spacing:.14em;font-size:10px;font-weight:700;padding:12px 18px;border-radius:999px}
.a-pet-copy .a-heading{margin:36px 0 30px;font-size:clamp(50px,5.2vw,88px)}
.a-pet-lead{max-width:590px;font-size:clamp(18px,1.45vw,22px);line-height:1.6;color:#3f607d;margin:0 0 19px}
.a-pet-note{max-width:540px;font-size:15px;line-height:1.75;color:#687e91;margin:0 0 36px}
.a-island{background:#f1f6fa}
.a-island-copy p{color:#5e7386}
.a-island-photo{border-radius:16px;background:#dae7f1}
.a-gallery{background:#fff}
.a-gallery-item{border-radius:12px;background:#e3edf6}
.a-gallery-item img{filter:saturate(1)}
.a-reviews{background:#edf4f9}
.a-reviews p{color:#597186}
/* V6 closing conversion section: keep large type and high contrast, restore deep BORGO navy. */
.a-cta{background:#061d3f;color:#fff;min-height:100svh;display:flex;align-items:center;padding:110px 0}
.a-cta .a-cta-inner{width:100%}
.a-cta .a-section-index{color:#a8cde9}
.a-cta .a-heading{color:#fff;font-size:clamp(59px,7.9vw,139px);max-width:1150px;margin:31px auto 28px}
.a-cta .a-heading em{color:#c3e1f6}
.a-cta p{color:#deebf8;font-size:clamp(17px,1.5vw,20px);line-height:1.7;max-width:570px;margin:0 auto 36px}
.a-cta .a-button{background:#fff;color:#083068}
.a-cta .a-button:hover{background:#e7f3fc;color:#061d3f}
/* Consistent secondary pages, catalogs and the existing quote form. */
.page-hero,.apartment-title{background:#eef4f9}
.page-hero .lead,.apartment-title .lead,.apartment-pills{color:#5b7890}
.archive-section,.apartment-content,.related-apartments,.bpv-detail-amenities,.gallery-wrap,.quote-page{background:#fcfdff}
.card-photo{background:#e8f0f7;border-radius:15px}
.card-code{color:#1a5686}
.card .text-link{color:#083068}
.card-topline .meta{color:#68727c}
.a-archive-hero .a-heading{font-size:clamp(51px,6.1vw,105px)}
.a-filters{border-color:#dfeaf3}
.a-filter{border:1px solid #b4c9d9;background:#fff;color:#083068;border-radius:999px}
.a-filter:hover,.a-filter.is-active{background:#083068;color:#fff;border-color:#083068}
.quote-card{background:#f2f7fb;border-color:#e0eaf3;border-radius:18px}
.quote-form-card{background:#f2f7fb;border-radius:18px}
.bpv-form input:not([type=checkbox]),.bpv-form select,.bpv-form textarea{border:1px solid #c8d9e8;border-radius:10px;background:#fff;color:#101820}
.bpv-form .button-primary,.button-primary,.button-outline.dark{border-radius:999px;background:#083068;border-color:#083068;color:#fff}
.bpv-form .button-primary:hover,.button-primary:hover{background:#1a5686;border-color:#1a5686}
.a-back-button{color:#083068}
/* Keep old palette on other V6 classes, including subpages with hardcoded values. */
.bpv-residence,.bpv-photo-page,.ferry-page,.pet-friendly-section,.discover-section{background:#fcfdff}
:focus-visible{outline:2px solid #1a5686;outline-offset:4px}
/* Each homepage chapter gently invites a page-to-page motion without wheel hijacking. */
body.bpv-at-home main>.a-section,
body.bpv-at-home main>.a-experience,
body.bpv-at-home main>.a-hero{min-height:100svh;scroll-snap-align:start;scroll-snap-stop:normal}
body.bpv-at-home main>.a-section{display:flex;align-items:center}
body.bpv-at-home main>.a-hero{display:flex}
body.bpv-at-home main>.a-experience{display:grid}
body.bpv-at-home main>.a-rooms .container,body.bpv-at-home main>.a-intro .container,
body.bpv-at-home main>.a-island .container,body.bpv-at-home main>.a-gallery .container,
body.bpv-at-home main>.a-reviews .container{width:min(1320px,calc(100% - 88px))}
html:has(body.bpv-at-home){scroll-snap-type:y proximity;scroll-padding-top:74px}
/* Section navigation is only a guide and never prevents normal scroll. */
.bpv61-stage-nav{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:75;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.bpv61-stage-nav a{display:flex;align-items:center;gap:9px;min-width:28px;min-height:20px;justify-content:flex-end;text-decoration:none}
.bpv61-stage-nav a:after{content:'';display:block;flex:0 0 7px;width:7px;height:7px;border:1px solid #7fa4c4;background:rgba(255,255,255,.9);border-radius:50%;transition:background .25s,transform .25s}
.bpv61-stage-nav a[aria-current=location]:after{background:#1a5686;border-color:#1a5686;transform:scale(1.33)}
.bpv61-stage-nav .bpv61-label{color:#083068;background:rgba(255,255,255,.97);font-family:var(--bpv-body-font);font-size:11px;padding:5px 9px;border:1px solid #dae7f2;border-radius:8px;opacity:0;transition:opacity .2s;pointer-events:none}
.bpv61-stage-nav a:is(:hover,:focus-visible) .bpv61-label{opacity:1}
.bpv61-mobile-progress{position:fixed;top:0;left:0;height:2px;width:var(--bpv61-progress,0%);background:#1a5686;z-index:130;pointer-events:none}
@media(max-width:1300px){.bpv61-stage-nav{display:none}}
@media(max-width:1060px){
  .container,body.bpv-at-home main>.a-rooms .container,body.bpv-at-home main>.a-intro .container,body.bpv-at-home main>.a-island .container,body.bpv-at-home main>.a-gallery .container,body.bpv-at-home main>.a-reviews .container{width:calc(100% - 48px)}
  .a-pet-grid{gap:45px;grid-template-columns:1fr 1fr}
  .a-pet-visual,.a-pet-visual img{min-height:520px}
}
@media(max-width:760px){
  .container,body.bpv-at-home main>.a-rooms .container,body.bpv-at-home main>.a-intro .container,body.bpv-at-home main>.a-island .container,body.bpv-at-home main>.a-gallery .container,body.bpv-at-home main>.a-reviews .container{width:calc(100% - 36px)}
  .site-header .official-logo{width:116px}
  .a-section{padding:85px 0}
  .a-hero{min-height:100svh;padding:125px 0 105px}
  .a-hero-overlay{background:linear-gradient(0deg,rgba(4,27,60,.83),rgba(4,29,62,.43) 49%,rgba(4,27,60,.18))}
  .a-hero .a-display{font-size:clamp(56px,12.5vw,91px);line-height:1.03;letter-spacing:-.07em}
  .a-hero .a-display em{font-size:1.035;line-height:1.045}
  .a-hero-summary{font-size:15px;max-width:400px}
  .a-hero .a-eyebrow{font-size:10px}
  .a-heading,.a-intro .a-heading{font-size:clamp(49px,10.3vw,76px);line-height:1.08}
  .a-category-grid{grid-template-columns:1fr 1fr;gap:14px}
  .a-category:last-child{grid-column:1/-1}
  .a-category-photo{border-radius:13px}
  .a-category-caption h3{font-size:clamp(28px,5vw,37px)}
  .a-experience-copy .a-heading{font-size:clamp(52px,10.6vw,75px)}
  .a-experience-copy{padding:64px 24px 78px}
  .a-pet-grid{display:flex;flex-direction:column;gap:38px}
  .a-pet-visual{width:100%;min-height:clamp(310px,47svh,490px);order:0}
  .a-pet-visual img{min-height:clamp(310px,47svh,490px)}
  .a-pet-copy{width:100%;order:1}
  .a-pet-copy .a-heading{font-size:clamp(50px,10.6vw,73px);margin:18px 0 25px}
  .a-pet-lead{font-size:17px}
  .a-pet-note{font-size:14px}
  .a-reviews .a-heading{font-size:clamp(48px,10vw,73px)}
  .a-cta .a-heading{font-size:clamp(55px,11.2vw,88px);line-height:1.02;margin:25px auto}
  .a-cta{min-height:100svh;padding:100px 0}
  .bpv61-mobile-progress{display:block}
}
@media(max-width:480px){
  .a-hero .a-display{font-size:clamp(49px,12.25vw,65px)}
  .a-hero .a-display em{font-size:1.04}
  .a-hero-actions{gap:9px}
  .a-hero-actions .a-button{font-size:10px;padding:0 17px;min-height:50px}
  .a-heading,.a-intro .a-heading{font-size:clamp(44px,11vw,62px)}
  .a-category-grid{display:block}
  .a-category{display:block;margin-bottom:27px}
  .a-category-photo,.a-category:last-child .a-category-photo{aspect-ratio:4/3.4}
  .a-category-caption h3{font-size:31px}
  .a-experience-copy .a-heading{font-size:57px}
  .a-cta .a-heading{font-size:clamp(50px,11.4vw,72px)}
}
@media(prefers-reduced-motion:reduce){
  html:has(body.bpv-at-home){scroll-snap-type:none;scroll-behavior:auto}
  .a-pet-visual img{transition:none}
  .bpv61-stage-nav a:after{transition:none}
}


/* SOURCE: bpv-interior-v62.css */
/*
  Borgo Punta Villa · Atelier Blu 6.2
  Interior pages only. Homepage V6.1 and the site's original visual identity stay intact.
  Manrope / DM Sans + restrained Instrument Serif Italic, navy #083068/#061d3f.
*/
body.bpv-editorial-interior{
 --bpv62-navy:#083068;--bpv62-deep:#061d3f;--bpv62-azure:#1a5686;
 --bpv62-mist:#f1f6fb;--bpv62-pale:#f7fafe;--bpv62-ink:#101820;
 --bpv62-muted:#5c7285;--bpv62-rule:#dbe5ee;--bpv62-radius:15px;
 --bpv62-ease:cubic-bezier(.18,.78,.22,1);
 color:var(--bpv62-ink);background:#fff;font-family:'DM Sans','Helvetica Neue',Arial,sans-serif;
}
body.bpv-editorial-interior h1,body.bpv-editorial-interior h2,body.bpv-editorial-interior h3,
body.bpv-editorial-interior h4{font-family:'Manrope','Avenir Next',Arial,sans-serif;font-weight:460;letter-spacing:-.061em;line-height:1.08;text-wrap:balance}
body.bpv-editorial-interior h1 em,body.bpv-editorial-interior h2 em,
body.bpv-editorial-interior .bpv62-cta h2 em{
 font-family:'Instrument Serif',Georgia,serif!important;font-style:italic;font-weight:400;letter-spacing:-.025em;
 display:inline-block;line-height:1.03;padding-right:.07em;font-size:1.055em;
}
body.bpv-editorial-interior .kicker{font:600 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.205em;color:var(--bpv62-azure);margin-bottom:22px}
body.bpv-editorial-interior .kicker.light{color:#c8e0f2}
body.bpv-editorial-interior p{line-height:1.73}
body.bpv-editorial-interior main{overflow:clip}
body.bpv-editorial-interior .container{width:min(1320px,calc(100% - 88px))}
/* Consistent micro-interactions, with sufficient contrast and keyboard focus. */
body.bpv-editorial-interior a,body.bpv-editorial-interior button{transition-property:background-color,color,border-color,transform,box-shadow;transition-duration:.28s;transition-timing-function:ease}
body.bpv-editorial-interior :focus-visible{outline:2px solid #4a9bd4;outline-offset:4px}
body.bpv-editorial-interior .button-primary,
body.bpv-editorial-interior .button-outline.dark,
body.bpv-editorial-interior .a-button{border-radius:999px;min-height:54px;padding-inline:25px;font:650 12px 'DM Sans',Arial,sans-serif;letter-spacing:.02em}
body.bpv-editorial-interior .button-primary{background:var(--bpv62-navy);color:white;border-color:var(--bpv62-navy)}
body.bpv-editorial-interior .button-primary:hover{background:var(--bpv62-azure);border-color:var(--bpv62-azure)}
body.bpv-editorial-interior .button-primary.light{color:var(--bpv62-navy);background:#fff;border-color:#fff}
body.bpv-editorial-interior .button-outline.dark{color:var(--bpv62-navy);background:transparent;border-color:#8fabc1}
body.bpv-editorial-interior .button-outline.dark:hover{color:#fff;background:var(--bpv62-navy);border-color:var(--bpv62-navy)}
body.bpv-editorial-interior .section-head h2{font-size:clamp(39px,5.25vw,77px)}
body.bpv-editorial-interior .entry-content{font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.84}
body.bpv-editorial-interior .entry-content h2{font-size:clamp(34px,4.2vw,58px);color:var(--bpv62-navy)}
body.bpv-editorial-interior .entry-content h3{font-size:clamp(24px,3vw,36px);color:var(--bpv62-navy)}
body.bpv-editorial-interior img{object-fit:cover}
body.bpv-editorial-interior figure{margin:0}
/* Section rhythm; do not hijack wheel or lock pages with forms. */
@media(min-width:1100px) and (prefers-reduced-motion:no-preference){
 html:has(body.bpv-editorial-interior){scroll-snap-type:y proximity;scroll-padding-top:84px}
 body.bpv-editorial-interior .bpv-residence-hero,
 body.bpv-editorial-interior .bpv-pool-page-intro,
 body.bpv-editorial-interior .bpv-photo-hero,
 body.bpv-editorial-interior .where-hero,
 body.bpv-editorial-interior .bpv-stay-hero,
 body.bpv-editorial-interior .ferry-hero,
 body.bpv-editorial-interior .places-index-hero,
 body.bpv-editorial-interior .bpv62-cta{scroll-snap-align:start}
}
/* Section eyebrow ornament mirrors the Atelier V6 editorial language. */
body.bpv-editorial-interior .bpv-residence-hero-copy>.kicker:before,
body.bpv-editorial-interior .bpv-photo-hero-copy>.kicker:before,
body.bpv-editorial-interior .bpv-pool-page-lead>.kicker:before,
body.bpv-editorial-interior .where-hero-copy>.kicker:before,
body.bpv-editorial-interior .bpv-stay-hero-copy>.kicker:before,
body.bpv-editorial-interior .ferry-hero .kicker:before,
body.bpv-editorial-interior .quote-page-hero .kicker:before{content:'';display:inline-block;width:35px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px;opacity:.6}
/* A unified split-hero grammar on Residence, Gallery, Location and Stay. */
body.bpv-editorial-interior .bpv-residence-hero,
body.bpv-editorial-interior .bpv-photo-hero,
body.bpv-editorial-interior .where-hero,
body.bpv-editorial-interior .bpv-stay-hero{padding:clamp(85px,9vw,150px) 0;background:var(--bpv62-mist);position:relative}
body.bpv-editorial-interior .bpv-residence-hero-grid,
body.bpv-editorial-interior .bpv-photo-hero-grid,
body.bpv-editorial-interior .where-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(52px,5.3vw,94px);align-items:center}
body.bpv-editorial-interior .bpv-residence-hero-copy h1,
body.bpv-editorial-interior .bpv-photo-hero-copy h1,
body.bpv-editorial-interior .where-hero-copy h1{
 font-size:clamp(56px,6.05vw,103px);line-height:1.04;letter-spacing:-.068em;
 max-width:780px;margin:0 0 29px;color:var(--bpv62-ink)
}
body.bpv-editorial-interior .bpv-residence-hero-copy h1 em,
body.bpv-editorial-interior .bpv-photo-hero-copy h1 em,
body.bpv-editorial-interior .where-hero-copy h1 em{color:var(--bpv62-azure)}
body.bpv-editorial-interior .bpv-residence-hero-copy>p,
body.bpv-editorial-interior .bpv-photo-hero-copy>p,
body.bpv-editorial-interior .where-hero-copy>p{color:var(--bpv62-muted);font-size:clamp(16px,1.44vw,19px);max-width:600px;line-height:1.72}
body.bpv-editorial-interior .bpv-residence-actions,
body.bpv-editorial-interior .where-actions{margin-top:32px;gap:12px}
body.bpv-editorial-interior .bpv-residence-hero-media,
body.bpv-editorial-interior .bpv-photo-hero-image,
body.bpv-editorial-interior .where-hero-photo{
 width:100%;height:min(690px,69vw);min-height:520px;position:relative;overflow:hidden;
 border-radius:var(--bpv62-radius);background:#d6e5f0;box-shadow:0 32px 80px rgba(5,43,79,.1)
}
body.bpv-editorial-interior .bpv-residence-hero-media img,
body.bpv-editorial-interior .bpv-photo-hero-image img,
body.bpv-editorial-interior .where-hero-photo img{
 width:100%;height:100%;min-height:100%;object-fit:cover;transition:transform 1.15s var(--bpv62-ease)
}
body.bpv-editorial-interior .bpv-residence-hero-media:hover img,
body.bpv-editorial-interior .bpv-photo-hero-image:hover img,
body.bpv-editorial-interior .where-hero-photo:hover img{transform:scale(1.032)}
/* Residence: alternating gallery/stories, restrained outlined amenity cards. */
body.bpv-editorial-interior .bpv-residence-story{padding:clamp(105px,12vw,180px) 0;background:#fff}
body.bpv-editorial-interior .bpv-residence-story-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(50px,7vw,125px)}
body.bpv-editorial-interior .bpv-residence-story-photo,
body.bpv-editorial-interior .bpv-residence-gallery-main,
body.bpv-editorial-interior .bpv-residence-gallery-small,
body.bpv-editorial-interior .bpv-residence-island-photo{border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .bpv-residence-story-copy h2,
body.bpv-editorial-interior .bpv-residence-section-head h2,
body.bpv-editorial-interior .bpv-residence-island-copy h2{font-size:clamp(45px,5.4vw,79px);line-height:1.08;letter-spacing:-.061em}
body.bpv-editorial-interior .bpv-residence-story-copy h2{color:var(--bpv62-navy)}
body.bpv-editorial-interior .bpv-residence-story-copy p{color:var(--bpv62-muted);font-size:17px}
body.bpv-editorial-interior .bpv-residence-essentials{background:#f5f9fd;padding:clamp(95px,9vw,145px) 0}
body.bpv-editorial-interior .bpv-residence-section-head{grid-template-columns:180px 1fr;gap:clamp(35px,6vw,100px)}
body.bpv-editorial-interior .bpv-residence-essential{border-radius:var(--bpv62-radius);padding:38px;border:1px solid var(--bpv62-rule);box-shadow:0 20px 55px rgba(8,48,104,.025)}
body.bpv-editorial-interior .bpv-residence-essential h3{font-size:clamp(21px,2vw,28px)}
body.bpv-editorial-interior .bpv-residence-gallery{padding:clamp(95px,9vw,155px) 0}
body.bpv-editorial-interior .bpv-residence-gallery-quote{background:#083068;border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .bpv-residence-island{background:#061d3f}
body.bpv-editorial-interior .bpv-residence-island-copy{padding:clamp(75px,9vw,152px) clamp(35px,7vw,120px)}
body.bpv-editorial-interior .bpv-residence-island-copy p{color:#d9e8f3}
/* Pool: oversized introduction, full-bleed-style image, clear practical rules. */
body.bpv-editorial-interior .bpv-pool-page-intro{padding:clamp(112px,11vw,185px) 0 58px;background:#f2f7fb}
body.bpv-editorial-interior .bpv-pool-page-intro-grid{grid-template-columns:minmax(0,1.23fr) minmax(0,.77fr);gap:clamp(35px,6vw,106px);align-items:center}
body.bpv-editorial-interior .bpv-pool-page-lead h1{font-size:clamp(68px,8.1vw,132px);color:var(--bpv62-ink);line-height:.98;letter-spacing:-.075em}
body.bpv-editorial-interior .bpv-pool-page-subtitle{color:var(--bpv62-azure);font-size:clamp(19px,2vw,26px)}
body.bpv-editorial-interior .bpv-pool-page-summary p{color:var(--bpv62-muted);font-size:17px}
body.bpv-editorial-interior .bpv-pool-page-hero-photo{padding:0 0 65px;background:#f2f7fb}
body.bpv-editorial-interior .bpv-pool-detail-image{aspect-ratio:2.23/1;border-radius:var(--bpv62-radius);box-shadow:none}
body.bpv-editorial-interior .bpv-pool-highlights{background:#f2f7fb;padding-bottom:120px}
body.bpv-editorial-interior .bpv-pool-info-card{box-shadow:none;border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);padding:33px}
body.bpv-editorial-interior .bpv-pool-info-card h3{color:var(--bpv62-navy)}
body.bpv-editorial-interior .bpv-pool-rules{padding:130px 0;background:#fff}
body.bpv-editorial-interior .bpv-pool-rules-head h2{font-size:clamp(47px,5vw,74px)}
body.bpv-editorial-interior .bpv-pool-rule-card{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);background:#f5f9fd}
body.bpv-editorial-interior .bpv-pool-rule-card h3{color:var(--bpv62-navy)}
/* Stay: editorial photo as the final column and an island-inspired step timeline. */
body.bpv-editorial-interior .bpv-stay-hero{background:#f1f6fb;padding:clamp(96px,10vw,152px) 0}
body.bpv-editorial-interior .bpv-stay-hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(45px,6vw,100px);align-items:center}
body.bpv-editorial-interior .bpv-stay-hero h1{font-size:clamp(65px,7.4vw,117px);line-height:1.02;letter-spacing:-.071em;color:var(--bpv62-ink)}
body.bpv-editorial-interior .bpv-stay-hero-lead{font-size:clamp(18px,1.8vw,23px);color:var(--bpv62-muted);line-height:1.65}
body.bpv-editorial-interior .bpv-stay-hero-visual{position:relative;min-height:560px;height:min(67vw,690px);overflow:hidden;background:#dce9f4;border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .bpv-stay-hero-visual>img{width:100%;height:100%;object-fit:cover}
body.bpv-editorial-interior .bpv-stay-hero-art{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#0d3d78,#6f9dbf)}
body.bpv-editorial-interior .bpv-stay-hero-art span{font-size:clamp(74px,10vw,155px);letter-spacing:-.1em;font-weight:750;color:rgba(255,255,255,.25)}
body.bpv-editorial-interior .bpv-stay-hero-graphic{position:absolute;bottom:24px;right:25px;display:flex;gap:12px;color:#fff;background:rgba(6,29,63,.76);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:14px 20px;backdrop-filter:blur(13px)}
body.bpv-editorial-interior .bpv-stay-hero-graphic i{background:#d4e6f4}
body.bpv-editorial-interior .bpv-stay-journey{background:#e9f2fa;padding:54px 0 75px}
body.bpv-editorial-interior .bpv-stay-journey-step{border-color:#b4cadb}
body.bpv-editorial-interior .bpv-stay-chapter{padding:clamp(105px,10vw,157px) 0}
body.bpv-editorial-interior .bpv-stay-chapter--sea{background:#f0f6fb}
body.bpv-editorial-interior .bpv-stay-copy h2{font-size:clamp(47px,5.6vw,81px);color:var(--bpv62-navy)}
body.bpv-editorial-interior .bpv-stay-photo{border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .bpv-stay-practical{padding:135px 0;background:#f5f9fd}
body.bpv-editorial-interior .bpv-stay-practical-heading h2{font-size:clamp(45px,5.1vw,77px)}
body.bpv-editorial-interior .bpv-stay-practical-card{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius)}
/* Gallery: emphasize photos rather than decorative UI or metadata. */
body.bpv-editorial-interior .bpv-photo-hero{padding:120px 0}
body.bpv-editorial-interior .bpv-photo-hero-image{padding:0;border:0;cursor:zoom-in}
body.bpv-editorial-interior .bpv-photo-gallery-section{padding:clamp(110px,10vw,155px) 0;background:#fff}
body.bpv-editorial-interior .bpv-photo-gallery-head h2{font-size:clamp(48px,5.8vw,89px)}
body.bpv-editorial-interior .bpv-photo-tile{border-radius:var(--bpv62-radius);overflow:hidden}
body.bpv-editorial-interior .bpv-parking-feature{background:#f1f6fb;padding:clamp(95px,9vw,145px) 0}
body.bpv-editorial-interior .bpv-parking-copy h2{font-size:clamp(47px,5.6vw,79px)}
body.bpv-editorial-interior .bpv-parking-photo{border-radius:var(--bpv62-radius)}
/* Location and map: landscape hero, inset map and practical details. */
body.bpv-editorial-interior .where-hero{padding:120px 0}
body.bpv-editorial-interior .where-hero-copy h1{font-size:clamp(51px,5.7vw,90px)}
body.bpv-editorial-interior .where-map-section{background:#fff;padding:clamp(105px,9vw,145px) 0}
body.bpv-editorial-interior .where-map-copy h2,
body.bpv-editorial-interior .where-story-copy h2{font-size:clamp(45px,5vw,73px)}
body.bpv-editorial-interior .where-map-card{border-radius:var(--bpv62-radius);overflow:hidden;box-shadow:0 20px 60px rgba(8,48,104,.06)}
body.bpv-editorial-interior .where-story-section{background:#f4f9fd;padding:clamp(100px,9vw,140px) 0}
body.bpv-editorial-interior .where-story-photo{border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .where-practical-section{background:#fff;padding:120px 0}
body.bpv-editorial-interior .where-practical-head h2{font-size:clamp(46px,5vw,72px)}
body.bpv-editorial-interior .where-practical-card{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);background:#f5f9fd}
body.bpv-editorial-interior .where-parking-section{background:#083068;padding:115px 0}
body.bpv-editorial-interior .where-parking-photo{border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .where-final-section{background:#f5f9fd;padding:120px 0}
body.bpv-editorial-interior .where-final-grid figure{border-radius:var(--bpv62-radius)}
/* Ferry: typography, oversized discount mark, uncluttered editorial terms. */
body.bpv-editorial-interior .ferry-hero{background:#f1f6fb;padding:clamp(100px,10vw,150px) 0}
body.bpv-editorial-interior .ferry-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(42px,6vw,95px)}
body.bpv-editorial-interior .ferry-hero h1{font-size:clamp(57px,6.35vw,103px);color:var(--bpv62-ink);line-height:1.02}
body.bpv-editorial-interior .ferry-hero .lead{color:var(--bpv62-muted);line-height:1.7}
body.bpv-editorial-interior .ferry-discount-mark{background:var(--bpv62-navy);min-height:495px;border-radius:var(--bpv62-radius);padding:clamp(38px,4vw,68px)}
body.bpv-editorial-interior .ferry-discount-mark strong{font:500 clamp(110px,11vw,185px)/1 'Manrope',Arial,sans-serif;letter-spacing:-.095em}
body.bpv-editorial-interior .ferry-content-section{padding:clamp(105px,9vw,145px) 0}
body.bpv-editorial-interior .ferry-editorial h2{font-size:clamp(38px,4.4vw,63px)}
body.bpv-editorial-interior .ferry-sidebar{background:#eaf2f8;border-radius:var(--bpv62-radius);border:1px solid var(--bpv62-rule)}
/* Archipelago: existing photographic cover made more cinematic; preserve all place data. */
body.bpv-editorial-interior .places-index-hero{min-height:86svh;display:flex;align-items:flex-end;padding:180px 0 105px}
body.bpv-editorial-interior .places-index-hero h1{font-size:clamp(65px,8.2vw,128px);line-height:1.02;max-width:1100px}
body.bpv-editorial-interior .places-index-intro{padding:120px 0}
body.bpv-editorial-interior .places-index-intro h2{font-size:clamp(47px,5.5vw,83px)}
body.bpv-editorial-interior .places-index-list{padding-bottom:140px}
body.bpv-editorial-interior .place-card-media{border-radius:var(--bpv62-radius)}
body.bpv-editorial-interior .place-hero-v36{min-height:84svh;display:flex;align-items:flex-end;padding-bottom:105px}
body.bpv-editorial-interior .place-hero h1{font-size:clamp(67px,9vw,140px);line-height:1.02}
body.bpv-editorial-interior .place-story{padding:140px 0}
body.bpv-editorial-interior .place-gallery-section{padding-bottom:130px}
body.bpv-editorial-interior .place-aside-v36{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);background:#f1f6fb}
body.bpv-editorial-interior .related-places-section{background:#f1f6fb;padding:105px 0}
/* Room archive/detail: the same typographic scale and images as homepage categories. */
body.bpv-editorial-interior .a-archive-hero{background:#eef5fa;padding:clamp(103px,9vw,153px) 0 clamp(72px,7vw,114px)}
body.bpv-editorial-interior .a-archive-hero .a-heading{font-family:'Manrope',Arial,sans-serif;font-size:clamp(60px,7.5vw,118px);line-height:1.01;color:#101820}
body.bpv-editorial-interior .archive-section{padding:90px 0 135px;background:#fff}
body.bpv-editorial-interior .a-filters{margin-bottom:48px}
body.bpv-editorial-interior .a-apartment-grid .card{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);background:white;overflow:hidden}
body.bpv-editorial-interior .a-apartment-grid .card-photo{border-radius:0}
body.bpv-editorial-interior .a-apartment-grid .card h3{font-size:clamp(27px,2.6vw,39px)}
body.bpv-editorial-interior .apartment-title{background:#f2f7fb;padding:120px 0 88px}
body.bpv-editorial-interior .apartment-title h1{font-size:clamp(61px,7.8vw,118px);line-height:1.02;max-width:1090px;color:var(--bpv62-ink)}
body.bpv-editorial-interior .gallery-wrap{background:#f2f7fb;padding:0 0 125px}
body.bpv-editorial-interior .gallery-grid{gap:12px}
body.bpv-editorial-interior .gallery-item{overflow:hidden;border-radius:12px}
body.bpv-editorial-interior .bpv-detail-amenities{padding:120px 0;background:#fff}
body.bpv-editorial-interior .bpv-detail-amenities h2{font-size:clamp(48px,5.5vw,80px)}
body.bpv-editorial-interior .apartment-content{background:#f5f9fd;padding:110px 0}
body.bpv-editorial-interior .quote-card{background:white;border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);padding:clamp(28px,3vw,45px)}
body.bpv-editorial-interior .quote-card h2{font-size:clamp(33px,3.7vw,51px)}
body.bpv-editorial-interior .related-apartments{background:white;padding:120px 0}
/* Universal page layouts, quotes, contact and occasional WPBakery-built internal pages. */
body.bpv-editorial-interior .page-hero{background:#f0f6fb;padding:clamp(112px,10vw,158px) 0 clamp(76px,7vw,115px)}
body.bpv-editorial-interior .page-hero h1{font-size:clamp(60px,7.2vw,112px);color:var(--bpv62-ink);line-height:1.04;max-width:1120px}
body.bpv-editorial-interior .page-hero .lead{color:var(--bpv62-muted);font-size:clamp(18px,1.65vw,22px);max-width:780px;line-height:1.65}
body.bpv-editorial-interior .page-content{background:#fff;padding:clamp(90px,8vw,125px) 0}
body.bpv-editorial-interior .quote-page{background:#f6f9fc}
body.bpv-editorial-interior .quote-page-intro h2{font-size:clamp(43px,4.5vw,67px);line-height:1.12}
body.bpv-editorial-interior .quote-form-card,
body.bpv-editorial-interior .contact-form-panel,
body.bpv-editorial-interior .contact-card{border:1px solid var(--bpv62-rule);border-radius:var(--bpv62-radius);background:white;padding:clamp(28px,3.2vw,50px)}
body.bpv-editorial-interior .bpv-form input:not([type=checkbox]),
body.bpv-editorial-interior .bpv-form select,
body.bpv-editorial-interior .bpv-form textarea{background:#f9fcfe;border-color:#c9d9e6;border-radius:9px}
body.bpv-editorial-interior .contact-card h2{font-size:clamp(30px,3.5vw,48px)}
/* Dark destination like the V6 homepage closing moment. */
body.bpv-editorial-interior .bpv-residence-final,
body.bpv-editorial-interior .bpv-photo-final,
body.bpv-editorial-interior .bpv-pool-page-cta,
body.bpv-editorial-interior .bpv-stay-closing,
body.bpv-editorial-interior .places-index-cta{
 min-height:min(710px,90svh);display:flex;align-items:center;background:var(--bpv62-deep);color:#fff;
 padding:clamp(100px,10vw,150px) 0;position:relative;overflow:hidden
}
body.bpv-editorial-interior .bpv-residence-final:before,
body.bpv-editorial-interior .bpv-photo-final:before,
body.bpv-editorial-interior .bpv-pool-page-cta:before,
body.bpv-editorial-interior .bpv-stay-closing:before,
body.bpv-editorial-interior .places-index-cta:before,
body.bpv-editorial-interior .bpv62-cta:before{
 content:'';position:absolute;width:610px;height:610px;right:-230px;top:-300px;pointer-events:none;
 border:1px solid rgba(178,211,238,.10);border-radius:50%;box-shadow:0 0 0 115px rgba(178,211,238,.018),0 0 0 240px rgba(178,211,238,.015)
}
body.bpv-editorial-interior .bpv-residence-final-inner,
body.bpv-editorial-interior .bpv-photo-final-inner,
body.bpv-editorial-interior .bpv-pool-page-cta-layout,
body.bpv-editorial-interior .bpv-stay-closing-grid,
body.bpv-editorial-interior .places-index-cta-grid{position:relative;z-index:1;align-items:center;gap:clamp(32px,6vw,90px)}
body.bpv-editorial-interior .bpv-residence-final h2,
body.bpv-editorial-interior .bpv-photo-final h2,
body.bpv-editorial-interior .bpv-pool-page-cta h2,
body.bpv-editorial-interior .bpv-stay-closing h2,
body.bpv-editorial-interior .places-index-cta h2{
 color:#fff;font-size:clamp(61px,6.7vw,106px);line-height:1.05;letter-spacing:-.066em;margin:20px 0 30px;max-width:980px
}
body.bpv-editorial-interior .bpv-residence-final p,
body.bpv-editorial-interior .bpv-pool-page-cta p,
body.bpv-editorial-interior .bpv-stay-closing p,
body.bpv-editorial-interior .places-index-cta p{color:#d7e7f4;font-size:clamp(16px,1.5vw,20px);max-width:600px}
body.bpv-editorial-interior .bpv-residence-final .kicker,
body.bpv-editorial-interior .bpv-photo-final .kicker,
body.bpv-editorial-interior .bpv-pool-page-cta .kicker,
body.bpv-editorial-interior .bpv-stay-closing .kicker,
body.bpv-editorial-interior .places-index-cta .kicker{color:#adcfea}
body.bpv-editorial-interior .bpv-residence-final .button-primary,
body.bpv-editorial-interior .bpv-photo-final .button-primary,
body.bpv-editorial-interior .bpv-pool-page-cta .button-primary,
body.bpv-editorial-interior .bpv-stay-closing .button-primary,
body.bpv-editorial-interior .places-index-cta .button-primary{background:#fff;color:#083068;border-color:#fff}
body.bpv-editorial-interior .bpv-residence-final .button-primary:hover,
body.bpv-editorial-interior .bpv-photo-final .button-primary:hover,
body.bpv-editorial-interior .bpv-pool-page-cta .button-primary:hover,
body.bpv-editorial-interior .bpv-stay-closing .button-primary:hover,
body.bpv-editorial-interior .places-index-cta .button-primary:hover{background:#dceefa;color:#061d3f;border-color:#dceefa}
body.bpv-editorial-interior .bpv-residence-final .button-outline.dark,
body.bpv-editorial-interior .bpv-photo-final .button-outline.dark{border:1px solid #a7c4dc;color:#fff;background:transparent}
body.bpv-editorial-interior .bpv-residence-final .button-outline.dark:hover,
body.bpv-editorial-interior .bpv-photo-final .button-outline.dark:hover{background:rgba(255,255,255,.11)}
body.bpv-editorial-interior .bpv-photo-final-inner,
body.bpv-editorial-interior .bpv-residence-final-inner{grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr)}
body.bpv-editorial-interior .bpv-pool-page-cta-layout{display:grid;grid-template-columns:minmax(0,1.25fr) auto}
/* Reusable editorial close for places, room detail and ferry pages. */
body.bpv-editorial-interior .bpv62-cta{position:relative;background:#061d3f;color:#fff;min-height:91svh;display:flex;align-items:center;overflow:hidden;padding:135px 0}
body.bpv-editorial-interior .bpv62-cta-inner{position:relative;z-index:1;max-width:1220px}
body.bpv-editorial-interior .bpv62-cta-eyebrow{font-size:11px;font-weight:650;letter-spacing:.23em;color:#b4d4eb;margin-bottom:28px}
body.bpv-editorial-interior .bpv62-cta-eyebrow span{opacity:.7}
body.bpv-editorial-interior .bpv62-cta h2{color:white;font-size:clamp(65px,8.7vw,148px);line-height:1.02;letter-spacing:-.075em;margin:0 0 30px;max-width:1170px}
body.bpv-editorial-interior .bpv62-cta h2 em{color:#c5e3f5}
body.bpv-editorial-interior .bpv62-cta p{color:#dce9f3;font-size:clamp(17px,1.65vw,21px);max-width:630px;margin:0 0 40px}
body.bpv-editorial-interior .bpv62-cta-actions{display:flex;gap:14px;flex-wrap:wrap}
body.bpv-editorial-interior .bpv62-white-button,
body.bpv-editorial-interior .bpv62-outline-button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:18px 25px;min-height:58px;border:1px solid #fff;border-radius:999px;font-size:13px;font-weight:650}
body.bpv-editorial-interior .bpv62-white-button{background:white;color:#083068}
body.bpv-editorial-interior .bpv62-white-button:hover{background:#dceefa;border-color:#dceefa}
body.bpv-editorial-interior .bpv62-outline-button{background:transparent;color:#fff;border-color:#91b5d2}
body.bpv-editorial-interior .bpv62-outline-button:hover{background:rgba(255,255,255,.10)}
body.bpv-editorial-interior .bpv62-cta-number{position:absolute;right:48px;bottom:30px;color:rgba(255,255,255,.3);font-size:11px;letter-spacing:.2em}
/* Motion never hides a form, lightbox, map or interaction. */
body.bpv62-motion-ready .bpv62-reveal{opacity:0;transform:translate3d(0,27px,0);transition:opacity .88s ease,transform 1.05s var(--bpv62-ease)}
body.bpv62-motion-ready .bpv62-reveal.bpv62-visible{opacity:1;transform:translate3d(0,0,0)}
body.bpv62-motion-ready .bpv62-reveal:is(.bpv-residence-hero-media,.bpv-stay-photo,.where-hero-photo,.bpv-photo-hero-image){transform:translate3d(0,30px,0) scale(.975)}
body.bpv62-motion-ready .bpv62-reveal.bpv62-visible:is(.bpv-residence-hero-media,.bpv-stay-photo,.where-hero-photo,.bpv-photo-hero-image){transform:none}
.bpv62-scroll-progress{display:none}
body.bpv-editorial-interior .bpv62-scroll-progress{display:block;position:fixed;left:0;top:0;width:100%;height:3px;background:#2e7baa;z-index:200;transform:scaleX(0);transform-origin:left;pointer-events:none}
@media(max-width:1120px){
 body.bpv-editorial-interior .container{width:calc(100% - 56px)}
 body.bpv-editorial-interior .bpv-residence-hero-grid,body.bpv-editorial-interior .bpv-photo-hero-grid,
 body.bpv-editorial-interior .where-hero-grid,body.bpv-editorial-interior .bpv-stay-hero-grid{gap:37px}
 body.bpv-editorial-interior .bpv-residence-hero-copy h1,body.bpv-editorial-interior .bpv-photo-hero-copy h1,
 body.bpv-editorial-interior .where-hero-copy h1{font-size:clamp(48px,5.5vw,78px)}
 body.bpv-editorial-interior .bpv-residence-hero-media,body.bpv-editorial-interior .bpv-photo-hero-image,
 body.bpv-editorial-interior .where-hero-photo,body.bpv-editorial-interior .bpv-stay-hero-visual{min-height:440px;height:550px}
 body.bpv-editorial-interior .bpv-stay-hero h1{font-size:clamp(51px,6vw,85px)}
}
@media(max-width:850px){
 body.bpv-editorial-interior .container{width:calc(100% - 42px)}
 body.bpv-editorial-interior .bpv-residence-hero,body.bpv-editorial-interior .bpv-photo-hero,
 body.bpv-editorial-interior .where-hero,body.bpv-editorial-interior .bpv-stay-hero,
 body.bpv-editorial-interior .ferry-hero{padding:88px 0 75px}
 body.bpv-editorial-interior .bpv-residence-hero-grid,body.bpv-editorial-interior .bpv-photo-hero-grid,
 body.bpv-editorial-interior .where-hero-grid,body.bpv-editorial-interior .bpv-stay-hero-grid,
 body.bpv-editorial-interior .ferry-hero-grid{grid-template-columns:1fr;gap:42px}
 body.bpv-editorial-interior .bpv-residence-hero-media,body.bpv-editorial-interior .bpv-photo-hero-image,
 body.bpv-editorial-interior .where-hero-photo,body.bpv-editorial-interior .bpv-stay-hero-visual{min-height:0;height:auto;aspect-ratio:4/3}
 body.bpv-editorial-interior .bpv-residence-hero-media img,body.bpv-editorial-interior .bpv-photo-hero-image img,
 body.bpv-editorial-interior .where-hero-photo img{height:100%}
 body.bpv-editorial-interior .bpv-stay-hero h1,body.bpv-editorial-interior .bpv-pool-page-lead h1,
 body.bpv-editorial-interior .bpv-residence-hero-copy h1,body.bpv-editorial-interior .bpv-photo-hero-copy h1,
 body.bpv-editorial-interior .where-hero-copy h1{font-size:clamp(51px,8vw,79px)}
 body.bpv-editorial-interior .bpv-pool-page-intro-grid{grid-template-columns:1fr;gap:16px}
 body.bpv-editorial-interior .bpv-pool-detail-image{aspect-ratio:1.45/1}
 body.bpv-editorial-interior .bpv-residence-story-grid,body.bpv-editorial-interior .bpv-residence-section-head{grid-template-columns:1fr;gap:42px}
 body.bpv-editorial-interior .bpv-residence-story-photo{min-height:490px}
 body.bpv-editorial-interior .bpv-stay-hero-visual>.bpv-stay-hero-art{min-height:100%}
 body.bpv-editorial-interior .ferry-discount-mark{min-height:300px}
 body.bpv-editorial-interior .bpv-residence-final-inner,body.bpv-editorial-interior .bpv-photo-final-inner,
 body.bpv-editorial-interior .bpv-pool-page-cta-layout{grid-template-columns:1fr;gap:32px}
 body.bpv-editorial-interior .bpv-residence-final-actions,body.bpv-editorial-interior .bpv-photo-final-actions{justify-content:flex-start}
 body.bpv-editorial-interior .bpv-residence-final,body.bpv-editorial-interior .bpv-photo-final,
 body.bpv-editorial-interior .bpv-pool-page-cta,body.bpv-editorial-interior .bpv-stay-closing,
 body.bpv-editorial-interior .places-index-cta{min-height:0}
 body.bpv-editorial-interior .bpv62-cta{min-height:78svh}
}
@media(max-width:620px){
 body.bpv-editorial-interior .container{width:calc(100% - 36px)}
 body.bpv-editorial-interior .kicker{font-size:10px;margin-bottom:16px}
 body.bpv-editorial-interior .bpv-residence-hero,body.bpv-editorial-interior .bpv-photo-hero,
 body.bpv-editorial-interior .where-hero,body.bpv-editorial-interior .bpv-stay-hero,
 body.bpv-editorial-interior .ferry-hero{padding:76px 0 68px}
 body.bpv-editorial-interior .bpv-residence-hero-copy h1,body.bpv-editorial-interior .bpv-photo-hero-copy h1,
 body.bpv-editorial-interior .where-hero-copy h1,body.bpv-editorial-interior .bpv-stay-hero h1,
 body.bpv-editorial-interior .bpv-pool-page-lead h1{font-size:clamp(43px,11.2vw,67px);line-height:1.08}
 body.bpv-editorial-interior .bpv-residence-hero-media,body.bpv-editorial-interior .bpv-photo-hero-image,
 body.bpv-editorial-interior .where-hero-photo,body.bpv-editorial-interior .bpv-stay-hero-visual{aspect-ratio:5/4;border-radius:12px}
 body.bpv-editorial-interior .bpv-pool-page-intro{padding:85px 0 30px}
 body.bpv-editorial-interior .bpv-pool-detail-image{aspect-ratio:1.11/1}
 body.bpv-editorial-interior .bpv-pool-info-card{padding:24px}
 body.bpv-editorial-interior .bpv-pool-highlights{padding-bottom:75px}
 body.bpv-editorial-interior .bpv-pool-rules{padding:85px 0}
 body.bpv-editorial-interior .bpv-residence-story,body.bpv-editorial-interior .bpv-residence-essentials,
 body.bpv-editorial-interior .bpv-residence-gallery,body.bpv-editorial-interior .bpv-stay-chapter,
 body.bpv-editorial-interior .where-story-section,body.bpv-editorial-interior .where-map-section,
 body.bpv-editorial-interior .bpv-photo-gallery-section{padding:85px 0}
 body.bpv-editorial-interior .bpv-residence-story-photo,body.bpv-editorial-interior .bpv-residence-story-photo img{min-height:350px}
 body.bpv-editorial-interior .bpv-residence-story-copy h2,body.bpv-editorial-interior .bpv-residence-section-head h2,
 body.bpv-editorial-interior .bpv-stay-copy h2,body.bpv-editorial-interior .bpv-residence-island-copy h2,
 body.bpv-editorial-interior .where-map-copy h2,body.bpv-editorial-interior .where-story-copy h2{font-size:clamp(39px,9.5vw,60px)}
 body.bpv-editorial-interior .bpv-residence-essential{min-height:0;padding:27px}
 body.bpv-editorial-interior .bpv-residence-island-copy{padding:76px 22px}
 body.bpv-editorial-interior .bpv-stay-journey{padding:36px 0 48px}
 body.bpv-editorial-interior .bpv-stay-practical{padding:85px 0}
 body.bpv-editorial-interior .bpv-stay-hero-graphic{right:13px;bottom:13px;padding:11px 14px}
 body.bpv-editorial-interior .ferry-discount-mark{padding:38px;min-height:275px}
 body.bpv-editorial-interior .ferry-discount-mark strong{font-size:105px}
 body.bpv-editorial-interior .page-hero{padding:80px 0 65px}
 body.bpv-editorial-interior .page-hero h1,body.bpv-editorial-interior .apartment-title h1,
 body.bpv-editorial-interior .a-archive-hero .a-heading{font-size:clamp(43px,11.5vw,69px)}
 body.bpv-editorial-interior .places-index-hero{min-height:78svh;padding:135px 0 75px}
 body.bpv-editorial-interior .places-index-hero h1,body.bpv-editorial-interior .place-hero h1{font-size:clamp(50px,11.3vw,74px)}
 body.bpv-editorial-interior .bpv-residence-final,body.bpv-editorial-interior .bpv-photo-final,
 body.bpv-editorial-interior .bpv-pool-page-cta,body.bpv-editorial-interior .bpv-stay-closing,
 body.bpv-editorial-interior .places-index-cta{padding:95px 0}
 body.bpv-editorial-interior .bpv-residence-final h2,body.bpv-editorial-interior .bpv-photo-final h2,
 body.bpv-editorial-interior .bpv-pool-page-cta h2,body.bpv-editorial-interior .bpv-stay-closing h2,
 body.bpv-editorial-interior .places-index-cta h2{font-size:clamp(49px,10.9vw,72px)}
 body.bpv-editorial-interior .bpv62-cta{min-height:82svh;padding:90px 0}
 body.bpv-editorial-interior .bpv62-cta h2{font-size:clamp(51px,11.7vw,79px);line-height:1.04}
 body.bpv-editorial-interior .bpv62-cta p{font-size:16px}
 body.bpv-editorial-interior .bpv62-cta-actions{display:flex;flex-direction:column;align-items:stretch}
 body.bpv-editorial-interior .bpv62-cta-number{right:22px;bottom:18px}
 body.bpv-editorial-interior .quote-page-grid,body.bpv-editorial-interior .contact-grid{gap:28px}
 body.bpv-editorial-interior .quote-form-card,body.bpv-editorial-interior .contact-form-panel{padding:22px}
}
@media(prefers-reduced-motion:reduce){
 html:has(body.bpv-editorial-interior){scroll-snap-type:none;scroll-behavior:auto}
 body.bpv-editorial-interior *,body.bpv-editorial-interior *::before,body.bpv-editorial-interior *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
 body.bpv-editorial-interior .bpv62-reveal{opacity:1!important;transform:none!important}
}


/* SOURCE: bpv-final-polish-v63.css */
/* Borgo Punta Villa · Atelier Blu 6.3 — final polish on all internal pages.
   The homepage palette and layout stay identical to the approved V6.2. */
body.bpv-editorial-interior {
  --bpv63-blue:#1355a1;
  --bpv63-vibrant:#2074bc;
  --bpv63-navy:#0b3269;
  --bpv63-deep:#061d3f;
  --bpv63-sky:#e5f2fc;
  --bpv63-ink:#101820;
  --bpv62-navy:var(--bpv63-navy);
  --bpv62-azure:var(--bpv63-vibrant);
  --bpv62-deep:var(--bpv63-deep);
  --bpv62-mist:#eef5fc;
  --bpv62-muted:#54718b;
  --bpv62-rule:#d4e4f2;
}
body.bpv-editorial-interior h1,
body.bpv-editorial-interior h2,
body.bpv-editorial-interior h3 {font-family:'Manrope',Arial,sans-serif !important;}
body.bpv-editorial-interior h1 em,
body.bpv-editorial-interior h2 em,
body.bpv-editorial-interior .bpv-v63-italic,
body.bpv-editorial-interior .page-hero h1 em,
body.bpv-editorial-interior .a-archive-hero h1 em {
  font-family:'Instrument Serif',Georgia,serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:-.025em;
  line-height:1.03;
  font-size:1.075em;
  overflow-wrap:anywhere;
  color:var(--bpv63-vibrant);
}
/* Keep a light italic on high-contrast navy blocks, not a dark blue invisible on navy. */
body.bpv-editorial-interior :is(.bpv62-cta,.bpv-stay-closing,.bpv-pool-page-cta,.bpv-residence-final,.bpv-photo-final,.places-index-cta,.bpv-residence-island,.bpv-parking-feature--dark,.where-story-section--dark,.ferry-discount-mark,.place-hero,.places-index-hero) h1 em,
body.bpv-editorial-interior :is(.bpv62-cta,.bpv-stay-closing,.bpv-pool-page-cta,.bpv-residence-final,.bpv-photo-final,.places-index-cta,.bpv-residence-island,.bpv-parking-feature--dark,.where-story-section--dark,.ferry-discount-mark,.place-hero,.places-index-hero) h2 em {color:#b9def8}
/* Consistent saturated blues: accessible buttons, focus, card labels and editorial kickers. */
body.bpv-editorial-interior :is(.kicker,.bpv62-cta-eyebrow,.bpv-stay-practical-index,.bpv-residence-section-label,.a-section-index,.bpv-photo-label,.bpv-pool-info-label,.where-card-label,.ferry-editorial .kicker){color:var(--bpv63-blue)}
body.bpv-editorial-interior :is(.button-primary:not(.light),.a-button:not(.a-button-outline):not(.a-button-white)){background:var(--bpv63-navy);border-color:var(--bpv63-navy)}
body.bpv-editorial-interior :is(.button-primary,.a-button:not(.a-button-outline)):hover{background:var(--bpv63-blue);border-color:var(--bpv63-blue)}
body.bpv-editorial-interior :is(.ferry-discount-mark,.bpv-residence-gallery-quote){background:var(--bpv63-navy)}
body.bpv-editorial-interior :is(.a-archive-hero,.bpv-pool-page-intro,.bpv-pool-page-hero-photo,.bpv-residence-hero,.bpv-photo-hero,.where-hero,.bpv-stay-hero,.ferry-hero,.page-hero){background:#eef5fc}
body.bpv-editorial-interior :is(.bpv-residence-island,.bpv-stay-closing,.bpv-residence-final,.bpv-photo-final,.bpv62-cta){background:var(--bpv63-deep)}
body.bpv-editorial-interior :is(.bpv-residence-story,.bpv-residence-essentials,.bpv-stay-chapter,.bpv-pool-rules,.bpv-photo-gallery-section,.where-map-section) h2{line-height:1.1}
body.bpv-editorial-interior :is(.bpv-stay-copy,.bpv-residence-story-copy,.where-story-copy,.bpv-parking-copy,.ferry-hero-copy) h2{max-width:19ch}
body.bpv-editorial-interior :is(.bpv-residence-story-photo,.bpv-stay-photo,.where-hero-photo,.bpv-parking-photo,.bpv-pool-detail-image,.bpv-photo-hero-image){border-radius:16px}
body.bpv-editorial-interior .ferry-hero h1{font-size:clamp(52px,6.6vw,108px);line-height:1.04}
body.bpv-editorial-interior .ferry-editorial h2 em{font-size:1.055em}
body.bpv-editorial-interior .bpv-stay-chapter--sea{background:#eef5fc}
body.bpv-editorial-interior .bpv-stay-journey{background:#e5f2fc}
body.bpv-editorial-interior .ferry-discount-mark *{color:inherit}
body.bpv-editorial-interior .ferry-discount-mark{color:#fff}
body.bpv-editorial-interior .ferry-discount-mark small{color:#c7dff5}
@media(max-width:767px){
 body.bpv-editorial-interior h1 em,body.bpv-editorial-interior h2 em{font-size:1.055em}
 body.bpv-editorial-interior .ferry-hero h1{font-size:clamp(43px,12vw,71px)}
}
@media(prefers-reduced-motion:reduce){body.bpv-editorial-interior *{scroll-behavior:auto !important}}


/* SOURCE: bpv-v64-refinements.css */
/* Borgo Punta Villa · V6.4 — typography, accessibility and editorial consistency.
 * Source of truth: Atelier Blu 6.3. Intentionally no palette or logo replacement.
 */
:root{--bpv64-navy:#0b3269;--bpv64-blue:#2074bc;--bpv64-ink:#101820;--bpv64-fog:#eef5fc;--bpv64-grey:#54718b}
/* Instrument Serif descenders (g, j, p, q, y) must never be cropped. */
:is(.a-heading,.a-display,.a-reviews .a-heading,.a-cta .a-heading,.bpv-stay-copy h2,.ferry-hero h1,.ferry-editorial h2,.bpv-residence-story-copy h2,.where-story-copy h2,.page-hero h1,.bpv-pool-page-lead h1,.bpv-stay-hero h1,.bpv62-cta h2,.a-archive-hero h1){
  line-height:1.17!important; padding-bottom:.105em!important; overflow:visible!important;
  text-wrap:balance;
}
:is(.a-heading,.a-display,h1,h2,h3) em,
body.bpv-editorial-interior :is(h1,h2,h3) em,
body.bpv-editorial-interior .bpv-v63-italic{
  font-family:'Instrument Serif',Georgia,serif!important;font-style:italic!important;
  line-height:1.17!important; padding-bottom:.07em!important;letter-spacing:-.025em!important;
  font-weight:400!important;
}
/* Prevent collisions between sticky header and typographic ascenders. */
.bpv-editorial-interior :is(.bpv-stay-hero,.bpv-residence-hero,.where-hero,.bpv-photo-hero,.ferry-hero,.quote-page-hero,.places-index-hero){overflow:visible}
.bpv-editorial-interior .bpv-stay-copy h2,.bpv-editorial-interior .bpv-residence-story-copy h2,
.bpv-editorial-interior .where-story-copy h2{overflow-wrap:normal;word-break:normal}
/* Consistent blue and italic in every editorial block, while preserving V6.3 layout. */
.bpv-editorial-interior :is(.ferry-hero,.ferry-editorial,.ferry-discount-mark,.bpv-parking-feature,.where-story-section,.places-index-intro,.quote-page-intro,.bpv-stay-practical,.bpv-pool-rules) :is(h1,h2){font-family:'Manrope',Arial,sans-serif!important;letter-spacing:-.064em}
.bpv-editorial-interior :is(.ferry-hero,.ferry-editorial,.bpv-parking-feature,.where-story-section,.places-index-intro,.quote-page-intro,.bpv-stay-practical,.bpv-pool-rules) h2 em{color:var(--bpv64-blue)}
.bpv-editorial-interior :is(.bpv-parking-feature--dark,.bpv-residence-island,.bpv62-cta,.bpv-stay-closing,.bpv-residence-final,.bpv-photo-final,.places-index-cta,.ferry-discount-mark) :is(h1,h2) em{color:#b9def8}
/* Buttons: visible labels in normal, hover, active, keyboard and touchscreen states. */
body :is(a.button-primary,button.button-primary,a.a-button:not(.a-button-outline):not(.a-button-white),button.a-filter.is-active){color:#fff!important;-webkit-text-fill-color:#fff!important}
body :is(a.button-primary,button.button-primary,a.a-button:not(.a-button-outline):not(.a-button-white)):is(:hover,:active,:focus-visible){color:#fff!important;-webkit-text-fill-color:#fff!important;background:#1355a1!important}
body a.button-primary.light,body .a-button-white{background:#fff!important;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important}
body :is(a.button-primary.light,.a-button-white):is(:hover,:focus-visible){background:#eaf5ff!important;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important}
body :is(.button-outline,.a-button-outline,.bpv62-outline-button,.bpv62-white-button,.a-inline-link,.text-link,.bpv-stay-text-link){opacity:1;visibility:visible}
body :is(a.button-outline.dark,a.bpv62-white-button){color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;background:#fff;border-color:#d3e4f2}
body :is(a.button-outline.dark,a.bpv62-white-button):is(:hover,:focus-visible){color:#fff!important;-webkit-text-fill-color:#fff!important;background:#1355a1;border-color:#1355a1}
body :is(.bpv-photo-final,.bpv-stay-closing,.places-index-cta,.bpv-residence-final,.bpv62-cta,.bpv-pool-page-cta) a.button-outline.dark{color:#fff!important;-webkit-text-fill-color:#fff!important;background:transparent;border-color:rgba(255,255,255,.65)}
body :is(.bpv-photo-final,.bpv-stay-closing,.places-index-cta,.bpv-residence-final,.bpv62-cta,.bpv-pool-page-cta) a.button-outline.dark:is(:hover,:focus-visible){background:#fff;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important}
body :is(a,button,input,select,textarea):focus-visible{outline:2px solid #2074bc;outline-offset:3px}
/* Avoid invisible content when initial scroll reveal is delayed or blocked. Keep one-shot enter animation. */
.a-js [data-a-reveal]{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:no-preference){.a-js [data-a-reveal].a-visible{animation:bpv64-reveal .68s cubic-bezier(.19,1,.22,1) both}}
@keyframes bpv64-reveal{from{opacity:.8;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
/* Guest stories: editorial quotes instead of an empty sparse announcement. */
.a-reviews.bpv64-reviews{background:#edf4f9;color:var(--bpv64-ink);padding:clamp(88px,9vw,150px) 0;min-height:auto}
.bpv64-reviews .bpv64-reviews-inner{display:block;max-width:1440px;margin-inline:auto}
.bpv64-reviews .a-section-index{font-size:12px;letter-spacing:.2em;color:#1761a8;margin-bottom:25px}
.bpv64-reviews .a-heading{font-size:clamp(50px,6.5vw,106px);max-width:950px;margin-bottom:23px;line-height:1.16}
.bpv64-reviews .a-heading em{color:#2074bc}
.bpv64-reviews .bpv64-reviews-lead{color:#526f88;max-width:740px;line-height:1.7;font-size:clamp(16px,1.35vw,20px);margin-bottom:clamp(34px,5vw,70px)}
.bpv64-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 46px}
.bpv64-review-card{margin:0;padding:clamp(27px,3vw,42px);background:#fff;min-height:290px;border-radius:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 45px rgba(6,34,70,.055);border:1px solid #dceaf5}
.bpv64-review-card blockquote{margin:0;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(29px,2.5vw,39px);line-height:1.3;font-style:italic;color:#0b3269;letter-spacing:-.018em}
.bpv64-review-card figcaption{display:flex;flex-direction:column;gap:5px;border-top:1px solid #e0eaf1;padding-top:19px;margin-top:25px;font:500 14px 'DM Sans',Arial,sans-serif;color:#132e51}
.bpv64-review-card figcaption span{color:#647f93;font-size:12px}
.bpv64-review-link{color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;font-weight:700}
/* Archive: evenly aligned cards, softer separation, unified image frames and footers. */
body.bpv-editorial-interior .a-apartment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
body.bpv-editorial-interior .a-apartment-grid>.a-filter-item{min-width:0;display:flex;align-items:stretch}
body.bpv-editorial-interior .a-apartment-grid .card{height:100%;width:100%;display:flex;flex-direction:column;background:#fff;border:0!important;border-radius:18px!important;box-shadow:0 16px 52px rgba(8,42,80,.08);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
body.bpv-editorial-interior .a-apartment-grid .card:hover{transform:translateY(-4px);box-shadow:0 22px 58px rgba(8,42,80,.13)}
body.bpv-editorial-interior .a-apartment-grid .card-photo{width:100%;aspect-ratio:1.42/1;flex-shrink:0;overflow:hidden;border-radius:0!important;background:#e7eff6}
body.bpv-editorial-interior .a-apartment-grid .card-photo img{width:100%;height:100%;object-fit:cover}
body.bpv-editorial-interior .a-apartment-grid .card-body{padding:26px 27px 29px;flex:1;display:flex;flex-direction:column;min-width:0}
body.bpv-editorial-interior .a-apartment-grid .card h3{font-size:clamp(22px,2.05vw,30px);letter-spacing:-.05em;line-height:1.23;min-height:3.65em;margin-bottom:18px;overflow-wrap:break-word;text-wrap:pretty}
body.bpv-editorial-interior .a-apartment-grid .card .amenities-list{margin-top:auto}
body.bpv-editorial-interior .a-apartment-grid .card .card-detail-link{margin-top:auto;padding-top:26px}
body.bpv-editorial-interior .a-apartment-grid .card-topline{min-height:24px;margin-bottom:14px}
/* Place/location Caprera icon: a leaf, harmonized with the other cards. */
.bpv64-nature-icon svg{display:block;width:30px;height:30px;margin:auto}
/* Pet question is in the first step, always shown before contact details. */
.bpv-form .bpv64-pet-intro{grid-column:1/-1;font-size:15px;font-weight:700;color:#0b3269;margin-top:12px;padding-top:17px;border-top:1px solid #dfebf5}
.bpv-form .pet-note{font-size:13px;color:#53758f;line-height:1.55}
.bpv-form .pet-field-muted{opacity:1}
.bpv-form select[name=con_animali]{border:1px solid #a7c7e1!important;background:#fff!important;color:#112d50!important}
/* Always preserve contrast for CTA eyebrow labels on dark backgrounds. */
body.bpv-editorial-interior :is(.bpv62-cta,.bpv-residence-final,.bpv-photo-final,.bpv-stay-closing,.places-index-cta,.bpv-residence-island,.bpv-parking-feature--dark) :is(.kicker,.a-section-index,.bpv62-cta-eyebrow){color:#b9def8!important}
@media(max-width:1100px){body.bpv-editorial-interior .a-apartment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv64-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.bpv-editorial-interior .a-apartment-grid{grid-template-columns:1fr;gap:19px}body.bpv-editorial-interior .a-apartment-grid .card h3{min-height:0;font-size:27px}.bpv64-review-grid{grid-template-columns:1fr;gap:15px}.bpv64-review-card{min-height:215px}.bpv64-reviews .a-heading{font-size:clamp(45px,11vw,65px)}:is(.a-heading,.a-display,.page-hero h1){padding-bottom:.16em!important;line-height:1.2!important}}
@media(prefers-reduced-motion:reduce){.a-js [data-a-reveal].a-visible{animation:none!important}body.bpv-editorial-interior .a-apartment-grid .card{transition:none!important}}


/* SOURCE: bpv-v65-gallery-and-polish.css */
/* Borgo Punta Villa · Atelier Blu 6.5
   Repairs the Eagle Booking room gallery, and applies a restrained editorial polish.
   Loaded last; deliberately keeps the original logo, blue palette, Manrope/DM Sans.
*/
:root {
  --ink:#263440;
  --bpv62-ink:#263440;
  --bpv63-ink:#263440;
  --bpv64-ink:#263440;
}
body,body.bpv-editorial-interior {
  color:#263440;
}
body.bpv-editorial-interior {
  --bpv62-ink:#263440;
  --bpv63-ink:#263440;
}
/* Neutral charcoal rather than absolute black; leave intentional navy branding
   and white text in dark sections untouched. */
:is(.a-intro,.a-rooms,.a-gallery,.a-reviews,.apartment-title,.apartment-content,
   .bpv-detail-amenities,.bpv-residence-hero,.bpv-residence-history,
   .bpv-residence-essentials,.bpv-residence-story) :is(h1,h2,h3) {color:#263440}
/* The headings using deliberate blue/white accents remain as designed. */
.a-intro .a-heading em,.a-reviews .a-heading em{color:#2074bc}

/* Room photos: no max-height, no clipping, no forced aspect ratio.
   A masonry-like column flow respects each original image ratio. */
.gallery-wrap {padding:clamp(22px,3vw,44px) 0 clamp(42px,5vw,76px)}
.gallery-grid.apartment-gallery-grid {
  display:block!important;
  columns:3;
  column-gap:14px;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
.apartment-gallery-grid .gallery-item,
.apartment-gallery-grid .gallery-item.main,
.apartment-gallery-grid .gallery-item:not(.main) {
  display:block;
  position:relative;
  min-height:0!important;
  height:auto!important;
  width:100%;
  margin:0 0 14px;
  padding:0;
  break-inside:avoid;
  border:0;
  background:transparent;
  border-radius:12px;
  overflow:hidden;
  cursor:zoom-in;
  box-shadow:none;
  line-height:0;
}
body.bpv-editorial-interior .apartment-gallery-grid .gallery-item img,
.apartment-gallery-grid .gallery-item img {
  display:block;
  width:100%;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center;
  border-radius:0;
  transition:filter .22s ease;
}
.apartment-gallery-grid .gallery-item:hover img {filter:brightness(.96)}
.apartment-gallery-grid .gallery-item:focus-visible {outline:3px solid #2074bc;outline-offset:3px}
.apartment-gallery-grid.bpv-gallery-without-photos {columns:initial;display:block!important}
.bpv-gallery-pending {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:270px;padding:60px 25px;border-radius:18px;
  background:#eef5fc;border:1px solid #d7e6f3;color:#315a7c;text-align:center;
}
.bpv-gallery-pending-mark {display:block;color:#8db2d2;font-size:28px;line-height:1;margin-bottom:23px}
.bpv-gallery-pending p{margin:0;font:500 clamp(20px,2vw,29px)/1.35 'Manrope',sans-serif;letter-spacing:-.035em;color:#274764}
.card-photo:has(>span){background:#eef5fc;padding:22px;display:grid;place-items:center}
.card-photo>span{font:600 14px/1.55 'DM Sans',sans-serif;color:#315a7c;text-align:center;max-width:20ch}

/* Reviews: normal roman text, a refined sans serif, no scripted italic quotes. */
.bpv64-review-card blockquote {
  font-family:'DM Sans','Helvetica Neue',Arial,sans-serif!important;
  font-style:normal!important;
  font-weight:450;
  font-size:clamp(19px,1.65vw,26px);
  line-height:1.57;
  letter-spacing:-.028em;
  color:#173b65;
}
.bpv64-review-card {min-height:248px;padding:clamp(26px,2.45vw,37px)}
.bpv64-review-card figcaption {margin-top:27px}

/* Homepage navigation: old light-button text was overridden by a generic
   "white on all primary buttons" rule. Use reliable navy button/white text. */
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open)
.desktop-menu a.button-primary.mini {
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:#0b3269!important;border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:0 5px 20px rgba(5,24,48,.18);
}
body .site-header .desktop-menu a.button-primary.mini:hover,
body .site-header .desktop-menu a.button-primary.mini:focus-visible {
  background:#1355a1!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}

/* The final quote invitation remains an immersive navy section; a pale divider
   visibly separates it from a shorter, slightly lighter blue footer. */
.site-footer {
  background:#0a2a4d;
  border-top:12px solid #e9f3fb;
  padding:clamp(36px,3.7vw,53px) 0 18px;
}
.site-footer .footer-grid {grid-template-columns:1.4fr .8fr 1fr;gap:clamp(25px,4vw,65px)}
.site-footer .footer-logo {width:154px;height:auto;margin-bottom:14px}
.site-footer strong {font-size:10px;letter-spacing:.17em;margin-bottom:10px}
.site-footer p {font-size:14px;line-height:1.65;margin-bottom:0}
.site-footer .footer-main p {max-width:390px}
.site-footer .footer-bottom {margin-top:28px;padding-top:15px;gap:15px;font-size:11px;line-height:1.5}
/* Avoid extra forced minimum height / scroll snapping for the site footer. */
body.bpv-at-home .site-footer {min-height:0;scroll-snap-align:none}

/* "Our Story" paragraph inserted on the Residence destination of the CTA. */
.bpv-residence-history {background:#f1f6fb;padding:clamp(57px,6.5vw,95px) 0;border-top:1px solid #e0eaf4;border-bottom:1px solid #e0eaf4}
.bpv-residence-history-inner{max-width:970px;margin-inline:auto}
.bpv-residence-history .kicker{margin-bottom:20px}
.bpv-residence-history h2{margin:0 0 24px;font-family:'Manrope',sans-serif!important;font-size:clamp(39px,4.5vw,64px);font-weight:500;line-height:1.17!important;letter-spacing:-.06em}
.bpv-residence-history p{font-family:'DM Sans',sans-serif;font-size:clamp(17px,1.5vw,20px);line-height:1.85;color:#445e73;max-width:850px;margin:0}

/* The Booking.com badge is fixed to the lower-right corner on some pages.
   Keep the footer's legal identifiers out of the badge's overlay area. */
@media(min-width:701px){.site-footer .footer-bottom{padding-right:105px}}
@media(max-width:1050px){
  .gallery-grid.apartment-gallery-grid{columns:2}
  .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .site-footer .footer-main{grid-column:1/-1}
}
@media(max-width:700px){
  .gallery-grid.apartment-gallery-grid{columns:1;column-gap:0}
  .apartment-gallery-grid .gallery-item,
  .apartment-gallery-grid .gallery-item.main,
  .apartment-gallery-grid .gallery-item:not(.main){margin-bottom:13px;border-radius:10px}
  .bpv-gallery-pending{min-height:205px;padding:46px 18px}
  .site-footer{padding:39px 0 20px;border-top-width:9px}
  .site-footer .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
  .site-footer .footer-main{grid-column:1/-1}
  .site-footer .footer-main p{max-width:560px}
  .site-footer .footer-logo{width:137px}
  .site-footer p{font-size:13px}
  .site-footer .footer-bottom{margin-top:24px;display:flex;flex-direction:column;gap:7px}
  .site-footer .footer-bottom span:last-child{max-width:calc(100% - 80px);overflow-wrap:anywhere}
  body.bpv-editorial-interior .bpv-residence-history-inner{width:calc(100% - 36px)}
}
/* Gallery keyboard and touch navigation; works with original ratios in full-view. */
.lightbox:has(.bpv-lightbox-count) img{max-width:min(88vw,1300px);max-height:85dvh}
.bpv-lightbox-prev,.bpv-lightbox-next{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  border:1px solid rgba(255,255,255,.28);border-radius:50%;
  background:rgba(4,21,45,.62);color:#fff;
  width:46px;height:46px;display:grid;place-items:center;
  font-size:26px;cursor:pointer
}
.bpv-lightbox-prev{left:clamp(8px,2vw,32px)}
.bpv-lightbox-next{right:clamp(8px,2vw,32px)}
.bpv-lightbox-prev:hover,.bpv-lightbox-next:hover{background:#1355a1}
.bpv-lightbox-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font:500 12px 'DM Sans',sans-serif;letter-spacing:.08em;color:#fff}
@media(max-width:700px){
  .bpv-lightbox-prev,.bpv-lightbox-next{width:37px;height:37px;font-size:23px}
  .lightbox:has(.bpv-lightbox-count) img{max-width:96vw;max-height:80dvh}
}
@media(max-width:380px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-main{grid-column:auto}}

@media(prefers-reduced-motion:reduce){.apartment-gallery-grid .gallery-item img{transition:none}}


/* SOURCE: bpv-v66-final-refinements.css */
/* Borgo Punta Villa · Atelier Blu 6.6
   Final visual refinements after V6.5 based on latest review.
*/
:root{
  --bpv66-ink:#2a3744;
  --bpv66-ink-soft:#51687c;
  --bpv66-panel:#082449;
  --bpv66-panel-2:#0a2b56;
  --bpv66-line:rgba(255,255,255,.09);
}
body{color:var(--bpv66-ink)}
body.bpv-editorial-interior,
body.bpv-editorial-interior :is(.page-hero,.apartment-title,.a-archive-hero,.archive-section,.apartment-content,.related-apartments,.bpv-detail-amenities,.bpv-residence-history){color:var(--bpv66-ink)}
body.bpv-editorial-interior :is(h1,h2,h3,h4,.a-heading,.page-hero h1,.apartment-title h1,.bpv-residence h1,.bpv-residence h2,.archive-section h3,.card h3){color:var(--bpv66-ink)}
body.bpv-editorial-interior :is(p,li,.lead,.apartment-pills,.bpv-detail-amenities p,.entry-content p){color:var(--bpv66-ink-soft)}

/* 1) Apartments archive hero: finally use a photographic hero instead of an empty block. */
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo{
  position:relative;
  padding:clamp(126px,13vw,182px) 0 clamp(78px,8vw,112px);
  background:linear-gradient(180deg,#edf4fa 0%,#edf4fa 100%);
  overflow:hidden;
}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,24,46,.56),rgba(6,24,46,.46)),var(--bpv-archive-hero-image) center/cover no-repeat;
}
.page-hero.apartment-archive-hero .container{position:relative;z-index:1}
.bpv-archive-hero-panel{
  max-width:min(760px,100%);
  padding:clamp(34px,4.4vw,54px);
  border-radius:32px;
  background:rgba(5,24,47,.34);
  border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 24px 80px rgba(5,18,34,.18);
}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-section-index,
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-heading,
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .lead{color:#fff}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .lead{max-width:680px;color:rgba(255,255,255,.86)}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-heading em{color:#b9d7f2}

/* 2) Placeholder / no-photo states centered everywhere. */
.card-photo:has(>span){display:grid;place-items:center;text-align:center;padding:22px}
.card-photo>span{display:block;width:100%;max-width:18ch;margin-inline:auto;text-align:center}
.bpv-gallery-pending,.gallery-empty.bpv-gallery-pending{text-align:center;align-items:center;justify-content:center}
.bpv-gallery-pending p{max-width:18ch;margin:0 auto}

/* 3) Uniform single-room descriptions. */
.apartment-content{padding-top:84px;padding-bottom:92px}
.apartment-main-copy{max-width:760px}
.apartment-main-copy .entry-content{display:grid;gap:18px}
.apartment-main-copy .entry-content > *{margin:0}
.apartment-main-copy .entry-content .bpv-room-summary{
  font-size:clamp(20px,2vw,28px);
  line-height:1.5;
  letter-spacing:-.028em;
  color:var(--bpv66-ink);
  max-width:720px;
}
.apartment-main-copy .entry-content h3{
  font-family:'Manrope',sans-serif;
  font-size:clamp(26px,2.2vw,34px);
  line-height:1.18;
  letter-spacing:-.045em;
  color:var(--bpv66-ink);
  margin-top:14px;
}
.apartment-main-copy .entry-content p{font-size:17px;line-height:1.78;color:var(--bpv66-ink-soft);max-width:700px}
.apartment-main-copy .entry-content ul,
.apartment-main-copy .entry-content ol{
  padding:28px 30px 28px 34px;
  margin:6px 0 0;
  background:#f3f8fc;
  border:1px solid #dbe8f3;
  border-radius:22px;
}
.apartment-main-copy .entry-content li{font-size:17px;line-height:1.75;color:var(--bpv66-ink);padding-left:4px}
.apartment-main-copy .entry-content li+li{margin-top:8px}

/* 4) Residence “Our story” is now structured and editorial, not an empty plain block. */
.bpv-residence-history{
  background:linear-gradient(180deg,#eef5fc 0%,#f7fbff 100%);
  padding:clamp(68px,7vw,102px) 0;
  border-top:1px solid #e2ebf3;
  border-bottom:1px solid #e2ebf3;
}
.bpv-residence-history-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(28px,4.6vw,62px);align-items:start}
.bpv-residence-history-copy{max-width:760px}
.bpv-residence-history-copy h2{
  margin:0 0 22px;
  font-family:'Manrope',sans-serif!important;
  font-size:clamp(42px,4.7vw,68px);
  font-weight:500;
  line-height:1.04!important;
  letter-spacing:-.06em;
  color:var(--bpv66-ink);
}
.bpv-residence-history-copy p{font-size:clamp(17px,1.48vw,20px);line-height:1.82;color:var(--bpv66-ink-soft);margin:0}
.bpv-residence-history-facts{display:grid;gap:14px}
.bpv-residence-history-facts article{
  background:#fff;
  border:1px solid rgba(14,68,117,.08);
  border-radius:24px;
  padding:24px 24px 22px;
  box-shadow:0 18px 38px rgba(32,69,99,.05);
}
.bpv-residence-history-facts span{display:block;font:600 12px/1 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#2f79c0;margin-bottom:16px}
.bpv-residence-history-facts strong{display:block;font:500 clamp(24px,2vw,29px)/1.1 'Manrope',sans-serif;letter-spacing:-.04em;color:var(--bpv66-ink);margin-bottom:8px}
.bpv-residence-history-facts p{font-size:15px;line-height:1.65;color:var(--bpv66-ink-soft);margin:0}

/* 5) Residence island section: cleaner integration, no awkward rounded-photo look. */
.bpv-residence-island{background:#072249;overflow:hidden}
.bpv-residence-island-grid{align-items:stretch}
.bpv-residence-island-photo,
.bpv-residence-island-photo img{border-radius:0!important}
.bpv-residence-island-photo{position:relative;min-height:700px;background:#103763}
.bpv-residence-island-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,34,73,.08),rgba(7,34,73,0) 20%)}
.bpv-residence-island-copy{padding-block:clamp(82px,8vw,118px)}
.bpv-residence-island .button-primary.light{
  background:#fff!important;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;border-color:#fff!important;
}
.bpv-residence-island .button-primary.light:hover{background:#dceeff!important;border-color:#dceeff!important;color:#0b3269!important}

/* 6) Footer: remove crude white divider / mismatched blue; replace with one elegant shell. */
.site-footer{
  background:#072249;
  border-top:0!important;
  padding:clamp(30px,3.4vw,44px) 0 22px;
  color:#fff;
}
.site-footer .footer-shell{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:clamp(26px,3.6vw,40px) clamp(24px,3vw,42px) 18px;
  box-shadow:0 16px 56px rgba(2,15,30,.12);
}
.site-footer .footer-grid{grid-template-columns:1.2fr .85fr 1fr;gap:clamp(24px,4vw,62px)}
.site-footer .footer-logo{width:152px;margin-bottom:16px}
.site-footer strong{display:block;margin-bottom:12px;color:#bfcfe0;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.site-footer p,
.site-footer a,
.site-footer .footer-bottom span{color:rgba(255,255,255,.9)}
.site-footer a:hover{color:#fff}
.site-footer .footer-main p{max-width:420px;font-size:15px;line-height:1.72}
.site-footer .footer-bottom{
  display:flex;justify-content:space-between;gap:16px;align-items:flex-start;
  margin-top:24px;padding-top:16px;border-top:1px solid var(--bpv66-line);
  font-size:11px;line-height:1.5;color:rgba(255,255,255,.72)
}
body.bpv-at-home .site-footer{min-height:0;scroll-snap-align:none}
@media(min-width:701px){.site-footer .footer-bottom{padding-right:105px}}

/* 7) Fix white unreadable clickable controls and placeholders. */
.site-header.bpv-header-over-hero .desktop-menu .button-primary.mini,
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu .button-primary.mini{
  color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;
  background:#fff!important;border:1px solid rgba(255,255,255,.75)!important;
}
.site-header.bpv-header-over-hero .desktop-menu .button-primary.mini:hover{
  background:#e7f1fb!important;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;
}
:is(input,textarea,select)::placeholder{color:#74879a!important;opacity:1}
:is(input,textarea,select){color:var(--bpv66-ink)}
.button-primary.light,
.places-index-cta .button-primary.light,
.bpv62-cta .button-primary.light,
.final-cta .button-primary.light,
.where-parking-section .button-primary.light{
  background:#fff!important;color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;border-color:#fff!important;
}
.button-primary.light:hover,
.places-index-cta .button-primary.light:hover,
.bpv62-cta .button-primary.light:hover,
.final-cta .button-primary.light:hover,
.where-parking-section .button-primary.light:hover{
  background:#e5f0fb!important;color:#0b3269!important;border-color:#e5f0fb!important;
}
.hero .button-ghost,.hero .button-outline,.a-hero-actions .a-button-text{color:#fff}

/* 8) Final mobile/tablet tuning. */
@media(max-width:1080px){
  .bpv-residence-history-grid{grid-template-columns:1fr}
  .site-footer .footer-grid{grid-template-columns:1fr 1fr}
  .site-footer .footer-main{grid-column:1 / -1}
}
@media(max-width:700px){
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo{padding:104px 0 58px}
  .bpv-archive-hero-panel{padding:24px 22px 23px;border-radius:24px}
  .apartment-content{padding-top:64px;padding-bottom:74px}
  .apartment-main-copy .entry-content ul,
  .apartment-main-copy .entry-content ol{padding:22px 20px 22px 28px;border-radius:18px}
  .bpv-residence-history{padding:64px 0}
  .bpv-residence-history-facts article{padding:20px 18px 19px;border-radius:20px}
  .bpv-residence-island-photo{min-height:420px}
  .site-footer .footer-shell{border-radius:24px;padding:24px 20px 18px}
  .site-footer .footer-grid{grid-template-columns:1fr;gap:18px}
  .site-footer .footer-main{grid-column:auto}
  .site-footer .footer-bottom{flex-direction:column;gap:7px;padding-right:0}
}


/* SOURCE: bpv-v67-warmth-and-legibility.css */
/* Borgo Punta Villa · Atelier Blu 6.7
   Warmth, contrast and hero refinements requested in the latest review.
*/
:root{
  --bpv67-light:#ffffff;
  --bpv67-soft:#d8eaf8;
  --bpv67-soft-2:#e7f3fc;
  --bpv67-warm:#f7f3ec;
  --bpv67-warm-line:#ebe2d5;
}

/* 1) Restore legibility on dark and photographic sections. */
body.bpv-editorial-interior :is(
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo,
  .bpv-residence-gallery-quote,
  .bpv-residence-island,
  .where-parking-section,
  .places-index-hero,
  .place-card-media,
  .places-index-cta,
  .bpv62-cta
){color:var(--bpv67-light)}

body.bpv-editorial-interior :is(
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo,
  .bpv-residence-gallery-quote,
  .bpv-residence-island,
  .where-parking-section,
  .places-index-hero,
  .place-card-media,
  .places-index-cta,
  .bpv62-cta
) :is(h1,h2,h3,h4,.a-heading,.kicker,.a-section-index,.bpv62-cta-eyebrow,.place-card-kicker,.place-card-link){color:var(--bpv67-light)!important;-webkit-text-fill-color:var(--bpv67-light)}

body.bpv-editorial-interior :is(
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo,
  .bpv-residence-gallery-quote,
  .bpv-residence-island,
  .where-parking-section,
  .places-index-hero,
  .place-card-media,
  .places-index-cta,
  .bpv62-cta
) :is(em,.bpv-accent,.kicker.light,.bpv62-cta-eyebrow,.place-card-kicker){color:var(--bpv67-soft)!important;-webkit-text-fill-color:var(--bpv67-soft)}

body.bpv-editorial-interior :is(
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo,
  .bpv-residence-gallery-quote,
  .bpv-residence-island,
  .where-parking-section,
  .places-index-hero,
  .place-card-media,
  .places-index-cta,
  .bpv62-cta
) :is(p,li,.lead,.place-card-copy p){color:rgba(255,255,255,.86)!important;-webkit-text-fill-color:rgba(255,255,255,.86)}

body.bpv-editorial-interior :is(.bpv-residence-gallery-quote,.bpv-residence-island,.where-parking-section,.places-index-hero,.places-index-cta,.bpv62-cta) :is(h1,h2) em{color:var(--bpv67-soft)!important;-webkit-text-fill-color:var(--bpv67-soft)}

/* 2) Apartments hero like the homepage: no frosted box, only a blue left gradient over the selected photo. */
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo{
  position:relative;
  padding:clamp(132px,13vw,188px) 0 clamp(78px,8vw,110px);
  overflow:hidden;
  background:#0a2a54;
}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,24,46,.88) 0%,rgba(6,24,46,.80) 28%,rgba(6,24,46,.48) 52%,rgba(6,24,46,.14) 74%,rgba(6,24,46,.10) 100%),
    linear-gradient(180deg,rgba(6,24,46,.18),rgba(6,24,46,.40)),
    var(--bpv-archive-hero-image) center/cover no-repeat;
}
.page-hero.apartment-archive-hero .container{position:relative;z-index:1}
.bpv-archive-hero-panel{
  max-width:min(780px,100%);
  padding:0;
  background:none;
  border:0;
  border-radius:0;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-section-index{margin-bottom:18px}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-heading{
  max-width:950px;
  color:#fff!important;
}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .a-heading em{color:var(--bpv67-soft)!important;-webkit-text-fill-color:var(--bpv67-soft)}
.page-hero.apartment-archive-hero.bpv-archive-hero-has-photo .lead{
  max-width:660px;
  color:rgba(255,255,255,.84)!important;
}

/* 3) Residence history: warmer and less aseptic, with an integrated photo. */
.bpv-residence-history{
  background:linear-gradient(180deg,var(--bpv67-warm) 0%,#eff4fa 100%);
  padding:clamp(72px,7.4vw,106px) 0;
  border-top:1px solid var(--bpv67-warm-line);
  border-bottom:1px solid #dfe8f2;
}
.bpv-residence-history-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.95fr);
  gap:clamp(30px,4.4vw,62px);
  align-items:start;
}
.bpv-residence-history-copy{max-width:740px;padding-top:8px}
.bpv-residence-history-copy .kicker{color:#2f79c0}
.bpv-residence-history-copy h2{
  margin:0 0 22px;
  font-size:clamp(44px,4.9vw,72px);
  line-height:1.03!important;
  letter-spacing:-.062em;
}
.bpv-residence-history-copy p{
  margin:0;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.88;
  color:#50687b;
}
.bpv-residence-history-aside{display:grid;gap:18px}
.bpv-residence-history-photo{
  margin:0;
  background:#fff;
  border:1px solid rgba(21,63,99,.08);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 48px rgba(27,63,91,.08);
}
.bpv-residence-history-photo img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.bpv-residence-history-photo figcaption{
  padding:15px 18px 17px;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#446075;
}
.bpv-residence-history-facts{display:grid;gap:14px}
.bpv-residence-history-facts article{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(14,68,117,.08);
  border-radius:24px;
  padding:24px 24px 22px;
  box-shadow:0 14px 32px rgba(32,69,99,.05);
}
.bpv-residence-history-facts span{display:block;font:600 12px/1 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#2f79c0;margin-bottom:16px}
.bpv-residence-history-facts strong{display:block;font:500 clamp(24px,2vw,29px)/1.1 'Manrope',sans-serif;letter-spacing:-.04em;color:#2a3744;margin-bottom:8px}
.bpv-residence-history-facts p{font-size:15px;line-height:1.68;color:#51687c;margin:0}

/* 4) Caprera icon: stylised museum, coherent with the other cards. */
.bpv67-caprera-icon svg{display:block;width:30px;height:30px;margin:auto}

/* 5) Keep text readable in the residence gallery quote block. */
.bpv-residence-gallery-quote p{
  color:#fff!important;
  opacity:.84;
}
.bpv-gallery-inline-link{color:#fff!important}
.bpv-gallery-inline-link span{color:var(--bpv67-soft)!important}

@media(max-width:1080px){
  .bpv-residence-history-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .page-hero.apartment-archive-hero.bpv-archive-hero-has-photo{padding:112px 0 60px}
  .bpv-residence-history{padding:64px 0}
  .bpv-residence-history-photo{border-radius:22px}
  .bpv-residence-history-facts article{padding:20px 18px 18px;border-radius:20px}
}


/* SOURCE: bpv-v68-contrast-and-layout.css */
/* Borgo Punta Villa Atelier Blu v6.8.0
   Final targeted contrast and layout corrections. Loaded after v6.7.
   Light sections remain charcoal, dark sections use white and delicate sky blue.
*/
:root {--bpv68-navy: #061d3f; --bpv68-sky: #c7e5fa;}

/* Footer: preserve the lighter rounded shell; unify its outer background
   exactly with the navy invitation immediately above it. */
body .site-footer {
  background: var(--bpv68-navy) !important;
  border-top: 0 !important;
}
body .site-footer .footer-shell {
  background: linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.029));
}

/* Explicitly scope light typography to the actually DARK blocks.  Previous
   global editorial h1/h2/p rules were overwriting inherited light colours. */
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .places-index-hero, .place-card-media, .where-parking-section,
  .bpv62-cta, .bpv-residence-gallery-quote, .ferry-discount-mark,
  .bpv-parking-feature--dark, .where-story-section--dark,
  .page-hero.bpv-archive-hero-has-photo,
  .place-hero-v36
) :is(h1,h2,h3,h4,strong,.a-heading,.place-card-copy h2,.place-card-copy h3) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .places-index-hero, .place-card-media, .where-parking-section,
  .bpv62-cta, .bpv-residence-gallery-quote, .ferry-discount-mark,
  .bpv-parking-feature--dark, .where-story-section--dark,
  .page-hero.bpv-archive-hero-has-photo, .place-hero-v36
) :is(p,li,.lead,.bpv-residence-island-copy p,.place-card-copy p) {
  color:#e3edf6 !important;
  -webkit-text-fill-color:#e3edf6 !important;
  opacity:1;
}
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .places-index-hero, .place-card-media, .where-parking-section,
  .bpv62-cta, .bpv-residence-gallery-quote, .ferry-discount-mark,
  .bpv-parking-feature--dark, .where-story-section--dark,
  .page-hero.bpv-archive-hero-has-photo, .place-hero-v36
) :is(.kicker,.kicker.light,.a-section-index,.bpv62-cta-eyebrow,.place-card-kicker) {
  color:var(--bpv68-sky) !important;
  -webkit-text-fill-color:var(--bpv68-sky) !important;
  opacity:1;
}
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .places-index-hero, .place-card-media, .where-parking-section,
  .bpv62-cta, .bpv-residence-gallery-quote,
  .page-hero.bpv-archive-hero-has-photo, .place-hero-v36
) :is(h1,h2,h3,.a-heading) :is(em,.bpv-accent,.bpv-v63-italic) {
  color:var(--bpv68-sky) !important;
  -webkit-text-fill-color:var(--bpv68-sky) !important;
}
body.bpv-editorial-interior .place-card-media :is(a,.place-card-link,.place-card-link span),
body.bpv-editorial-interior .bpv-residence-gallery-quote :is(a,.bpv-gallery-inline-link) {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* White buttons must always have a dark navy label in default, hover and
   keyboard-focus states.  Avoid relying on inherited colour rules. */
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .where-parking-section, .bpv62-cta
) a.button-primary.light,
body.bpv-editorial-interior .bpv-residence-island a.button-primary.light,
body.bpv-editorial-interior .bpv62-cta a.bpv62-white-button {
  background:#fff !important;
  border-color:#fff !important;
  color:#0b3269 !important;
  -webkit-text-fill-color:#0b3269 !important;
}
body.bpv-editorial-interior :is(
  .bpv-residence-island, .bpv-residence-final, .bpv-photo-final,
  .bpv-stay-closing, .bpv-pool-page-cta, .places-index-cta,
  .where-parking-section, .bpv62-cta
) a.button-primary.light:is(:hover,:focus-visible),
body.bpv-editorial-interior .bpv62-cta a.bpv62-white-button:is(:hover,:focus-visible){
  background:#dfeefa !important;
  border-color:#dfeefa !important;
  color:#0b3269 !important;
  -webkit-text-fill-color:#0b3269 !important;
}
body.bpv-editorial-interior :is(.bpv-residence-island,.bpv62-cta) a.button-primary.light *,
body.bpv-editorial-interior .bpv62-cta a.bpv62-white-button *{
  color:#0b3269 !important;
  -webkit-text-fill-color:#0b3269 !important;
}
/* Existing blue primary CTAs retain white text, including their hover state. */
body.bpv-editorial-interior :is(.bpv-residence-final,.bpv-photo-final,.bpv-stay-closing,.where-parking-section,.places-index-cta)
 a.button-primary:not(.light){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#0b3269 !important;
  border-color:#0b3269 !important;
}
body.bpv-editorial-interior :is(.bpv-residence-final,.bpv-photo-final,.bpv-stay-closing,.where-parking-section,.places-index-cta)
 a.button-primary:not(.light):is(:hover,:focus-visible){
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  background:#1856a0 !important;border-color:#1856a0 !important;
}
body.bpv-editorial-interior .bpv62-cta a.bpv62-outline-button{
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}

/* The church image: no constrained container, no clipped top or blue vertical
   strip at right. Show original aspect ratio and make the photo flush to edge. */
body.bpv-editorial-interior .bpv-residence-island-grid{
  width:100%; max-width:none; padding:0; margin:0;
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:0; align-items:center;
}
body.bpv-editorial-interior .bpv-residence-island-photo{
  position:relative; align-self:center; width:100%; min-width:0;
  height:auto; min-height:0; padding:0; margin:0;
  background:transparent; border-radius:0 !important; overflow:visible;
}
body.bpv-editorial-interior .bpv-residence-island-photo img{
  display:block; width:100%; max-width:100%; height:auto;
  min-height:0 !important; border-radius:0 !important;
  object-fit:contain; object-position:center;
}
body.bpv-editorial-interior .bpv-residence-island-photo::after{display:none}
body.bpv-editorial-interior .bpv-residence-island-copy{min-width:0}

/* History: two simple editorial columns, only the story and the photograph. */
body.bpv-editorial-interior .bpv-residence-history-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(30px,5vw,82px); align-items:center;
}
body.bpv-editorial-interior .bpv-residence-history-aside{display:block;min-width:0}
body.bpv-editorial-interior .bpv-residence-history-photo{margin:0;}
body.bpv-editorial-interior .bpv-residence-history-photo img{
  width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;display:block;
}
/* In case a cached template still has cards, hide them visually. */
body.bpv-editorial-interior .bpv-residence-history-facts{display:none !important}

/* A descender and italic overhang need real breathing room, not a clipped box. */
body.bpv-editorial-interior .bpv-stay-practical-heading,
body.bpv-editorial-interior .bpv-stay-practical-heading h2{
  overflow:visible !important;
}
body.bpv-editorial-interior .bpv-stay-practical-heading h2{
  padding-left:.13em !important;
  padding-bottom:.22em !important;
  margin-left:0 !important;
  line-height:1.2 !important;
}
body.bpv-editorial-interior .bpv-stay-practical-heading h2 em{
  line-height:1.23 !important;
  padding-bottom:.2em !important;
  overflow:visible !important;
}
@media(max-width:980px){
  body.bpv-editorial-interior .bpv-residence-history-grid{grid-template-columns:1fr;gap:32px}
  body.bpv-editorial-interior .bpv-residence-island-grid{grid-template-columns:1fr}
  body.bpv-editorial-interior .bpv-residence-island-photo{order:-1}
}
@media(max-width:700px){
  body.bpv-editorial-interior .bpv-residence-island-photo img{width:100%;height:auto;min-height:0}
  body.bpv-editorial-interior .bpv-residence-history-photo{border-radius:22px}
}


/* SOURCE: bpv-v681-arc-continuity.css */
/* Borgo Punta Villa — Atelier Blu 6.8.1
   Arches drawn within the dark editorial sections.  Their opacity softly
   fades before section edges, avoiding abrupt clipping against adjoining
   navy backgrounds and preserving the original decorative language.
*/
body.bpv-editorial-interior :is(
  .bpv-residence-final,
  .bpv-photo-final,
  .bpv-pool-page-cta,
  .bpv-stay-closing,
  .places-index-cta,
  .bpv62-cta
)::before {
  content: "";
  position: absolute;
  inset: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: none;
  z-index: 0;
  /* Thin arcs and subtle translucent shapes stay inside this section. */
  background-image:
    radial-gradient(ellipse 34% 54% at 105% 51%, rgba(190,220,244,.037) 0 66%, transparent 67%),
    radial-gradient(ellipse 43% 62% at 105% 51%, transparent 73%, rgba(190,220,244,.12) 73.25%, transparent 73.65%),
    radial-gradient(ellipse 59% 83% at 105% 51%, transparent 76%, rgba(190,220,244,.075) 76.2%, transparent 76.55%),
    radial-gradient(ellipse 56% 78% at 105% 51%, rgba(190,220,244,.021) 0 74%, transparent 74.5%);
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 20%, #000 77%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 20%, #000 77%, transparent 100%);
}

/* Keep all actual content above decoration. */
body.bpv-editorial-interior :is(
  .bpv-residence-final,
  .bpv-photo-final,
  .bpv-pool-page-cta,
  .bpv-stay-closing,
  .places-index-cta,
  .bpv62-cta
) > .container { position:relative; z-index:1; }

@media(max-width:700px) {
  body.bpv-editorial-interior :is(
    .bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,
    .bpv-stay-closing,.places-index-cta,.bpv62-cta
  )::before {
    background-image:
      radial-gradient(ellipse 73% 44% at 123% 50%,rgba(190,220,244,.034) 0 66%,transparent 67%),
      radial-gradient(ellipse 90% 57% at 123% 50%,transparent 73%,rgba(190,220,244,.11) 73.2%,transparent 73.7%),
      radial-gradient(ellipse 110% 78% at 123% 50%,transparent 76%,rgba(190,220,244,.065) 76.1%,transparent 76.6%);
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 23%, #000 75%,transparent 100%);
    mask-image:linear-gradient(to bottom, transparent 0%, #000 23%, #000 75%,transparent 100%);
  }
}


/* SOURCE: bpv-v69-gallery-stability.css */
/* Borgo Punta Villa — 6.9.0. Stable, justified apartment photo rows.
 * Removes the automatic CSS multicolumn rebalance during image downloads.
 * Rows follow Eagle Booking slider order; image dimensions are reserved
 * server-side so loading an image never changes its neighbors' positions.
 */
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 14px !important;
  columns: auto !important;
  column-count: auto !important;
  column-gap: normal !important;
  column-fill: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row {
  display: flex;
  flex-flow: row nowrap;
  gap: 14px;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
}
body.bpv-editorial-interior .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item,
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item,
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item.main,
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item:not(.main) {
  /* Each image receives a share of the row proportional to its real aspect ratio.
     Every image in the same row therefore has the same natural height. */
  flex: var(--bpv-photo-ratio, 1.333333) 1 0% !important;
  width: 0;
  min-width: 0;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  aspect-ratio: var(--bpv-photo-ratio, 1.333333);
  display: block;
  position: relative;
  padding: 0;
  break-inside: auto;
  overflow: hidden;
  border-radius: 12px;
  background: #e9f1f7;
  line-height: 0;
}
body.bpv-editorial-interior .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row .gallery-item img,
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row .gallery-item img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center;
}
/* A gallery with just one image should not produce a 1200-pixel-tall column. */
.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row--one { max-width: 850px; margin-inline: auto; }
@media (max-width: 900px) {
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row {gap: 10px;}
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered {gap: 10px !important;}
}
@media (max-width: 700px) {
  /* One image per line, in the original order, with a reserved natural height. */
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row {flex-direction: column; gap: 10px;}
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item,
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item.main,
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item:not(.main) {
    flex: none !important;
    width: 100%;
    margin: 0 !important;
    aspect-ratio: var(--bpv-photo-ratio, 1.333333);
    border-radius: 10px;
  }
  .apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row--one {max-width: 100%;}
}
@media (prefers-reduced-motion: reduce) {
  .apartment-gallery-grid.bpv-gallery-ordered .gallery-item img {transition: none !important;}
}


/* SOURCE: bpv-v610-editorial-gold.css */
/* BORGO PUNTA VILLA — ATELIER BLU 6.10
 * Editorial refinement informed by Tenuta Merlò experiences.
 * Preserve existing photos, font family, blue palette and scroll rhythm.
 * Satin-gold reserved for direct-quote actions and few fine accents.
 */
:root {
  --bpv-gold: #C8A66E;
  --bpv-gold-hover: #E0BC7E;
  --bpv-gold-deep: #977039;
  --bpv-gold-line: rgba(200,166,110,.50);
  --bpv-premium-ink: #263744;
  --bpv-premium-navy: #061D3F;
  --bpv-premium-cream: #FAF8F3;
}

/* Site-wide finishing touches: subtle refinement, never a palette reset. */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body :is(.a-heading,.a-display,.bpv62-cta h2,.bpv-residence h2,.page-hero h1) {
  text-wrap: balance;
}
body :is(.a-rooms-sub,.a-intro-bottom p,.a-pet-lead,.a-island-copy p,
         .bpv-residence-history-copy p,.where-story-copy p) {
  text-wrap: pretty;
}
body .a-section-index, body .kicker { font-variant-numeric: lining-nums; }

/* The reference site's restrained editorial discipline: slim brass markers. */
body :is(.a-intro,.a-rooms,.a-island,.a-gallery,.bpv-residence-history,
         .places-index-intro,.where-practical-section) .a-section-index::before,
body :is(.bpv-residence-history,.where-practical-section,.places-index-intro) .kicker::before {
  content: ''; display: inline-block; width: 24px; height: 1px;
  margin-right: 12px; vertical-align: middle; background: var(--bpv-gold-deep);
}
body .a-intro-bottom, body .a-rooms-title { column-gap: clamp(24px,4.4vw,70px); }
body .a-intro-bottom p { line-height: 1.75; }
body .a-category-grid { gap: clamp(16px,1.7vw,27px); }
body .a-category-photo { border-radius: 18px; isolation: isolate; }
body .a-category-photo img { transition: transform .7s ease, filter .4s ease; }
body .a-category:focus-within .a-category-photo img { transform: scale(1.025); }
body .a-category-caption { border-top: 1px solid rgba(17,67,110,.10); margin-top: 18px; padding-top: 22px; }
body .a-category-caption .a-index-num { color: var(--bpv-gold-deep); font-weight: 700; }
body .a-category-caption h3 { line-height: 1.18; }
body .a-category-arrow { box-shadow: 0 4px 14px rgba(0,27,60,.10); }
body .a-category:hover .a-category-arrow,
body .a-category:focus-within .a-category-arrow { background: var(--bpv-gold); color: var(--bpv-premium-navy); }
body .a-gallery-grid { gap: clamp(12px,1.2vw,20px); }
body .a-gallery-item { border-radius: 16px; }
body .a-gallery-item img { transition: transform .65s ease; }
body .a-gallery-item:focus-visible { outline-offset: 3px; }
body .bpv64-review-card {
  border-color: rgba(13,60,103,.13); border-radius: 20px;
  box-shadow: 0 12px 32px rgba(6,35,66,.045);
}
body .bpv64-review-card::before {
  content:''; display:block; width:35px; height:2px;
  background:var(--bpv-gold); margin-bottom: 24px; flex-shrink:0;
}
body .bpv64-review-card blockquote { font-style: normal !important; line-height:1.58; }
body .bpv64-review-card figcaption { border-top-color:rgba(13,60,103,.13); }
body .bpv-residence-history-photo { border-radius:20px; }
body .bpv-residence-history-photo figcaption { letter-spacing:.10em; }
body .bpv-gallery-pending { border-radius:18px; }
body .a-hero .a-hero-summary { line-height:1.72; }
body .a-experience-points li { padding-block:15px; }
body .a-pet-stamp { box-shadow: 0 12px 30px rgba(6,33,69,.10); }
body .a-archive-list .a-filters { margin-bottom: clamp(34px,4vw,57px); }
body .a-apartment-grid .card-photo { overflow:hidden; border-radius:16px; }
body .a-apartment-grid .card h3 { line-height:1.18; }
body .a-apartment-grid .card-detail-link { text-underline-offset:4px; }
body .site-footer .footer-shell { border-color:rgba(255,255,255,.11); }

/* Satin-gold quote CTA: explicit semantic class, independent of URL/language.
 * The navy label has >7:1 contrast against this gold.
 * Legacy versions carry !important rules; always override them here. */
body a.bpv-gold-cta,
body.bpv-at-home a.bpv-gold-cta,
body.bpv-editorial-interior a.bpv-gold-cta,
body .site-header .desktop-menu a.bpv-gold-cta,
body .site-header.bpv-header-over-hero .desktop-menu a.bpv-gold-cta,
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.bpv-gold-cta,
body .site-header .mobile-menu a.bpv-gold-cta,
body :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta,
body.bpv-editorial-interior :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta {
  display:inline-flex !important;
  align-items:center; justify-content:center; gap: clamp(12px,1.4vw,22px);
  padding: 13px clamp(22px,2vw,34px) !important;
  min-height: 52px;
  width: fit-content; max-width:100%;
  background:var(--bpv-gold) !important;
  border:1px solid var(--bpv-gold) !important;
  border-radius:999px !important;
  box-shadow:0 8px 22px rgba(6,29,63,.09);
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:clamp(12px,.84vw,14px); font-weight:700;
  letter-spacing:.035em; line-height:1.3;
  text-decoration:none !important;
  text-align:center;
  transform:translateY(0);
  opacity:1 !important; visibility:visible !important;
  transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
body a.bpv-gold-cta :is(span,svg,i),
body.bpv-editorial-interior a.bpv-gold-cta :is(span,svg,i),
body .site-header a.bpv-gold-cta :is(span,svg,i) {
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}
body a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body.bpv-editorial-interior a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body .site-header .desktop-menu a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body .site-header .mobile-menu a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body.bpv-editorial-interior :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta:is(:hover,:focus-visible,:active) {
  background:var(--bpv-gold-hover) !important;
  border-color:var(--bpv-gold-hover) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
  box-shadow:0 12px 26px rgba(6,29,63,.14);
  transform:translateY(-2px);
}
body a.bpv-gold-cta:focus-visible {
  outline:3px solid #fff !important; outline-offset:3px !important;
}
/* Header is a compact golden invitation; other navigation stays blue/white. */
body .site-header .desktop-menu a.bpv-gold-cta { min-height:43px; padding:10px 20px !important; font-size:11px; white-space:nowrap; }
body .site-header .mobile-menu a.bpv-gold-cta { width:100%; justify-content:center; }

/* Header legacy contrast selectors are unusually specific: override both
 * the transparent-on-hero and solid-on-scroll states unambiguously. */
body .site-header .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu a.button-primary.mini.bpv-gold-cta {
  background:var(--bpv-gold) !important;
  border-color:var(--bpv-gold) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}
body .site-header .desktop-menu a.button-primary.mini.bpv-gold-cta:is(:hover,:focus-visible),
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.button-primary.mini.bpv-gold-cta:is(:hover,:focus-visible) {
  background:var(--bpv-gold-hover) !important;
  border-color:var(--bpv-gold-hover) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}

/* A text CTA linking to the quote also becomes a real golden button. */
body .a-pet-copy a.a-inline-link.bpv-gold-cta { margin-top:10px; }
/* Header dropdown remains unobstructed and other blue buttons retain their color. */

/* Small gold details in the conversion funnel, not gold wallpaper. */
body .a-cta .a-section-index::before,
body .bpv62-cta .bpv62-cta-eyebrow::before,
body .places-index-cta .kicker::before {
  content:'';display:inline-block;width:24px;height:1px;margin-right:13px;
  vertical-align:middle;background:var(--bpv-gold);
}
body .a-cta .a-section-index,
body .bpv62-cta .bpv62-cta-eyebrow { color:#dcecf7 !important; }
body .quote-page .kicker, body .bpv-quote-step-number { color:var(--bpv-gold-deep); }
body .bpv-residence-history-copy .kicker::before { background:var(--bpv-gold-deep); }

/* Preserve responsive readability and comfortable touch targets. */
@media (max-width:1000px) {
  body .a-category-grid { gap:16px; }
  body .a-category-caption { margin-top:12px; }
}
@media (max-width:700px) {
  body .a-category-grid { gap:22px; }
  body .a-category-caption { margin-top:12px; }
  body .bpv64-review-card { border-radius:17px; }
  body .a-category-photo, body .a-gallery-item { border-radius:14px; }
  body .site-header .mobile-menu a.bpv-gold-cta { min-height:48px; }
  body a.bpv-gold-cta { min-height:49px; padding:12px 21px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body a.bpv-gold-cta, body .a-category-photo img, body .a-gallery-item img { transition:none !important; }
  body a.bpv-gold-cta:is(:hover,:focus-visible) { transform:none; }
}


/* SOURCE: bpv-v611-seasons.css */
/* Borgo Punta Villa V6.11 — season experiences, uninterrupted navy, gold quote actions. */
:root{--bpv-season-gold:#c8a66e;--bpv-season-navy:#061d3f;--bpv-season-blue:#b9dff6;--bpv-season-ink:#263744}
/* Remove semicircular / halo decoration from all navy editorial panels. */
body.bpv-editorial-interior :is(.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.bpv-stay-closing,.places-index-cta,.bpv62-cta)::before{content:none!important;display:none!important;background:none!important;border:0!important;box-shadow:none!important}
body :is(.a-cta,.a-hero,.a-island,.a-experience,.bpv-exp-final)::before{border-radius:0}
/* Additional quote buttons created in editors or third-party blocks are gold too. */
body :is(a.button-primary,a.button-outline,a.button-ghost,a.wp-block-button__link,a.vc_btn3,a.wpb_button,a.elementor-button)[href*="richiedi-preventivo"],
body :is(a.button-primary,a.button-outline,a.button-ghost,a.wp-block-button__link,a.vc_btn3,a.wpb_button,a.elementor-button)[href*="request-a-quote"],
body :is(a.button-primary,a.button-outline,a.button-ghost,a.wp-block-button__link,a.vc_btn3,a.wpb_button,a.elementor-button)[href*="demande-de-devis"],
body :is(a.button-primary,a.button-outline,a.button-ghost,a.wp-block-button__link,a.vc_btn3,a.wpb_button,a.elementor-button)[href*="angebot-anfragen"],
body :is(a.button-primary,a.button-outline,a.button-ghost,a.wp-block-button__link,a.vc_btn3,a.wpb_button,a.elementor-button)[href*="solicitar-presupuesto"],
body .quote-page .quote-form-card button[type=submit],body button.button-primary.bpv-gold-cta[type=submit]{background:var(--bpv-season-gold)!important;border-color:var(--bpv-season-gold)!important;color:var(--bpv-season-navy)!important;-webkit-text-fill-color:var(--bpv-season-navy)!important}
body .quote-page .quote-form-card button[type=submit]:hover{background:#e0bc7e!important;border-color:#e0bc7e!important}
body .site-footer a.bpv-exp-footer-quote{color:#ddc191!important}
/* Header: one compact, keyboard-friendly experiences menu. */
body .desktop-menu{gap:clamp(9px,.9vw,17px)}
.bpv-nav-experiences{position:relative;display:block;color:#26323d;z-index:220}
.bpv-nav-experiences summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:38px 0;font-size:inherit;font-weight:inherit;white-space:nowrap;outline-offset:4px}
.bpv-nav-experiences summary::-webkit-details-marker{display:none}
.bpv-nav-experiences summary::after{content:'⌄';font-size:13px;color:inherit}
.bpv-nav-experiences[open] summary{color:#0b3269}
.bpv-nav-experiences-panel{position:absolute;left:-22px;top:75%;width:234px;background:#fff;border:1px solid #dbe6ee;border-radius:17px;padding:10px;box-shadow:0 18px 35px rgba(4,30,61,.15);z-index:230;display:grid;gap:3px}
.bpv-nav-experiences-panel a{display:block;padding:13px 12px;color:#263744!important;border-radius:10px;font-size:13px;line-height:1.4}
.bpv-nav-experiences-panel a:hover,.bpv-nav-experiences-panel a:focus-visible{background:#ecf5fb;color:#0b3269!important}
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled) .bpv-nav-experiences summary{color:#fff}
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled) .bpv-nav-experiences-panel a{color:#263744!important}
.mobile-menu .bpv-exp-mobile-link{padding-left:20px;font-size:14px}
/* Experiences layout */
.bpv-exp-page{background:#fff;color:var(--bpv-season-ink);font-family:'DM Sans',Arial,sans-serif}
.bpv-exp-page *{box-sizing:border-box}
.bpv-exp-page .container{width:min(1360px,calc(100% - 96px));margin-inline:auto}
.bpv-exp-hero{min-height:clamp(600px,76svh,890px);background:#07264a;position:relative;display:flex;align-items:center;overflow:hidden;padding:clamp(125px,11vw,180px) 0 clamp(95px,8vw,140px)}
.bpv-exp-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,49,.9) 0%,rgba(5,24,49,.77) 29%,rgba(5,24,49,.40) 64%,rgba(5,24,49,.19) 100%),linear-gradient(180deg,rgba(5,24,49,.17),rgba(5,24,49,.38)),var(--bpv-exp-hero,linear-gradient(130deg,#194a71,#082145)) center/cover no-repeat}
.bpv-exp-hero-content{position:relative;z-index:2}
.bpv-exp-eyebrow,.bpv-exp-kicker{font-size:11px!important;line-height:1.5;letter-spacing:.23em!important;font-weight:700;text-transform:uppercase}
.bpv-exp-hero .bpv-exp-eyebrow{color:#e9e0d0!important;margin:0 0 30px}
.bpv-exp-hero h1{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.05;letter-spacing:-.07em;font-size:clamp(60px,8vw,132px);color:#fff!important;margin:0 0 36px;max-width:1080px;padding-bottom:.12em}
.bpv-exp-hero h1 em,.bpv-exp-page h2 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.025em;color:var(--bpv-season-blue)!important}
.bpv-exp-hero-lead{font-size:clamp(18px,1.65vw,24px);max-width:700px;line-height:1.75;color:rgba(255,255,255,.92)!important;margin:0 0 40px}
.bpv-exp-hero-explore{color:#fff!important;display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid rgba(255,255,255,.44);padding-bottom:9px;font-size:14px;font-weight:650}
.bpv-exp-hero-explore span{color:#d9b97f;font-size:20px}
.bpv-exp-intro{padding:clamp(78px,8vw,135px) 0;background:#f3f8fc}
.bpv-exp-intro-grid{display:grid;grid-template-columns:.46fr 1fr;gap:clamp(32px,5vw,92px)}
.bpv-exp-intro .bpv-exp-kicker,.bpv-exp-page .bpv-exp-feature .bpv-exp-kicker,.bpv-exp-collection .bpv-exp-kicker,.bpv-exp-extra .bpv-exp-kicker,.bpv-exp-cross-season .bpv-exp-kicker{color:#216dad!important;margin:0 0 20px}
.bpv-exp-page h2{font-family:'Manrope',sans-serif;letter-spacing:-.058em;line-height:1.11;font-weight:500;font-size:clamp(38px,4.6vw,68px);margin:0 0 26px;color:#263744!important;padding-bottom:.10em}
.bpv-exp-intro p,.bpv-exp-feature-copy>p:not(.bpv-exp-kicker),.bpv-exp-cross-season p{font-size:clamp(17px,1.25vw,20px);line-height:1.75;color:#50687c;margin:0 0 23px}
.bpv-exp-feature{padding:clamp(80px,9vw,145px) 0;background:#fff}
.bpv-exp-feature-reverse{background:#f5f9fc}
.bpv-exp-feature-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(34px,5.4vw,93px)}
.bpv-exp-feature-reverse .bpv-exp-feature-grid{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr)}
.bpv-exp-photo{overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#aac4d8,#e6edf3);min-height:420px}
.bpv-exp-photo-main img{width:100%;height:100%;min-height:clamp(430px,39vw,580px);aspect-ratio:4/4.3;object-fit:cover;display:block}
.bpv-exp-photo-empty{min-height:480px;display:grid;place-items:center;background:linear-gradient(135deg,#d8e8f4,#7ba7c7)}
.bpv-exp-empty-mark{font-family:Georgia,serif;font-size:140px;font-weight:300;color:rgba(255,255,255,.72)}
.bpv-exp-feature-copy h2{margin-bottom:24px}
.bpv-exp-feature-copy .bpv-exp-note{padding:17px 18px 17px 20px;border-left:2px solid #c8a66e;font-size:15px!important;line-height:1.66!important;background:#f6f9fb;margin-bottom:22px}
.bpv-exp-text-link{color:#0b4679!important;font-size:15px;font-weight:700;text-decoration:none;border-bottom:1px solid #bd9a62;padding-bottom:5px;display:inline-block;width:fit-content;margin:8px 0}
.bpv-exp-text-link:hover{color:#946a33!important}
.bpv-exp-source-box{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:24px;border-top:1px solid #d9e6ef;padding-top:24px}
.bpv-exp-source-box strong{font-size:17px;color:#263744}
.bpv-exp-source-box span{color:#526c80;line-height:1.65;font-size:15px}
.bpv-exp-route-wrap{padding-top:clamp(52px,6vw,92px)}
.bpv-exp-route-wrap h3{font-size:clamp(25px,2.3vw,34px);font-family:'Manrope',sans-serif;color:#263744;font-weight:500;letter-spacing:-.04em;margin:0 0 26px}
.bpv-exp-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bpv-exp-route{border:1px solid #dce8f0;border-radius:17px;padding:24px 20px;background:#f7fafc}
.bpv-exp-route-num,.bpv-exp-card-num{color:#9a763c;letter-spacing:.15em;font-size:12px;font-weight:750}
.bpv-exp-route h4{font-family:'Manrope',sans-serif;font-size:20px;line-height:1.35;letter-spacing:-.035em;color:#263744;margin:18px 0 16px}
.bpv-exp-route p{font-size:14px;line-height:1.6;color:#5c7385;margin:0}
.bpv-exp-footnote{font-size:13px;line-height:1.65;color:#6a7e8b;margin:20px 0 0}
.bpv-exp-collection,.bpv-exp-extra{padding:clamp(82px,8vw,128px) 0;background:#f2f7fa}
.bpv-exp-collection-soft{background:#fff}
.bpv-exp-section-heading{max-width:820px;margin-bottom:45px}
.bpv-exp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bpv-exp-card{padding:clamp(25px,3.2vw,42px);background:#fff;border:1px solid #dce8f1;border-radius:20px;min-height:265px;display:flex;flex-direction:column;align-items:flex-start}
.bpv-exp-collection-soft .bpv-exp-card{background:#f6f9fc}
.bpv-exp-card h3{font:500 clamp(23px,2vw,30px)/1.25 'Manrope',sans-serif;color:#263744;letter-spacing:-.048em;margin:22px 0 13px}
.bpv-exp-card p,.bpv-exp-added-copy{font-size:16px;line-height:1.7;color:#536a7b;margin:0}
.bpv-exp-card a{font-size:14px;font-weight:700;margin-top:22px;color:#0b4679!important}
.bpv-exp-added-image{display:block;width:100%;height:190px;object-fit:cover;border-radius:12px;margin-bottom:20px}
.bpv-exp-cross-season{background:#eaf3f9;padding:clamp(70px,7vw,110px) 0}
.bpv-exp-cross-grid{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.bpv-exp-cross-grid h2{font-size:clamp(33px,3.5vw,52px);margin:0 0 17px}
.bpv-exp-cross-grid p{margin:0;max-width:620px}
.bpv-exp-outline-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9bbbd3;border-radius:999px;padding:17px 24px;color:#0b3269!important;font-size:14px;font-weight:700;white-space:nowrap}
.bpv-exp-outline-link:hover{background:#fff}
.bpv-exp-final{padding:clamp(85px,9vw,135px) 0;background:#061d3f}
.bpv-exp-final-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.bpv-exp-final .bpv-exp-kicker{color:#d2e7f5!important}
.bpv-exp-final h2{color:#fff!important;max-width:800px}
.bpv-exp-final-grid p:not(.bpv-exp-kicker){color:#e0eaf2!important;line-height:1.75;font-size:18px;max-width:680px}
.bpv-exp-final a.bpv-gold-cta{align-self:center;white-space:nowrap}
.bpv-exp-editor-content{padding:50px 0}
.bpv-exp-editor-content-inner{max-width:900px;margin:auto;font-size:18px;line-height:1.75}
@media(max-width:1050px){.bpv-exp-page .container{width:calc(100% - 58px)}.bpv-exp-feature-grid,.bpv-exp-feature-reverse .bpv-exp-feature-grid{grid-template-columns:1fr}.bpv-exp-intro-grid{grid-template-columns:1fr}.bpv-exp-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv-exp-photo-main img{aspect-ratio:16/10}.bpv-exp-feature-reverse .bpv-exp-feature-copy{order:2}.bpv-exp-feature-reverse .bpv-exp-photo{order:1}.bpv-exp-final-grid{grid-template-columns:1fr}}
@media(max-width:700px){.bpv-exp-page .container{width:calc(100% - 36px)}.bpv-exp-hero{min-height:620px;padding:126px 0 80px}.bpv-exp-hero::before{background:linear-gradient(90deg,rgba(5,24,49,.90),rgba(5,24,49,.64)),var(--bpv-exp-hero,linear-gradient(130deg,#194a71,#082145)) center/cover no-repeat}.bpv-exp-hero h1{font-size:clamp(49px,12vw,80px)}.bpv-exp-hero-lead{font-size:17px}.bpv-exp-page h2{font-size:clamp(36px,9.5vw,54px)}.bpv-exp-feature,.bpv-exp-collection,.bpv-exp-intro,.bpv-exp-extra{padding:72px 0}.bpv-exp-photo{min-height:280px;border-radius:16px}.bpv-exp-photo-main img,.bpv-exp-photo-empty{min-height:300px}.bpv-exp-routes,.bpv-exp-cards{grid-template-columns:1fr}.bpv-exp-card{min-height:0}.bpv-exp-cross-grid{grid-template-columns:1fr}.bpv-exp-outline-link{width:fit-content;white-space:normal}}
@media(prefers-reduced-motion:reduce){.bpv-exp-page *{scroll-behavior:auto!important}}

@media(min-width:1025px) and (max-width:1490px){body .desktop-menu{gap:8px;font-size:11px}.bpv-nav-experiences summary{font-size:11px}}
/* Overlay-only decorations stay removed; content remains above normal sections. */
.bpv-exp-page a:focus-visible{outline:3px solid #c8a66e;outline-offset:4px}

.bpv-exp-home-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.bpv-exp-home-links a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:12px 16px;border:1px solid rgba(21,84,131,.30);border-radius:999px;color:#155582!important;font-size:13px;font-weight:700;background:rgba(255,255,255,.55);transition:background .2s,border-color .2s}
.bpv-exp-home-links a:hover,.bpv-exp-home-links a:focus-visible{background:#fff;border-color:#c8a66e}


/* SOURCE: bpv-v612-experiences.css */
/* Borgo Punta Villa | Atelier Blu 6.12.0
   Accessible Experiences navigation and sunlit, photographic summer page.
   The original navy/blue/satin-gold identity is deliberately preserved.
*/
:root{--bpv612-gold:#c8a66e;--bpv612-navy:#061d3f}
/* A compact and clearly recognizable desktop navigation item. */
.site-header .bpv-nav-experiences{position:relative;z-index:300;display:block;flex:0 0 auto}
.site-header .bpv-nav-experiences>summary{
  padding:28px 0;cursor:pointer;list-style:none;display:inline-flex;
  align-items:center;gap:8px;color:#243a51;font-size:inherit;font-weight:700;
  white-space:nowrap;outline-offset:6px;user-select:none
}
.site-header .bpv-nav-experiences>summary::-webkit-details-marker{display:none}
.site-header .bpv-nav-experiences>summary:after{content:'⌄';font-size:16px;font-weight:600;line-height:1;transform:translateY(-2px);transition:transform .2s}
.site-header .bpv-nav-experiences[open]>summary:after{transform:rotate(180deg) translateY(2px)}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .bpv-nav-experiences>summary{color:#fff}
.site-header .bpv-nav-experiences-panel{
  position:absolute;z-index:400;top:calc(100% - 7px);left:50%;transform:translateX(-50%);
  min-width:245px;max-width:min(350px,90vw);padding:10px;
  background:#fff;border:1px solid #dae6ef;box-shadow:0 24px 55px rgba(5,29,59,.18);
  border-radius:16px;display:grid;gap:3px
}
.site-header .bpv-nav-experiences-panel a{
  color:#19364c!important;-webkit-text-fill-color:#19364c!important;
  display:block;padding:13px 15px;min-height:45px;border-radius:10px;
  font-size:13px;font-weight:650;line-height:1.35;white-space:normal;
}
.site-header .bpv-nav-experiences-panel a:is(:hover,:focus-visible){background:#eff5f9;color:#0c4f7f!important}
.site-header .bpv-nav-experiences-panel a:first-child{border-bottom:1px solid #e1ebf0;border-radius:10px 10px 0 0}
.site-header .bpv-nav-experiences>summary:focus-visible{outline:2px solid var(--bpv612-gold)}
/* Visible mobile destination links; not hidden inside the desktop navigation. */
.bpv-mobile-experiences{margin:12px 0 10px;padding:17px 18px 11px;background:#eef5fb;border:1px solid #d5e5f0;border-radius:16px}
.bpv-mobile-exp-heading{display:block;color:#286e9f;font-size:10px;font-weight:750;letter-spacing:.17em;margin:2px 0 12px}
.mobile-menu .bpv-mobile-exp-link,
.site-header .mobile-menu .bpv-mobile-exp-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 1px;min-height:48px;border-bottom:1px solid #d7e5ef;color:#0d355a!important;font-weight:700;font-size:15px;text-decoration:none}
.mobile-menu .bpv-mobile-exp-link:last-child{border-bottom:0}
.mobile-menu .bpv-mobile-exp-link span{color:#ad8a53;font-weight:700;font-size:18px}
/* On laptop widths, collapse the long menu rather than letting entries disappear off-screen. */
@media(max-width:1480px){
  body .site-header .desktop-menu{display:none!important}
  body .site-header .menu-toggle{display:inline-flex!important;min-width:92px;min-height:44px;padding:0 16px;border:1px solid rgba(8,48,104,.18);border-radius:999px;align-items:center;justify-content:space-between;gap:13px;font-size:12px;cursor:pointer}
  body .site-header .nav{min-height:88px}
  body .site-header .official-logo{width:124px}
  body .site-header .mobile-menu{position:fixed;left:0;right:0;top:88px;z-index:350;max-height:calc(100dvh - 88px);overflow-y:auto;padding:14px max(28px,calc((100vw - 900px)/2)) 28px;background:#fff;border-top:1px solid #e0e9ef;box-shadow:0 24px 60px rgba(6,29,63,.12)}
  body .site-header .mobile-menu>a:not(.mobile-cta){display:flex;align-items:center;min-height:50px;padding:0;border-bottom:1px solid #dde8f1;font-size:15px}
  body .site-header .mobile-menu .mobile-cta{width:100%;margin-top:18px}
  body .site-header .menu-toggle i,body .site-header .menu-toggle i:before,body .site-header .menu-toggle i:after{display:block;width:15px;height:1px;background:currentColor;content:'';transition:.2s}
  body .site-header .menu-toggle i{position:relative}
  body .site-header .menu-toggle i:before{position:absolute;top:-5px}
  body .site-header .menu-toggle i:after{position:absolute;top:5px}
  body .site-header .menu-toggle[aria-expanded=true] i{background:transparent}
  body .site-header .menu-toggle[aria-expanded=true] i:before{top:0;transform:rotate(45deg)}
  body .site-header .menu-toggle[aria-expanded=true] i:after{top:0;transform:rotate(-45deg)}
}
@media(max-width:720px){
  body .site-header .nav{min-height:74px}
  body .site-header .mobile-menu{top:74px;max-height:calc(100dvh - 74px);padding:10px 20px 24px}
  body .site-header .official-logo{width:110px}
  body .site-header .menu-toggle{min-width:88px;min-height:42px;padding:0 14px}
}
/* Summer page: give the photography room, with editorial proportions and ample but not empty spacing. */
.bpv-exp-summer .bpv-exp-hero{min-height:clamp(630px,85svh,920px);padding:145px 0 106px}
.bpv-exp-summer .bpv-exp-hero::before{
  background:linear-gradient(90deg,rgba(4,24,49,.85) 0%,rgba(4,24,49,.68) 30%,rgba(4,24,49,.24) 70%,rgba(4,24,49,.13) 100%),
  linear-gradient(0deg,rgba(4,24,49,.27),transparent 55%),
  var(--bpv-exp-hero,linear-gradient(130deg,#13527b,#082145)) center/cover no-repeat,
  url(../img/hero-pool.webp) center/cover no-repeat;
}
.bpv-exp-summer .bpv-exp-hero h1 em{color:#d8ebf7!important}
.bpv-exp-summer .bpv-exp-intro{background:#f7fafc;padding:clamp(75px,7vw,110px) 0}
.bpv-exp-summer .bpv-exp-feature-sea{padding:clamp(76px,7.5vw,118px) 0;background:#fff}
.bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo{border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(13,49,79,.12)}
.bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:min(660px,54vw);min-height:460px;aspect-ratio:4/4.3;object-fit:cover;object-position:center}
.bpv-exp-summer .bpv-exp-feature-copy .bpv-exp-kicker{color:#266d9e!important}
.bpv-exp-summer .bpv-exp-feature-copy h2 em{color:#2382bc!important}
/* A genuinely photographic interlude makes the page feel like a destination, not a catalogue. */
.bpv-summer-postcards{padding:clamp(78px,7vw,112px) 0;background:#edf5fa}
.bpv-summer-postcards-heading{max-width:870px;margin:0 0 clamp(28px,3vw,45px)}
.bpv-summer-postcards-heading .bpv-exp-kicker{color:#216dad!important;margin-bottom:12px}
.bpv-exp-page .bpv-summer-postcards-heading h2{margin-bottom:0}
.bpv-exp-page .bpv-summer-postcards-heading h2 em{color:#2685bb!important}
.bpv-summer-postcards-grid{display:grid;grid-template-columns:1.17fr .86fr .86fr;gap:clamp(13px,1.35vw,22px)}
.bpv-summer-postcard{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:20px;min-height:clamp(360px,36vw,515px);background:linear-gradient(130deg,#7baac7,#1a496d)}
.bpv-summer-postcard img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .6s ease}
.bpv-summer-postcard:hover img{transform:scale(1.035)}
.bpv-summer-postcard::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(3,24,45,.12) 52%,rgba(3,24,45,.84) 100%)}
.bpv-summer-postcard figcaption{position:absolute;z-index:2;left:clamp(20px,2.2vw,33px);right:20px;bottom:clamp(24px,2.4vw,35px);display:grid;gap:12px}
.bpv-summer-postcard figcaption span{font:700 10px/1.6 'DM Sans',sans-serif;letter-spacing:.18em;color:#dceaf6}
.bpv-summer-postcard figcaption strong{font:500 clamp(24px,2.35vw,36px)/1.14 'Manrope',sans-serif;letter-spacing:-.05em;color:white}
.bpv-exp-summer .bpv-exp-collection{background:#fff;padding:clamp(70px,7vw,105px) 0}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card{background:#f4f8fb;border:1px solid #dce7f0;border-radius:19px;min-height:245px}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card h3{font-size:clamp(21px,1.8vw,27px)}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card:hover{border-color:rgba(200,166,110,.74);box-shadow:0 15px 33px rgba(22,52,79,.07)}
.bpv-summer-photo-credits{font:400 11px/1.7 'DM Sans',Arial,sans-serif;color:#718494;padding-top:19px;padding-bottom:28px}
.bpv-summer-photo-credits a{color:#55748c;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){
  .bpv-summer-postcards-grid{grid-template-columns:1fr 1fr}
  .bpv-summer-postcard-large{grid-column:1/-1;min-height:500px}
  .bpv-summer-postcard{min-height:360px}
  .bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:450px;min-height:0;aspect-ratio:16/10}
}
@media(max-width:700px){
  .bpv-exp-summer .bpv-exp-hero{min-height:670px;padding:125px 0 84px}
  .bpv-exp-summer .bpv-exp-hero::before{background:linear-gradient(90deg,rgba(4,24,49,.87),rgba(4,24,49,.34)),linear-gradient(0deg,rgba(4,24,49,.38),transparent 75%),var(--bpv-exp-hero,linear-gradient(130deg,#13527b,#082145)) center/cover no-repeat}
  .bpv-summer-postcards{padding:68px 0}
  .bpv-summer-postcards-grid{grid-template-columns:1fr;gap:13px}
  .bpv-summer-postcard,.bpv-summer-postcard-large{grid-column:auto;min-height:340px;border-radius:16px}
  .bpv-summer-postcard-large{min-height:390px}
  .bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:340px;aspect-ratio:1/1}
  .bpv-summer-photo-credits{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.bpv-summer-postcard img{transition:none}}


/* SOURCE: bpv-v614-navigation.css */
/* Borgo Punta Villa – V6.14.0: calm navigation hierarchy. */
/* The Experiences entry is one ordinary menu item: no coloured panel or special visual weight. */
.site-header .mobile-menu > a.bpv-mobile-exp-link,
body .site-header .mobile-menu > a.bpv-mobile-exp-link{
  display:flex!important;align-items:center;justify-content:flex-start;
  min-height:50px;margin:0;padding:0!important;
  border:0;border-bottom:1px solid #dde8f1!important;border-radius:0;
  background:transparent!important;box-shadow:none!important;
  color:#263746!important;-webkit-text-fill-color:#263746!important;
  font:inherit;font-size:15px!important;font-weight:400!important;letter-spacing:normal!important;
  text-transform:none!important;text-decoration:none!important;
}
body .site-header .mobile-menu > a.bpv-mobile-exp-link:is(:hover,:focus-visible){
  color:#0b3269!important;-webkit-text-fill-color:#0b3269!important;background:transparent!important;
}
.site-header .bpv-nav-experiences > summary{font-weight:inherit;font-size:inherit;letter-spacing:inherit}
.site-header .bpv-nav-experiences-panel a{font-weight:500}


/* SOURCE: bpv-v615-mobile.css */
/* Borgo Punta Villa · Atelier Blu 6.15.0
   Purpose-built responsive refinements. Desktop editorial design retained.
*/
:root { --bpv-mobile-gold:#c8a66e; --bpv-mobile-navy:#061d3f; }

/* The same line-drawn UI icon everywhere, never an OS-rendered Unicode emoji. */
.site-footer .footer-links{list-style:none;display:grid;grid-template-columns:1fr;gap:6px;margin:0;padding:0}
.site-footer .footer-links li{margin:0;padding:0;line-height:1.6}
.site-footer .footer-links a{display:inline-block;text-decoration:none;min-width:0;font-weight:400}
.site-footer .footer-links a:focus-visible{outline:2px solid var(--bpv-mobile-gold);outline-offset:3px}
.bpv-ui-arrow { display:inline-block;width:1.08em;height:1.08em;flex:0 0 auto;vertical-align:-.17em;stroke:currentColor;fill:none; }
a .bpv-ui-arrow,button .bpv-ui-arrow{pointer-events:none}
.a-category-arrow{display:grid;place-items:center}
.a-category-arrow .bpv-ui-arrow{width:19px;height:19px}
.a-button,.bpv62-white-button,.bpv62-outline-button{gap:clamp(11px,2.1vw,20px)}
.a-button .bpv-ui-arrow,.bpv62-white-button .bpv-ui-arrow,.bpv62-outline-button .bpv-ui-arrow{width:17px;height:17px}
.bpv-exp-text-link .bpv-ui-arrow,.a-inline-link .bpv-ui-arrow,.place-card-link .bpv-ui-arrow{width:16px;height:16px}

@media (max-width: 980px){
 /* Prevent fixed ribbons and inner pages from creating horizontal scrolling. */
 body{min-width:0;overflow-x:clip}
 main, .site-footer,.a-hero,.bpv-exp-page{min-width:0}
 .site-footer{padding:27px 0 21px!important}
 .site-footer>.container{width:calc(100% - 38px);max-width:650px}
 .site-footer .footer-shell{padding:29px 30px 21px!important;border-radius:24px!important}
 .site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:36px;row-gap:27px!important}
 .site-footer .footer-main{grid-column:1/-1;display:grid;justify-items:start;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:22px}
 .site-footer .footer-logo{display:block;width:159px;height:auto;margin:0 0 16px}
 .site-footer .footer-main p{font-size:14px;line-height:1.65;max-width:34ch;margin:0}
 .site-footer :is(.footer-nav-column,.footer-contact-column){min-width:0}
 .site-footer :is(.footer-nav-column,.footer-contact-column)>strong{font-size:10px;letter-spacing:.18em;margin-bottom:13px;color:#bfdae9}
 .site-footer :is(.footer-nav-column,.footer-contact-column)>p{font-size:13px;line-height:1.9;margin:0}
 .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px}
 .site-footer .footer-links li{font-size:13px;line-height:1.5}
 .site-footer .footer-contact-column :is(a,p){overflow-wrap:anywhere}
 .site-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:27px;padding-top:16px;padding-right:0!important;font-size:10px;line-height:1.6}
 .site-footer .footer-bottom>span{overflow-wrap:anywhere;max-width:100%;white-space:normal}
}
@media (max-width: 760px){
 /* Homepage: a quieter and intentional two-line hierarchy instead of large accidental wrapping. */
 body.bpv-at-home .a-hero{min-height:100svh;min-height:100dvh;max-height:none;align-items:flex-end;padding:110px 0 clamp(65px,11svh,98px)}
 body.bpv-at-home .a-hero .container{width:calc(100% - 40px)!important;max-width:560px;margin-inline:auto;min-width:0}
 body.bpv-at-home .a-hero-container{padding-bottom:0}
 body.bpv-at-home .a-hero .a-eyebrow{margin-bottom:16px;font-size:10px;letter-spacing:.19em;line-height:1.5}
 body.bpv-at-home .a-hero .a-display{
   font-family:'Manrope',Arial,sans-serif;font-size:clamp(36px,10.35vw,54px)!important;
   line-height:1.13!important;letter-spacing:-.057em!important;
   max-width:100%;padding:0 0 .18em!important;margin:0;
   font-weight:500;text-wrap:unset;overflow:visible;word-break:normal;
 }
 body.bpv-at-home .a-hero .a-display em{
   display:inline-block;font-family:'Instrument Serif',Georgia,serif;
   font-size:clamp(31px,9.5vw,50px)!important;
   font-weight:400;letter-spacing:-.026em;line-height:1.25!important;
   white-space:nowrap;max-width:100%;vertical-align:baseline;
 }
 body.bpv-at-home .a-hero-summary{max-width:36ch;margin:14px 0 22px;font-size:clamp(13px,3.5vw,15px)!important;line-height:1.58!important;color:#eff6fd!important;letter-spacing:0}
 body.bpv-at-home .a-hero-overlay{background:linear-gradient(0deg,rgba(4,24,51,.88) 0%,rgba(4,26,53,.62) 40%,rgba(4,26,53,.09) 93%)}
 body.bpv-at-home .a-hero .a-hero-img{object-position:58% center}
 body.bpv-at-home .a-hero-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
 body.bpv-at-home .a-hero-actions .a-button{min-height:48px;padding-inline:20px;font-size:11px;line-height:1.3;justify-content:center}
 body.bpv-at-home .a-hero-actions .a-button-text{width:auto;min-height:44px;padding:8px 0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.60)}
 body.bpv-at-home .a-hero-scroll{font-size:9px;left:20px;bottom:14px;opacity:.78}
 body.bpv-at-home .a-hero-index{right:20px;bottom:14px;font-size:9px;opacity:.72}
 /* More controlled rhythm in the sections after the hero. */
 body.bpv-at-home .a-section{padding-block:clamp(66px,11vw,92px)}
 body.bpv-at-home .a-section-index{font-size:10px;letter-spacing:.16em}
 body.bpv-at-home .a-heading{letter-spacing:-.06em}
 body.bpv-at-home .a-intro .a-heading,
 body.bpv-at-home .a-gallery .a-heading,
 body.bpv-at-home .a-reviews .a-heading{font-size:clamp(39px,9.1vw,66px);line-height:1.16!important}
 body.bpv-at-home .a-experience-copy .a-heading{font-size:clamp(45px,10vw,68px);line-height:1.13!important}
 body.bpv-at-home .a-gallery-grid{gap:9px}
 body.bpv-at-home .a-category-photo{border-radius:15px}
 body.bpv-at-home .a-category-caption{margin-top:13px;padding-top:14px}
 body.bpv-at-home .a-category-caption h3{font-size:clamp(25px,6.4vw,34px)}
 body.bpv-at-home .a-cta{min-height:0;padding:80px 0 90px}
 body.bpv-at-home .a-cta .a-heading{font-size:clamp(46px,10vw,68px);line-height:1.13!important}
 body.bpv-at-home .a-cta p{font-size:15px;line-height:1.7}
 /* Mobile inner pages: clearer headings, compact cards and comfortably sized controls. */
 body.bpv-editorial-interior :is(.bpv62-cta h2,.places-index-hero h1,.bpv-stay-hero h1,.page-hero h1){font-size:clamp(43px,10vw,66px);line-height:1.12!important}
 body.bpv-editorial-interior :is(.bpv-exp-card,.bpv-residence-essential,.where-practical-card){min-width:0}
 body.bpv-editorial-interior :is(.bpv-exp-page,.bpv-stay-guide,.bpv-residence) :is(h1,h2,h3){overflow-wrap:normal}
 body.bpv-editorial-interior .bpv62-cta{min-height:0;padding:85px 0 100px}
 body.bpv-editorial-interior .bpv62-cta-actions{width:100%}
 body.bpv-editorial-interior .bpv62-cta-actions a{max-width:100%;min-height:49px}
 .a-filter,.bpv-exp-outline-link,.bpv-stay-text-link{touch-action:manipulation}
}
@media (max-width: 530px){
 .site-footer>.container{width:calc(100% - 28px)}
 .site-footer .footer-shell{padding:26px 24px 18px!important;border-radius:22px!important}
 .site-footer .footer-grid{grid-template-columns:1fr!important;row-gap:24px!important}
 .site-footer .footer-main{padding-bottom:18px}
 .site-footer .footer-logo{width:146px;margin-bottom:12px}
 .site-footer .footer-main p{font-size:13px;max-width:36ch}
 .site-footer :is(.footer-nav-column,.footer-contact-column)>p{font-size:13px;line-height:1.9}
 .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
 .site-footer .footer-contact-column{border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
 .site-footer .footer-bottom{font-size:10px;gap:7px;margin-top:20px;padding-top:15px}
 .site-footer .footer-bottom span:nth-child(2){font-size:10px;letter-spacing:0}
 body.bpv-at-home .a-hero-actions{flex-direction:column;align-items:flex-start;gap:6px}
 body.bpv-at-home .a-hero-actions .bpv-gold-cta{min-width:min(100%,235px);max-width:100%;justify-content:space-between!important}
 body.bpv-at-home .a-hero-actions .a-button-text{width:auto;align-self:flex-start}
 body.bpv-at-home .a-hero .a-display{font-size:clamp(32px,10.1vw,46px)!important}
 body.bpv-at-home .a-hero .a-display em{font-size:clamp(28px,8.7vw,42px)!important}
 body.bpv-at-home .a-hero-summary{max-width:33ch}
 body.bpv-at-home .a-hero .a-eyebrow{font-size:9px}
 body.bpv-at-home .a-hero-index{display:none}
}
@media(max-width:365px){
 body.bpv-at-home .a-hero .a-display{font-size:32px!important}
 body.bpv-at-home .a-hero .a-display em{font-size:28px!important}
 body.bpv-at-home .a-hero .a-eyebrow{letter-spacing:.13em}
 body.bpv-at-home .a-hero-summary{font-size:13px!important}
 .site-footer .footer-shell{padding-inline:18px!important}
 .site-footer .footer-links{grid-template-columns:1fr;gap:7px}
}
@media(max-width:760px) and (max-height:690px){
 body.bpv-at-home .a-hero{padding-top:88px;padding-bottom:55px;min-height:700px}
 body.bpv-at-home .a-hero-summary{margin-block:10px 14px}
 body.bpv-at-home .a-hero-scroll{bottom:9px}
}
@media(prefers-reduced-motion:reduce){
 body.bpv-at-home .a-hero .a-hero-img{animation:none}
}


/* SOURCE: bpv-v616-gallery.css */
/* 6.16 — Defensive gallery visibility independent of older generic grid rules. */
body.single .gallery-wrap:has(.bpv-gallery-ordered) { display:block; visibility:visible; opacity:1; }
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row { visibility:visible; opacity:1; }
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item {
  display:block !important; visibility:visible !important; opacity:1 !important;
  content-visibility:visible; cursor:zoom-in;
}
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item img {
  display:block !important; visibility:visible !important; opacity:1 !important;
  color:transparent;
}
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item:focus-visible {
  outline:3px solid #226dad; outline-offset:3px;
}
@media(max-width:700px){
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row > .gallery-item {width:100% !important;}
}


/* SOURCE: bpv-v617-mobile-polish.css */
/* Atelier Blu 6.17 — Responsive photo integrity, accessibility and a quieter mobile rhythm.
   This is the final layer. Keep source images intact; do not crop genuine galleries. */

/* Hidden menus must remain hidden even if a future navigation rule uses display:flex. */
.site-header .mobile-menu[hidden],.site-header .language-popover[hidden],
.bpv-lightbox[hidden],.bpv-quote-step[hidden]{display:none!important}
html{scroll-padding-top:92px}
body.bpv-mobile-menu-open{overflow:hidden;overscroll-behavior:none}
.site-header .mobile-menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.site-header .mobile-menu a,.site-header .mobile-languages a{touch-action:manipulation}
.site-header .menu-toggle{touch-action:manipulation}

/* Ordered Eagle Booking gallery: reserve room on desktop, show each complete
   photo at its real intrinsic ratio on small screens (not a guessed 4:3). */
.gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item img{
  background:#f4f8fc;
}
@media(max-width:700px){
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered{
    gap:12px!important;
  }
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row{
    display:flex!important;flex-direction:column!important;gap:12px!important;
    align-items:stretch!important;max-width:100%;
  }
  body.bpv-editorial-interior .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item,
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item,
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item.main,
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item:not(.main){
    box-sizing:border-box;display:block!important;position:relative;
    flex:none!important;width:100%!important;height:auto!important;min-height:0!important;
    aspect-ratio:auto!important;margin:0!important;
    overflow:hidden;border-radius:12px;
  }
  body.bpv-editorial-interior .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item img,
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row>.gallery-item img{
    display:block!important;position:static!important;inset:auto!important;
    width:100%!important;height:auto!important;min-height:0!important;
    max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;
    object-fit:contain!important;object-position:center!important;
  }
  .apartment-title{padding-block:clamp(55px,9vw,76px) clamp(24px,5vw,40px)}
  .apartment-title .container,.apartment-content .container,.gallery-wrap .container{min-width:0}
  .gallery-wrap{padding:18px 0 48px}
  /* General residence photo gallery — mobile visitors see the whole photo. */
  body.bpv-editorial-interior .bpv-photo-hero-image,
  .bpv-photo-hero-image{
    display:block;aspect-ratio:auto!important;width:100%;height:auto!important;
    min-height:0!important;max-height:none!important;line-height:0;padding:0;
  }
  body.bpv-editorial-interior .bpv-photo-hero-image img,
  .bpv-photo-hero-image img{
    display:block;position:static!important;width:100%!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:auto!important;object-fit:contain!important;
  }
  .bpv-photo-grid{
    grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;
    grid-auto-rows:auto!important;gap:13px!important;
  }
  .bpv-photo-grid .bpv-photo-tile,
  .bpv-photo-grid .bpv-photo-tile.bpv-photo-wide,
  .bpv-photo-grid .bpv-photo-tile.bpv-photo-tall{
    display:block;grid-column:auto!important;grid-row:auto!important;
    width:100%;height:auto!important;min-height:0!important;
    aspect-ratio:auto!important;line-height:0;padding:0;
  }
  .bpv-photo-grid .bpv-photo-tile img{
    display:block;width:100%;height:auto!important;min-height:0!important;
    max-height:none!important;aspect-ratio:auto!important;
    object-fit:contain!important;
  }
  /* Individual local-places galleries should not cut off portrait photos. */
  .place-gallery-grid .gallery-item,
  .place-gallery-grid .gallery-item.main,
  .place-gallery-grid .gallery-item:not(.main){
    height:auto!important;min-height:0!important;aspect-ratio:auto!important;
  }
  .place-gallery-grid .gallery-item img{
    position:static!important;display:block;width:100%;height:auto!important;
    max-height:none!important;object-fit:contain!important;
  }
  /* More balanced cards and headings without sacrificing tappable controls. */
  .a-apartment-grid .card,.cards .card{min-width:0}
  .a-apartment-grid .card h3,.card-body h3{overflow-wrap:break-word}
  .a-filters{gap:9px;margin-bottom:27px}
  .a-filters .a-filter{min-height:44px;padding:10px 15px}
  .apartment-content .quote-card{min-width:0}
  .bpv-form input,.bpv-form select,.bpv-form textarea{font-size:16px}
  .bpv-form .button-primary{min-height:48px;white-space:normal;text-align:center}
  .bpv-quote-step{grid-template-columns:minmax(0,1fr)!important}
  .bpv-quote-step .field{min-width:0;grid-column:1/-1}
}
@media(max-width:430px){
  .site-header .nav{gap:10px;min-width:0}
  .site-header .official-logo{max-width:120px;height:auto}
  .site-header .menu-toggle{min-height:44px;min-width:80px}
  .site-header .mobile-menu{max-height:calc(100dvh - 72px);padding-bottom:max(26px,env(safe-area-inset-bottom))}
  .gallery-grid.apartment-gallery-grid.bpv-gallery-ordered .bpv-gallery-row{gap:10px!important}
  .a-filters .a-filter{padding-inline:12px;flex:1 1 auto}
}
/* Comfortable, non-clipped lightbox on iOS/Android with screen insets.
   Full-size photos always use contain rather than cover. */
.lightbox.open{padding:calc(58px + env(safe-area-inset-top)) 10px calc(65px + env(safe-area-inset-bottom));}
.lightbox.open img{
  width:auto;height:auto;max-width:min(96vw,1450px)!important;
  max-height:calc(100dvh - 135px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  object-fit:contain!important;
}
.lightbox .lightbox-close{z-index:5;top:max(12px,env(safe-area-inset-top));right:15px;min-width:44px;min-height:44px}
.bpv-lightbox-count{bottom:max(18px,env(safe-area-inset-bottom))}
.bpv-lightbox:not([hidden]){padding:calc(70px + env(safe-area-inset-top)) 9px calc(64px + env(safe-area-inset-bottom))}
.bpv-lightbox:not([hidden]) figure{min-width:0}
.bpv-lightbox:not([hidden]) figure img{
  max-width:100%!important;
  max-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  object-fit:contain!important;
}
.bpv-lightbox .bpv-lightbox-close{top:max(10px,env(safe-area-inset-top));right:12px;width:46px;height:46px}
@media(max-width:700px){
  .lightbox .bpv-lightbox-prev,.lightbox .bpv-lightbox-next{
    top:auto;bottom:calc(15px + env(safe-area-inset-bottom));transform:none;
    width:44px;height:44px;
  }
  .lightbox .bpv-lightbox-prev{left:max(12px,env(safe-area-inset-left))}
  .lightbox .bpv-lightbox-next{right:max(12px,env(safe-area-inset-right))}
  .bpv-lightbox:not([hidden]){grid-template-columns:44px minmax(0,1fr) 44px}
  .bpv-lightbox .bpv-lightbox-prev,.bpv-lightbox .bpv-lightbox-next{width:40px;height:44px}
  .bpv-lightbox figcaption{font-size:12px;max-width:90%;line-height:1.4;text-align:center}
}
.bpv-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.bpv-quote-error{border:1px solid #b44a48;border-radius:9px;padding:15px 18px;margin-bottom:20px;background:#fff5f2;color:#7f2023;line-height:1.55}
@media(prefers-reduced-motion:reduce){.bpv-photo-tile img,.gallery-item img,.card-photo img{transform:none!important}}

