
:root{--ink:#1f2722;--olive:#4d5a4c;--olive2:#657062;--sand:#f2ecdf;--cream:#fbfaf6;--line:#ddd5c9;--gold:#d7b77c;--dark:#171c18}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{position:absolute;z-index:20;top:0;left:0;right:0;padding:22px 0;color:#fff}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font:26px Georgia,serif;letter-spacing:.13em}.navlinks{display:flex;gap:21px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.navlinks .outline{border:1px solid rgba(255,255,255,.76);padding:11px 14px}.lang-switch{display:flex;border:1px solid rgba(255,255,255,.55)}.lang-switch a{padding:8px 9px;font-size:10px}.lang-switch a[aria-current="true"]{background:#fff;color:var(--ink)}
.hero{min-height:92vh;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.55)),url('/assets/hero.webp') center/cover no-repeat}.hero .content{padding-bottom:74px}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.19em}.olive{color:var(--olive)}.display,.hero h1{font-family:Georgia,serif;font-weight:400}.hero h1{font-size:clamp(48px,7.8vw,102px);line-height:.94;max-width:860px;margin:14px 0 18px}.hero p{font-size:18px;max-width:620px;margin-bottom:28px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 20px;border:1px solid #fff;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.btn.light{background:#fff;color:var(--ink)}
.booking-strip{position:relative;z-index:12;margin-top:-42px}.booking-card{width:min(1060px,calc(100% - 36px));margin:auto;background:#fff;box-shadow:0 18px 45px rgba(25,32,27,.16);padding:20px;display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.booking-field label{display:block;color:#4e554f;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.booking-field input{width:100%;color:var(--ink);background:#fff;border:1px solid var(--line);padding:13px 12px;margin:0;font:inherit}.booking-submit{min-height:47px;border:0;background:var(--olive);color:#fff;padding:0 24px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;cursor:pointer}.booking-meta{grid-column:1/-1;border-top:1px solid var(--line);padding-top:11px;font-size:11px;color:#73786f}.booking-meta strong{color:var(--ink)}.booking-error{color:#9b352d;font-weight:600}
.intro,.sea,.gallery,.location,.faq{padding:100px 0}.introgrid,.seagrid,.locationgrid,.contactgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.intro h2,.sea h2,.location h2,.faq h2{font-size:clamp(40px,5vw,62px);line-height:1.04;margin:12px 0 22px}.introcopy,.sea p,.location p{font-size:17px;color:#5e635e}.facts{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.fact b{display:block;font:25px Georgia,serif}.fact span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#747870}
.stays{padding:96px 0;background:var(--sand)}.head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.head h2{font-size:clamp(38px,5vw,60px);margin:10px 0 0}.head p{max-width:500px;color:#5f645f}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff}.cardbody{padding:24px}.card h3{font:30px Georgia,serif;margin:0 0 7px}.meta{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#74776f}.learn-link{display:inline-block;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #777;padding-bottom:4px}
.apartment-gallery{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd}.apartment-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease}.apartment-gallery img.active{opacity:1}.gallery-nav{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;z-index:3}.gallery-arrow,.sea-carousel-arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(18,25,21,.38);color:#fff;font-size:20px;cursor:pointer}.gallery-dots,.sea-carousel-dots{display:flex;gap:6px}.gallery-dot,.sea-carousel-dot{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.55);padding:0;cursor:pointer}.gallery-dot.active,.sea-carousel-dot.active{background:#fff}
.card-details{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.details-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;padding:0;color:var(--ink);font-family:inherit;cursor:pointer;text-align:left}.details-toggle span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #777;padding-bottom:4px}.plus{font-size:20px;transition:transform .25s}.card-details.open .plus{transform:rotate(45deg)}.details-panel{max-height:0;overflow:hidden;transition:max-height .4s ease}.card-details.open .details-panel{max-height:1100px}.glance-title,.amenities-title{font:18px Georgia,serif;margin:20px 0 12px}.glance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.glance-item{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line)}.glance-item svg,.amenity-grid svg{width:19px;height:19px;stroke:var(--olive);stroke-width:1.7;fill:none;flex:0 0 auto}.glance-item span,.amenity-grid li{font-size:12px;color:#555d56}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;padding:0;margin:0;list-style:none}.amenity-grid li{display:flex;align-items:center;gap:8px}
.sea-carousel{position:relative;min-height:560px;overflow:hidden;background:#d9ded9}.sea-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .85s}.sea-carousel img.active{opacity:1}.sea-carousel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12));pointer-events:none}.sea-carousel-controls{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;z-index:4}.points{margin-top:28px;border-top:1px solid var(--line)}.point{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
.gallery{background:#fff}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.mosaic img{height:100%;object-fit:cover;min-height:260px}.mosaic .tall{grid-row:span 2;min-height:534px}
.location{background:var(--sand)}.mapbox{min-height:420px;background:#e6dfd3;display:grid;place-items:center;text-align:center;padding:28px}.mapbox strong{font:28px Georgia,serif}.mapbtn{display:inline-block;background:var(--ink);color:#fff;padding:13px 18px;margin:6px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-item{border:1px solid var(--line);padding:22px}.faq-item h3{font:20px Georgia,serif;margin:0 0 8px}.faq-item p{margin:0;color:#5b625c;font-size:14px}
.contact{padding:92px 0;background:var(--olive);color:#fff}.contact h2{font-size:clamp(40px,5vw,62px);line-height:1.05;margin:12px 0 18px}.contact p{color:rgba(255,255,255,.78)}.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.quick a{border:1px solid rgba(255,255,255,.75);padding:13px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form .full{grid-column:1/-1}.contact-form label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:6px;padding:13px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:0}.contact-form textarea{min-height:120px;resize:vertical}.contact-form option{color:#111}.honey{position:absolute;left:-10000px;opacity:0}.submit{background:#fff;color:var(--ink);border:0;padding:14px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer}.note{font-size:12px;color:rgba(255,255,255,.68)}
.member-band{background:#202720;padding:46px 0;border-top:1px solid #303a31;border-bottom:1px solid #303a31}.member-inner{display:grid;grid-template-columns:.7fr 1fr 1.3fr;align-items:center;gap:40px}.member-label{text-align:right;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.member-logo{max-width:310px;width:100%;justify-self:center;filter:brightness(1.18) contrast(1.08)}.member-copy{border-left:1px solid rgba(215,183,124,.35);padding-left:38px;color:#d5dbd5;font-size:14px}.member-copy strong{display:block;font:20px Georgia,serif;color:#fff;margin-bottom:6px}
footer{background:var(--dark);color:#d8ddd8}.footer-top{padding:46px 0 34px}.footer-grid-new{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.1fr;gap:38px}.footer-brand-small{max-width:205px;margin-bottom:16px}.footer-copy{font-size:13px;color:#aeb4af;max-width:290px;line-height:1.7}.footer-heading{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin-bottom:14px}.footer-links,.footer-contact{display:grid;gap:9px}.footer-links a,.footer-contact-row{font-size:13px;color:#c1c7c2}.footer-contact-row{display:flex;gap:10px;align-items:flex-start}.footer-contact-row svg,.footer-action svg{width:17px;height:17px;stroke:var(--gold);stroke-width:1.7;fill:none;flex:0 0 auto}.footer-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.footer-action{display:inline-flex;align-items:center;gap:7px;border:1px solid #3a433b;padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#fff}.footer-meta{border-top:1px solid #2d342e;padding:19px 0}.footer-meta-inner{display:flex;justify-content:space-between;gap:22px;align-items:center;flex-wrap:wrap}.footer-meta-left,.footer-meta-right{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.footer-meta span,.footer-meta a{font-size:11px;color:#7f8780}.footer-license{color:#aab1aa!important}.footer-elizor-note strong{color:var(--gold);font-weight:500}
.mobilebar{display:none}
.unit-hero{min-height:68vh;display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center;position:relative}.unit-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55))}.unit-hero .wrap{position:relative;z-index:2;padding-bottom:62px}.unit-hero h1{font:clamp(48px,7vw,88px) Georgia,serif;font-weight:400;margin:10px 0}.unit-main{padding:84px 0}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px}.unit-copy h2{font:42px Georgia,serif;font-weight:400;margin:0 0 18px}.unit-copy p{font-size:17px;color:#5d635e}.unit-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unit-gallery img{width:100%;height:270px;object-fit:cover}.unit-gallery img:first-child{grid-column:1/-1;height:430px}.breadcrumbs{font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:14px}.breadcrumbs a{border-bottom:1px solid rgba(255,255,255,.65)}
@media(max-width:900px){.navlinks a:not(.outline):not(.lang-switch a){display:none}.introgrid,.seagrid,.locationgrid,.contactgrid,.unit-grid{grid-template-columns:1fr;gap:38px}.cards{grid-template-columns:1fr}.head{display:block}.mosaic{grid-template-columns:1fr 1fr}.mosaic .tall{grid-column:1/-1;grid-row:auto}.footer-grid-new{grid-template-columns:1fr 1fr}.member-inner{grid-template-columns:1fr;text-align:center;gap:22px}.member-label{text-align:center}.member-copy{border-left:0;border-top:1px solid rgba(215,183,124,.35);padding:22px 0 0}.booking-card{grid-template-columns:1fr 1fr}.booking-submit{grid-column:1/-1}.sea-carousel{min-height:420px}}
@media(max-width:600px){.wrap{width:min(100% - 28px,1180px)}header{padding:16px 0}.brand{font-size:20px}.navlinks{gap:8px}.navlinks .outline{display:none}.hero{min-height:82vh}.hero h1{font-size:52px}.hero .content{padding-bottom:52px}.booking-strip{margin-top:-26px}.booking-card{grid-template-columns:1fr;padding:15px}.booking-submit,.booking-meta{grid-column:auto}.glance-grid,.amenity-grid,.faq-grid{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr}.mosaic .tall{grid-column:auto}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-grid-new{grid-template-columns:1fr;gap:30px}.footer-meta-inner{display:block}.footer-meta-right{margin-top:10px}.unit-gallery{grid-template-columns:1fr}.unit-gallery img,.unit-gallery img:first-child{grid-column:auto;height:250px}.mobilebar{display:grid;position:fixed;z-index:50;left:0;right:0;bottom:0;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid #ddd}.mobilebar a{text-align:center;padding:14px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.mobilebar a+a{border-left:1px solid #ddd}body{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.apartment-gallery img,.sea-carousel img,.plus,.details-panel{transition:none}}


.unit-hero--la-terrazza{background-image:url('/assets/villa-vanda-la-terrazza-sea-view-terrace.webp')}
.unit-hero--il-prato{background-image:url('/assets/villa-vanda-il-prato-main-garden.webp')}
.unit-hero--il-mare{background-image:url('/assets/villa-vanda-il-mare-sea-view-hero.webp')}


/* v11 Location: sea image + Google Maps */
.location--visual{background:var(--sand)}
.location-shell{display:grid;grid-template-columns:.72fr 1.52fr;gap:56px;align-items:center}
.location-copy{min-width:0}
.location-copy .display{margin-bottom:20px}
.location-address{margin-top:22px;color:var(--ink)!important}
.location-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.mapbtn--light{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.location-media{display:grid;grid-template-columns:1.12fr 1fr;gap:16px;min-width:0}
.location-photo,.location-map{margin:0;position:relative;overflow:hidden;min-height:430px;background:#d7d8d2}
.location-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.location-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 50%,rgba(0,0,0,.42) 100%);pointer-events:none}
.location-photo figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:980px){
  .location-shell{grid-template-columns:1fr;gap:34px}
  .location-media{grid-template-columns:1fr 1.2fr}
  .location-photo,.location-map{min-height:360px}
}
@media(max-width:680px){
  .location-media{grid-template-columns:1fr}
  .location-photo{min-height:300px}
  .location-map{min-height:360px}
  .location-actions .mapbtn{width:100%;text-align:center;margin:0}
}
