/* 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}
}
