/* styles.css */
:root{--ink:#233b30;--deep:#13271e;--paper:#f4f0e7;--white:#fffdf6;--sage:#d8ded0;--gold:#ecc69b;--muted:#616b5f;--line:#c9cec0;--display:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif;--gutter:clamp(24px,4.2vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation}button{border-radius:0}img{display:block;width:100%;object-fit:cover}button:disabled{cursor:wait}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.025em}h2{font-size:clamp(42px,5.1vw,82px)}em{font-weight:400}button span,a span{transition:transform .25s}button:hover>span:last-child,a:hover>span:last-child{transform:translate(2px,-2px)}[hidden]{display:none!important}:focus-visible{outline:3px solid #b9793b;outline-offset:5px}.stage :focus-visible,.header :focus-visible{outline-color:var(--gold)}::selection{color:var(--white);background:var(--ink)}.skip{position:fixed;left:20px;top:-100px;z-index:100;padding:16px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.17em}.button{border:1px solid transparent;min-height:50px;padding:15px 23px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:600;transition:background .25s,color .25s}.button>span{font-size:20px;font-weight:400;line-height:1}.light{background:var(--paper);color:var(--ink)}.light:hover{background:var(--gold)}.dark{background:var(--ink);color:var(--white)}.dark:hover{background:#365844}.underlink{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:0;border-bottom:1px solid currentColor;background:none;padding:13px 0 10px;font:500 13px var(--sans);min-height:44px}.underlink span{font-size:21px}.underlink:hover{color:#9a6334}
.header{position:fixed;inset:0 0 auto;z-index:40;color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:19px var(--gutter);gap:24px;border-bottom:1px solid #ffffff2e;background:linear-gradient(#14251dd9,#14251d0a);transition:background .3s}.header.on-content{background:var(--paper);color:var(--ink);border-color:var(--line)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand svg{width:44px;height:39px;stroke:currentColor;fill:none;stroke-width:1.4}.brand>span{font-size:12px;font-weight:600;letter-spacing:.11em}.brand small{display:block;font-size:8px;letter-spacing:.36em;text-align:center;font-weight:400;margin-top:2px}.header nav{display:flex;gap:32px;font-size:12px}.header nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.header nav a:hover{border-color:currentColor}.header-book{min-height:46px;padding:11px 20px}.header.on-content .header-book{background:var(--ink);color:var(--paper)}
.journey{height:650svh;background:var(--deep)}.stage{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;isolation:isolate;color:var(--white)}.scene-media,.shade{position:absolute;inset:0;z-index:-2}.scene-media img,.scene-media video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.scene-media video{opacity:0}.scene-media video.ready{opacity:1}#outlook{opacity:0;transform:scale(1.18);will-change:transform}.shade{z-index:-1;background:linear-gradient(90deg,rgba(10,25,15,.6),transparent 65%),linear-gradient(0deg,#10291ed4,transparent 43%,#14261b25);pointer-events:none}.cloud{position:absolute;inset:-20%;pointer-events:none;opacity:.28;background:radial-gradient(ellipse at 8% 38%,#e8e2d7 0,transparent 36%),radial-gradient(ellipse at 24% 0%,#e8e2d7 0,transparent 35%);filter:blur(18px);will-change:transform,opacity}.cloud-right{transform:scaleX(-1)}.scene-top{position:absolute;left:var(--gutter);right:var(--gutter);top:119px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;font-weight:500}.scene-top i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin:0 9px 2px 0}.concept{opacity:.8}.chapter{position:absolute;left:var(--gutter);top:25%;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .35s,transform .55s,visibility .35s;max-width:650px}.chapter.active{opacity:1;visibility:visible;transform:none}.chapter .eyebrow{color:var(--gold);margin-bottom:20px}.chapter h1,.chapter h2{font-size:clamp(78px,8.8vw,150px);line-height:.88;letter-spacing:-.025em}.chapter em{color:#ffedd8}.description{margin-top:24px;font-size:14px;line-height:1.7;color:#fffaf2}.discover{display:flex;align-items:center;gap:14px;background:none;border:0;color:inherit;margin-top:22px;padding:0;font-size:9px;font-weight:600;letter-spacing:.12em;min-height:46px}.circle{display:grid;place-items:center;height:38px;width:38px;border:1px solid #ffffff7f;border-radius:50%;font-size:18px}.villa-copy{top:auto;bottom:220px}.villa-copy h2{font-size:clamp(76px,8.5vw,128px)}.villa-subtitle{font:italic 29px/1.1 var(--display);margin-top:12px}.villa-copy .description{margin-top:13px;font-size:13px}.villa-copy .underlink{margin-top:12px;color:var(--white)}.scene-nav{position:absolute;right:var(--gutter);top:29%;display:flex;flex-direction:column;align-items:center;gap:4px}.scene-nav>span{font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl;margin-bottom:18px}.scene-nav button{width:38px;height:38px;border:1px solid #ffffff55;background:#10241f40;color:var(--white);font-size:10px;transition:background .3s,color .3s}.scene-nav button[aria-current]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.scene-nav button:hover{background:var(--gold);color:var(--ink)}.journey-bottom{position:absolute;bottom:16px;left:var(--gutter);right:var(--gutter)}.film-meta{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.13em;margin-bottom:16px}.progress{height:1px;flex:1;background:#ffffff45}.progress i{display:block;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left}#motion-toggle{background:transparent;border:0;border-bottom:1px solid #ffffff60;color:inherit;padding:10px 0;min-height:36px;font-size:10px}.booking-dock{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1.25fr .75fr 1fr 1fr .9fr 1.2fr;align-items:stretch}.dock-title{padding:19px 24px}.dock-title .eyebrow{font-size:8px;letter-spacing:.11em}.dock-title strong{display:block;font:27px/1.2 var(--display);margin-top:5px;white-space:nowrap}.booking-dock label{border-left:1px solid var(--line);padding:18px 17px 14px;display:flex;flex-direction:column;justify-content:center;font-size:8px;font-weight:600;letter-spacing:.11em}.booking-dock input,.booking-dock select{width:100%;min-width:0;border:0;background:none;color:var(--ink);font-size:12px;letter-spacing:0;padding:6px 0 0;min-height:30px;color-scheme:light}.booking-dock input::-webkit-calendar-picker-indicator{width:14px;margin:0;padding:0}.booking-dock .button{font-size:10px;padding:18px;gap:12px}.film-footnote{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.1em;margin-top:10px;opacity:.85}.mobile-dock{display:none}
.section-pad{padding:110px var(--gutter)}.welcome{display:grid;grid-template-columns:1fr 2.25fr;gap:40px}.welcome>.eyebrow{padding-top:12px}.welcome h2{font-size:clamp(45px,5.2vw,80px)}.welcome h2 em{color:#7c896f}.welcome-bottom{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:32px}.welcome p:not(.eyebrow){max-width:480px;font-size:14px;line-height:1.8;color:var(--muted)}.round-link{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);height:70px;width:70px;border-radius:50%;font-size:24px;transition:background .2s}.round-link:hover{background:var(--sage)}.villas{padding-top:35px}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{font-size:clamp(40px,4.5vw,67px)}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:280px;padding-bottom:3px}.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.villa-image{position:relative;width:100%;padding:0;border:0;background:var(--ink);overflow:hidden;display:block;aspect-ratio:1.03}.villa-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#14261a80,transparent 35%)}.villa-image img{height:100%;transition:transform .8s}.villa-image:hover img{transform:scale(1.045)}.villa-image>span{position:absolute;z-index:1;bottom:20px;left:20px;color:var(--white);font-size:9px;font-weight:600;letter-spacing:.11em}.villa-image>i{position:absolute;z-index:1;right:18px;bottom:17px;color:var(--white);font-size:25px;font-style:normal}.villa-name{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px}.villa-name h3{font-size:43px}.villa-name>span{font-size:8px;letter-spacing:.12em;text-align:right}.villa-card>p{font-size:12px;color:var(--muted);margin:10px 0 16px}.villa-details{display:flex;gap:8px;flex-wrap:wrap}.villa-details span{font-size:9px;border:1px solid var(--line);padding:5px 8px}.villa-card .underlink{margin-top:20px;width:100%;font-size:12px;border-color:var(--line)}.experience{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.experience-image{position:relative;overflow:hidden;min-height:700px}.experience-image img{height:100%;position:absolute;object-position:38% center}.experience-image>span{position:absolute;bottom:40px;left:var(--gutter);font-size:11px;letter-spacing:.2em;text-shadow:0 1px 9px #000}.experience-copy{padding:85px clamp(30px,5.5vw,90px)}.experience-copy>.eyebrow{color:var(--gold);margin-bottom:25px}.experience h2{font-size:clamp(40px,4vw,62px)}.experience-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:350px;margin-top:24px;color:#d4ddcf}.amenities{margin-top:32px}.amenities details{border-top:1px solid #ffffff32}.amenities details:last-child{border-bottom:1px solid #ffffff32}.amenities summary{list-style:none;display:flex;align-items:center;gap:18px;cursor:pointer;font-size:12px;min-height:66px}.amenities summary::-webkit-details-marker{display:none}.amenities summary>span{color:var(--gold);font-size:9px}.amenities summary>i{margin-left:auto;font-size:22px;font-weight:400;font-style:normal;transition:transform .2s}.amenities details[open] summary>i{transform:rotate(45deg)}.amenities details p{font-size:12px;color:#d4ddcf;padding:0 25px 22px 31px;line-height:1.8}.experience-copy>.underlink{font-size:12px;margin-top:22px;color:var(--paper)}.visit{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.visit>.eyebrow,.visit>div>.eyebrow{margin-bottom:22px}.visit h2{font-size:clamp(50px,5.5vw,84px)}.visit p{font-size:13px;color:var(--muted);margin:26px 0 13px;line-height:1.9}.visit .underlink{font-size:12px}.visit-plan{border:1px solid var(--line);padding:42px;text-align:center;background:#e7e9de}.sun-mark{font-size:42px;line-height:1;color:#8a6237}.visit-plan h3{font-size:48px;margin:20px 0}.visit-plan p{margin:17px 0 24px}.visit-plan .button{min-width:230px}.visit-plan small{display:block;font-size:10px;color:var(--muted);margin-top:17px}footer{background:var(--deep);color:var(--paper);padding:50px var(--gutter) 30px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-brand{font:40px var(--display)}.footer-brand>span{font:8px var(--sans);letter-spacing:.35em;display:block;margin-top:8px}footer>div{display:flex;justify-content:flex-end;gap:35px;align-items:center;font-size:12px}footer>p{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:25px;font-size:10px;color:#aab8ab;line-height:1.9}
dialog{border:0;padding:0;width:min(860px,calc(100% - 32px));max-height:calc(100svh - 40px);background:var(--paper);color:var(--ink);overflow:auto}dialog[open]{display:grid;grid-template-columns:.8fr 1fr}dialog::backdrop{background:#0d1e16bb;backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:10px;z-index:2;background:var(--paper);border:1px solid var(--line);border-radius:50%;height:40px;width:40px;font-size:26px;line-height:1}.booking-art{position:relative;min-height:570px;overflow:hidden}.booking-art img{position:absolute;height:100%;object-position:center}.booking-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#13271ebd)}.booking-art>span{position:absolute;bottom:32px;left:30px;color:var(--paper);z-index:1;font:38px/1 var(--display)}.booking-art>span em{display:block}.booking-content{padding:40px}.booking-content h2{font-size:54px;margin:14px 0 26px}.booking-content label{display:block;font-size:11px;font-weight:500}.booking-content input,.booking-content select{border:1px solid #b9c3b4;background:#fffaf2;color:var(--ink);border-radius:0;width:100%;min-width:0;min-height:45px;padding:9px;margin-top:6px;font-size:14px;color-scheme:light}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.field-note{font-size:10px;line-height:1.6;color:var(--muted);margin:11px 0 21px}.booking-content .button{width:100%}.prototype-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:13px}.booking-result{font-size:14px}#booking-result h3{font-size:38px;margin-top:13px}#booking-result p:not(.eyebrow){font-size:13px;line-height:1.7;margin:17px 0}#booking-result small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin:13px 0}body.dialog-open{overflow:hidden}.noscript-note{padding:30px;background:var(--gold)}
body.still-view .cloud,body.still-view #film,body.still-view #outlook{display:none}body.still-view .journey{height:100svh}body.still-view .chapter{transition:none}body.still-view .progress{visibility:hidden}
@media(min-width:1600px){.stage{max-height:none}.chapter{top:25%}.villa-copy{top:auto;bottom:245px}.booking-dock{min-height:108px}.journey-bottom{bottom:25px}}
@media(max-width:1200px){.dock-title{display:none}.booking-dock{grid-template-columns:.85fr 1fr 1fr .9fr 1.25fr}.booking-dock label:first-of-type{border-left:0}.concept{display:none}.chapter{top:24%}.villa-copy{top:auto;bottom:220px}.experience-copy{padding:65px 40px}.visit{gap:55px}.villa-name{align-items:start;flex-direction:column;gap:7px}.villa-name>span{text-align:left}}
@media(max-width:900px){.header nav{gap:20px}.header nav a:last-child{display:none}.brand>span{font-size:10px}.brand svg{width:35px}.chapter h1,.chapter h2{font-size:clamp(80px,11vw,110px)}.booking-dock{grid-template-columns:.9fr 1fr 1fr 1.2fr}.dock-time{display:none!important}.welcome{grid-template-columns:1fr;gap:28px}.welcome-bottom{max-width:720px}.section-heading{align-items:start;flex-direction:column;gap:20px}.villa-grid{gap:16px}.villa-image{aspect-ratio:.85}.villa-name h3{font-size:35px}.villa-card>p{min-height:40px}.villa-details span{font-size:8px}.experience-copy{padding:50px 30px}.experience-image{min-height:660px}.visit-plan{padding:32px 25px}.visit-plan h3{font-size:40px}footer>div{gap:20px}.section-pad{padding-top:85px;padding-bottom:85px}}
@media(max-width:640px){html{scroll-padding-top:80px}.header{padding:15px 20px;gap:12px}.brand svg{width:30px}.brand>span{font-size:9px}.brand small{font-size:6px}.header nav{display:none}.header-book{font-size:10px;min-height:42px;padding:10px 13px;gap:14px}.header-book span{font-size:17px}.journey{height:520svh}.stage{min-height:650px}.scene-top{top:100px;font-size:8px;letter-spacing:.09em;left:24px}.scene-media img,.scene-media video{object-fit:contain}.scene-media{background:#172b20}.scene-media:before{content:'';position:absolute;inset:-30px;background:url('assets/01-aerial-small.webp') center/cover;filter:blur(28px);opacity:.4}.scene-media #poster,.scene-media video,.scene-media #outlook{top:80px;height:58%;object-fit:cover}.scene-media #poster,.scene-media #outlook{object-position:50% center}.shade{background:linear-gradient(0deg,#142c23 8%,#142c2399 32%,transparent 65%,#142c231f)}.chapter{top:auto;bottom:195px;left:24px;right:60px}.chapter h1,.chapter h2{font-size:68px;line-height:.92}.chapter .eyebrow{font-size:8px;margin-bottom:16px}.description{font-size:12px;margin-top:18px;max-width:280px}.discover{margin-top:16px;font-size:8px;gap:10px}.circle{width:32px;height:32px}.villa-copy{bottom:199px}.villa-copy h2{font-size:73px}.villa-subtitle{font-size:24px}.villa-copy .description{font-size:12px}.villa-copy .underlink{margin-top:4px;font-size:12px}.scene-nav{right:16px;top:26%;gap:3px}.scene-nav>span{display:none}.scene-nav button{width:32px;height:36px;font-size:9px}.journey-bottom{left:24px;right:24px;bottom:17px}.film-meta{gap:12px;font-size:8px;margin-bottom:10px}.film-meta>span:first-child{max-width:110px}.booking-dock{display:none}.mobile-dock{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff40;padding-top:15px;gap:12px}.mobile-dock>span{font:24px var(--display)}.mobile-dock small{display:block;font:9px/1.5 var(--sans);margin-top:4px;color:#d8dfd0}.mobile-dock .button{font-size:10px;padding:12px;min-height:45px;gap:8px;flex-shrink:0}.film-footnote{font-size:7px;margin-top:12px}.film-footnote>span:last-child{display:none}.welcome{gap:24px}.section-pad{padding:65px 24px}.welcome h2{font-size:43px}.welcome-bottom{gap:25px;margin-top:24px}.welcome p:not(.eyebrow){font-size:13px}.round-link{height:44px;width:44px;font-size:18px}.villas{padding-top:15px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:44px}.section-heading>p{font-size:12px}.villa-grid{grid-template-columns:1fr;gap:45px}.villa-image{aspect-ratio:1.16}.villa-name{flex-direction:row;align-items:center;margin-top:19px}.villa-name h3{font-size:39px}.villa-card>p{min-height:0;font-size:13px}.villa-details span{font-size:10px}.villa-card .underlink{margin-top:15px}.experience{grid-template-columns:1fr}.experience-image{min-height:420px}.experience-copy{padding:50px 24px}.experience h2{font-size:42px}.experience-image>span{bottom:25px;font-size:10px}.visit{grid-template-columns:1fr;gap:40px}.visit h2{font-size:55px}.visit-plan{padding:35px}.visit-plan h3{font-size:43px}footer{grid-template-columns:1fr;padding:40px 24px;gap:25px}.footer-brand{font-size:36px}footer>div{justify-content:flex-start;flex-wrap:wrap;font-size:11px}footer>p{font-size:9px}.booking-art{display:none}dialog[open]{grid-template-columns:1fr}.booking-content{padding:32px 24px}.booking-content h2{font-size:44px;margin-bottom:22px}.booking-content input,.booking-content select{font-size:16px}.booking-content label{font-size:10px}.form-row{gap:10px}.booking-content .eyebrow{font-size:9px}.close{width:36px;height:36px}.booking-content .button{font-size:12px}body.still-view .journey{height:650px}}
@media(max-height:700px) and (min-width:641px){.stage{min-height:620px}.scene-top{top:100px}.chapter{top:23%}.chapter h1,.chapter h2{font-size:80px}.chapter .eyebrow{margin-bottom:14px}.description{margin-top:15px;font-size:12px}.discover{margin-top:15px}.villa-copy{top:auto;bottom:200px}.scene-nav{top:25%;gap:2px}.scene-nav>span{display:none}.scene-nav button{height:32px;width:32px}.booking-dock label{padding:13px}.film-meta{margin-bottom:9px}}
.booking-content,.booking-content label,.form-row{min-width:0}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}html{scrollbar-gutter:stable}.stage,.scene-media{overflow:clip}.chapter{transition:opacity .22s,transform .5s,visibility .22s}.chapter:not(.active){transition:opacity .12s,visibility .12s}body.still-view .journey{height:max(660px,100svh)}.mobile-skip{display:none}
@media(max-width:640px){dialog[open]{grid-template-columns:minmax(0,1fr)}.scene-media #poster,.scene-media video,.scene-media #outlook{object-fit:contain;height:42%;top:105px}.chapter{bottom:195px}.scene-nav{top:23%}.scene-nav button{min-height:36px}.mobile-skip{display:inline-flex;align-items:center;min-height:32px;font-size:9px}.film-footnote>span:nth-child(2){display:none}.film-footnote{margin-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.cloud{display:none}.reveal{opacity:1!important;transform:none!important}.villa-image:hover img{transform:none}}

/* site.css */
/* Shared, warm editorial language for the complete website prototype. */
button.text-link{border:0;border-bottom:1px solid currentColor}
:root{--border:#cbd0c2;--soft:#e8eade;--ochre:#9b6c37;--ease:cubic-bezier(.22,1,.36,1)}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{overflow-x:clip}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b67836;outline-offset:5px}a,button{touch-action:manipulation}img{max-width:100%}:is(.inner-page,.journey-page) main{padding-top:86px}.inner-page h1{font:clamp(66px,7.5vw,118px)/.96 var(--display);letter-spacing:-.045em}.inner-page h1 em,.inner-page h2 em,.stay-cta h2 em,.home-villas h2 em,.home-visit h2 em{color:#77816a;font-weight:400}.inner-page h2,.home-experience h2,.home-comforts h2,.home-visit h2{font:clamp(43px,4.7vw,72px)/1.03 var(--display);letter-spacing:-.025em}.inner-page h3{font:34px/1.1 var(--display)}.inner-page p{line-height:1.8}.content-wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1800px;margin-left:auto;margin-right:auto}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:50px;text-decoration:none}.button.dark{color:var(--paper);background:var(--ink);border:1px solid var(--ink)}.button.dark:hover{background:#3f5643}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;border-bottom:1px solid currentColor;font-size:13px;background:none;padding:8px 0;text-decoration:none}.text-link span{transition:transform .3s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}.quiet-link{font-size:12px;text-decoration:underline;text-underline-offset:5px}.small-note{font-size:12px!important;line-height:1.7!important;color:#5c685b}.small-note a{text-decoration:underline}.section-lead{max-width:600px}.section-lead .eyebrow{margin-bottom:20px}
.site-header{height:86px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--gutter);background:#f4f0e7f5;border-bottom:1px solid #233b3025;color:var(--ink);backdrop-filter:blur(12px)}.site-header .brand{flex-shrink:0;display:flex;align-items:center;gap:12px}.site-header .brand svg{width:42px;fill:none;stroke:currentColor;stroke-width:1.2}.site-header .brand>span{font-size:11px;letter-spacing:.12em}.site-header .brand small{display:block;font-size:7px;letter-spacing:.3em;margin-top:4px}.site-header nav{display:flex;gap:30px;font-size:12px}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:12px}.site-header .button{min-height:47px;font-size:12px;padding:12px 20px}.menu-toggle{display:none;width:44px;height:44px;font-size:23px;border:1px solid currentColor;background:none}.home-header{background:linear-gradient(#14261f8a,transparent);color:var(--paper);border-color:#ffffff30}.home-header .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.home-header.on-content{background:#f4f0e7f5;color:var(--ink)}.home-header.on-content .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.site-menu{inset:0 0 0 auto;margin:0;width:min(430px,100%);max-height:100svh;height:100svh;padding:30px;background:var(--paper);border:0}.site-menu[open]{display:flex;flex-direction:column;gap:30px;grid-template-columns:none}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-top button{font-size:30px;min-width:44px;min-height:44px;background:none;border:1px solid var(--border)}.site-menu nav{display:flex;flex-direction:column;gap:2px}.site-menu nav a{font:34px var(--display);padding:12px 0;border-bottom:1px solid var(--border)}.site-menu>p{margin-top:auto;font-size:9px;letter-spacing:.16em}.menu-open{overflow:hidden}
.page-intro{padding:90px var(--gutter) 60px;max-width:1800px;margin:auto}.page-intro>.eyebrow{margin-bottom:32px}.page-intro>p:not(.eyebrow){margin-top:28px;color:var(--muted)}.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:34px}.intro-bottom p{color:var(--muted);font-size:14px}.cards-section{padding-bottom:100px}.stay-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.stay-photo{position:relative;display:block;overflow:hidden;aspect-ratio:1/.98;background:var(--soft)}.stay-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.stay-photo:hover img{transform:scale(1.04)}.stay-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#13271e9c)}.stay-photo>span{position:absolute;bottom:22px;left:24px;z-index:1;color:white;font-size:9px;letter-spacing:.14em}.stay-photo i{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff8;border-radius:50%;background:#14271e55;color:white;font-size:20px;font-style:normal}.stay-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.stay-title h3{font:44px/1.1 var(--display);letter-spacing:-.02em}.stay-title>span{font-size:10px;color:var(--muted)}.stay-card>p{font-size:13px;margin:14px 0;color:var(--muted);min-height:42px}.stay-facts{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stay-card>.text-link{margin-top:12px}
.comparison{padding-top:85px;padding-bottom:100px;background:#e8eade}.comparison .section-lead p:last-child{margin-top:20px;color:var(--muted)}.compare-scroll{overflow-x:auto;margin-top:45px}.comparison table{width:100%;border-collapse:collapse;min-width:650px;text-align:left}.comparison th,.comparison td{padding:23px 20px;border-bottom:1px solid #bbc2b4;font-size:14px;font-weight:400}.comparison thead th:not(:first-child){font:36px var(--display)}.comparison tbody th{font-size:12px;font-weight:600}.comparison td a{text-decoration:underline;text-underline-offset:5px}.comparison>.small-note{margin-top:22px;max-width:700px}.dark-section{background:var(--ink);color:var(--paper);padding-top:90px;padding-bottom:85px;max-width:none}.dark-section>.eyebrow{color:var(--gold);margin-bottom:22px}.dark-section h2 em{color:#c1c9ac}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:55px 0 28px}.amenity-grid article{padding:27px 0;border-top:1px solid #ffffff40}.amenity-grid .eyebrow{font-size:8px;color:#d5c5a7}.amenity-grid h3{font:29px/1.1 var(--display);margin:25px 0 15px}.amenity-grid p{color:#d7ded1;font-size:13px;max-width:280px}.dark-section .small-note{color:#d7ded1}
.stay-cta{padding:95px 24px 100px;text-align:center;background:#e9e9dd url('assets/watercolor-landscape.webp') center 22%/cover;position:relative;isolation:isolate}.stay-cta:before{content:'';position:absolute;inset:0;background:#f4f0e7db;z-index:-1}.sun-icon{width:48px;height:48px;margin:0 auto 22px;color:#aa7a3d}.sun-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1}.stay-cta .eyebrow{margin-bottom:22px}.stay-cta h2{font:clamp(44px,5vw,77px)/1.1 var(--display);letter-spacing:-.025em}.stay-cta h2 em{display:block}.stay-cta p:not(.eyebrow){margin:24px auto 28px;font-size:13px;max-width:480px}.stay-cta .button{min-width:220px}
.site-footer{display:grid;grid-template-columns:1fr 1.5fr;padding:65px var(--gutter) 28px;gap:50px;background:var(--deep);color:var(--paper);max-width:none}.site-footer .footer-intro{display:block}.footer-intro>p{font-size:13px;color:#b9c5b8;margin-top:23px;line-height:1.8}.site-footer .footer-links{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:35px;font-size:12px}.footer-links>div{display:flex;flex-direction:column;gap:7px}.footer-links .eyebrow{color:#c4cbb6;margin-bottom:13px;font-size:9px}.footer-links a{padding:5px 0;line-height:1.7}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.site-footer .footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;border-top:1px solid #ffffff25;padding-top:25px;font-size:10px;color:#b9c5b8}.site-footer .media-credit{grid-column:1/-1;border:0;margin-top:-25px;padding:0;color:#9cac9d;font-size:9px;line-height:1.6}.no-js{padding:20px;text-align:center;background:var(--gold)}
.breadcrumb{display:flex;gap:15px;padding-top:30px;padding-bottom:25px;font-size:11px;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:5px}.villa-hero{display:grid;grid-template-columns:.75fr 1.25fr;min-height:620px;gap:45px;padding-bottom:45px}.villa-hero-copy{padding:45px 0;align-self:center}.villa-hero-copy .eyebrow{margin-bottom:28px}.villa-hero-copy h1{font-size:clamp(90px,10vw,160px)}.villa-hero-copy h1 em{display:block}.villa-hero-copy>p:not(.eyebrow){margin:30px 0;font-size:14px;max-width:270px}.villa-hero-copy .quiet-link{display:block;width:fit-content;margin-top:22px;padding:10px 0}.villa-hero-image{position:relative;min-height:550px;overflow:hidden}.villa-hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 54%}.villa-hero-image>span{position:absolute;bottom:20px;left:24px;font-size:9px;letter-spacing:.16em;color:white;text-shadow:0 1px 10px #000;background:#13271e80;padding:10px}.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);padding-top:28px;padding-bottom:28px;background:var(--soft)}.fact-strip>div{border-right:1px solid #aeb9a6;text-align:center;display:flex;flex-direction:column;gap:7px}.fact-strip>div:last-child{border:0}.fact-strip strong{font:26px var(--display);font-weight:400}.fact-strip span{font-size:8px;letter-spacing:.15em}
.editorial-split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,130px);align-items:center;padding-top:100px;padding-bottom:100px}.editorial-image{height:640px;position:relative}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy>.eyebrow{margin-bottom:25px}.editorial-copy>p:not(.eyebrow){max-width:420px;margin-top:25px;color:var(--muted);font-size:14px;line-height:1.9}.editorial-copy>.text-link{margin-top:25px}.villa-inclusions{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;padding-top:55px;padding-bottom:100px;align-items:center}.villa-inclusions h2{margin:25px 0 35px}.included-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:0;margin-bottom:25px}.included-list li{border-bottom:1px solid var(--border);padding:15px 0;font-size:13px}.included-list li:before{content:'✓';margin-right:10px;color:#738265}.villa-inclusions figure img{height:440px;object-fit:cover;width:100%}.villa-inclusions figcaption{font-size:10px;color:var(--muted);margin-top:12px}.arrival-note{background:var(--soft);padding-top:50px;padding-bottom:50px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.arrival-note h3{font-size:36px;margin-bottom:20px}.arrival-note p:not(.eyebrow){font-size:13px;max-width:630px;margin-bottom:12px}.other-stays{padding-top:90px;padding-bottom:90px}.other-stays .section-heading{margin-bottom:35px}.other-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.other-villa{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);padding-bottom:22px;gap:25px;align-items:center}.other-villa img{height:220px;width:100%;object-fit:cover}.other-villa .eyebrow{font-size:8px}.other-villa h3{font:45px var(--display);margin-top:18px;display:flex;justify-content:space-between}.other-villa h3 span{font:23px var(--sans)}
.photo-hero{height:calc(100svh - 86px);min-height:590px;max-height:900px;position:relative;color:white;isolation:isolate}.photo-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 48%;z-index:-2}.photo-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#12271eb3,transparent),linear-gradient(0deg,#12271e80,transparent 70%);z-index:-1}.photo-hero>div{position:absolute;left:var(--gutter);bottom:100px;right:24px}.photo-hero .eyebrow{margin-bottom:28px}.photo-hero h1{font-size:clamp(65px,7.5vw,116px)}.photo-hero h1 em{color:#efe1c8}.photo-hero .text-link{margin-top:35px}.photo-location{position:absolute;right:var(--gutter);bottom:30px;font-size:9px;letter-spacing:.19em}.center-intro{text-align:center;padding-top:100px;padding-bottom:80px}.center-intro .eyebrow{margin-bottom:27px}.center-intro p:last-child{margin-top:28px;font-size:14px;color:var(--muted)}.day-editorial{padding-bottom:100px}.day-row{display:grid;grid-template-columns:80px 1.2fr 1fr;gap:45px;align-items:center;margin-top:70px}.day-label{align-self:start}.day-label>span{font:54px var(--display);color:#78836e}.day-label p{font-size:8px;line-height:1.8;letter-spacing:.16em;margin-top:15px}.day-photo{height:470px}.day-photo img{width:100%;height:100%;object-fit:cover}.day-text{padding:0 3vw}.day-text p{max-width:360px;font-size:14px;color:var(--muted);margin-top:28px}.day-row:nth-child(2) .day-photo{order:3}.day-row:nth-child(2){grid-template-columns:80px 1fr 1.2fr}.day-row:nth-child(2) .day-text{order:2}
.gallery-intro{text-align:center;padding-bottom:45px}.journal-section{padding-bottom:90px}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:35px;padding-top:15px}.filter-bar button{min-height:44px;padding:10px 23px;background:none;border:1px solid var(--border);border-radius:30px;font-size:12px;transition:background .2s}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-bar>span{margin-left:auto;font-size:10px;color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journal-photo{display:block;position:relative;overflow:hidden;height:370px;background:var(--soft)}.journal-photo:nth-child(6n+1),.journal-photo:nth-child(6n+5){height:440px}.journal-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.journal-photo:hover img{transform:scale(1.04)}.journal-photo>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:white;background:linear-gradient(transparent,#10291cbb);padding:35px 20px 17px;font-size:10px;letter-spacing:.14em}.journal-photo i{font-style:normal;font-size:20px;line-height:1}.journal-section>.small-note{margin-top:28px;max-width:660px}.photo-viewer{width:min(1300px,calc(100% - 32px));padding:18px;background:#15261d;color:var(--paper);border:1px solid #ffffff35}.photo-viewer[open]{display:block}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:12px}.viewer-bar>div{display:flex;gap:8px}.viewer-bar button{width:44px;height:44px;border:1px solid #ffffff55;background:none;font-size:25px;color:var(--paper)}.photo-viewer figure{margin:0}.photo-viewer figure img{display:block;width:100%;height:min(70svh,850px);object-fit:contain}.photo-viewer figcaption{padding:18px 4px 4px;font-size:12px;color:#d6ddcd}.photo-viewer #photo-error{font-size:13px;padding:20px}.viewer-open{overflow:hidden}
.visit-hero{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:75px;padding-top:65px;padding-bottom:75px}.visit-hero .eyebrow{margin-bottom:30px}.visit-hero p:not(.eyebrow){max-width:375px;margin-top:30px;color:var(--muted);font-size:14px}.visit-hero .button{margin-top:30px}.visit-landscape{position:relative;height:650px}.visit-landscape img{width:100%;height:100%;object-fit:cover;object-position:35% center}.location-tag{position:absolute;bottom:22px;left:22px;right:22px;padding:16px;background:var(--paper);font-size:9px;letter-spacing:.18em;text-align:center}.arrival-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:85px;padding-bottom:100px;background:var(--soft)}.arrival-grid h2{margin-top:30px}.arrival-grid address{font-style:normal;font-size:14px;line-height:1.9;margin:30px 0}.arrival-cards article{display:grid;grid-template-columns:40px 1fr;gap:25px;border-top:1px solid #b9c3b0;padding:28px 0}.arrival-cards article>span{font:25px var(--display);color:#65765d}.arrival-cards h3{font-size:29px;margin-bottom:15px}.arrival-cards p{font-size:13px;max-width:440px;color:var(--muted)}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:100px;padding-bottom:100px}.contact-section h2{margin-top:30px}.contact-section>div>p:not(.eyebrow){max-width:370px;margin-top:25px;color:var(--muted);font-size:14px}.contact-options{align-self:center}.contact-options>a{display:block;position:relative;padding:30px 40px 30px 0;border-top:1px solid var(--border)}.contact-options strong{display:block;font:38px var(--display);margin-top:10px}.contact-options i{position:absolute;right:0;top:50%;font-style:normal;font-size:25px}.contact-options>p{font-size:11px!important}
.faq-layout{display:grid;grid-template-columns:280px 1fr;gap:95px;padding-top:25px;padding-bottom:100px}.faq-layout aside{align-self:start;position:sticky;top:115px}.faq-layout aside label{display:block;font-size:11px;margin-bottom:9px}.faq-layout input{width:100%;padding:14px;border:1px solid var(--border);background:transparent;color:var(--ink);font:14px var(--sans)}.faq-filters{display:flex;flex-direction:column;align-items:stretch;margin:30px 0}.faq-filters button{min-height:46px;text-align:left;padding:12px 16px;border:0;border-left:2px solid transparent;background:none;font-size:12px}.faq-filters button[aria-pressed=true]{border-left-color:var(--ink);background:var(--soft)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary,.home-questions summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-size:16px;list-style:none}.faq-item summary::-webkit-details-marker,.home-questions summary::-webkit-details-marker{display:none}.faq-item summary span,.home-questions summary span{font-size:24px;font-weight:400;flex-shrink:0;transition:transform .2s}.faq-item[open] summary span,.home-questions details[open] summary span{transform:rotate(45deg)}.faq-item>p{padding:0 35px 28px 0;font-size:14px;color:var(--muted);max-width:740px}.faq-layout #faq-count{margin-bottom:15px}.faq-layout #faq-empty{padding:30px 0}.help-band{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:60px;padding-bottom:60px;background:var(--soft)}.help-band h2{font-size:52px}.reading-page{max-width:950px;padding-bottom:100px}.reading-page h2{font-size:36px;margin:40px 0 20px}.reading-page p{font-size:15px;color:var(--muted);margin:18px 0}.reading-page .button{margin-top:15px}
.booking-heading{padding-top:65px;padding-bottom:42px}.booking-heading .eyebrow{margin-bottom:22px}.booking-heading h1{font-size:clamp(65px,7vw,100px)}.booking-heading>p:last-child{margin-top:23px;color:var(--muted);font-size:14px}.planner{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:70px;padding-bottom:100px;align-items:start}.planner-steps{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:0 0 24px;margin-bottom:36px;border-bottom:1px solid var(--border);font-size:12px}.planner-steps li{display:flex;align-items:center;gap:10px;color:var(--muted)}.planner-steps li span{width:29px;height:29px;border:1px solid var(--border);display:grid;place-items:center;border-radius:50%;font-size:10px}.planner-steps li[aria-current]{color:var(--ink);font-weight:600}.planner-steps li[aria-current] span{background:var(--ink);color:white;border-color:var(--ink)}.planner h2{font-size:42px;line-height:1.15;margin-bottom:27px}.villa-options{border:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:30px}.villa-option{position:relative;display:block;cursor:pointer;border:1px solid var(--border);background:#fff9ef;overflow:hidden}.villa-option input{position:absolute;top:10px;left:10px;width:18px;height:18px;z-index:1;accent-color:var(--ink)}.villa-option img{height:110px;width:100%;object-fit:cover}.villa-option>span{display:block;font:24px var(--display);padding:12px}.villa-option:has(input:checked){border:2px solid var(--ink);background:var(--soft)}.villa-option:has(input:focus-visible){outline:3px solid #b67836;outline-offset:3px}.villa-option input:focus-visible{outline:0}.villa-option small{font:11px var(--sans);margin-left:12px;color:var(--muted)}.any-villa{grid-column:1/-1;padding-left:30px;min-height:50px;display:flex;align-items:center}.any-villa input{top:17px}.any-villa>span{font:13px var(--sans)}.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin-bottom:15px}.planner label{font-size:12px}.planner-fields input,.note-label textarea{display:block;width:100%;min-width:0;border:1px solid #b7c0b0;background:#fffcf5;padding:14px;font:15px var(--sans);color:var(--ink);margin-top:8px;min-height:50px;border-radius:0;color-scheme:light}.planner-fields>label{min-width:0}.planner .small-note{margin:9px 0}.note-label{display:block;margin:24px 0}.note-label>span{color:var(--muted)}.note-label textarea{resize:vertical;min-height:100px}.planner .form-message{font-size:13px;color:#984226;margin-bottom:16px}.planner form>.button{width:100%}.planner-aside{position:sticky;top:110px;background:var(--soft)}.planner-aside>img{width:100%;height:265px;object-fit:cover}.planner-aside>div{padding:35px}.planner-aside h3{font-size:46px;line-height:1.1;margin:20px 0}.planner-aside h3 em{display:block}.planner-aside p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.aside-rule{height:1px;background:var(--border);margin:23px 0}.planner-aside .text-link{margin-top:20px}.planner-aside small{display:block;margin-top:22px;font-size:11px}.planner-aside small a{text-decoration:underline}.review-details{margin:28px 0}.review-details>div{display:flex;gap:30px;justify-content:space-between;border-bottom:1px solid var(--border);padding:17px 0;font-size:14px}.review-details dt{color:var(--muted);font-size:12px}.review-details dd{text-align:right;max-width:70%;overflow-wrap:anywhere}.notice{background:var(--soft);padding:18px;font-size:13px;margin:20px 0}.planner-buttons{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.inquiry-text{font:14px/1.9 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:25px;margin:25px 0;color:var(--ink)}.contact-shortcuts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:30px 0}.connection-mark{width:45px;height:45px;display:block;margin-bottom:25px}.connection-mark svg{width:100%;height:100%;stroke:#a77a3e;stroke-width:1.2}
.home-villas{padding-top:85px;padding-bottom:100px}.home-villas .section-heading{margin-bottom:40px}.home-villas .section-heading h2{font:clamp(45px,5vw,76px)/1.08 var(--display)}.home-villas .section-heading .eyebrow{margin-bottom:22px}.home-experience{background:var(--ink);color:var(--paper);max-width:none}.home-experience h2 em{color:#bfc9b1}.home-experience .editorial-copy>p:not(.eyebrow){color:#d0d9ca}.home-experience .eyebrow{color:var(--gold)}.home-experience .editorial-image{height:550px}.home-comforts{text-align:center;padding-top:85px;padding-bottom:85px}.home-comforts .eyebrow{margin-bottom:24px}.comfort-line{display:flex;justify-content:center;gap:0;margin:35px auto 25px}.comfort-line span{border-right:1px solid var(--border);padding:8px 28px;font-size:13px}.comfort-line span:last-child{border:0}.guest-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center;padding-top:70px;padding-bottom:70px;background:var(--soft)}.guest-photo img{height:460px;width:100%;object-fit:cover}.guest-story blockquote{font:clamp(34px,3.7vw,56px)/1.16 var(--display);margin:27px 0 30px;max-width:660px}.guest-story>div>p:not(.eyebrow){font-size:12px}.guest-story p span{color:var(--muted)}.guest-story .text-link{margin-top:25px;font-size:11px}.home-visit{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:100px;padding-bottom:100px;align-items:center}.home-visit h2{margin-top:25px}.home-visit>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:27px 0 20px;line-height:1.8}.home-questions details{border-bottom:1px solid var(--border)}.home-questions details>p{font-size:13px;color:var(--muted);line-height:1.8}.home-questions details>a{font-size:12px;display:inline-block;padding:18px 0;text-decoration:underline}.home-questions>.text-link{margin-top:24px}.home-questions summary{font-size:14px}
@media(prefers-reduced-motion:no-preference){[data-enter].enter-ready{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform 1s var(--ease)}[data-enter].enter-ready.entered{opacity:1;transform:none}}
@media(min-width:1700px){.site-header,.site-footer{padding-left:max(var(--gutter),calc((100vw - 1650px)/2));padding-right:max(var(--gutter),calc((100vw - 1650px)/2))}}
@media(max-width:1100px){.site-header nav{gap:20px}.site-header .brand>span{font-size:10px}.site-header .brand svg{width:34px}.site-header .button{padding:12px 16px}.stay-cards{gap:20px}.stay-title{align-items:flex-start;flex-direction:column;gap:8px}.stay-card>p{min-height:62px}.editorial-split{gap:45px}.editorial-image{height:560px}.villa-inclusions{gap:45px}.day-row,.day-row:nth-child(2){gap:25px;grid-template-columns:55px 1.2fr 1fr}.day-photo{height:430px}.day-text{padding:0}.visit-hero,.arrival-grid,.contact-section{gap:45px}.faq-layout{gap:50px;grid-template-columns:230px 1fr}.planner{gap:35px}.planner-aside>div{padding:25px}.home-visit,.guest-story{gap:45px}.site-footer{grid-template-columns:1fr}.site-footer .footer-links{justify-content:start}.journal-photo{height:300px}.journal-photo:nth-child(6n+1),.journal-photo:nth-child(6n+5){height:370px}}
@media(max-width:900px){.site-header{height:76px;padding:12px 24px}.site-header nav{display:none!important}.menu-toggle{display:block}:is(.inner-page,.journey-page) main{padding-top:76px}.page-intro{padding-top:65px}.stay-cards{grid-template-columns:1fr;gap:48px}.stay-card{display:grid;grid-template-columns:1.1fr 1fr;column-gap:28px;align-items:start}.stay-photo{grid-row:1/5;aspect-ratio:1;min-height:300px}.stay-title{margin-top:14px}.stay-card>p{min-height:0;margin:14px 0}.stay-facts{align-self:start}.stay-card>.text-link{justify-self:start;margin-top:5px}.amenity-grid{grid-template-columns:1fr 1fr;gap:20px 40px}.villa-hero{gap:30px;min-height:530px}.villa-hero-image{min-height:490px}.villa-hero-copy h1{font-size:90px}.villa-hero-copy .button{font-size:11px;padding:15px}.fact-strip strong{font-size:22px}.editorial-split{gap:30px}.editorial-image{height:480px}.villa-inclusions{gap:30px}.villa-inclusions figure img{height:380px}.included-list{grid-template-columns:1fr}.other-villa{grid-template-columns:1fr;gap:18px}.other-villa h3{margin-top:10px}.day-row,.day-row:nth-child(2){grid-template-columns:45px 1fr;gap:25px}.day-photo,.day-row:nth-child(2) .day-photo{grid-column:2;grid-row:1;order:initial;height:450px}.day-text,.day-row:nth-child(2) .day-text{grid-column:2;order:initial}.day-text h2{font-size:50px}.day-text p{max-width:none;margin-top:20px}.journal-grid{grid-template-columns:1fr 1fr}.journal-photo,.journal-photo:nth-child(6n+1),.journal-photo:nth-child(6n+5){height:360px}.visit-landscape{height:550px}.visit-hero{gap:30px}.visit-hero h1{font-size:70px}.arrival-grid{gap:40px}.contact-section{gap:30px}.planner{grid-template-columns:1fr}.planner-aside{display:grid;grid-template-columns:1fr 1fr;position:static}.planner-aside>img{height:100%;min-height:350px}.planner-aside>div{padding:30px}.planner-fields input{font-size:16px}.home-experience .editorial-image{height:520px}.comfort-line{display:grid;grid-template-columns:1fr 1fr;max-width:550px}.comfort-line span{border:0;padding:12px}.guest-story{gap:35px}.guest-photo img{height:420px}.home-visit{gap:40px}.photo-hero{height:720px;min-height:0}.photo-hero>div{bottom:70px}.photo-hero h1{font-size:78px}}
@media(max-width:640px){:root{--gutter:22px}.site-header{height:72px;padding:12px 16px;gap:8px}.site-header .brand{gap:8px}.site-header .brand svg{width:28px}.site-header .brand>span{font-size:8px;letter-spacing:.08em}.site-header .brand small{font-size:5px}.site-header .button{font-size:10px;padding:10px 12px;min-height:43px;gap:10px}.nav-actions{gap:8px}.menu-toggle{width:40px;height:43px;min-width:40px;font-size:20px}:is(.inner-page,.journey-page) main{padding-top:72px}.inner-page h1{font-size:61px;line-height:1}.inner-page h2,.home-experience h2,.home-comforts h2,.home-visit h2{font-size:44px;line-height:1.07}.page-intro{padding-top:48px;padding-bottom:38px}.page-intro>.eyebrow{font-size:8px;margin-bottom:24px}.intro-bottom{display:block;margin-top:24px}.intro-bottom>.text-link{margin-top:18px}.page-intro>p:not(.eyebrow){font-size:13px}.cards-section{padding-bottom:60px}.stay-card{display:block}.stay-photo{aspect-ratio:1.05;min-height:0}.stay-title{display:flex;flex-direction:row;align-items:center;margin-top:20px}.stay-title h3{font-size:39px}.stay-title>span{font-size:9px}.stay-card>p{margin:14px 0 17px}.stay-card>.text-link{margin-top:14px}.stay-photo>span{font-size:8px;left:18px}.stay-facts{font-size:10px}.comparison{padding-top:55px;padding-bottom:55px}.compare-scroll{margin-top:25px}.comparison th,.comparison td{padding:18px 14px}.comparison thead th:not(:first-child){font-size:30px}.dark-section{padding-top:55px;padding-bottom:55px}.amenity-grid{gap:18px;margin:35px 0 10px}.amenity-grid article{padding-top:18px}.amenity-grid .eyebrow{font-size:7px;letter-spacing:.08em}.amenity-grid h3{font-size:27px;margin:20px 0 13px}.amenity-grid p{font-size:12px}.stay-cta{padding:60px 22px}.stay-cta h2{font-size:45px}.stay-cta .eyebrow{font-size:8px}.stay-cta p:not(.eyebrow){font-size:12px}.site-footer{padding:45px 22px 25px;gap:32px}.site-footer .footer-links{grid-template-columns:1fr 1fr;gap:30px 20px}.site-footer .footer-links>div:last-child{grid-column:1/-1}.site-footer .footer-bottom{font-size:9px;align-items:start;flex-direction:column;gap:12px}.site-footer .media-credit{margin-top:-12px}.footer-intro>p{margin-top:17px}.breadcrumb{padding-top:24px;padding-bottom:20px}.villa-hero{display:flex;flex-direction:column;gap:24px;padding-bottom:28px}.villa-hero-copy{padding:10px 0 0;align-self:stretch}.villa-hero-copy .eyebrow{font-size:8px;margin-bottom:18px}.villa-hero-copy h1{font-size:83px}.villa-hero-copy h1 em{display:inline;margin-left:13px;font-size:68px}.villa-hero-copy>p:not(.eyebrow){margin:20px 0;max-width:none;font-size:13px}.villa-hero-copy .button{font-size:12px;padding:15px 20px}.villa-hero-copy .quiet-link{display:none}.villa-hero-image{min-height:390px}.fact-strip{grid-template-columns:1fr 1fr;gap:24px 0;padding-top:25px;padding-bottom:25px}.fact-strip>div:nth-child(2){border:0}.fact-strip strong{font-size:24px}.fact-strip span{font-size:7px}.editorial-split{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px;gap:35px}.editorial-image{height:430px}.editorial-copy>.eyebrow{font-size:9px;margin-bottom:22px}.editorial-copy>p:not(.eyebrow){font-size:13px;margin-top:22px}.editorial-copy>.text-link{margin-top:18px}.villa-inclusions{grid-template-columns:1fr;padding-top:20px;padding-bottom:55px;gap:30px}.included-list{grid-template-columns:1fr 1fr;gap:0 20px}.included-list li{font-size:12px}.villa-inclusions h2{margin-bottom:25px}.villa-inclusions figure img{height:330px}.arrival-note{grid-template-columns:1fr;gap:20px;padding-top:40px;padding-bottom:40px}.arrival-note h3{font-size:34px}.other-stays{padding-top:55px;padding-bottom:55px}.other-stays .section-heading{gap:18px}.other-grid{gap:18px}.other-villa img{height:190px}.other-villa .eyebrow{font-size:7px;letter-spacing:.07em}.other-villa h3{font-size:34px}.other-villa h3 span{font-size:20px}.photo-hero{height:690px;max-height:calc(100svh - 72px);min-height:540px}.photo-hero>div{left:22px;bottom:65px;right:22px}.photo-hero h1{font-size:60px;line-height:1.02}.photo-hero .eyebrow{font-size:8px;margin-bottom:22px}.photo-hero .text-link{margin-top:25px}.photo-hero>img{object-position:43% center}.photo-location{font-size:7px;right:22px;bottom:25px}.center-intro{padding-top:60px;padding-bottom:25px}.center-intro .eyebrow{font-size:8px}.center-intro p:last-child{font-size:13px}.day-editorial{padding-bottom:60px}.day-row,.day-row:nth-child(2){grid-template-columns:1fr;margin-top:45px;gap:22px}.day-label{display:flex;align-items:center;gap:17px}.day-label>span{font-size:35px}.day-label p{margin:0;font-size:8px}.day-photo,.day-row:nth-child(2) .day-photo{grid-column:1;grid-row:auto;height:355px;order:initial}.day-text,.day-row:nth-child(2) .day-text{grid-column:1;order:initial}.day-text p{font-size:13px}.gallery-intro h1{font-size:59px}.filter-bar{gap:7px;margin-bottom:25px}.filter-bar button{padding:10px 17px;font-size:11px}.filter-bar>span{width:100%;margin:8px 0 0;font-size:10px}.journal-grid{gap:10px}.journal-photo,.journal-photo:nth-child(6n+1),.journal-photo:nth-child(6n+5){height:230px}.journal-photo>span{font-size:8px;letter-spacing:.08em;padding:25px 12px 12px}.journal-section{padding-bottom:55px}.photo-viewer{padding:12px;width:calc(100% - 16px)}.photo-viewer figure img{height:60svh}.photo-viewer figcaption{font-size:11px;line-height:1.7}.visit-hero{grid-template-columns:1fr;gap:35px;padding-top:48px;padding-bottom:40px}.visit-hero h1{font-size:72px}.visit-hero .eyebrow{font-size:8px;margin-bottom:24px}.visit-hero p:not(.eyebrow){font-size:13px;margin-top:24px}.visit-hero .button{margin-top:24px}.visit-landscape{height:410px}.arrival-grid{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:40px}.arrival-cards article{gap:15px;grid-template-columns:30px 1fr}.arrival-cards h3{font-size:28px}.contact-section{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:55px}.contact-section h2{margin-top:24px}.contact-options strong{font-size:34px}.contact-options>a{padding:25px 35px 25px 0}.faq-layout{grid-template-columns:1fr;gap:32px;padding-top:0;padding-bottom:60px}.faq-layout aside{position:static}.faq-layout input{font-size:16px}.faq-filters{flex-direction:row;flex-wrap:wrap;gap:6px;margin:20px 0 12px}.faq-filters button{border:1px solid var(--border);font-size:11px;padding:10px 12px;text-align:center}.faq-filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.faq-item summary{font-size:15px;padding:20px 0}.faq-item>p{font-size:13px;padding:0 15px 22px 0}.help-band{flex-direction:column;align-items:start;padding-top:40px;padding-bottom:40px;gap:25px}.help-band h2{font-size:42px}.reading-page{padding-bottom:60px}.reading-page h2{font-size:33px}.reading-page p{font-size:14px}.booking-heading{padding-top:45px;padding-bottom:30px}.booking-heading h1{font-size:64px}.booking-heading>p:last-child{font-size:13px;margin-top:20px}.booking-heading .eyebrow{font-size:8px}.planner{gap:35px;padding-bottom:55px}.planner-steps{gap:10px;font-size:10px;padding-bottom:20px;margin-bottom:28px}.planner-steps li{gap:6px}.planner-steps li span{width:25px;height:25px;font-size:9px}.planner h2{font-size:36px;margin-bottom:22px}.villa-options{gap:8px;margin-bottom:24px}.villa-option img{height:85px}.villa-option>span{font-size:23px;padding:10px}.any-villa>span{font-size:12px}.villa-option small{font-size:10px;display:block;margin:3px 0 0}.villa-option input{top:8px;left:8px;width:17px;height:17px}.any-villa input{top:19px}.planner-fields{gap:17px 12px}.planner-fields input{padding:11px;font-size:16px;max-width:100%}.planner label{font-size:11px}.planner .small-note{font-size:10px!important}.planner-aside{grid-template-columns:1fr}.planner-aside>img{height:220px;min-height:0}.planner-aside>div{padding:25px}.planner-aside h3{font-size:42px}.planner-aside .aside-rule,.planner-aside .aside-rule+p{display:none}.planner-aside .text-link{margin-top:15px}.review-details>div{font-size:13px;gap:15px}.review-details dt{font-size:11px}.notice{font-size:12px;padding:16px}.planner-buttons{gap:15px}.planner-buttons .button{font-size:12px;padding:14px 20px}.inquiry-text{font-size:12px;padding:18px}.home-villas{padding-top:55px;padding-bottom:60px}.home-villas .section-heading h2{font-size:45px}.home-villas .section-heading{margin-bottom:30px;gap:18px}.home-villas .section-heading .eyebrow{font-size:9px;margin-bottom:20px}.home-experience .editorial-image{height:390px}.home-comforts{padding-top:55px;padding-bottom:55px}.comfort-line{margin:25px 0 20px}.comfort-line span{font-size:11px;padding:12px 5px}.guest-story{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:45px}.guest-photo img{height:330px}.guest-story blockquote{font-size:38px;margin:22px 0}.guest-story .text-link{font-size:10px}.home-visit{grid-template-columns:1fr;gap:45px;padding-top:55px;padding-bottom:55px}.home-visit h2{margin-top:22px}.home-questions summary{font-size:14px}.home-questions>.eyebrow{font-size:9px}}
@media(max-width:360px){.site-header .brand svg{display:none}.site-header .brand>span{font-size:8px}.inner-page h1{font-size:54px}.villa-hero-copy h1{font-size:71px}.villa-hero-copy h1 em{font-size:55px}.planner-steps li{font-size:9px}.any-villa>span{font-size:11px}.included-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}[data-enter]{opacity:1!important;transform:none!important}}

/* journey.css */
/* COAH decision journey: warm, precise and photographic. */
:root{--j-border:#d7d9cd;--j-card:#fffdf8;--j-shadow:0 16px 50px #233b3010}
.journey-page{background:#faf8f2}.j-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.j-section{padding-block:82px}.j-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.j-heading h1,.journey-page .j-heading h1{font:clamp(48px,6vw,84px)/1.03 var(--display);letter-spacing:-.035em;margin-top:16px}.j-heading h2,.j-section h2{font:clamp(40px,4.4vw,66px)/1.05 var(--display)}.j-heading p:not(.eyebrow){font-size:14px;color:#647063;max-width:360px}.j-heading em,.j-section em{color:#7a856f}.j-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;border:1px solid #bfc7b8;border-radius:8px;background:transparent;padding:12px 19px;font:500 13px/1.4 var(--sans);text-align:center;transition:background .2s,box-shadow .2s,transform .2s}.j-btn:hover{background:#e9eddf;box-shadow:0 3px 10px #233b3008}.j-btn.primary{color:#fffdf7;background:#233b30;border-color:#233b30}.j-btn.primary:hover{background:#3c5644}.j-btn:disabled{opacity:.5;cursor:not-allowed}.j-link{display:inline-flex;align-items:center;min-height:44px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:8px 0;font:500 13px var(--sans);text-decoration:none}.j-demo-banner{padding:10px 4%;display:flex;justify-content:center;gap:16px;font-size:9px;letter-spacing:.13em;background:#e9eddf;color:#45533e}.j-demo-banner span{letter-spacing:.02em}.j-notice{padding:12px 15px!important;font:12px/1.6 var(--sans)!important;background:#f0eee4;border-left:2px solid #a7ad94;color:#58644f;margin-block:18px!important}.j-photo-note{font:11px/1.7 var(--sans)!important;color:#6b7468;margin-block:10px!important}.j-badge{display:inline-block;border-radius:5px;background:#f7f4eafa;padding:8px 11px;font-size:10px;font-weight:600;letter-spacing:.035em}.j-preferences{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:28px 0 10px}.j-preferences>span{font-size:12px;margin-right:10px;color:#63705e}.j-preferences .j-btn{border-radius:50px;min-height:42px;padding:10px 20px}.j-preferences [aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.j-preferences .j-link{margin-left:auto}.j-recommendation{font-size:12px;color:#627158;min-height:28px;margin-bottom:14px}.j-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.j-card{background:var(--j-card);border:1px solid #e1e1d7;border-radius:13px;overflow:hidden;transition:box-shadow .3s,transform .3s}.j-card.recommended{box-shadow:0 0 0 2px #607754,0 14px 40px #233b3015;transform:translateY(-5px)}.j-card-photo{display:block;aspect-ratio:1.2;position:relative;overflow:hidden}.j-card-photo img{height:100%;transition:transform .7s}.j-card-photo:hover img{transform:scale(1.035)}.j-card-photo>.j-badge{position:absolute;top:16px;left:16px}.j-photo-arrow{position:absolute;right:15px;bottom:15px;border-radius:50%;width:38px;height:38px;background:#f4f0e7ee;display:grid;place-items:center;font-size:20px}.j-card-body{padding:22px}.j-card-body .eyebrow{font-size:8px;color:#66745c}.j-card h3{font:42px/1.1 var(--display);margin:7px 0 12px}.j-card-body>p:not(.eyebrow){font:13px/1.7 var(--sans);color:#63705f;min-height:88px}.j-mini-facts{font-size:11px;padding-block:16px;border-bottom:1px solid var(--j-border)}.j-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:11px}.j-card-bottom b{font-size:17px}.j-card-bottom small{display:block;font-size:9px;color:#737969}.j-card-bottom .j-link{font-size:11px;white-space:nowrap}.j-section-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;font-size:11px;color:#69745f}.j-home-included{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;border-top:1px solid var(--j-border)}.j-home-included>img{aspect-ratio:1.5;border-radius:12px}.j-home-included p:not(.eyebrow),.j-cafe-preview p:not(.eyebrow){max-width:420px;line-height:1.8;margin:25px 0}.j-home-included h2,.j-cafe-preview h2{margin-top:15px}.j-included-pills{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-block:1px solid var(--j-border);padding:25px 0;font-size:12px}.j-cafe-preview{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.j-cafe-preview img{aspect-ratio:1.25;border-radius:12px}.j-home-review{text-align:center;border-block:1px solid var(--j-border)}.j-home-review h2{margin-block:24px}.j-home-review>p:last-child{font-size:11px;color:#6a7663}.j-three-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.j-three-links a{border-top:1px solid #adbaa4;padding-top:20px}.j-three-links span{font-size:9px;letter-spacing:.1em}.j-three-links h3{font-size:29px;margin:17px 0}.j-three-links p{font-size:13px;color:#63705f}
.j-villa-page{padding-top:26px}.j-breadcrumb{font-size:11px;display:flex;gap:10px;color:#66705f;align-items:center}.j-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.j-breadcrumb>span{margin-left:auto}.j-villa-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:32px 0 27px}.j-villa-title h1,.journey-page .j-villa-title h1{font:clamp(52px,5.3vw,76px)/1 var(--display);letter-spacing:-.035em;margin:10px 0}.j-villa-title p:not(.eyebrow){font-size:13px;color:#68745f}.j-villa-title em{color:#7a856f}.j-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:430px;border-radius:14px;overflow:hidden;position:relative}.j-mosaic>button:not(.j-all-photos){padding:0;position:relative;overflow:hidden;border:0;background:#dbe0d2}.j-mosaic img{height:100%;transition:transform .8s}.j-mosaic button:hover img{transform:scale(1.035)}.j-mosaic-0{grid-row:1/3}.j-mosaic>button>span{position:absolute;left:12px;bottom:12px;background:#183124bc;color:white;border-radius:4px;padding:4px 8px;font-size:10px}.j-mosaic .j-all-photos{position:absolute;right:18px;bottom:18px;background:#fffcf4;box-shadow:0 4px 18px #0002;min-height:40px;font-size:11px}.j-section-nav{position:sticky;top:86px;z-index:30;background:#faf8f2f5;backdrop-filter:blur(10px);display:flex;gap:29px;border-bottom:1px solid var(--j-border);padding:15px 0;font-size:12px;overflow:auto}.j-section-nav a{white-space:nowrap;padding:9px 0}.j-section-nav a:hover{box-shadow:0 2px #2d4535}.j-villa-columns{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px;align-items:start}.j-villa-details{min-width:0}.j-detail{padding:45px 0;border-bottom:1px solid var(--j-border);scroll-margin-top:160px}.journey-page .j-detail h2{font:clamp(31px,3vw,43px)/1.15 var(--display);margin-bottom:20px}.j-detail>p:not(.eyebrow){font-size:14px;color:#5d6957;line-height:1.85;max-width:680px;margin:18px 0}.j-factline{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:20px}.j-factline span{color:#89927e}.j-reasons{margin:25px 0;display:grid;gap:18px}.j-reasons>div{display:flex;align-items:center;gap:17px}.j-reasons>div>span{font:italic 23px var(--display);color:#879477}.journey-page .j-reasons h3{font:500 14px/1.6 var(--sans);letter-spacing:0}.j-consider{padding:20px;background:#eeeee3;border-radius:8px;font-size:12px}.j-consider p{margin-top:6px;line-height:1.8;color:#61705a}.j-tour-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.j-tour-strip button{padding:0;border:0;background:none;text-align:left}.j-tour-strip img{height:104px;border-radius:7px}.j-tour-strip span{display:block;font-size:11px;margin-block:8px}.j-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:24px 0}.j-room-grid article{border:1px solid var(--j-border);border-radius:9px;overflow:hidden}.j-room-grid img{aspect-ratio:1.15}.j-room-grid article>div{padding:14px}.j-room-grid .eyebrow{font-size:8px}.journey-page .j-room-grid h3{font:26px var(--display);margin:8px 0}.j-room-grid p{font:12px/1.7 var(--sans);color:#62715c}.j-room-grid b{display:block;font-size:11px;margin:10px 0}.j-room-grid small{display:block;font-size:10px;line-height:1.7;color:#718067}.j-amenity-highlights{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0 30px;font-size:14px}.j-two{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0}.journey-page .j-two h3{font:25px var(--display);margin-bottom:12px}.j-two p{font-size:13px;line-height:1.85;color:#64705c}.j-review{border-left:2px solid #b2ba9f;padding:5px 0 5px 22px;margin:27px 0}.j-review p{font:italic 25px/1.4 var(--display);margin-bottom:15px}.j-review b,.j-review small{display:block;font-size:11px}.j-review small{font-size:10px;color:#6f7766;margin-top:4px}.j-book-card{position:sticky;top:170px;border:1px solid #d2d7c7;background:#fffdf8;box-shadow:var(--j-shadow);padding:26px;border-radius:13px;margin-top:40px;scroll-margin-top:160px}.j-price{font-size:13px;margin-top:19px!important}.j-price strong{font-size:30px;letter-spacing:-.04em}.j-book-caption{font-size:10px!important;text-align:center;color:#6e7865;margin-top:17px!important}.j-book-card>.j-link{font-size:11px;margin-top:8px}.j-book-help{font-size:12px;border-top:1px solid var(--j-border);padding-top:17px;margin-top:15px;color:#5f6f55}.j-book-help .j-link{font-size:11px}.j-mobile-reserve{display:none}
.j-booking{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bdc5b4;border-radius:9px;margin-top:22px;position:relative}.j-field{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:12px 14px;border:0;background:none;font:600 9px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:#263e30}.j-field select,.j-field input{width:100%;min-width:0;font:400 14px/1.4 var(--sans);color:#233b30;letter-spacing:0;text-transform:none;background:transparent;border:0;outline-offset:2px;padding:3px 0}.j-booking>.j-field:first-child{grid-column:1/-1;border-bottom:1px solid #bdc5b4}.j-booking>.date-trigger:nth-child(2){border-right:1px solid #bdc5b4}.date-trigger strong{font:400 13px var(--sans);text-transform:none;letter-spacing:0}.date-trigger:hover{background:#eef0e5}.j-booking .guest-field{grid-column:1/-1;border-top:1px solid #bdc5b4}.guest-stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:0}.guest-stepper button{flex:0 0 34px;height:34px;background:transparent;border:1px solid #c1c9b7;border-radius:50%;font-size:19px}.guest-stepper input{text-align:center;appearance:textfield;max-width:80px}.guest-stepper input::-webkit-inner-spin-button{appearance:none}.j-booking>.j-btn{grid-column:1/-1;margin:12px}.j-form-error{grid-column:1/-1;font:12px/1.5 var(--sans);color:#9f492c;padding:0 12px}.j-form-error:empty{display:none}.j-dock{grid-template-columns:1fr 1fr 1fr 1fr 1.2fr!important;background:#fffdf4;border:0;border-radius:9px;margin-top:0!important;color:#233b30;box-shadow:0 12px 35px #0002}.j-dock>.j-field,.j-dock>.j-field:first-child,.j-dock .guest-field,.j-dock>.j-btn{grid-column:auto;border:0;border-right:1px solid #deded3;margin:0}.j-dock>.j-btn{border-radius:0 9px 9px 0;border:0;font-size:12px}.j-dock>.j-field{padding:15px 17px}.j-dock .guest-stepper{gap:3px}.j-dock .guest-stepper button{flex-basis:28px;height:28px;font-size:16px}.j-dock .guest-stepper input{max-width:38px}.j-dock .j-form-error{background:#fffdf4;padding:8px 16px;grid-column:1/-1;border-radius:0 0 8px 8px}.j-property-map{background:linear-gradient(#e9eee2,#f5f2e7);padding:26px 24px;border-radius:12px;text-align:center;margin:25px 0;border:1px solid #d6dbc9}.j-map-horizon{font-size:8px;letter-spacing:.18em;color:#66795f;border-bottom:1px solid #bbcaaf;padding-bottom:18px}.j-map-villas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:35px}.j-map-villas a{font:25px var(--display)}.j-map-villas small{display:block;font:10px var(--sans);margin-top:6px;color:#607054}.map-house{display:grid;place-items:center;clip-path:polygon(50% 0,100% 45%,100% 100%,0 100%,0 45%);height:65px;width:70px;margin:0 auto 12px;background:#648061;color:#fbf6e9;font:16px var(--sans);padding-top:16px}.map-house.wide{width:85px;clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%)}.j-map-path{border-top:2px dashed #acb697;margin-top:25px;padding-top:12px;font-size:10px}.j-map-cafe{font-size:12px;border:1px solid #bac5aa;border-radius:5px;padding:10px;margin:20px auto 15px;width:fit-content}.j-property-map>small{font-size:9px;color:#78836a}.j-compare{border-top:1px solid var(--j-border)}.j-toggle{font-size:12px;display:flex;gap:10px;align-items:center;white-space:nowrap;min-height:44px}.j-toggle input{width:18px;height:18px;accent-color:var(--ink)}.j-comparison-table table{width:100%;table-layout:fixed;border-collapse:collapse}.j-comparison-table caption{text-align:left;font-size:11px;color:#6b775f;margin:10px 0 20px}.j-comparison-table th,.j-comparison-table td{text-align:left;vertical-align:top;padding:20px 18px;border-bottom:1px solid var(--j-border);font-size:13px;font-weight:400;line-height:1.7}.j-comparison-table thead th:not(:first-child){font:30px var(--display)}.j-comparison-table th:first-child{width:19%;padding-left:0;font-weight:600;font-size:12px}.j-comparison-table thead img{aspect-ratio:1.8;border-radius:9px;margin-bottom:15px}.j-mobile-compare{display:none}
.j-plan-page{padding-block:60px 90px}.j-steps{display:flex;list-style:none;margin:30px 0;padding:0;border-bottom:1px solid var(--j-border);gap:35px}.j-steps li{padding:17px 0;font-size:12px;color:#77816b}.j-steps li[aria-current]{border-bottom:2px solid var(--ink);color:var(--ink);font-weight:600}.j-plan-page #booking-step-one>.j-booking{grid-template-columns:1fr 1fr 1fr 1fr 1.2fr;background:var(--j-card);padding:6px;border-radius:12px;box-shadow:var(--j-shadow)}.j-plan-page #booking-step-one>.j-booking>.j-field,.j-plan-page #booking-step-one>.j-booking>.j-btn{grid-column:auto;border:0;margin:0}.j-plan-page #booking-step-one>.j-booking>.j-field{border-right:1px solid var(--j-border)}.j-plan-tools{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:15px 0 35px}.j-plan-tools .j-link{font-size:12px}.j-demo-control{font-size:11px;color:#68705f}.j-demo-control summary{cursor:pointer;padding:10px 0}.j-demo-control select{display:block;padding:10px;border:1px solid var(--j-border);border-radius:5px;margin:8px 0;background:#fffdf8}.j-plan-tools details{margin-left:auto}.j-plan-empty{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;margin-top:40px}.j-plan-empty>img{aspect-ratio:1.45;border-radius:13px}.j-plan-empty h2{margin-block:18px}.j-plan-empty p:not(.eyebrow){font-size:14px;color:#67725c;margin:20px 0}.j-result-list{display:grid;gap:18px;margin-top:25px}.j-result{display:grid;grid-template-columns:230px 1fr auto;gap:27px;border:1px solid var(--j-border);background:var(--j-card);padding:15px;border-radius:12px;align-items:center}.j-result img{height:170px;border-radius:8px}.j-result h3{font:38px var(--display);margin-block:7px}.j-result p{font-size:12px;color:#63715a}.j-result-price{text-align:right;padding:15px}.j-result-price b{display:block;font-size:23px}.j-result-price small{display:block;margin:5px 0 16px;font-size:10px}.j-result-status{font-size:10px;color:#587344;font-weight:600}.j-result-status.request{color:#9a6428}.j-results-heading{font:36px var(--display)!important;margin:30px 0 10px!important}.j-result-error{border:1px solid #dac3a6;background:#faf1df;padding:25px;border-radius:10px}.j-result-error h3{margin-bottom:15px}.j-result-error p{font-size:14px;margin-bottom:15px}.j-review-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;margin-top:35px}.j-review-layout h2{margin-bottom:25px}.j-summary-photo{width:100%;max-height:280px;border-radius:10px;margin-bottom:20px}.j-summary-list{margin:0;padding:0}.j-summary-list>div{display:flex;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px solid var(--j-border);font-size:13px}.j-summary-list dd{margin:0;text-align:right}.j-summary-list .total{font-size:18px;font-weight:600}.j-policy{padding:20px;background:#edeee3;border-radius:8px;margin:25px 0;font-size:12px}.j-policy h3{font-size:27px;margin-bottom:13px}.j-policy p{margin-bottom:12px}.j-inquiry{padding:30px;background:#fffdf8;border:1px solid var(--j-border);border-radius:13px;align-self:start}.j-inquiry>h3{margin:15px 0}.j-inquiry>p{font-size:12px;margin-bottom:20px}.j-inquiry>label:not(.j-consent):not(.j-demo-control){display:block;font-size:12px;margin:16px 0}.j-inquiry input:not([type=checkbox]),.j-inquiry textarea{display:block;width:100%;background:white;border:1px solid #c4ccbb;border-radius:6px;padding:13px;font:14px var(--sans);margin-top:7px}.j-inquiry textarea{min-height:100px;resize:vertical}.j-consent{display:flex;gap:10px;align-items:start;font-size:11px;margin:20px 0}.j-consent input{width:18px;height:18px;flex-shrink:0}.j-inquiry>.j-btn{width:100%;margin-top:18px}.j-success{text-align:center;max-width:950px;margin:65px auto}.j-success-mark{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:#e5ebda;font-size:30px;margin:0 auto 25px}.j-success h2{margin:20px 0}.j-success>p:not(.eyebrow){max-width:600px;margin:20px auto;color:#67745b}.j-next-steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:24px;margin:40px 0;padding:30px;background:#efeee2;border-radius:12px}.j-next-steps b{font-size:13px}.j-next-steps p{font-size:12px;margin-top:10px}.j-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.j-help{position:fixed;right:24px;bottom:24px;z-index:70;border:1px solid #ffffff55;background:#233b30;color:#fffdf6;box-shadow:0 5px 25px #14271e25;border-radius:50px;display:flex;align-items:center;gap:10px;padding:13px 20px;font:500 12px var(--sans);min-height:48px}.j-help>span{font-size:22px;color:#e7c995}.j-dialog{border:1px solid #d4d9ca;border-radius:16px;padding:28px;background:#fffdf7;color:var(--ink);width:min(780px,calc(100% - 36px));max-width:none;max-height:90dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #10241c30;margin:auto}.j-dialog[open]{display:block}.j-dialog::backdrop{background:#11271d8f;backdrop-filter:blur(5px)}body:has(.j-dialog[open]){overflow:hidden}.j-dialog-top{display:flex;justify-content:space-between;gap:22px;align-items:start;margin-bottom:20px}.j-dialog-top h2{font:38px/1.1 var(--display);margin-top:7px;letter-spacing:-.02em}.j-dialog-top>button{border:1px solid #d1d8c6;border-radius:50%;width:42px;height:42px;flex-shrink:0;background:#f4f3e8;font-size:24px}.j-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--j-border);padding-top:18px;margin-top:20px}.j-dialog-bottom>span{font-size:12px}.j-date-summary{display:flex;gap:25px;align-items:center;background:#f1f1e7;border-radius:8px;padding:16px 22px;margin-bottom:16px}.j-date-summary>div{flex:1}.j-date-summary span{display:block;font-size:9px;letter-spacing:.1em}.j-date-summary strong{display:block;font-size:16px;margin-top:6px;font-weight:500}#cal-prompt{font-size:12px;margin:10px 0 20px;color:#56694b}calendar-range{display:block;width:100%;--color-accent:#233b30}calendar-range::part(months){display:flex;justify-content:space-between;gap:28px}calendar-range::part(header){margin-bottom:18px}calendar-range::part(button){background:#eeefe4;border:1px solid #ced4c4;border-radius:50%;height:40px;width:40px;color:#233b30;font-size:18px}calendar-month{width:calc(50% - 14px);--color-accent:#233b30;--color-text-on-accent:#fffdf7}calendar-month::part(heading){font:500 14px var(--sans);padding-block:12px}calendar-month::part(table){width:100%;border-spacing:0}calendar-month::part(th){font-size:10px;color:#78816b;height:32px}calendar-month::part(button){font:13px var(--sans);width:100%;min-height:40px;border:0;border-radius:50%;background:transparent;color:#233b30}calendar-month::part(button):hover{background:#e8eddf}calendar-month::part(range-inner){border-radius:0;background:#e6eddd}calendar-month::part(selected){background:#233b30;color:#fffdf7}calendar-month::part(disallowed){color:#aaa;text-decoration:line-through;cursor:not-allowed}calendar-month::part(today){box-shadow:inset 0 0 0 1px #81916e}calendar-month::part(button):focus-visible{outline:2px solid #ae7334;outline-offset:2px}.j-calendar-fallback{display:flex;gap:15px}.j-calendar-fallback input{display:block;padding:12px;border:1px solid var(--j-border);margin-top:8px}.j-help-dialog{width:min(490px,calc(100% - 30px))}.j-chat-log{max-height:280px;overflow:auto;padding-right:5px;margin:20px 0}.j-chat-answer,.j-chat-question{padding:14px 17px;border-radius:12px;background:#eef0e5;font-size:13px;line-height:1.8;margin-bottom:12px}.j-chat-question{background:#233b30;color:white;margin-left:30px}.j-chat-topics{display:flex;gap:7px;flex-wrap:wrap}.j-chat-topics .j-btn{font-size:10px;padding:8px 12px;min-height:37px;border-radius:50px}#chat-form{display:flex;gap:10px;margin-top:20px}#chat-form input{min-width:0;flex:1;padding:13px;border:1px solid #c3ccb7;border-radius:8px;font:14px var(--sans)}.j-contact-options{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--j-border);margin-top:20px;padding-top:16px;align-items:center;font-size:11px}.j-contact-options .j-btn{min-height:35px;font-size:11px;padding:8px}#channel-status{font-size:12px;margin-top:12px}.j-amenity-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.j-amenity-group{border-top:1px solid var(--j-border);padding-top:20px}.j-amenity-group h3{font:27px var(--display)}.j-amenity-group ul{padding-left:18px;font-size:13px;line-height:2}.j-tour-dialog{width:min(1080px,calc(100% - 36px))}.j-tour-categories{display:flex;gap:9px;overflow:auto;margin-bottom:18px}.j-tour-categories button{white-space:nowrap;border-radius:50px;font-size:11px;padding:9px 14px;min-height:38px}.j-tour-categories [aria-pressed=true]{background:var(--ink);color:white}.j-tour-dialog figure{margin:0}.j-tour-dialog figure>img{height:min(50vh,470px);object-fit:contain;background:#e9eade;border-radius:8px}.j-tour-dialog figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.j-tour-dialog figcaption h3{font:29px var(--display)}.j-tour-dialog figcaption p{font-size:12px;margin-top:8px;color:#66735c}.j-tour-dialog figcaption>span{white-space:nowrap;font-size:11px}#share-modal>p{font-size:13px;margin:15px 0}#share-text{width:100%;resize:vertical;border:1px solid var(--j-border);border-radius:8px;padding:18px;font:13px/1.8 var(--sans);background:#f3f3e8;margin-bottom:20px}.j-toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 24px;background:#233b30;color:white;border-radius:9px;z-index:200;font-size:13px;box-shadow:var(--j-shadow)}.j-event-form{max-width:650px}.j-support-intro{padding-top:65px}.j-support-intro h1{max-width:900px}.j-arrival-steps{counter-reset:arrival;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.j-arrival-steps article{border-top:1px solid var(--j-border);padding:23px 0}.j-arrival-steps h3{margin:15px 0;font-size:30px}.j-arrival-steps p{font-size:13px;color:#63715b}.j-support-photo{width:100%;max-height:500px;border-radius:13px;margin:30px 0}.j-faq details{border-bottom:1px solid var(--j-border);padding:20px 0}.j-faq summary{font-size:16px;font-weight:500;cursor:pointer;min-height:30px}.j-faq details p{font-size:14px;max-width:780px;line-height:1.9;margin-top:15px;color:#63705e}
@media(min-width:1500px){.j-wrap{width:min(1370px,calc(100% - 130px))}.j-mosaic{height:480px}}
@media(max-width:1050px){.j-wrap{width:calc(100% - 56px)}.j-villa-columns{grid-template-columns:minmax(0,1fr) 310px;gap:35px}.j-book-card{padding:20px}.j-room-grid{grid-template-columns:1fr}.j-room-grid article{display:grid;grid-template-columns:130px 1fr}.j-room-grid img{height:100%;min-height:160px}.j-tour-strip{grid-template-columns:repeat(3,1fr)}.j-card-body{padding:17px}.j-card-body>p:not(.eyebrow){min-height:115px}.j-mosaic{height:360px}.j-result{grid-template-columns:190px 1fr auto;gap:18px}.j-result-price{padding:5px}.j-plan-empty{gap:30px}.j-review-layout{gap:35px}}
@media(max-width:760px){.j-wrap{width:calc(100% - 40px)}.j-section{padding-block:50px}.j-heading{display:block;margin-bottom:25px}.j-heading>p{margin-top:18px}.j-heading h1,.journey-page .j-heading h1{font-size:52px}.j-heading h2,.j-section h2{font-size:43px}.j-demo-banner{font-size:8px;gap:8px;padding:8px 10px;letter-spacing:.07em}.j-demo-banner span{font-size:8px}.j-cards{grid-template-columns:1fr;gap:25px}.j-card-body>p:not(.eyebrow){min-height:0}.j-card-photo{aspect-ratio:1.4}.j-card-bottom{margin-top:16px}.j-card-bottom .j-link{font-size:12px}.j-card.recommended{transform:none}.j-preferences{gap:8px}.j-preferences>span{width:100%}.j-preferences .j-btn{font-size:11px;padding:9px 13px}.j-preferences .j-link{font-size:11px}.j-section-foot{align-items:start;flex-direction:column;gap:8px}.j-home-included,.j-cafe-preview{grid-template-columns:1fr;gap:25px}.j-included-pills{gap:20px}.j-three-links{grid-template-columns:1fr;gap:30px}.j-villa-page{padding-top:20px}.j-breadcrumb>span{display:none}.j-villa-title{margin-block:25px;gap:15px;align-items:end}.j-villa-title h1,.journey-page .j-villa-title h1{font-size:52px}.j-villa-title p:not(.eyebrow){font-size:12px;max-width:250px}.j-villa-title .j-btn{font-size:0;padding:10px;min-width:43px}.j-villa-title .j-btn:after{content:'↗';font-size:20px}.j-mosaic{height:330px;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;gap:5px;border-radius:10px}.j-mosaic-0{grid-column:1/-1;grid-row:1}.j-mosaic-3,.j-mosaic-4{display:none}.j-mosaic>button>span{font-size:9px;bottom:8px;left:8px}.j-mosaic .j-all-photos{right:10px;bottom:10px;font-size:10px;padding:9px 12px;min-height:36px}.j-section-nav{top:70px;gap:23px;font-size:11px;margin-inline:-20px;padding:10px 20px}.j-villa-columns{display:flex;flex-direction:column;gap:0}.j-book-card{position:static;width:100%;margin:30px 0;order:2}.j-villa-details{width:100%}.j-detail{padding-block:32px;scroll-margin-top:130px}.journey-page .j-detail h2{font-size:34px}.j-detail>p:not(.eyebrow){font-size:13px}.j-factline{font-size:11px;gap:7px}.j-reasons h3{font-size:13px!important}.j-room-grid article{grid-template-columns:125px 1fr}.j-tour-strip{grid-template-columns:repeat(3,1fr);gap:10px}.j-tour-strip img{height:90px}.j-two{gap:20px}.j-two p{font-size:12px}.j-amenity-highlights{font-size:12px;gap:20px}.j-property-map{padding:20px 12px}.j-map-villas a{font-size:23px}.j-map-villas small{font-size:8px}.j-mobile-reserve{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 20px max(12px,env(safe-area-inset-bottom));z-index:65;background:#fffdf7;border-top:1px solid #d2d8c7;font-size:11px;box-shadow:0 -5px 30px #233b3010}.j-mobile-reserve b{font-size:19px}.j-mobile-reserve small{display:block;font-size:9px;color:#65745a}.journey-page:has(.j-mobile-reserve){padding-bottom:80px}.j-help{right:14px;bottom:16px;padding:10px 14px;font-size:10px;min-height:44px}.journey-page:has(.j-mobile-reserve) .j-help{bottom:92px}.j-dock{grid-template-columns:1fr 1fr!important;gap:0;border-radius:8px!important}.j-dock>.j-field{padding:12px 15px!important}.j-dock>.j-field:first-child{grid-column:1/-1}.j-dock>.j-field{border-bottom:1px solid var(--j-border)!important}.j-dock .guest-field{grid-column:1/-1}.j-dock>.j-btn{grid-column:1/-1;border-radius:0 0 8px 8px;min-height:48px}.j-dock .guest-stepper input{max-width:80px}.j-mobile-compare{display:flex;gap:15px;margin-block:20px}.j-mobile-compare label{flex:1;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.j-mobile-compare select{display:block;width:100%;padding:12px;background:#fffdf7;border:1px solid var(--j-border);border-radius:6px;font-size:16px;margin-top:5px}.j-comparison-table th,.j-comparison-table td{padding:15px 8px;font-size:11px;overflow-wrap:anywhere}.j-comparison-table th:first-child{width:24%;font-size:10px}.j-comparison-table thead th:not(:first-child){font-size:24px}.j-comparison-table thead img{aspect-ratio:1.1}.j-comparison-table [data-mobile-hide=true]{display:none}.j-plan-page{padding-block:35px 70px}.j-steps{gap:17px;margin:20px 0}.j-steps li{font-size:9px;flex:1}.j-plan-page #booking-step-one>.j-booking{grid-template-columns:1fr 1fr;padding:0}.j-plan-page #booking-step-one>.j-booking>.j-field:first-child{grid-column:1/-1;border-bottom:1px solid var(--j-border)}.j-plan-page #booking-step-one>.j-booking>.guest-field{grid-column:1/-1;border-block:1px solid var(--j-border)}.j-plan-page #booking-step-one>.j-booking>.j-btn{grid-column:1/-1;border-radius:0 0 10px 10px}.j-plan-tools{gap:10px 20px;margin-bottom:20px}.j-plan-tools details{margin-left:0}.j-plan-empty{grid-template-columns:1fr;gap:25px}.j-plan-empty h2{font-size:43px}.j-result{grid-template-columns:110px minmax(0,1fr);gap:15px;padding:12px}.j-result img{height:130px}.j-result h3{font-size:31px}.j-result p{font-size:11px}.j-result-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;text-align:left;border-top:1px solid var(--j-border);padding-top:15px;gap:10px}.j-result-price b{font-size:20px}.j-result-price small{margin:3px 0}.j-result-price .j-btn{font-size:11px;padding:10px 12px}.j-review-layout{grid-template-columns:1fr;gap:30px}.j-inquiry{padding:23px}.j-next-steps{grid-template-columns:1fr;gap:25px;padding:25px}.j-success h2{font-size:43px}.j-success{margin-top:40px}.j-dialog{padding:22px 18px;border-radius:14px;max-height:92dvh;width:calc(100% - 24px)}.j-dialog-top h2{font-size:31px}.j-dialog-top .eyebrow{font-size:8px}.j-dialog-top>button{width:38px;height:38px}.j-calendar-dialog{margin:auto 0 0;width:100%;border-radius:16px 16px 0 0;max-height:94dvh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.j-date-summary{padding:14px;gap:15px}.j-date-summary strong{font-size:14px}calendar-range::part(months){display:block}calendar-month{width:100%}calendar-month[offset="1"]{display:none}calendar-month::part(button){min-height:44px;font-size:14px}.j-amenity-list{grid-template-columns:1fr}.j-tour-dialog figure>img{height:40vh}.j-tour-dialog figcaption h3{font-size:26px}.j-tour-dialog .j-dialog-bottom>.j-photo-note{display:none}.j-contact-options{gap:8px}.j-inquiry input:not([type=checkbox]),.j-inquiry textarea,#chat-form input,.j-field select,.j-field input{font-size:16px}.j-dialog-bottom{gap:10px}.j-calendar-fallback{flex-direction:column}.j-arrival-steps{grid-template-columns:1fr;gap:10px}.j-support-intro{padding-top:40px}.j-support-photo{max-height:300px}.j-toast{bottom:150px}}
.j-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}.j-months calendar-month{width:100%;min-width:0}calendar-month::part(range-inner){border-radius:0;background:#e6eddd;color:#233b30}calendar-month::part(range-start),calendar-month::part(range-end){background:#233b30;color:#fffdf7}calendar-month::part(range-start):hover,calendar-month::part(range-end):hover{background:#36533e;color:white}calendar-month::part(button):disabled{color:#abb0a2;cursor:not-allowed}calendar-range::part(heading){font:500 14px var(--sans)}.j-inquiry select{display:block;width:100%;padding:13px;border:1px solid var(--j-border);background:white;border-radius:6px;margin-top:7px;font:16px var(--sans)}
@media(max-width:760px){.j-months{grid-template-columns:1fr;gap:0}.j-mobile-reserve~.j-help{bottom:92px}.j-calendar-dialog .j-dialog-top{margin-bottom:16px}}
.j-section-nav{scrollbar-width:none}.j-section-nav::-webkit-scrollbar{display:none}.j-map-cafe{display:block}.j-card>img{height:250px;width:100%;object-fit:cover}body:has(#journey)>.j-help{bottom:135px}
@media(max-width:760px){#journey .j-dock{display:none}.mobile-dock{display:flex}body:has(#journey)>.j-help{width:44px;padding:10px;justify-content:center;font-size:0;bottom:18px}body:has(#journey)>.j-help>span{font-size:22px}.film-footnote{padding-right:45px}}
@media(prefers-reduced-motion:reduce){.j-card,.j-card-photo img,.j-mosaic img,.j-btn{transition:none}.j-card.recommended{transform:none}}
@media(min-width:901px) and (max-width:1200px){.site-header nav{gap:12px}.site-header nav a[href="gallery.html"]{display:inline-flex}}

/* mobile.css */
/* Phone composition: image, story, scene shortcuts, then the stay planner. */
.scene-nav .scene-name{display:none}
@media(max-width:767px){
  html{scrollbar-gutter:auto;scroll-padding-top:88px}
  body{-webkit-tap-highlight-color:#ecc69b40}
  .header{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:12px;min-height:72px;background:linear-gradient(#13271ef5,#13271e60)}
  .brand{gap:7px;min-height:44px}.brand svg{width:32px}.brand>span{font-size:10px}.brand small{font-size:7px;letter-spacing:.25em}
  .header nav{display:none}.header-book{min-height:44px;font-size:12px;padding:10px 14px;gap:12px}
  .journey{height:420svh}.stage{height:100svh;min-height:0}
  body.still-view .journey{height:100svh}
  .scene-media:before{display:none}
  .scene-media{background:var(--deep)}
  .scene-media #poster,.scene-media video,.scene-media #outlook{top:66px;height:58%;object-fit:cover;object-position:center}
  .shade{background:linear-gradient(0deg,#13271e 17%,#13271ef5 30%,#13271e94 48%,transparent 68%),linear-gradient(#13271e50,transparent 25%)}
  .scene-top{top:87px;left:20px;right:20px;font-size:9px;letter-spacing:.08em;text-shadow:0 1px 8px #000}
  .chapter,.villa-copy{top:auto;bottom:calc(248px + env(safe-area-inset-bottom));left:20px;right:20px;max-width:none}
  .chapter h1,.chapter h2,.villa-copy h2{font-size:clamp(54px,16vw,78px);line-height:.94}
  .chapter .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:12px}
  .description,.villa-copy .description{font-size:14px;line-height:1.55;margin-top:16px;max-width:340px}
  .villa-subtitle{font-size:25px;line-height:1.2;margin-top:12px}
  .villa-copy .underlink{display:none}
  .discover{font-size:10px;letter-spacing:.07em;min-height:44px;margin-top:13px;gap:10px}
  .circle{height:34px;width:34px;flex-shrink:0}
  .scene-nav{top:auto;bottom:calc(181px + env(safe-area-inset-bottom));left:20px;right:20px;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:8px}
  .scene-nav>span{display:none}.scene-nav button{width:100%;height:50px;min-height:44px;padding:4px 1px;font-size:10px;border-color:#ffffff50;background:#13271e75;border-radius:3px}
  .scene-nav .scene-name{display:block;font-size:10px;line-height:1.3;margin-top:2px;font-weight:500}
  .journey-bottom{left:20px;right:20px;bottom:calc(8px + env(safe-area-inset-bottom))}
  .film-meta{height:40px;margin-bottom:8px;gap:12px;font-size:10px;letter-spacing:.07em}
  .film-meta>span:first-child{max-width:none}.film-meta #chapter-count{display:none}
  #motion-toggle{min-width:64px;min-height:44px;font-size:12px;padding:8px 0}
  .booking-dock{display:none}.mobile-dock{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff40;min-height:68px;padding-top:12px;gap:12px}
  .mobile-dock>span{font:23px/1.15 var(--display)}.mobile-dock small{display:block;font:11px/1.5 var(--sans);margin-top:5px;color:#e1e6dc}
  .mobile-dock .button{font-size:12px;min-height:48px;padding:12px 14px;gap:8px;flex-shrink:0}
  .film-footnote{font-size:9px;letter-spacing:.03em;margin-top:5px;min-height:44px;gap:10px;opacity:1;color:#c3cfbf}
  .film-footnote>span:nth-child(2){display:none}.mobile-skip{display:inline-flex;align-items:center;min-height:44px;font-size:12px;white-space:nowrap;color:var(--paper)}
  .section-pad{padding:64px 20px}.welcome{grid-template-columns:1fr;gap:24px}.welcome h2{font-size:clamp(39px,10.8vw,60px)}
  .welcome-bottom{gap:16px}.welcome p:not(.eyebrow),.section-heading>p{font-size:15px;line-height:1.75}
  .section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(39px,10.8vw,60px)}.villas{padding-top:12px}
  .villa-grid{grid-template-columns:1fr;gap:42px}.villa-image{aspect-ratio:1.22}.villa-image>span{font-size:11px}
  .villa-name{flex-direction:row;align-items:center;margin-top:20px;gap:12px}.villa-name h3{font-size:44px}.villa-name>span{font-size:10px;text-align:right}
  .villa-card>p{font-size:15px;min-height:0;line-height:1.65}.villa-details span{font-size:11px;padding:6px 9px}.villa-card .underlink{font-size:14px;min-height:48px;margin-top:16px}
  .experience{grid-template-columns:1fr}.experience-image{min-height:0;aspect-ratio:1.1}.experience-copy{padding:50px 20px}.experience h2{font-size:clamp(39px,10.6vw,60px)}
  .experience-copy>p:not(.eyebrow),.amenities details p{font-size:15px}.amenities summary{font-size:14px;gap:12px;min-height:72px}.amenities summary>span{font-size:11px}.amenities details p{padding-left:26px}.experience-copy>.underlink{font-size:14px}
  .visit{grid-template-columns:1fr;gap:36px}.visit h2{font-size:clamp(48px,13vw,70px)}.visit p{font-size:15px}.visit .underlink{font-size:14px}.visit-plan{padding:32px 20px}.visit-plan small{font-size:12px}
  footer{grid-template-columns:1fr;padding:40px 20px max(30px,env(safe-area-inset-bottom));gap:24px}footer>div{justify-content:flex-start;flex-wrap:wrap;gap:8px 24px;font-size:13px}footer>div a{display:inline-flex;align-items:center;min-height:44px}footer>p{font-size:11px}
  dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:94dvh;border-radius:18px 18px 0 0;overscroll-behavior:contain;scroll-padding:72px 0 24px}
  dialog[open]{display:block}.booking-art{display:none}.booking-content{padding:30px 24px max(26px,env(safe-area-inset-bottom))}.booking-content h2{font-size:46px;margin:14px 0 22px}
  .booking-content>.eyebrow{font-size:10px;padding-right:45px}.booking-content label{font-size:13px}.booking-content input,.booking-content select{font-size:16px;min-height:50px;padding:10px;appearance:auto}
  .booking-content .button{min-height:52px;font-size:14px}.field-note,.prototype-note,#booking-result small{font-size:12px}.form-row{gap:12px;margin-top:18px}
  .close{position:sticky;float:right;top:12px;margin:12px 12px -56px 0;width:44px;height:44px;z-index:3;background:var(--paper)}
  #booking-result p:not(.eyebrow){font-size:15px}
}
@media(max-width:359px){
  .header{padding-left:12px;padding-right:12px}.brand svg{width:26px}.brand>span{font-size:9px}.header-book{gap:8px;padding:10px;font-size:11px}
  .scene-nav{left:16px;right:16px;gap:4px}.chapter,.journey-bottom{left:16px;right:16px}.scene-nav .scene-name{font-size:9px}
  .mobile-dock>span{font-size:21px}.mobile-dock small{font-size:10px}.mobile-dock .button{font-size:11px;padding:12px 10px}
  .booking-content{padding:28px 20px}.form-row{grid-template-columns:1fr}
}
@media(max-width:767px) and (max-height:740px){
  .chapter,.villa-copy{bottom:calc(239px + env(safe-area-inset-bottom))}.chapter h1,.chapter h2,.villa-copy h2{font-size:54px}.chapter .eyebrow{font-size:9px;margin-bottom:9px}
  .chapter .description{display:none}.villa-subtitle{font-size:23px}.discover{margin-top:10px}.scene-media #poster,.scene-media video,.scene-media #outlook{height:62%}
}
/* A horizontal phone needs a different composition, not a tall desktop stage. */
@media(max-height:520px) and (min-width:568px) and (max-width:1024px){
  html{scroll-padding-top:72px;scrollbar-gutter:auto}.header{min-height:60px;padding:8px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left))}.header nav{display:none}.header-book{min-height:44px;font-size:12px}
  .journey{height:500svh}.stage{height:100svh;min-height:0}body.still-view .journey{height:100svh}
  .scene-media:before{display:none}.scene-media #poster,.scene-media video,.scene-media #outlook{top:0;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,#13271eaa,transparent 70%),linear-gradient(0deg,#13271eef,transparent 65%)}
  .scene-top{display:none}.chapter,.villa-copy{left:max(24px,env(safe-area-inset-left));right:45%;top:88px;bottom:auto}.chapter h1,.chapter h2,.villa-copy h2{font-size:50px}.chapter .eyebrow{font-size:9px;margin-bottom:8px}.chapter .description,.discover,.villa-copy .underlink{display:none}.villa-subtitle{font-size:22px}
  .scene-nav{top:auto;bottom:18px;left:max(24px,env(safe-area-inset-left));right:44%;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:5px}.scene-nav>span{display:none}.scene-nav button{width:100%;height:46px;min-height:44px;font-size:11px}.scene-nav .scene-name{display:none}
  .journey-bottom{left:61%;right:max(24px,env(safe-area-inset-right));bottom:8px}.booking-dock{display:none}.film-meta{height:38px;margin-bottom:5px;gap:8px;font-size:9px}.film-meta .progress,#chapter-count{display:none}#motion-toggle{min-height:44px;font-size:11px;margin-left:auto}
  .mobile-dock{display:flex;padding-top:8px;min-height:54px;gap:8px;align-items:center;border-top:1px solid #ffffff55}.mobile-dock>span{display:none}.mobile-dock .button{width:100%;min-height:44px;font-size:12px;padding:10px 14px}
  .film-footnote{min-height:44px;margin-top:0}.film-footnote>span{display:none}.mobile-skip{display:flex;align-items:center;min-height:44px;font-size:12px}
  dialog{max-height:calc(100dvh - 16px);width:min(620px,calc(100% - 32px));inset:0;margin:auto;border-radius:12px;overscroll-behavior:contain}dialog[open]{display:block}.booking-art{display:none}.booking-content{padding:24px 32px}.booking-content h2{font-size:38px}.booking-content input,.booking-content select{font-size:16px;min-height:48px}.booking-content label{font-size:12px}.close{position:sticky;float:right;top:10px;margin:10px 10px -54px 0;width:44px;height:44px}
}
/* Quiet scene markers retain generous, keyboard-accessible hit areas. */
.scene-nav>span,.scene-nav button>span,.scene-nav button>.scene-name{display:none}
.scene-nav button,.scene-nav button:hover,.scene-nav button[aria-current]{
  display:grid;place-items:center;width:44px;height:44px;min-height:44px;
  padding:0;border:0;border-radius:50%;background:transparent;color:var(--paper);
}
.scene-nav button::before{
  content:'';width:7px;height:7px;border-radius:50%;background:#fffdf680;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.scene-nav button[aria-current]::before{
  background:var(--gold);transform:scale(1.3);box-shadow:0 0 0 4px #ecc69b22;
}
@media(hover:hover){.scene-nav button:hover::before{background:var(--paper)}}
@media(max-width:767px), (max-height:520px) and (min-width:568px) and (max-width:1024px){
  .scene-nav{grid-template-columns:repeat(6,44px);justify-content:center;gap:2px}
}

/* Scene navigation and metadata are hidden; bring the story closer to booking. */
@media(max-width:767px) and (min-height:521px){
  .chapter,.villa-copy{bottom:calc(158px + env(safe-area-inset-bottom))}
}

/* refined.css */
:root{--paper:#fbfaf5;--white:#fffefa;--ink:#21392d;--muted:#637365;--sage:#eef1e8;--line:#d8ded3;--gold:#c7ad78;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
.refined-main *{box-sizing:border-box}
.refined-main{scroll-behavior:smooth}
.refined-main{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}
.refined-main a{color:inherit;text-decoration:none}
.refined-main img{display:block;width:100%;height:100%;object-fit:cover}
.refined-main button{font:inherit}
.refined-main .wrap{width:min(100% - 96px,1320px);margin-inline:auto}
.refined-main .eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;text-transform:uppercase}
.refined-main .muted{color:var(--muted)}
.refined-main .tiny{font-size:11px;color:var(--muted)}
.refined-main .serif{font-family:var(--serif)}
.refined-main em{font-family:var(--serif);font-weight:400;color:#7a8976}
.refined-main h1,.refined-main h2,.refined-main h3,.refined-main p{margin-top:0}
.refined-main h1,.refined-main h2,.refined-main h3{font-family:var(--serif);font-weight:400;line-height:.96}
.refined-main h1{font-size:clamp(62px,6vw,92px);letter-spacing:-.035em;margin-bottom:13px}
.refined-main h2{font-size:clamp(46px,4.6vw,69px);letter-spacing:-.025em;margin-bottom:17px}
.refined-main h3{font-size:37px;margin-bottom:8px}
.refined-main .header{height:78px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding-inline:max(48px,calc((100vw - 1320px)/2));position:relative;z-index:5}
.refined-main .brand{display:flex;gap:13px;align-items:center;min-width:220px;line-height:1}
.refined-main .brand svg{width:42px;height:36px;fill:none;stroke:var(--ink);stroke-width:1.5}
.refined-main .brand strong{display:block;font:24px/1 var(--serif);letter-spacing:.08em;white-space:nowrap}
.refined-main .brand small{display:block;text-align:center;font-size:9px;letter-spacing:.38em;margin-top:6px}
.refined-main .header nav{display:flex;align-items:center;gap:33px;font-size:13px}
.refined-main .header nav a{padding-block:10px;border-bottom:1px solid transparent;white-space:nowrap}
.refined-main .header nav a[aria-current]{border-color:var(--ink)}
.refined-main .button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:12px 20px;background:var(--ink);color:#fffdf7;font-size:13px;font-weight:600;white-space:nowrap}
.refined-main .button.light{background:var(--white);color:var(--ink)}
.refined-main .text-link{display:inline-flex;gap:20px;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:600;white-space:nowrap}
.refined-main .preview-note{margin:0;padding:8px 20px;background:var(--sage);text-align:center;font-size:10px;letter-spacing:.04em;color:#61725e}
.refined-main .intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-block:42px 27px}
.refined-main .intro .eyebrow{margin-bottom:13px}
.refined-main .intro-side{max-width:285px;padding-bottom:10px;color:var(--muted)}
.refined-main .intro-side p{margin-bottom:17px}
.refined-main .section{padding-block:95px}
.refined-main .section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.refined-main .section-head p{max-width:370px;color:var(--muted);margin:0}
.refined-main .photo{position:relative;overflow:hidden;background:#dce5d9}
.refined-main .photo img{transition:transform .7s ease}
.refined-main .photo:hover img{transform:scale(1.025)}
.refined-main .photo figcaption,.refined-main .photo-label{position:absolute;left:18px;bottom:16px;background:rgba(255,254,250,.94);padding:7px 11px;font:17px var(--serif);color:var(--ink)}
.refined-main .gallery-tabs{display:flex;gap:31px;border-bottom:1px solid var(--line);margin-bottom:17px;font-size:13px}
.refined-main .gallery-tabs a{padding:0 0 11px;border-bottom:2px solid transparent}
.refined-main .gallery-tabs a:first-child{border-color:var(--ink);font-weight:600}
.refined-main .mosaic{display:grid;grid-template-columns:2.08fr 1fr 1fr;grid-template-rows:240px 240px;gap:9px}
.refined-main .mosaic .main-photo{grid-row:span 2}
.refined-main .mosaic figure{margin:0}
.refined-main .villa-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.refined-main .villa-index a{border-top:1px solid var(--line);padding-top:13px;display:grid;grid-template-columns:83px 1fr auto;gap:14px;align-items:center}
.refined-main .villa-index img{height:62px}
.refined-main .villa-index strong{font:29px var(--serif)}
.refined-main .villa-index small{display:block;color:var(--muted);font-size:11px}
.refined-main .soft{background:var(--sage)}
.refined-main .inside-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:12px}
.refined-main .inside-grid .photo{height:440px}
.refined-main .inside-grid .photo:nth-child(n+2){height:440px}
.refined-main .inside-grid .photo-label{font-size:16px}
.refined-main .photo-note{margin:18px 0 0;color:var(--muted);font-size:11px}
.refined-main .panorama{height:475px;position:relative;overflow:hidden;background:var(--ink)}
.refined-main .panorama img{position:absolute;inset:0}
.refined-main .panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,33,25,.73),transparent 74%)}
.refined-main .panorama-copy{position:absolute;z-index:1;left:calc((100vw - min(100% - 96px,1320px))/2);top:50%;transform:translateY(-50%);color:white;max-width:390px}
.refined-main .panorama-copy h2{color:white}
.refined-main .panorama-copy em{color:#f0d9a7}
.refined-main .panorama-copy p{max-width:310px}
.refined-main .views-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.refined-main .views-grid figure{margin:0}
.refined-main .views-grid img{height:235px}
.refined-main .views-grid figcaption{font:27px var(--serif);padding-top:13px}
.refined-main .views-grid small{display:block;color:var(--muted);font:12px/1.5 var(--sans);margin-top:4px}
.refined-main .cta{background:var(--ink);color:#fffdf7;padding-block:61px}
.refined-main .cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.refined-main .cta h2{margin:0}
.refined-main .cta em{color:#c4cfbc}
.refined-main .cta p{margin:10px 0 0;color:#d7dfd2}
.refined-main .footer{background:#172c22;color:#e9ede4;padding:48px 0 21px}
.refined-main .footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}
.refined-main .footer-brand{font:35px var(--serif);line-height:1}
.refined-main .footer-brand small{display:block;font:9px var(--sans);letter-spacing:.25em;margin-top:11px}
.refined-main .footer p{color:#bdc9bb;font-size:12px;line-height:1.6;margin-top:16px}
.refined-main .footer h4{font-size:10px;letter-spacing:.17em;margin:0 0 14px}
.refined-main .footer a:not(.footer-brand){display:block;font-size:12px;margin:8px 0;color:#dce5d8}
.refined-main .footer-bottom{border-top:1px solid #4c6153;margin-top:45px;padding-top:15px;display:flex;justify-content:space-between;color:#aab9a9;font-size:10px}
.refined-main .visit-hero{display:grid;grid-template-columns:45% 55%;min-height:620px}
.refined-main .visit-copy{padding:54px min(6vw,85px) 38px max(48px,calc((100vw - 1320px)/2));display:flex;flex-direction:column}
.refined-main .visit-copy h1{font-size:clamp(58px,5vw,82px)}
.refined-main .visit-copy .place{font:26px var(--serif);margin:8px 0 16px}
.refined-main .visit-copy .place:before{content:'◉';font:17px var(--sans);margin-right:12px}
.refined-main .visit-copy .lead{max-width:500px;margin-bottom:25px}
.refined-main .visit-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.refined-main .steps{margin-top:auto;padding-top:35px}
.refined-main .steps div{border-top:1px solid var(--line);padding:12px 0;display:flex;gap:26px;align-items:center;font:27px var(--serif)}
.refined-main .steps b{font:48px var(--serif);color:#8a9b87;width:63px}
.refined-main .visit-photo{position:relative;min-height:620px}
.refined-main .visit-photo img{object-position:53%}
.refined-main .visit-float{position:absolute;right:32px;bottom:34px;background:var(--white);padding:22px 25px;width:270px;box-shadow:0 10px 35px rgba(0,0,0,.08)}
.refined-main .visit-float h3{font-size:29px}
.refined-main .visit-float p{font-size:12px;margin:6px 0;color:var(--muted)}
.refined-main .visit-questions{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.refined-main .visit-questions>div:first-child{max-width:475px}
.refined-main .visit-questions .photo{height:470px}
.refined-main .visit-questions .photo-label{font-size:12px}
.refined-main .fact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.refined-main .fact-list article{padding:22px;border-top:1px solid var(--line)}
.refined-main .fact-list span{font:40px var(--serif);color:#8a9b87}
.refined-main .fact-list h3{font-size:31px;margin:13px 0 7px}
.refined-main .fact-list p{font-size:13px;color:var(--muted)}
.refined-main .site-position{background:var(--sage);padding-block:85px}
.refined-main .site-position .section-head{margin-bottom:40px}
.refined-main .diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;padding:50px 50px 32px;border:1px solid #cbd4c6;background:#f7f8f2}
.refined-main .diagram:before{content:'LAGUNA LAKE & DISTANT HILLS';position:absolute;top:17px;left:50px;font:10px var(--sans);letter-spacing:.18em;color:#758676}
.refined-main .diagram article{text-align:center;position:relative}
.refined-main .house{width:115px;height:87px;margin:0 auto 19px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(115deg,#759687,#304b3e);border-bottom:8px solid #c4d8c9}
.refined-main .diagram article:nth-child(2) .house{clip-path:polygon(25% 14%,75% 14%,100% 100%,0 100%)}
.refined-main .diagram h3{margin:0 0 4px}
.refined-main .diagram p{font-size:12px;color:var(--muted)}
.refined-main .diagram .path{grid-column:1/-1;border-top:1px dashed #92a594;text-align:center;padding-top:17px;color:var(--muted);font-size:11px}
.refined-main .qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.refined-main .qa-grid article{border-top:1px solid var(--line);padding-top:18px}
.refined-main .qa-grid h3{font-size:32px}
.refined-main .qa-grid p{color:var(--muted);font-size:13px}
.refined-main .contact-band{background:var(--ink);color:#fffdf7;padding:60px 0}
.refined-main .contact-band .section-head{margin-bottom:31px}
.refined-main .contact-band h2{margin:0}
.refined-main .contact-band p{color:#cfd8cc}
.refined-main .contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.refined-main .contact-links a{border:1px solid #6d8273;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;font:27px var(--serif)}
.refined-main .villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.refined-main .villa-card{border-right:1px solid var(--line);padding-right:14px;position:relative}
.refined-main .villa-card:last-child{border-right:0;padding-right:0}
.refined-main .villa-card .photo{height:310px}
.refined-main .villa-card .eyebrow{margin:17px 0 7px;color:var(--muted)}
.refined-main .villa-card h2{font-size:52px;margin:0}
.refined-main .villa-card .sub{font:italic 25px var(--serif);margin:0 0 17px}
.refined-main .villa-card .summary{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:11px;min-height:52px}
.refined-main .villa-card .badge{position:absolute;top:16px;right:30px;z-index:1;background:var(--ink);color:white;padding:7px 12px;font:15px var(--serif)}
.refined-main .compare-strip{background:var(--sage);padding:24px 0;margin-top:23px}
.refined-main .compare-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:20px;align-items:center}
.refined-main .compare-strip span{font:25px var(--serif);border-right:1px solid #c6d2c3}
.refined-main .compare-strip small{display:block;font:9px var(--sans);letter-spacing:.1em;color:var(--muted)}
.refined-main .comparison{display:grid;grid-template-columns:1.2fr repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.refined-main .comparison>*{padding:19px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.refined-main .comparison strong{font:27px var(--serif)}
.refined-main .comparison .label{font-weight:700;background:#f3f5ee}
.refined-main .comparison .note{color:var(--muted)}
.refined-main .position-hero{background:var(--ink);color:#fffdf7;padding:78px 0}
.refined-main .position-hero .section-head p{color:#c7d1c4}
.refined-main .position-hero h2 em{color:#bccbb7}
.refined-main .position-line{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.refined-main .position-line article{border-top:1px solid #76907b;padding:22px 18px 12px;background:#294535}
.refined-main .position-line .number{font:46px var(--serif);color:#afc3ae}
.refined-main .position-line h3{margin:9px 0}
.refined-main .position-line p{font-size:12px;color:#d4dfd1;margin:0}
.refined-main .position-foot{font-size:11px;color:#b9cdbb;margin-top:18px}
.refined-main .villa-deep{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.refined-main .villa-deep .photo{height:450px}
.refined-main .deep-list article{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}
.refined-main .deep-list strong{font:29px var(--serif)}
.refined-main .deep-list small{font-size:11px;color:var(--muted)}
@media(max-width:1000px){.refined-main .wrap{width:min(100% - 48px,1320px)}
.refined-main .header{padding-inline:24px}
.refined-main .header nav{gap:13px;font-size:11px}
.refined-main .brand{min-width:170px}
.refined-main .brand strong{font-size:17px}
.refined-main .intro{padding-top:32px}
.refined-main .mosaic{grid-template-rows:190px 190px}
.refined-main .visit-copy{padding-left:24px}
.refined-main .visit-copy h1{font-size:61px}
.refined-main .steps div{font-size:21px}
.refined-main .steps b{font-size:38px}
.refined-main .panorama-copy{left:24px}}
@media(max-width:760px){.refined-main .header{height:68px}
.refined-main .header nav{display:none}
.refined-main .header .button{font-size:11px;min-height:42px;padding:9px 12px}
.refined-main .brand svg{width:30px}
.refined-main .brand strong{font-size:15px}
.refined-main .brand small{font-size:7px}
.refined-main .wrap{width:min(100% - 36px,1320px)}
.refined-main .intro{display:block}
.refined-main .intro-side{max-width:none;margin-top:16px}
.refined-main .intro-side p{margin:0}
.refined-main .intro-side .text-link{display:none}
.refined-main h1{font-size:56px}
.refined-main h2{font-size:47px}
.refined-main .gallery-tabs{overflow:auto;white-space:nowrap;gap:20px}
.refined-main .mosaic{grid-template-columns:1fr 1fr;grid-template-rows:300px 145px 145px}
.refined-main .mosaic .main-photo{grid-column:span 2;grid-row:span 1}
.refined-main .mosaic .photo{height:100%}
.refined-main .villa-index,.refined-main .views-grid,.refined-main .fact-list,.refined-main .qa-grid,.refined-main .contact-links,.refined-main .position-line{grid-template-columns:1fr}
.refined-main .section{padding-block:60px}
.refined-main .section-head{display:block}
.refined-main .section-head p{margin-top:13px}
.refined-main .inside-grid{grid-template-columns:1fr 1fr}
.refined-main .inside-grid .photo:first-child{grid-column:span 2}
.refined-main .inside-grid .photo{height:220px!important}
.refined-main .panorama{height:480px}
.refined-main .panorama-copy{left:18px;right:18px}
.refined-main .views-grid img{height:220px}
.refined-main .cta .wrap{display:block}
.refined-main .cta .button{margin-top:24px}
.refined-main .footer-grid{grid-template-columns:1fr 1fr}
.refined-main .footer-grid>div:first-child{grid-column:span 2}
.refined-main .visit-hero{grid-template-columns:1fr}
.refined-main .visit-copy{padding:36px 18px}
.refined-main .visit-copy h1{font-size:55px}
.refined-main .steps{margin-top:24px}
.refined-main .visit-photo{min-height:380px;height:380px}
.refined-main .visit-float{right:15px;bottom:15px}
.refined-main .visit-questions,.refined-main .villa-deep{grid-template-columns:1fr}
.refined-main .visit-questions .photo,.refined-main .villa-deep .photo{height:310px}
.refined-main .diagram{padding:48px 13px 16px;gap:7px}
.refined-main .diagram:before{left:13px}
.refined-main .house{width:65px;height:55px}
.refined-main .diagram h3{font-size:27px}
.refined-main .diagram p{font-size:10px}
.refined-main .villa-grid{grid-template-columns:1fr}
.refined-main .villa-card{border:0;border-bottom:1px solid var(--line);padding:0 0 30px}
.refined-main .villa-card .photo{height:260px}
.refined-main .compare-strip .wrap{grid-template-columns:1fr 1fr}
.refined-main .compare-strip span{font-size:20px}
.refined-main .comparison{grid-template-columns:1fr 1fr;overflow:hidden}
.refined-main .comparison>*{font-size:11px;padding:13px}
.refined-main .comparison>*:nth-child(4n+1){background:var(--sage)}
.refined-main .position-hero{padding-block:55px}
.refined-main .footer-bottom{display:block}
.refined-main .footer-bottom span{display:block;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.refined-main{scroll-behavior:auto}
.refined-main .photo img{transition:none}}
.refined-main .deep-list small{display:block;margin-top:3px}
@media(max-width:360px){.refined-main .header{padding-inline:16px;gap:8px}
.refined-main .brand{min-width:0;gap:7px}
.refined-main .brand svg{width:25px;flex:none}
.refined-main .brand strong{font-size:13px}
.refined-main .brand small{font-size:6px;letter-spacing:.25em}
.refined-main .header .button{gap:8px;padding-inline:9px;font-size:10px}
.refined-main .gallery-tabs{max-width:100%}}
.refined-main .comparison-panel{border-top:1px solid var(--line);padding-top:27px}
.refined-main .compare-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:20px}
.refined-main .compare-intro h3{font-size:39px;margin:8px 0 0}
.refined-main .compare-intro>p{max-width:390px;color:var(--muted);font-size:13px;margin:0}
.refined-main .comparison-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--white);scrollbar-color:#9aab98 var(--sage);scrollbar-width:thin}
.refined-main .comparison-scroll:focus-visible{outline:3px solid #9c723f;outline-offset:4px}
.refined-main .comparison-table{width:100%;min-width:820px;table-layout:fixed;border-spacing:0;border-collapse:separate;font-size:13px;line-height:1.45;text-align:left}
.refined-main .comparison-label-col{width:20%}
.refined-main .comparison-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.refined-main .comparison-table th,.refined-main .comparison-table td{padding:16px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}
.refined-main .comparison-table tr>*:last-child{border-right:0}
.refined-main .comparison-table tbody tr:last-child>*{border-bottom:0}
.refined-main .comparison-table thead th{background:#f1f4ec;font-weight:600;vertical-align:bottom}
.refined-main .comparison-table thead th:not(:first-child) a{font:30px/1 var(--serif);display:inline-block;border-bottom:1px solid transparent}
.refined-main .comparison-table thead th:not(:first-child) a:hover{border-color:currentColor}
.refined-main .comparison-table small{display:block;font-size:10px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:5px}
.refined-main .comparison-table tbody th[scope=row]{background:#f7f8f2;font-size:12px;font-weight:700}
.refined-main .comparison-table tbody td{color:#33473b}
.refined-main .comparison-table tbody td a{font-weight:700;border-bottom:1px solid currentColor}
.refined-main .comparison-table .compare-group th{background:var(--ink);color:#f8f8ef;padding:10px 17px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.refined-main .comparison-table .compare-group span{letter-spacing:0;text-transform:none;font-weight:400;color:#d4e0d2}
.refined-main .comparison-table tbody tr:not(.compare-group):hover td{background:#f7f9f4}
.refined-main .compare-caveat{font-size:11px;color:var(--muted);margin:15px 0 0}
.refined-main .compare-mobile-hint{display:none}
@media(max-width:760px){.refined-main .compare-intro{display:block}
.refined-main .compare-intro h3{font-size:34px}
.refined-main .compare-intro>p{margin-top:12px}
.refined-main .compare-mobile-hint{display:block;font-size:11px;font-weight:700;margin:16px 0 9px}
.refined-main .compare-mobile-hint span{margin-left:7px}
.refined-main .comparison-table{width:880px;min-width:880px}
.refined-main .comparison-label-col{width:155px}
.refined-main .comparison-table th,.refined-main .comparison-table td{padding:13px 12px}
.refined-main .comparison-table thead th:first-child,.refined-main .comparison-table tbody th[scope=row]{position:sticky;left:0;z-index:2;box-shadow:2px 0 0 var(--line)}
.refined-main .comparison-table thead th:first-child{z-index:3}
.refined-main .comparison-table .compare-group th{position:static;box-shadow:none}}
.refined-main .comparison-table{font-variant-numeric:tabular-nums}
.refined-main .compare-mobile-tools{display:none}
@media(max-width:760px){.refined-main .compare-mobile-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 9px}
.refined-main .compare-mobile-tools p{font-size:11px;margin:0;line-height:1.35}
.refined-main .compare-mobile-tools strong{font-weight:700}
.refined-main .compare-mobile-tools>div{display:flex;gap:6px}
.refined-main .compare-arrow{width:44px;height:44px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font-size:20px;line-height:1}
.refined-main .compare-arrow:disabled{opacity:.4;cursor:default}
.refined-main .compare-arrow:focus-visible{outline:3px solid #9c723f;outline-offset:2px}}
.refined-main .comparison-table .compare-group .group-title{color:#f8f8ef;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.refined-main .comparison-table .compare-group .group-title span{color:#d4e0d2;font-weight:400;letter-spacing:0;text-transform:none}
@media(max-width:760px){.refined-main .comparison-table .compare-group .group-title{position:sticky;left:12px}}
.refined-main{--paper:#fbfaf5;--white:#fffefa;--ink:#21392d;--muted:#637365;--sage:#eef1e8;--line:#d8ded3;--gold:#c7ad78;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;display:block;overflow:clip}
.refined-main>.visit-hero{padding:0;gap:0}
.refined-main .visit-photo{height:100%;align-self:stretch}
.refined-main>.panorama{padding:0}
.refined-main>.wrap:not(.intro):not(.section){padding-block:0}
.refined-main>.wrap.intro{padding-block:42px 27px}
.refined-main>.wrap.section,.refined-main>.soft.section{padding-block:95px}
.refined-main>.site-position{padding-block:85px}
.refined-main>.position-hero{padding-block:78px}
.refined-main>.contact-band,.refined-main>.cta{padding-block:61px}
.refined-main .refined-preferences{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.refined-main .refined-preferences span{font-size:12px;color:var(--muted);margin-right:6px}
.refined-main .refined-preferences button{border:1px solid #bccbbb;border-radius:40px;background:transparent;color:var(--ink);min-height:44px;padding:9px 15px;cursor:pointer;font:12px var(--sans)}
.refined-main .refined-preferences button[aria-pressed=true]{background:var(--ink);color:white}
.refined-main .j-recommendation{font-size:12px;color:var(--muted);margin:0 0 16px}
.refined-main .villa-card.recommended{background:#f0f4ec;outline:2px solid #718e75;outline-offset:4px}
.refined-main .refined-photo-tour{padding-bottom:34px}
.refined-main .refined-photo-tour .filter-bar{margin:0 0 18px}
.refined-main .refined-photo-tour .journal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:175px;gap:9px}
.refined-main .refined-photo-tour .journal-photo{min-width:0;height:100%;overflow:hidden;position:relative}
.refined-main .refined-photo-tour .journal-photo:first-child{grid-column:span 2;grid-row:span 2}
.refined-main .refined-photo-tour .journal-photo img{height:100%;width:100%;object-fit:cover}
.refined-main .refined-photo-tour [hidden]{display:none!important}
.refined-main .contact-links button{border:1px solid #6d8273;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;font:27px var(--serif);background:transparent;color:white;cursor:pointer;text-align:left}
.refined-main a:focus-visible,.refined-main button:focus-visible,.refined-main .comparison-scroll:focus-visible{outline:3px solid #b8803f;outline-offset:3px}
@media(max-width:1000px){.refined-main .refined-photo-tour .journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:160px}}
@media(max-width:760px){.refined-main>.wrap.intro{padding-block:32px 27px}.refined-main>.wrap.section,.refined-main>.soft.section{padding-block:60px}.refined-main>.site-position{padding-block:60px}.refined-main>.position-hero{padding-block:55px}.refined-main .visit-photo{height:380px;min-height:380px}.refined-main .refined-photo-tour .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px}.refined-main .refined-photo-tour .journal-photo:first-child{grid-column:span 2;grid-row:span 2}.refined-main .refined-preferences{gap:7px}.refined-main .refined-preferences span{width:100%}.refined-main .contact-links button{font-size:23px}}
@media(max-width:760px){@supports(width:100cqi){.refined-main .comparison-scroll{container-type:inline-size}.refined-main .comparison-table{width:calc(300cqi - 256px);min-width:0}.refined-main .comparison-label-col{width:128px}}}
@media(max-width:760px){body:has(.refined-main)>.j-help{width:48px;height:48px;padding:0;justify-content:center;font-size:0;right:18px;bottom:18px}body:has(.refined-main)>.j-help>span{font-size:22px}}

/* availability.css */
/* Approved photo-led availability concept. */
.availability-page .j-demo-banner,.availability-page>.j-help{display:none}
.av-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-block:27px 14px}
.availability-page .av-intro h1{font:clamp(46px,4.7vw,68px)/1.06 var(--display);letter-spacing:-.03em;margin:0 0 4px}
.availability-page .av-intro h1 em{color:var(--ink)}
.av-intro p{font-size:clamp(15px,1.35vw,19px);color:#37493e}.av-demo{font-size:12px;color:#657065;white-space:nowrap;padding-bottom:5px}
.av-controls{padding:0 0 17px;background:#faf8f2}.av-month-control{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.av-month-control button{min-height:42px;width:max-content;padding:9px 22px;border:1px solid #8f9b90;border-radius:24px;background:transparent;color:var(--ink);font:13px var(--sans);cursor:pointer;transition:background .18s}
.av-month-control button:hover:not(:disabled){background:#e9edde}.av-month-control button:last-child{justify-self:end}.av-month-control button:disabled{opacity:.35;cursor:default}
.av-month-control select{font:clamp(29px,3vw,42px)/1.1 var(--display);color:var(--ink);background:transparent;border:0;padding:9px 12px;min-height:50px;max-width:290px;cursor:pointer}
.av-context{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin-top:5px}.av-prompt{font-size:13px;color:#596653}.av-prompt[hidden]{display:none}
.av-guests{display:flex;align-items:center;gap:8px;font:12px var(--sans);color:#596653;white-space:nowrap}.av-guests input{width:54px;min-height:40px;padding:5px 7px;border:1px solid #b5c0b2;border-radius:8px;background:#fffdf8;color:var(--ink);font:14px var(--sans);text-align:center}.av-guests input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.av-legend{display:flex;gap:22px;align-items:center;margin-left:auto;font-size:12px;white-space:nowrap}.av-legend span{display:flex;gap:7px;align-items:center}.av-legend b,.av-legend s{font:17px var(--display)}.av-legend s{color:#747a70}
.av-selection{display:flex;align-items:center;gap:18px}.av-selection[hidden]{display:none}.av-selection p{font-size:13px;line-height:1.5;background:#e4e8df;padding:9px 14px;border-radius:12px}.av-selection .j-link{font-size:12px;min-height:40px;white-space:nowrap;padding:7px 0}
.av-calendars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.av-message{grid-column:1/-1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--ink);background:#fffdf8;border:1px solid #d8ddd4;border-radius:10px;padding:24px}.av-message p{margin:0}
.av-card{min-width:0;border:1px solid #d8ddd4;background:#fffdf8;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.av-villa-head{display:block}.av-villa-head img{display:block;width:100%;height:clamp(150px,13.2vw,190px);object-fit:cover;object-position:50% 47%;transition:filter .2s}.av-villa-head:hover img{filter:brightness(1.06)}
[data-villa-calendar="Zuriel"] .av-villa-head img{object-position:50% 43%}
.av-villa-head>div{padding:13px 20px 10px}.availability-page .av-villa-head h2{font:36px/1 var(--display);letter-spacing:-.02em;margin:0}.av-villa-head h2 span{font:17px var(--sans);margin-left:6px;opacity:0;transition:opacity .2s}.av-villa-head:hover h2 span,.av-villa-head:focus-visible h2 span{opacity:1}.av-villa-head p{font-size:12px;color:#54604f;margin-top:4px}
.av-card table{width:calc(100% - 30px);margin:0 15px 12px;border-collapse:separate;border-spacing:0 3px;table-layout:fixed}.av-card th{font:400 11px var(--sans);height:26px;color:#56644f}.av-card th abbr{text-decoration:none}.av-card td{padding:0;height:40px;text-align:center}
.av-card th,.av-card td{padding:0;border-bottom:0;vertical-align:middle}
.av-day{width:100%;min-height:40px;border:1px solid transparent;border-radius:8px;background:transparent;color:#233b30;font:13px var(--sans);position:relative;padding:7px 0;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums;scroll-margin-block:180px 35px}.av-day i{display:none}.av-day.booked{color:#777d72}.av-day.booked span{text-decoration:line-through;text-decoration-thickness:1px}.av-day.today{border-color:#b6c1ac}.av-day.selected{background:#e0e7d9;border-radius:0}.av-day.endpoint{background:#233b30;color:#fffdf8}.av-day.range-start{border-radius:12px 0 0 12px}.av-day.range-end{border-radius:0 12px 12px 0}.av-day:hover:not(:disabled){border-color:#4c6843}.av-day:disabled{opacity:.3;cursor:default;background:none}.av-day:focus-visible{outline:2px solid #233b30;outline-offset:2px;z-index:1}
.av-result{padding:17px 18px 19px;margin:0 14px;margin-top:auto;border-top:1px solid #dce0d5;text-align:center}.av-result>p{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:#233b30;margin-bottom:12px;min-height:24px}.av-result-icon{font:25px/1 var(--sans)}.av-result.booked>p,.av-result.capacity>p{color:#62695e}.av-result .j-btn{width:100%;min-height:45px;font-size:13px;justify-content:center;padding:10px;border-radius:6px}.av-result .j-link{font-size:12px;min-height:45px}
.av-footnote{display:flex;justify-content:center;align-items:center;gap:24px;color:#65705e;margin:18px 0 32px}.av-footnote p{font-size:11px}.av-footnote .j-link{font-size:11px;min-height:38px}.av-planner{scroll-margin-top:100px}
@media(max-width:1150px){.av-calendars{gap:16px}.av-villa-head>div{padding-inline:16px}.availability-page .av-villa-head h2{font-size:32px}.av-villa-head p{font-size:11px}.av-card table{width:calc(100% - 18px);margin-inline:9px}.av-result{padding:13px 0 16px;margin-inline:16px}.av-result>p{font-size:11px;gap:7px}.av-month-control select{font-size:34px}}
@media(max-width:900px){.av-intro{align-items:start;flex-direction:column;gap:9px;padding-block:23px 12px}.av-demo{font-size:11px}.av-calendars{grid-template-columns:1fr;max-width:560px;margin-inline:auto;gap:25px}.av-controls{position:sticky;top:72px;z-index:5;padding:8px 0 12px;border-bottom:1px solid #e0e3d8;margin-bottom:16px}.av-month-control select{font-size:28px;max-width:220px}.av-month-control button{padding:8px 13px}.av-context{flex-wrap:wrap;gap:8px;min-height:42px;margin-top:6px}.av-prompt{font-size:12px}.av-legend{font-size:11px;gap:12px}.av-selection{gap:13px;width:100%;justify-content:space-between}.av-selection p{font-size:12px;padding:8px 11px}.av-selection .j-link{font-size:11px}.av-villa-head img{height:210px}.av-villa-head>div{padding:16px 19px 10px}.availability-page .av-villa-head h2{font-size:36px}.av-villa-head p{font-size:13px}.av-card table{width:calc(100% - 20px);margin-inline:10px}.av-day{font-size:15px;min-height:46px}.av-card th{font-size:12px;height:32px}.av-result{margin-inline:20px;padding-block:16px 19px}.av-result>p{font-size:13px}.av-result .j-btn{font-size:14px;min-height:47px}.av-footnote{flex-direction:column;text-align:center;gap:4px;margin-top:22px}.av-footnote p{max-width:300px}.av-footnote .j-link{font-size:12px}}
@media(max-width:420px){.av-month-control button span{display:none}.av-month-control button{padding:7px;min-width:44px;min-height:44px;font-size:20px}.av-month-control{gap:8px}.av-month-control select{font-size:27px;max-width:215px}.av-legend{margin-left:0}.av-villa-head img{height:175px}.av-card table{width:calc(100% - 8px);margin-inline:4px}}
@media(prefers-reduced-motion:reduce){.av-villa-head img,.av-villa-head h2 span,.av-month-control button{transition:none}}
/* Keep the month and complete villa choices within a typical desktop view. */
@media(min-width:901px){.av-intro{padding-block:20px 10px}.availability-page .av-intro h1{font-size:clamp(46px,4.2vw,60px)}.av-month-control select{height:54px;padding-block:0}.av-context{min-height:44px}.av-controls{padding-bottom:13px}.av-result{padding-block:13px 16px}}

/* journal.css */
/* A quieter editorial chapter within the established COAH visual language. */
.coah-journal{background:#faf8f2;color:#233b30}
.coah-journal .site-header{background:#faf8f2f5}
.journal-wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.journal-intro{display:grid;grid-template-columns:minmax(320px,.77fr) minmax(0,1.23fr);gap:clamp(40px,5vw,90px);align-items:center;padding-top:clamp(70px,8vw,120px);padding-bottom:44px}
.journal-intro-copy{padding:25px 0 35px}
.journal-intro .eyebrow,.journal-section-head .eyebrow,.journal-article-head .eyebrow{color:#657861}
.journal-intro h1{font:clamp(78px,8.4vw,144px)/.82 var(--display);letter-spacing:-.065em;margin:23px 0 31px;max-width:7ch}
.journal-intro h1 em,.journal-section-head h2 em,.journal-next h2 em{color:#7f8b76;font-weight:400}
.journal-intro-copy>p:not(.eyebrow){max-width:370px;font:clamp(16px,1.25vw,19px)/1.58 var(--sans);color:#4a5d50;margin-bottom:30px}
.journal-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:44px;border-bottom:1px solid #788b7e;font:600 13px var(--sans);text-decoration:none;transition:gap .25s ease}
.journal-text-link:hover{gap:43px}
.journal-intro-photo{position:relative;margin:0;min-width:0;aspect-ratio:1.18;overflow:hidden;background:#dfe8e3}
.journal-intro-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.journal-intro-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#172c2b90);pointer-events:none}
.journal-intro-photo figcaption{position:absolute;z-index:1;bottom:23px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#fffdf7;font:500 11px var(--sans)}
.journal-intro-photo figcaption span{font-size:9px;letter-spacing:.18em}
.journal-sample-note{border-top:1px solid #cdd6c9;border-bottom:1px solid #cdd6c9;padding:17px 0;display:flex;gap:24px;align-items:center;color:#677362}
.journal-sample-note span{flex:none;color:#526b55;font:700 9px var(--sans);letter-spacing:.15em}
.journal-sample-note p{margin:0;font:12px/1.5 var(--sans)}
.journal-stories{padding-top:95px;padding-bottom:115px;scroll-margin-top:110px}
.journal-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}
.journal-section-head h2{font:clamp(53px,5.4vw,82px)/1 var(--display);letter-spacing:-.035em;margin:13px 0 0}
.journal-section-head>p{max-width:300px;color:#637367;font:14px/1.65 var(--sans)}
.journal-card{text-decoration:none;min-width:0;color:inherit}
.journal-card-image{position:relative;overflow:hidden;background:#dbe4d9}
.journal-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.journal-card:hover .journal-card-image img{transform:scale(1.035)}
.journal-card-image>span{position:absolute;right:17px;bottom:17px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fffdf7e8;color:#233b30;font:22px var(--display)}
.journal-card-copy{padding-top:20px}
.journal-kicker{font:700 9px var(--sans)!important;letter-spacing:.14em;color:#697a65!important;margin:0 0 13px!important}
.journal-card h3{font:clamp(38px,3.3vw,56px)/1.02 var(--display);letter-spacing:-.03em;margin:0 0 13px}
.journal-card-copy>p:not(.journal-kicker){font:14px/1.6 var(--sans);color:#5f6d61;margin:0 0 19px;max-width:500px}
.journal-read{display:inline-flex;gap:19px;min-height:44px;align-items:center;border-bottom:1px solid #657866;font:600 12px var(--sans)}
.journal-feature{padding-bottom:58px;border-bottom:1px solid #d5ddcf}
.journal-card.featured{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,4.3vw,70px);align-items:center}
.journal-card.featured .journal-card-image{aspect-ratio:1.63}
.journal-card.featured .journal-card-copy{padding:8px 0}
.journal-card.featured h3{font-size:clamp(51px,5.2vw,76px);max-width:10ch}
.journal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:45px}
.journal-card-grid .journal-card-image{aspect-ratio:1.48}
.journal-card-grid .journal-card h3{max-width:15ch}
.journal-archive{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr);gap:clamp(42px,5vw,82px);align-items:start}
.journal-browse{border-top:1px solid #bccbbb}
.journal-browse-inner{position:sticky;top:108px;max-height:calc(100svh - 124px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-top:27px}
.journal-browse h3{font:clamp(39px,3.5vw,52px)/1.02 var(--display);letter-spacing:-.035em;margin:16px 0 32px}
.journal-browse h3 em{color:#82917d;font-weight:400}
.journal-browse label,.journal-topics legend{display:block;font:700 10px var(--sans);letter-spacing:.1em;color:#435d48;margin-bottom:12px}
.journal-search-field{position:relative;margin-bottom:34px}
.journal-search-field input{display:block;width:100%;height:50px;padding:12px 42px 12px 13px;border:1px solid #acbdab;border-radius:0;background:#fffef9;color:#233b30;font:14px var(--sans)}
.journal-search-field input::placeholder{color:#718172}
.journal-search-field input:focus-visible{outline:3px solid #bd773e;outline-offset:2px}
.journal-search-field>span{position:absolute;right:13px;top:8px;font:30px/1 var(--display);pointer-events:none;color:#4d6652}
.journal-topics{border:0;padding:0;margin:0}
.journal-topics legend{margin-bottom:8px}
.journal-topics button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:48px;padding:11px 0;border:0;border-bottom:1px solid #d3ddd0;background:none;color:#415746;text-align:left;font:500 13px var(--sans);cursor:pointer}
.journal-topics button span{font:700 10px var(--sans);letter-spacing:.08em;color:#789078}
.journal-topics button[aria-pressed=true]{color:#213d2b;font-weight:700;border-bottom-color:#354f3a}
.journal-topics button:hover{color:#9a653b}
.journal-browse-note{margin-top:46px;padding:23px 20px;background:#e9eee5;border-top:2px solid #6d866e}
.journal-browse-note>span{font:700 9px var(--sans);letter-spacing:.14em;color:#5b765c}
.journal-browse-note p{font:13px/1.6 var(--sans);color:#4b6251;margin:13px 0 18px}
.journal-browse-note a{display:flex;align-items:center;justify-content:space-between;min-height:40px;border-top:1px solid #b4c5b3;padding-top:8px;text-decoration:none;font:700 12px var(--sans)}
.journal-archive-main{min-width:0}
.journal-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:47px;padding-bottom:15px;border-bottom:1px solid #c6d2c4;margin-bottom:27px}
.journal-archive-toolbar p{font:600 13px var(--sans);margin:0;color:#314d38}
.journal-archive-toolbar>span{font:700 9px var(--sans);letter-spacing:.13em;color:#778b78;text-align:right}
.journal-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 27px}
.journal-results .journal-card[hidden],.journal-empty[hidden],.journal-pagination[hidden]{display:none!important}
.journal-results .journal-card-image{aspect-ratio:1.35}
.journal-results .journal-card h3{font-size:clamp(37px,3.1vw,49px)}
.journal-results .journal-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(25px,3.5vw,55px);align-items:center;padding-bottom:45px;border-bottom:1px solid #d2dcd0}
.journal-results .journal-card.featured .journal-card-image{aspect-ratio:1.5}
.journal-results .journal-card.featured .journal-card-copy{padding-top:0}
.journal-results .journal-card.featured h3{font-size:clamp(44px,4.6vw,68px)}
.journal-empty{background:#edf1e9;padding:46px;text-align:center}
.journal-empty h3{font:48px/1 var(--display);margin:0 0 12px}
.journal-empty p{font:14px/1.6 var(--sans);color:#536655;margin:0 0 22px}
.journal-empty button{min-height:44px;border:0;border-bottom:1px solid #324b37;background:none;color:#233b30;font:700 13px var(--sans);cursor:pointer}
.journal-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:60px;padding-top:20px;border-top:1px solid #c9d4c7}
.journal-pagination button{min-width:44px;min-height:44px;border:1px solid transparent;background:transparent;color:#294431;font:600 12px var(--sans);cursor:pointer}
.journal-pagination button:hover:not(:disabled){border-color:#a9bca7}
.journal-pagination button:disabled{opacity:.35;cursor:default}
#journal-page-numbers{display:flex;align-items:center;gap:3px}
#journal-page-numbers button[aria-current=page]{border-color:#2e4a35;background:#2e4a35;color:#fffdf6}
#journal-page-numbers span{padding-inline:5px;color:#748573}
.journal-next{padding:82px 0 92px;background:#233b30;color:#fffdf7}
.journal-next-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}
.journal-next .eyebrow{color:#d6c69d}
.journal-next h2{font:clamp(57px,5.5vw,88px)/.98 var(--display);letter-spacing:-.03em;margin-top:15px}
.journal-next h2 em{color:#c3ccbd}
.journal-next-grid>div:last-child>p{font:16px/1.75 var(--sans);max-width:470px;color:#e4e9df}
.journal-next-links{margin-top:28px;display:grid;grid-template-columns:1fr;max-width:440px}
.journal-next-links a{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff55;font:600 13px var(--sans);text-decoration:none}
.journal-next-links a:last-child{border-bottom:1px solid #ffffff55}
.journal-next-links a:hover{color:#edcb86}
.journal-article-head{padding-top:55px}
.journal-breadcrumb{display:flex;gap:11px;align-items:center;margin-bottom:67px;font:11px var(--sans);color:#718071}
.journal-breadcrumb a{text-underline-offset:4px}
.journal-article-head h1{font:clamp(69px,7.3vw,113px)/.92 var(--display);max-width:1000px;letter-spacing:-.052em;margin:19px 0 24px}
.journal-dek{font:clamp(17px,1.5vw,22px)/1.55 var(--sans);max-width:720px;color:#5c6e5f;margin:0 0 42px}
.journal-article-rule{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #bdcabb;padding-top:15px;font:700 9px var(--sans);letter-spacing:.17em;color:#697a67}
.journal-article-photo{margin-top:31px;margin-bottom:0}
.journal-article-photo img{display:block;width:100%;height:clamp(350px,48vw,650px);object-fit:cover}
.journal-article-photo figcaption{font:11px/1.5 var(--sans);color:#738072;padding:11px 0 0}
.journal-article-layout{display:grid;grid-template-columns:minmax(0,710px) minmax(230px,290px);justify-content:space-between;gap:70px;padding-top:80px;padding-bottom:110px}
.journal-prose{min-width:0}
.journal-prose p{font:17px/1.85 var(--sans);color:#374b3d;margin:0 0 24px}
.journal-prose .journal-drop{font:clamp(26px,2.4vw,36px)/1.42 var(--display);letter-spacing:-.01em;color:#233b30;margin-bottom:52px}
.journal-prose h2{font:clamp(38px,3.4vw,51px)/1.08 var(--display);letter-spacing:-.025em;margin:58px 0 20px;scroll-margin-top:120px}
.journal-pull{font:clamp(37px,3.7vw,57px)/1.1 var(--display);letter-spacing:-.02em;color:#6a7d69;border-block:1px solid #bfcbbf;padding:37px 15px;margin:62px 0;text-align:center}
.journal-article-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px;border-top:1px solid #bdcabb;margin-top:62px;padding-top:24px}
.journal-article-actions a{display:inline-flex;min-height:44px;align-items:center;gap:15px;border-bottom:1px solid currentColor;font:600 13px var(--sans);text-decoration:none}
.journal-article-actions a:first-child{color:#2f5739}
.journal-article-aside{align-self:start;position:sticky;top:116px;border-top:2px solid #789176;padding-top:23px}
.journal-article-aside>p:not(.eyebrow){font:15px/1.6 var(--sans);color:#647266;margin:12px 0 25px}
.journal-article-aside>a{display:flex;justify-content:space-between;align-items:center;min-height:47px;border-top:1px solid #cdd6cb;font:600 13px var(--sans);text-decoration:none}
.journal-aside-note{font:11px/1.55 var(--sans);color:#738072;border-top:1px solid #cdd6cb;padding-top:15px;margin-top:8px}
.journal-related{padding-bottom:110px;border-top:1px solid #cdd6cb;padding-top:75px}
.journal-related .journal-card-grid{margin-top:0}
.coah-journal a:focus-visible{outline:3px solid #bd773e;outline-offset:4px}
.coah-journal>.j-help{width:48px;min-width:48px;height:48px;padding:0;justify-content:center;font-size:0;right:22px;bottom:22px}
.coah-journal>.j-help>span{font-size:22px}
@media(max-width:1000px){.journal-wrap{width:min(100% - 56px,1280px)}.journal-intro{grid-template-columns:.9fr 1.1fr;gap:35px}.journal-intro h1{font-size:clamp(70px,8vw,105px)}.journal-card.featured{grid-template-columns:1.1fr .9fr;gap:28px}.journal-card.featured h3{font-size:clamp(44px,5vw,62px)}.journal-archive{grid-template-columns:210px minmax(0,1fr);gap:35px}.journal-results .journal-card.featured{gap:25px}.journal-results .journal-card.featured h3{font-size:clamp(42px,4.5vw,58px)}.journal-article-layout{gap:35px}}
@media(max-width:760px){.journal-wrap{width:calc(100% - 40px)}.journal-intro{display:flex;flex-direction:column;align-items:stretch;padding-top:42px;gap:23px}.journal-intro-copy{padding:0}.journal-intro h1{font-size:clamp(76px,17vw,118px);margin:16px 0 23px}.journal-intro-copy>p:not(.eyebrow){font-size:16px;margin-bottom:16px}.journal-intro-photo{aspect-ratio:1.08}.journal-intro-photo figcaption{font-size:10px;left:15px;right:15px;bottom:14px}.journal-sample-note{align-items:start;gap:10px;flex-direction:column;padding-block:16px}.journal-stories{padding-block:64px 80px}.journal-section-head{align-items:start;flex-direction:column;gap:12px;margin-bottom:26px}.journal-section-head h2{font-size:clamp(51px,12vw,68px)}.journal-section-head>p{font-size:13px}.journal-card.featured{display:block}.journal-card.featured .journal-card-image{aspect-ratio:1.25}.journal-card.featured .journal-card-copy{padding-top:19px}.journal-card.featured h3{font-size:clamp(49px,12vw,66px)}.journal-feature{padding-bottom:43px}.journal-card-grid{grid-template-columns:1fr;gap:44px;margin-top:38px}.journal-card-grid .journal-card-image{aspect-ratio:1.4}.journal-card h3{font-size:clamp(38px,10vw,52px)}.journal-next{padding-block:65px 73px}.journal-next-grid{grid-template-columns:1fr;gap:20px}.journal-next h2{font-size:clamp(60px,13vw,77px)}.journal-next-grid>div:last-child>p{font-size:15px}.journal-article-head{padding-top:28px}.journal-breadcrumb{margin-bottom:45px;flex-wrap:wrap}.journal-article-head h1{font-size:clamp(61px,13vw,81px)}.journal-dek{font-size:16px;margin-bottom:31px}.journal-article-photo{margin-top:21px}.journal-article-photo img{height:clamp(280px,76vw,480px)}.journal-article-layout{grid-template-columns:1fr;gap:56px;padding-block:47px 75px}.journal-prose p{font-size:16px;line-height:1.75}.journal-prose .journal-drop{font-size:29px;margin-bottom:37px}.journal-prose h2{font-size:39px;margin-top:45px}.journal-pull{font-size:39px;margin-block:48px}.journal-article-aside{position:static}.journal-related{padding-block:64px 80px}}
@media(max-width:400px){.journal-wrap{width:calc(100% - 32px)}.journal-intro h1{font-size:72px}.journal-article-head h1{font-size:58px}.journal-article-rule{font-size:8px}}
@media(max-width:760px){.journal-archive{display:block}.journal-browse{margin-bottom:35px}.journal-browse-inner{position:static;padding-top:20px}.journal-browse h3{font-size:40px;margin:12px 0 22px}.journal-search-field{margin-bottom:23px}.journal-topics{display:flex;flex-wrap:wrap;gap:8px}.journal-topics legend{width:100%;margin-bottom:5px}.journal-topics button{width:auto;min-height:42px;padding:10px 13px;border:1px solid #c0d0be;gap:12px}.journal-topics button[aria-pressed=true]{background:#2d4835;color:#fffdf7;border-color:#2d4835}.journal-topics button[aria-pressed=true] span{color:#d9e4d8}.journal-browse-note{display:none}.journal-archive-toolbar{margin-bottom:23px}.journal-archive-toolbar>span{display:none}.journal-results{grid-template-columns:1fr;gap:41px}.journal-results .journal-card.featured{display:block;grid-column:auto;padding-bottom:38px}.journal-results .journal-card.featured .journal-card-image{aspect-ratio:1.25}.journal-results .journal-card.featured .journal-card-copy{padding-top:18px}.journal-results .journal-card.featured h3{font-size:clamp(48px,12vw,65px)}.journal-results .journal-card-image{aspect-ratio:1.4}.journal-results .journal-card h3{font-size:clamp(38px,10vw,52px)}.journal-pagination{flex-wrap:wrap;justify-content:center;margin-top:45px}.journal-pagination>button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.journal-card-image img,.journal-text-link{transition:none}.journal-card:hover .journal-card-image img{transform:none}}
@media(max-width:760px){.journal-browse-inner{max-height:none;overflow:visible}}

/* account.css */
/* Shared logo and account entry in the existing site navigation. */
.site-header .brand img{display:block;width:clamp(116px,10.3vw,150px);height:auto;max-height:64px;object-fit:contain}
.site-header .brand:has(img){min-width:0}
.account-nav{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:4px 5px;color:inherit;font-size:11px;font-weight:600;white-space:nowrap;text-decoration:none}
.account-nav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.55;flex:none}
.account-nav span{border-bottom:1px solid transparent}
.account-nav:hover span,.account-nav[aria-current] span{border-bottom-color:currentColor}
.home-header:not(.on-content) .brand img{filter:brightness(0) invert(1)}
@media(max-width:1100px){.account-nav{font-size:0;min-width:44px;justify-content:center}.account-nav svg{width:21px;height:21px}.account-nav span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
@media(max-width:680px){.site-header .brand img{width:116px;max-height:52px}}
@media(max-width:380px){.site-header .brand img{width:95px}.account-nav{min-width:39px}}

/* account-page.css */
:root{--ink:#233b30;--muted:#59665f;--paper:#f4f0e7;--line:#c9cec0;--gold:#aa8537;--display:"Instrument Serif",Georgia,serif;--body:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--body)}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #a98236;outline-offset:3px}
.skip-link{position:absolute;top:-80px;left:20px;z-index:10;padding:12px 18px;background:#fff;color:var(--ink)}
.skip-link:focus{top:12px}
.account-brand{display:inline-flex;align-items:center}
.account-brand img{display:block;width:clamp(132px,11vw,170px);height:auto}

/* The account entry gives the form one clear focal point. */
#auth-view{position:relative;min-height:100svh}
.auth-header{position:absolute;top:38px;left:clamp(30px,5.5vw,92px);z-index:2}
.auth-layout{display:grid;grid-template-columns:minmax(0,59.5%) minmax(0,40.5%);min-height:100svh}
.auth-content{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:156px 44px 125px}
.auth-form-wrap{width:min(100%,526px)}
.auth-form-wrap h1,.dashboard-main h1,.dashboard-main h2,.stay-card h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em}
.auth-form-wrap h1{font-size:clamp(54px,5.2vw,76px);line-height:.96;margin:0 0 14px}
.auth-intro{color:var(--muted);font-size:17px;margin:0 0 34px}
.form-field{margin:0 0 24px}
.form-field label{display:block;margin:0 0 7px;font-size:15px;font-weight:600}
.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.field-label-row .text-link{font-size:13px;white-space:nowrap}
.form-field input{display:block;width:100%;height:56px;border:1px solid #aeb8ae;border-radius:6px;background:#fffdf9;padding:0 20px;color:var(--ink);font-size:16px;outline:none}
.form-field input:focus{border-color:#40634d;box-shadow:0 0 0 3px #73957c3b}
.form-field input::placeholder{color:#6d766f}
.password-field{position:relative}
.password-field input{padding-right:75px}
.password-toggle{position:absolute;top:5px;right:5px;min-width:62px;height:46px;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.text-link{border:0;background:none;padding:0;color:var(--ink);font-size:inherit;text-decoration:underline;text-underline-offset:3px}
.text-link:hover,.auth-footer a:hover,.dashboard-footer a:hover{color:#6f5529}
.field-hint{margin:8px 0 0;color:var(--muted);font-size:12px}
.form-status{margin:0;color:#9b3c2d;font-size:13px;min-height:0}
.form-status:not(:empty){margin:0 0 16px}
.form-status.success{color:#2d633e}
.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);padding:12px 25px;color:#fffdf6;font-weight:600;text-align:center;text-decoration:none}
.primary-action:hover{background:#365547;border-color:#365547}
.primary-action:disabled{opacity:.55;cursor:wait}
.auth-form-wrap .primary-action{width:100%}
.auth-switch{margin:28px 0 0;text-align:center;color:var(--muted);font-size:15px}
.preview-disclosure{width:min(100%,526px);margin:22px 0 0;color:#677169;font-size:11px;line-height:1.5}
.auth-photo{min-width:0;min-height:100svh;overflow:hidden;background:#d4d8d0}
.auth-photo img{display:block;width:100%;height:100%;min-height:100svh;object-fit:cover;object-position:52% center}
.auth-footer{position:absolute;bottom:0;left:0;width:59.5%;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(30px,5.5vw,92px);font-size:13px}
.auth-footer a{text-decoration:none}
.auth-footer>div{display:flex;gap:24px}

/* A restrained overview with one actionable plan. */
#dashboard-view{min-height:100svh;background:#f7f4ed}
.dashboard-header{border-bottom:1px solid var(--line)}
.dashboard-header-inner{width:min(100% - 72px,1300px);min-height:110px;margin:auto;display:flex;align-items:center;gap:34px}
.dashboard-header .account-brand img{width:160px}
.dashboard-label{padding-left:30px;border-left:1px solid var(--line);font-size:16px}
.dashboard-header-actions{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px}
.dashboard-header-actions a{text-decoration:none}
.dashboard-header-actions a:hover,.sign-out:hover{color:#84632a;text-decoration:underline;text-underline-offset:4px}
.sign-out{border:0;background:transparent;color:var(--ink);padding:10px 0;font-size:14px}
.dashboard-nav{width:min(100% - 72px,1300px);min-height:66px;margin:0 auto;display:flex;align-items:end;gap:55px;border-bottom:1px solid var(--line)}
.dashboard-nav button{height:56px;min-width:80px;padding:0 0 15px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:15px}
.dashboard-nav button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.dashboard-nav button:hover{color:var(--ink)}
.dashboard-main{width:min(100% - 72px,1300px);margin:0 auto;padding:44px 0 0;min-height:calc(100svh - 230px)}
.dashboard-intro,.section-intro{margin-bottom:36px}
.dashboard-main h1{margin:0 0 4px;font-size:clamp(44px,4.3vw,64px);line-height:1.05}
.dashboard-intro p,.section-intro p{margin:0;color:var(--muted);font-size:17px}
.dashboard-main h2{margin:0 0 14px;font-size:clamp(30px,2.7vw,39px);line-height:1.1}
.stay-card{display:grid;grid-template-columns:42.5% minmax(0,1fr);min-height:320px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffdf9}
.stay-photo{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center}
.stay-info{min-width:0;padding:30px 34px;display:flex;flex-direction:column}
.stay-card-head{display:flex;align-items:start;justify-content:space-between;gap:20px}
.stay-card h2,.stay-card h3{margin:0;font:400 clamp(32px,3vw,46px)/1.05 var(--display);letter-spacing:-.025em}
.draft-label{margin-top:7px;color:var(--muted);font-size:13px;white-space:nowrap}
.stay-meta{display:grid;grid-template-columns:1fr 1fr;margin:32px 0 27px}
.stay-meta>div+div{border-left:1px solid var(--line);padding-left:30px}
.stay-meta span,.stay-meta strong{display:block;font-size:15px}
.stay-meta span{margin-bottom:2px;color:var(--muted)}
.stay-meta strong{font-weight:500}
.stay-card-foot{display:flex;align-items:center;gap:26px;margin-top:auto;border-top:1px solid var(--line);padding-top:20px}
.stay-card-foot .primary-action{min-width:230px}
.stay-card-foot p{margin:0;color:var(--muted);font-size:13px}
.past-stays{margin:42px 0 0}
.past-stays h2{border-bottom:1px solid var(--line);padding-bottom:14px}
.past-stays p{margin:18px 0;color:var(--muted);font-size:15px}
.dashboard-footer{width:min(100% - 72px,1300px);display:flex;justify-content:space-between;gap:20px;margin:38px auto 0;padding:20px 0 28px;border-top:1px solid var(--line);font-size:13px}
.dashboard-footer a{text-decoration:underline;text-underline-offset:3px}
.saved-villa{display:flex;align-items:center;gap:25px;max-width:720px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fffdf9}
.saved-villa img{width:230px;height:145px;object-fit:cover}
.saved-villa h2{margin-bottom:6px}
.saved-villa a,.quiet-empty a{font-size:14px;text-underline-offset:3px}
.quiet-empty{padding:28px 0;border-top:1px solid var(--line)}
.quiet-empty p{margin:0 0 10px;color:var(--muted)}
.profile-details{max-width:620px;margin:8px 0 0;border-top:1px solid var(--line)}
.profile-details>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.profile-details dt{color:var(--muted)}
.profile-details dd{margin:0;overflow-wrap:anywhere}
.profile-note{margin-top:22px;color:var(--muted);font-size:13px}

@media(max-width:1000px){.auth-layout{grid-template-columns:minmax(0,60%) minmax(0,40%)}.auth-content{padding-left:30px;padding-right:30px}.auth-footer{width:60%}.dashboard-header-inner,.dashboard-nav,.dashboard-main,.dashboard-footer{width:min(100% - 48px,1300px)}.stay-info{padding:25px}.stay-card-foot{align-items:stretch;flex-direction:column;gap:10px}.stay-card-foot .primary-action{min-width:0}}
@media(max-width:720px){.auth-header{top:23px;left:24px}.account-brand img{width:132px}.auth-layout{display:flex;flex-direction:column}.auth-content{order:1;min-height:calc(100svh - 70px);padding:160px 24px 54px;justify-content:center}.auth-form-wrap,.preview-disclosure{width:min(100%,460px)}.auth-form-wrap h1{font-size:62px}.auth-photo{order:2;min-height:270px;height:35svh;max-height:430px}.auth-photo img{min-height:0;height:100%;object-position:50% 43%}.auth-footer{position:relative;width:100%;min-height:70px;padding:0 24px}.dashboard-header-inner{min-height:86px;gap:18px}.dashboard-header .account-brand img{width:118px}.dashboard-label{padding-left:18px;font-size:14px}.dashboard-header-actions{gap:12px;font-size:13px}.dashboard-header-actions a{display:none}.dashboard-nav{gap:30px;overflow-x:auto;align-items:end;scrollbar-width:thin}.dashboard-nav button{flex:none}.dashboard-main{padding-top:34px}.stay-card{display:flex;flex-direction:column}.stay-photo{height:250px;min-height:250px}.stay-info{padding:24px}.stay-meta{margin:25px 0}.stay-card-foot{align-items:start;flex-direction:row}.stay-card-foot p{max-width:170px}.dashboard-footer{margin-top:34px}}
@media(max-width:480px){.auth-content{padding-top:135px;min-height:100svh}.auth-form-wrap h1{font-size:58px}.auth-intro{font-size:15px}.form-field{margin-bottom:20px}.field-label-row .text-link{font-size:12px}.auth-footer{align-items:start;padding-top:21px;padding-bottom:22px;gap:15px;font-size:12px}.auth-footer>div{gap:14px}.dashboard-header-inner,.dashboard-nav,.dashboard-main,.dashboard-footer{width:calc(100% - 36px)}.dashboard-header .account-brand img{width:100px}.dashboard-label{padding-left:12px;font-size:13px}.sign-out{font-size:12px}.dashboard-nav{gap:22px}.dashboard-nav button{font-size:13px;min-width:0}.dashboard-main h1{font-size:48px}.stay-photo{height:210px;min-height:210px}.stay-card-head{display:block}.draft-label{display:block;margin:8px 0 0}.stay-meta>div+div{padding-left:18px}.stay-card-foot{flex-direction:column;align-items:stretch}.stay-card-foot .primary-action{width:100%}.stay-card-foot p{max-width:none}.saved-villa{display:block}.saved-villa img{width:100%;height:180px}.saved-villa>div{padding:20px}.profile-details>div{grid-template-columns:1fr;gap:3px}.dashboard-footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* sunrise.css */
.day-story{background:#f4ecdd}
.day-story.is-pinned{height:calc(var(--scene-height) + var(--sun-hold))}
.day-story.is-pinned .day-scene{position:sticky;top:var(--scene-top)}
.day-foliage-wrap{position:absolute;inset:0;z-index:4;pointer-events:none}
.day-foliage{animation:hill-breeze 9s ease-in-out infinite alternate;animation-play-state:paused}
.scenery-visible .day-foliage{animation-play-state:running}
@keyframes hill-breeze{from{transform:translateX(-.25%) rotate(-.3deg) skewX(-.2deg) scale(1.025)}to{transform:translateX(.25%) rotate(.3deg) skewX(.2deg) scale(1.025)}}
.day-scene{--landscape-height:clamp(1000px,78vw,1200px);position:relative;min-height:1100px;padding-bottom:clamp(150px,13vw,210px);isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 14% 46%,#f4d39d66,transparent 43%),radial-gradient(ellipse at 90% 62%,#efb08a77,transparent 44%),#f4ecdd}
.day-clouds{position:absolute;inset:0 0 auto;width:100%;height:calc(var(--landscape-height) * .64);object-fit:fill;z-index:0;opacity:.85}
.day-canvas{position:absolute;inset:0;z-index:-1;pointer-events:none}
.day-landscape,.day-foliage{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.day-landscape{z-index:2;height:var(--landscape-height);mask-image:linear-gradient(#000 85%,transparent)}.day-foliage{z-index:4;transform-origin:center bottom}
.day-canvas:after{content:'';position:absolute;inset:0;z-index:5;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.day-sun{position:absolute;z-index:1;width:9.5%;aspect-ratio:1;isolation:isolate;will-change:transform}
.day-sun span{position:absolute;display:block;pointer-events:none;border-radius:50%}
.sun-core{inset:0;background:radial-gradient(circle,#fffce0 0 25%,#fff29a 49%,#ffcb3d 76%,#eea221cc 92%,#e9a03700 100%);box-shadow:0 0 22px 7px #ffda6588;filter:blur(.5px)}
.sun-light{inset:-12%;background:radial-gradient(circle,#fffef0 0 24%,#fffbd2dd 38%,#fff1a177 53%,transparent 72%);opacity:.05}
.sun-aura{inset:-95%;background:radial-gradient(circle,#ffe58a99 12%,#ffc43e70 28%,#f8c25233 45%,transparent 70%);opacity:.7}
.sun-rays{inset:-65%;background:repeating-conic-gradient(from 3deg,#ffd66288 0deg 3deg,transparent 5deg 20deg);mask-image:radial-gradient(circle,transparent 28%,#000 37%,#0008 49%,transparent 70%);filter:blur(1.2px);opacity:.65}
.sun-rise{left:15%;top:calc(var(--landscape-height) * .37);transform:translateY(25%)}
.sun-set{left:83%;top:0;width:10.5%;transform:translateY(35%)}
.sun-set .sun-core{background:radial-gradient(circle at 50% 38%,#fff0a2 0 18%,#ffbb48 43%,#f77b32 74%,#e3512688 93%,transparent);box-shadow:0 0 28px 10px #ff883e70}
.sun-set .sun-aura{inset:-105% -140%;background:radial-gradient(ellipse,#ffbe4a99 14%,#ef733877 32%,#dc6a3633 48%,transparent 70%)}
.sun-set .sun-rays{inset:-55% -85%;background:repeating-conic-gradient(from 12deg,#fca45388 0deg 7deg,transparent 10deg 30deg);filter:blur(2px);opacity:.6}
.day-glow{position:absolute;inset:25% 0 0;background:radial-gradient(ellipse at 90% 50%,#e5915d55,transparent 60%);opacity:.4}
.day-copy{position:relative;z-index:6;max-width:660px;margin:auto;text-align:center;padding:95px 24px 0;color:var(--ink)}
.day-copy .eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:25px}
.day-copy h2{font-size:clamp(68px,7.6vw,116px);line-height:.96}.day-copy h2 em{color:#72806b}
.day-description{font-size:17px;line-height:1.8;margin:28px auto 0;max-width:490px;text-wrap:balance}
.stay-gallery{position:relative;z-index:7;width:64%;max-width:1000px;margin:clamp(175px,17vw,265px) auto 0;padding:0;background:transparent;scroll-margin-top:100px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:1600px;margin:auto}
.gallery-photo{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#fff8e9;outline-offset:4px;border:1px solid #fff8e9;box-shadow:0 5px 16px #21362912;transition:border-color .3s,box-shadow .3s}
.gallery-photo img{width:100%;height:100%;object-fit:cover;opacity:1;transition:transform .65s ease}
@media(hover:hover){.gallery-photo:hover img{opacity:1;transform:scale(1.035)}.gallery-photo:hover{border-color:#fff8e9;box-shadow:0 8px 24px #21362930}}
.gallery-photo:focus-visible img,.gallery-photo:active img{opacity:1}
.gallery-photo:focus-visible{outline:3px solid #a16c36}
dialog.gallery-lightbox{position:fixed;inset:0;margin:auto;padding:16px;width:min(1100px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);background:var(--deep);color:var(--paper);border-radius:0;overflow:auto;overscroll-behavior:contain}
dialog.gallery-lightbox[open]{display:flex;flex-direction:column;gap:12px}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.gallery-controls{display:flex;align-items:center;gap:8px}
.gallery-toolbar button{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid #ffffff50;color:inherit;font-size:24px}
.gallery-toolbar button:hover{background:#ffffff18}.gallery-toolbar button:focus-visible{outline-color:var(--gold)}
.gallery-count{font-size:12px;letter-spacing:.1em;padding-left:8px}
.gallery-lightbox figure{margin:0;min-height:0}.gallery-lightbox figure img{width:100%;height:min(70dvh,760px);object-fit:contain}
.gallery-lightbox figcaption{font-size:13px;text-align:center;line-height:1.6;margin:12px 8px 0;color:#e1e6da}
.gallery-error{padding:28px;text-align:center}
body.gallery-open{overflow:hidden}
/* Keep the complete two-row gallery inside the held desktop composition. */
@media(min-width:1001px) and (min-height:650px){
  .day-scene{--landscape-height:max(740px,calc(100svh - var(--scene-top,85px)));min-height:calc(100svh - var(--scene-top,85px));padding-bottom:clamp(20px,3svh,40px)}
  .day-copy{padding-top:clamp(28px,5svh,64px)}
  .day-copy .eyebrow{margin-bottom:18px}
  .day-copy h2{font-size:clamp(60px,10svh,108px)}
  .day-description{margin-top:20px;font-size:clamp(15px,1.7svh,17px)}
  .stay-gallery{margin-top:clamp(24px,4svh,48px)}
  .gallery-photo{aspect-ratio:auto;height:clamp(86px,15svh,160px)}
  /* Overscan keeps the artwork edges outside the scene throughout the breeze. */
  .day-foliage{left:-7%;width:114%;max-width:none;top:7%;height:100%}
}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.day-copy{padding-top:90px}.day-copy h2{font-size:82px}.day-description{font-size:16px;max-width:430px}}
@media(max-width:640px){
  .day-scene{min-height:0;padding-bottom:160px}
  .day-canvas{top:0;bottom:0;height:100%}
  .day-landscape{top:120px;height:900px;mask-image:linear-gradient(#000 80%,transparent)}
  .day-foliage{top:auto;bottom:0;height:750px}
  .day-clouds{top:0;height:900px}
  .day-copy{padding:64px 22px 0;max-width:420px}
  .day-copy .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:20px}
  .day-copy h2{font-size:clamp(52px,15.6vw,72px);line-height:.98}
  .day-description{font-size:14px;line-height:1.75;margin-top:23px;max-width:310px}
  .day-sun{width:15%;left:8%;top:435px}.sun-set{left:76%;width:17%;top:0}
  .day-foliage{opacity:.92}.stay-gallery{width:76%;padding:0;margin-top:315px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  dialog.gallery-lightbox{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:10px}.gallery-lightbox figure img{height:65dvh}.gallery-lightbox figcaption{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.gallery-photo,.gallery-photo img{transition:none}.gallery-photo:hover img{transform:none}.day-sun{will-change:auto}.day-foliage{animation:none}}

/* day-night-home.css */
.day-scene{--p:0;--night:0}
.day-morning-wash,.day-night-sky,.day-twilight-bridge{position:absolute;inset:0;pointer-events:none}
.day-morning-wash{z-index:1;inset:0 46% 23% 0;opacity:calc(var(--p) * .58);background:radial-gradient(ellipse at 30% 40%,#fffef4 0%,#fff3bc75 38%,transparent 72%);mix-blend-mode:screen}
.day-night-sky{z-index:1;opacity:var(--night);background:linear-gradient(180deg,#172e4c 0%,#3c4266 33%,#9e697b 66%,#e39a7488 76%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 24%,#0001 36%,#0005 48%,#000a 61%,#000 79%);mask-image:linear-gradient(90deg,transparent 24%,#0001 36%,#0005 48%,#000a 61%,#000 79%)}
.day-twilight-bridge{z-index:1;opacity:calc(var(--night) * .72);background:linear-gradient(90deg,transparent 28%,#edd2aa45 40%,#c9a9a271 52%,#aa91a46b 65%,transparent 79%)}
.day-sun{z-index:2}.day-landscape{z-index:3}
.day-night-landscape{position:absolute;inset:0;width:100%;height:var(--landscape-height);object-fit:fill;z-index:4;opacity:var(--night);-webkit-mask-image:linear-gradient(90deg,transparent 27%,#0002 39%,#0007 52%,#000c 65%,#000 79%);mask-image:linear-gradient(90deg,transparent 27%,#0002 39%,#0007 52%,#000c 65%,#000 79%)}
.day-city-lights,.day-lake-sheen{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:var(--night)}
.day-city-lights i,.day-lake-sheen i{position:absolute;display:block;left:var(--x);top:var(--y);pointer-events:none;animation-play-state:paused}
.day-city-lights i{width:var(--size);height:var(--size);border-radius:50%;background:#fff5ce;box-shadow:0 0 3px 1px #fff6d9,0 0 9px 3px #ffc66c9c;animation-name:home-city-twinkle;animation-duration:var(--duration);animation-timing-function:ease-in-out;animation-delay:var(--delay);animation-iteration-count:infinite;animation-direction:alternate}
.day-city-lights i.star-light::before,.day-city-lights i.star-light::after{content:"";position:absolute;left:50%;top:50%;background:#ffe5a4;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #ffcf7a}
.day-city-lights i.star-light::before{width:14px;height:1px}.day-city-lights i.star-light::after{width:1px;height:14px}
.day-lake-sheen{opacity:calc(var(--night) * .92)}
.day-lake-sheen i{width:var(--width);height:2.5px;border-radius:60%;background:linear-gradient(90deg,transparent,#ffe6a7 30%,#fff6d1 54%,#f5ae61 80%,transparent);box-shadow:0 0 9px 2px #f5b86dba;animation-name:home-lake-sparkle;animation-duration:var(--duration);animation-timing-function:ease-in-out;animation-delay:var(--delay);animation-iteration-count:infinite;animation-direction:alternate}
.day-lake-sheen::before{content:"";position:absolute;left:76%;top:69%;width:24%;height:20%;background:radial-gradient(ellipse at 54% 20%,#e8af6550,transparent 64%);filter:blur(10px)}
@keyframes home-city-twinkle{from{opacity:.28;transform:scale(.75)}to{opacity:1;transform:scale(1.35)}}
@keyframes home-lake-sparkle{from{opacity:.2;transform:translateX(-3px) scaleX(.72)}to{opacity:.95;transform:translateX(3px) scaleX(1.18)}}
.day-foliage-wrap{z-index:6}.day-canvas::after{z-index:7}
.sun-set{opacity:calc(1 - var(--night) * .8)}
.day-copy{z-index:8}.stay-gallery{z-index:9}
.day-copy .sunrise-word,.day-copy .sunset-word{position:relative;display:inline-block;vertical-align:baseline;white-space:nowrap}
.day-copy .word-base,.day-copy .word-shift{display:block;color:transparent;-webkit-background-clip:text;background-clip:text}
.day-copy .sunrise-word .word-base{background-image:linear-gradient(110deg,#674a7c,#9271a6)}
.day-copy .sunrise-word .word-shift{position:absolute;inset:0;background-image:linear-gradient(110deg,#e9bd63,#e89850);opacity:var(--p);filter:drop-shadow(0 1px 2px #543c22b8)}
.day-copy .sunset-word .word-base{background-image:linear-gradient(110deg,#ebc471,#e99e58);filter:drop-shadow(0 1px 2px #543c22b8)}
.day-copy .sunset-word .word-shift{position:absolute;inset:0;background-image:linear-gradient(110deg,#aa89c4,#dbc3e7);opacity:var(--p);filter:drop-shadow(0 1px 1px #382a51ab)}
.day-copy .word-sparkles{position:absolute;inset:-6% -3%;pointer-events:none;opacity:calc(var(--p) * .85)}
.day-copy .word-sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff2b6;box-shadow:0 0 6px 2px #fff4cf,0 0 15px 4px #ffb857;animation:home-word-twinkle 1.9s ease-in-out infinite alternate;animation-play-state:paused}
.day-copy .word-sparkles i:nth-child(1){top:10%;right:8%}.day-copy .word-sparkles i:nth-child(2){top:52%;left:40%;animation-delay:.65s;width:3px;height:3px}.day-copy .word-sparkles i:nth-child(3){bottom:10%;right:34%;animation-delay:1.2s;width:2px;height:2px}.day-copy .word-sparkles i:nth-child(4){bottom:13%;right:2%;animation-delay:.9s}
.day-copy .word-sparkles i:nth-child(4)::before,.day-copy .word-sparkles i:nth-child(4)::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff2cf;box-shadow:0 0 5px #ffe5a3}
.day-copy .word-sparkles i:nth-child(4)::before{width:12px;height:1px}.day-copy .word-sparkles i:nth-child(4)::after{width:1px;height:12px}
@keyframes home-word-twinkle{from{opacity:.18;transform:scale(.6)}to{opacity:1;transform:scale(1.35)}}
.day-scene.scenery-visible .day-city-lights i,.day-scene.scenery-visible .day-lake-sheen i,.day-scene.scenery-visible .word-sparkles i{animation-play-state:running}
.day-gallery-link{display:flex;align-items:center;justify-content:space-between;gap:24px;width:max-content;min-height:44px;margin:14px auto 0;padding:8px 17px;border:1px solid #28423545;background:#fffaf2e8;box-shadow:0 4px 18px #21382e20;color:#21382e;text-decoration:none;font:600 12px "DM Sans",sans-serif;letter-spacing:.01em;transition:background .2s,transform .2s}
.day-gallery-link:hover{background:#fffaf2;transform:translateY(-2px)}.day-gallery-link:focus-visible{outline:3px solid #bd773e;outline-offset:3px}
@media(min-width:1001px) and (min-height:650px){
  .day-sun,.sun-set{width:clamp(110px,10.7vw,200px)}
  .day-copy{padding-top:clamp(12px,2svh,30px)}
  .gallery-photo{height:clamp(86px,15svh,152px)}
  .stay-gallery{margin-top:clamp(10px,2svh,25px)}
  .day-gallery-link{margin-top:9px}
}
@media(min-width:1001px) and (min-height:850px){
  .day-description{font-size:18px;line-height:1.75;margin-top:28px}
  .stay-gallery{margin-top:clamp(28px,3.5svh,36px)}
  .day-gallery-link{margin-top:20px}
}
@media(max-width:640px){
  .day-scene{height:calc(100svh - var(--scene-top,72px));min-height:0;padding-bottom:0;overflow:hidden}
  .day-canvas{inset:0;height:100%}
  .day-clouds,.day-landscape,.day-night-landscape,.day-foliage{top:0;left:-15%;width:130%;height:100%;max-width:none;object-fit:fill}
  .day-landscape{mask-image:none}
  .day-night-sky{-webkit-mask-image:linear-gradient(90deg,transparent 24%,#0002 45%,#000a 70%,#000 95%);mask-image:linear-gradient(90deg,transparent 24%,#0002 45%,#000a 70%,#000 95%)}
  .day-twilight-bridge{opacity:calc(var(--night) * .5)}
  .day-city-lights i.star-light::before{width:6px}.day-city-lights i.star-light::after{height:6px}.day-lake-sheen i{height:1.5px}
  .day-foliage-wrap{inset:0}.day-foliage{bottom:auto;opacity:.96}
  .day-sun{width:86px}.sun-rise{left:-2%;top:55%}.sun-set{left:auto;right:2%;top:15%;width:86px}
  .day-copy{padding:clamp(35px,5svh,55px) 16px 0}.day-copy .eyebrow{font-size:8px;margin-bottom:18px}.day-copy h2{font-size:clamp(45px,11.5vw,64px);line-height:.91}
  .day-description{font-size:12px;line-height:1.6;margin-top:17px;max-width:330px}
  .stay-gallery{width:78%;margin-top:clamp(25px,4svh,36px)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.gallery-photo{height:clamp(60px,8.5svh,75px);aspect-ratio:auto}
  .day-gallery-link{width:100%;margin-top:8px;font-size:11px}
}
@media(max-width:640px) and (max-height:740px){.day-copy{padding-top:25px}.day-copy .eyebrow{margin-bottom:12px}.day-copy h2{font-size:clamp(42px,11vw,56px)}.day-description{margin-top:12px}.stay-gallery{margin-top:18px}.gallery-photo{height:clamp(50px,8svh,62px)}}
@media(max-width:640px) and (max-height:649px){.day-scene{height:auto;min-height:790px}.day-story{height:auto}}
@media(prefers-reduced-motion:reduce){.day-night-sky,.day-night-landscape{opacity:.45}.day-morning-wash{opacity:.4}.day-twilight-bridge{opacity:.3}.day-city-lights,.day-lake-sheen{opacity:.45}.day-city-lights i,.day-lake-sheen i,.day-copy .word-sparkles i{animation:none}.day-copy .word-shift{opacity:.5}.day-copy .word-sparkles{display:none}.day-gallery-link{transition:none}.day-gallery-link:hover{transform:none}}

/* day-story-flat.css */
/* Keep the illustrated scene in motion; simplify only its headline. */
.day-copy{max-width:930px}
.day-copy h2{font-size:clamp(90px,11vw,124px);line-height:.9;letter-spacing:-.035em;color:#233b30}
.day-copy h2 em{color:inherit}
.day-sun,.sun-set{width:clamp(75px,8vw,155px)}
@media(min-width:1001px) and (min-height:650px){
  .day-copy h2{font-size:clamp(82px,9vw,120px)}
  .day-sun,.sun-set{width:clamp(88px,8.4vw,155px)}
}
@media(max-width:1000px){.day-copy h2{font-size:clamp(78px,11vw,110px)}}
@media(max-width:640px){
  .day-copy h2{font-size:clamp(54px,13.6vw,70px);line-height:.94}
  .day-sun,.sun-set{width:68px}
}
@media(max-width:380px){.day-copy h2{font-size:51px}.day-sun,.sun-set{width:60px}}
