/* V1.5: supplied Tuyet Sac headings and locally served Montserrat body. */
@font-face{font-family:'TuyetSac';src:url('assets/fonts/TuyetSac-Regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'TuyetSac';src:url('assets/fonts/TuyetSac-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Montserrat';src:url('assets/fonts/Montserrat-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--green:#102f27;--dark:#0a231d;--cream:#f1eee5;--gold:#d3bc88;--muted:#b4bfb4;--line:#ffffff30;--pad:5.5vw;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--green);color:var(--cream);font-family:'Montserrat',Arial,Helvetica,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(42px,5.2vw,88px);line-height:1.13;letter-spacing:-.045em}em{font-weight:400;color:var(--gold)}p{line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--gold);color:var(--dark)}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:500;line-height:1.6}.section-pad{padding:90px var(--pad) 120px}.section-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-bottom:74px}.caption{font-size:11px;color:var(--muted);line-height:1.8}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--cream);color:var(--dark);padding:15px}.skip:focus{top:15px}header{height:105px;position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid #ffffff35;transition:background .3s}header.scrolled{position:fixed;height:82px;background:#102f27f5;backdrop-filter:blur(15px)}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:26px;letter-spacing:.1em;line-height:1.25}.brand-sub{font-size:7px;letter-spacing:.27em;margin-top:7px}header nav{display:flex;gap:33px;font-size:12px}header nav a{padding:12px 0;position:relative}header nav a:after{content:'';position:absolute;height:1px;background:var(--gold);bottom:3px;left:0;right:100%;transition:right .3s}header nav a:hover:after{right:0}.menu-trigger{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.18em;padding:15px 0 15px 20px}.hamb{display:grid;gap:6px;width:24px}.hamb i{height:1px;background:currentColor}.hero{height:100svh;min-height:710px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;object-position:50% 44%;animation:heroIn 1.6s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#06241855,transparent 35%,#061b16b8 100%),linear-gradient(90deg,#092c2590,transparent 85%)}.hero-location{position:absolute;top:145px;left:var(--pad);display:flex;gap:26px}.hero-location span{opacity:.7}.hero-copy{position:absolute;left:var(--pad);bottom:160px}.hero-copy>.eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(64px,7.2vw,126px);line-height:1.13;letter-spacing:-.04em}.hero h1 em{color:#f0dfb8}.hero-desc{font-size:14px;margin-top:28px;color:#fffdf1}.hero-bottom{position:absolute;bottom:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.15em;border-top:1px solid #ffffff50;padding-top:22px}.scroll-link{display:flex;align-items:center;gap:16px}.circle{height:42px;width:42px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;font-size:20px}.hero-vertical{position:absolute;right:28px;top:45%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.28em}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:30px}.small-title{font-size:13px;line-height:1.7;padding-top:10px}.intro-statement{font-size:clamp(55px,6vw,100px);line-height:1.2}.intro-text{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:46px;max-width:760px;font-size:13px;color:#c5cdc2}.estate-photos{display:grid;grid-template-columns:3fr 1fr;gap:6vw;margin-top:90px;align-items:center}.photo-button{padding:0;position:relative;display:block;overflow:hidden}.main-photo{aspect-ratio:1.72}.photo-plus{position:absolute;right:20px;bottom:20px;background:var(--cream);color:var(--green);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:transform .35s}.photo-button:hover .photo-plus,.space-card:hover .photo-plus{transform:rotate(45deg)}.photo-aside{padding-top:100px}.photo-aside img{aspect-ratio:.68;height:auto}.photo-aside p{margin-top:18px}.estate-sign{font-family:var(--serif);font-size:clamp(28px,3vw,50px);line-height:1.4;margin-top:65px;text-align:center}.essence{display:grid;grid-template-columns:1.05fr 1fr;background:var(--cream);color:var(--green)}.essence-media{min-height:850px;position:relative;overflow:hidden}.essence-media img{position:absolute;inset:0;transition:opacity .25s;filter:brightness(.85)}.essence-watermark{position:absolute;bottom:60px;left:4vw;font-family:var(--serif);font-size:16vw;color:#ffffffe0;font-style:italic;letter-spacing:-.08em}.essence-caption{position:absolute;bottom:24px;left:35px;right:35px;display:flex;justify-content:space-between;color:white;font-size:9px;letter-spacing:.14em}.essence-content{padding:70px 5vw}.essence-content h2{font-size:clamp(36px,3.8vw,65px);margin:30px 0 38px}.essence-content em{color:#82724d}.essence-tabs{display:grid}.essence-tabs button{display:flex;align-items:center;gap:26px;text-align:left;border-top:1px solid #102f2733;padding:19px 0;font-family:var(--serif);font-size:25px;opacity:.55;transition:opacity .25s}.essence-tabs button:last-child{border-bottom:1px solid #102f2733}.essence-tabs button[aria-selected=true],.essence-tabs button:hover{opacity:1}.essence-tabs button span{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:9px}.essence-tabs button b{margin-left:auto;font-size:23px;font-weight:400;opacity:0}.essence-tabs button[aria-selected=true] b{opacity:1}#essencePanel{font-size:13px;line-height:1.8;min-height:114px;padding-top:26px;max-width:450px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:60px}.section-heading>p{font-size:12px;color:var(--muted);max-width:340px;padding-bottom:8px}.space-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:55px 6vw}.space-card{text-align:left;padding:0;display:block;min-width:0}.space-card .image-wrap{overflow:hidden;position:relative;aspect-ratio:1.23}.space-card img{transition:transform .9s}.space-card:hover img{transform:scale(1.045)}.space-card.offset{margin-top:180px}.space-card.offset .image-wrap{aspect-ratio:.84}.space-card.narrow{width:74%;margin-top:-100px}.space-card.narrow .image-wrap{aspect-ratio:1.25}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:18px;padding-top:23px}.card-bottom small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.card-bottom h3{font-size:33px;margin-top:12px}.card-bottom p{font-size:11px;color:var(--muted);max-width:150px}.stay{background:#dcded1;color:var(--green);padding-bottom:70px;overflow:hidden}.stay .section-top{border-color:#102f2740}.stay em{color:#6f694c}.stay-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.stay-heading>div{max-width:350px}.stay-heading p{font-size:12px}.rail-controls{display:flex;gap:10px;margin-top:25px}.rail-controls button,.gallery-controls button{border:1px solid #102f2760;border-radius:50%;width:44px;height:44px;font-size:20px;transition:background .2s}.rail-controls button:hover{background:var(--green);color:var(--cream)}.stay-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:25px;scrollbar-width:thin;scrollbar-color:#7d887b transparent;scroll-behavior:smooth}.stay-card{flex:0 0 56%;scroll-snap-align:start;text-align:left;padding:0}.stay-card .image-wrap{aspect-ratio:1.6;overflow:hidden}.stay-card img{transition:transform .6s}.stay-card:hover img{transform:scale(1.04)}.stay-card .card-bottom{border-bottom:1px solid #102f2740;padding-bottom:20px}.stay-card .card-bottom small{color:#5b675c}.stay-card .card-bottom>span:last-child{font-size:24px}.stay-hint{color:#596a5e;margin-top:15px;letter-spacing:.1em}.exploration .section-heading{margin-bottom:50px}.explore-layout{display:grid;grid-template-columns:280px 1fr;gap:35px}.map-filters{display:flex;gap:7px;margin-bottom:25px;flex-wrap:wrap}.map-filters button{border:1px solid #ffffff35;border-radius:25px;padding:11px 12px;font-size:10px}.map-filters button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--green)}.map-list{margin-bottom:25px}.map-list button{width:100%;text-align:left;display:flex;align-items:center;border-top:1px solid var(--line);padding:17px 0;font-size:12px;gap:17px}.map-list button span{font-size:10px;color:var(--gold)}.map-list button b{margin-left:auto;font-size:16px;font-weight:400}.map-frame{position:relative;align-self:start;overflow:hidden}.map-frame>img{height:auto;aspect-ratio:1.806;object-fit:cover}.map-note{font-size:8px;letter-spacing:.12em;display:flex;justify-content:space-between;padding-top:16px;color:var(--muted)}#mapPins{position:absolute;inset:0 0 30px}.map-pin{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:35px;height:35px;background:var(--cream);border:1px solid var(--gold);color:var(--green);box-shadow:0 0 0 6px #e6d3a433;font-size:11px;transition:scale .2s}.map-pin:hover,.map-pin:focus-visible{scale:1.18;background:var(--gold)}.invitation{position:relative;min-height:690px;display:grid;place-items:center;text-align:center;overflow:hidden}.invitation>img{position:absolute;inset:0;object-position:center 55%}.invitation-shade{position:absolute;inset:0;background:#061b16a3}.invitation-copy{position:relative;padding:90px 25px}.invitation-copy h2{margin:35px 0 25px;font-size:clamp(44px,5.8vw,90px)}.invitation-copy p:not(.eyebrow){font-size:13px}.light-link{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid #fff8;padding:25px 0 15px;font-size:10px;letter-spacing:.14em;margin-top:30px}.light-link span{font-size:23px}.text-button{display:block;margin:30px auto 0;font-size:12px;text-decoration:underline;text-underline-offset:6px}footer{padding:60px var(--pad) 25px;background:var(--dark)}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:flex-start;padding-bottom:65px}.footer-top>p{font-family:var(--serif);font-size:25px;line-height:1.4}.footer-top>div{display:flex;flex-direction:column;gap:12px;font-size:13px}.footer-top>div .eyebrow{margin-bottom:12px;color:var(--gold)}.back-top{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;font-size:24px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;font-size:8px;letter-spacing:.1em;color:var(--muted)}dialog{padding:0;border:0;background:var(--cream);color:var(--green);max-height:90svh;max-width:calc(100% - 40px);overflow:auto}dialog::backdrop{background:#031710d9;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;background:var(--green);color:var(--cream);z-index:3;font-size:19px}.menu-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;background:var(--green);color:var(--cream)}.menu-dialog[open]{display:grid;grid-template-columns:1fr 1.6fr;gap:50px;padding:100px 10vw}.menu-intro{padding-top:20px}.menu-intro p{font-family:var(--serif);font-size:28px;margin-top:40px;color:var(--gold)}.menu-dialog nav{display:grid}.menu-dialog nav a{border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(30px,4vw,60px);display:flex;gap:25px;align-items:center;padding:12px 0}.menu-dialog small{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:10px;color:var(--gold)}.menu-dialog nav span{margin-left:auto;font-size:28px}.detail-dialog{width:1120px}.detail-dialog[open]{display:grid;grid-template-columns:1.4fr 1fr}.detail-media{position:relative;min-height:520px;background:var(--dark)}.detail-media>img{position:absolute;inset:0;object-fit:cover}.gallery-controls{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;color:white}.gallery-controls button{background:var(--green);border-color:#ffffff80}.gallery-controls span{background:#102f27c9;padding:8px 15px;font-size:10px}.detail-copy{padding:80px 40px 45px}.detail-copy h2{font-size:48px;margin:30px 0}.detail-copy>p:not(.eyebrow){font-size:13px}.detail-copy .caption{color:#657366;margin-top:30px}.message-dialog{width:650px;padding:55px}.message-dialog h2{font-size:43px;margin:25px 0}.message-dialog>p:not(.eyebrow){font-size:13px}.message-dialog em{color:#82724d}.message-dialog form{margin-top:20px;display:grid;gap:10px}.message-dialog label{font-size:11px;margin-top:8px}.message-dialog input,.message-dialog textarea{background:transparent;border:1px solid #102f2750;padding:12px;width:100%;border-radius:0;color:var(--green)}.solid-button{background:var(--green);color:var(--cream);padding:17px;text-align:left;margin-top:10px}.message-dialog .caption{color:#657366}.reveal-seen{animation:rise .75s ease-out both}@keyframes rise{from{transform:translateY(25px);opacity:.3}to{transform:none;opacity:1}}@keyframes heroIn{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1800px){body{--pad:8vw}.essence-content{padding:90px 6vw}.essence-media{min-height:940px}}
@media(max-width:1000px){header nav{gap:18px;font-size:11px}header{padding:0 4vw}.hero-foot{display:none}.hero-location span{display:none}.intro-grid{grid-template-columns:1fr 2fr}.intro-text{grid-template-columns:1fr;gap:18px}.essence-media{min-height:800px}.essence-content{padding:50px 4vw}.essence-content h2{font-size:38px}.section-heading>p{max-width:230px}.explore-layout{grid-template-columns:200px 1fr;gap:20px}.map-pin{width:30px;height:30px}.space-card.narrow{margin-top:-30px}.stay-heading p{max-width:280px}.footer-top>p{display:none}}
@media(max-width:700px){:root{--pad:6vw}.section-pad{padding:60px var(--pad) 75px}header{height:85px;padding:0 6vw}header.scrolled{height:73px}header nav{display:none}.brand-name{font-size:23px}.brand-sub{font-size:6px}.menu-trigger{font-size:9px}.hero{min-height:710px;max-height:950px}.hero-image{object-position:53% center}.hero-location{top:115px;font-size:9px}.hero-copy{bottom:180px;right:6vw}.hero-copy>.eyebrow{font-size:8px}.hero h1{font-size:clamp(45px,11.2vw,74px);line-height:1.2}.hero-desc{font-size:13px;margin-top:25px}.hero-bottom{bottom:25px}.hero-bottom>span:last-child{font-size:8px}.hero-vertical{right:10px;font-size:7px;top:36%}.section-top{margin-bottom:45px}.section-top .eyebrow:last-child{display:none}.intro-grid{grid-template-columns:1fr;gap:30px}.small-title{font-size:12px}.intro-statement{font-size:53px}.intro-text{margin-top:30px;font-size:13px;gap:16px}.estate-photos{grid-template-columns:1fr;gap:24px;margin-top:45px}.main-photo{aspect-ratio:1.1}.photo-aside{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.photo-aside img{aspect-ratio:.9}.estate-sign{font-size:28px;margin-top:45px}.essence{display:flex;flex-direction:column}.essence-media{min-height:0;height:430px}.essence-watermark{font-size:130px;bottom:40px;left:6vw}.essence-caption{font-size:8px;left:6vw;right:6vw}.essence-content{padding:45px 6vw}.essence-content h2{font-size:39px;margin:25px 0 30px}.essence-tabs button{font-size:25px;padding:17px 0}.section-heading{display:block;margin-bottom:35px}.section-heading>p{max-width:none;margin-top:25px;font-size:12px}.section-heading h2,h2{font-size:42px}.space-grid{grid-template-columns:1fr;gap:40px}.space-card.offset{margin:0 0 0 12%;width:88%}.space-card.offset .image-wrap{aspect-ratio:.95}.space-card.narrow{width:86%;margin:0}.space-card.big .image-wrap{aspect-ratio:1.05}.card-bottom{align-items:center;padding-top:15px}.card-bottom h3{font-size:29px}.card-bottom p{display:none}.stay-heading{display:block;margin-bottom:32px}.stay-heading>div{margin-top:25px;max-width:none}.stay-heading p{max-width:none}.rail-controls{justify-content:flex-end;margin-top:15px}.stay-card{flex-basis:87%}.stay-card .image-wrap{aspect-ratio:1.05}.stay-rail{gap:18px}.explore-layout{display:flex;flex-direction:column-reverse;gap:35px}.map-frame{width:100%}.map-frame>img{aspect-ratio:1.806}.map-pin{height:32px;width:32px;font-size:10px;box-shadow:0 0 0 3px #e6d3a433}.map-note{font-size:7px}.map-note span{display:none}.map-side{width:100%}.map-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.map-list button{font-size:11px;gap:10px}.invitation{min-height:610px}.invitation-copy h2{font-size:40px;line-height:1.25}.invitation-copy>p:not(.eyebrow){font-size:12px}.light-link{gap:30px;font-size:9px}.footer-top{display:grid;grid-template-columns:1fr auto;padding-bottom:40px;gap:40px}.footer-top .brand{align-items:flex-start}.footer-top>div{grid-row:2;grid-column:1}.back-top{grid-row:1;grid-column:2}.footer-bottom{display:grid;gap:13px;font-size:7px}.menu-dialog[open]{grid-template-columns:1fr;padding:80px 8vw 35px;gap:25px}.menu-intro{padding:0}.menu-intro p{display:none}.menu-dialog nav a{font-size:33px;padding:15px 0}.detail-dialog[open]{display:block}.detail-media{min-height:310px}.detail-copy{padding:35px 25px}.detail-copy h2{font-size:37px;margin:20px 0}.message-dialog{padding:65px 25px 35px}.message-dialog h2{font-size:33px}.photo-plus{height:40px;width:40px;right:15px;bottom:15px}html{scroll-padding-top:73px}}
@media(prefers-reduced-motion:reduce){html,.stay-rail{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* V1.1 — S01 only: observed ELEMENTIS hero composition. */
#S01.hero-reference{height:100svh;min-height:650px;max-height:none;background:#102f27;color:#fff}
#S01.hero-reference .hero-image{object-position:50% 50%;animation:estateHeroDrift 24s ease-in-out infinite alternate;will-change:transform}
#S01.hero-reference .hero-shade{background:linear-gradient(180deg,#06171060 0%,#06171010 35%,#06171038 65%,#06171080 100%)}
#S01 .hero-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#S01 .hero-marquee{position:absolute;left:0;right:0;bottom:17.8%;overflow:hidden;padding:12px 0 20px}
#S01 .hero-marquee-track{display:flex;width:max-content;animation:estateHeroMarquee 44s linear infinite;will-change:transform}
#S01 .hero-marquee-group{display:block;flex-shrink:0;font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:11.2vw;font-weight:300;letter-spacing:-.045em;line-height:1.2;white-space:nowrap}
#S01 .hero-marquee-group i{font-style:normal;font-size:.8em;padding:0 .2em;vertical-align:.04em}
#S01 .hero-reference-bottom{position:absolute;left:4.4vw;right:4.4vw;bottom:26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;border-top:1px solid #ffffff60;padding-top:20px;gap:20px}
#S01 .hero-reference-bottom p{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.45;text-align:center;letter-spacing:0;color:#fff}
#S01 .hero-reference-controls{display:flex;align-items:center;gap:22px;justify-self:start}
#S01 .hero-down{font-size:28px;line-height:1.1;padding:0 4px}
#S01 .hero-explore{justify-self:end;font-size:16px;line-height:1.5;padding:2px 0}
#S01 .hero-motion{font-size:15px;color:#fff9;padding:4px 8px;min-width:32px;min-height:32px}
#S01 .hero-motion:hover{color:#fff}
#S01.motion-paused .hero-image,#S01.motion-paused .hero-marquee-track{animation-play-state:paused}
@keyframes estateHeroMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes estateHeroDrift{from{transform:scale(1.025) translateX(-.6%)}to{transform:scale(1.09) translateX(.6%)}}
@media(max-width:700px){#S01.hero-reference{min-height:640px}#S01 .hero-marquee{bottom:24%;padding:12px 0}#S01 .hero-marquee-group{font-size:24vw;line-height:1.25}#S01.hero-reference .hero-image{object-position:48% center}#S01 .hero-reference-bottom{left:6vw;right:6vw;bottom:24px;grid-template-columns:1fr 1fr;gap:20px;padding-top:16px}#S01 .hero-reference-bottom p{grid-column:1 / -1;grid-row:1;font-size:14px;text-align:left}#S01 .hero-reference-controls{grid-column:1;grid-row:2}#S01 .hero-explore{grid-column:2;grid-row:2;font-size:12px;align-self:center}#S01 .hero-down{font-size:25px}}
@media(prefers-reduced-motion:reduce){#S01 .hero-marquee-track,#S01.hero-reference .hero-image{animation:none!important;transform:none!important}#S01 .hero-motion{display:none}#S01 .hero-marquee{padding:0 6vw;bottom:25%}#S01 .hero-marquee-track{width:100%}#S01 .hero-marquee-group{white-space:normal;font-size:clamp(40px,8vw,125px);line-height:1.25}#S01 .hero-marquee-group+ .hero-marquee-group{display:none}}

/* V1.2 — S02 follows the supplied estate layout; other sections preserved. */
#S02.estate-reference{position:relative;isolation:isolate;background:#002114;padding:15.3vw 4.2vw 0;overflow:hidden;color:#dfdbcc}
#S02 .estate-reference-grid{display:grid;grid-template-columns:33.85% 66.15%;row-gap:5.5vw;position:relative;z-index:1}
#S02 .estate-overview{grid-column:2;aspect-ratio:1061/626;width:100%;padding:0;display:block;background:#163e29}
#S02 .estate-overview img{transition:transform .8s ease}
#S02 .estate-overview:hover img{transform:scale(1.025)}
#S02 .estate-reference-title{grid-column:1;padding:0 1.2vw 0 0;color:#eed7a2}
#S02 .estate-reference-title>p{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(12px,1.35vw,25px);font-weight:700;line-height:1.4;margin:0 0 1.2vw}
#S02 .estate-reference-title h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.05vw,57px);line-height:1.2;letter-spacing:-.05em;font-weight:400;white-space:nowrap}
#S02 .estate-reference-copy{grid-column:2;min-width:0}
#S02 .estate-reference-lead{max-width:52.4vw;font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(26px,2.9vw,54px);font-weight:300;line-height:1.18;letter-spacing:-.045em;text-align:center;text-wrap:pretty}
#S02 .estate-reference-lead em{color:#bf7858;font-style:normal}
#S02 .estate-reference-note{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(13px,1.25vw,23px);line-height:1.45;letter-spacing:-.025em;max-width:25.2vw;margin-top:6vw}
#S02 .estate-reference-pattern{height:25vw;min-height:200px;width:calc(100% + 8.4vw);margin:2.2vw -4.2vw 0;background:url('assets/estate-pattern.webp') bottom center/100% 100% no-repeat;position:relative;z-index:0;pointer-events:none}
@media(max-width:1000px) and (min-width:701px){#S02 .estate-reference-title h2{white-space:normal;max-width:25vw}#S02 .estate-reference-note{max-width:33vw}}
@media(max-width:700px){#S02.estate-reference{padding:85px 6vw 0}#S02 .estate-reference-grid{grid-template-columns:1fr;row-gap:32px}#S02 .estate-overview{grid-column:1;aspect-ratio:1.695}#S02 .estate-reference-title{grid-column:1;padding:0}#S02 .estate-reference-title>p{font-size:12px;margin-bottom:12px}#S02 .estate-reference-title h2{font-size:32px;white-space:normal}#S02 .estate-reference-copy{grid-column:1}#S02 .estate-reference-lead{max-width:none;font-size:29px;text-align:left;line-height:1.28;letter-spacing:-.04em}#S02 .estate-reference-note{max-width:85%;margin-top:36px;font-size:14px;line-height:1.65}#S02 .estate-reference-pattern{width:calc(100% + 12vw);margin:35px -6vw 0;height:220px;min-height:0;background-size:auto 100%}}

/* V1.3 — S03: one desktop viewport, five native-scroll chapters. */
#S03.essence-scroll{display:block;background:#304b40;color:#d1d2c3;position:relative;height:500svh;scroll-margin-top:-88px}
#S03 .essence-screen{display:grid;grid-template-columns:49.2% 50.8%;position:sticky;top:0;height:100svh;overflow:hidden}
#S03 .essence-scene{position:relative;min-width:0;height:100%;overflow:hidden;background:#17382c}
#S03 .essence-scene>img{height:100%;width:100%;object-fit:cover;object-position:50% center}
#S03 .essence-scene-count{position:absolute;left:35px;bottom:30px;font-size:10px;letter-spacing:.2em;color:white;text-shadow:0 1px 5px #000}
#S03 .essence-story{min-width:0;height:100%;padding:16.5svh 8.8vw 5svh 9.3vw;display:flex;flex-direction:column;justify-content:space-between;gap:4svh}
#S03 .essence-chapter{display:flex;align-items:center;gap:20px;font-size:clamp(14px,1.4vw,28px);line-height:1.4}
#S03 .essence-chapter>span:first-child{font-size:.75em;transform:rotate(90deg)}
#S03 #essencePanel{padding:0;max-width:none;min-height:0;display:flex;flex-direction:column;gap:7.5svh;font-size:inherit}
#S03 #essenceHeadline{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(29px,2.75vw,60px);font-weight:300;line-height:1.12;letter-spacing:-.035em;margin:0}
#S03 #essenceHeadline em{color:#c67e59;font-style:normal}
#S03 #essenceText{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(13px,1.23vw,26px);line-height:1.4;letter-spacing:-.015em;color:#d1d2c3}
#S03 .essence-discover{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d1d2c350;padding-bottom:12px;font-size:clamp(14px,1.35vw,28px);line-height:1.3;gap:20px}
#S03 .essence-discover span{font-size:.8em}
#S03 .essence-progress{display:flex;justify-content:space-between;gap:15px;align-items:center}
#S03 .essence-steps{display:flex;gap:9px}
#S03 .essence-steps button{border-bottom:1px solid transparent;color:#d1d2c370;font-size:10px;letter-spacing:.05em;min-height:35px;min-width:29px;padding:8px 3px}
#S03 .essence-steps button[aria-selected=true]{color:#e4b58e;border-color:#e4b58e}
#S03 .essence-scroll-hint{font-size:7px;letter-spacing:.08em;white-space:nowrap;color:#d1d2c395}
@media(min-width:1001px) and (max-height:740px){#S03 .essence-story{padding-top:14svh;padding-bottom:3svh;gap:2.5svh}#S03 #essencePanel{gap:4svh}#S03 #essenceHeadline{font-size:clamp(26px,2.7vw,44px)}#S03 #essenceText{font-size:clamp(12px,1.15vw,19px)}}
@media(max-width:1000px){#S03.essence-scroll{height:auto;scroll-margin-top:0}#S03 .essence-screen{position:relative;top:auto;height:auto;display:grid;grid-template-columns:1fr 1fr;overflow:visible}#S03 .essence-scene{min-height:700px;height:100%}#S03 .essence-story{height:auto;padding:105px 5vw 40px;gap:40px}#S03 #essencePanel{gap:35px}#S03 #essenceHeadline{font-size:35px}#S03 #essenceText{font-size:14px}#S03 .essence-scroll-hint{display:none}#S03 .essence-steps button{min-width:36px;min-height:40px}}
@media(max-width:700px){#S03 .essence-screen{display:block}#S03 .essence-scene{height:58svh;min-height:350px;max-height:600px}#S03 .essence-scene-count{left:6vw;bottom:22px}#S03 .essence-story{padding:38px 7vw 32px;gap:35px;min-height:590px}#S03 .essence-chapter{font-size:16px;gap:14px}#S03 #essencePanel{gap:30px}#S03 #essenceHeadline{font-size:37px;line-height:1.16}#S03 #essenceText{font-size:15px;line-height:1.6}#S03 .essence-discover{font-size:17px}#S03 .essence-steps{gap:15px}#S03 .essence-steps button{min-width:40px;font-size:11px}}

/* V1.4 — S04: space background + activity card, native-scroll striped transitions. */
#S04.spaces-scroll{height:400svh;position:relative;display:block;padding:0;background:#102f27;color:#eeeade;scroll-margin-top:-88px}
#S04 .spaces-screen{height:100svh;position:sticky;top:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
#S04 .spaces-background,#S04 .spaces-shade,#S04 #spacesStripes{position:absolute;inset:0}
#S04 .spaces-background>img{width:100%;height:100%;object-fit:cover}
#S04 .spaces-shade{background:#09251c25;pointer-events:none}
#S04 .spaces-stripe{position:absolute;left:0;width:100%;height:calc(100% / 18 + 1px);overflow:hidden;clip-path:inset(100% 0 0 0);will-change:clip-path}
#S04 .spaces-stripe img{position:absolute;left:0;width:100%;height:100svh;max-width:none;object-fit:cover;top:calc(var(--stripe) * -100svh / 18)}
#S04 .spaces-side-label{position:absolute;left:4.4vw;top:49%;font-size:clamp(14px,1.3vw,28px);display:flex;gap:20px;align-items:center;z-index:1;text-shadow:0 1px 6px #0008}
#S04 .spaces-side-label span{font-size:.75em;transform:rotate(90deg)}
#S04 .spaces-keep-scrolling{position:absolute;right:4.4vw;top:49%;font-size:clamp(13px,1.3vw,28px);z-index:1;text-shadow:0 1px 6px #0008}
#S04 .spaces-story-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:32.8vw;min-width:390px;max-width:680px;height:83svh;padding:3.8svh 2.2vw 2.8svh;background:#d0ccbe;color:#30413b;text-align:center;margin-top:3svh;gap:2.5svh}
#S04 .spaces-card-count{font-size:clamp(12px,1vw,22px);line-height:1.3}
#S04 .spaces-card-count>span+span{opacity:.5}
#S04 #spacesTitle{font-family:'Montserrat',Arial,Helvetica,sans-serif;font-size:clamp(24px,1.85vw,40px);line-height:1.07;letter-spacing:-.025em;font-weight:300;margin:0}
#S04 #spacesTitle>span:not(.motion-word-mask){display:block}
#S04 .spaces-activity{width:100%;height:31svh;min-height:0;position:relative;padding:0;display:block;flex-shrink:0;overflow:hidden;background:#1a352a}
#S04 .spaces-activity img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#S04 #spacesActivityNext{clip-path:inset(100% 0 0 0)}
#S04 #spacesDescription{font-size:clamp(12px,1.07vw,23px);line-height:1.32;letter-spacing:-.01em;margin:0;max-width:100%}
#S04 .spaces-card-nav{display:flex;gap:18px}
#S04 .spaces-card-nav button{font-size:10px;min-width:32px;min-height:28px;padding:5px 6px;border-bottom:1px solid transparent;opacity:.45}
#S04 .spaces-card-nav button[aria-selected=true]{border-color:#30413b;opacity:1}
#S04 .spaces-discover{position:absolute;left:71%;bottom:5%;z-index:3;border-radius:40px;background:#d8d2c56b;backdrop-filter:blur(15px);color:white;padding:12px 20px;display:flex;align-items:center;gap:18px;font-size:clamp(12px,1.05vw,23px);white-space:nowrap}
@media(min-width:1001px) and (max-height:740px){#S04 .spaces-story-card{height:80svh;margin-top:7svh;gap:2svh;padding-top:2.5svh;padding-bottom:2svh}#S04 #spacesTitle{font-size:24px}#S04 .spaces-activity{height:28svh}#S04 #spacesDescription{font-size:12px}#S04 .spaces-discover{left:auto;right:4vw}}
@media(max-width:1000px){#S04.spaces-scroll{height:auto;scroll-margin-top:0}#S04 .spaces-screen{position:relative;top:auto;height:auto;min-height:900px;padding:110px 30px 100px}#S04 .spaces-story-card{width:470px;min-width:0;max-width:100%;height:auto;min-height:650px;padding:30px;gap:30px;margin:0}#S04 .spaces-activity{height:280px}#S04 .spaces-stripe img{height:100%;top:0}#S04 .spaces-side-label{left:30px;top:92px;font-size:13px}#S04 .spaces-keep-scrolling{display:none}#S04 #spacesTitle{font-size:30px}#S04 #spacesDescription{font-size:14px}#S04 .spaces-discover{left:50%;transform:translateX(-50%);bottom:30px;font-size:14px;background:#102f27c9}#S04 .spaces-card-nav button{min-width:44px;min-height:40px}}
@media(max-width:700px){#S04 .spaces-screen{padding:110px 6vw 90px;min-height:860px}#S04 .spaces-story-card{padding:28px 22px;min-height:610px;gap:26px}#S04 .spaces-activity{height:245px}#S04 #spacesTitle{font-size:28px}#S04 #spacesDescription{font-size:13px;line-height:1.5}#S04 .spaces-side-label{top:75px;left:6vw}#S04 .spaces-card-count{font-size:12px}}
@media(prefers-reduced-motion:reduce){#S04 #spacesStripes{display:none}#S04 #spacesActivityNext{display:none}}

/* Typography roles only: retain section layouts and interactions. */
h1,h2,h3,#S01 .hero-marquee-group,#S02 .estate-reference-title h2,#S03 #essenceHeadline,#S04 #spacesTitle{font-family:'TuyetSac',Georgia,serif!important;font-weight:400!important;font-style:normal;letter-spacing:0!important;line-height:1.25}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal}
#S04 #spacesTitle>span:not(.motion-word-mask){font-family:'Montserrat',Arial,sans-serif;font-size:.72em;line-height:1.35;margin-top:8px;letter-spacing:-.02em}
.menu-dialog nav a{font-family:'Montserrat',Arial,sans-serif}
.footer-top>p{font-family:'TuyetSac',Georgia,serif}
#S02 .estate-reference-lead{font-weight:300}

/* V1.6 — uppercase for display-title roles only. */
h1,h2,h3,#S01 .hero-marquee-group,.footer-top>p{text-transform:uppercase}

/* V1.7 — header follows scroll direction; keyboard focus stays visible. */
#header{transition:transform .28s ease,background .3s}
#header.header-hidden{transform:translateY(calc(-100% - 1px))}
#header:has(:focus-visible){transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#header{transition:none}}

/* V1.8 — independently rooted brand flora; motion only within the garden. */
#S02 .estate-garden-wrap{background:none;pointer-events:auto;touch-action:pan-y}
#S02 .estate-garden{display:block;width:100%;height:100%;fill:#00432d;overflow:visible}
#S02 .estate-plant,#S02 .estate-flower{transform-box:view-box}
@media(hover:none),(pointer:coarse){#S02 .estate-garden-wrap{pointer-events:none}}
@media(prefers-reduced-motion:reduce){#S02 .estate-garden-wrap{pointer-events:none}}
#S02 .estate-garden{overflow:hidden}

/* V1.9 — original brand geometry; growth scales around each original root. */
#S02 .estate-brand-garden{fill:#003d25}
#S02 .estate-grow{transform-box:view-box;transform-origin:0 0}
@media(prefers-reduced-motion:reduce){#S02 .estate-grow{transform:none!important;opacity:1!important}}

/* V1.10 — left-aligned introduction; planted roots and low center canopy. */
#S02 .estate-reference-lead{text-align:left}
#S02 .estate-garden-wrap{margin-bottom:-1px}

/* V1.13 — shared soft motion; no changes to content, branding or pinned geometry. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-fast:450ms;--motion-soft:1000ms}
.motion-word-mask{display:inline-block;overflow:clip;vertical-align:top;padding-block:.18em;margin-block:-.18em}
.motion-word{display:inline-block}
.motion-image-ghost{pointer-events:none!important}
#S03 .essence-scene-count{z-index:3}
#header{transition:transform 650ms var(--motion-ease),background 650ms var(--motion-ease)}
#S02 .estate-overview img,.stay-card img,.space-card img{transition:transform 1400ms var(--motion-ease)}
#S02 .estate-overview:hover img,.stay-card:hover img{transform:scale(1.025)}
.essence-steps button,.spaces-card-nav button,.rail-controls button,.gallery-controls button,.map-filters button,.map-list button,.map-pin,.photo-plus,.light-link,.essence-discover,.spaces-discover,.back-top{transition:color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease),scale 650ms var(--motion-ease),transform 650ms var(--motion-ease)}
.light-link span,.essence-discover span,.spaces-discover span,.map-list button b{display:inline-block;transition:transform 650ms var(--motion-ease)}
.light-link:hover span,.essence-discover:hover span,.spaces-discover:hover span,.map-list button:hover b{transform:translate(3px,-3px)}
.detail-media{overflow:hidden}
dialog[open]::backdrop{animation:softBackdropIn 650ms var(--motion-ease) both}
dialog.is-closing::backdrop{animation:softBackdropOut 420ms ease both}
@keyframes softBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes softBackdropOut{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#header{transition:none}.motion-image-ghost{display:none}.motion-word{transform:none!important;opacity:1!important}}

/* V1.16: hide entrance targets before first paint, reveal once without a visible reset. */
html.entrance-ready :is(#S02 .estate-reference-title h2,#S03 #essenceHeadline,#S05 h2,#S06 h2,#S07 h2,footer .footer-top>p,#S02 .estate-reference-lead,#S02 .estate-reference-note,#S03 #essenceText,#S05 .stay-heading p,#S06 .section-heading>p,#S07 .invitation-copy>p,.section-top,#S02 .estate-reference-title>p,#S03 .essence-chapter,#S04 .spaces-side-label,#S04 .spaces-keep-scrolling,.stay-card .card-bottom,.footer-bottom,#S03 .essence-discover,#S04 .spaces-discover,#S06 .map-side,#S07 .light-link,#S07 .text-button,.footer-top>.brand,.footer-top>div,#S02 .estate-overview,.stay-card .image-wrap,#S06 .map-frame,#S04 .spaces-story-card,#S01 .hero-marquee,#S01 .hero-reference-bottom):not(.entrance-shown){opacity:0}
@media(prefers-reduced-motion:reduce){html.entrance-ready :is(#S02 .estate-reference-title h2,#S03 #essenceHeadline,#S05 h2,#S06 h2,#S07 h2,footer .footer-top>p,#S02 .estate-reference-lead,#S02 .estate-reference-note,#S03 #essenceText,#S05 .stay-heading p,#S06 .section-heading>p,#S07 .invitation-copy>p,.section-top,#S02 .estate-reference-title>p,#S03 .essence-chapter,#S04 .spaces-side-label,#S04 .spaces-keep-scrolling,.stay-card .card-bottom,.footer-bottom,#S03 .essence-discover,#S04 .spaces-discover,#S06 .map-side,#S07 .light-link,#S07 .text-button,.footer-top>.brand,.footer-top>div,#S02 .estate-overview,.stay-card .image-wrap,#S06 .map-frame,#S04 .spaces-story-card,#S01 .hero-marquee,#S01 .hero-reference-bottom){opacity:1}}

/* V1.18 — one continuous brand grove, rooted on the right panel base. */
#S03 .essence-story{position:relative;padding-bottom:calc(clamp(110px,16svh,165px) + 4svh)}
#S03 .essence-grove{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(110px,16svh,165px);max-width:none;display:block;overflow:hidden;isolation:isolate;color:#e4b58e}
#S03 .essence-grove-svg{position:absolute;inset:0;display:block;width:100%;height:100%;fill:currentColor}
#S03 .essence-grove-ghost{fill:#d1d2c3;opacity:.16}
#S03 .essence-grove-ghost.is-current{opacity:.42}
#S03 .essence-grove-growth{fill:#e4b58e}
#S03 .essence-grove-ground{stroke:currentColor;stroke-width:2;opacity:.35;fill:none}
#S03 .essence-grove .essence-steps{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:100%;width:100%;gap:0;border:0}
#S03 .essence-grove .essence-steps button{display:block;min-width:0;min-height:44px;width:100%;height:100%;padding:0;margin:0;border:0;background:none;opacity:1;outline-offset:-5px}
#S03 .essence-grove .essence-steps button:hover{background:linear-gradient(transparent,#e4b58e09)}
@media(min-width:1001px) and (max-height:740px){#S03 .essence-story{padding-bottom:calc(110px + 3svh);gap:2svh}#S03 .essence-grove{height:110px}}
@media(max-width:1000px){#S03 .essence-story{padding-bottom:155px}#S03 .essence-grove{height:125px}}
@media(max-width:700px){#S03 .essence-story{padding-bottom:125px}#S03 .essence-grove{height:110px}}

/* V1.19 — grove shares the text column's exact left and right edges. */
#S03 .essence-story{--grove-left:9.3vw;--grove-right:8.8vw;padding-left:var(--grove-left);padding-right:var(--grove-right)}
#S03 .essence-grove{left:var(--grove-left);right:var(--grove-right);width:auto}
@media(max-width:1000px){#S03 .essence-story{--grove-left:5vw;--grove-right:5vw}}
@media(max-width:700px){#S03 .essence-story{--grove-left:7vw;--grove-right:7vw}}

/* V1.20 — bounded S01/S02/S04 refinements requested from the reference. */
#S01.hero-reference{background:#002114}
#S01 .hero-marquee{bottom:10.5%}
#S01 .hero-marquee-track{animation:none}
#S01 .hero-scroll-fill{position:absolute;inset:0;background:#002114;opacity:var(--hero-green-fill,0);pointer-events:none}
#S02 .estate-overview{position:relative;overflow:hidden}
#S02 .estate-overview img,#S02 .estate-overview:hover img{position:absolute;left:0;top:-10%;width:100%;height:120%;transform:translate3d(0,var(--estate-shift,0px),0);transition:none}
#S04 .spaces-card-count{padding:0;cursor:pointer}
#S04 .spaces-story-card{justify-content:space-between}
@media(max-width:700px){#S01 .hero-marquee{bottom:21%}}
@media(prefers-reduced-motion:reduce){#S01 .hero-marquee{bottom:25%}#S01 .hero-marquee-track{transform:none!important}#S02 .estate-overview img,#S02 .estate-overview:hover img{top:0;height:100%;transform:none!important}}

/* V1.21 — observed ELEMENTIS horizontal-band hero erosion and downwards image parallax. */
#S01 .hero-scroll-fill{background:transparent;opacity:1}
#S01 .hero-fill-band{position:absolute;left:0;width:100%;height:calc(100% / 30 + .5px);background:#002114;transform:scaleY(0);transform-origin:center bottom}
#S01.hero-reference .hero-image{translate:0 var(--hero-media-shift,0px)}
#S02 .estate-overview img,#S02 .estate-overview:hover img{top:-6%;height:112%;transform:translate3d(0,var(--estate-shift,0px),0);will-change:transform}
@media(prefers-reduced-motion:reduce){#S01 .hero-scroll-fill{background:#002114}#S01 .hero-fill-band{display:none}#S01.hero-reference .hero-image{translate:none}#S02 .estate-overview img,#S02 .estate-overview:hover img{top:0;height:100%;transform:none!important;will-change:auto}}

/* V1.23 — centered Spaces composition and frosted glass discovery. */
#S04 .spaces-story-card{justify-content:center;gap:3.2svh}
#S04 .spaces-card-count{position:absolute;top:3.8svh;left:50%;transform:translateX(-50%)}
#S04 .spaces-discover{background:#f1eee526;border:1px solid #ffffff59;box-shadow:0 8px 28px #00170d24,inset 0 1px 0 #ffffff2b;backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);padding:13px 23px;font-size:14px;line-height:1.3;transition:background .35s,border-color .35s}
#S04 .spaces-discover:hover{background:#f1eee53d;border-color:#ffffff8c}
#S04 .spaces-discover.is-following{left:0;top:0;right:auto;bottom:auto;transform:translate3d(var(--follow-x,0px),var(--follow-y,0px),0);pointer-events:none;will-change:transform}
#detailDialog.gallery-only{width:calc(100vw - 24px);height:calc(100svh - 24px);max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:hidden;background:#061710;color:#fff;padding:0;grid-template-columns:1fr}
#detailDialog.gallery-only .detail-media{height:100%;width:100%;min-height:0;overflow:hidden;background:#061710;touch-action:pan-y}
#detailDialog.gallery-only .detail-media>img{object-fit:contain}
#detailDialog.gallery-only .detail-copy{display:none}
#detailDialog.gallery-only .dialog-close{background:#ffffff24;border:1px solid #ffffff45;backdrop-filter:blur(14px);color:#fff}
#detailDialog.gallery-only .gallery-controls{z-index:3}
#detailDialog.gallery-only .gallery-controls button,#detailDialog.gallery-only .gallery-controls span{background:#06171066;backdrop-filter:blur(14px);border-color:#ffffff80}
@media(min-width:1001px) and (max-height:740px){#S04 .spaces-story-card{gap:2.5svh}#S04 .spaces-card-count{top:2.5svh}}
@media(max-width:1000px){#S04 .spaces-story-card{padding-top:85px;gap:28px}#S04 .spaces-card-count{top:30px}#S04 .spaces-discover{background:#102f2780}}
@media(max-width:700px){#detailDialog.gallery-only{width:100vw;height:100svh;max-width:100vw;max-height:100svh}#detailDialog.gallery-only .detail-media{min-height:0}#detailDialog.gallery-only .gallery-controls{bottom:20px;left:15px;right:15px}}

/* V1.26 — one-screen horizontal room collection with brochure amenities. */
#S05{background:#002114;color:#f0d8a6;padding:0;overflow:visible}
#S05 .stay-screen{padding:5svh 5.5vw 2.5svh;overflow:hidden}
#S05 .section-top{margin-bottom:2svh;border-color:#63cfaa38}
#S05 .stay-heading{display:flex;align-items:center;gap:35px;margin-bottom:3svh}
#S05 .stay-heading h2{font-size:clamp(28px,3vw,52px);line-height:1.1;margin:0}
#S05 .stay-heading h2 br{display:none}
#S05 .stay-heading h2 em{font-style:normal}
#S05 .stay-heading>div{display:flex;align-items:center;gap:25px;max-width:50%}
#S05 .stay-heading p{font-size:11px;line-height:1.6;max-width:340px;color:#d9d7bd;margin:0}
#S05 .rail-controls{display:flex;gap:8px;flex-shrink:0;margin:0}
#S05 .rail-controls button{border:1px solid #68d6b375;color:#80e2bf}
#S05 .stay-window{overflow:hidden}
#S05 .stay-rail{gap:4vw;padding:0;scrollbar-width:none}
#S05 .stay-card{flex:0 0 100%;color:inherit;border:0;min-width:0}
#S05 .stay-card .image-wrap{height:49svh;aspect-ratio:auto;width:100%}
#S05 .stay-card img{width:100%;height:100%;object-fit:cover}
#S05 .stay-info{display:grid;grid-template-columns:25% 1fr;gap:3vw;padding:3.5svh 0 0;text-align:left;min-height:135px}
#S05 .stay-name h3{font-size:clamp(29px,3.5vw,60px);line-height:1.1;margin:0 0 2svh}
#S05 .stay-name p{font-size:12px;font-weight:650;color:#72d9b6;margin:0}
#S05 .stay-amenities{display:grid;grid-template-rows:repeat(2,minmax(38px,auto));grid-auto-flow:column;grid-auto-columns:1fr;gap:14px 20px;align-content:start}
#S05 .stay-amenity{display:flex;gap:14px;align-items:center;min-width:0}
#S05 .stay-amenity svg{width:35px;height:35px;flex-shrink:0;color:#76d9b7}
#S05 .stay-amenity span{font-size:clamp(10px,.86vw,13px);line-height:1.45;font-weight:400}
#S05 .stay-hint{display:flex;justify-content:space-between;font-size:9px;color:#8bc3a8;margin:2svh 0 0}
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){#S05 .stay-screen{position:sticky;top:0;height:100svh}#S05 .stay-rail{overflow:visible;scroll-snap-type:none;scroll-behavior:auto;will-change:transform}}
@media(min-width:1001px) and (max-height:760px){#S05 .stay-screen{padding-top:3svh}#S05 .stay-heading{margin-bottom:2svh}#S05 .stay-card .image-wrap{height:45svh}#S05 .stay-info{padding-top:2.5svh;min-height:110px}#S05 .stay-name h3{font-size:34px}#S05 .stay-amenities{gap:8px 12px}#S05 .stay-amenity{gap:9px}}
@media(max-width:1000px){#S05 .stay-screen{padding:65px 6vw 40px}#S05 .stay-heading{display:block}#S05 .stay-heading>div{max-width:100%;justify-content:space-between;margin-top:20px}#S05 .stay-heading h2{font-size:38px}#S05 .stay-card .image-wrap{height:42svh;min-height:250px}#S05 .stay-info{grid-template-columns:1fr;gap:24px}#S05 .stay-name h3{font-size:38px;margin-bottom:12px}#S05 .stay-amenities{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);grid-template-rows:none;gap:20px}#S05 .stay-amenity span{font-size:11px}#S05 .stay-card{flex-basis:100%}#S05 .stay-hint{margin-top:25px;font-size:8px}}

/* V1.27 — restore the original two-line heading and overlapping room rail. */
@media(min-width:1001px){
 #S05 .stay-heading{align-items:flex-end;margin-bottom:3svh}
 #S05 .stay-heading h2{font-size:clamp(42px,4.8vw,72px);line-height:1.08}
 #S05 .stay-heading h2 br{display:block}
 #S05 .stay-heading>div{display:block;max-width:350px}
 #S05 .stay-heading p{font-size:12px;max-width:350px}
 #S05 .rail-controls{margin-top:16px;justify-content:flex-end}
 #S05 .stay-card{flex-basis:56%}
 #S05 .stay-card .image-wrap{height:34svh;aspect-ratio:1.6}
 #S05 .stay-info{display:block;padding-top:2svh;min-height:0}
 #S05 .stay-name{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:2svh}
 #S05 .stay-name h3{font-size:34px;margin:0}
 #S05 .stay-name p{font-size:10px}
 #S05 .stay-amenities{gap:12px 10px}
 #S05 .stay-amenity{gap:8px}
 #S05 .stay-amenity svg{width:28px;height:28px}
 #S05 .stay-amenity span{font-size:10px}
 #S05 .stay-hint{margin-top:2svh}
}
@media(min-width:1001px) and (max-height:760px){
 #S05 .stay-heading h2{font-size:42px}
 #S05 .stay-heading p{font-size:10px}
 #S05 .stay-card .image-wrap{height:30svh}
 #S05 .stay-name h3{font-size:28px}
 #S05 .stay-name{margin-bottom:10px}
 #S05 .stay-amenities{gap:8px}
 #S05 .stay-amenity span{font-size:9px}
}

/* V1.28 — open spacing, edge-to-edge room rail and brand flower carpet. */
#S05 .stay-top-space{height:36px;padding:0;border:0;margin-bottom:3svh;flex-shrink:0}
#S05 .stay-window{margin-left:-5.5vw;margin-right:-5.5vw;overflow:visible}
#S05 .stay-rail{padding-left:5.5vw;padding-right:5.5vw}
#S05 .stay-flower-carpet{height:110px;margin:35px -5.5vw -40px;background:url('assets/doi-quan-brand-pattern.svg') repeat-x center bottom / auto 100%;pointer-events:none}
@media(min-width:1001px){
 #S05 .stay-card{flex-basis:min(54vw,62svh)}
 #S05 .stay-card .image-wrap{height:40svh;aspect-ratio:auto}
 #S05 .stay-heading{margin-bottom:2.4svh}
 #S05 .stay-info{padding-top:1.5svh}
 #S05 .stay-name{margin-bottom:1.5svh}
 #S05 .stay-name h3{font-size:30px}
 #S05 .stay-amenity span{font-size:9px}
 #S05 .stay-amenity svg{width:25px;height:25px}
 #S05 .stay-amenity{gap:7px}
 #S05 .stay-amenities{gap:10px 8px}
 #S05 .stay-flower-carpet{position:absolute;left:0;right:0;bottom:0;height:9svh;margin:0;background-size:auto 100%}
}
@media(min-width:1001px) and (max-height:800px){
 #S05 .stay-top-space{height:24px;margin-bottom:2svh}
 #S05 .stay-heading h2{font-size:40px}
 #S05 .stay-card{flex-basis:min(50vw,58svh)}
 #S05 .stay-card .image-wrap{height:37svh}
 #S05 .stay-name h3{font-size:27px}
 #S05 .stay-name p{font-size:9px}
 #S05 .stay-amenity svg{width:22px;height:22px}
 #S05 .stay-amenity span{font-size:8px}
 #S05 .stay-amenities{gap:7px}
 #S05 .stay-flower-carpet{height:7svh}
}
@media(max-width:1000px){
 #S05 .stay-window{margin-left:-6vw;margin-right:-6vw}
 #S05 .stay-rail{padding-left:6vw;padding-right:6vw}
 #S05 .stay-card{flex-basis:88vw}
 #S05 .stay-card .image-wrap{height:auto;min-height:0;aspect-ratio:4/3}
 #S05 .stay-flower-carpet{margin-left:-6vw;margin-right:-6vw}
}

/* V1.29 — reference information band and larger 18:9 photographs. */
#S05 .stay-card .image-wrap{height:auto;min-height:0;aspect-ratio:18/9}
@media(min-width:1001px){
 #S05 .stay-card{flex-basis:min(88vw,96svh)}
 #S05 .stay-info{display:grid;grid-template-columns:25% minmax(0,1fr);gap:2.5%;padding-top:2svh;min-height:0}
 #S05 .stay-name{display:block;margin:0}
 #S05 .stay-name h3{font-size:clamp(29px,3vw,44px);line-height:1.12;margin:0 0 2svh}
 #S05 .stay-name p{font-size:11px;line-height:1.4}
 #S05 .stay-amenities{grid-template-rows:repeat(2,36px);gap:12px 14px}
 #S05 .stay-amenity{gap:11px}
 #S05 .stay-amenity svg{width:32px;height:32px}
 #S05 .stay-amenity span{font-size:11px;line-height:1.4}
}
@media(min-width:1001px) and (max-height:800px){
 #S05 .stay-name h3{font-size:29px}
 #S05 .stay-name p{font-size:9px}
 #S05 .stay-amenities{grid-template-rows:repeat(2,30px);gap:8px 10px}
 #S05 .stay-amenity{gap:8px}
 #S05 .stay-amenity svg{width:26px;height:26px}
 #S05 .stay-amenity span{font-size:9px}
}

/* V1.30 — room photographs at80% of the approved V1.29 dimensions. */
@media(min-width:1001px){
 #S05 .stay-card{flex-basis:min(70.4vw,76.8svh)}
 #S05 .stay-name h3{font-size:clamp(24px,2.4vw,35.2px)}
 #S05 .stay-name p{font-size:10px}
 #S05 .stay-amenity svg{width:26px;height:26px}
 #S05 .stay-amenity{gap:8px}
 #S05 .stay-amenity span{font-size:10px}
 #S05 .stay-amenities{gap:10px}
}
@media(min-width:1001px) and (max-height:800px){
 #S05 .stay-name h3{font-size:24px}
 #S05 .stay-name p{font-size:8px}
 #S05 .stay-amenity svg{width:22px;height:22px}
 #S05 .stay-amenity{gap:6px}
 #S05 .stay-amenity span{font-size:8px}
}
@media(max-width:1000px){#S05 .stay-card{flex-basis:70.4vw}}

/* V1.31 — uniformly compact the two approved desktop compositions to85%. */
#S03 .essence-story-inner{display:flex;flex-direction:column;justify-content:space-between;gap:inherit;flex:1;min-height:0;width:100%}
@media(min-width:1001px){
 #S03 .essence-story-inner{transform:scale(.85);transform-origin:50% 50%}
 #S03 .essence-grove{transform:scale(.85);transform-origin:50% 100%}
 #S04 .spaces-story-card{transform:scale(.85);transform-origin:50% 50%}
}

/* V1.32 —85% layout width, original composition height; no stretched text or photos. */
@media(min-width:1001px){
 #S03 .essence-story-inner{transform:none;flex:none;height:100%;width:85%;margin-inline:auto}
 #S03 .essence-chapter{font-size:clamp(11.9px,1.19vw,23.8px);gap:17px}
 #S03 #essenceHeadline{font-size:clamp(24.65px,2.3375vw,51px)}
 #S03 #essenceText{font-size:clamp(11.05px,1.0455vw,22.1px)}
 #S03 .essence-discover{font-size:clamp(11.9px,1.1475vw,23.8px);gap:17px;padding-bottom:10.2px}
 #S03 .essence-grove{transform:none;width:calc((100% - var(--grove-left) - var(--grove-right)) * .85);left:calc(var(--grove-left) + (100% - var(--grove-left) - var(--grove-right)) * .075);right:auto}
 #S04 .spaces-story-card{transform:none;width:27.88vw;min-width:331.5px;max-width:578px;padding-left:1.87vw;padding-right:1.87vw}
 #S04 .spaces-card-count{font-size:clamp(10.2px,.85vw,18.7px)}
 #S04 #spacesTitle{font-size:clamp(20.4px,1.5725vw,34px)}
 #S04 #spacesDescription{font-size:clamp(10.2px,.9095vw,19.55px)}
}
@media(min-width:1001px) and (max-height:740px){
 #S03 #essenceHeadline{font-size:clamp(22.1px,2.295vw,37.4px)}
 #S03 #essenceText{font-size:clamp(10.2px,.9775vw,16.15px)}
 #S04 #spacesTitle{font-size:20.4px}
 #S04 #spacesDescription{font-size:10.2px}
}

/* V1.33 — aligned lifted Stay heading and a larger scroll-responsive garden. */
#S05 .stay-flower-carpet{background:none}
#S05 .stay-flower-carpet::before{content:'';position:absolute;left:-3vw;right:-3vw;top:0;bottom:0;background:url('assets/doi-quan-brand-pattern.svg') repeat-x center bottom / auto 100%;transform:skewX(var(--stay-wind,0deg));transform-origin:50% 100%;will-change:transform}
@media(min-width:1001px){
 #S05 .stay-top-space{height:24px;margin-bottom:2svh}
 #S05 .stay-heading{align-items:flex-start}
 #S05 .stay-heading>div{margin-top:0}
 #S05 .stay-flower-carpet{height:16svh}
}
@media(min-width:1001px) and (max-height:800px){#S05 .stay-top-space{height:14px;margin-bottom:1.5svh}#S05 .stay-flower-carpet{height:14svh}}
@media(max-width:1000px){#S05 .stay-flower-carpet{position:relative;height:145px}}
@media(prefers-reduced-motion:reduce){#S05 .stay-flower-carpet::before{transform:none;will-change:auto}}

/* V1.34 — original brand plants share one rooted baseline with wider wind overscan. */
#S05 .stay-flower-carpet::before{left:-8vw;right:-8vw;bottom:-1px;background-image:url('assets/stay-rooted-garden.svg')}

/* V1.35 — raised heading, clear route to room details, image-only room popups. */
@media(min-width:1001px){#S05 .stay-heading{position:relative;top:-24px}}
#S05 .stay-more-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;min-height:100%;padding:35px 4vw;text-decoration:none;border:1px solid #78d4b445;background:#073222}
#S05 .stay-more-card h3{font-size:clamp(30px,3.4vw,50px);line-height:1.3;margin:0}
#S05 .stay-more-label{font-size:10px;letter-spacing:.13em;color:#79d9b7}
#S05 .stay-more-link{display:flex;justify-content:space-between;align-items:center;gap:35px;width:100%;border-bottom:1px solid #79d9b75c;padding:0 0 14px;font-size:13px}
#S05 .stay-more-card:hover{background:#0c3a28}
@media(max-width:1000px){#S05 .stay-more-card{min-height:350px}}

/* V1.36 — bedroom system summary follows the supplied brochure composition. */
#S05 .stay-system-card{justify-content:center;gap:13px;padding:24px 30px;background:#002114;border-color:#62b99c40}
#S05 .stay-system-heading>span{display:block;font-size:11px;font-weight:650;color:#64c8a7;line-height:1.3;margin-bottom:5px}
#S05 .stay-system-card h3{font-size:32px;line-height:1.15;margin:0}
#S05 .stay-system-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px;width:100%}
#S05 .stay-system-intro p{margin:0;font-size:9px;line-height:1.5;font-weight:400}
#S05 .stay-system-table-wrap{width:100%;min-width:0}
#S05 .stay-system-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8px;line-height:1.4;text-align:left;font-weight:400;border-bottom:1px solid #54bd955c}
#S05 .stay-system-table caption{text-align:left;font-size:11px;line-height:1.3;color:#71cfaf;padding:0 0 7px;border-bottom:1px solid #54bd9580;margin-bottom:5px}
#S05 .stay-system-table th,#S05 .stay-system-table td{border-left:1px solid #54bd9580;padding:2px 8px;vertical-align:top}
#S05 .stay-system-table th{font-weight:650}
#S05 .stay-system-table th:first-child{width:16%;text-transform:uppercase}
#S05 .stay-system-table th:nth-child(2){width:14%}
#S05 .stay-system-table th:nth-child(3){width:18%}
#S05 .stay-system-table th:nth-child(4){width:15%}
#S05 .stay-system-table th:last-child{width:37%}
#S05 .stay-system-table thead th{font-size:7px;white-space:nowrap;padding-top:5px;padding-bottom:5px;border-bottom:1px solid #54bd955c;font-weight:500}
#S05 .stay-system-table tbody tr:last-child>*{padding-bottom:7px}
#S05 .stay-villa-table{margin-top:10px}
#S05 .stay-villa-table th:first-child{width:16%}
#S05 .stay-villa-table td:nth-child(2){width:14%}
#S05 .stay-villa-table td:nth-child(3){width:18%}
#S05 .stay-villa-table td:nth-child(4){width:15%}
#S05 .stay-system-card .stay-more-link{font-size:10px;padding-bottom:8px}
@media(min-width:1700px){#S05 .stay-system-card{gap:19px;padding:32px 38px}#S05 .stay-system-card h3{font-size:40px}#S05 .stay-system-intro p{font-size:11px}#S05 .stay-system-table{font-size:10px}#S05 .stay-system-table thead th{font-size:9px}#S05 .stay-system-table caption{font-size:14px}}
@media(max-width:1000px){#S05 .stay-system-card{flex-basis:88vw;min-height:540px;padding:25px;gap:20px}#S05 .stay-system-table-wrap{overflow-x:auto}#S05 .stay-system-table{min-width:520px;font-size:10px}#S05 .stay-system-table thead th{font-size:9px}#S05 .stay-system-intro{gap:16px}#S05 .stay-system-intro p{font-size:10px}}
@media(min-width:1001px) and (max-width:1699px){#S05 .stay-system-table{font-size:9px}#S05 .stay-system-table thead th{font-size:8px}#S05 .stay-system-intro p{font-size:10px}}

/* V1.37 — reference card proportion, open rail ending and centered heading pair. */
@media(min-width:1001px){
 #S05 .stay-heading{align-items:center}
 #S05 .stay-system-card{align-self:flex-start;min-height:0;aspect-ratio:1.62;height:auto}
}
@media(min-width:1001px) and (max-height:800px){
 #S05 .stay-system-card{padding:16px 22px;gap:9px}
 #S05 .stay-system-card h3{font-size:27px}
 #S05 .stay-system-intro p{font-size:8px}
 #S05 .stay-system-table{font-size:7px}
 #S05 .stay-system-table thead th{font-size:6px}
 #S05 .stay-system-table caption{font-size:9px;padding-bottom:4px}
 #S05 .stay-system-table th,#S05 .stay-system-table td{padding-top:1px;padding-bottom:1px}
 #S05 .stay-system-card .stay-more-link{font-size:9px}
}

/* V1.38 — shared photograph/information bands follow the brochure frame. */
#S05 .stay-info{border-top:1px solid #66bd9d70;border-bottom:1px solid #66bd9d70;padding-bottom:16px}
#S05 .stay-system-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:0;padding:0;justify-content:normal;align-items:stretch;aspect-ratio:auto;border:1px solid #66bd9d45}
#S05 .stay-system-main{padding:24px 4%;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0;min-height:0}
#S05 .stay-system-card .stay-more-link{padding:20px 4%;margin:0;height:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #66bd9d70;border-bottom:1px solid #66bd9d70;font-size:11px;gap:24px}
@media(min-width:1001px){
 #S05 .stay-system-card{grid-template-rows:var(--stay-photo-height) var(--stay-info-height);height:calc(var(--stay-photo-height) + var(--stay-info-height));min-height:0;align-self:flex-start}
 #S05 .stay-system-card h3{font-size:30px}
 #S05 .stay-system-main{padding-top:18px;padding-bottom:24px;gap:10px}
 #S05 .stay-system-table{font-size:8px;line-height:1.3}
 #S05 .stay-system-table thead th{font-size:7px;padding-top:3px;padding-bottom:3px}
 #S05 .stay-system-table th,#S05 .stay-system-table td{padding-top:1px;padding-bottom:1px}
 #S05 .stay-system-table caption{font-size:10px;padding-bottom:4px;margin-bottom:3px}
 #S05 .stay-system-intro p{font-size:9px;line-height:1.4}
 #S05 .stay-villa-table{margin-top:7px}
}
@media(min-width:1700px){
 #S05 .stay-system-main{padding-top:28px;padding-bottom:28px;gap:15px}
 #S05 .stay-system-card h3{font-size:38px}
 #S05 .stay-system-intro p{font-size:11px}
 #S05 .stay-system-table{font-size:10px}
 #S05 .stay-system-table thead th{font-size:9px}
 #S05 .stay-system-table caption{font-size:13px}
 #S05 .stay-system-card .stay-more-link{font-size:12px}
}
@media(min-width:1001px) and (max-height:800px){
 #S05 .stay-system-main{padding-top:12px;padding-bottom:18px;gap:6px}
 #S05 .stay-system-card h3{font-size:24px}
 #S05 .stay-system-intro p{font-size:7px}
 #S05 .stay-system-table{font-size:6px}
 #S05 .stay-system-table thead th{font-size:6px}
 #S05 .stay-system-table caption{font-size:8px}
 #S05 .stay-system-table tbody tr:last-child>*{padding-bottom:3px}
 #S05 .stay-system-card .stay-more-link{font-size:9px}
}
@media(max-width:1000px){#S05 .stay-system-main{padding:25px;gap:20px}#S05 .stay-system-card .stay-more-link{min-height:100px;padding:25px}}
#S05 .stay-system-card{border:0;box-shadow:inset 0 0 0 1px #66bd9d45}
@media(min-width:1001px) and (min-height:801px) and (max-width:1699px){#S05 .stay-system-table{font-size:9px}#S05 .stay-system-table thead th{font-size:8px}#S05 .stay-system-intro p{font-size:10px}}

/* V1.39 — reference guide lines are not visible dividers. */
#S05 .stay-info{border:0;padding-bottom:0}
#S05 .stay-system-card .stay-more-link{border:0;position:relative}
#S05 .stay-system-card .stay-more-link::after{content:'';position:absolute;left:4%;right:4%;bottom:35%;border-bottom:1px solid #54bd955c;pointer-events:none}
#S05 .stay-system-main{padding-bottom:0}
#S05 .stay-system-table{border-collapse:separate;border-spacing:0;border-bottom:1px solid #54bd955c}
#S05 .stay-system-table thead th{position:relative;border-left:0;padding-top:4px;padding-bottom:6px}
#S05 .stay-system-table thead th::before{content:'';position:absolute;left:0;top:4px;bottom:5px;width:1px;background:#54bd9580}
#S05 .stay-system-table thead th:last-child::after{content:'';position:absolute;right:0;top:4px;bottom:5px;width:1px;background:#54bd9580}
#S05 .stay-system-table thead::after{content:'';display:table-row;height:5px}
#S05 .stay-system-table tbody tr>*:last-child{border-right:1px solid #54bd9580}
#S05 .stay-system-table tbody tr:last-child>*{padding-bottom:4px}
#S05 .stay-villa-table{margin-top:8px}
@media(min-width:1001px){#S05 .stay-system-main{padding-top:4.3%;padding-bottom:0}}
@media(min-width:1700px){#S05 .stay-system-main{padding-top:4.3%;padding-bottom:0}}
@media(min-width:1001px) and (max-height:800px){#S05 .stay-system-main{padding-top:14px;padding-bottom:0;gap:5px}#S05 .stay-system-table thead th{padding-top:2px;padding-bottom:4px}#S05 .stay-system-table thead::after{height:3px}}

/* V1.40 — introductory breathing room scrolls away before the room rail pins. */
#S05 .stay-intro{padding:14svh 5.5vw 0}
#S05 .stay-intro .stay-top-space{display:none}
#S05 .stay-intro .stay-heading{position:static;top:auto;margin:0}
#S05 .stay-pin-track{position:relative}
#S05 .stay-screen{padding-top:48px}
@media(max-width:1000px){
 #S05 .stay-intro{padding:130px 6vw 32px}
 #S05 .stay-screen{padding-top:0}
}

/* V1.42 — keep garden spacing tied to room information, not viewport remainder. */
@media(min-width:1001px){
 #S05 .stay-flower-carpet{position:relative;left:auto;right:auto;bottom:auto;margin:64px -5.5vw 0}
}

/* V1.43 — pin the actual compact room/garden frame against the viewport base. */
@media(min-width:1001px) and (prefers-reduced-motion:no-preference){
 #S05 .stay-screen{height:auto;top:var(--stay-pin-top,0px);padding-bottom:0}
}

/* V1.44 — keep both heading columns inside the room collection pin. */
@media(min-width:1001px){
 #S05{padding-top:14svh}
 #S05 .stay-screen{padding-top:0}
 #S05 .stay-intro{padding:0;margin-bottom:48px}
}
@media(max-width:1000px){#S05 .stay-intro{padding:130px 0 32px}}

/* V1.45 — doubled entry/exit gutters; pin only when the card is centered. */
@media(min-width:1001px){
 #S04 .spaces-screen{height:var(--spaces-stage-height,117svh);top:var(--spaces-pin-top,-8.5svh);padding-block:var(--spaces-entry-gap,17svh)}
 #S04 .spaces-story-card{margin-top:0;flex-shrink:0}
 #S04 .spaces-stripe img{height:var(--spaces-stage-height,117svh);top:calc(var(--stripe) * var(--spaces-stage-height,117svh) / -18)}
 #S04 .spaces-side-label,#S04 .spaces-keep-scrolling{top:50%;transform:translateY(-50%)}
}

/* V1.46 — one continuous logo, from the Hero to the centered navigation. */
#header.intro-header{position:fixed;height:112px;padding:0 4.4vw;display:flex;justify-content:space-between;border:0;background:transparent;backdrop-filter:none;color:#fff;pointer-events:none;transition:transform .45s var(--motion-ease),background .35s,height .25s}
#header.intro-header>a,#header.intro-header>button{pointer-events:auto}
.header-hotline{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:11px;letter-spacing:.09em;white-space:nowrap}
.header-hotline svg{height:18px;width:18px;flex-shrink:0}
#header .header-logo{position:absolute;left:50%;top:50%;width:210px;transform:translate(-50%,-50%) translateY(var(--logo-lift,0px)) scale(var(--logo-scale,1));transform-origin:center;will-change:transform;line-height:0}
.header-logo img,.menu-logo img{height:auto;width:100%;object-fit:contain}
#header .menu-trigger{margin-left:auto;min-height:44px;gap:15px;padding:12px 0 12px 16px;font-size:10px;color:#fff}
#header .hamb{width:26px;gap:7px}
#header.header-compact{height:72px;background:#08271eea;backdrop-filter:blur(16px);box-shadow:0 1px 0 #ffffff12}
#header.header-compact .header-logo{width:125px}
#header.header-hidden{transform:translateY(calc(-100% - 2px))}
#header:has(:focus-visible){transform:translateY(0)}
#S01.hero-reference{height:175svh;min-height:0;max-height:none;overflow:visible}
#S01 .hero-stage{position:sticky;top:0;height:100svh;overflow:hidden}
#S01 .hero-marquee{opacity:var(--intro-copy-opacity,0)!important;pointer-events:none}
#S01 .hero-reference-bottom{z-index:1}
#menuDialog{margin:0;width:100vw;max-width:100vw;height:100svh;max-height:100svh;background:#08271e;color:#fff;padding:0;overflow:auto}
#menuDialog[open]{display:block}
#menuDialog .menu-top{height:112px;padding:0 4.4vw;display:flex;align-items:center;justify-content:space-between;position:relative}
#menuDialog .menu-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px}
#menuDialog .dialog-close{position:static;margin-left:auto;width:auto;height:44px;display:flex;align-items:center;gap:16px;border-radius:0;background:none;font:10px 'Montserrat',Arial,sans-serif;letter-spacing:.15em;padding:0}
#menuDialog .dialog-close span{font-size:22px;font-weight:300}
#menuDialog .menu-body{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;padding:35px 8vw 60px;min-height:calc(100svh - 112px);align-items:center}
#menuDialog nav{display:grid;align-content:center}
#menuDialog nav a{font-family:'TuyetSac',Georgia,serif;font-size:clamp(30px,3.4vw,56px);line-height:1.25;padding:15px 0;border-color:#ffffff24;gap:22px;transition:color .25s,padding-left .3s}
#menuDialog nav a:hover{color:#ffe0b2;padding-left:8px}
#menuDialog nav a small{color:#c7bd9f;font-size:9px}
#menuDialog nav a>span{font-size:22px}
#menuDialog .menu-visual{position:relative;min-height:440px;height:65svh;max-height:680px;overflow:hidden}
#menuDialog .menu-visual img{object-fit:cover;filter:brightness(.7)}
#menuDialog .menu-visual p{position:absolute;left:32px;bottom:30px;font-family:'TuyetSac',Georgia,serif;font-size:32px;line-height:1.3;color:#fff}
@media(max-width:700px){
 #header.intro-header{height:88px;padding:0 6vw}
 #header .header-logo{width:125px}
 .header-hotline span{display:none}
 .header-hotline{min-width:44px;justify-content:flex-start}
 #header .menu-trigger{font-size:9px;gap:10px}
 #header .hamb{width:22px}
 #header.header-compact{height:72px}
 #menuDialog .menu-top{height:88px;padding:0 6vw}
 #menuDialog .menu-logo{width:125px}
 #menuDialog .menu-body{grid-template-columns:1fr;padding:20px 8vw 45px;min-height:calc(100svh - 88px);gap:30px}
 #menuDialog nav a{font-size:33px;padding:14px 0}
 #menuDialog .menu-visual{display:none}
}
@media(prefers-reduced-motion:reduce){
 #S01.hero-reference{height:100svh}
 #header.intro-header{transition:none}
 #header .header-logo{will-change:auto}
 #S01 .hero-marquee{opacity:1!important}
}

/* V1.47 — supplied full brand mark cuts through a green intro veil. */
#S01 .hero-logo-veil{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:var(--logo-veil-opacity,1)}
#header .header-logo{width:48px;opacity:var(--logo-ink-opacity,0)}
#header.header-compact .header-logo{width:40px;opacity:1}
#menuDialog .menu-logo{width:48px}
@media(max-width:700px){#header .header-logo{width:40px}#menuDialog .menu-logo{width:40px}}
@media(prefers-reduced-motion:reduce){#S01 .hero-logo-veil{display:none}#header .header-logo{opacity:1}}

/* V1.48 — session-latched intro, continuous header size and buffered photos. */
html.intro-complete #S01.hero-reference{height:100svh}
html.intro-complete #S01 .hero-logo-veil{display:none}
#header.intro-header,#header.header-compact{height:var(--header-height,112px)}
#header .header-logo,#header.header-compact .header-logo{width:48px}
#S01.hero-reference .hero-image{animation:none!important;will-change:transform,opacity}
@media(max-width:700px){#header .header-logo,#header.header-compact .header-logo{width:40px}}

/* V1.50 — larger navigation mark and continuous incoming-image motion. */
#header .header-logo,#header.header-compact .header-logo{width:96px}
#header.intro-header,#header.header-compact{height:calc(var(--header-height,112px) + 48px)}
#menuDialog .menu-top{height:160px}
#menuDialog .menu-logo{width:96px}
#S01 .hero-slideshow{position:absolute;inset:0;overflow:hidden;isolation:isolate}
@media(max-width:700px){#header .header-logo,#header.header-compact .header-logo{width:80px}#menuDialog .menu-logo{width:80px}#menuDialog .menu-top{height:136px}}

/* V1.52 — shared exploration scopes and regional map. */
.explore-switch{display:flex;width:max-content;max-width:100%;padding:5px;border:1px solid #78cda54d;border-radius:40px;margin:0 0 34px;gap:4px}
.explore-switch button{padding:14px 25px;border-radius:30px;font-size:12px;color:#9acbb4;min-height:44px;transition:background .3s,color .3s}
.explore-switch button[aria-selected=true]{background:#e9ddbd;color:#14382b}
.explore-panel[hidden]{display:none!important}.explore-panel{min-height:660px}
.around-lead{font-size:13px;color:#c6d0b9;margin-bottom:26px;max-width:600px}
.around-layout{display:grid;grid-template-columns:1fr minmax(280px,.9fr);gap:6vw;align-items:start}
.around-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.around-filters button{border:1px solid #80c6a750;border-radius:25px;padding:10px 14px;font-size:10px;min-height:40px}
.around-filters button[aria-pressed=true]{background:#73c3a1;color:#08271e}
#aroundList{max-height:365px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5aab87 transparent;padding-right:10px}
#aroundList button{width:100%;display:flex;gap:15px;text-align:left;align-items:center;padding:14px 8px;border-bottom:1px solid #ffffff20;color:#d6dfcb}
#aroundList button>span:first-child{font-size:12px;color:#7bd0aa;width:25px;flex-shrink:0}
#aroundList button strong{font-weight:500;font-size:12px;line-height:1.5;display:block}#aroundList button small{display:block;font-size:10px;color:#8fc2a7;margin-top:5px}#aroundList button b{margin-left:auto;font-weight:400}
#aroundList button[aria-pressed=true]{background:#72c5a116}
.around-detail{padding:22px 0;min-height:175px}.around-detail h3{font-size:25px;margin:10px 0}.around-detail p{font-size:12px;max-width:470px;color:#c2cdbd}.around-detail a{display:inline-block;font-size:11px;margin-top:15px;color:#93d5b6;border-bottom:1px solid #93d5b680;padding-bottom:5px}
.around-side>.caption{max-width:440px}.around-map{position:relative;max-width:452px;width:100%;justify-self:center}.around-map>img{height:auto;width:100%;border:1px solid #70b59845;border-radius:8px}.around-map>.caption{margin-top:12px;font-size:9px}.around-pin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#0a3429;color:#80dbb1;border:1px solid #70cca5;display:grid;place-items:center;font-size:13px;transition:background .25s,color .25s;box-shadow:0 0 0 3px #082c2260}.around-pin[aria-pressed=true]{background:#e4d4a7;color:#102f27;box-shadow:0 0 0 5px #e4d4a728}#aroundPins{position:absolute;inset:0 0 27px;pointer-events:none}#aroundPins button{pointer-events:auto}
#aroundMapToggle{display:none}
@media(max-width:700px){.explore-switch{width:100%}.explore-switch button{flex:1;padding:12px 10px;font-size:11px}.explore-panel{min-height:0}.around-layout{grid-template-columns:1fr;gap:25px}#aroundList{max-height:360px}.around-detail h3{font-size:25px}#aroundMapToggle{display:block;font-size:12px;border-bottom:1px solid #6dc69c;padding:16px 0;margin-top:12px}.around-map{display:none}.around-map.map-open{display:block}.around-lead{font-size:12px}}
@media(min-width:701px){.explore-panel{min-height:740px}}

/* V1.53 — a shared visual form; scope switch sits in the upper-right header. */
#S06>.section-top{align-items:center;gap:24px;margin-bottom:54px}
#S06>.section-top .explore-switch{margin:0;flex-shrink:0}
#S06 .explore-common-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:start}
#S06 .map-side,#S06 .around-side{width:100%;min-width:0}
#S06 .map-filters,#S06 .around-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
#S06 .map-filters button,#S06 .around-filters button{font-size:10px;border:1px solid #80c6a750;border-radius:25px;padding:10px 14px;min-height:40px}
#S06 .map-filters button[aria-pressed=true],#S06 .around-filters button[aria-pressed=true]{background:#73c3a1;color:#08271e}
#S06 #mapList,#S06 #aroundList{max-height:365px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5aab87 transparent;padding-right:10px;display:block}
#S06 #mapList button,#S06 #aroundList button{width:100%;min-height:64px;display:flex;gap:15px;text-align:left;align-items:center;padding:14px 8px;border-bottom:1px solid #ffffff20;font-size:12px;color:#d6dfcb}
#S06 #mapList button>span:first-child{width:25px;flex-shrink:0;font-size:12px;color:#7bd0aa}
#S06 #mapList button b{margin-left:auto;font-weight:400}
#S06 .explore-map-slot{min-width:0;min-height:600px;display:flex;align-items:flex-start;justify-content:center}
#S06 .map-frame{width:100%;margin:0}
#S06 .around-map{width:100%;max-width:400px;margin:0}
@media(max-width:700px){#S06>.section-top{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-bottom:35px}#S06>.section-top .explore-switch{width:auto;margin-left:auto}#S06 .explore-common-layout{display:flex;flex-direction:column;gap:25px}#S06 .explore-map-slot{width:100%;min-height:0}#S06 .around-layout .explore-map-slot:has(.around-map:not(.map-open)){display:none}#S06 .map-list{grid-template-columns:none}}

/* V1.54 — approved broad map with a narrow left index. */
#S06>.section-top{margin-bottom:76px}
#S06>.section-heading{align-items:stretch;margin-bottom:48px;gap:40px}
#S06 .section-heading h2{font-size:clamp(42px,5.2vw,100px);flex:1;min-width:0}
#S06 .explore-heading-aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:36px;flex:0 0 300px;padding:12px 0 0}
#S06 .explore-heading-aside .explore-switch{margin:0;max-width:100%}
#S06 .explore-heading-aside .explore-switch button{font-size:10px;padding:12px 17px}
#S06 .explore-heading-aside p{font-size:12px;line-height:1.7;color:var(--muted);max-width:300px}
#S06 .explore-common-layout{grid-template-columns:minmax(220px,16.4%) minmax(0,1fr);gap:2.1vw}
#S06 .explore-map-slot{min-height:0;justify-content:flex-start}
#S06 .map-frame{width:100%;border-radius:0}
#S06 .map-frame>img{height:auto;aspect-ratio:1.806;object-fit:contain}
#S06 #mapList{max-height:none;overflow:visible;padding:0}
#S06 #mapList button{min-height:58px;font-size:11px;padding:15px 0;gap:10px}
#S06 #mapList button>span:first-child{width:20px;font-size:10px;color:var(--gold)}
#S06 .map-filters,#S06 .around-filters{gap:6px;margin-bottom:24px}
#S06 .map-filters button,#S06 .around-filters button{padding:9px 11px;font-size:9px;min-height:36px}
#S06 .map-filters button[aria-pressed=true],#S06 .around-filters button[aria-pressed=true]{background:var(--gold);color:var(--green)}
#S06 .around-map{max-width:452px;margin-inline:auto}
#S06 .around-layout .explore-map-slot{background:#092b2255;padding:0 20px 24px}
#S06 #aroundList button strong{font-size:11px}#S06 #aroundList button small{font-size:9px}#S06 #aroundList button{gap:8px;padding-inline:0}
#S06 .around-detail h3{font-size:21px}
@media(min-width:1700px){#S06{padding-left:8vw;padding-right:8vw}#S06 .explore-common-layout{grid-template-columns:16.4% minmax(0,1fr)}}
@media(max-width:1000px){#S06 .explore-common-layout{grid-template-columns:230px minmax(0,1fr)}#S06 .section-heading h2{font-size:48px}#S06 .explore-heading-aside{flex-basis:270px}}
@media(max-width:700px){#S06>.section-top{margin-bottom:36px}#S06>.section-heading{display:block;margin-bottom:30px}#S06 .section-heading h2{font-size:40px}#S06 .explore-heading-aside{align-items:flex-start;gap:20px;padding-top:24px}#S06 .explore-heading-aside p{max-width:100%}#S06 .explore-common-layout{display:flex;gap:28px}#S06 .around-layout .explore-map-slot{padding:0;background:none}#S06 .map-frame>img{aspect-ratio:1.806}}

/* V1.55 — supplied footer mark, credit and preserved Exploration spacing. */
#S06>.exploration-spacer{visibility:hidden;pointer-events:none}
footer .footer-logo{width:100px;align-items:flex-start}
footer .footer-logo img{width:100%;height:auto;object-fit:contain}
@media(max-width:700px){footer .footer-logo{width:80px}}

/* V1.56 — shared page edges with the Stay content grid. */
:root{--page-gutter:5.5vw}
#S06,body>footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
@media(max-width:1000px){:root{--page-gutter:6vw}}

/* V1.57 — supplied landscape map uses the complete shared map width. */
#S06 .around-map{width:100%;max-width:none;margin:0}
#S06 .around-layout .explore-map-slot{padding:0;background:none}
#S06 .around-map>img{width:100%;height:auto;border-radius:0;aspect-ratio:2048/1190;object-fit:contain}
#S06 #aroundPins{inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:2048/1190}

/* V1.59 — mobile/touch behavior, isolated from approved desktop layouts. */
.mobile-spaces-controls,.mobile-map-enlarge{display:none}
@media(max-width:1000px){
 html{scroll-padding-top:80px}body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 #S02.estate-reference{padding-top:80px}
 #S03 .essence-screen{display:block}#S03 .essence-scene{height:48svh;min-height:260px;max-height:480px}
 #S03 .essence-story{padding:32px 6vw;min-height:0;gap:28px}#S03 .essence-story-inner{gap:28px}
 #S03 #essenceHeadline{font-size:clamp(29px,7.7vw,40px)}#S03 #essenceText{font-size:14px;line-height:1.65}
 #S03 #essencePanel{gap:24px;min-height:260px}#S03 .essence-discover{font-size:13px}
 #S03 .essence-bottom-nav{flex-wrap:wrap;gap:14px}#S03 .essence-steps{display:flex;gap:5px;flex-wrap:wrap;width:100%}
 #S03 .essence-steps button{min-width:0;min-height:44px;padding:8px 10px;font-size:11px;letter-spacing:0}
 #S04 .spaces-screen{min-height:0;padding:90px 6vw 110px}
 #S04 .spaces-story-card{width:100%;max-width:470px;height:auto;min-height:0;padding:70px 22px 26px;gap:24px;margin:0}
 #S04 .spaces-activity{height:auto;aspect-ratio:1.15}#S04 #spacesTitle{font-size:30px}#S04 #spacesDescription{font-size:13px;line-height:1.6}
 #S04 .spaces-card-count{min-width:70px;min-height:44px;top:15px}
 #S04 .mobile-spaces-controls{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;border-top:1px solid #30413b30;padding-top:15px;font-size:11px}
 .mobile-spaces-controls button{min-width:44px;min-height:44px;border:1px solid #30413b50;border-radius:50%;font-size:20px}
 #S04 .spaces-side-label{top:35px;left:6vw}#S04 .spaces-discover{bottom:28px;min-height:44px;pointer-events:auto}
 #S05 .stay-screen{height:auto;position:relative;padding:0 6vw 0;overflow:hidden}
 #S05 .stay-intro{padding:70px 0 28px}#S05 .stay-heading{margin:0}#S05 .stay-heading h2{font-size:36px}
 #S05 .stay-heading>div{display:block;max-width:100%;margin-top:20px}#S05 .stay-heading p{font-size:12px;max-width:100%}
 #S05 .rail-controls{justify-content:flex-start;margin-top:18px}#S05 .rail-controls button{min-width:44px;min-height:44px}#S05 .rail-controls button:disabled{opacity:.3}
 #S05 .stay-rail{align-items:stretch;gap:16px;scroll-snap-type:x mandatory;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-padding-left:6vw}
 #S05 .stay-card{flex:0 0 84vw;scroll-snap-align:start}#S05 .stay-card .image-wrap{height:auto;aspect-ratio:18/9}
 #S05 .stay-info{grid-template-columns:1fr;gap:20px;padding-top:20px;min-height:0}
 #S05 .stay-name h3{font-size:32px;margin-bottom:8px}#S05 .stay-name p{font-size:11px}
 #S05 .stay-amenities{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-flow:row;gap:15px 10px}
 #S05 .stay-amenity{gap:10px}#S05 .stay-amenity svg{width:28px;height:28px}#S05 .stay-amenity span{font-size:11px}
 #S05 .stay-system-card{display:flex;flex-direction:column;height:auto;min-height:0;align-self:stretch}
 #S05 .stay-system-main{padding:22px 16px;gap:18px;flex:1}#S05 .stay-system-heading h3{font-size:28px}
 #S05 .stay-system-intro{display:block}#S05 .stay-system-intro p{font-size:11px;line-height:1.6;margin-bottom:10px}
 #S05 .stay-system-table-wrap{overflow-x:auto;width:100%;overscroll-behavior:contain}#S05 .stay-system-table{min-width:430px;font-size:10px;line-height:1.5}
 #S05 .stay-system-table thead th{font-size:9px}#S05 .stay-system-table caption{font-size:12px}
 #S05 .stay-system-card .stay-more-link{height:auto;min-height:80px;padding:20px 16px;font-size:11px}
 #S05 .stay-flower-carpet{position:relative;height:100px;margin:32px -6vw 0}#S05 #stayPosition:not([hidden]){display:block;font-size:10px;color:#99bca6;text-align:center;margin:12px 0}
 #S06{padding-top:55px;padding-bottom:60px}#S06>.exploration-spacer{height:0;padding:0;margin:0;border:0}
 #S06>.section-heading{display:block;margin-bottom:28px}#S06 .section-heading h2{font-size:clamp(32px,8vw,44px)}
 #S06 .explore-heading-aside{align-items:flex-start;padding-top:24px;gap:20px}#S06 .explore-heading-aside .explore-switch{width:100%}
 #S06 .explore-heading-aside .explore-switch button{font-size:11px;min-height:44px;padding:10px 14px;flex:1}
 #S06 .explore-common-layout{display:flex;flex-direction:column;gap:24px}#S06 .explore-panel{min-height:0}
 #S06 .map-filters button,#S06 .around-filters button{min-height:44px;font-size:11px;padding:10px 13px}
 #S06 #mapList button,#S06 #aroundList button{min-height:54px;font-size:12px}#S06 #aroundList button strong{font-size:12px}#S06 #aroundList button small{font-size:10px}
 #S06 .explore-map-slot{width:100%;min-height:0;display:block}#S06 .around-layout .explore-map-slot:has(.around-map:not(.map-open)){display:none}
 #S06 #aroundMapToggle{display:block;font-size:12px;min-height:44px;margin-top:15px}#S06 .around-map{display:none}#S06 .around-map.map-open{display:block}
 .mobile-map-enlarge{display:block;width:100%;min-height:48px;border:1px solid #70bb9540;font-size:12px;text-align:center;margin-top:12px;border-radius:4px}
 #S06 .around-pin,#S06 .map-pin{width:30px;height:30px;font-size:11px}#S06 .around-detail{min-height:0}#S06 .around-detail a{min-height:44px;padding:12px 0}
 #menuDialog .menu-body{display:block;padding:16px 7vw 40px;min-height:0}#menuDialog .menu-visual{display:none}#menuDialog nav a{font-size:clamp(26px,6vw,38px);min-height:58px;padding:12px 0}
 #menuDialog .menu-top{height:108px}#menuDialog .menu-logo{width:56px}#menuDialog .dialog-close{min-width:64px}
 #header .header-logo,#header.header-compact .header-logo{width:56px}#header .header-hotline{min-width:44px}#header .header-hotline span{display:none}
 #detailDialog.gallery-only{width:100%;max-width:100%;height:100dvh;max-height:100dvh}#detailDialog.gallery-only .gallery-controls button{min-width:44px;min-height:44px}
 .message-dialog input,.message-dialog textarea{font-size:16px}.message-dialog{max-height:92dvh}.message-dialog h2{font-size:30px}
 footer .footer-top{display:grid;grid-template-columns:1fr auto;gap:28px;padding-bottom:30px}footer .footer-logo{width:74px}footer .footer-top>div{grid-column:1/-1;grid-row:2}footer .footer-top>p{display:none}footer .back-top{grid-row:1;grid-column:2;min-width:44px;min-height:44px}
 footer .footer-top>div a{font-size:13px;min-height:44px;display:flex;align-items:center}footer .footer-bottom{display:flex;flex-wrap:wrap;gap:16px;font-size:8px;line-height:1.7}
}
#mobileMapDialog{position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;background:#08271e;color:#eee;padding:72px 0 20px}
#mobileMapDialog>p{font-size:11px;padding:0 20px 18px;color:#c3cdbb}.mobile-map-scroll{width:100%;overflow:auto;height:calc(100% - 45px);overscroll-behavior:contain}.mobile-map-stage{position:relative;width:max(100%,900px)}.mobile-map-stage>img{width:100%;height:auto;object-fit:contain}.mobile-map-pins{position:absolute;inset:0;pointer-events:none}.mobile-map-pins button{pointer-events:auto}.mobile-map-pins .map-pin,.mobile-map-pins .around-pin{position:absolute;width:44px;height:44px;min-width:44px;min-height:44px;font-size:14px}
@media(prefers-reduced-motion:reduce){.mobile-map-pins button{transition:none}}
@media(max-width:1000px){#S04 .spaces-discover.is-following{left:50%;top:auto;right:auto;bottom:28px;transform:translateX(-50%);pointer-events:auto}#S05 .stay-intro .stay-heading{margin-bottom:0}#S05 .stay-window{margin-top:0}}

/* V1.60 — mobile exploration follows native vertical scrolling; grove remains the chapter control. */
@media(max-width:1000px){
 #S03 .essence-story{padding-bottom:130px}
 #S03 .essence-grove .essence-steps button{font-size:0;padding:0}
}
@media(max-width:1000px) and (min-height:650px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 #S03.essence-scroll{height:420svh}
 #S03 .essence-screen{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;overflow:hidden}
 #S03 .essence-scene{height:100%;min-height:0;max-height:none}
 #S03 .essence-scene-count{left:6vw;bottom:18px}
 #S03 .essence-story{height:100%;min-height:0;padding:22px 6vw 80px;gap:16px}
 #S03 .essence-story-inner{width:100%;height:100%;min-height:0;gap:16px;flex:1}
 #S03 .essence-chapter{font-size:15px;line-height:1.3}
 #S03 #essencePanel{gap:16px;min-height:0}
 #S03 #essenceHeadline{font-size:clamp(25px,6.8vw,36px);line-height:1.15}
 #S03 #essenceText{font-size:13px;line-height:1.55}
 #S03 .essence-discover{font-size:12px;padding-bottom:8px}
 #S03 .essence-grove{height:68px}
}

/* V1.61 — equal image/story halves on portrait mobile. */
@media(max-width:1000px) and (min-height:650px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 #S03 .essence-story{padding:14px 6vw 60px;gap:10px}
 #S03 .essence-story-inner{gap:10px}
 #S03 .essence-chapter{font-size:14px}
 #S03 #essencePanel{gap:10px}
 #S03 #essenceHeadline{font-size:clamp(22px,6vw,30px)}
 #S03 #essenceText{font-size:12px;line-height:1.5}
 #S03 .essence-discover{font-size:11px;padding-bottom:6px}
 #S03 .essence-grove{height:50px}
}
@media(max-width:1000px) and (min-height:800px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 #S03 .essence-story{padding-top:20px;padding-bottom:68px}
 #S03 #essenceText{font-size:13px}
 #S03 .essence-grove{height:56px}
}

/* V1.62 — grove and copy share the same mobile gutters. */
@media(max-width:1000px){
 #S03 .essence-story{--grove-left:6vw;--grove-right:6vw}
 #S03 .essence-grove{left:6vw;right:6vw;width:auto;transform:none}
}

/* V1.63 — artwork itself fills the copy width; preserve original SVG proportions. */
@media(max-width:1000px){
 #S03 .essence-grove{height:auto;aspect-ratio:1000 / 190}
}
@media(max-width:1000px) and (min-height:650px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 #S03 .essence-story{padding-bottom:calc(16.72vw + 12px)}
 #S03.is-touch-pinned .essence-screen{touch-action:pan-x pinch-zoom}
}

/* V1.65 — mobile room alignment, native page flow and quiet swipe guidance. */
@media(max-width:1000px){
 #S04 .mobile-spaces-controls{justify-content:center;gap:12px;border:0;padding-top:12px;color:#40554b}
 #S04 .mobile-spaces-controls button{border:0;border-radius:0;background:none;min-width:44px;min-height:44px;font-size:18px;padding:0}
 #S04 .mobile-swipe-hint{font-size:10px;letter-spacing:.06em}
 #S05 .stay-card:not(.stay-system-card){display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
 #S05 .stay-card:not(.stay-system-card)>.image-wrap,#S05 .stay-card:not(.stay-system-card)>.stay-info{flex:none}
 #S05 #stayPosition{display:none}
 #S05 .stay-flower-carpet{margin-bottom:0;bottom:0}
 #S05 .stay-screen{padding-bottom:0}
 #S06 #aroundList{max-height:none;height:auto;overflow:visible;overscroll-behavior:auto;padding-right:0}
 #S06 #aroundMapToggle{display:none}
 #S06 .around-map,#S06 .around-map.map-open{display:block}
 #S06 .around-layout .explore-map-slot:has(.around-map:not(.map-open)){display:block}
}

/* V1.66 — centered mobile section label and icon-only navigation. */
@media(max-width:1000px){#S04 .spaces-side-label{left:0;right:0;width:100%;justify-content:center}#S04 .mobile-spaces-controls{gap:24px}}

/* V1.67 — no Experience counter; readable full-width mobile room summary. */
#S03 .essence-scene-count{display:none}
.stay-mobile-summary{display:none}
@media(max-width:1000px){
 #S05 .stay-system-table-wrap{display:none}
 #S05 .stay-mobile-summary{display:block;width:100%;min-width:0}
 #S05 .stay-mobile-summary section+section{margin-top:24px}
 #S05 .stay-mobile-summary h4{font:500 12px/1.4 'Montserrat',Arial,sans-serif;color:#72d9b6;margin:0 0 10px}
 #S05 .stay-mobile-room{padding:12px 0;border-top:1px solid #66bd9d40}
 #S05 .stay-mobile-room p{font-size:11px;line-height:1.6;overflow-wrap:anywhere}
 #S05 .stay-mobile-room p:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:3px}
 #S05 .stay-mobile-room strong{font-weight:600;font-size:12px}
 #S05 .stay-mobile-room p:nth-child(2){color:#9fc5af;font-size:10px}
 #S05 .stay-system-main{flex:none;justify-content:flex-start;overflow:visible}
 #S05 .stay-system-card{align-self:flex-start}
}

/* V1.68 — compact mobile summary and a rail that follows the current card's height. */
@media(max-width:1000px){
 #S05 .stay-rail{align-items:flex-start;overflow-y:hidden}
 #S05 .stay-system-main{gap:14px;padding:18px 16px}
 #S05 .stay-system-intro p{font-size:10px;line-height:1.5;margin-bottom:6px}
 #S05 .stay-mobile-summary section+section{margin-top:8px}
 #S05 .stay-mobile-summary h4{margin:0}
 #S05 .stay-mobile-summary h4 button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:44px;padding:8px 0;border-bottom:1px solid #66bd9d50;font-size:12px;font-weight:500;color:#72d9b6}
 #S05 .stay-mobile-summary h4 button span{font-size:18px;font-weight:400}
 #S05 .stay-mobile-room{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;padding:10px 0;border-top:0;border-bottom:1px solid #66bd9d25}
 #S05 .stay-mobile-room>div{min-width:0}
 #S05 .stay-mobile-room p,#S05 .stay-mobile-room p:first-child,#S05 .stay-mobile-room p:nth-child(2){display:block;font-size:10px;line-height:1.5;margin:0;color:inherit}
 #S05 .stay-mobile-room strong{display:block;font-size:11px;font-weight:600;line-height:1.5}
 #S05 .stay-mobile-room>div:first-child p{color:#9fc5af}
 #S05 .stay-mobile-room>div:last-child{text-align:right}
 #S05 .stay-system-card .stay-more-link{min-height:60px;padding:16px;font-size:10px}
}

/* V1.72 — visible, compact mobile phone number. */
@media(max-width:1000px){
 #header .header-hotline span,#menuDialog .header-hotline span{display:inline}
 #header .header-hotline,#menuDialog .header-hotline{font-size:clamp(9px,2.2vw,11px);letter-spacing:0;gap:6px}
 #header .header-hotline svg,#menuDialog .header-hotline svg{width:15px;height:15px}
}

/* V1.73 — desktop body typography by role; approved headings/mobile preserved. */
@media(min-width:1001px){:root{--pc-body:clamp(16px,.9375vw,18px);--pc-detail:14px;--pc-caption:12px;--pc-table:12px}#S02 .estate-reference-note,#S03 #essenceText,#S04 #spacesDescription,#S06 .explore-heading-aside p,#S06 .around-detail p,#S07 .invitation-copy>p:not(.eyebrow){font-size:var(--pc-body);line-height:1.6;letter-spacing:normal;font-weight:400}#S03 .essence-chapter,#S04 .spaces-side-label,#S04 .spaces-keep-scrolling{font-size:var(--pc-detail);line-height:1.45}#S03 .essence-discover,#S04 .spaces-discover,#S06 .around-detail a,#S07 .text-button,footer .footer-top>div a{font-size:var(--pc-detail);line-height:1.45;font-weight:500;letter-spacing:normal}#S06 #mapList button,#S06 #aroundList button strong{font-size:var(--pc-detail);line-height:1.45}#S06 #aroundList button small,#S06 #mapList button>span:first-child,#S06 .caption,#S06 .map-note,footer .footer-bottom{font-size:var(--pc-caption);line-height:1.5;letter-spacing:normal}#S06 .map-filters button,#S06 .around-filters button,#S06 .explore-heading-aside .explore-switch button{font-size:var(--pc-detail);line-height:1.4}#S06 .explore-common-layout{grid-template-columns:minmax(260px,20%) minmax(0,1fr)}#S06 .explore-heading-aside{flex-basis:330px}
}
@media(min-width:1001px) and (max-height:800px){#S04 .spaces-story-card{padding-top:18px;padding-bottom:18px;gap:14px}#S04 .spaces-activity{height:24svh}
}




@media(min-width:1001px){.detail-copy>p:not(.eyebrow),.message-dialog>p:not(.eyebrow){font-size:var(--pc-body);line-height:1.6}.message-dialog label{font-size:var(--pc-detail);line-height:1.45}.eyebrow{font-size:var(--pc-caption);line-height:1.5}
}
@media(min-width:1001px){.caption{font-size:var(--pc-caption);line-height:1.5}}

/* V1.75 — explicitly assigned desktop type roles, scoped to the annotated regions. */
@media(min-width:1001px){
 #S05 .stay-heading p,#S06 .explore-heading-aside p,#S03 #essenceText,#S04 #spacesDescription,#S06 .map-side .caption{font-size:14px;line-height:1.45;font-weight:400;letter-spacing:normal}
 #S05 .stay-name p,#S05 .stay-amenity span{font-size:12px;line-height:1.45;font-weight:400;letter-spacing:normal}
 #S03 .essence-chapter,#S04 .spaces-side-label,#S04 .spaces-keep-scrolling{font-size:18px;line-height:1.6;font-weight:400;letter-spacing:normal}
 #S06 #mapList button,#S06 #mapList button>span:first-child{font-size:14px;line-height:1.45;font-weight:400}
 #S06 .map-side .map-filters button{font-size:14px;line-height:1.4;font-weight:500}
 #S05 .stay-amenities{grid-template-rows:repeat(2,minmax(36px,auto))}
 #S05 .stay-card[data-detail="villa"]{flex-basis:min(80.96vw,88.32svh)}
 #S05 .stay-card[data-detail="villa"] .image-wrap{height:min(35.2vw,38.4svh);aspect-ratio:auto}
}

/* V1.76 — focused destination detail and roomier exploration filters. */
#S06 .map-filters button,#S06 .around-filters button{padding-left:25px;padding-right:25px}
#aroundDialog{width:600px;padding:54px 40px 38px;background:var(--green);color:var(--cream);border:1px solid #80c6a740}
#aroundDialog .around-detail{padding:0;min-height:0}
#aroundDialog h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:16px 0}
#aroundDialog .around-detail>p{font-size:16px;line-height:1.6;color:#c2cdbd}
#aroundDialog .around-travel{margin-bottom:18px;color:var(--gold)}
#aroundDialog .around-detail a{display:inline-flex;align-items:center;font-size:14px;line-height:1.4;min-height:44px;margin-top:20px;color:#93d5b6;border-bottom:1px solid #93d5b680}
@media(max-width:1000px){#S06 .map-filters button,#S06 .around-filters button{padding-left:16px;padding-right:16px}}
@media(max-width:480px){
 #S06 .map-filters button,#S06 .around-filters button{padding-left:12px;padding-right:12px}
 #aroundDialog{padding:58px 24px 28px}
 #aroundDialog h2{font-size:26px}
 #aroundDialog .around-detail>p{font-size:14px}
 #aroundDialog .around-detail a{font-size:12px}
}

/* V1.77 — regional photography and map-height desktop indexes. */
#aroundDialog[open]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);width:1120px;padding:0}
#aroundDialog .around-photo{margin:0;position:relative;background:#08251b;min-width:0;min-height:460px}
#aroundDialog .around-photo>img{width:100%;height:100%;min-height:460px;object-fit:cover}
#aroundDialog .around-photo figcaption{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);background:#001b14b8;padding:5px 8px;font-size:10px;line-height:1.5;color:#fff}
#aroundDialog .around-detail{padding:58px 34px 34px;align-self:center;min-width:0}
@media(min-width:1001px){
 #S06 .map-side,#S06 .around-side{height:var(--explore-map-height,auto);display:flex;flex-direction:column;min-height:0}
 #S06 .map-filters,#S06 .around-filters{flex:none}
 #S06 #mapList,#S06 #aroundList{flex:1;min-height:0;max-height:none;height:auto;overflow-y:auto;overscroll-behavior:contain;padding-right:10px}
}
@media(max-width:700px){
 #aroundDialog[open]{display:block;width:600px}
 #aroundDialog .around-photo{min-height:0;height:clamp(180px,34svh,300px)}
 #aroundDialog .around-photo>img{min-height:0;height:100%}
 #aroundDialog .around-detail{padding:28px 24px}
}

/* V1.78 — stable scroll lock and one restrained modal transition. */
html{scrollbar-gutter:stable}
html.has-modal{overflow:hidden}
html.has-modal,html.has-modal body{scroll-behavior:auto}
dialog:focus{outline:none}
dialog[open]::backdrop{animation:modalBackdropIn 440ms var(--motion-ease) both}
dialog.is-closing::backdrop{animation:modalBackdropOut 280ms cubic-bezier(.4,0,1,1) both}
@keyframes modalBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes modalBackdropOut{from{opacity:var(--dialog-backdrop-from,1)}to{opacity:0}}
#aroundDialog .around-photo{overflow:hidden}
#aroundDialog .around-photo>img{position:absolute;inset:0;min-height:0;height:100%}
@media(prefers-reduced-motion:reduce){dialog[open]::backdrop,dialog.is-closing::backdrop{animation:none}}

/* V1.79 — quiet intro and UI1 scope switch. */
#header.intro-active .header-hotline,#header.intro-active .menu-trigger{opacity:0;visibility:hidden;pointer-events:none}
#S06 .explore-heading-aside .explore-switch button{font-size:14px;line-height:1.4;font-weight:500}

/* V1.81 — retain the approved footer row, with space for the brand garden. */
footer.garden-footer{padding:80px var(--page-gutter) 26px;background:var(--dark);position:relative;overflow:hidden}
.garden-footer .footer-top{padding-bottom:0;position:relative;z-index:1;align-items:flex-start}
.footer-garden{height:clamp(150px,17vw,260px);margin:48px 0 0;color:#487c5a;overflow:hidden;position:relative}
.footer-garden-art{display:block;width:100%;height:100%;overflow:visible}.footer-garden .estate-plant{transform-origin:0 0}.footer-garden.is-visible .estate-plant{animation:footerBreeze 6s ease-in-out infinite alternate}.footer-garden .estate-root:nth-child(3n) .estate-plant{animation-delay:-2s}.footer-garden .estate-root:nth-child(3n + 1) .estate-plant{animation-delay:-4s}@keyframes footerBreeze{from{transform:rotate(-.55deg)}to{transform:rotate(.55deg)}}
.garden-footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.garden-footer .footer-bottom>span:last-child{text-align:right}.footer-brochure-small{font-size:inherit;letter-spacing:inherit;padding:8px 0;color:var(--cream);text-underline-offset:5px}.footer-brochure-small:hover{text-decoration:underline;color:var(--gold)}
@media(max-width:700px){footer.garden-footer{padding-top:55px}.footer-garden{height:110px;margin-top:30px}.footer-garden-art{width:100%;max-width:100%;position:static;transform:none}.garden-footer .footer-bottom{grid-template-columns:1fr auto;gap:8px 18px;padding-top:15px}.garden-footer .footer-bottom>span:last-child{grid-row:2;grid-column:1;text-align:left}.footer-brochure-small{grid-column:2;grid-row:1 / 3;min-height:44px;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.footer-garden.is-visible .estate-plant{animation:none}}

/* V1.83 — the garden shares its ground line and content edges. */
.garden-footer{--footer-garden-color:#487c5a}
.footer-garden{color:var(--footer-garden-color)}
.garden-footer .footer-bottom{border-top-color:var(--footer-garden-color)}

/* V1.84 — subdued opening-garden green; JS spring owns the plant transforms. */
.garden-footer{--footer-garden-color:#003d25}
.footer-garden .estate-plant,.footer-garden.is-visible .estate-plant{animation:none}

/* V1.88 — compact brand mark and balanced non-scrolling experience copy. */
#S02 .estate-reference-invitation{margin-top:24px}
#S03 .essence-chapter{flex-shrink:0;gap:12px}
#S03 .essence-chapter-mark{width:25px;height:26px;object-fit:contain;flex-shrink:0}
#S03 #essencePanel{min-height:0;gap:clamp(16px,3svh,32px)}
#S03 #essenceText{overflow:visible;padding-right:0}
#S03 .essence-discover{flex-shrink:0}
@media(max-width:1000px){#S03 .essence-chapter{gap:9px}#S03 .essence-chapter-mark{width:21px;height:22px}}
@media(max-width:1000px) and (min-height:650px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){#S03 .essence-chapter{margin:0}#S03 #essencePanel{gap:10px}}
@media(max-width:1000px) and (min-height:650px) and (max-height:740px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){#S03 .essence-story{padding-top:12px;padding-bottom:54px;gap:8px}#S03 .essence-story-inner{gap:8px}#S03 #essencePanel{gap:8px}#S03 #essenceHeadline{font-size:20px;line-height:1.1}#S03 #essenceText{font-size:11.5px;line-height:1.4}#S03 .essence-chapter-mark{width:18px;height:19px}}

/* V1.91 — subtle chapter mark; chapter/name shares content transition. */
#S03 .essence-chapter-mark{width:12.5px;height:13px}
#S03 .essence-chapter{gap:8px}
#S02 .estate-overview{cursor:default}
@media(max-width:1000px){#S03 .essence-chapter-mark{width:10.5px;height:11px}#S03 .essence-chapter{gap:6px}}
@media(max-width:1000px) and (min-height:650px) and (max-height:740px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){#S03 .essence-chapter-mark{width:9px;height:9.5px}}

/* V1.92 — supplied clean map and marker layer share its native ratio. */
#S06 .around-map>img,#S06 #aroundPins{aspect-ratio:3775/2127}

/* V1.93 — clean estate photo and pins use one uncropped coordinate space. */
#S06 .map-frame>img{aspect-ratio:2560/1418;height:auto;object-fit:contain}
#S06 #mapPins{position:absolute;inset:0 0 auto;aspect-ratio:2560/1418;pointer-events:none}
#S06 #mapPins button{pointer-events:auto}

/* V1.95 — mobile Experience: quiet copy, lower chapter and grounded SVG. */
@media(max-width:1000px){
 #S03 .essence-discover{display:none}
 #S03 .essence-story{padding-top:64px}
 #S03 .essence-grove{bottom:0;height:16.72vw;aspect-ratio:auto;flex:none;min-height:0}
 #S03 .essence-grove-svg{top:auto;bottom:0;height:100%;display:block}
}
@media(max-width:1000px) and (min-height:650px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){
 #S03 .essence-story{padding-top:28px}
 #S03 .essence-story-inner{justify-content:flex-start;gap:clamp(12px,2.5svh,24px)}
 #S03 #essencePanel{flex:none}
}
@media(max-width:1000px) and (min-height:800px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){#S03 .essence-story{padding-top:40px}}
@media(max-width:1000px) and (min-height:650px) and (max-height:740px) and (orientation:portrait) and (prefers-reduced-motion:no-preference){#S03 .essence-story{padding-top:24px}}
