:root{
  --ink:#171713; --cream:#f0eee6; --sand:#d7d0c2; --muted:#89877f; --line:rgba(23,23,19,.2);
  --serif:"Ogg","Instrument Serif",Georgia,serif; --sans:"DM Sans",Arial,sans-serif;
  --pad:clamp(22px,4.5vw,72px);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden} body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} img,video{display:block;width:100%} button{font:inherit;color:inherit} ::selection{background:#171713;color:#f0eee6}
.preloader{position:fixed;inset:0;z-index:9999;background:#11120f;color:#fff;display:grid;place-items:center;align-content:center;gap:18px;transition:opacity .7s ease,visibility .7s ease}.preloader img{width:74px;animation:aureaSpin 2.8s linear infinite;transform-origin:50% 50%;will-change:transform}.preloader span{font-size:12px;letter-spacing:.55em;margin-left:.55em}.preloader.hide{opacity:0;visibility:hidden}
@keyframes aureaSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:86px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;transition:background .4s,color .4s,height .4s;border-bottom:1px solid transparent}.site-header.scrolled{height:68px;background:rgba(240,238,230,.94);backdrop-filter:blur(14px);color:var(--ink);border-color:rgba(23,23,19,.12)}
.header-brand{justify-self:start;display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.32em}.header-brand img{width:28px;filter:none}.site-header.scrolled .header-brand img{filter:invert(1)}.desktop-nav{display:flex;gap:34px;font-size:11px;letter-spacing:.12em}.desktop-nav a,.header-book{position:relative}.desktop-nav a:after,.header-book:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .3s}.desktop-nav a:hover:after,.header-book:hover:after{right:0}.header-book{justify-self:end;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.menu-button{display:none;border:0;background:none;width:34px;height:34px;position:relative}.menu-button span{position:absolute;left:5px;right:5px;height:1px;background:currentColor;transition:.3s}.menu-button span:first-child{top:13px}.menu-button span:last-child{top:20px}.menu-button.active span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button.active span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:#161612;color:#f5f1e8;z-index:90;visibility:hidden;opacity:0;transition:.45s}.mobile-menu.active{visibility:visible;opacity:1}.mobile-menu-inner{padding:120px var(--pad) 50px;height:100%;display:flex;flex-direction:column;justify-content:space-between}.mobile-menu small{text-transform:uppercase;letter-spacing:.2em;opacity:.6}.mobile-menu nav{display:grid}.mobile-menu nav a{font-family:var(--serif);font-size:clamp(42px,11vw,76px);line-height:1.05;border-top:1px solid rgba(255,255,255,.18);padding:12px 0;display:flex;justify-content:space-between}.mobile-menu nav em{font-family:var(--sans);font-size:10px;font-style:normal;letter-spacing:.15em;margin-top:11px;opacity:.6}
.hero{height:100svh;min-height:680px;position:relative;color:#fff;overflow:hidden;background:#111}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.015)}.hero-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.05) 36%,rgba(0,0,0,.13) 70%,rgba(0,0,0,.5))}.hero-topline{position:absolute;top:112px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.hero-brand-lockup{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);text-align:center;width:min(80vw,850px)}.hero-brand-lockup img{width:clamp(52px,6vw,88px);margin:0 auto 10px}.hero-brand-lockup h1{font-family:var(--serif);font-weight:400;font-size:clamp(104px,17vw,260px);line-height:.68;margin:0;letter-spacing:-.04em}.hero-brand-lockup p{font-size:clamp(9px,1vw,13px);letter-spacing:1.15em;margin:32px 0 0;padding-left:1.15em}.hero-bottomline{position:absolute;bottom:40px;left:var(--pad);right:var(--pad);display:flex;align-items:end;justify-content:space-between}.hero-bottomline p{font-family:var(--serif);font-size:clamp(25px,3vw,44px);line-height:1.05;margin:0}.hero-bottomline p em{font-weight:400}.hero-bottomline a{text-transform:uppercase;font-size:10px;letter-spacing:.18em;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.7)}.hero-bottomline a span{padding-left:22px}
.availability-dock{background:var(--ink);color:#fff;padding:14px var(--pad);position:relative;z-index:10}.availability-inner{display:grid;grid-template-columns:1.25fr repeat(3,1fr) 1.25fr;max-width:1500px;margin:auto;align-items:stretch}.availability-intro{padding:8px 25px 8px 0;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:center}.availability-intro small,.field-demo small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.58}.availability-intro strong{font-family:var(--serif);font-size:24px;font-weight:400}.field-demo{border:0;border-right:1px solid rgba(255,255,255,.2);background:none;color:#fff;text-align:left;padding:6px 24px;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.field-demo span{margin-top:7px;font-size:13px}.availability-search{display:flex;align-items:center;justify-content:space-between;padding:10px 0 10px 26px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.availability-search span{font-size:18px}
.section-space{padding:clamp(95px,12vw,190px) var(--pad)}.section-number{font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:50px}.section-number.light{color:rgba(255,255,255,.7)}
.manifesto{max-width:1700px;margin:auto}.manifesto-title{font-family:var(--serif);font-size:clamp(67px,10.2vw,165px);line-height:.79;letter-spacing:-.04em}.manifesto-title span,.manifesto-title strong,.manifesto-title em{display:block;font-weight:400}.manifesto-title strong{text-align:right}.manifesto-title em{text-align:center;color:#817d73}.manifesto-lower{display:grid;grid-template-columns:1fr minmax(310px,36vw);gap:12vw;align-items:end;margin-top:100px}.manifesto-copy{max-width:520px;font-size:clamp(17px,1.35vw,22px);line-height:1.6;margin:0 0 6vw 8vw}.portrait-photo{margin:0;overflow:hidden}.portrait-photo img{aspect-ratio:4/5;object-fit:cover}
.film-strip{background:#171713;color:#fff;overflow:hidden;padding:60px 0 100px}.marquee{font-family:var(--serif);font-size:clamp(53px,8vw,120px);white-space:nowrap;opacity:.9;transform:rotate(-2deg);margin-bottom:60px}.marquee span{display:inline-block;animation:marquee 35s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.film-images{display:grid;grid-template-columns:1fr 1.35fr .85fr;gap:18px;padding:0 var(--pad);align-items:end}.film-images figure{margin:0;overflow:hidden}.film-images figure:nth-child(1) img{aspect-ratio:4/5}.film-images figure:nth-child(2) img{aspect-ratio:4/3}.film-images figure:nth-child(3) img{aspect-ratio:4/5}.film-images img{object-fit:cover}
.villa-story{max-width:1700px;margin:auto}.villa-layout{display:grid;grid-template-columns:minmax(320px,.8fr) 1.35fr;gap:9vw;align-items:start}.villa-sticky{position:sticky;top:130px}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.2em}.villa-sticky h2,.gallery-head h2,.details-heading h2,.booking-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(62px,7vw,116px);line-height:.84;letter-spacing:-.035em;margin:24px 0 36px}.villa-sticky p{max-width:450px;font-size:16px;line-height:1.7}.line-link,.light-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid currentColor;padding:0 0 7px;margin-top:25px;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.villa-scroll{display:grid;gap:110px}.villa-scroll figure{margin:0}.villa-scroll img{height:min(72vw,820px);object-fit:cover}.villa-scroll figure:nth-child(2) img{height:min(55vw,690px)}.villa-scroll figcaption{display:flex;gap:25px;padding-top:13px;border-top:1px solid var(--line);margin-top:12px;font-family:var(--serif);font-size:24px}.villa-scroll figcaption span{font-family:var(--sans);font-size:9px;letter-spacing:.15em;padding-top:8px}
.details-band{background:#d9d1c3;padding:clamp(90px,10vw,150px) var(--pad);display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.details-heading small{font-size:9px;letter-spacing:.2em;text-transform:uppercase}.details-heading h2{font-size:clamp(56px,6vw,95px)}.details-list{border-top:1px solid rgba(23,23,19,.35)}.details-list>div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;border-bottom:1px solid rgba(23,23,19,.35);padding:26px 0}.details-list span{font-size:9px;letter-spacing:.15em}.details-list strong{font-family:var(--serif);font-size:clamp(25px,2.5vw,42px);font-weight:400}.details-list small{font-size:10px;letter-spacing:.08em;opacity:.65}
.areguling{height:min(1000px,100svh);min-height:720px;position:relative;color:#fff;overflow:hidden}.areguling-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.areguling-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.57),rgba(0,0,0,.08) 62%,rgba(0,0,0,.2))}.areguling-word{position:absolute;left:-1vw;right:0;bottom:-.16em;font-family:var(--serif);font-size:clamp(100px,19vw,310px);letter-spacing:-.055em;white-space:nowrap;color:rgba(255,255,255,.16)}.areguling-content{position:absolute;z-index:2;left:var(--pad);top:50%;transform:translateY(-50%);max-width:680px}.areguling-content h2{font-family:var(--serif);font-size:clamp(72px,8vw,125px);font-weight:400;line-height:.82;letter-spacing:-.04em;margin:0 0 30px}.areguling-content p{max-width:500px;font-size:16px;line-height:1.65}.light-link{color:#fff}
.gallery{overflow:hidden}.gallery-head{display:grid;grid-template-columns:1fr 2fr auto;align-items:end;margin-bottom:60px}.gallery-head .section-number{align-self:start}.gallery-head h2{font-size:clamp(70px,8vw,125px);margin:0}.gallery-controls{display:flex;gap:7px}.gallery-controls button{width:56px;height:56px;border:1px solid var(--line);background:transparent;border-radius:50%;cursor:pointer;font-size:18px}.gallery-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:var(--pad);padding-bottom:20px}.gallery-rail::-webkit-scrollbar{display:none}.gallery-rail figure{flex:0 0 min(63vw,820px);margin:0;scroll-snap-align:start}.gallery-rail figure:nth-child(even){flex-basis:min(43vw,560px)}.gallery-rail img{aspect-ratio:4/3;object-fit:cover}.gallery-rail figure:nth-child(even) img{aspect-ratio:4/5}.gallery-rail figcaption{font-family:var(--serif);font-size:23px;margin-top:10px}
.interlude{position:relative;height:82svh;min-height:630px;overflow:hidden}.interlude figure{margin:0;height:100%}.interlude img{height:100%;object-fit:cover;filter:brightness(.7)}.interlude blockquote{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;color:#fff;font-family:var(--serif);font-size:clamp(52px,7vw,110px);line-height:.92;margin:0;padding:var(--pad)}
.booking-section{background:#171713;color:#fff;padding:clamp(100px,11vw,170px) var(--pad);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start}.booking-copy h2{font-size:clamp(75px,8vw,130px);margin-top:0}.booking-copy p{max-width:420px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.72)}.booking-engine-wrap{margin-top:65px;border-top:1px solid rgba(255,255,255,.35)}.booking-engine-label{display:flex;justify-content:space-between;padding:15px 0 55px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.booking-engine-label small{opacity:.5}.cloudbeds-demo{border:1px solid rgba(255,255,255,.3);padding:clamp(20px,3vw,42px)}.cb-row{display:grid;grid-template-columns:1fr 1fr}.cloudbeds-demo label{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column}.cloudbeds-demo label:first-child{border-right:1px solid rgba(255,255,255,.22);padding-right:25px}.cloudbeds-demo label:last-child{padding-left:25px}.cloudbeds-demo small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;opacity:.55}.cloudbeds-demo label span{font-family:var(--serif);font-size:30px;margin-top:8px}.cloudbeds-demo button{border:0;background:#f1eee5;color:#171713;text-transform:uppercase;letter-spacing:.16em;font-size:9px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;cursor:pointer}.cloudbeds-demo button span{font-size:18px}.cloudbeds-demo p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.45;margin:25px 0 0}
.footer{background:#0f100d;color:#fff;padding:80px var(--pad) 28px;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:30px}.footer-brand{display:grid;width:max-content}.footer-brand img{width:52px;margin-bottom:12px}.footer-brand strong{font-family:var(--serif);font-size:54px;font-weight:400;line-height:.8}.footer-brand span{font-size:8px;letter-spacing:.65em;margin-top:16px;padding-left:.65em}.footer-location{font-family:var(--serif);font-size:25px;line-height:1.3}.footer nav{display:grid;align-content:start;gap:8px;font-size:12px}.footer-word{font-family:var(--serif);font-size:clamp(155px,26vw,430px);line-height:.7;letter-spacing:-.07em;margin:130px 0 50px;color:#f1eee5;white-space:nowrap}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:18px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:8px;opacity:.68}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal-media{overflow:hidden}.reveal-media img{transform:scale(1.07);transition:transform 1.25s cubic-bezier(.2,.7,.2,1)}.reveal-media.visible img{transform:scale(1)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#f1eee5;color:#171713;padding:13px 18px;z-index:150;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
  .site-header{height:70px;grid-template-columns:1fr auto}.desktop-nav,.header-book{display:none}.menu-button{display:block;justify-self:end}.hero{min-height:650px}.hero-topline{top:90px}.hero-brand-lockup{top:46%;width:90%}.hero-brand-lockup h1{font-size:clamp(92px,28vw,175px)}.hero-brand-lockup p{letter-spacing:.85em;padding-left:.85em}.hero-bottomline{bottom:26px}.hero-bottomline p{font-size:28px}.hero-bottomline a{display:none}
  .availability-dock{padding:0}.availability-inner{display:grid;grid-template-columns:1fr 1fr}.availability-intro{grid-column:1/-1;padding:18px var(--pad);border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.field-demo{display:none}.availability-search{grid-column:1/-1;padding:18px var(--pad)}
  .manifesto-title{font-size:clamp(61px,17vw,115px)}.manifesto-title strong{text-align:left}.manifesto-title em{text-align:right}.manifesto-lower{grid-template-columns:1fr;gap:60px;margin-top:70px}.manifesto-copy{margin:0;max-width:620px}.portrait-photo{width:75%;margin-left:auto}
  .film-strip{padding:45px 0 70px}.film-images{grid-template-columns:1fr 1fr;gap:10px}.film-images figure:nth-child(3){display:none}
  .villa-layout{grid-template-columns:1fr}.villa-sticky{position:static}.villa-scroll{gap:65px}.villa-scroll img,.villa-scroll figure:nth-child(2) img{height:auto;aspect-ratio:4/5}.villa-scroll figure:nth-child(2) img{aspect-ratio:4/3}
  .details-band{grid-template-columns:1fr;gap:55px}.details-list>div{grid-template-columns:42px 1fr}.details-list small{grid-column:2;display:block;margin-top:6px}.areguling{min-height:720px}.areguling-content{right:var(--pad)}.areguling-word{font-size:30vw}
  .gallery-head{grid-template-columns:1fr auto}.gallery-head .section-number{grid-column:1/-1}.gallery-head h2{font-size:18vw}.gallery-rail figure{flex-basis:82vw}.gallery-rail figure:nth-child(even){flex-basis:70vw}
  .booking-section{grid-template-columns:1fr;gap:20px}.booking-engine-wrap{margin-top:20px}.footer-top{grid-template-columns:1fr 1fr}.footer nav{grid-column:2}.footer-location{grid-row:1;grid-column:2}.footer-word{margin-top:100px}.footer-bottom{gap:14px;flex-wrap:wrap}
}
@media(max-width:560px){
  :root{--pad:20px}.hero-topline span:first-child{display:none}.hero-topline{justify-content:flex-end}.hero-bottomline p{font-size:24px}.section-space{padding-top:90px;padding-bottom:90px}.section-number{margin-bottom:35px}.manifesto-title{font-size:16.5vw}.manifesto-lower{margin-top:55px}.portrait-photo{width:86%}.film-images{grid-template-columns:1fr}.film-images figure:nth-child(2){display:none}.marquee{font-size:17vw}.villa-sticky h2,.details-heading h2,.booking-copy h2{font-size:17vw}.details-list strong{font-size:29px}.areguling-content h2{font-size:18vw}.gallery-controls button{width:45px;height:45px}.cb-row{grid-template-columns:1fr}.cloudbeds-demo label:first-child{border-right:0;padding-right:0}.cloudbeds-demo label:last-child{padding-left:0}.cloudbeds-demo button{min-height:64px;margin-top:12px}.booking-engine-label{display:block}.booking-engine-label small{display:block;margin-top:8px}.footer-top{grid-template-columns:1fr}.footer-location,.footer nav{grid-column:1;grid-row:auto}.footer-location{margin-top:35px}.footer nav{margin-top:25px}.footer-word{font-size:40vw;margin:90px 0 35px}.footer-bottom{display:grid}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee span{animation:none}.reveal,.reveal-media img{transition:none}.preloader{display:none}.preloader img{animation:none}}

/* =========================
   AUREA V3 refinements
   ========================= */
.header-actions{justify-self:end;display:flex;align-items:center;gap:20px}
.language-switcher{display:flex;align-items:center;border:1px solid currentColor;border-radius:999px;padding:2px;gap:1px;line-height:1;transition:border-color .35s ease}
.lang-button{border:0;background:transparent;color:currentColor;min-width:32px;height:26px;border-radius:999px;padding:0 7px;font-size:8px;font-weight:500;letter-spacing:.12em;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;opacity:.62}
.lang-button:hover{opacity:1}.lang-button.active{background:#fff;color:#171713;opacity:1}.site-header.scrolled .lang-button.active{background:var(--ink);color:var(--cream)}
.hero-video{transform:none;filter:saturate(1.03) contrast(1.015);backface-visibility:hidden}
.hero-bottomline a b,.availability-search b,.line-link b,.light-link b,.cloudbeds-demo button b{font-weight:400}

.progressive-title .progressive-line{display:block;font-weight:400}
.progressive-title strong.progressive-line{text-align:right}
.progressive-title em.progressive-line{text-align:center;color:#817d73}
.progressive-word{display:inline-block;opacity:.09;transform:translateY(.22em);filter:blur(3.5px);will-change:opacity,transform,filter;transition:opacity .08s linear,transform .08s linear,filter .08s linear}

.film-strip{padding:clamp(72px,8vw,125px) 0 clamp(70px,9vw,130px)}
.film-strip-head{padding:0 var(--pad);display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:4vw;margin-bottom:clamp(50px,7vw,95px)}
.film-strip-head>span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55);padding-top:13px}
.film-strip-head p{font-family:var(--serif);font-size:clamp(54px,7.5vw,118px);line-height:.9;letter-spacing:-.035em;margin:0;max-width:980px;font-weight:400}
.villa-scroll figcaption b{font:inherit;font-weight:400}

@media(max-width:900px){
  .site-header{grid-template-columns:1fr auto}.header-actions{gap:10px}.language-switcher{margin-right:1px}.lang-button{min-width:29px;height:25px;padding:0 6px;font-size:7px}.menu-button{justify-self:auto}
  .film-strip-head{grid-template-columns:1fr;gap:20px}.film-strip-head>span{padding-top:0}.film-strip-head p{font-size:clamp(50px,13vw,90px);max-width:700px}
  .progressive-title strong.progressive-line{text-align:left}.progressive-title em.progressive-line{text-align:right}
}
@media(max-width:560px){
  .header-brand{gap:8px}.header-brand span{display:none}.header-brand img{width:29px}.header-actions{gap:7px}.language-switcher{padding:1px}.lang-button{min-width:27px;height:24px;padding:0 5px}
  .film-strip{padding-top:72px}.film-strip-head{margin-bottom:44px}.film-strip-head p{font-size:15vw}.film-images{grid-template-columns:1fr}.film-images figure:nth-child(2),.film-images figure:nth-child(3){display:block}.film-images figure:nth-child(2){margin-left:15vw}.film-images figure:nth-child(3){width:72%;margin-left:auto}.film-images{gap:28px}
}
@media(prefers-reduced-motion:reduce){.progressive-word{opacity:1!important;transform:none!important;filter:none!important}}


/* V4 — navigation legibility over hero video */
.hero-nav-shade{position:absolute;z-index:1;left:0;right:0;top:0;height:230px;pointer-events:none;background:linear-gradient(180deg,rgba(4,6,3,.78) 0%,rgba(5,7,4,.58) 30%,rgba(6,8,5,.24) 68%,rgba(0,0,0,0) 100%)}
.hero-wash{z-index:1}.hero-topline,.hero-brand-lockup,.hero-bottomline{z-index:2}.site-header:not(.scrolled){text-shadow:0 1px 14px rgba(0,0,0,.42)}
.site-header.scrolled{text-shadow:none}
.lang-button{text-decoration:none;display:inline-grid;place-items:center}

/* V4 — direct booking offer */
body.offer-open{overflow:hidden}
.direct-offer-overlay{position:fixed;inset:0;z-index:450;display:grid;place-items:center;padding:clamp(16px,3vw,44px);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}
.direct-offer-overlay.active{opacity:1;visibility:visible}
.direct-offer-backdrop{position:absolute;inset:0;background:rgba(10,11,8,.64);backdrop-filter:blur(7px)}
.direct-offer-card{position:relative;z-index:1;width:min(980px,94vw);max-height:min(780px,92svh);display:grid;grid-template-columns:.9fr 1.1fr;background:#eeeae0;color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:auto;transform:translateY(24px) scale(.985);transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.direct-offer-overlay.active .direct-offer-card{transform:none}
.direct-offer-close{position:absolute;z-index:4;top:16px;right:16px;width:38px;height:38px;border:1px solid rgba(23,23,19,.22);border-radius:50%;background:rgba(240,238,230,.8);backdrop-filter:blur(8px);font-family:var(--sans);font-size:23px;line-height:1;cursor:pointer}
.direct-offer-visual{position:relative;min-height:620px;overflow:hidden;background:#222}
.direct-offer-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.direct-offer-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.08) 45%,rgba(0,0,0,.66))}
.direct-offer-visual-copy{position:absolute;left:34px;right:34px;bottom:31px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:20px}
.direct-offer-visual-copy span{font-family:var(--serif);font-size:clamp(54px,7vw,92px);line-height:.78;letter-spacing:-.035em}
.direct-offer-visual-copy small{font-size:8px;letter-spacing:.24em;padding-bottom:3px}
.direct-offer-content{padding:clamp(42px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.direct-offer-eyebrow{font-size:9px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:24px}
.direct-offer-content h2{font-family:var(--serif);font-size:clamp(48px,5vw,76px);font-weight:400;line-height:.88;letter-spacing:-.035em;margin:0 0 26px}
.direct-offer-content>p{font-size:14px;line-height:1.7;max-width:480px;margin:0 0 28px}
.direct-offer-content ul{list-style:none;padding:0;margin:0 0 30px;border-top:1px solid var(--line)}
.direct-offer-content li{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45}
.direct-offer-content li span{font-size:8px;letter-spacing:.14em;padding-top:3px;opacity:.55}
.direct-offer-code{border:1px solid rgba(23,23,19,.28);display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:10px 10px 10px 16px;margin-bottom:13px}
.direct-offer-code small{font-size:8px;letter-spacing:.14em;text-transform:uppercase}.direct-offer-code strong{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.04em;margin:0 18px}.direct-offer-code button{border:0;background:var(--ink);color:#fff;font-size:8px;letter-spacing:.14em;padding:12px 14px;cursor:pointer}
.direct-offer-cta{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.16em;margin-bottom:14px}
.direct-offer-note{font-size:8px;line-height:1.5;opacity:.54}
.direct-offer-tab{position:fixed;z-index:240;left:0;top:55%;transform:translate(-100%,-50%);writing-mode:vertical-rl;rotate:180deg;border:0;background:var(--ink);color:#fff;padding:15px 11px;font-size:8px;letter-spacing:.14em;cursor:pointer;display:flex;gap:14px;align-items:center;transition:transform .35s ease;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.direct-offer-tab.visible{transform:translate(0,-50%)}.direct-offer-tab b{font-size:13px;font-weight:400}

@media(max-width:760px){
  .hero-nav-shade{height:200px;background:linear-gradient(180deg,rgba(4,6,3,.82),rgba(5,7,4,.55) 38%,rgba(0,0,0,0) 100%)}
  .direct-offer-card{grid-template-columns:1fr;max-height:91svh;width:min(94vw,560px)}
  .direct-offer-visual{min-height:230px;height:30svh}.direct-offer-visual-copy{left:22px;right:22px;bottom:20px}.direct-offer-content{padding:34px 24px 28px}.direct-offer-content h2{font-size:clamp(42px,12vw,62px)}
  .direct-offer-content>p{margin-bottom:20px}.direct-offer-content ul{margin-bottom:22px}.direct-offer-content li{padding:10px 0}
  .direct-offer-tab{top:auto;bottom:20px;left:16px;transform:translateY(150%);writing-mode:horizontal-tb;rotate:0;padding:11px 13px}.direct-offer-tab.visible{transform:none}
}
@media(prefers-reduced-motion:reduce){.direct-offer-card,.direct-offer-overlay,.direct-offer-tab{transition:none}}

/* V5 — stronger persistent direct-booking tab */
.direct-offer-tab{padding:19px 14px;font-size:9px;letter-spacing:.16em;gap:16px;min-width:46px}
.direct-offer-tab b{font-size:15px}
@media(max-width:700px){
  .direct-offer-tab{bottom:18px;left:16px;padding:14px 17px;font-size:9px;min-width:0}
}

/* V6 — integrated location map section */
.location-map-section{padding-top:110px;padding-bottom:110px;background:linear-gradient(180deg,#f3ede2 0%,#efe8dc 100%);border-top:1px solid var(--line)}
.location-map-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.35fr);gap:34px;align-items:end}
.location-map-copy .section-number{margin-bottom:20px}
.location-map-copy .eyebrow{display:block;margin-bottom:18px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;opacity:.58}
.location-map-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,7vw,104px);line-height:.9;letter-spacing:-.045em;margin:0 0 18px}
.location-map-copy h2 em{display:block;font-style:italic}
.location-map-copy p{max-width:34ch;font-size:15px;line-height:1.85;margin:0}
.location-map-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(23,23,19,.12)}
.location-map-points div{display:grid;gap:6px;align-content:start}
.location-map-points strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:.95}
.location-map-points span{font-size:11px;line-height:1.55;letter-spacing:.02em;opacity:.76;max-width:14ch}
.location-map-figure{margin:0;position:relative;padding:12px;border:1px solid rgba(23,23,19,.12);background:rgba(255,255,255,.38);box-shadow:0 22px 60px rgba(32,24,10,.08)}
.location-map-figure img{display:block;width:100%;height:auto}
.footer{padding-top:70px}
@media(max-width:1000px){
  .location-map-grid{grid-template-columns:1fr;gap:26px}
  .location-map-copy p{max-width:unset}
}
@media(max-width:700px){
  .location-map-section{padding-top:86px;padding-bottom:86px}
  .location-map-copy h2{font-size:16vw}
  .location-map-points{grid-template-columns:1fr;padding-top:18px;margin-top:22px}
  .location-map-points strong{font-size:24px}
}

/* V7 — scroll-drawn Aurea journey through the manifesto */
.progressive-title{position:relative;isolation:isolate;min-height:.01px}
.progressive-title .progressive-line{position:relative;z-index:3}
.manifesto-route{position:absolute;z-index:1;inset:-3% -1% -8%;pointer-events:none;overflow:visible}
.manifesto-route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.manifesto-route-dots{fill:none;stroke:rgba(23,23,19,.18);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1 15;vector-effect:non-scaling-stroke}
.manifesto-route-progress{fill:none;stroke:rgba(23,23,19,.54);stroke-width:1.35;stroke-linecap:round;vector-effect:non-scaling-stroke}
.manifesto-route-marker{position:absolute;z-index:4;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);box-shadow:0 8px 28px rgba(23,23,19,.15);opacity:0;will-change:transform,opacity;transform:translate3d(-100px,-100px,0)}
.manifesto-route-marker::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(23,23,19,.14);border-radius:50%;transform:scale(.82);opacity:0;transition:transform .35s ease,opacity .35s ease}
.manifesto-route-marker.is-moving::after{transform:scale(1);opacity:1}
.manifesto-route-marker img{width:24px;height:24px;object-fit:contain}
@media(max-width:1000px){
  .manifesto-route{inset:-1% -2% -5%}
  .manifesto-route-marker{width:36px;height:36px}
  .manifesto-route-marker img{width:20px;height:20px}
}
@media(max-width:700px){
  .manifesto-route{inset:-5% -2% -2%}
  .manifesto-route-dots{stroke-width:1.7;stroke-dasharray:1 12}
  .manifesto-route-progress{stroke-width:1.1}
  .manifesto-route-marker{width:30px;height:30px}
  .manifesto-route-marker img{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){
  .manifesto-route-progress{stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:.38}
  .manifesto-route-marker{display:none}
}

/* V7.2 — persistent quick-booking bar below the main navigation */
.availability-dock{
  position:sticky;
  top:68px;
  z-index:90;
  box-shadow:0 12px 30px rgba(0,0,0,.10);
}

/* Keep the booking bar visually separate from the content while it is pinned. */
.availability-dock::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}

@media(max-width:760px){
  .availability-dock{top:68px;padding:0}
  .availability-inner{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
  }
  .availability-intro{
    grid-column:auto;
    padding:12px 16px 12px var(--pad);
    border-bottom:0;
    border-right:1px solid rgba(255,255,255,.18);
    min-width:0;
  }
  .availability-intro small{display:none}
  .availability-intro strong{
    font-size:18px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .availability-search{
    grid-column:auto;
    padding:12px var(--pad) 12px 16px;
    gap:16px;
    white-space:nowrap;
  }
  .availability-search span{font-size:11px}
}

/* V7.3 — subtler direct-booking offer + clear 8% minimized badge */
.direct-offer-backdrop{
  background:rgba(10,11,8,.46);
  backdrop-filter:blur(4px);
}
.direct-offer-card{
  width:min(840px,92vw);
  max-height:min(690px,90svh);
  grid-template-columns:.82fr 1.18fr;
  background:#f1ede4;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  transform:translateY(18px) scale(.99);
}
.direct-offer-close{
  top:14px;right:14px;width:34px;height:34px;
  background:rgba(244,241,233,.88);
  font-size:20px;
}
.direct-offer-visual{min-height:500px}
.direct-offer-visual-copy{left:26px;right:26px;bottom:24px}
.direct-offer-visual-copy span{font-size:clamp(46px,5.5vw,72px)}
.direct-offer-content{padding:clamp(34px,4vw,52px)}
.direct-offer-eyebrow{margin-bottom:18px;font-size:8px}
.direct-offer-content h2{font-size:clamp(42px,4.2vw,62px);margin-bottom:20px}
.direct-offer-content>p{font-size:13px;line-height:1.65;margin-bottom:22px}
.direct-offer-content ul{margin-bottom:22px}
.direct-offer-content li{padding:10px 0;font-size:11px}
.direct-offer-code{margin-bottom:10px}
.direct-offer-cta{padding:15px 17px;margin-bottom:10px}

/* Minimized state: a compact percentage badge, never rotated. */
.direct-offer-tab{
  position:fixed;
  z-index:240;
  left:18px;
  top:auto;
  bottom:22px;
  width:72px;
  height:72px;
  min-width:72px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(15,16,13,.94);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
  transform:translateY(130%);
  writing-mode:horizontal-tb;
  rotate:0deg;
  transition:transform .35s ease, background .25s ease, scale .25s ease;
}
.direct-offer-tab.visible{transform:translateY(0)}
.direct-offer-tab:hover{background:#0a0b09;scale:1.04}
.direct-offer-tab span{
  display:block;
  font-family:var(--serif);
  font-size:22px;
  line-height:1;
  letter-spacing:-.02em;
  text-transform:uppercase;
  white-space:nowrap;
}
.direct-offer-tab b{display:none}

@media(max-width:760px){
  .direct-offer-card{grid-template-columns:1fr;width:min(92vw,500px);max-height:88svh}
  .direct-offer-visual{min-height:180px;height:24svh}
  .direct-offer-visual-copy{left:20px;right:20px;bottom:17px}
  .direct-offer-content{padding:28px 22px 24px}
  .direct-offer-content h2{font-size:clamp(38px,10.5vw,52px)}
  .direct-offer-content>p{font-size:12px;margin-bottom:17px}
  .direct-offer-content ul{margin-bottom:18px}
  .direct-offer-tab{
    left:16px;
    bottom:18px;
    width:66px;
    height:66px;
    min-width:66px;
    transform:translateY(130%);
    writing-mode:horizontal-tb;
    rotate:0deg;
  }
  .direct-offer-tab.visible{transform:translateY(0)}
  .direct-offer-tab span{font-size:20px}
}

/* V7.4 — discreet management + legal footer */
.footer-legal{margin-top:58px;padding:20px 0 18px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.footer-managed{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}
.footer-managed a{color:rgba(255,255,255,.9);transition:opacity .25s ease}
.footer-managed a:hover{opacity:.62}
.footer-legal-links{display:flex!important;grid-column:auto!important;gap:22px!important;margin:0!important;font-size:9px!important}
.footer-legal-links a{color:rgba(255,255,255,.58);transition:color .25s ease}
.footer-legal-links a:hover{color:#fff}
.footer-bottom{border-top:0!important;padding-top:18px}
@media(max-width:700px){
  .footer-legal{margin-top:44px;align-items:flex-start;flex-direction:column;gap:16px;padding:20px 0}
  .footer-legal-links{display:flex!important;flex-wrap:wrap;gap:14px 20px!important;margin:0!important}
}

/* ==========================================================
   AUREA V8 — cinematic hospitality direction
   Less interface, more feeling.
   ========================================================== */

/* Hero: slightly quieter typography, more cinematic breathing room */
.hero-brand-lockup{top:48%}
.hero-brand-lockup h1{font-size:clamp(96px,16vw,238px)}
.hero-brand-lockup p{margin-top:28px;opacity:.94}
.hero-bottomline p{max-width:520px;font-size:clamp(28px,3.2vw,48px)}
.hero-bottomline p em{font-style:italic;color:rgba(255,255,255,.82)}

/* Manifesto becomes a true pause in the journey */
.manifesto{padding-top:clamp(130px,15vw,230px);padding-bottom:clamp(150px,18vw,270px)}
.manifesto-lower{margin-top:clamp(90px,10vw,150px);grid-template-columns:minmax(250px,.72fr) minmax(340px,36vw)}
.manifesto-copy{font-family:var(--serif);font-size:clamp(24px,2vw,34px);line-height:1.25;max-width:470px;margin:0 0 7vw 5vw;letter-spacing:-.01em}
.portrait-photo img{aspect-ratio:4/5;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.portrait-photo:hover img{transform:scale(1.018)}

/* Full-screen desire moments */
.desire-scenes{background:#0f100d;color:#fff}
.cinematic-scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}
.scene-media,.night-media{position:absolute;inset:-6%;z-index:-3;overflow:hidden}
.scene-media img,.night-media img{width:100%;height:112%;object-fit:cover;transform:scale(1.06) translate3d(0,var(--parallax-y,0px),0);will-change:transform;backface-visibility:hidden}
.scene-wake .scene-media img{object-position:center 52%}
.scene-pool .scene-media img{object-position:center 50%}
.scene-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,6,4,.58) 0%,rgba(5,6,4,.20) 48%,rgba(5,6,4,.12) 100%)}
.scene-pool .scene-shade{background:linear-gradient(270deg,rgba(5,6,4,.58) 0%,rgba(5,6,4,.15) 52%,rgba(5,6,4,.10) 100%)}
.scene-copy{position:absolute;left:var(--pad);bottom:clamp(70px,9vh,120px);max-width:min(760px,70vw)}
.scene-copy-right{left:auto;right:var(--pad);text-align:right}
.scene-copy small,.night-copy small{display:block;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:20px}
.scene-copy h2,.night-copy h2{font-family:var(--serif);font-size:clamp(72px,10vw,160px);line-height:.78;letter-spacing:-.045em;font-weight:400;margin:0;color:#f4f0e7}
.scene-copy h2 em,.night-copy h2 em{font-weight:400;font-style:italic;color:rgba(244,240,231,.8)}
.scene-copy p,.night-copy p{font-size:clamp(13px,1.1vw,17px);line-height:1.6;margin:28px 0 0;max-width:380px;color:rgba(255,255,255,.82)}
.scene-copy-right p{margin-left:auto}

/* Dark editorial montage */
.film-strip{padding-top:clamp(100px,11vw,170px);padding-bottom:clamp(110px,12vw,180px)}
.film-strip-head{align-items:end;margin-bottom:clamp(70px,8vw,125px)}
.film-strip-head p{max-width:1000px}
.film-images{gap:clamp(14px,2vw,30px);align-items:center}
.film-images figure:nth-child(1){transform:translateY(7vw)}
.film-images figure:nth-child(3){transform:translateY(-5vw)}
.film-images img{filter:saturate(.92);transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.film-images figure:hover img{transform:scale(1.02);filter:saturate(1)}

/* Villas: fewer words, larger imagery */
.villa-story{padding-top:clamp(140px,14vw,220px);padding-bottom:clamp(140px,16vw,250px)}
.villa-sticky h2{font-size:clamp(72px,8vw,130px)}
.villa-sticky p{font-family:var(--serif);font-size:clamp(22px,1.8vw,30px);line-height:1.35;max-width:480px;color:rgba(23,23,19,.78)}
.villa-scroll{gap:clamp(100px,12vw,190px)}
.villa-scroll img{height:min(76vw,900px)}
.villa-scroll figure:nth-child(2) img{height:min(62vw,760px)}
.villa-scroll figcaption{font-size:28px;padding-top:16px}

/* Essentials becomes restrained rather than feature-card-like */
.details-band{padding-top:clamp(100px,12vw,170px);padding-bottom:clamp(100px,12vw,170px)}
.details-heading h2{font-size:clamp(68px,8.5vw,138px);max-width:1080px}
.details-list{margin-top:70px}
.details-list>div{padding:24px 0}
.details-list strong{font-size:clamp(30px,3vw,50px);font-weight:400}
.details-list small{opacity:.6}

/* Night: one long, sensual visual pause */
.night-scene{position:relative;min-height:110svh;overflow:hidden;background:#0d0e0b;color:#fff;isolation:isolate}
.night-media{inset:-7%}
.night-media img{filter:brightness(.50) saturate(.75) sepia(.08) contrast(1.06);object-position:center 60%}
.night-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,5,3,.28),rgba(4,5,3,.22) 36%,rgba(4,5,3,.72) 100%)}
.night-copy{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(78px,10vh,140px);max-width:1100px}
.night-copy h2{font-size:clamp(76px,10.5vw,172px)}

/* Areguling: less tourist-board, more destination desire */
.areguling{min-height:115svh}
.areguling-image{filter:saturate(.88) contrast(1.03)}
.areguling-shade{background:linear-gradient(180deg,rgba(8,9,6,.18),rgba(8,9,6,.22) 42%,rgba(8,9,6,.66))}
.areguling-word{opacity:.085;font-size:clamp(90px,18vw,300px)}
.areguling-content{max-width:1180px}
.areguling-content h2{font-size:clamp(72px,8.2vw,136px);max-width:1150px}
.areguling-content p{font-family:var(--serif);font-size:clamp(20px,1.6vw,27px);line-height:1.4;max-width:590px}

/* A day at Aurea: staggered visual rhythm, not a card grid */
.experiences-editorial{background:#ece8de;padding-top:clamp(130px,15vw,230px);padding-bottom:clamp(140px,16vw,250px)}
.experiences-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:6vw;align-items:start;margin-bottom:clamp(90px,11vw,170px)}
.experiences-head small{font-size:9px;letter-spacing:.24em;text-transform:uppercase;padding-top:18px;opacity:.58}
.experiences-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(78px,10vw,158px);line-height:.78;letter-spacing:-.045em;margin:0}
.experiences-head h2 em{font-weight:400;font-style:italic;color:#817d73}
.experiences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(70px,10vw,160px) clamp(20px,5vw,75px);align-items:start}
.experience-card{margin:0}
.experience-card:nth-child(even){margin-top:12vw}
.experience-card figure{margin:0;overflow:hidden;background:#d7d0c2}
.experience-card:nth-child(1) figure,.experience-card:nth-child(4) figure{aspect-ratio:4/5}
.experience-card:nth-child(2) figure,.experience-card:nth-child(3) figure{aspect-ratio:5/4}
.experience-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.75,.2,1)}
.experience-card:hover img{transform:scale(1.025)}
.experience-card>div{display:grid;grid-template-columns:42px 1fr;column-gap:14px;padding-top:18px;border-top:1px solid rgba(23,23,19,.18);margin-top:12px}
.experience-card span{font-size:9px;letter-spacing:.14em;opacity:.55;padding-top:6px}
.experience-card h3{font-family:var(--serif);font-size:clamp(34px,3.4vw,58px);font-weight:400;line-height:.9;margin:0}
.experience-card p{grid-column:2;margin:12px 0 0;font-size:13px;opacity:.72}

/* Gallery becomes a stronger editorial sequence */
.gallery{padding-top:clamp(130px,15vw,230px);padding-bottom:clamp(130px,15vw,230px)}
.gallery-head h2{font-size:clamp(78px,9vw,148px)}
.gallery-rail{gap:clamp(18px,3vw,46px)}
.gallery-rail figure{min-width:min(62vw,760px)}
.gallery-rail figure:nth-child(even){min-width:min(48vw,600px)}
.gallery-rail img{transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}
.gallery-rail figure:hover img{transform:scale(1.018)}

/* Final emotional push before booking */
.interlude{min-height:105svh}
.interlude figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.52))}
.interlude blockquote{font-size:clamp(62px,8vw,130px);max-width:1200px;line-height:.84}

/* Booking should feel like the natural ending, not a form */
.booking-section{padding-top:clamp(140px,15vw,230px);padding-bottom:clamp(140px,16vw,250px);gap:7vw}
.booking-copy h2{font-size:clamp(82px,9vw,150px)}
.booking-copy p{font-family:var(--serif);font-size:clamp(21px,1.6vw,28px);line-height:1.4;max-width:430px}
.booking-engine-wrap{align-self:end}

/* Sticky quick-booking bar gently compresses once pinned */
.availability-dock{transition:padding .35s ease,background .35s ease,box-shadow .35s ease}
.availability-dock .availability-inner,.availability-dock .availability-intro,.availability-dock .field-demo,.availability-dock .availability-search{transition:padding .35s ease,min-height .35s ease,font-size .35s ease}
.availability-dock.is-pinned{padding-top:8px;padding-bottom:8px;background:rgba(23,23,19,.96);backdrop-filter:blur(18px);box-shadow:0 12px 32px rgba(0,0,0,.13)}
.availability-dock.is-pinned .availability-intro{padding-top:3px;padding-bottom:3px}
.availability-dock.is-pinned .availability-intro strong{font-size:20px}
.availability-dock.is-pinned .field-demo{padding-top:3px;padding-bottom:3px}
.availability-dock.is-pinned .availability-search{padding-top:5px;padding-bottom:5px}
.availability-dock.is-pinned .availability-search span{font-size:15px}

/* Map: keep the final chapter quiet and luxurious */
.location-map-section{padding-top:clamp(120px,14vw,210px);padding-bottom:clamp(120px,14vw,210px)}
.location-map-figure{box-shadow:0 30px 80px rgba(32,24,10,.09)}

@media(max-width:900px){
  .manifesto-lower{grid-template-columns:1fr;gap:60px}.manifesto-copy{margin:0;max-width:680px}.portrait-photo{margin-left:auto;width:min(76vw,560px)}
  .cinematic-scene{min-height:88svh}.scene-copy{max-width:86vw}.scene-copy-right{text-align:left;left:var(--pad);right:auto}.scene-copy-right p{margin-left:0}
  .film-images figure:nth-child(1),.film-images figure:nth-child(3){transform:none}
  .night-scene{min-height:92svh}
  .experiences-head{grid-template-columns:1fr;gap:28px}.experiences-head small{padding-top:0}.experiences-grid{grid-template-columns:1fr 1fr;gap:70px 22px}.experience-card:nth-child(even){margin-top:10vw}
  .areguling-content h2{font-size:clamp(62px,11vw,105px)}
}

@media(max-width:620px){
  .hero-brand-lockup h1{font-size:27vw}.hero-brand-lockup p{margin-top:22px;letter-spacing:.9em;padding-left:.9em}.hero-bottomline{bottom:28px}.hero-bottomline p{font-size:27px}.hero-bottomline a{display:none}
  .manifesto{padding-top:120px;padding-bottom:130px}.manifesto-copy{font-size:27px}.portrait-photo{width:88%}
  .cinematic-scene{min-height:78svh}.scene-media{inset:-4%}.scene-copy{bottom:46px}.scene-copy h2,.night-copy h2{font-size:17vw}.scene-copy p,.night-copy p{margin-top:18px;font-size:13px}
  .film-strip{padding-top:90px;padding-bottom:110px}.film-images{gap:24px}.film-images figure:nth-child(2){margin-left:0}.film-images figure:nth-child(3){width:78%}
  .villa-story{padding-top:110px;padding-bottom:120px}.villa-sticky p{font-size:24px}.villa-scroll{gap:82px}
  .details-band{padding-top:90px;padding-bottom:100px}.details-list{margin-top:45px}
  .night-scene{min-height:78svh}.night-copy{bottom:50px}.night-media{inset:-4%}
  .areguling{min-height:92svh}.areguling-content h2{font-size:15vw}.areguling-content p{font-size:21px}
  .experiences-editorial{padding-top:110px;padding-bottom:130px}.experiences-head h2{font-size:19vw}.experiences-grid{grid-template-columns:1fr;gap:72px}.experience-card:nth-child(even){margin-top:0}.experience-card:nth-child(odd) figure,.experience-card:nth-child(even) figure{aspect-ratio:4/5}.experience-card:nth-child(2),.experience-card:nth-child(4){width:86%;margin-left:auto}
  .gallery{padding-top:110px;padding-bottom:120px}.gallery-rail figure,.gallery-rail figure:nth-child(even){min-width:82vw}
  .interlude{min-height:78svh}.interlude blockquote{font-size:15vw}
  .booking-section{padding-top:115px;padding-bottom:130px}.booking-copy h2{font-size:18vw}.booking-copy p{font-size:23px}
  .availability-dock.is-pinned{padding:0}.availability-dock.is-pinned .availability-intro strong{font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .scene-media img,.night-media img{transform:none!important}
}

/* ==========================================================
   AUREA V8.1 — compact cinematic rhythm
   Same premium experience, shorter overall journey.
   ========================================================== */
@media(min-width:901px){
  .manifesto{padding-top:clamp(105px,11vw,165px);padding-bottom:clamp(115px,12vw,185px)}
  .manifesto-lower{margin-top:clamp(65px,7vw,105px)}

  .cinematic-scene{min-height:82svh}
  .scene-copy{bottom:clamp(50px,7vh,90px)}

  .film-strip{padding-top:clamp(76px,8vw,118px);padding-bottom:clamp(82px,9vw,128px)}
  .film-strip-head{margin-bottom:clamp(48px,5vw,76px)}

  .villa-story{padding-top:clamp(105px,10vw,155px);padding-bottom:clamp(115px,11vw,175px)}
  .villa-scroll{gap:clamp(72px,7vw,112px)}
  .villa-scroll img{height:min(64vw,760px)}
  .villa-scroll figure:nth-child(2) img{height:min(52vw,650px)}

  .details-band{padding-top:clamp(76px,8vw,118px);padding-bottom:clamp(80px,8vw,122px)}
  .details-list{margin-top:48px}
  .details-list>div{padding:19px 0}

  .night-scene{min-height:86svh}
  .night-copy{bottom:clamp(56px,7vh,96px)}

  .areguling{min-height:90svh}

  .experiences-editorial{padding-top:clamp(92px,9vw,140px);padding-bottom:clamp(100px,10vw,155px)}
  .experiences-head{margin-bottom:clamp(55px,6vw,92px)}
  .experiences-grid{gap:clamp(48px,6vw,92px) clamp(20px,4vw,60px)}
  .experience-card:nth-child(even){margin-top:5vw}

  .gallery{padding-top:clamp(90px,9vw,140px);padding-bottom:clamp(92px,9vw,145px)}
  .gallery-head{margin-bottom:42px}
  .gallery-rail figure{min-width:min(54vw,700px)}
  .gallery-rail figure:nth-child(even){min-width:min(41vw,530px)}

  .interlude{min-height:76svh}

  .booking-section{padding-top:clamp(100px,10vw,155px);padding-bottom:clamp(105px,11vw,170px)}
  .booking-engine-wrap{margin-top:42px}
  .booking-engine-label{padding-bottom:38px}

  .location-map-section{padding-top:clamp(90px,9vw,140px);padding-bottom:clamp(90px,9vw,140px)}
}

@media(max-width:900px) and (min-width:621px){
  .manifesto{padding-top:100px;padding-bottom:110px}
  .manifesto-lower{margin-top:52px;gap:46px}
  .cinematic-scene{min-height:72svh}
  .film-strip{padding-top:72px;padding-bottom:82px}.film-strip-head{margin-bottom:48px}
  .villa-story{padding-top:92px;padding-bottom:105px}.villa-scroll{gap:66px}
  .details-band{padding-top:72px;padding-bottom:78px}.details-list{margin-top:42px}
  .night-scene{min-height:72svh}
  .areguling{min-height:78svh}
  .experiences-editorial{padding-top:86px;padding-bottom:100px}.experiences-head{margin-bottom:52px}.experiences-grid{gap:50px 20px}.experience-card:nth-child(even){margin-top:5vw}
  .gallery{padding-top:82px;padding-bottom:90px}.gallery-head{margin-bottom:40px}
  .interlude{min-height:68svh}
  .booking-section{padding-top:90px;padding-bottom:100px}
  .location-map-section{padding-top:82px;padding-bottom:82px}
}

@media(max-width:620px){
  .manifesto{padding-top:86px;padding-bottom:94px}.manifesto-lower{margin-top:42px;gap:40px}
  .cinematic-scene{min-height:68svh}.scene-copy{bottom:36px}
  .film-strip{padding-top:68px;padding-bottom:78px}.film-strip-head{margin-bottom:38px}.film-images{gap:18px}
  .villa-story{padding-top:84px;padding-bottom:92px}.villa-scroll{gap:58px}
  .details-band{padding-top:72px;padding-bottom:78px}.details-list{margin-top:34px}.details-list>div{padding:17px 0}
  .night-scene{min-height:68svh}.night-copy{bottom:38px}
  .areguling{min-height:76svh}
  .experiences-editorial{padding-top:82px;padding-bottom:92px}.experiences-head{margin-bottom:48px}.experiences-grid{gap:54px}.experience-card:nth-child(2),.experience-card:nth-child(4){width:90%}
  .gallery{padding-top:78px;padding-bottom:84px}.gallery-head{margin-bottom:36px}.gallery-rail figure,.gallery-rail figure:nth-child(even){min-width:76vw}
  .interlude{min-height:66svh}
  .booking-section{padding-top:84px;padding-bottom:94px}
  .location-map-section{padding-top:74px;padding-bottom:74px}
}
