/* Monkey Forest Stays. Tokens, header, menu, buttons, the preloader and the footer come from styles.css.
   Law: nothing that moves carries a mask, a filter or a shadow. Scrubbed things move by transform and opacity only. */
.stays{--band:clamp(90px,11vw,200px);--sec:clamp(40px,5.9vw,98px);--bar:0px}
.stays .header-nav a[aria-current]{opacity:.6}
.stays .menu nav a[aria-current]{opacity:.6}

/* spec rows, the landing's ledger voice, free of its absolute placing */
.rows{display:grid;gap:18px;margin:0}
.rows>div{display:grid;gap:4px;border-top:1px solid rgba(86,128,67,.3);padding-top:10px}
.rows dt{opacity:.7}
.rows dd{margin:0;font-size:15px;font-weight:500;line-height:1.3}
.rows-cream>div{border-top-color:rgba(241,238,219,.3)}

/* ---------- the stay line ---------- */
.stayline{position:fixed;right:var(--gutter);bottom:26px;z-index:45;display:flex;align-items:center;gap:18px;color:var(--forest);visibility:hidden;pointer-events:none}
.stayline-label{transition:color .5s;text-align:right;margin:0}
.stayline-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 20px 0 24px;border-radius:999px;background:var(--forest);color:var(--cream);font-size:14px;font-weight:500;box-shadow:0 6px 20px rgba(86,128,67,.2);transition:background .5s,color .5s;will-change:transform}
.stayline-pill svg{width:16px;height:16px;transition:transform .5s var(--ease)}
.stayline-pill:hover svg{transform:translate(2px,-2px)}
.stayline.on-dark{color:var(--cream)}
.stayline.on-dark .stayline-pill{background:var(--cream);color:var(--forest);box-shadow:0 6px 20px rgba(0,0,0,.16)}

/* ---------- home: the 3D chapter ---------- */
.home{position:relative;background:var(--cream);color:var(--forest);z-index:1}
.home-scroll{height:1200vh}
.home-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:clip;isolation:isolate;background:var(--cream)}
.home-night{position:absolute;inset:0;background:var(--night);opacity:0;pointer-events:none}
.home-turn{position:absolute;left:50%;top:50%;height:min(100vw,100vh);height:min(100vw,100svh);aspect-ratio:8/5;transform:translate(-50%,-50%);touch-action:pan-y}
.home-title{position:absolute;left:calc(var(--band) + var(--gutter));top:calc(var(--header) + 7vh);font-size:min(var(--h1),12.4vh);font-weight:500;line-height:.94;letter-spacing:-.025em;white-space:nowrap;pointer-events:none}
.home-title>span{display:block}
.home-gl{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;visibility:hidden;outline-offset:-6px}
.home-gl:focus-visible,.home-turn:focus-visible{outline:2px solid currentColor;outline-offset:-6px}
.home-stills{position:absolute;inset:0;pointer-events:none}
.home-stills img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;visibility:hidden;will-change:transform,opacity}
.home-stills img.is-plan{background:var(--deep)}
.home-veil{position:absolute;inset:0;background:var(--cream);opacity:0;visibility:hidden;pointer-events:none}
.home-scrims{position:absolute;inset:0;pointer-events:none;transition:opacity .3s}
.home-scrim{position:absolute;inset:0;pointer-events:none;opacity:0;visibility:hidden}
.home-scrim-top{background:linear-gradient(180deg,rgba(12,20,10,.66) 0%,rgba(12,20,10,.24) 12%,rgba(12,20,10,0) 24%)}
.home-scrim-plan{background:linear-gradient(180deg,rgba(12,20,10,0) 64%,rgba(12,20,10,.42) 82%,rgba(12,20,10,.74) 100%)}
.home-scrim-bot{background:linear-gradient(180deg,rgba(12,20,10,0) 42%,rgba(12,20,10,.4) 68%,rgba(12,20,10,.8) 100%)}
.home-scrim-dusk{background:linear-gradient(180deg,rgba(1,30,50,0) 40%,rgba(1,30,50,.55) 66%,rgba(1,30,50,.92) 100%)}
.home-scrim-side{background:radial-gradient(ellipse 27% 48% at 100% 52%,rgba(12,20,10,.7) 0%,rgba(12,20,10,.46) 45%,rgba(12,20,10,0) 100%)}

.home-bands{position:absolute;inset:0;pointer-events:none;transition:opacity .3s}
.home-band{position:absolute;top:0;bottom:0;width:50%;will-change:transform}
.home-band-l{left:0}
.home-band-r{right:0}
.home-band-in{position:absolute;inset:0;overflow:hidden;will-change:transform}
.home-band-in img{position:absolute;top:0;width:200%;max-width:none;height:100%;object-fit:cover;object-position:50% 34%}
.home-band-l img{left:0}
.home-band-r img{right:0}
.home-frond{position:absolute;top:0;height:100%;width:auto;max-width:none;visibility:hidden;will-change:transform}
.home-frond-l{left:0}
.home-frond-r{right:0}
.home-fire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.home-labels{position:absolute;inset:0;pointer-events:none;transition:opacity .3s}
.home-label{position:absolute;left:0;top:0;will-change:transform}
.home-label>span{display:block;position:relative;padding-top:8px;white-space:nowrap;color:var(--night);opacity:0;visibility:hidden;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;line-height:1.4;transform:translate(-50%,-50%)}
.home-label>span::before{content:'';position:absolute;left:50%;top:0;width:24px;height:1px;margin-left:-12px;background:currentColor}

.home-ui{position:absolute;inset:0;pointer-events:none;transition:opacity .3s}
.home-ui a,.home-ui button{pointer-events:auto}
.home-stage.is-hand .home-ui,.home-stage.is-hand .home-labels,.home-stage.is-hand .home-bands,.home-stage.is-hand .home-scrims{opacity:0}
.home-stage.is-hand .home-ui a,.home-stage.is-hand .home-ui button{pointer-events:none}
.home-h{font-size:var(--p5);font-weight:500;line-height:1.02;letter-spacing:-.02em}

.home-foot{position:absolute;inset:0}
.home-desc{position:absolute;left:calc(var(--band) + var(--gutter));bottom:34px;max-width:min(400px,calc(50vw - var(--band) - var(--gutter) - 100px));display:grid;gap:14px}
.home-desc-title{font-size:22px;font-weight:500;line-height:1.1}
.home-desc-copy{font-size:14px;line-height:1.7;max-width:340px;opacity:.9}
.home-cue{position:absolute;left:50%;bottom:34px;margin-left:-70px;width:140px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.home-cue-icon{width:44px;height:44px;border:1px solid rgba(86,128,67,.55);border-radius:50%;display:grid;place-items:center;overflow:hidden}
.home-cue-icon svg{width:18px;height:18px;animation:cue 2.2s var(--ease) infinite}
/* a short window: the cue lies down beside its ring, so the villa keeps its size above it */
@media (min-width:992px) and (max-height:860px){
  .home-cue{bottom:26px;width:170px;margin-left:-85px;display:grid;grid-template-columns:44px auto;grid-template-rows:1fr 1fr;gap:3px 12px;justify-content:center;text-align:left}
  .home-cue-icon{grid-column:1;grid-row:1 / 3}
  .home-cue>.l1{grid-column:2;align-self:end}
  .home-cue>.l1:last-child{align-self:start}
}

.home-offer{position:absolute;right:calc(var(--band) + var(--gutter));top:var(--header);bottom:0;width:clamp(190px,14vw,232px);display:flex;align-items:center}
.home-offer-in{width:100%;display:grid;gap:26px;justify-items:start}
.home-offer-in .rows{width:100%}

.home-turnline{position:absolute;left:var(--gutter);bottom:9vh;max-width:400px;display:grid;gap:16px;opacity:0;visibility:hidden}
.home-turnline p{font-size:15px;line-height:1.7;max-width:36ch;opacity:.9}

.home-planrows{position:absolute;right:var(--gutter);top:50%;width:clamp(190px,16vw,250px);color:var(--cream);transform:translateY(-50%)}
.home-planrows>div{opacity:0;visibility:hidden}
.home-planrows dt{opacity:.85}

.home-cap{position:absolute;left:var(--gutter);bottom:9vh;max-width:580px;display:grid;gap:16px;color:var(--cream);opacity:0;visibility:hidden}
.home-cap h2{font-size:var(--p5);font-weight:500;line-height:1.02;letter-spacing:-.02em;max-width:16ch}
.home-cap p{font-size:15px;line-height:1.7;max-width:42ch;color:var(--white);opacity:.9}
.home-cap .home-cap-place{display:none;color:var(--cream);opacity:.8}
.home-plancap p{max-width:64ch}

.home-dusk{position:absolute;left:calc(var(--band) + var(--gutter));bottom:9vh;display:grid;gap:26px;color:var(--cream)}
.home-dusk .home-h{opacity:0;visibility:hidden}
.home-dusk-more{display:grid;gap:20px;justify-items:start;opacity:0;visibility:hidden}
.home-dusk-rows{grid-template-columns:repeat(3,minmax(150px,190px));gap:28px}
.home-dusk-line{opacity:.8}

.home-rail{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);display:grid;gap:0;padding-left:18px;border-left:1px solid rgba(241,238,219,.3);color:var(--cream);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.home-rail.is-on{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s}
.home-rail button{position:relative;display:block;text-align:left;padding:6px 0;opacity:.68;transition:opacity .3s;white-space:nowrap}
.home-rail button:hover{opacity:.9}
.home-rail button[aria-current="true"]{opacity:1;font-weight:600}
.home-rail button[aria-current="true"]::before{content:'';position:absolute;left:-18px;top:50%;width:12px;height:1px;background:currentColor}

.home-under{position:absolute;left:0;right:0;bottom:26px;display:flex;flex-direction:column;align-items:center;gap:14px}
.home-explore{height:48px;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s,background .5s,color .5s,transform .5s var(--ease)}
.home-explore.is-on{opacity:1;visibility:visible;transition:opacity .4s,visibility 0s,background .5s,color .5s,transform .5s var(--ease)}
.home-explore.on-dark{background:var(--cream);color:var(--forest)}
.home-hint{display:grid;justify-items:center;gap:8px;opacity:0;transition:opacity .5s,color .5s;margin:0}
.home-hint.is-on{opacity:.85}
.home-hint-bar{display:block;width:120px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;opacity:0}
.home-hint.is-loading .home-hint-bar{opacity:.6;transform:scaleX(.9);transition:transform 6s cubic-bezier(.2,.6,.3,1)}
.home-honest{position:absolute;right:var(--gutter);bottom:92px;margin:0;opacity:0;transition:opacity .4s,color .5s}
.home-honest.is-on{opacity:.75}
.home-honest.on-dark{color:var(--cream)}

/* hand mode */
.hand{position:absolute;inset:0;pointer-events:none;color:var(--forest);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s,color .5s}
.home-stage.is-hand .hand{opacity:1;visibility:visible;transition:opacity .3s .1s,visibility 0s,color .5s}
.hand.is-night{color:var(--cream)}
.hand-note{position:absolute;left:var(--gutter);top:calc(var(--header) + 14px);margin:0;opacity:.8}
.hand-close{position:absolute;right:var(--gutter);top:calc(var(--header) + 4px);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;pointer-events:auto}
.hand-close svg{width:18px;height:18px}
.hand-bar{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:stretch;gap:34px;padding-top:12px;border-top:1px solid rgba(86,128,67,.3);pointer-events:auto;white-space:nowrap;transition:border-color .5s}
.hand.is-night .hand-bar{border-top-color:rgba(241,238,219,.3)}
.hand-switch{display:flex}
.hand-switch button{padding:10px 14px;opacity:.45;transition:opacity .3s;border-left:1px solid rgba(86,128,67,.3)}
.hand.is-night .hand-switch button{border-left-color:rgba(241,238,219,.3)}
.hand-switch button:first-child{border-left:0;padding-left:0}
.hand-switch button[aria-checked="true"]{opacity:1}
.hand-back{padding:10px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* the cursor ring */
.home-ring{position:absolute;left:0;top:0;width:56px;height:56px;margin:-28px 0 0 -28px;display:grid;place-items:center;pointer-events:none;color:var(--forest);opacity:0;will-change:transform;transition:opacity .25s,color .5s}
.home-ring::before{content:'';position:absolute;inset:0;border:1px solid currentColor;border-radius:50%;opacity:.55;transition:transform .25s var(--ease)}
.home-ring.is-on{opacity:1}
.home-ring.is-down::before{transform:scale(.8)}
.home-ring.on-dark{color:var(--cream)}
.home-ring span{font-size:10px}
.home-stage.has-ring .home-gl,.home-stage.has-ring .home-turn{cursor:none}

/* ---------- night: the night, then the morning ---------- */
.night{position:relative;background:var(--night);color:var(--cream);z-index:1}
.night-scroll{height:420vh}
.night-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:clip;isolation:isolate;display:flex;flex-direction:column;justify-content:center;gap:5vh;padding:calc(var(--header) + 2vh) 0 8vh}
.night-ground{position:absolute;inset:0;background:var(--cream);opacity:0;z-index:-1}
.night-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:0 var(--gutter);transition:color .5s}
.night-title{font-size:var(--p5);font-weight:500;line-height:1.02;letter-spacing:-.02em}
.night-side{display:flex;align-items:flex-end;gap:26px}
.night-sub{max-width:34ch;font-size:14px;line-height:1.7;text-align:right;opacity:.9}
.night-marks{position:relative;width:64px;height:64px;flex:none}
.night-marks img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .5s}
.night-birds{opacity:0}
.night.is-morning .night-moon{opacity:0}
.night.is-morning .night-birds{opacity:1}
.night.is-morning .night-head,.night.is-morning .night-track figcaption,.night.is-morning .night-honest{color:var(--forest)}
.night-track{display:flex;gap:2.2vw;padding:0 var(--gutter);width:max-content;will-change:transform}
.night-track figure{height:56vh;flex:none;display:grid;grid-template-rows:minmax(0,1fr) 62px;gap:12px;margin:0}
.night-track img{height:100%;width:auto;max-width:none;display:block;object-fit:cover;border-radius:2px}
.night-track figcaption{width:0;min-width:100%;display:grid;align-content:start;gap:2px;transition:color .5s}
.night-time{font-size:20px;font-weight:500;line-height:1.25}
.night-line{font-size:14px;line-height:1.45;opacity:.9}
.night-honest{position:absolute;left:var(--gutter);bottom:3vh;margin:0;opacity:.75;transition:color .5s}

/* ---------- outside: the proof ---------- */
.outside{position:relative;background:var(--forest);color:var(--cream);z-index:1}
.out-photo{position:relative;height:100vh;overflow:clip;background:var(--deep)}
.out-img{position:absolute;left:0;top:-8%;width:100%;max-width:none;height:116%;object-fit:cover;object-position:50% 60%;will-change:transform}
.out-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,8,.72) 0%,rgba(9,18,8,.2) 16%,rgba(9,18,8,0) 32%,rgba(9,18,8,0) 50%,rgba(9,18,8,.7) 100%)}
.out-copy{position:absolute;left:var(--gutter);bottom:9vh;max-width:560px;display:grid;gap:20px}
.out-title{font-size:var(--p5);font-weight:500;line-height:1.02;letter-spacing:-.02em}
.out-copy p:not(.l1){font-size:15px;line-height:1.7;max-width:40ch;color:var(--white);opacity:.9}
.out-place-m{display:none;opacity:.8}
.out-place{position:absolute;right:var(--gutter);bottom:calc(9vh + 44px);display:grid;gap:6px;text-align:right}
.out-dim{opacity:.7}
.out-rooms{position:relative;padding:11vh var(--gutter) calc(12vh + 12vh);overflow:clip}
.out-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:7vh}
.out-body{max-width:38ch;font-size:15px;line-height:1.7;color:var(--white);opacity:.9}
.out-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(241,238,219,.25)}
.out-figs figure{margin:0;padding:28px 2vw 0;border-left:1px solid rgba(241,238,219,.25)}
.out-figs figure:first-child{padding-left:0;border-left:0}
.out-figs figure:last-child{padding-right:0}
.out-figs img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.out-figs figcaption{display:grid;gap:6px;padding-top:18px}
.out-figs h3{font-size:20px;font-weight:500;line-height:1.2}
.out-figs figcaption p:not(.l1){font-size:14px;line-height:1.6;color:var(--white);opacity:.9}
.out-figs figcaption .l1{opacity:.7;margin-top:6px}
.out-frieze{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:none;height:12vh;object-fit:cover;object-position:50% 100%;opacity:.55;pointer-events:none}

/* ---------- ways: two villas, nine ways to stay ---------- */
.ways{position:relative;background:var(--cream);color:var(--forest);z-index:1}
.ways-stage{position:relative;overflow:clip;padding:calc(var(--header) + 3vh) var(--gutter) calc(9vh + 26px)}
.ways.is-pinned .ways-scroll{height:180vh}
.ways.is-pinned .ways-stage{position:sticky;top:0;height:100vh;height:100svh}
.ways-cols{display:grid;grid-template-columns:36% 58%;justify-content:space-between;align-items:start}
.ways-title{font-size:var(--sec);font-weight:500;line-height:.94;letter-spacing:-.025em}
.ways-title-r{text-align:right;margin-bottom:3.4vh}
.ways-sub{font-size:14px;line-height:1.65;max-width:44ch;margin-top:18px;opacity:.85}
.ways-map{width:min(32vw,44vh * 1.323);margin-top:3.4vh}
.ways.is-pinned .ways-map{width:min(32vw,36vh * 1.323)}
.ways-map svg{display:block;width:100%;height:auto;overflow:visible}
.ways-map path{fill:none;stroke:var(--forest);stroke-width:.95;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ways-map .plan-hatch path{stroke-width:.5;opacity:.5}
.ways-map .plan-plots path{stroke-width:.8;opacity:.7;transition:stroke-width .25s,opacity .25s}
.ways-map .plan-plots path.is-hot{stroke-width:2;opacity:1}
.ways-map .plan-labels text{display:none}
.ways-map .ways-lit path{fill:var(--forest);stroke:var(--forest);stroke-width:1;cursor:pointer;pointer-events:auto}
.ways-map .ways-lit text{font-family:Poppins,sans-serif;font-weight:500;fill:var(--cream);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.ways-map .ways-num text{font-family:Poppins,sans-serif;font-weight:500;fill:var(--forest);text-anchor:middle;dominant-baseline:central}
.ways-notes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:12px 28px;margin-top:2.4vh;max-width:620px;font-size:13px;line-height:1.6}
.ways-notes p{opacity:.8}
.ways-notes>div{display:grid;gap:8px;align-content:start}
.ways-frieze{position:absolute;left:0;bottom:0;width:100%;max-width:none;height:9vh;object-fit:cover;object-position:50% 100%;opacity:.6;pointer-events:none;will-change:transform}

.ways-group{border-top:1px solid rgba(86,128,67,.3);padding:9px 0}
.ways-group-in{display:grid;grid-template-columns:148px minmax(0,1fr);transition:opacity .3s}
.ways-ledger.dim-villa-46 .ways-group[data-g="villa-46"] .ways-group-in,.ways-ledger.dim-villa-50 .ways-group[data-g="villa-50"] .ways-group-in{opacity:.55}
.ways-mark{display:grid;gap:8px;align-content:start;padding-top:6px}
.ways-thumbs{display:flex}
.ways-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:2px}
.ways-thumbs.is-two img{width:56px;height:56px}
.ways-thumbs.is-two img+img{margin-left:-16px}
.ways-mark-name{font-size:20px;font-weight:500;line-height:1.2}
.ways-rows{display:grid}
.ways-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.62fr) minmax(0,.74fr) auto;align-items:center;gap:0 18px;min-height:44px;border-top:1px solid rgba(86,128,67,.18)}
.ways-row:first-child{border-top:0}
.ways-name{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;line-height:1.3;min-width:0}
.ways-name img{width:28px;height:28px;object-fit:contain;flex:none}
.ways-name .l1{opacity:.7}
.ways-guests{font-size:14px;opacity:.9}
.ways-rate{font-size:15px;font-weight:500}
.ways-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:9px 0;white-space:nowrap}
.ways-link span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;opacity:1}
.ways-link span{background-image:linear-gradient(rgba(86,128,67,.35),rgba(86,128,67,.35));transition:background-image .3s}
.ways-link:hover span,.ways-link:focus-visible span{background-image:linear-gradient(var(--forest),var(--forest))}
.ways-link svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.ways-link:hover svg{transform:translate(2px,-2px)}
.ways-sub2{display:none}

/* ---------- included ---------- */
.inc{position:relative;background:var(--cream);color:var(--forest);padding:11vh var(--gutter) 14vh;overflow:clip;z-index:1}
.inc-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:4vw;align-items:start;max-width:1500px;margin:0 auto;z-index:1}
.inc-title{font-size:var(--p5);font-weight:500;line-height:1.02;letter-spacing:-.02em;margin-bottom:7vh}
.inc-left{max-width:640px}
.inc-rows li{border-top:1px solid rgba(86,128,67,.3);padding:20px 0 22px;display:grid;gap:6px}
.inc-rows li:last-child{border-bottom:1px solid rgba(86,128,67,.3)}
.inc-rows li:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.inc-rows h3{font-size:20px;font-weight:500;line-height:1.25;margin:0}
.inc-rows p{font-size:14px;line-height:1.75;max-width:44ch;opacity:.9}
.inc-house{margin-top:6vh;border-top:1px solid rgba(86,128,67,.3)}
.inc-house-label{padding:10px 0 8px;opacity:.7}
.inc-house li{border-top:1px solid rgba(86,128,67,.18);padding:11px 0;font-size:14px;line-height:1.6}
.inc-notes{position:relative;margin-top:calc(6vh + 44px)}
.inc-langur{position:absolute;right:6px;bottom:100%;height:44px;width:auto}
.inc-notes .rows dd{font-weight:400;font-size:14px;line-height:1.7;max-width:48ch}
.inc-media{position:sticky;top:calc(var(--header) + 2vh);justify-self:end;width:min(100%,calc((100vh - var(--header) - 6vh - 84px) * .75));aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--canopy)}
.inc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.inc-media img.is-active{opacity:1}
.inc-leaf{position:absolute;right:0;bottom:0;width:clamp(140px,12vw,200px);height:auto;pointer-events:none}

/* ---------- book: the close ---------- */
.book{position:relative;background:var(--forest);color:var(--cream);min-height:100vh;min-height:100svh;padding:calc(var(--header) + 6vh) var(--gutter) 0;display:flex;flex-direction:column;justify-content:space-between;overflow:clip;isolation:isolate;z-index:1}
.book-art{position:absolute;left:0;top:-6%;width:100%;height:112%;z-index:-2;display:block;will-change:transform}
.book-art img{width:100%;height:100%;object-fit:cover;max-width:none}
.book-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,18,8,.72) 0%,rgba(9,18,8,.44) 42%,rgba(9,18,8,.72) 100%)}
.book-main{max-width:1500px;width:100%;margin:0 auto 6vh}
.book-title{font-size:var(--h1);font-weight:500;line-height:.94;letter-spacing:-.025em;margin-bottom:4vh}
.book-rest{display:grid;justify-items:start}
.book-body{font-size:15px;line-height:1.7;max-width:40ch;color:var(--white);opacity:.9;margin-bottom:26px}
.book-btn{height:48px}
.book-contact{display:grid;gap:14px;margin-top:6vh;color:var(--white)}
.book-contact .l1{color:var(--cream);opacity:.75}
.book-phone{font-size:clamp(24px,2.6vw,40px);font-weight:500;line-height:1.1;color:var(--cream)}
.book-contact p:not(.l1){font-size:14px;line-height:1.7;opacity:.86}

/* ---------- under 992px ---------- */
@media (max-width:991px){
  .stays{--bar:calc(56px + env(safe-area-inset-bottom,0px))}
  .stayline{left:0;right:0;bottom:0;height:var(--bar);padding:0 var(--gutter) env(safe-area-inset-bottom,0px);justify-content:space-between;gap:14px;background:var(--cream);border-top:1px solid rgba(86,128,67,.3);color:var(--forest)!important;pointer-events:auto}
  .stayline-label{text-align:left;max-width:60%;color:var(--forest)!important}
  .stayline-pill,.stayline.on-dark .stayline-pill{height:40px;font-size:13px;padding:0 16px 0 18px;background:var(--forest);color:var(--cream);box-shadow:none}
  .home-scroll{height:760vh}
  .home-title{left:var(--gutter);top:calc(var(--header) + 2vh);font-size:var(--h1)}
  .home-bands,.home-desc,.home-cue,.rows>.home-offer-more,.home-offer-btn,.home-rail,.home-planrows,.home-scrim-side,.home-ring,.home-dusk-btn{display:none}
  .home-offer{left:var(--gutter);right:var(--gutter);top:auto;bottom:calc(var(--bar) + 18px);width:auto;display:block}
  .home-offer-in .rows{grid-template-columns:1fr 1fr;gap:14px}
  .home-offer-in .rows dd{font-size:13px}
  .home-under{bottom:calc(var(--bar) + 150px);gap:12px}
  .home-honest{right:var(--gutter);left:auto;top:calc(var(--header) + 4px);bottom:auto;font-size:10px}
  .home-turnline{bottom:calc(var(--bar) + 20px);right:var(--gutter);max-width:none;gap:10px}
  .home-turnline p{font-size:14px;line-height:1.6;max-width:none}
  .home-cap{right:var(--gutter);bottom:calc(var(--bar) + 4vh);gap:12px}
  .home-cap p{font-size:14px;line-height:1.6}
  .home-cap .home-cap-place{display:block}
  .home-dusk{left:var(--gutter);right:var(--gutter);bottom:calc(var(--bar) + 4vh);gap:18px}
  .home-dusk-rows{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .home-dusk-rows dd{font-size:13px}
  .home-scrim-bot{background:linear-gradient(180deg,rgba(12,20,10,0) 34%,rgba(12,20,10,.5) 62%,rgba(12,20,10,.86) 100%)}
  .hand-bar{left:var(--gutter);right:var(--gutter);transform:none;bottom:calc(18px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:2px;white-space:normal}
  .hand-back{text-align:left}
  .night-scroll{height:340vh}
  .night-stage{gap:3vh}
  .night-head{flex-direction:column;align-items:flex-start;gap:12px}
  .night-side{width:100%;justify-content:space-between;align-items:flex-end}
  .night-sub{text-align:left}
  .night-marks{width:44px;height:44px}
  .night-track{gap:14px}
  .night-track figure{height:46vh}
  .out-photo{height:100vh;height:100svh}
  .out-copy{bottom:12vh;right:var(--gutter);max-width:none}
  .out-place{display:none}
  .out-place-m{display:block}
  .out-rooms{padding:10vh 0 calc(10vh + 12vh)}
  .out-head{flex-direction:column;align-items:flex-start;gap:16px;padding:0 var(--gutter);margin-bottom:5vh}
  .out-figs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 var(--gutter);padding-bottom:4px}
  .out-figs::-webkit-scrollbar{display:none}
  .out-figs figure{flex:0 0 78vw;scroll-snap-align:start;padding:22px 16px 0}
  .ways-stage{padding:12vh var(--gutter) calc(10vh + 8vh)}
  .ways-cols{display:block}
  .ways-title-r{text-align:left;margin:0}
  .ways-left,.ways-right{display:contents}
  .ways-cols{display:grid;grid-template-columns:1fr}
  .ways-title{order:1}
  .ways-title-r{order:2;margin-bottom:0}
  .ways-sub{order:3}
  .ways-map{order:4;width:100%;margin-top:5vh}
  .ways-ledger{order:5;margin-top:5vh}
  .ways-notes{order:6;grid-template-columns:1fr;margin-top:4vh;font-size:14px}
  .ways-frieze{height:8vh}
  .ways-group{padding:16px 0 6px}
  .ways-group-in{grid-template-columns:1fr}
  .ways-mark{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:0 0 10px}
  .ways-thumbs img,.ways-thumbs.is-two img{width:56px;height:56px}
  .ways-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 14px;min-height:56px;padding:9px 0}
  .ways-name{grid-column:1;grid-row:1}
  .ways-name .l1{display:none}
  .ways-rate{grid-column:2;grid-row:1;text-align:right}
  .ways-guests{grid-column:1;grid-row:2;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;opacity:.7}
  .ways-link{grid-column:2;grid-row:2;justify-self:end;padding:2px 0;font-size:13px}
  .ways-sub2{display:inline}
  .inc{padding:12vh var(--gutter) 12vh}
  .inc-grid{grid-template-columns:1fr;gap:6vh}
  .inc-media{position:relative;top:0;order:-1;width:100%;aspect-ratio:4/5;justify-self:stretch}
  .inc-leaf{display:none}
  .book{padding-top:calc(var(--header) + 5vh)}
  .book .foot{padding-bottom:calc(var(--bar) + 22px)}
}

/* ---------- reduced motion and ?static: no pins, no scrub ---------- */
.home-static{display:none}
html.no-motion .stayline{visibility:visible}
html.no-motion .home-scroll{display:none}
html.no-motion .home-static{display:block}
.hs-block{padding:calc(var(--header) + 6vh) var(--gutter) 9vh;max-width:1500px;margin:0 auto}
.hs-block+.hs-block{padding-top:9vh;border-top:1px solid rgba(86,128,67,.3)}
.hs-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:center}
.hs-title{font-size:min(var(--h1),5.7vw);font-weight:500;line-height:.94;letter-spacing:-.025em;margin-bottom:5vh}
.hs-sec{font-size:var(--sec);font-weight:500;line-height:.94;letter-spacing:-.025em;margin-bottom:22px}
.hs-text{display:grid;gap:22px;justify-items:start;align-content:start}
.hs-text p{font-size:15px;line-height:1.7;max-width:40ch}
.hs-text .rows{width:100%;max-width:320px}
.hs-text .l1{opacity:.75}
.hs-img{width:100%;height:auto;border-radius:2px}
.hs-rooms{display:grid;grid-template-columns:1fr 1fr;gap:0 4vw}
.hs-room{display:grid;gap:12px;align-content:start;padding:26px 0 30px;border-top:1px solid rgba(86,128,67,.3)}
.hs-room img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.hs-room h3{font-size:20px;font-weight:500;line-height:1.25}
.hs-room p{font-size:14px;line-height:1.7;max-width:48ch;opacity:.9}
.hs-room .l1{opacity:.7}
.hs-night{background:var(--night);color:var(--cream)}
.hs-night .hs-block{border-top:0}
.hs-night .hs-text p{color:var(--white);opacity:.9}
html.no-motion .night-scroll{height:auto}
html.no-motion .night-stage{position:relative;height:auto;padding:12vh 0 12vh;gap:5vh}
html.no-motion .night-track-wrap{overflow-x:auto}
html.no-motion .night-birds{display:none}
html.no-motion .night-honest{position:static;padding:0 var(--gutter)}
@media (max-width:991px){
  .hs-grid,.hs-rooms{grid-template-columns:1fr}
  .hs-block{padding-top:calc(var(--header) + 3vh)}
  .hs-title{font-size:var(--h1)}
}
