@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/demo/villa-bali/assets/cormorant-garamond-cyrillic-ext-wght-normal-Bg62sWL9.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/demo/villa-bali/assets/cormorant-garamond-cyrillic-wght-normal-BWCqVJN0.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/demo/villa-bali/assets/cormorant-garamond-vietnamese-wght-normal-CDLFB6hb.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/demo/villa-bali/assets/cormorant-garamond-latin-ext-wght-normal-ltf1AbuM.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/demo/villa-bali/assets/cormorant-garamond-latin-wght-normal-CUoBjw-S.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/demo/villa-bali/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/demo/villa-bali/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/demo/villa-bali/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/demo/villa-bali/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/demo/villa-bali/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f6eedf;--paper-2: #efe4cf;--paper-3: #eadfc8;--ink: #26221b;--muted: #5c5446;--line: rgba(38, 34, 27, .16);--accent: #2e6e63;--accent-ink: #f6eedf;--dusk: #d98a3d;--error: #8a2f1f;--serif: "Cormorant Garamond Variable", "Cormorant Garamond", Georgia, serif;--sans: "Nunito Sans Variable", "Nunito Sans", system-ui, sans-serif;--rail: 196px;--r: 3px;--lift: 0 1px 0 rgba(38, 34, 27, .06), 0 22px 44px -28px rgba(38, 34, 27, .45);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:16px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans);overflow-x:hidden}img,svg{display:block;max-width:100%}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0;letter-spacing:-.01em}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:fixed;left:12px;top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:var(--r)}.skip:focus{top:12px}#stage{position:fixed;inset:0;z-index:0;background:#e8d6bb}#stage canvas,#stage .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#stage canvas{opacity:0;transition:opacity .6s ease}#stage.live canvas{opacity:1}.stage-note{position:fixed;right:16px;top:64px;z-index:5;max-width:280px;background:var(--paper);border:1px solid var(--line);padding:8px 12px;font-size:.85rem;border-radius:var(--r)}.rail{position:fixed;z-index:10;left:0;top:0;bottom:0;width:var(--rail);display:flex;flex-direction:column;gap:14px;padding:24px 16px 18px 20px;background:var(--paper);border-right:1px solid var(--line);overflow-y:auto}.rail-mark{font:500 1.9rem/.95 var(--serif);color:var(--ink);text-decoration:none}.rail-mark em,.wordmark em,.foot-brand em{font-style:italic;color:var(--accent)}.rail-clock{font-size:.78rem;color:var(--muted);display:flex;align-items:baseline;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;width:fit-content;transition:background .4s ease}.rail-clock b,.clock b{font:600 1.15rem/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}body[data-time=dusk] .rail-clock,body[data-time=dusk] .clock{background:var(--dusk);border-color:var(--dusk);color:var(--ink)}.rail-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:1px}.rail-list>li>a{display:grid;grid-template-columns:26px 1fr;align-items:center;min-height:36px;color:var(--ink);text-decoration:none;font-size:.92rem;border-radius:var(--r);padding:0 6px}.rail-list .rt{font:italic 500 .95rem var(--serif);color:var(--muted)}.rail-list a:hover{background:var(--paper-2)}.rail-list a[aria-current]{background:var(--paper-3);font-weight:700}.rail-list a[aria-current] .rt{color:var(--accent)}.rail-units{list-style:none;margin:0 0 4px 32px;padding:0 0 0 10px;border-left:1px solid var(--line)}.rail-units button{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:italic 500 1.08rem/1 var(--serif);padding:8px 4px;min-height:32px;border-radius:var(--r)}.rail-units button:hover{color:var(--accent);background:var(--paper-2)}.rail-book{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:46px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;border-radius:var(--r);font-size:.92rem;text-align:center;padding:0 10px}.rail-book:hover{background:#245a51}.lang{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;width:fit-content}.lang button{min-width:44px;min-height:44px;border:0;background:transparent;cursor:pointer;font-weight:700;font-size:.82rem;letter-spacing:.04em}.lang button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.topbar,.dock{display:none}main{position:relative;z-index:2;margin-left:var(--rail);outline:none}.ch{position:relative;min-height:100svh;padding:12vh clamp(20px,4vw,64px);display:flex}.sheet{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--lift);padding:clamp(22px,3vw,40px)}.stamp{font:italic 500 1.1rem/1 var(--serif);color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:10px}.stamp:before{content:"";width:26px;height:1px;background:currentColor}.stamp-dusk:before{width:12px;height:12px;border-radius:50%;background:var(--dusk)}h2{font-size:clamp(2.1rem,3.6vw,3.3rem);max-width:18ch}.sub{color:var(--muted);max-width:52ch;margin-top:12px}.small-head{font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.02em;margin-bottom:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--r);font-weight:700;text-decoration:none;cursor:pointer;border:1px solid transparent}.btn-solid{background:var(--accent);color:var(--accent-ink)}.btn-solid:hover{background:#245a51}.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}.btn-line:hover{background:var(--paper-2)}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:700;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--paper);border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;flex-shrink:0}.icon-btn:hover:not(:disabled){border-color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.field-err,.form-err{color:var(--error);font-size:.88rem;font-weight:600;min-height:0}.field-err:empty,.form-err:empty{display:none}.ch-hero{align-items:flex-end;padding-bottom:8vh}.hero-sheet{max-width:640px}.hero-sheet h1{font-size:clamp(2.6rem,5.6vw,5rem);line-height:.98;font-weight:500}.lede{margin-top:18px;max-width:50ch;color:var(--muted);font-size:1.05rem}.quick{margin-top:26px;display:grid;grid-template-columns:1.3fr 1fr .8fr auto;gap:10px;align-items:end}.quick label,.field label{display:grid;gap:6px;font-size:.82rem;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid rgba(38,34,27,.4);border-radius:var(--r);background:#fbf7ee;color:var(--ink);font-size:1rem}textarea{resize:vertical}input[aria-invalid]{border-color:var(--error);border-width:2px}.quick .field-err{grid-column:1 / -1}.hero-sheet .text-link{margin-top:8px}.scroll-cue{position:absolute;right:clamp(20px,4vw,64px);bottom:8vh;max-width:20ch;text-align:right;font:italic 500 1.25rem/1.2 var(--serif);color:var(--ink);background:var(--paper);padding:10px 14px;border-radius:var(--r)}.ch-rooms{justify-content:flex-end;align-items:center}.rooms-sheet{width:min(680px,100%)}.room-index{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}.room-row{width:100%;display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"num name price" "num kind price";column-gap:12px;align-items:baseline;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:16px 4px;cursor:pointer;min-height:72px}.rr-num{grid-area:num;font:italic 500 1.1rem var(--serif);color:var(--muted)}.rr-name{grid-area:name;font:500 clamp(1.8rem,3vw,2.5rem)/1 var(--serif);transition:color .2s ease}.rr-kind{grid-area:kind;color:var(--muted);font-size:.9rem;margin-top:4px}.rr-price{grid-area:price;font-size:.85rem;color:var(--muted);text-align:right;white-space:nowrap}.rr-price b{color:var(--ink);font-size:1rem}.room-row:hover .rr-name{color:var(--accent)}.room-row:hover .rr-name:after{content:" ·"}.ch-rates{align-items:center}.rates-sheet{width:100%;max-width:1200px;margin:0 auto}.unit-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 18px}.unit-tabs button{min-height:44px;padding:0 16px;border:1px solid var(--line);background:transparent;border-radius:var(--r);cursor:pointer;font:500 1.2rem var(--serif)}.unit-tabs button[aria-checked=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.rates-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(20px,3vw,40px);align-items:start}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-hint{font-size:.9rem;color:var(--muted);text-align:center}.cal-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.cal-title{font:600 1.35rem var(--serif);margin-bottom:8px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cd-h{font-size:.72rem;font-weight:700;color:var(--muted);text-align:center;padding-bottom:4px}.cd{position:relative;min-height:48px;border:1px solid transparent;background:#fbf7ee;border-radius:var(--r);display:grid;place-content:center;text-align:center;cursor:pointer;padding:2px 0;line-height:1.1}.cd span{font-weight:700;font-size:.95rem}.cd small{font-size:.62rem;color:var(--muted)}.cd-pad{background:transparent;cursor:default}.cd:hover:not(:disabled){border-color:var(--ink)}.cd.past{background:transparent;color:#26221b73;cursor:not-allowed}.cd.booked{background:repeating-linear-gradient(135deg,#e3d7bf 0 4px,#efe4cf 4px 8px);color:var(--muted)}.cd.booked span{text-decoration:line-through}.cd.peak:not(.past):after{content:"";position:absolute;left:30%;right:30%;bottom:3px;height:2px;background:var(--dusk)}.cd.range{background:#d5e3dc}.cd.edge{background:var(--accent);color:var(--accent-ink)}.cd.edge small{color:var(--accent-ink)}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:16px;padding:0;margin:14px 0 0;font-size:.82rem;color:var(--muted)}.legend li{display:flex;align-items:center;gap:8px}.lg{width:16px;height:16px;border-radius:2px;display:inline-block}.lg-free{background:#fbf7ee;border:1px solid var(--line)}.lg-booked{background:repeating-linear-gradient(135deg,#d8cbb0 0 3px,#efe4cf 3px 6px)}.lg-peak{background:var(--dusk);height:3px}.calc{background:var(--paper-2);border-radius:var(--r);padding:22px;position:sticky;top:20px}.calc-unit{font-size:2rem}.calc-dates{color:var(--muted);font-size:.92rem;min-height:1.4em;margin:4px 0 12px}.step{display:grid;grid-template-columns:1fr 44px 34px 44px;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--line)}.step-l{font-size:.92rem}.step output{text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.calc-out{margin-top:14px}.calc-empty{color:var(--muted);font-size:.95rem;padding:14px;border:1px dashed rgba(38,34,27,.35);border-radius:var(--r)}.calc-err{color:var(--error);font-weight:600;padding:12px 14px;border:1px solid var(--error);border-radius:var(--r);background:#f7e6dc}.calc-lines{margin:0}.cl{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem}.cl dt{color:var(--muted)}.cl dd{margin:0;font-variant-numeric:tabular-nums}.nights{margin:6px 0 10px;font-size:.85rem}.nights summary{cursor:pointer;color:var(--accent);font-weight:700;min-height:44px;display:flex;align-items:center}.nights ul{list-style:none;padding:0;margin:0;max-height:180px;overflow:auto}.nights li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px dotted var(--line)}.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--ink);padding-top:12px}.calc-total b{font:600 2rem var(--serif);font-variant-numeric:tabular-nums}.calc-dep{display:flex;justify-content:space-between;color:var(--muted);font-size:.92rem;margin:2px 0 16px}.calc .btn{width:100%}.season-table{margin-top:32px;border-top:1px solid var(--line);padding-top:18px}.sr{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:10px;padding:8px 0;border-bottom:1px dotted var(--line);font-variant-numeric:tabular-nums;font-size:.92rem}.sr-head span{display:grid;font-size:.85rem}.sr-head small{color:var(--muted);font-size:.72rem}.sr-name{font:600 1.15rem var(--serif)}.ch-amen{align-items:center}.amen-sheet{width:min(900px,100%)}.amen-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px 36px;margin-top:26px}.amen-g h3{font-size:1.5rem;font-style:italic;margin-bottom:10px}.amen-g ul{list-style:none;padding:0;margin:0}.amen-g li{display:grid;grid-template-columns:auto 1fr;gap:0 8px;padding:8px 0;border-bottom:1px solid var(--line)}.an{font-weight:700;font-size:.95rem}.dots{border-bottom:1px dotted rgba(38,34,27,.4);align-self:end;margin-bottom:6px}.ao{grid-column:1 / -1;color:var(--muted);font-size:.86rem}.ch-map{align-items:center;justify-content:flex-end}.map-sheet{width:min(1060px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px}.spot-list{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line)}.spot-list button{width:100%;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;padding:8px 6px}.spot-list button small{color:var(--muted);white-space:nowrap}.spot-list button[aria-pressed=true]{background:var(--paper-3);font-weight:700}.map-fig{position:relative}.map{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line)}.m-bg{fill:#eadfc8}.m-terr{fill:none;stroke:#8fa769;stroke-width:.6}.m-river{fill:none;stroke:#7fa8a2;stroke-width:1.6}.m-road{fill:none;stroke:#fbf7ee;stroke-width:1.4;stroke-linecap:round}.m-home circle{fill:var(--accent);stroke:var(--paper);stroke-width:1}.m-home text{font:italic 600 4px var(--serif);fill:var(--ink)}.m-pin{cursor:pointer;outline:none}.m-lbl{font:700 3.4px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#eadfc8;stroke-width:1.2px}.m-pin .hit{fill:transparent}.m-pin .dot{fill:var(--paper);stroke:var(--ink);stroke-width:.8}.m-pin:hover .dot,.m-pin.on .dot{fill:var(--ink)}.m-pin:focus-visible .hit{stroke:var(--accent);stroke-width:.8}.spot-card{margin-top:14px;padding:16px 18px;background:var(--paper-2);border-radius:var(--r)}.spot-card h3{font-size:1.6rem}.sc-kind{font-size:.8rem;font-weight:700;color:var(--muted)}.sc-dist{font-weight:700;margin:4px 0 6px}.ch-rules{align-items:center;justify-content:space-between;gap:32px}.dusk-quote{margin:0;max-width:17ch;align-self:flex-start;font:italic 500 clamp(1.8rem,3vw,2.7rem)/1.12 var(--serif);color:var(--paper);background:var(--ink);padding:26px 30px;border-radius:var(--r)}.rules-sheet{width:min(560px,100%)}.rules{list-style:none;counter-reset:r;padding:0;margin:20px 0 0}.rules li{counter-increment:r;display:grid;grid-template-columns:40px 1fr;column-gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.rules li:before{content:counter(r);grid-row:span 2;font:italic 500 2rem/1 var(--serif);color:var(--accent)}.rules h3{font:700 1rem/1.3 var(--sans)}.rules p{color:var(--muted);font-size:.92rem;margin-top:3px}.ch-reviews{flex-direction:column;justify-content:center;gap:28px}.reviews-head{background:var(--paper);padding:22px 26px;border-radius:var(--r);width:fit-content;max-width:100%;border:1px solid var(--line)}.sample-flag{margin-top:10px;font-size:.85rem;font-weight:700;color:var(--ink);background:var(--paper-3);padding:6px 10px;border-radius:var(--r)}.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.review{position:relative;margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--lift)}.review:nth-child(2){margin-top:64px}.review:nth-child(3){margin-top:24px}.review blockquote{margin:10px 0 16px;font:italic 500 1.35rem/1.3 var(--serif)}.review figcaption{display:grid;font-size:.85rem;color:var(--muted)}.review figcaption b{color:var(--ink)}.sample-tag{font-size:.72rem;font-weight:800;letter-spacing:.04em;border:1px solid var(--ink);padding:2px 6px;border-radius:2px}.ch-faq{align-items:center}.faq-sheet{width:min(760px,100%)}.faq{margin-top:20px;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 1.25rem/1.25 var(--serif);list-style:none;padding:10px 2px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 1.5rem var(--sans);color:var(--accent)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);padding:0 2px 16px;max-width:62ch}.ch-book{align-items:center;justify-content:center;padding-bottom:16vh}.book-sheet{width:min(860px,100%)}.book-summary{margin:22px 0;padding:18px 20px;border:1px solid var(--ink);border-radius:var(--r);display:grid;gap:4px}.book-summary.is-empty{border-style:dashed;justify-items:start;gap:12px;color:var(--muted)}.bs-unit{font:600 1.6rem var(--serif)}.bs-total b{font:600 1.6rem var(--serif);margin-right:10px}.bs-total span{color:var(--muted);font-size:.9rem}.book-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.field{display:grid;gap:4px;align-content:start}.field-wide{grid-column:1 / -1}.hint{font-size:.78rem;color:var(--muted)}.btn-wa{justify-self:start}.book-done{margin-top:20px;display:grid;gap:12px;justify-items:start;padding:18px;background:#e3eee8;border-radius:var(--r);outline:none}.wa-preview{margin:0;white-space:pre-wrap;font:.85rem/1.5 var(--sans);background:var(--paper);padding:14px;border-radius:var(--r);width:100%}.foot{position:relative;z-index:2;margin-left:var(--rail);background:var(--ink);color:var(--paper);padding:44px clamp(20px,4vw,64px);display:grid;grid-template-columns:auto 1fr;gap:10px 40px}.foot-brand{font:500 2.2rem var(--serif);grid-row:span 3}.foot-brand em{color:#9cc9bd}.foot address{font-style:normal;color:#cfc3aa}.foot-links{display:flex;flex-wrap:wrap;gap:4px 22px}.foot-links a{color:var(--paper);min-height:44px;display:inline-flex;align-items:center}.foot-note{color:#cfc3aa;font-size:.85rem}.room-sheet{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(460px,100%);max-width:100%;border:0;border-left:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink)}.room-sheet::backdrop{background:#26221b2e}.room-sheet[open]{animation:rs-in .45s cubic-bezier(.2,.7,.2,1)}@keyframes rs-in{0%{transform:translate(40px);opacity:0}}.rs-inner{padding:22px 26px 32px}.rs-top{display:flex;justify-content:space-between;align-items:center}.rs-top .stamp{margin:0}.room-sheet h2{font-size:3rem;margin-top:8px}.rs-blurb{margin-top:12px;color:var(--muted)}.rs-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:20px 0}.rs-specs dt{font-size:.78rem;font-weight:700;color:var(--muted)}.rs-specs dd{margin:0;font-weight:600}.rs-plan{margin:0 0 16px}.plan{width:100%;background:#fbf7ee;border:1px solid var(--line);border-radius:var(--r)}.pr{fill:#f3ead8;stroke:var(--ink);stroke-width:.7}.pr.pool{fill:#a8d4cc}.pr.garden{fill:#cbd8ae}.plan text{font:600 4.2px var(--sans);fill:var(--ink)}.rs-plan figcaption{font-size:.78rem;color:var(--muted);margin-top:6px}.rs-feat{padding-left:18px;margin:0 0 16px}.rs-feat li{padding:3px 0}.rs-price{margin-bottom:14px}.rs-price b{font:600 1.6rem var(--serif)}.rs-cta{width:100%}@media(max-width:1180px){.rates-grid{grid-template-columns:1fr}.calc{position:static}.reviews{grid-template-columns:1fr 1fr}.review:nth-child(3){margin-top:0}}@media(max-width:900px){:root{--rail: 0px}.rail{display:none}.topbar{display:flex;position:fixed;z-index:10;top:0;left:0;right:0;height:56px;align-items:center;gap:10px;justify-content:space-between;padding:0 12px 0 16px;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{font:500 1.45rem/44px var(--serif);color:var(--ink);text-decoration:none;min-height:44px;display:block;white-space:nowrap}.clock{font-size:.72rem;color:var(--muted);padding:4px 10px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}.clock b{font-size:1rem}.dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:10;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.dock a{min-height:56px;display:grid;place-items:center;text-align:center;font-size:.78rem;font-weight:700;color:var(--ink);text-decoration:none;padding:0 2px;line-height:1.15}.dock a[aria-current]{box-shadow:inset 0 3px 0 var(--accent);color:var(--accent)}.dock .dock-book{background:var(--accent);color:var(--accent-ink)}.dock .dock-book[aria-current]{color:var(--accent-ink);box-shadow:inset 0 3px 0 var(--ink)}html{scroll-padding-top:64px}main{padding-top:56px}.ch{padding:34vh 16px 10vh;min-height:auto}.ch-hero{padding-top:38vh;min-height:100svh}.foot{padding-bottom:calc(88px + env(safe-area-inset-bottom));grid-template-columns:1fr}.foot-brand{grid-row:auto}.scroll-cue{position:static;margin-top:12px;text-align:left;max-width:none}.ch-hero{flex-direction:column;justify-content:flex-end;align-items:stretch}.map-sheet{grid-template-columns:1fr}.ch-rules{flex-direction:column;align-items:stretch}.dusk-quote{max-width:none}.book-form{grid-template-columns:1fr 1fr}.room-sheet{margin:auto 0 0;width:100%;height:auto;max-height:68dvh;border-left:0;border-top:1px solid var(--line)}@keyframes rs-in{0%{transform:translateY(40px);opacity:0}}}@media(max-width:600px){.ch{padding-left:0;padding-right:0}.sheet,.reviews-head,.dusk-quote{border-radius:0;border-left:0;border-right:0}.sheet{padding:24px 14px}.quick{grid-template-columns:1fr 1fr}.quick label:first-child,.quick .btn{grid-column:1 / -1}.reviews{grid-template-columns:1fr;padding:0 16px}.review:nth-child(n){margin-top:0}.reviews-head{width:auto}.room-row{grid-template-columns:34px 1fr;grid-template-areas:"num name" "num kind" "num price"}.rr-price{text-align:left;margin-top:4px}.sr-head{display:none}.sr{grid-template-columns:1fr 1fr}.sr-name{grid-column:1 / -1}.sr span[data-s]:before{content:attr(data-s) " ";color:var(--muted);font-size:.78rem;display:block}.book-form{grid-template-columns:1fr}.btn-wa{justify-self:stretch;text-align:left}.calc{padding:16px 12px}.cd small{display:none}.scroll-cue{margin:12px 16px 0}.dusk-quote{padding:22px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
