:root{--va-ink:#211f1b;--va-paper:#f6f3ed;--va-gold:#af863f;--va-line:rgba(33,31,27,.16)}
.villa-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:#211f1b;color:#fff}
.villa-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.villa-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 48%);z-index:1;pointer-events:none}
.villa-hero .container{position:relative;z-index:2;width:min(1180px,calc(100% - 56px));padding:0 0 11vh}
.villa-hero h1{font-size:clamp(58px,9vw,132px);line-height:.9;letter-spacing:-.045em;margin:18px 0 28px;max-width:900px}
.villa-hero .eyebrow{color:#e1c38b}
.villa-meta{display:flex;flex-wrap:wrap;gap:10px 28px;font:500 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.villa-sound-toggle{position:absolute;right:28px;bottom:30px;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(20,19,17,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font:500 9px/1 Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .4s ease,border-color .4s ease,transform .4s ease}
.villa-sound-toggle:hover{background:rgba(20,19,17,.52);border-color:rgba(255,255,255,.7);transform:translateY(-2px)}
.villa-sound-icon{font-family:Georgia,serif;font-size:15px;line-height:1}
.villa-sound-toggle.is-on{border-color:rgba(225,195,139,.75);background:rgba(20,19,17,.45)}
.villa-intro{padding:150px 0 130px;background:var(--va-paper)}
.villa-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:100px;align-items:start}
.villa-intro h2,.villa-section h2{font-size:clamp(38px,4.5vw,68px);line-height:1.02;letter-spacing:-.025em;margin:20px 0 0}
.villa-intro .lead,.villa-section .lead{font-size:15px;line-height:1.9;color:#5f5a52;margin:6px 0 0}
.villa-label{font:500 10px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--va-gold)}
.villa-gallery{background:#211f1b;padding:clamp(10px,1.25vw,19px) clamp(14px,2vw,28px) clamp(18px,2.5vw,38px)}
.villa-image{display:block;width:100%;height:auto;object-fit:cover}
.villa-gallery .wide{aspect-ratio:16/9;object-fit:cover;margin-bottom:clamp(9px,1.1vw,16px)}
.villa-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(7px,.875vw,14px);background:#211f1b;margin-top:0}
.villa-gallery-grid img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.villa-gallery-grid + .wide{margin-top:clamp(18px,2.25vw,32px)}
.villa-section{padding:150px 0;background:var(--va-paper)}
.villa-section.dark{background:#211f1b;color:#fff}
.villa-section.dark .lead{color:#bdb8ae}
.villa-section.dark .villa-label{color:#d0a45b}
.villa-closing{max-width:900px}
.villa-closing h2{font-size:clamp(44px,6vw,84px)}
.villa-back{display:inline-flex;align-items:center;gap:12px;margin-top:44px;color:inherit;text-decoration:none;font:500 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.villa-back:after{content:'→';font-size:16px;transition:transform .35s ease}
.villa-back:hover:after{transform:translateX(5px)}
@media(max-width:760px){
 .villa-hero{min-height:88vh}
 .villa-hero .container{width:min(100% - 40px,1180px);padding-bottom:9vh}
 .villa-hero h1{font-size:clamp(50px,17vw,82px);margin:14px 0 22px}
 .villa-meta{gap:8px 16px;font-size:9px}
 .villa-sound-toggle{right:20px;bottom:22px;padding:10px 13px;font-size:8px}
 .villa-intro,.villa-section{padding:90px 0}
 .villa-intro-grid{grid-template-columns:1fr;gap:48px}
 .villa-intro h2,.villa-section h2{font-size:clamp(36px,11vw,54px)}
 .villa-intro .lead,.villa-section .lead{font-size:13px;line-height:1.8}
 .villa-gallery{padding:7px 14px 14px}
 .villa-gallery .wide{margin-bottom:7px}
 .villa-gallery-grid{grid-template-columns:1fr;gap:7px;margin-top:0}
 .villa-gallery-grid img{min-height:0;aspect-ratio:4/3}
 .villa-gallery .wide{aspect-ratio:4/3}
 .villa-gallery-grid + .wide{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.villa-back:after,.villa-sound-toggle{transition:none}}


/* Hero media performance */
.villa-hero video{contain:paint;will-change:auto}
