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