@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@200;300;400;500;600;700&display=swap');

/* ============================================================
   SATOPIA · THE PRIVÉ COLLECTION — shared property stylesheet
   Extracted from the signed-off property template. BRAND LAW:
   Albert Sans only · no serif · no italics · NO GOLD · near-white
   ground · soft-black ink · colour-block + whitespace separation.
   Used by every property page so the 100 stay consistent.
   ============================================================ */
/* ============================================================
   SATOPIA · THE PRIVÉ COLLECTION — property page template (final)
   Private, tailor-made travel. No fixed dates, no group, no itinerary.
   BRAND LAW: Albert Sans only · no serif · no italics · NO GOLD ·
   lightest near-white ground · soft-black ink · separation by
   colour-block + whitespace (refined editorial hairlines only — no
   ghost-button strokes, no boxed cards). Moments are 16:9.
   ── All property content is driven by the PROPERTY object at the
   foot of this file: one record per property. Swap it and re-render.
   ============================================================ */
:root{
  --bg:#FFFEFB; --bg-soft:#F4F2EC; --bg-soft2:#EFEBE2;
  --ink:#0A0A0A; --ink-soft:#1B1A16; --ink-deep:#0C0C0B;
  --muted:#8C867A; --line:#E6E1D6; --line-soft:#EEEAE0;
  --mark:#1B1A16;                 /* small marks on light (was gold) */
  --on:#F6F4EF; --on-2:rgba(246,244,239,.66); --on-3:rgba(246,244,239,.40);
  --mark-d:#CFC8BB;               /* marks on dark (warm neutral, NOT gold) */
  --green:#2C3A39; --green-deep:#3D5150; --cream:#F4F2EC;  /* brand green + cream (Enquire band) */
  --font:"Albert Sans",system-ui,-apple-system,sans-serif;
  --maxw:1260px; --gut:clamp(20px,5.5vw,96px); --section-y:clamp(64px,12vh,150px);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;font-size:17px;line-height:1.66;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--ink);color:var(--bg)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em,i{font-style:normal}
h1,h2,h3{font-weight:300;letter-spacing:-.02em;line-height:1.08}
.eyebrow{font-weight:500;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.eyebrow .credit{color:var(--ink-soft)}
button{font:inherit;cursor:pointer;border:0;background:none}

/* ---------- image slots: borderless, photography-led ---------- */
.img{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--bg-soft2)}
.img>span.fill{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s var(--ease)}
.img:hover>span.fill{transform:scale(1.04)}
.img .slot{position:absolute;left:16px;bottom:14px;z-index:2;font-weight:500;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.92);text-shadow:0 1px 18px rgba(0,0,0,.45);max-width:84%}
.img .tag{position:absolute;right:13px;top:12px;z-index:2;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.img::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(8,9,10,.34),transparent 42%)}
.img--9x16{aspect-ratio:9/16}.img--16x9{aspect-ratio:16/9}.img--4x5{aspect-ratio:4/5}

/* ============================================================ NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:flex-start;
  padding:20px var(--gut);transition:background .5s var(--ease),padding .4s var(--ease);color:#fff}
.nav__name{flex:none;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:inherit;opacity:0;transition:opacity .4s var(--ease)}
.nav__div{flex:none;width:1px;height:13px;background:var(--line);margin-left:14px;opacity:0;transition:opacity .4s var(--ease)}
.nav__country{flex:none;font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--muted);margin-left:14px;opacity:0;transition:opacity .4s var(--ease)}
.nav.scrolled .nav__name{opacity:1}
.nav.scrolled .nav__div{opacity:1}
.nav.scrolled .nav__country{opacity:1}
.nav__prog{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--muted);opacity:0;transition:width .15s linear,opacity .4s var(--ease);z-index:1}
.nav.scrolled .nav__prog{opacity:1}
.nav .wm{height:22px}.nav .wm img{height:100%;width:auto;display:block}
.nav .wm .dk{display:none}
.nav.scrolled{background:rgba(255,254,251,.93);backdrop-filter:saturate(120%) blur(10px);color:var(--ink);padding-block:13px;box-shadow:0 1px 0 rgba(10,10,10,.12)}
.nav.scrolled .wm .lt{display:none}.nav.scrolled .wm .dk{display:block}
.nav-links{display:flex;gap:26px;align-items:center;margin-left:auto}
.nav-links a{position:relative;font-weight:500;font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.7;transition:opacity .3s,font-weight .2s}
.nav-links a:hover{opacity:1}
.nav-links a.on{opacity:1;font-weight:700}
.nav .cta{padding:0;background:none;color:inherit;opacity:1;font-weight:700;white-space:nowrap}
.nav.scrolled .cta{background:none;color:var(--ink)}
@media(max-width:1040px){.nav-links a:not(.cta){display:none}}

/* ============================================================ HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:0 var(--gut) clamp(44px,8vh,96px);overflow:hidden;color:#fff;background:var(--ink-deep)}
.hero__fill{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.06);animation:heroZoom 11s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,9,10,.74),rgba(8,9,10,.04) 44%,rgba(8,9,10,.46))}
.hero__cap{position:absolute;left:var(--gut);top:88px;z-index:2;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hero__inner{position:relative;z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;display:grid;grid-template-columns:1fr;gap:48px;align-items:flex-end}
.hero .eyebrow{color:rgba(255,255,255,.84)}
.hero .eyebrow .credit{color:#fff}
.hero h1{font-weight:200;line-height:.9;font-size:clamp(64px,13.5vw,184px);margin:16px 0;letter-spacing:-.025em;text-transform:uppercase}
.hero .essence{max-width:42ch;font-size:clamp(17px,1.7vw,21px);font-weight:300;color:rgba(255,255,255,.94);line-height:1.46}
.hero .meta{margin-top:24px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.82)}

/* hero fact-ledger (Asaba-style explore panel) */
.ledger{min-width:300px;max-width:330px;padding-bottom:4px}
.ledger .lhd{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.66);padding-bottom:15px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.24)}
.ledger a{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:15px 0;box-shadow:inset 0 -1px 0 rgba(255,255,255,.16);transition:padding-left .35s var(--ease)}
.ledger a:hover{padding-left:6px}
.ledger .lk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66);white-space:nowrap}
.ledger .lv{font-weight:300;font-size:17px;color:#fff;text-align:right;letter-spacing:-.005em}
.ledger .more{display:block;margin-top:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.82}
@media(max-width:980px){
  .hero__inner{grid-template-columns:1fr}
  .ledger{max-width:none;margin-top:30px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22);padding-top:18px}
  .ledger .lhd{display:block;padding-bottom:14px}
  .ledger a{display:grid;grid-template-columns:1fr;gap:3px;padding:14px 0}
  .ledger .lv{text-align:left;font-size:18px}
}

/* hero ranking seal — signed-off Privé 100 emblem (Seal Set), hero variant.
   Per-page sets --c (category colour) and --cg (category gradient) inline. */
.seal{--sz:128px;--c:#D6B9C9;--cg:linear-gradient(150deg,#E7CFDD,#C79CB6);
  position:absolute;top:96px;right:var(--gut);z-index:3;width:var(--sz);aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.34))}
.seal::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1.5px;background:var(--c);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.seal .s-top{font-weight:600;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.92);line-height:1.5;max-width:74%}
.seal .s-rank,.seal .s-yr{display:none}
.seal .s-big{font-weight:300;font-size:calc(var(--sz) * .27);line-height:1;letter-spacing:-.02em;margin:5px 0 4px;
  background:var(--cg);-webkit-background-clip:text;background-clip:text;color:transparent}
.seal .s-cat{font-weight:600;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--c);line-height:1.4;max-width:80%}
.seal .s-rank-big{font-weight:400;font-size:calc(var(--sz) * .12);letter-spacing:.01em;color:var(--c);line-height:1;margin-top:6px}
@media(max-width:980px){.seal{--sz:104px;top:84px;right:18px}.seal .s-top{font-size:7px}.seal .s-cat{font-size:7.5px}}

/* ============================================================ FACTS */
.facts{max-width:var(--maxw);margin:0 auto;padding:clamp(32px,5vh,52px) var(--gut);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 -1px 0 var(--line)}
.facts span{font-weight:300;font-size:15px}.facts b{font-weight:500}
.facts .dot{color:var(--line)}

/* ============================================================ OVERVIEW + ENQUIRY */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.overview{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(40px,7vw,104px);align-items:start;padding:var(--section-y) 0}
.lead .eyebrow{display:block;margin-bottom:22px}
.lead h2{font-size:clamp(27px,3.6vw,46px);margin-bottom:26px;max-width:17ch}
.lead p{color:#3a382f;margin-bottom:18px;max-width:56ch;font-weight:300;font-size:18px}
.enq{position:sticky;top:96px;background:var(--bg-soft);padding:clamp(24px,2.6vw,34px)}
.enq .ename{font-weight:300;font-size:21px;line-height:1.15}
.enq .rate{margin:14px 0 20px;font-weight:300;font-size:14.5px;color:var(--muted)}
.enq .rate b{font-weight:500;color:var(--ink)}
.enq .f{padding:12px 0;box-shadow:inset 0 -1px 0 var(--line)}
.enq .f label{display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.enq .f .val{font-weight:300;font-size:15px}
.btn{display:inline-block;text-align:center;font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:var(--on);padding:15px 32px;cursor:pointer;transition:opacity .3s;font-family:inherit}
.btn:hover{opacity:.84}
.btn--block{display:block;width:100%;margin-top:20px}
.enq .alt{display:block;text-align:center;margin-top:14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.enq .alt:hover{opacity:.6}
.ov-side{display:flex;flex-direction:column;gap:clamp(22px,2.4vw,30px)}
.ov-media{position:relative;overflow:hidden}
.ov-media .img{aspect-ratio:16/9}
.ov-summary{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px 18px;color:#fff}
.ov-summary .sh{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72);padding-bottom:10px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.22);margin-bottom:6px}
.ov-summary .r{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:5px 0}
.ov-summary .r .k{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.ov-summary .r .v{font-weight:300;font-size:13.5px;color:#fff;text-align:right;letter-spacing:-.005em}
.ov-side .enq{position:static}
@media(max-width:920px){.overview{grid-template-columns:1fr;gap:38px}.enq{position:static;order:-1}}

/* ============================================================ GLANCE · BUDGET & PRIVACY */
.glance{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) var(--section-y)}
.glance__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);box-shadow:inset 0 1px 0 var(--line);padding-top:clamp(32px,5vw,50px)}
.gt .eyebrow{display:block;margin-bottom:14px}
.gt__v{font-weight:300;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.01em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gt__sub{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.gt p{font-weight:300;color:#46443c;margin-top:13px;max-width:46ch;font-size:15px}
@media(max-width:760px){.glance__in{grid-template-columns:1fr;gap:34px}}

/* ============================================================ PILLARS */
.pillars{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) var(--section-y)}
.pillars>.eyebrow{display:block;margin-bottom:10px}
.pillars>h2{font-size:clamp(27px,3.6vw,46px);max-width:20ch;margin-bottom:clamp(38px,6vw,72px)}
.prows{display:flex;flex-direction:column;gap:clamp(50px,8vw,104px)}
.prow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,76px);align-items:start}
.prow .pimg .img{aspect-ratio:16/9}
.prow:nth-child(even) .pimg{order:2}
.prow__t .eyebrow{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.prow__t .eyebrow .n{font-size:11px;letter-spacing:.16em;color:var(--ink-soft)}
.prow__t h3{font-size:clamp(23px,3vw,34px);margin-bottom:18px;max-width:18ch}
.prow__t p{font-weight:300;color:#3a382f;margin-bottom:15px;max-width:50ch;font-size:17px}
.pstats{margin-top:30px;padding-top:4px;box-shadow:inset 0 1px 0 var(--line)}
.pstats .s{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:14px 0;box-shadow:inset 0 -1px 0 var(--line)}
.pstats .s .k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:none}
.pstats .s .v{font-weight:300;font-size:17px;letter-spacing:-.005em;text-align:right;line-height:1.4;color:var(--ink-soft)}
@media(max-width:860px){.prow{grid-template-columns:1fr;gap:22px}.prow:nth-child(even) .pimg{order:0}.prow .pimg .img{aspect-ratio:16/9}}

/* ============================================================ MOMENTS (16:9 reels rail) */
.moments{margin:0;padding:0 var(--gut) var(--section-y)}
.moments .mh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.moments .eyebrow{display:block}
.mgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.6vw,22px)}
.mgrid::-webkit-scrollbar{display:none}
.moment{min-width:0}
.moment .img{margin-bottom:14px}
.moment .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:48px;height:48px;border-radius:50%;background:rgba(246,244,239,.20);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}
.moment .play::after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.moment p{font-weight:300;font-size:15px;color:#46443c;max-width:34ch}
@media(max-width:1040px){.mgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.mgrid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================ THE HOUSE (feature) */
.feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;min-height:62vh}
.feature .img{aspect-ratio:auto;height:100%;min-height:360px}
.feature__text{padding:clamp(44px,8vw,120px) var(--gut);display:flex;flex-direction:column;justify-content:center}
.feature__text .eyebrow{display:block;margin-bottom:18px}
.feature__text h2{font-size:clamp(26px,3.4vw,42px);margin-bottom:20px;max-width:16ch}
.feature__text p{font-weight:300;color:#3a382f;margin-bottom:16px;max-width:46ch}
.feature .more{font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;box-shadow:inset 0 -1px 0 var(--ink);padding-bottom:5px;display:inline-block;margin-top:6px;align-self:flex-start}
@media(max-width:820px){.feature{grid-template-columns:1fr}.feature .img{min-height:58vh}}

/* ============================================================ SATOPIA INSIDER */
.insider{background:var(--bg-soft)}
.insider__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.insider .eyebrow{display:block;margin-bottom:12px}
.insider h2{font-size:clamp(26px,3.4vw,42px);margin-bottom:14px}
.insider__lead{font-weight:300;color:#3a382f;max-width:56ch;font-size:18px;margin-bottom:clamp(32px,5vw,52px)}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3.2vw,44px)}
.note-c{padding-top:24px;box-shadow:inset 0 1px 0 var(--line)}
.note-c .nl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:11px}
.note-c p{font-weight:300;color:#34322b;font-size:17px;max-width:48ch;margin-bottom:20px}
.byline{display:flex;align-items:center;gap:13px}
.byline .ava{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--bg-soft2);flex:none;position:relative}
.byline .ava .fill{position:absolute;inset:0;background-size:cover;background-position:center}
.byline .ava .slot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.byline .who{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.byline .who b{font-weight:500;font-size:13.5px;color:var(--ink);letter-spacing:0}
.byline .who span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.notes{grid-template-columns:1fr;gap:24px}}

/* ============================================================ WHO IT'S FOR */
.foray{background:var(--bg-soft)}
.foray__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.foray .eyebrow{display:block;margin-bottom:12px}
.foray h2{font-size:clamp(26px,3.6vw,44px);max-width:20ch;margin-bottom:16px}
.foray .intro{font-weight:300;font-size:18px;color:#3a382f;max-width:58ch;margin-bottom:46px}
.suit{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3.5vw,52px)}
.suit .s .si{font-weight:300;font-size:13px;color:var(--muted);margin-bottom:16px;letter-spacing:.04em}
.suit .s h3{font-size:clamp(20px,1.8vw,25px);font-weight:300;letter-spacing:-.01em;margin-bottom:11px}
.suit .s p{font-size:14.5px;font-weight:300;color:#56534a;line-height:1.55}
.occ{margin-top:44px}
.occ .ohd{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{font-weight:400;font-size:13.5px;letter-spacing:.02em;padding:9px 18px;background:var(--bg);color:var(--ink-soft)}
@media(max-width:880px){.suit{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.suit{grid-template-columns:1fr}}

/* ============================================================ PLAN YOUR JOURNEY */
.journey{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.journey .eyebrow{display:block;margin-bottom:12px}
.journey>h2{font-size:clamp(26px,3.6vw,46px);max-width:18ch;margin-bottom:14px}
.journey>.intro{font-weight:300;font-size:18px;color:#3a382f;max-width:58ch;margin-bottom:46px}
.climate .chd{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px;flex-wrap:wrap}
.climate .chd .t{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.climate .chd .best{font-weight:300;font-size:15px}
.climate .chd .best b{font-weight:500;color:var(--ink-soft)}
.climate .chd__r{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.climate .chd__unit{display:inline-flex;gap:2px;background:var(--bg-soft);padding:2px;flex:none}
.climate .chd__unit button{font:inherit;font-size:10px;font-weight:600;letter-spacing:.1em;padding:5px 11px;color:var(--muted);background:none;transition:background .2s,color .2s}
.climate .chd__unit button.on{background:var(--ink);color:var(--on)}
.climate .months{display:grid;grid-template-columns:repeat(12,1fr);gap:6px}
.mo{display:flex;flex-direction:column;gap:8px;align-items:center}
.mo .bar{width:100%;height:74px;background:var(--bg-soft);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}
.mo .bar i{position:absolute;left:0;right:0;bottom:0;display:block}
.mo .bar .tmp{position:relative;z-index:2;font-size:11px;font-weight:500;color:#fff;padding-bottom:6px;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.mo .lab{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mo.peak .lab{color:var(--ink-soft);font-weight:600}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:11px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:11px;height:11px;display:inline-block}
.jgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,60px);margin-top:clamp(44px,8vh,88px);align-items:start}
@media(max-width:880px){.jgrid{grid-template-columns:1fr;gap:44px}}
.calc{background:var(--bg-soft);padding:clamp(24px,3vw,38px)}
.calc h3{font-size:21px;font-weight:300;margin-bottom:6px}
.calc .cdesc{font-size:14px;font-weight:300;color:var(--muted);margin-bottom:22px;max-width:42ch}
.calc label{display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.calc select{width:100%;font-family:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--bg);
  border:0;padding:13px 36px 13px 15px;cursor:pointer;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.calc select:focus{outline:1px solid var(--ink)}
.cout{margin-top:28px;padding-top:24px;box-shadow:inset 0 1px 0 var(--line);display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.cout .o .k{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.cout .o .v{font-weight:300;font-size:25px;letter-spacing:-.01em;line-height:1.05}
.cout .o .v small{font-size:13px;color:var(--muted)}
.cout .o .v.big small{color:inherit;font-size:.42em;font-weight:300;letter-spacing:.01em;vertical-align:.04em;margin:0 .3em 0 .05em}
.cout .note{grid-column:1/-1;font-size:13px;font-weight:300;color:#56534a;line-height:1.5;padding-top:2px}
.jet{display:inline-flex;align-items:center;gap:9px}
.jet .dots{display:inline-flex;gap:4px}
.jet .dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.jet .dots i.on{background:var(--ink-soft)}
.jfacts{display:flex;flex-direction:column}
.jfacts .ft{padding:18px 0;box-shadow:inset 0 1px 0 var(--line);display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:start}
.jfacts .ft:last-child{box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}
.jfacts .ft .k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.jfacts .ft .v{font-weight:300;font-size:16px;line-height:1.5}
.jfacts .ft .v small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.safe{display:inline-flex;align-items:center;gap:10px}
.safe .meter{display:inline-flex;gap:3px}
.safe .meter i{width:20px;height:5px;background:var(--line)}
.safe .meter i.on{background:var(--ink-soft)}
@media(max-width:420px){.jfacts .ft{grid-template-columns:1fr;gap:5px}.cout{grid-template-columns:1fr}}

/* ============================================================ TAILOR-MADE */
.tailor{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) var(--section-y)}
.tailor .eyebrow{display:block;margin-bottom:12px}
.tailor h2{font-size:clamp(26px,3.6vw,46px);margin-bottom:16px;max-width:20ch}
.tailor .intro{font-weight:300;font-size:18px;color:#3a382f;max-width:56ch;margin-bottom:46px}
.poss{display:grid;grid-template-columns:1fr 1fr;gap:32px 64px}
.poss .p-name{font-weight:400;font-size:20px;margin-bottom:8px}
.poss p{font-weight:300;font-size:15.5px;color:#46443c;max-width:46ch}
@media(max-width:720px){.poss{grid-template-columns:1fr;gap:28px}}

/* ============================================================ THE SATOPIA EXPERIENCE */
.service{background:var(--bg);color:var(--ink);position:relative;overflow:hidden}
.service__in{position:relative;max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.service .eyebrow{display:block;margin-bottom:14px;color:var(--muted)}
.service .eyebrow .credit{color:var(--ink-soft)}
.service h2{font-size:clamp(26px,3.8vw,48px);font-weight:200;max-width:24ch;margin-bottom:22px;color:var(--ink)}
.service__lead{font-weight:300;color:#3a382f;max-width:62ch;font-size:18px;line-height:1.6;margin-bottom:clamp(44px,7vh,66px)}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);margin-bottom:clamp(50px,8vh,90px)}
.step .sn{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}
.step h3{font-size:clamp(21px,2.6vw,30px);font-weight:300;margin-bottom:14px;color:var(--ink)}
.step p{font-weight:300;color:#3a382f;max-width:46ch;font-size:16.5px}
.roster .rhd{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:20px;box-shadow:inset 0 -1px 0 var(--line);margin-bottom:6px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(30px,5vw,70px)}
.rgrid .r{padding:14px 0;box-shadow:inset 0 -1px 0 var(--line);font-weight:300;font-size:16px;color:var(--ink);display:flex;align-items:baseline;gap:12px}
.rgrid .r::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-soft);flex:none;transform:translateY(-3px)}
.prop-beauvallon .rgrid .r{text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;font-weight:500}
@media(max-width:820px){.steps{grid-template-columns:1fr;gap:36px}.rgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rgrid{grid-template-columns:1fr}}

/* ============================================================ ETHOS */
.ethos{background:var(--ink-deep);color:var(--on);padding:clamp(88px,16vh,200px) var(--gut);text-align:center;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(246,244,239,.1)}
.ethos__in{position:relative;max-width:900px;margin:0 auto}
.ethos .eyebrow{color:var(--on-2);display:block;margin-bottom:32px}
.ethos .eyebrow .credit{color:var(--mark-d)}
.ethos blockquote{font-size:clamp(30px,5vw,62px);font-weight:200;line-height:1.1;letter-spacing:-.02em;color:var(--on)}
.ethos p{color:var(--on-2);margin-top:28px;font-size:17px;font-weight:300;max-width:60ch;margin-inline:auto}

/* ============================================================ PLACE */
.place{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.place .img{margin-bottom:44px}
.place__grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(28px,5vw,84px);align-items:start}
.place h2{font-size:clamp(27px,4vw,48px);font-weight:200;max-width:14ch}
.place .eyebrow{display:block;margin-bottom:16px}
.place p{color:#3a382f;font-weight:300;margin-bottom:16px}
@media(max-width:760px){.place__grid{grid-template-columns:1fr;gap:16px}}

/* ============================================================ EXTEND */
.extend{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) var(--section-y)}
.prop-beauvallon .extend{padding-top:clamp(48px,9vh,110px)}
.extend .eyebrow{display:block;margin-bottom:12px}
.extend h2{font-size:clamp(26px,3.4vw,42px);max-width:18ch;margin-bottom:14px}
.extend__lead{font-weight:300;color:#3a382f;max-width:60ch;font-size:18px;margin-bottom:clamp(30px,4vw,46px)}
.xgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.xcard{display:flex;flex-direction:column}
.xcard .img{aspect-ratio:16/9;margin-bottom:18px}
.xcard .xr{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.xcard h3{font-weight:400;font-size:21px;margin-bottom:10px;letter-spacing:-.01em}
.xcard p{font-weight:300;color:#46443c;font-size:15px;max-width:34ch}
.xcard .xgo{margin-top:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);padding-bottom:4px;align-self:flex-start}
@media(max-width:820px){.xgrid{grid-template-columns:1fr;gap:30px}.xcard .img{aspect-ratio:16/9}}

/* ============================================================ ARRANGED FOR YOU */
.incl{background:var(--bg-soft)}
.incl__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.incl .eyebrow{display:block;margin-bottom:12px}
.incl h2{font-size:clamp(24px,3.2vw,38px);margin-bottom:42px}
.ilist{display:grid;grid-template-columns:1fr 1fr;gap:16px 56px}
.ilist li{list-style:none;font-weight:300;font-size:16.5px;padding-left:20px;position:relative;line-height:1.5}
.ilist li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--ink-soft)}
@media(max-width:680px){.ilist{grid-template-columns:1fr}}

/* ============================================================ ENQUIRE FORM */
.talk{background:var(--ink-deep);color:var(--on)}
.talk__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut);display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,90px);align-items:start}
@media(max-width:820px){.talk__in{grid-template-columns:1fr;gap:34px}}
.talk .eyebrow{display:block;margin-bottom:20px;color:var(--on-2)}
.talk h2{font-size:clamp(26px,3.6vw,46px);font-weight:200;color:var(--on);max-width:15ch}
.talk .sub{font-size:16px;font-weight:300;color:var(--on-2);margin-top:20px;max-width:44ch}
.talk .alts{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.talk .alts a{background:rgba(246,244,239,.12);color:var(--on);padding:14px 22px;font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.eform{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.eform .full{grid-column:1/-1}
.eform input,.eform select,.eform textarea{font-family:inherit;font-weight:400;font-size:15px;color:var(--on);background:rgba(246,244,239,.1);border:0;padding:15px 16px;width:100%;appearance:none}
.eform textarea{min-height:118px;resize:vertical}
.eform input::placeholder,.eform textarea::placeholder{color:var(--on-3)}
.eform select{cursor:pointer}.eform select:invalid{color:var(--on-3)}
.eform .done{display:none;font-weight:500;font-size:13px;color:var(--on);margin-top:4px}
.eform .fineprint{font-weight:500;font-size:11px;letter-spacing:.04em;color:var(--on-3);margin-top:2px}

/* ============================================================ FOOTER */
.foot{background:var(--ink-deep);color:var(--on);padding:clamp(34px,5vh,52px) var(--gut);box-shadow:inset 0 1px 0 rgba(246,244,239,.12)}
.foot__in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.foot .wm img{height:20px}
.foot .cities{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--on-2)}
.foot .cities .sep{color:var(--on-3);margin:0 .55em}
.foot .soc{display:flex;gap:20px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-2)}
.foot__cr{max-width:var(--maxw);margin:22px auto 0;font-size:11px;letter-spacing:.08em;color:var(--on-3)}

/* ============================================================ MOBILE ENQUIRE BAR */
.mbook{position:fixed;inset:auto 0 0 0;z-index:90;display:none;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,254,251,.96);backdrop-filter:blur(10px);padding:12px var(--gut);box-shadow:0 -1px 0 var(--line)}
.mbook .r{font-weight:300;font-size:14px}.mbook .r b{font-weight:500}
.mbook .btn{padding:13px 24px}
@media(max-width:920px){.mbook{display:flex}}

/* ============================================================ MOTION (transform-only; opacity always 1) */
.reveal{transition:transform 1s var(--ease)}
.reveal.in{transform:none}
@media(prefers-reduced-motion:no-preference){.reveal:not(.in){transform:translateY(24px)}}
@media print{.reveal:not(.in){transform:none}}

/* lead highlights */
.lead__hl{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px;margin-top:34px;max-width:48ch}
.lead__hl .k{font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.lead__hl .v{font-weight:300;font-size:17px;letter-spacing:-.005em}
@media(max-width:520px){.lead__hl{grid-template-columns:1fr;gap:18px}}
/* enquiry card */
.enq__k{font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.enq .ename{font-weight:300;font-size:24px;letter-spacing:-.01em}
/* flight calc contrast */
.calc .cdesc{color:#56534a}
.cout .o .k{color:#6B6457}
.cout .o.lead .v.big{font-size:clamp(34px,4vw,46px);font-weight:200;letter-spacing:-.02em;line-height:1}
.cout .full{grid-column:1/-1}
/* enquire band — brand green + cream card */
.talk{background:var(--green)}
.talk__in{grid-template-columns:1.1fr .9fr;align-items:center}
.talk__lead .eyebrow{color:rgba(246,244,239,.7)}
.talk__lead .eyebrow .credit{color:#fff}
.talk h2{color:var(--on)}
.talk .sub{color:var(--on-2)}
.talk__card{background:var(--cream);color:var(--ink);padding:clamp(28px,3vw,42px)}
.tc-k{font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.tc-p{font-weight:300;font-size:16px;color:#3a382f;margin-bottom:26px;max-width:42ch}
.talk__card .btn{background:var(--green);color:var(--on)}
.tc-alts{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.tc-alts a{font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);padding-bottom:4px}
/* ===== booking takeover ===== */
.bookov{position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.bookov.open{opacity:1;visibility:visible}
.bookov__bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px var(--gut);background:rgba(255,254,251,.92);backdrop-filter:saturate(120%) blur(10px)}
.bookov__bar .t{font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.bookov__close{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:200;color:var(--ink);line-height:1}
.bookov__close:hover{opacity:.6}
.bookov__in{max-width:1120px;margin:0 auto;padding:clamp(18px,3vh,40px) var(--gut) clamp(60px,10vh,110px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,76px);align-items:start}
@media(max-width:880px){.bookov__in{grid-template-columns:1fr;gap:28px}}
.bookov__aside{position:sticky;top:96px}
@media(max-width:880px){.bookov__aside{position:static}}
.bookov__img{aspect-ratio:4/5;overflow:hidden;background:var(--bg-soft2);margin-bottom:22px}
.bookov__img .fill{display:block;width:100%;height:100%;background-size:cover;background-position:center}
@media(max-width:880px){.bookov__img{aspect-ratio:16/9}}
.bk-name{font-weight:300;font-size:clamp(26px,3vw,38px);letter-spacing:-.015em;line-height:1}
.bk-rate{font-weight:300;font-size:14.5px;color:var(--muted);margin-top:12px}
.bk-rate b{font-weight:500;color:var(--ink)}
.bk-asnote{font-weight:300;font-size:15px;color:#46443c;margin-top:16px;max-width:38ch}
.bform .bk-sh{font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.bform__step{padding:clamp(22px,3vw,30px) 0;box-shadow:inset 0 1px 0 var(--line)}
.bform__step:first-child{padding-top:0;box-shadow:none}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-grid .full{grid-column:1/-1}
.bk-field label{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.bookov input,.bookov select,.bookov textarea{font-family:inherit;font-weight:400;font-size:16px;color:var(--ink);background:var(--bg-soft);border:0;padding:14px 15px;width:100%;appearance:none}
.bookov textarea{min-height:110px;resize:vertical}
.bookov input::placeholder,.bookov textarea::placeholder{color:var(--muted)}
.bookov input:focus,.bookov select:focus,.bookov textarea:focus{outline:1px solid var(--ink)}
.bookov select{cursor:pointer;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.stepper{display:flex;align-items:center;background:var(--bg-soft);width:max-content}
.stepper button{width:48px;height:50px;font-size:20px;font-weight:300;color:var(--ink)}
.stepper button:hover{background:var(--bg-soft2)}
.stepper input{width:64px;text-align:center;background:transparent;font-size:17px;padding:14px 0}
.reasons{display:flex;flex-wrap:wrap;gap:8px}
.reasons button{font-weight:500;font-size:13px;letter-spacing:.02em;padding:11px 16px;background:var(--bg-soft);color:var(--ink-soft)}
.reasons button.on{background:var(--ink);color:var(--on)}
.range{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--line);outline:none;padding:0;margin:8px 0 0}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);cursor:pointer}
.range::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--ink);cursor:pointer}
.bk-budget-out{display:flex;align-items:baseline;gap:14px;margin-top:20px}
.bk-budget-out .bv{font-weight:200;font-size:clamp(30px,4vw,42px);letter-spacing:-.02em}
.bk-budget-out .bp{font-weight:500;font-size:12px;letter-spacing:.04em;color:var(--muted)}
.bk-hint{font-weight:300;font-size:13px;color:var(--muted);margin-top:10px}
.bk-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}
.bk-alt{font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);padding-bottom:4px}
.bk-done{display:none;font-weight:500;font-size:14px;color:var(--green);margin-top:22px}
.bk-fine{font-weight:500;font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:14px}
/* stepped booking layout + selection ledger */
.bookov__in{grid-template-columns:1fr 400px;min-height:calc(100vh - 60px)}
@media(max-width:900px){.bookov__in{grid-template-columns:1fr}}
.bk-main{padding:clamp(34px,7vh,96px) clamp(24px,5vw,88px);max-width:840px}
.bk-stepno{font-weight:600;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.bk-h{font-weight:200;font-size:clamp(30px,4.6vw,58px);letter-spacing:-.02em;line-height:1.02;margin:0 0 16px;text-transform:uppercase}
.bk-sub{font-weight:300;font-size:18px;color:#3a382f;margin:0 0 clamp(28px,4vh,44px);max-width:48ch}
.bk-step[hidden]{display:none}
.bk-options{display:flex;flex-direction:column;gap:13px}
.bk-opt{position:relative;text-align:left;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:24px 68px 24px 28px;transition:box-shadow .25s,background .25s;width:100%}
.bk-opt:hover{box-shadow:inset 0 0 0 1px var(--muted)}
.bk-opt.on{background:rgba(34,56,46,.05);box-shadow:inset 0 0 0 1.5px var(--green)}
.bk-opt__t{font-weight:400;font-size:clamp(18px,1.9vw,23px);letter-spacing:.01em;text-transform:uppercase;margin-bottom:7px}
.bk-opt__d{font-weight:300;font-size:14.5px;color:#56534a;line-height:1.55;max-width:56ch}
.bk-radio{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--muted)}
.bk-opt.on .bk-radio{box-shadow:inset 0 0 0 1px var(--green)}
.bk-opt.on .bk-radio::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--green)}
.bk-nav{display:flex;align-items:center;gap:22px;margin-top:clamp(30px,5vh,50px)}
.bk-back{font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bk-back:hover{color:var(--ink)}.bk-back[hidden]{display:none}
.reasons button.on{background:var(--green);color:var(--on)}
.range::-webkit-slider-thumb{background:var(--green)}
.range::-moz-range-thumb{background:var(--green)}
.bk-done{display:none;font-weight:300;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.015em;color:var(--green);margin-top:6px;max-width:26ch}
.bk-ledger{background:var(--green);color:var(--on);padding:clamp(40px,7vh,80px) clamp(26px,3vw,46px)}
.bk-ledger .bookov__img{aspect-ratio:4/5;overflow:hidden;background:var(--green-deep);margin-bottom:28px}
.bk-ledger .bookov__img .fill{display:block;width:100%;height:100%;background-size:cover;background-position:center}
.bkl-hd{font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,244,239,.6);padding-bottom:16px;box-shadow:inset 0 -1px 0 rgba(246,244,239,.18)}
.bkl-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;box-shadow:inset 0 -1px 0 rgba(246,244,239,.12)}
.bkl-row .k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,244,239,.6)}
.bkl-row .v{font-weight:300;font-size:15px;color:var(--on);text-align:right}
.bkl-steps{display:flex;gap:7px;margin-top:26px}
.bkl-steps i{flex:1;height:2px;background:rgba(246,244,239,.22)}
.bkl-steps i.on{background:var(--on)}
@media(max-width:900px){.bk-ledger{order:-1;padding:clamp(26px,5vh,44px) var(--gut)}.bk-ledger .bookov__img{display:none}}

/* ============================================================
   v3 ADDITIONS — narrative restructure (14 → 9 sections)
   ============================================================ */

/* ---------- HERO: coordinates · tagline · credits block ---------- */
.hero__inner{display:flex;flex-direction:column;gap:clamp(22px,4vh,40px)}
.hero__main{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;width:100%}
.hero__coords{flex:none;text-align:right;align-self:flex-end;
  font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.78);line-height:1.9}
.hero__coords .cv{display:block;font-weight:300;letter-spacing:.12em;color:#fff}
.hero .tagline{margin-top:20px;font-weight:500;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.credits{display:flex;flex-wrap:wrap;gap:6px 26px;width:100%;padding-top:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
  font-weight:500;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.credits b{font-weight:600;color:rgba(255,255,255,.8)}
@media(max-width:760px){.hero__main{flex-direction:column;align-items:flex-start;gap:22px}.hero__coords{text-align:left;align-self:flex-start}}
/* longer cover title (Villa Beauvallon) needs a smaller cap so it doesn't overflow; coords stay bottom-right as designed */
.prop-beauvallon .hero h1{font-size:clamp(46px,8.4vw,112px)}
.prop-beauvallon .hero__lead{min-width:0}

/* ---------- STICKY CHAPTER NAV (improved, followable) ---------- */
.cnav{position:sticky;top:0;z-index:80;background:rgba(255,254,251,.92);backdrop-filter:saturate(120%) blur(10px);
  box-shadow:inset 0 -1px 0 var(--line);transform:translateY(-100%);transition:transform .5s var(--ease)}
.cnav.show{transform:none}
.cnav__bar{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);
  padding:0 var(--gut);height:54px;overflow-x:auto;scrollbar-width:none}
.cnav__bar::-webkit-scrollbar{display:none}
.cnav a{flex:none;font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  padding:18px 0;position:relative;transition:color .3s;white-space:nowrap}
.cnav a:hover{color:var(--ink)}
.cnav a.on{color:var(--ink)}
.cnav a.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink)}
.cnav .spacer{flex:1}
.cnav .cbook{flex:none;background:var(--ink);color:var(--on);padding:9px 18px;font-weight:500;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;align-self:center}
.cnav .cbook:hover{opacity:.85}
.cnav__prog{height:2px;background:var(--ink);width:0;transition:width .15s linear}
@media(max-width:920px){.cnav .cbook{display:none}}

/* ---------- INTRODUCTION: privacy as a trust signal ---------- */
.intro2{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.intro2__grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(40px,7vw,100px);align-items:start}
.intro2 .eyebrow{display:block;margin-bottom:22px}
.intro2 h2{font-size:clamp(27px,3.8vw,48px);margin-bottom:28px;max-width:18ch}
.intro2 p{color:#3a382f;margin-bottom:18px;max-width:56ch;font-weight:300;font-size:18px}
.intro2__side{display:flex;flex-direction:column;gap:26px;align-self:stretch}
.intro2__media .img{aspect-ratio:4/5}
.priv{background:var(--bg-soft);padding:clamp(28px,3vw,40px)}
.priv .eyebrow{display:block;margin-bottom:18px}
.priv__q{font-weight:200;font-size:clamp(21px,2.3vw,27px);line-height:1.22;letter-spacing:-.015em;color:var(--ink);max-width:17ch}
.priv__b{font-weight:300;color:#46443c;margin-top:15px;max-width:40ch;font-size:15.5px;line-height:1.62}
.priv__pts{margin-top:24px}
.priv__pts .pt{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:13px 0;box-shadow:inset 0 1px 0 var(--line)}
.priv__pts .pt .l{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.priv__pts .pt .v{font-weight:300;font-size:14.5px;color:var(--ink-soft);text-align:right;letter-spacing:-.005em}
@media(max-width:920px){.intro2__grid{grid-template-columns:1fr;gap:38px}.intro2__media .img{aspect-ratio:16/9}.intro2__side{align-self:start}.introq{position:static;top:auto}}

/* facts strip inside intro */
.facts2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 30px;margin-top:42px;box-shadow:inset 0 1px 0 var(--line);padding-top:32px}
.facts2 .f .k{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.facts2 .f .v{font-weight:300;font-size:clamp(20px,1.9vw,26px);letter-spacing:-.01em;line-height:1.15}
@media(max-width:1080px){.facts2{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.facts2{grid-template-columns:repeat(2,1fr);gap:28px 24px}}

/* ---------- CHAPTERS: section intro + gallery ---------- */
.chapters{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) var(--section-y)}
.chapters>.eyebrow{display:block;margin-bottom:10px}
.chapters>h2{font-size:clamp(27px,3.6vw,46px);max-width:20ch;margin-bottom:clamp(38px,6vw,72px)}
.chapter .cgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.chapter .cgal .img{aspect-ratio:1/1}
.chapter .cgal .img:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media(max-width:860px){.chapter .cgal{grid-template-columns:repeat(2,1fr)}.chapter .cgal .img:first-child{grid-column:span 2;aspect-ratio:16/9}}

/* ---------- SHOWCASE: live Instagram strip ---------- */
.showcase{background:var(--bg-soft)}
.showcase__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.showcase .sh-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.showcase .eyebrow{display:block;margin-bottom:10px}
.showcase h2{font-size:clamp(24px,3vw,38px);max-width:16ch}
.showcase .handle{font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);box-shadow:inset 0 -1px 0 var(--ink-soft);padding-bottom:4px}
.igrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.igrid .ig{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:var(--bg-soft2)}
.igrid .ig .fill{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s var(--ease)}
.igrid .ig:hover .fill{transform:scale(1.05)}
.igrid .ig::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,9,10,.5),transparent 52%)}
.igrid .ig .cap{position:absolute;left:14px;right:14px;bottom:13px;z-index:2;font-weight:300;font-size:12.5px;line-height:1.4;color:#fff;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.igrid .ig .by{position:absolute;left:14px;top:12px;z-index:2;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}
@media(max-width:860px){.igrid{grid-template-columns:repeat(2,1fr)}}

/* Instagram feed: reels variant (portrait) + play glyph */
.igrid--reels .ig{aspect-ratio:9/16}
.igrid .ig__play{position:absolute;top:12px;right:12px;z-index:3;width:26px;height:26px;border-radius:50%;background:rgba(10,10,10,.5);display:none;align-items:center;justify-content:center}
.igrid .ig__play::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff;margin-left:2px}
.igrid--reels .ig__play{display:flex}

/* ---------- Self-hosted video reels (reel-slot + fullscreen player) ---------- */
.igrid--reels reel-slot{display:block;position:relative;aspect-ratio:9/16;background:var(--bg-soft2);cursor:pointer;overflow:hidden}
reel-slot .reel__inner{position:absolute;inset:0;overflow:hidden}
reel-slot .reel__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0b0b0b}
reel-slot .reel__grad{position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,rgba(8,8,8,.72));pointer-events:none;z-index:1}
reel-slot .reel__play{position:absolute;top:12px;right:12px;z-index:3;width:30px;height:30px;border-radius:50%;background:rgba(10,10,10,.46);color:#fff;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
reel-slot.is-filled .reel__play{display:none}
reel-slot .reel__by{position:absolute;left:14px;bottom:42px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82)}
reel-slot .reel__cap{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;font-size:13px;font-weight:300;line-height:1.4;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
reel-slot .reel__drop{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:14px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(8,8,8,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s}
reel-slot .reel__drop small{font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none;color:rgba(255,255,255,.8)}
reel-slot:not(.is-filled):hover .reel__drop,reel-slot.is-over .reel__drop{opacity:1}
reel-slot.is-filled .reel__drop{display:none}
reel-slot.is-over{outline:2px solid #fff;outline-offset:-2px}
reel-slot .reel__rm{position:absolute;top:10px;left:10px;z-index:4;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(10,10,10,.55);padding:6px 10px;opacity:0;transition:opacity .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
reel-slot.is-filled:hover .reel__rm{opacity:1}
reel-slot .reel__err{position:absolute;left:10px;right:10px;bottom:10px;z-index:5;font-size:11px;font-weight:500;color:#fff;background:rgba(154,43,30,.92);padding:7px 9px;text-align:center}

/* fullscreen player */
.rplay{position:fixed;inset:0;z-index:1400;display:none;align-items:center;justify-content:center}
.rplay.open{display:flex}
.rplay__scrim{position:absolute;inset:0;background:rgba(6,6,6,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rplay__stage{position:relative;z-index:1;height:min(86vh,820px);aspect-ratio:9/16;max-width:92vw;background:#000;display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.rplay__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.rplay__meta{position:relative;z-index:2;width:100%;padding:60px 22px 22px;background:linear-gradient(transparent,rgba(6,6,6,.78))}
.rplay__by{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:7px}
.rplay__cap{display:block;font-size:15px;font-weight:300;line-height:1.45;color:#fff;max-width:34ch}
.rplay__x{position:absolute;top:18px;right:20px;z-index:3;width:42px;height:42px;border-radius:50%;font-size:24px;line-height:1;color:#fff;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.rplay__x:hover{background:rgba(255,255,255,.22)}
.rplay__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;color:#fff;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}
.rplay__nav:hover{background:rgba(255,255,255,.2)}
.rplay__prev{left:max(16px,4vw)}
.rplay__next{right:max(16px,4vw)}
.rplay__count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;font-size:12px;font-weight:500;letter-spacing:.14em;color:rgba(255,255,255,.7)}
@media(max-width:600px){.rplay__stage{height:auto;width:100vw;max-width:100vw;aspect-ratio:9/16}.rplay__nav{width:42px;height:42px;font-size:24px}.rplay__prev{left:8px}.rplay__next{right:8px}}

/* Tweaks panel (tool UI) */
#tweaks{position:fixed;right:18px;bottom:18px;z-index:1000;width:250px;background:#fff;color:var(--ink);padding:16px 16px 18px;box-shadow:0 14px 44px rgba(0,0,0,.20);display:none}
#tweaks.on{display:block}
#tweaks .tw__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
#tweaks .tw__t{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
#tweaks .tw__x{background:none;border:0;cursor:pointer;font-size:18px;line-height:1;color:var(--muted);padding:0 2px}
#tweaks .tw__lbl{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
#tweaks .seg{display:flex;gap:6px}
#tweaks .seg button{flex:1;font:inherit;font-size:12px;font-weight:500;letter-spacing:.04em;padding:9px 0;cursor:pointer;background:var(--bg-soft);color:var(--ink-soft);border:0;transition:background .2s,color .2s}
#tweaks .seg button.on{background:var(--ink);color:#fff}
#tweaks .tw__hint{margin-top:11px;font-size:11px;line-height:1.45;font-weight:300;color:var(--muted)}

/* ---------- PLAN: budget block (researched) ---------- */
.budget{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);margin-top:clamp(44px,8vh,80px);
  box-shadow:inset 0 1px 0 var(--line);padding-top:clamp(32px,5vw,50px)}
.budget .eyebrow{display:block;margin-bottom:14px}
.budget .bv{font-weight:300;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.015em;line-height:1.1}
.budget .bv small{font-size:.5em;color:var(--muted);font-weight:400;letter-spacing:.02em}
.budget .bsub{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.budget p{font-weight:300;color:#46443c;margin-top:13px;max-width:46ch;font-size:15px}
@media(max-width:760px){.budget{grid-template-columns:1fr;gap:34px}}

/* ---------- PLAN: getting there + prominent cost feature ---------- */
.getting{margin-top:clamp(44px,8vh,88px)}
.getting>.eyebrow{display:block;margin-bottom:24px}
.getting .jfacts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3vw,40px) clamp(40px,5vw,76px)}
.getting .jfacts .ft{box-shadow:none;padding:0 0 clamp(22px,2.4vw,28px);grid-template-columns:1fr;gap:9px;box-shadow:inset 0 -1px 0 var(--line)}
.getting .jfacts .ft .k{padding-top:0}
.getting .jfacts .ft .v{font-size:17px}
@media(max-width:680px){.getting .jfacts{grid-template-columns:1fr}}

.cost{margin-top:clamp(40px,7vh,72px);background:var(--bg-soft);padding:clamp(32px,4vw,58px)}
.cost__hd{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,3.8vw,46px)}
.cost__hd .eyebrow{display:block}
.cost__note{font-size:13px;font-weight:300;color:var(--muted);max-width:46ch;line-height:1.5}
.cost__figs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px)}
.cost__figs .cf .ck{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:14px}
.cost__figs .cf .cv{font-weight:200;font-size:clamp(34px,4.6vw,56px);letter-spacing:-.025em;line-height:1;color:var(--ink)}
.cost__figs .cf .cv small{font-size:.30em;font-weight:400;color:var(--muted);letter-spacing:.02em}
.cost__figs .cf .csub{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:15px}
.cost__fine{font-weight:300;color:#46443c;font-size:14.5px;line-height:1.62;max-width:80ch;margin:clamp(28px,3.6vw,42px) 0 28px;padding-top:clamp(24px,3vw,34px);box-shadow:inset 0 1px 0 var(--line)}
@media(max-width:620px){.cost__figs{grid-template-columns:1fr;gap:30px}.cost__fine{max-width:none}}

/* ---------- DISCOVERY CALL band (footer CTA) ---------- */
.discover{background:var(--green);color:var(--on)}
.discover__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut);display:grid;
  grid-template-columns:1.1fr .9fr;gap:clamp(36px,5vw,90px);align-items:center}
.discover .eyebrow{display:block;margin-bottom:20px;color:rgba(246,244,239,.7)}
.discover h2{font-size:clamp(26px,3.6vw,46px);font-weight:200;color:var(--on);max-width:16ch}
.discover .sub{font-size:16px;font-weight:300;color:var(--on-2);margin-top:20px;max-width:46ch}
.discover__card{background:var(--cream);color:var(--ink);padding:clamp(28px,3vw,42px)}
.discover__card .dk{font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.discover__card .dp{font-weight:300;font-size:16px;color:#3a382f;margin-bottom:26px;max-width:42ch}
.discover__card .btn{background:var(--green);color:var(--on)}
.discover__alts{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.discover__alts a{font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);box-shadow:inset 0 -1px 0 var(--ink);padding-bottom:4px}
@media(max-width:820px){.discover__in{grid-template-columns:1fr;gap:34px}}

/* ============================================================ */
/* REVISIONS — readable secondary tone for descriptive small copy */
:root{--m2:#5f5b51}

/* ---- top nav recedes once the chapter nav takes over ---- */
.nav{transition:background .5s var(--ease),padding .4s var(--ease),transform .5s var(--ease),opacity .4s var(--ease)}
@media(max-width:600px){.nav__div,.nav__country{display:none}}

/* ---- INTRO: essentials snapshot (left) ---- */
.snapshot{margin-top:clamp(34px,4vw,46px);padding-top:clamp(26px,3vw,32px);box-shadow:inset 0 1px 0 var(--line)}
.snapshot__hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:6px}
.snapshot__hd .eyebrow{display:block}
.snapshot__loc{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--m2)}
.prop-beauvallon .snapshot__hd{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,56px);align-items:baseline}
.prop-beauvallon .snapshot__loc{grid-column:2;justify-self:start;text-align:left}
.snapshot__rows{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,56px)}
.sr{display:block;padding:20px 2px;box-shadow:inset 0 1px 0 var(--line)}
.sr__k{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#6b665b;margin-bottom:9px}
.sr__v{font-weight:300;font-size:clamp(17px,1.45vw,19px);letter-spacing:-.01em;line-height:1.3;color:var(--ink)}
.sr__v small{display:block;margin-top:6px;font-size:13px;letter-spacing:0;color:#5d584d;line-height:1.5}
@media(max-width:560px){.snapshot__rows{grid-template-columns:1fr}}

/* ---- INTRO: enquiry card (right) ---- */
.introq{background:var(--bg-soft);padding:clamp(28px,3vw,40px);position:sticky;top:84px}
.introq .eyebrow{display:block;margin-bottom:18px}
.introq .introq__q{font-weight:300;font-size:clamp(20px,1.8vw,24px);line-height:1.2;letter-spacing:-.012em;color:var(--ink);max-width:none;margin-bottom:14px}
.introq .introq__b{font-weight:300;font-size:15px;line-height:1.58;color:#46443c;max-width:42ch;margin-bottom:0}
.introq .btn--block{margin-top:24px}
.introq__alts{display:flex;gap:26px;justify-content:center;margin-top:38px}
.introq__alts a{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.introq__alts a:hover{opacity:.6}

/* ---- CHAPTERS: images fill height & start at the title ---- */
.prow{align-items:stretch}
.prow .pimg:not(.chapter){align-self:stretch;padding-top:34px}
.prow .pimg:not(.chapter) .img{height:100%;min-height:clamp(280px,32vw,448px);aspect-ratio:auto}
.prow .pimg.chapter{align-self:start}
@media(max-width:860px){
  .prow{align-items:start}
  .prow .pimg:not(.chapter){padding-top:0}
  .prow .pimg:not(.chapter) .img{height:auto;min-height:0;aspect-ratio:16/9}
}

/* ---- PLAN: 'who it's for' labels, uppercase & legible ---- */
.suit .s .si{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}

/* ---- HOW IT WORKS: logo + darker cream ---- */
.service{background:var(--bg-soft2)}
.service__logo{height:26px;width:auto;display:block;margin-bottom:30px}
/* optional green treatment for the How-to-book section (Tweak) */
.prop-beauvallon.svc-green .service{background:var(--green-deep);color:var(--on)}
.prop-beauvallon.svc-green .service h2{color:var(--on)}
.prop-beauvallon.svc-green .service .eyebrow{color:rgba(246,244,239,.7)}
.prop-beauvallon.svc-green .service .eyebrow .credit{color:var(--on)}
.prop-beauvallon.svc-green .service__lead{color:rgba(246,244,239,.82)}
.prop-beauvallon.svc-green .service__logo{filter:brightness(0) invert(1)}
.prop-beauvallon.svc-green .step .sn{color:var(--on)}
.prop-beauvallon.svc-green .step h3{color:var(--on)}
.prop-beauvallon.svc-green .step p{color:rgba(246,244,239,.78)}
.prop-beauvallon.svc-green .roster .rhd{color:rgba(246,244,239,.66);box-shadow:inset 0 -1px 0 rgba(246,244,239,.2)}
.prop-beauvallon.svc-green .rgrid .r{color:var(--on);box-shadow:inset 0 -1px 0 rgba(246,244,239,.16)}
.prop-beauvallon.svc-green .rgrid .r::before{background:var(--mark-d)}

/* ---- GETTING THERE: departure-airport router ---- */
.route{display:grid;grid-template-columns:300px 1fr;gap:clamp(26px,4vw,56px);align-items:start}
.route__pick{background:var(--bg-soft2);padding:clamp(22px,2.4vw,30px)}
.route__pick label{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.route__field{position:relative;display:flex;align-items:center}
.route__field select{appearance:none;-webkit-appearance:none;width:100%;background:transparent;border:0;font:inherit;font-size:18px;font-weight:300;letter-spacing:-.01em;color:var(--ink);padding:2px 26px 2px 0;cursor:pointer}
.route__field select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.route__field::after{content:"";position:absolute;right:3px;top:46%;width:8px;height:8px;border-right:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:translateY(-50%) rotate(45deg);pointer-events:none}
.route__total{margin-top:20px;padding-top:18px;box-shadow:inset 0 1px 0 var(--line);font-weight:300;font-size:14.5px;color:var(--ink-soft);line-height:1.55}
.route__total b{font-weight:500;color:var(--ink)}
.route__legs{list-style:none;display:flex;flex-direction:column}
.route__legs li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:18px 0;box-shadow:inset 0 -1px 0 var(--line)}
.route__legs li:first-child{box-shadow:inset 0 1px 0 var(--line),inset 0 -1px 0 var(--line)}
.rl__n{font-size:11px;letter-spacing:.16em;color:var(--muted);padding-top:4px}
.rl__a{font-weight:300;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.rl__d{font-weight:300;font-size:14px;color:var(--m2);margin-top:5px;line-height:1.5}
@media(max-width:680px){.route{grid-template-columns:1fr;gap:30px}}

/* ---- WHAT IT COSTS: helpful structure ---- */
.cost__note{font-size:13.5px;font-weight:300;color:var(--m2);max-width:48ch;line-height:1.55}
.cost__rates{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-bottom:clamp(28px,3.6vw,42px)}
.cr .ck{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:12px}
.cr .cv{font-weight:200;font-size:clamp(30px,3.8vw,46px);letter-spacing:-.025em;line-height:1;color:var(--ink)}
.cr .cv small{font-size:.32em;font-weight:400;color:var(--m2);letter-spacing:.01em;margin-left:5px}
.cr .crsub{margin-top:14px;font-size:13.5px;font-weight:300;color:var(--m2);line-height:1.5}
.cost__incl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);padding-top:clamp(26px,3vw,38px);box-shadow:inset 0 1px 0 var(--line);margin-bottom:clamp(26px,3vw,38px)}
.ci .cih{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:14px}
.ci ul{list-style:none}
.ci li{font-weight:300;font-size:15px;color:#46443c;line-height:1.5;padding:9px 0;display:flex;gap:11px;align-items:baseline}
.ci li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-soft);flex:none;transform:translateY(-2px)}
.cost__guide{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:clamp(24px,3vw,34px);box-shadow:inset 0 1px 0 var(--line)}
.cg__l{max-width:56ch}
.cg__l .ck{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:10px}
.cg__l p{font-weight:300;font-size:15.5px;color:#3a382f;line-height:1.55}
.cg__l p b{font-weight:600;color:var(--ink)}
@media(max-width:680px){.cost__rates,.cost__incl{grid-template-columns:1fr;gap:26px}.cost__guide{flex-direction:column;align-items:flex-start;gap:22px}}

/* ---- accessibility: lift small / low-contrast copy ---- */
.legend{font-size:12px;color:var(--m2)}
.jfacts .ft .v small{color:var(--m2);font-size:13.5px}

/* ---- THE PLACE: pinned, scroll-driven sequence of the six ---- */
.place2{max-width:none;margin:0;padding:0;background:var(--bg)}
.place2__intro{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut) clamp(18px,3vh,38px)}
.place2__intro .eyebrow{display:block;margin-bottom:10px}
.place2__intro h2{font-size:clamp(27px,3.6vw,46px);max-width:20ch}
.place2__pin{position:relative;height:calc(var(--n,6) * 92vh)}
.place2__sticky{position:sticky;top:0;height:100svh;display:flex;align-items:stretch;overflow:hidden}
.place2__in{max-width:var(--maxw);width:100%;margin:0 auto;padding:clamp(58px,8vh,78px) var(--gut) clamp(24px,4vh,40px);display:flex;flex-direction:column}
.p2bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex:none;margin-bottom:clamp(14px,2.4vh,26px)}
.p2bar .eyebrow{display:block}
.p2count{font-weight:300;font-size:13px;letter-spacing:.14em;color:var(--muted)}
.p2count b{font-weight:500;color:var(--ink);font-size:15px}
.p2body{flex:1 1 auto;min-height:0;position:relative}
.p2steps{position:relative;height:100%;min-height:0;overflow:hidden}
.p2step{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.06fr);gap:clamp(30px,5vw,76px);align-items:stretch;z-index:0}
.p2step.is-above{z-index:1}
.p2step.is-active{z-index:2}
/* copy slides up; image slides a touch slower and delayed so it trails the copy (signed-off). */
.p2step__copy{transform:translateY(116%);transition:transform .95s var(--ease);will-change:transform;backface-visibility:hidden}
.p2step__media{transform:translateY(116%);transition:transform 1.08s var(--ease) .08s;will-change:transform;backface-visibility:hidden}
.p2step.is-active .p2step__copy{transform:translateY(0)}
.p2step.is-above .p2step__copy{transform:translateY(-116%)}
.p2step.is-active .p2step__media{transform:translateY(0)}
.p2step.is-above .p2step__media{transform:translateY(-116%)}
.p2step__copy{display:flex;flex-direction:column;justify-content:center;background:var(--bg)}
.p2step__copy .eyebrow{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.p2step__copy .eyebrow .n{font-size:11px;letter-spacing:.16em;color:var(--ink-soft)}
.p2step__copy h3{font-size:clamp(20px,2.5vw,31px);font-weight:300;letter-spacing:-.02em;line-height:1.12;margin-bottom:13px;max-width:18ch}
.p2step__copy p{font-weight:300;color:#3a382f;font-size:clamp(14.5px,1.1vw,16px);line-height:1.5;margin-bottom:9px;max-width:50ch}
.p2step__copy .pstats{margin-top:clamp(12px,1.8vh,22px);padding-top:4px;box-shadow:inset 0 1px 0 var(--line)}
.place2 .pstats .s{padding:9px 0}
.p2step__media{position:relative;height:100%;min-height:0}
.p2step__media .img{height:100%;aspect-ratio:auto}
.p2nav{flex:none;display:flex;gap:clamp(10px,1.6vw,26px);flex-wrap:wrap;margin-top:clamp(14px,2.4vh,26px);box-shadow:inset 0 1px 0 var(--line)}
.p2tab{display:inline-flex;align-items:baseline;gap:8px;font:inherit;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  padding:13px 0 5px;position:relative;transition:color .3s;cursor:pointer;background:none;border:0}
.p2tab .n{font-size:10px;letter-spacing:.14em;color:inherit}
.p2tab:hover{color:var(--ink-soft)}
.p2tab.is-active{color:var(--ink);box-shadow:inset 0 2px 0 var(--ink)}
.p2tab:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.p2step__copy,.p2step__media{transition-duration:.28s}}
.p2-fast .p2step__copy,.p2-fast .p2step__media{transition:none!important}
/* stacked fallbacks: every section's image must be fully visible */
@media(max-width:860px),(min-width:861px) and (max-height:660px){.p2step__media{transform:none!important;opacity:1!important}}
/* graceful fallback for short viewports: unpin and stack */
@media(min-width:861px) and (max-height:660px){
  .place2__pin{height:auto}
  .place2__sticky{position:static;height:auto;display:block;overflow:visible}
  .place2__in{padding:0 var(--gut) var(--section-y)}
  .p2bar,.p2nav{display:none}
  .p2steps{position:static;overflow:visible}
  .p2step{position:static;pointer-events:auto;margin-bottom:clamp(40px,7vh,64px)}
  .p2step__copy,.p2step__media{transform:none!important;transition:none}
  .p2step__media{opacity:1!important}
  .p2step__copy{background:none}
  .p2body{display:flex;flex-direction:column}
  .p2hero{order:-1;height:auto;margin-bottom:clamp(40px,7vh,64px)}
  .p2hero .img{aspect-ratio:4/5}
}
@media(max-width:860px){
  .place2__pin{height:auto!important}
  .place2__sticky{position:static;height:auto;display:block;overflow:visible}
  .place2__in{padding:0 var(--gut) var(--section-y)}
  .p2bar,.p2nav{display:none}
  .p2steps{position:static;overflow:visible}
  .p2step{position:static;pointer-events:auto;grid-template-columns:1fr;gap:18px;margin-bottom:clamp(48px,8vh,72px)}
  .p2step__copy,.p2step__media{transform:none!important;transition:none}
  .p2step__media{opacity:1!important}
  .p2step__copy{background:none}
  .p2body{display:flex;flex-direction:column}
  .p2hero{order:-1;height:auto;margin-bottom:clamp(48px,8vh,72px)}
  .p2hero .img{aspect-ratio:16/9}
}

/* ============================================================
   ENQUIRY: intro sliders + full-screen overlay with live ledger
   ============================================================ */
/* --- intro guest/night steppers --- */
.eq{margin-top:26px;display:flex;flex-direction:column}
.eq__row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}
.eq__row+.eq__row{box-shadow:0 -1px 0 rgba(10,10,10,.09)}
.eq__info{display:flex;flex-direction:column;gap:5px}
.eq__lbl{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.eq__hint{font-size:12.5px;font-weight:300;letter-spacing:.01em;color:#7a756a}
.eq__step{display:flex;align-items:center;gap:18px}
.eq__pm{width:42px;height:42px;border-radius:50%;background:var(--bg);color:var(--ink);font-size:21px;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,opacity .18s}
.eq__pm:hover{background:var(--ink);color:var(--bg)}
.eq__pm:disabled{opacity:.3;pointer-events:none}
.eq__num{min-width:62px;text-align:center;font-weight:300;font-size:38px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.eq__num b{font-weight:300}

/* --- overlay shell --- */
.ovl{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vh,28px)}
.ovl.open{display:flex}
.ovl__scrim{position:absolute;inset:0;background:rgba(10,10,10,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;animation:ovlfade .35s var(--ease) forwards}
.ovl__panel{position:relative;z-index:1;width:100%;max-width:1060px;max-height:calc(100vh - 2*clamp(12px,3vh,28px));background:var(--bg);display:grid;grid-template-columns:1.32fr .9fr;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.4);transform:translateY(16px) scale(.99);opacity:0;animation:ovlrise .42s var(--ease) .04s forwards}
@keyframes ovlfade{to{opacity:1}}
@keyframes ovlrise{to{transform:none;opacity:1}}
.ovl__x{position:absolute;top:14px;right:14px;z-index:5;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--ink);background:rgba(244,242,236,.86)}
.ovl__x:hover{background:var(--bg-soft2)}

/* --- left: questions --- */
.ovl__form{overflow-y:auto;padding:clamp(28px,3.4vw,46px)}
.ovl__hd{margin-bottom:30px}
.ovl__hd .eyebrow{display:block;margin-bottom:14px}
.ovl__hd h2{font-size:clamp(24px,2.5vw,32px);letter-spacing:-.02em;line-height:1.08;color:var(--ink)}
.ovl__hd p{margin-top:12px;font-weight:300;font-size:15px;line-height:1.55;color:#46443c;max-width:46ch}
.qs{padding:24px 0;box-shadow:inset 0 1px 0 var(--line)}
.qs:first-of-type{box-shadow:none;padding-top:0}
.qs__hd{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.qs__n{font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--muted)}
.qs__t{font-weight:300;font-size:19px;letter-spacing:-.01em;color:var(--ink)}
.qs__sub{font-weight:300;font-size:13.5px;line-height:1.5;color:#5d584d;margin:0 0 16px 24px}

/* month picker */
.months{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-left:24px}
.month{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 4px;background:var(--bg-soft);color:var(--ink-soft);transition:background .18s,color .18s}
.month:hover{background:var(--bg-soft2)}
.month.on{background:var(--ink);color:var(--on)}
.month .mo{font-size:13px;font-weight:500;letter-spacing:.02em}
.month .yr{font-size:10.5px;font-weight:500;letter-spacing:.06em;opacity:.6}
.flexchip{margin:14px 0 0 24px;font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--ink-soft);padding:9px 16px;background:var(--bg-soft);transition:background .18s,color .18s}
.flexchip:hover{background:var(--bg-soft2)}
.flexchip[aria-pressed="true"]{background:var(--green);color:var(--on)}

/* reason chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-left:24px}
.chip{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--ink-soft);padding:10px 16px;background:var(--bg-soft);transition:background .18s,color .18s}
.chip:hover{background:var(--bg-soft2)}
.chip.on{background:var(--ink);color:var(--on)}
.chip-other{display:block;margin:14px 0 0 24px;max-width:420px}
.chip-other .fld__l{display:block;margin-bottom:7px}

/* contact fields */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-left:24px}
.fld{display:flex;flex-direction:column;gap:7px}
.fld--full{grid-column:1/-1}
.fld__l{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6b665b}
.fld__l i{font-style:normal;font-weight:500;letter-spacing:.04em;color:var(--muted);text-transform:none;margin-left:3px}
.fld input,.fld textarea{font:inherit;font-size:15px;font-weight:300;color:var(--ink);background:var(--bg-soft);border:0;padding:12px 14px;width:100%;resize:vertical;box-shadow:inset 0 0 0 0 var(--ink);transition:box-shadow .18s,background .18s}
.fld input:focus,.fld textarea:focus{outline:none;background:var(--bg-soft2);box-shadow:inset 0 -2px 0 0 var(--ink)}
.fld__err{margin:16px 0 0 24px;font-size:13px;font-weight:500;color:#9a2b1e}

/* --- right: ledger (green) --- */
.ovl__ledger{background:var(--green);color:var(--on);display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3vw,40px)}
.ledg__eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,244,239,.66);margin-bottom:18px}
.ledg__prop{font-weight:300;font-size:23px;letter-spacing:-.01em;line-height:1.1;color:var(--on);padding-bottom:20px;box-shadow:inset 0 -1px 0 rgba(246,244,239,.16)}
.ledg__prop small{display:block;margin-top:7px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,244,239,.6)}
.ledg__rows{display:flex;flex-direction:column;padding:6px 0}
.lr{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;box-shadow:inset 0 -1px 0 rgba(246,244,239,.12)}
.ledg__rows .lr:last-child{box-shadow:none}
.lr--stack{flex-direction:column;align-items:flex-start;gap:5px}
.lr__k{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,244,239,.66)}
.lr__v{font-weight:300;font-size:17px;letter-spacing:-.005em;color:var(--on)}
.stp{display:flex;align-items:center;gap:4px}
.stp button{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;color:var(--on);background:rgba(246,244,239,.12);transition:background .16s}
.stp button:hover{background:rgba(246,244,239,.24)}
.stp__v{min-width:34px;text-align:center;font-weight:400;font-size:17px;color:var(--on)}
.ledg__est{padding:18px 0 4px;box-shadow:inset 0 1px 0 rgba(246,244,239,.16);margin-top:2px;display:flex;flex-direction:column;gap:5px}
.ledg__price{font-weight:300;font-size:26px;letter-spacing:-.02em;color:var(--on)}
.ledg__note{font-size:11.5px;font-weight:300;line-height:1.5;color:rgba(246,244,239,.62);margin-top:3px}
#lbNote{display:block;margin-top:8px}
.ledg__price .ccy{font-size:.42em;font-weight:400;letter-spacing:.06em;color:rgba(246,244,239,.55);margin-right:2px}
.bkkids-row{display:flex;align-items:center;gap:18px;margin-top:10px;flex-wrap:wrap}
.bkkids-row .chips{margin-top:0}
.bkkids-row #bkKidsN{max-height:none;overflow:visible;opacity:1;margin:0;transform:none}
.bkkids-row #bkKidsN:not(.show){display:none}
.bkkids-row #bkKidsN.show{display:block}
.bkkids-row .numrow{display:flex;align-items:center;gap:10px}
.bkkids-row .numrow__l{font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,244,239,.55)}
#bkLedger .ledg__rows .lr:last-child .lr__k,#bkLedger .ledg__rows .lr:last-child .stp{transform:translateY(3px)}
.ledg__note .fee-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13.5px;font-weight:300}
.ledg__note .fee-row + .fee-row{box-shadow:inset 0 1px 0 rgba(246,244,239,.14)}
.ledg__note .fee-row span:first-child{color:rgba(246,244,239,.6)}
.ledg__note .fee-row span:last-child{color:var(--on)}
.ledg__note .fee-row--tot span{color:var(--on);font-weight:500}
.ledg__fine{display:block;margin-top:8px;font-size:12px;line-height:1.55;color:rgba(246,244,239,.72)}
.ledg__send{margin-top:22px;background:var(--on);color:var(--green-deep)}
.ledg__send:hover{opacity:.9}
.ledg__alts{display:flex;gap:20px;justify-content:center;margin-top:28px}
.ledg__alts a{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,244,239,.8);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ledg__alts a:hover{color:var(--on)}
.ledg--done{align-items:flex-start}
.enquire .fld__err{background:#fff;color:#b23120;padding:11px 15px;margin:14px 0 0 24px;font-size:13px;font-weight:500}
.enquire .fld input.invalid,.enquire .fld textarea.invalid{box-shadow:inset 0 -2px 0 0 #b23120}
.enquire .fld input.invalid::placeholder{color:#b23120}
.ledg__donet{font-weight:300;font-size:24px;letter-spacing:-.01em;color:var(--on);margin-bottom:12px}
.ledg__donep{font-weight:300;font-size:15px;line-height:1.55;color:rgba(246,244,239,.84);margin-bottom:26px;max-width:34ch}

@media(prefers-reduced-motion:reduce){.ovl__scrim,.ovl__panel{animation-duration:.01s}}
@media(max-width:820px){
  .ovl{padding:0}
  .ovl__panel{grid-template-columns:1fr;max-height:100vh;height:100vh}
  .ovl__form{order:1}
  .ovl__ledger{order:2;justify-content:flex-start}
  .months{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:480px){
  .fields{grid-template-columns:1fr}
  .months{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
   ENQUIRE: inline enquiry band (brand green) with live ledger
   ============================================================ */
.enquire{background:var(--green);color:var(--on)}
.enquire__in{max-width:var(--maxw);margin:0 auto;padding:var(--section-y) var(--gut)}
.enquire__head{max-width:62ch;margin-bottom:clamp(34px,5vh,58px)}
.enquire__head .eyebrow{display:block;margin-bottom:18px;color:rgba(246,244,239,.7)}
.enquire__head .eyebrow .credit{color:var(--on)}
.enquire__head h2{font-size:clamp(28px,3.8vw,48px);font-weight:200;color:var(--on);letter-spacing:-.02em;line-height:1.06;max-width:18ch}
.enquire__sub{margin-top:18px;font-weight:300;font-size:17px;line-height:1.6;color:var(--on-2);max-width:54ch}
.enquire__grid{display:grid;grid-template-columns:1.32fr .9fr;gap:clamp(34px,5vw,82px);align-items:start}
.enquire__aside{position:sticky;top:90px}

/* form on green: lift labels & headings to cream (chips/inputs keep their light fills) */
.enquire .qs{padding:24px 0;box-shadow:inset 0 1px 0 rgba(246,244,239,.16)}
.enquire .qs:first-child{box-shadow:none;padding-top:0}
.enquire .qs__n{color:rgba(246,244,239,.6)}
.enquire .qs__t{color:var(--on)}
.enquire .qs__sub{color:var(--on-2)}
.enquire .fld__l{color:rgba(246,244,239,.66)}
.enquire .fld__l i{color:rgba(246,244,239,.5)}
.enquire .flexchip[aria-pressed="true"]{background:var(--on);color:var(--green-deep)}
.enquire .chip{background:rgba(246,244,239,.07);color:var(--on)}
.enquire .chip:hover{background:rgba(246,244,239,.22)}
.enquire #enqReasons .chip.on{background:#F6F4EF!important;color:#1A2C24!important}
.enquire .chip-other{margin:16px 0 0 24px;max-width:none}
.enquire .chip-other .fld__l{color:rgba(246,244,239,.7)}
.enquire #enqOther{display:block;width:100%;margin-top:9px;font:inherit;font-size:16px;font-weight:300;line-height:1.5;color:var(--ink);background:var(--bg-soft);padding:14px 16px;border:0;outline:0;resize:none}
.enquire #enqOther::placeholder{color:var(--muted)}
.enquire #enqOther:focus{background:var(--bg-soft2);box-shadow:inset 0 -2px 0 0 var(--ink)}
.enquire .bk-budrow{display:flex;align-items:center;gap:20px;margin:16px 0 0 24px}
.enquire .cur{display:inline-flex;gap:2px;background:rgba(246,244,239,.1);padding:2px;flex:none}
.enquire .cur button{font:inherit;font-size:10px;font-weight:600;letter-spacing:.12em;padding:6px 13px;color:rgba(246,244,239,.7);background:none;transition:background .18s,color .18s}
.enquire .cur button.on{background:#F6F4EF;color:#1A2C24}
.enquire .range{flex:1;margin:0;background:rgba(246,244,239,.22)}
.enquire .range::-webkit-slider-thumb{background:var(--on)}
.enquire .range::-moz-range-thumb{background:var(--on)}
.enquire .bk-budget-out{margin:18px 0 0 24px}
.enquire .bk-budget-out .bv{color:var(--on)}
.enquire .bk-budget-out .bp{color:rgba(246,244,239,.6)}
.enquire .bk-hint{color:rgba(246,244,239,.55);margin:10px 0 0 24px}

/* ── redesigned "When" picker: year-grouped calendar on the green band ── */
.enquire .when{margin-left:24px}
.enquire .yrow{margin-top:18px}
.enquire .yrow:first-child{margin-top:0}
.enquire .yrow__yr{display:block;font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,244,239,.55);margin-bottom:10px}
.enquire .yrow__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.enquire .when .month{position:relative;display:flex;align-items:center;justify-content:center;height:50px;padding:0;
  background:rgba(246,244,239,.07);color:var(--on);font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  transition:background .18s var(--ease),color .18s var(--ease)}
.enquire .when .month.is-best{background:rgba(246,244,239,.13)}
.enquire .when .month:hover{background:rgba(246,244,239,.22)}
.enquire .when .month.on{background:var(--on);color:var(--green-deep)}
.enquire .when .month.is-off{opacity:.26;pointer-events:none}
.enquire .when .month .mo{line-height:1}
.enquire .when .month .dot{position:absolute;top:8px;right:8px;width:5px;height:5px;border-radius:50%;background:var(--mark-d);transition:background .18s}
.enquire .when .month.on .dot{background:var(--green)}
.enquire .yrow__grid[hidden]{display:none}
.enquire .yrow__toggle{font:inherit;background:none;color:rgba(246,244,239,.55);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:0;margin-bottom:10px;cursor:pointer}
.enquire .yrow__toggle:hover{color:var(--on)}
/* flexible: an equal, full-width option, not an afterthought chip */
.enquire .when__flex{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;
  margin-top:16px;padding:15px 18px;background:rgba(246,244,239,.07);color:var(--on);text-align:left;
  transition:background .18s var(--ease),color .18s var(--ease)}
.enquire .when__flex:hover{background:rgba(246,244,239,.16)}
.enquire .when__flex[aria-pressed="true"]{background:var(--on);color:var(--green-deep)}
.enquire .when__flexk{font-weight:500;font-size:14px;letter-spacing:.01em}
.enquire .when__flexv{font-weight:300;font-size:12.5px;line-height:1.4;color:rgba(246,244,239,.62)}
.enquire .when__flex[aria-pressed="true"] .when__flexv{color:rgba(26,44,36,.66)}
.enquire .when__flextick{position:absolute;top:15px;right:18px;font-size:14px;opacity:0;transition:opacity .18s}
.enquire .when__flex[aria-pressed="true"] .when__flextick{opacity:1}
.enquire .when__key{display:flex;align-items:center;gap:9px;margin-top:14px;font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,244,239,.55)}
.enquire .when__key .kdot{width:6px;height:6px;border-radius:50%;background:var(--mark-d);flex:none}
@media(max-width:480px){.enquire .yrow__grid{grid-template-columns:repeat(4,1fr)}}

/* ledger built into the section: deepen the card so it separates from the band */
.enquire__aside .ledg{display:flex;flex-direction:column;background:var(--green-deep);padding:clamp(26px,2.6vw,38px)}
.enquire__aside .ledg[hidden]{display:none}
.enquire .bud{margin:20px 0 0 24px}
.enquire .bud__head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.enquire .bud__val{font-weight:200;font-size:clamp(34px,4.6vw,46px);letter-spacing:-.02em;line-height:1;color:var(--on)}
.enquire .bud__pp{display:block;margin-top:9px;font-weight:300;font-size:13px;color:rgba(246,244,239,.6)}
.enquire .bud .range{flex:none;width:100%;margin:24px 0 0}
.enquire .bud__ends{display:flex;justify-content:space-between;margin-top:12px;font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,244,239,.5)}
.service__cta{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--on);transition:opacity .2s;flex:none}
.service__cta:hover{opacity:.88}
.svc-green .service__cta{background:var(--on);color:var(--green-deep)}
.service__foot{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-top:clamp(44px,7vh,72px);padding-top:clamp(28px,4vh,42px);box-shadow:inset 0 1px 0 var(--line)}
.svc-green .service__foot{box-shadow:inset 0 1px 0 rgba(246,244,239,.18)}
.service__cue{font-weight:300;font-size:clamp(19px,2.1vw,26px);letter-spacing:-.01em;line-height:1.15;max-width:22ch;color:var(--ink)}
.svc-green .service__cue{color:var(--on)}

/* pricing context folded in from 'what it costs' */
.enquire__incl{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,56px) clamp(24px,4vw,56px);margin-top:clamp(40px,6vh,74px);padding-top:clamp(26px,3vw,38px);box-shadow:inset 0 1px 0 rgba(246,244,239,.16)}
.eincl__h{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--on);font-weight:600;margin-bottom:13px}
.eincl ul{list-style:none}
.eincl li{font-weight:300;font-size:15px;color:var(--on-2);line-height:1.5;padding:8px 0;display:flex;gap:11px;align-items:baseline}
.eincl li::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(246,244,239,.5);flex:none;transform:translateY(-2px)}
.enquire__fine{grid-column:1/-1;font-weight:300;font-size:13.5px;color:rgba(246,244,239,.6);line-height:1.6;max-width:74ch;padding-top:18px;box-shadow:inset 0 1px 0 rgba(246,244,239,.1)}

@media(max-width:820px){
  .enquire__grid{grid-template-columns:1fr;gap:30px}
  .enquire__aside{position:static}
  .enquire__incl{grid-template-columns:1fr;gap:24px}
}


/* ---- next block ---- */


  /* anchor offset so chapter titles clear the sticky nav */
  section[id]{scroll-margin-top:64px}

/* orphan-control: avoid single-word last lines (rule across all pages) */
p,li,blockquote,figcaption,.sr__v,.qs__sub,.abx__q,.ac-total,.dep__d,.lede,.ledg__note,.ledg__fine,.enquire__sub,.incl2__lead,.seas__lead,.host2 p,.overview p{text-wrap:pretty}
