/* Restored Villa Lux: warm limestone, Adriatic blue and original photography. */
:root{--paper:#faf8f3;--cream:#f0ece3;--deep:#173b40;--deep2:#102c30;--ink:#203438;--muted:#58696b;--accent:#947747;--line:rgba(23,59,64,.16)}
body.v3{font-size:16px;line-height:1.7}
.skip-link{position:fixed;left:20px;top:-90px;z-index:1000;background:white;color:var(--deep);padding:12px 20px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #b28744!important;outline-offset:5px}
html{scroll-padding-top:110px}main:focus{outline:none}
.v3 .header-inner{max-width:1440px;height:94px}
.v3 .brand-wordmark strong{letter-spacing:.13em}
.v3 .desktop-nav a,.v3 .header-cta,.v3 .language-menu summary{font-size:11px}
.v3 .site-header.scrolled{background:rgba(250,248,243,.98)}
.v3 .hero-tall{height:90svh;min-height:650px;max-height:1000px}
.v3 .hero-shade{background:linear-gradient(90deg,rgba(9,28,32,.64),rgba(9,28,32,.12) 75%),linear-gradient(0deg,rgba(9,28,32,.42),transparent 70%)}
.v3 .hero-content{padding-bottom:110px}
.v3 .hero h1{font-size:clamp(60px,7.8vw,112px);max-width:900px;line-height:1.02;letter-spacing:-.045em}
.v3 .hero-sub{font-style:normal;font-size:25px;letter-spacing:.025em}
.v3 .hero-note{color:#f4eee3;font-size:11px}
.v3 .hero-scroll-cue{display:none}
.v3 .quick-booking-wrap{margin-top:-38px;position:relative;z-index:3}
.v3 .quick-booking-card{border-radius:0;box-shadow:0 14px 35px #102c3012}
.v3 .quick-booking label>span{font-size:11px;letter-spacing:.11em}
.v3 .quick-booking button{background:var(--deep);font-size:11px}
.v3 .facts-row{padding-top:16px;min-height:125px}
.v3 .facts-row b{font-size:31px}.v3 .facts-row span{font-size:10px;color:#526569}
.v3 .section{padding:95px 0}
.v3 .section h2,.v3 .section-title{font-size:clamp(37px,4.4vw,62px);line-height:1.09}
.v3 .section p{font-size:16px;color:var(--muted)}
.v3 .eyebrow{font-size:11px;letter-spacing:.19em}
.v3 .eyebrow.light{color:#eee1c6}
.v3 .portrait{height:570px}
.v3 .apartment-cards{gap:28px}
.v3 .apartment-card{border-radius:0;box-shadow:none;background:transparent;border-bottom:1px solid var(--line)}
.v3 .card-media{height:360px;border-radius:0;overflow:hidden}
.v3 .card-media img{transition:transform .6s}.v3 .card-media:hover img{transform:scale(1.035)}
.v3 .card-body{padding:27px 0 32px}
.v3 .card-body h3{font-size:43px}.v3 .card-kicker{font-size:10px;letter-spacing:.08em}
.v3 .text-link{font-size:11px;line-height:2}.v3 .btn{font-size:11px;min-height:52px}
.v3 .direct-booking-band{padding:65px 0}
.v3 .direct-booking-copy h2{font-size:clamp(35px,4vw,55px)}
.v3 .direct-booking-copy p{font-size:16px;color:#e1e8e5}
.v3 .image-statement{height:540px}
.v3 .destination-copy p{color:#e1e8e5;font-size:16px}
.v3 .booking-form{border-radius:0;box-shadow:none;border:1px solid var(--line);padding:30px;background:white}
.v3 .booking-form label>span{font-size:12px}
.v3 .booking-form input,.v3 .booking-form select,.v3 .booking-form textarea{font-size:16px;border-radius:0}
.v3 .booking-form .enquiry-note{font-size:14px;line-height:1.6;color:var(--deep);border-left:2px solid var(--accent);padding:0 0 0 14px;margin:0 0 25px}
.enquiry-result{margin-top:24px;border-top:1px solid var(--line);padding-top:24px}
.enquiry-result textarea{width:100%;min-height:230px;padding:15px;line-height:1.6}
.enquiry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
.enquiry-status{font-size:14px!important;margin:12px 0 0!important}
.v3 .footer a,.v3 .footer p{font-size:14px;color:#d0dad8}
.v3 .footer-bottom{color:#bdcac6}
.lightbox{z-index:200}.lightbox button{min-width:44px;min-height:44px}
@media(min-width:1061px){.v3 .home-gallery-grid{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:260px 260px}.v3 .home-gallery-item:first-child{grid-column:1;grid-row:1/3}.v3 .home-gallery-item:nth-child(2){grid-column:2/4}.v3 .home-gallery-item:nth-child(3){grid-column:2}.v3 .home-gallery-item:nth-child(4){grid-column:3}}
@media(max-width:1060px){.v3 .header-actions{margin-left:auto}.v3 .header-inner{height:80px}.v3 .card-media{height:470px}.v3 .mobile-panel{max-height:100svh;overflow-y:auto}.v3 .site-header:has(.mobile-panel.open){background:var(--deep);color:white}.v3 .site-header:has(.mobile-panel.open) .brand,.v3 .site-header:has(.mobile-panel.open) .language-menu summary{color:white}.v3 .site-header:has(.mobile-panel.open) .menu-toggle span{background:white}}
@media(max-width:650px){.v3 .hero-tall{min-height:610px;height:86svh}.v3 .hero-content{padding-bottom:85px}.v3 .hero h1{font-size:58px;line-height:1.03}.v3 .hero-sub{font-size:21px}.v3 .section{padding:65px 0}.v3 .section h2{font-size:39px}.v3 .card-media{height:350px}.v3 .portrait{height:400px}.v3 .quick-booking-wrap{margin-top:0}.v3 .quick-booking-card{box-shadow:none}.v3 .hero-note{font-size:9px}.v3 .booking-form{padding:20px}.v3 .mobile-sticky a{font-size:10px;min-height:50px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.v3 .footer{padding-bottom:65px}.v3 .hero-buttons .btn{font-size:10px}.v3 .header-inner{height:76px}.v3 .brand{min-width:0}.v3 .language-menu{display:block}.v3 .image-statement{height:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
