@font-face{font-family:Zodiak;src:url(/fonts/zodiak.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Zodiak;src:url(/fonts/zodiak-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Switzer;src:url(/fonts/switzer.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Zodiak Fallback;src:local(Georgia),local(Times New Roman);size-adjust:104%;ascent-override:92%;descent-override:26%}@font-face{font-family:Switzer Fallback;src:local(Helvetica Neue),local(Arial);size-adjust:100%}:root{--bone:#f3eee5;--bone-2:#e9e2d5;--ink:#14110e;--ink-2:#3a342d;--champagne:#c4a574;--champagne-2:#d9c29a;--champagne-3:#9c8157;--predawn:#0b1020;--midnight:#070b1a;--sky:#eedfc3;--fg:var(--ink);--tone-bg:var(--bone);--fg-soft:color-mix(in srgb, var(--fg) 74%, transparent);--rule:color-mix(in srgb, var(--fg) 20%, transparent);--serif:"Zodiak", "Zodiak Fallback", "Songti SC", "STSong", "Noto Serif SC", serif;--sans:"Switzer", "Switzer Fallback", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", system-ui, sans-serif;--fs-mega:clamp(4.2rem, 16.4vw, 24rem);--fs-display:clamp(3.4rem, 11.4vw, 15rem);--fs-h1:clamp(2.9rem, 8vw, 10rem);--fs-h2:clamp(2.4rem, 5.4vw, 6.8rem);--fs-h3:clamp(1.7rem, 2.7vw, 3rem);--fs-lede:clamp(1.75rem, 3.9vw, 4.4rem);--fs-body:clamp(1.02rem, .96rem + .22vw, 1.16rem);--fs-small:.9rem;--fs-label:.72rem;--gutter:clamp(20px, 3.4vw, 52px);--section:clamp(110px, 17vh, 220px);--nav-h:88px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .18, 1);--ease-soft:cubic-bezier(.33, 0, .1, 1)}html[data-tone=dark]{--fg:var(--bone);--tone-bg:var(--ink)}html:lang(zh){--serif:"Songti SC", "STSong", "Noto Serif SC", "Zodiak", serif}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--predawn);scrollbar-width:none}html::-webkit-scrollbar{display:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}body{min-height:100vh;font-family:var(--sans);font-size:var(--fs-body);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:0 0;font-weight:400;line-height:1.6;overflow-x:clip}img,svg,canvas,video{max-width:100%;display:block}picture{display:contents}img{background-position:50%;background-size:cover;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}em,i{font-style:italic}::selection{background:var(--champagne);color:var(--ink)}[hidden]{display:none!important}:focus-visible{outline:1.5px solid var(--champagne);outline-offset:4px;border-radius:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:10001;background:var(--bone);color:var(--ink);font-size:var(--fs-small);transition:transform .3s var(--ease-out);padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}html.is-switching [data-i18n]:not([data-i18n-skip]){animation:i18n-out .28s var(--ease-soft) forwards}html.is-switched [data-i18n]:not([data-i18n-skip]){animation:i18n-in .65s var(--ease-out)}@keyframes i18n-out{to{opacity:0}}@keyframes i18n-in{0%{opacity:0}to{opacity:1}}.sky{z-index:-2;background:var(--sky);pointer-events:none;contain:strict;position:fixed;top:0;bottom:0;left:0;right:0}.sky__glow{will-change:transform, opacity;background:radial-gradient(closest-side,#fff4de8c,#ffeccd2e 45%,#ffeccd00 72%);border-radius:50%;width:110vmax;height:110vmax;margin:-55vmax 0 0 -55vmax;position:absolute;top:0;left:0}.sky__glow--moon{opacity:0;background:radial-gradient(closest-side,#aabeff29,#788cdc0d 50%,#0000 72%);width:80vmax;height:80vmax;margin:-40vmax 0 0 -40vmax}.grain{z-index:9000;pointer-events:none;background-image:var(--grain);opacity:.16;will-change:transform;background-size:220px 220px;animation:.9s steps(6,end) infinite grain;position:fixed;top:-100%;bottom:-100%;left:-100%;right:-100%}@keyframes grain{0%{transform:translate(0)}17%{transform:translate(-6%,4%)}33%{transform:translate(4%,-7%)}50%{transform:translate(-3%,8%)}67%{transform:translate(8%,2%)}83%{transform:translate(-7%,-4%)}to{transform:translate(2%,6%)}}.serif{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.02em;font-weight:400;line-height:.9}.serif em,.display em,.h1 em,.h2 em,.h3 em{letter-spacing:-.03em;font-style:italic;font-weight:400}.display,.h1,.h2,.h3{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.035em;text-wrap:balance;font-weight:400;line-height:.88}.display{font-size:var(--fs-display);letter-spacing:-.045em;line-height:.84}.h1{font-size:var(--fs-h1)}.h2{font-size:var(--fs-h2);line-height:.92}.h3{font-size:var(--fs-h3);letter-spacing:-.02em;line-height:1}html:lang(zh) :-webkit-any(.display,.h1,.h2,.h3,.serif){letter-spacing:.02em;font-weight:500;line-height:1.12}html:lang(zh) :is(.display,.h1,.h2,.h3,.serif){letter-spacing:.02em;font-weight:500;line-height:1.12}.label{font-family:var(--sans);font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;font-weight:500;line-height:1.5}.label--soft{color:var(--fg-soft)}.eyebrow{align-items:center;gap:14px;display:flex}.eyebrow__num{font-family:var(--serif);letter-spacing:0;font-variant-numeric:lining-nums;font-size:1.05rem;font-weight:500}.eyebrow__rule{opacity:.5;transform-origin:0;background:currentColor;width:42px;height:1px}.eyebrow__time{font-variant-numeric:tabular-nums;opacity:.6}.body{font-size:var(--fs-body);max-width:34em;color:var(--fg-soft);line-height:1.65}.small{font-size:var(--fs-small)}.line-mask{margin:-.06em -.16em -.24em;padding:.06em .16em .24em;display:block;overflow:clip}.split-line{display:block}.char,.word{text-indent:0;display:inline-block}.wrap{padding-inline:var(--gutter)}.section{padding-block:var(--section);position:relative}.link-draw{align-items:center;gap:10px;padding-block-start:6px;padding-block-end:6px;display:inline-flex;position:relative}.link-draw:after{content:"";transform-origin:100%;height:1px;transition:transform .7s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.link-draw:hover:after,.link-draw.is-drawn:after{transform-origin:0;transform:scaleX(1)}.link-draw:focus-visible:after{transform-origin:0;transform:scaleX(1)}.link-draw--static:after{opacity:.35;transform:scaleX(1)}.link-draw--static:hover:after{animation:redraw .9s var(--ease-out);opacity:1}@keyframes redraw{0%{transform-origin:100%;transform:scaleX(1)}45%{transform-origin:100%;transform:scaleX(0)}46%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}.btn{--btn-fg:var(--fg);--btn-fill:var(--fg);--btn-fill-fg:var(--tone-bg);border:1px solid color-mix(in srgb, var(--btn-fg) 40%, transparent);min-height:56px;color:var(--btn-fg);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;isolation:isolate;transition:color .6s var(--ease-out), border-color .6s var(--ease-out);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:14px;padding:0 30px;font-size:.72rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--btn-fill);border-radius:inherit;transition:transform .7s var(--ease-out), border-radius .7s var(--ease-out);border-radius:50% 50% 0 0/60% 60% 0 0;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px;transform:translateY(101%)}.btn:hover{color:var(--btn-fill-fg);border-color:var(--btn-fill)}.btn:focus-visible{color:var(--btn-fill-fg);border-color:var(--btn-fill)}.btn:hover:before{border-radius:0;transform:translateY(0)}.btn:focus-visible:before{border-radius:0;transform:translateY(0)}.btn__inner{align-items:center;gap:12px;display:inline-flex}.btn__arrow{width:14px;height:14px;transition:transform .6s var(--ease-out)}.btn:hover .btn__arrow{transform:translate(4px)}.btn--solid{--btn-fg:var(--ink);background:var(--champagne);border-color:var(--champagne);--btn-fill:var(--ink);--btn-fill-fg:var(--bone)}.btn--light{--btn-fg:var(--bone);--btn-fill:var(--bone);--btn-fill-fg:var(--ink)}.btn-round{border:1px solid color-mix(in srgb, currentColor 35%, transparent);isolation:isolate;width:64px;height:64px;transition:color .5s var(--ease-out), border-color .5s var(--ease-out);border-radius:50%;place-items:center;display:inline-grid;position:relative;overflow:hidden}.btn-round:before{content:"";z-index:-1;transition:transform .6s var(--ease-out);background:currentColor;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(0)}.btn-round:hover:before{transform:scale(1)}.btn-round:hover svg{color:var(--tone-bg)}.btn-round svg{width:18px;height:18px;transition:color .5s}.cursor,.cursor-ring,.cursor-lens{z-index:9999;pointer-events:none;opacity:0;transition:opacity .5s;position:fixed;top:0;left:0}.cursor.is-visible,.cursor-ring.is-visible,.cursor-lens.is-visible{opacity:1}.cursor,.cursor-ring{mix-blend-mode:difference}.cursor__ball{width:96px;height:96px;transition:transform .7s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:-48px;left:-48px;transform:scale(.085)}.cursor.is-hover .cursor__ball{transform:scale(.52)}.cursor.is-lens .cursor__ball{transform:scale(0)}.cursor.is-down .cursor__ball{transform:scale(.06)}.cursor.is-hover.is-down .cursor__ball{transform:scale(.42)}.cursor-ring i{width:38px;height:38px;transition:transform .8s var(--ease-out), opacity .5s;border:1px solid #ffffffbf;border-radius:50%;position:absolute;top:-19px;left:-19px}.cursor-ring.is-hover i{opacity:0;transform:scale(.4)}.cursor-ring.is-lens i{opacity:0;transform:scale(3)}.cursor-lens__body{-webkit-backdrop-filter:blur(14px)saturate(1.4)brightness(1.06);opacity:0;width:108px;height:108px;transition:transform .9s var(--ease-out), opacity .45s;background:radial-gradient(circle at 35% 30%,#ffffff47,#f3eee51a 60%);border:1px solid #ffffff80;border-radius:50%;place-items:center;display:grid;position:absolute;top:-54px;left:-54px;transform:scale(.2);box-shadow:0 18px 50px #070b1a2e,inset 0 1px #ffffff80}.cursor-lens.is-lens .cursor-lens__body{opacity:1;transform:scale(1)}.cursor-lens.is-lens.is-down .cursor-lens__body{transform:scale(.9)}.cursor-lens__label{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff;text-shadow:0 1px 10px #070b1a59;white-space:nowrap;padding-left:.24em;font-size:.64rem;font-weight:600}@media (hover:hover) and (pointer:fine){.has-cursor,.has-cursor *{cursor:none!important}}.nav{z-index:800;height:var(--nav-h);padding-inline:var(--gutter);color:var(--nav-fg,var(--fg));transition:color .8s var(--ease-soft), transform .9s var(--ease-out);grid-template-columns:auto 1fr auto;align-items:center;gap:32px;display:grid;position:fixed;top:0;bottom:auto;left:0;right:0}html[data-hero] .nav{--nav-fg:var(--bone)}.nav.is-hidden{transform:translateY(-110%)}.nav__brand{justify-self:start;align-items:center;gap:14px;display:inline-flex}.nav__mark{width:30px;height:30px}.nav__word{font-family:var(--serif);letter-spacing:.34em;text-transform:uppercase;white-space:nowrap;font-size:.98rem;font-weight:500}.nav__links{justify-content:center;gap:clamp(18px,2.4vw,40px);display:flex}.nav__link{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-weight:600}.nav__tools{justify-self:end;align-items:center;gap:clamp(14px,1.6vw,26px);display:flex}.toggle-group{letter-spacing:.16em;align-items:center;gap:2px;font-size:.64rem;font-weight:600;display:flex}.toggle-group button{opacity:.5;padding:8px 6px;transition:opacity .4s;position:relative}.toggle-group button:hover{opacity:.85}.toggle-group button[aria-pressed=true]{opacity:1}.toggle-group button[aria-pressed=true]:after{content:"";height:1px;animation:underline-in .6s var(--ease-out) both;background:currentColor;position:absolute;bottom:3px;left:6px;right:6px}@keyframes underline-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.toggle-group__sep{opacity:.25;background:currentColor;width:1px;height:12px;margin-inline-start:8px;margin-inline-end:8px}.sound{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;padding:8px 4px;font-size:.64rem;font-weight:600;display:inline-flex}.sound__bars{align-items:center;gap:2px;height:12px;display:inline-flex}.sound__bars i{transform-origin:50%;width:1.5px;height:100%;transition:transform .5s var(--ease-out);background:currentColor;transform:scaleY(.25)}.sound[aria-pressed=true] .sound__bars i{animation:bars 1.2s var(--ease-soft) infinite alternate}.sound[aria-pressed=true] .sound__bars i:nth-child(2){animation-duration:.9s;animation-delay:-.35s}.sound[aria-pressed=true] .sound__bars i:nth-child(3){animation-duration:1.4s;animation-delay:-.7s}.sound[aria-pressed=true] .sound__bars i:nth-child(4){animation-duration:1s;animation-delay:-.2s}@keyframes bars{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.nav__reserve{--btn-fg:var(--nav-fg,var(--fg));--btn-fill:var(--nav-fg,var(--fg));--btn-fill-fg:var(--tone-bg);min-height:44px;padding:0 22px}html[data-hero] .nav__reserve{--btn-fill-fg:var(--ink)}.nav__menu-btn{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:12px;padding:10px 0;font-weight:600;display:none}.nav__menu-lines{gap:5px;width:22px;display:grid}.nav__menu-lines i{height:1px;transition:transform .6s var(--ease-out);background:currentColor}.nav__menu-btn[aria-expanded=true] .nav__menu-lines i:first-child{transform:translateY(3px)rotate(45deg)}.nav__menu-btn[aria-expanded=true] .nav__menu-lines i:last-child{transform:translateY(-3px)rotate(-45deg)}.menu{--fg:var(--bone);z-index:790;padding:calc(var(--nav-h) + 24px) var(--gutter) 36px;background:var(--predawn);color:var(--bone);clip-path:inset(0 0 100%);visibility:hidden;flex-direction:column;justify-content:space-between;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.menu.is-open{visibility:visible}.menu__links{gap:6px;display:grid}.menu__link{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(2.8rem,13vw,6rem);line-height:1;display:block}.menu__link em{font-style:italic}.menu__link small{font-family:var(--sans);letter-spacing:.2em;vertical-align:top;opacity:.5;margin-right:14px;font-size:.68rem}.menu__foot{gap:18px;display:grid}.menu__row{flex-wrap:wrap;align-items:center;gap:16px 22px;display:flex}.daybar{z-index:700;pointer-events:none;color:var(--fg);transition:color .8s var(--ease-soft), opacity .8s;position:fixed;bottom:26px}html[data-hero] .daybar{color:var(--bone)}.daybar--left{left:var(--gutter)}html[data-hero] .daybar--left,html.at-footer .daybar{opacity:0}.daybar--right{right:var(--gutter);align-items:flex-end;gap:14px;display:flex}.daybar__section{align-items:center;gap:12px;display:flex}.daybar__section .eyebrow__num{font-size:.95rem}.sunarc{width:118px;height:64px;overflow:visible}.sunarc__path{fill:none;stroke:currentColor;stroke-width:1px;stroke-dasharray:1.5 4;opacity:.45}.sunarc__done{fill:none;stroke:currentColor;stroke-width:1px;opacity:.9}.sunarc__horizon{stroke:currentColor;stroke-width:1px;opacity:.7}.sunarc__sun{fill:var(--champagne)}.sunarc__halo{fill:var(--champagne);opacity:.25}.sunarc__moon{fill:currentColor}.daybar__clock{justify-items:end;gap:2px;min-width:70px;display:grid}.daybar__time{font-family:var(--serif);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums;font-size:1.6rem;line-height:1}.daybar__phase{font-size:.6rem}.reserve-bar{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:750;background:color-mix(in srgb, var(--ink) 88%, transparent);color:var(--bone);-webkit-backdrop-filter:blur(14px)saturate(1.2);transition:transform .8s var(--ease-out);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 22px;display:none;position:fixed;transform:translateY(160%)}.reserve-bar.is-shown{transform:none}.reserve-bar__price{line-height:1.25;display:grid}.reserve-bar__price strong{font-family:var(--serif);letter-spacing:-.01em;font-size:1.2rem;font-weight:400}.reserve-bar .btn{min-height:48px;padding:0 22px}.veil{z-index:9500;pointer-events:none;visibility:hidden;position:fixed;top:0;bottom:0;left:0;right:0}.veil__img{will-change:transform, clip-path;position:absolute;overflow:hidden}.veil__img img{object-fit:cover;width:100%;height:100%}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.45s;animation-timing-function:cubic-bezier(.33,0,.1,1)}::view-transition-new(root){animation-duration:.45s;animation-timing-function:cubic-bezier(.33,0,.1,1)}@media (max-width:1023px){:root{--nav-h:72px}.nav{grid-template-columns:1fr auto}.nav__links,.nav__tools>:not(.nav__menu-btn){display:none}.nav__menu-btn{display:inline-flex}.reserve-bar{display:flex}.daybar--left{display:none}.daybar--right{top:18px;bottom:auto;right:calc(var(--gutter) + 96px);transition:color .8s var(--ease-soft), opacity .8s, transform .9s var(--ease-out);gap:8px}.nav.is-hidden~.daybar--right{transform:translateY(-160%)}.daybar--right .sunarc{width:58px;height:32px}.daybar__time{font-size:1.1rem}.daybar__phase{display:none}.nav__word{letter-spacing:.28em;font-size:.86rem}}@media (max-width:420px){.nav__word{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.2s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{animation:none}}.btn-glow{height:76px;color:var(--ink);letter-spacing:.22em;text-transform:uppercase;isolation:isolate;border-radius:999px;place-items:center;margin-top:1vh;padding:0 52px;font-size:.74rem;font-weight:700;display:inline-grid;position:relative}.btn-glow:before{content:"";z-index:-2;animation:breathe 3.8s var(--ease-soft) infinite alternate;will-change:transform, opacity;background:radial-gradient(closest-side,#e2c2888c,#e2c28824 55%,#e2c28800);border-radius:50%;position:absolute;top:-60px;bottom:-60px;left:-90px;right:-90px}.btn-glow:after{content:"";z-index:-1;border-radius:inherit;transition:transform .6s var(--ease-out);background:linear-gradient(#f1dfb8 0%,#cfae76 100%);position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 1px #fff9,inset 0 -10px 24px #8c642840,0 10px 40px #00000059}.btn-glow:hover:after{transform:scale(1.04)}.btn-glow__inner{pointer-events:none;display:inline-block}.btn-glow__shine{border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.btn-glow__shine:before{content:"";width:40%;animation:shine 4.5s var(--ease-in-out) 2s infinite;background:linear-gradient(100deg,#0000,#ffffffbf,#0000);position:absolute;top:0;bottom:0;left:-50%;transform:skew(-20deg)}@keyframes shine{0%,60%{left:-50%}to{left:130%}}@keyframes breathe{0%{opacity:.65;transform:scale(.85)}to{opacity:1;transform:scale(1.08)}}.reveal{position:relative;overflow:hidden}.reveal img{object-fit:cover;will-change:transform;width:100%;height:100%}.footer{color:var(--bone);padding-top:clamp(80px,14vh,160px);position:relative;overflow:hidden}.footer__top{gap:40px var(--gutter);grid-template-columns:1.5fr repeat(3,1fr) 1.3fr;padding-bottom:clamp(60px,10vh,120px);display:grid}.footer__col{align-content:start;gap:16px;display:grid}.footer__lead{font-family:var(--serif);letter-spacing:-.02em;max-width:14em;font-size:clamp(1.7rem,2.3vw,2.6rem);line-height:1.08}.footer__lead em{color:var(--champagne-2);font-style:italic}.footer__list{gap:6px;font-size:.95rem;display:grid}.footer__address{font-size:.95rem;font-style:normal;line-height:1.6}.footer__small{font-size:var(--fs-small);justify-self:start}.bali__zone{opacity:.6;margin-left:6px}.bali__time{font-family:var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;font-size:3rem;line-height:1}.bali__sec{opacity:.62;margin-left:2px;font-size:1.3rem}.bali__weather{align-items:center;gap:12px;font-size:.92rem;display:flex}.bali__icon{width:28px;height:28px;color:var(--champagne-2);flex-shrink:0}.bali__facts{border-top:1px solid #f3eee524;grid-template-columns:repeat(4,auto);justify-content:start;gap:18px;padding-top:14px;display:grid}.bali__facts dt{letter-spacing:.2em;text-transform:uppercase;opacity:.55;font-size:.56rem;font-weight:600}.bali__facts dd{font-variant-numeric:tabular-nums;font-size:.9rem}.footer__mark{padding-inline:calc(var(--gutter) * .5);position:relative;overflow:hidden}.footer__mark:after{content:"";mix-blend-mode:overlay;pointer-events:none;animation:sheen 7s var(--ease-in-out) infinite;background:linear-gradient(100deg,#0000 38%,#ffecc88c 50%,#0000 62%) 0 0/250% 100%;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes sheen{0%{background-position:150% 0}60%,to{background-position:-60% 0}}.footer__wordmark{width:max-content;font-family:var(--serif);letter-spacing:-.045em;color:var(--bone);white-space:nowrap;padding:.02em 0 .14em;font-size:18.5vw;font-weight:400;line-height:.9;display:flex}.footer__wordmark .wm-char{transform-origin:0 100%;display:inline-block}.footer__wordmark .wm-it{color:var(--champagne-2);font-style:italic;font-weight:350}.footer__wordmark .wm-gap{width:.2em}.footer__base{color:color-mix(in srgb, var(--bone) 62%, transparent);border-top:1px solid #f3eee51f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;padding-block-start:28px;padding-block-end:40px;display:flex}.footer__top-btn{color:var(--bone)}@media (max-width:1100px){.footer__top{grid-template-columns:1fr 1fr}.footer__col--lead,.bali{grid-column:1/-1}}@media (max-width:1023px){.footer__base{padding-bottom:110px}}.js:not(.from-transition):not(.reduced) .ov-hero{clip-path:inset(50% 0)}.ov-hero{height:100vh;height:100svh;min-height:600px;color:var(--bone);position:relative;overflow:hidden}.ov-hero__media{will-change:transform;position:absolute;top:0;bottom:0;left:0;right:0}.ov-hero__img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.ov-hero__light{mix-blend-mode:soft-light;animation:roomlight 14s var(--ease-in-out) infinite alternate;pointer-events:none;background:linear-gradient(115deg,#ffecc800 30%,#ffe2aa38 45%,#ffecc800 60%);position:absolute;top:-20%;bottom:-20%;left:-20%;right:-20%}@keyframes roomlight{0%{transform:translate(-18%)}to{transform:translate(18%)}}.ov-hero__shade{pointer-events:none;background:linear-gradient(#080b1680 0%,#080b1600 24%),radial-gradient(90% 70% at 24% 90%,#080b16b8,#080b1640 55%,#080b1600 78%),linear-gradient(#080b1600 50%,#080b1680 100%);position:absolute;top:0;bottom:0;left:0;right:0}.ov-hero__content{z-index:2;height:100%;padding:calc(var(--nav-h) + 2vh) var(--gutter) clamp(34px, 6vh, 60px);grid-template-rows:auto 1fr auto;display:grid;position:relative}.ov-back{text-shadow:0 1px 14px #080b1673;justify-self:start;align-items:center;gap:14px;display:inline-flex}.ov-back svg{transition:transform .6s var(--ease-out)}.ov-back:hover svg{transform:translate(-5px)}.ov-back__n{opacity:.6;border-left:1px solid #f3eee566;padding-left:14px}.ov-hero__title{font-family:var(--serif);letter-spacing:-.04em;color:#fbf6ec;text-shadow:0 .015em .12em #060a1640,0 .04em .5em #060a1633;grid-row:3;align-self:end;margin-left:-.04em;font-size:clamp(3.6rem,12.2vw,17rem);font-weight:400;line-height:.86}.ov-line{display:block}.ov-line--2{padding-left:1.4em}.ov-line em{font-style:italic;font-weight:350}.ov-hero__facts{right:var(--gutter);-webkit-backdrop-filter:blur(16px)saturate(1.2);background:#0a0d1a47;border:1px solid #f3eee538;gap:28px;width:min(360px,28vw);padding:26px 26px 24px;display:grid;position:absolute;bottom:clamp(100px,13vh,130px)}.ov-facts{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}.ov-facts dt{letter-spacing:.2em;text-transform:uppercase;opacity:.72;margin-bottom:3px;font-size:.6rem}.ov-facts dd{font-size:.98rem}.ov-hero__cta{gap:16px;display:grid}.ov-price{align-items:baseline;gap:10px;display:flex}.ov-price strong{font-family:var(--serif);letter-spacing:-.02em;font-size:2.4rem;font-weight:400;line-height:1}.ov-hero__cta .btn{width:100%}.ov-intro__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.ov-intro__grid>.eyebrow{grid-column:1/-1;margin-bottom:6vh}.ov-intro__lede{font-family:var(--serif);letter-spacing:-.025em;text-indent:16.6%;grid-column:1/12;font-size:clamp(2rem,4.1vw,5rem);line-height:1.06}.ov-intro__lede em{font-style:italic}.ov-intro__lede .split-line,.ov-intro__lede .char{text-indent:0}.ov-intro__notes{gap:var(--gutter);border-top:1px solid var(--rule);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:clamp(60px,11vh,130px);padding-top:28px;display:grid}.ov-intro__notes .label{margin-bottom:12px}.ov-gallery{padding-block-start:clamp(40px,8vh,100px);padding-block-end:clamp(80px,14vh,160px)}.ov-gallery__head{gap:5vh;margin-bottom:clamp(40px,8vh,90px);display:grid}.ov-strip{cursor:grab;touch-action:pan-y;overflow:hidden}.ov-strip:active{cursor:grabbing}.ov-strip__track{width:max-content;padding-inline:var(--gutter);will-change:transform;-webkit-user-select:none;user-select:none;align-items:flex-end;gap:clamp(20px,3vw,48px);display:flex}.ov-shot{flex-shrink:0;gap:16px;display:grid}.ov-shot__img img{pointer-events:none;-webkit-user-drag:none}.ov-shot--wide{width:clamp(300px,46vw,820px)}.ov-shot--wide .ov-shot__img{aspect-ratio:4/3}.ov-shot--tall{width:clamp(240px,28vw,500px)}.ov-shot--tall .ov-shot__img{aspect-ratio:3/4}.ov-shot--mid{width:clamp(260px,34vw,600px)}.ov-shot--mid .ov-shot__img{aspect-ratio:1}.ov-shot figcaption{font-family:var(--serif);letter-spacing:-.01em;align-items:baseline;gap:14px;font-size:1.25rem;display:flex}.ov-shot__time{font-family:var(--sans);font-size:var(--fs-label);letter-spacing:.2em;color:var(--fg-soft);font-variant-numeric:tabular-nums;font-weight:500}.ov-strip__foot{align-items:center;gap:22px;margin-top:40px;display:flex}.ov-strip__bar{background:var(--rule);flex:1;max-width:320px;height:1px;position:relative;overflow:hidden}.ov-strip__bar i{transform-origin:0;background:currentColor;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleX(.15)}.ov-plan__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;row-gap:8vh;display:grid}.ov-plan__head{grid-column:1/5;gap:30px;display:grid}.ov-legend{border-top:1px solid var(--rule);display:grid}.ov-legend li{border-bottom:1px solid var(--rule);cursor:default;transition:padding .6s var(--ease-out), color .4s;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.ov-legend li:hover,.ov-legend li.is-on{color:var(--champagne-3);padding-left:12px}.ov-legend__name{font-family:var(--serif);font-size:1.2rem}.ov-legend__m{color:var(--fg-soft);font-variant-numeric:tabular-nums;font-size:.84rem}.ov-plan__figure{color:var(--ink);grid-column:6/13}.ov-svg{width:100%;height:auto;overflow:visible}.ov-svg .room{fill:var(--champagne);fill-opacity:0;transition:fill-opacity .5s var(--ease-out)}.ov-svg .room.is-on{fill-opacity:.22}.ov-open,.ov-furniture,.ov-ocean{opacity:.8}.ov-ocean{color:#3f6f7d}.ov-sunpath{stroke:var(--champagne-3);stroke-width:1.2px}.ov-sun__halo{fill:var(--champagne);opacity:.3}.ov-sun__core{fill:var(--champagne-3)}.ov-labels text,.ov-compass text,.ov-scale text{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;fill:currentColor;font-size:10px;font-weight:500}.ov-labels__sun{fill:var(--champagne-3)!important}.ov-amenities__head{gap:5vh;margin-bottom:clamp(50px,9vh,110px);display:grid}.ov-amenities__grid{gap:var(--gutter);grid-template-columns:repeat(4,1fr);display:grid}.ov-am__title{font-family:var(--serif);letter-spacing:-.02em;border-bottom:1px solid var(--fg);align-items:baseline;gap:12px;padding-bottom:18px;font-size:1.9rem;display:flex}.ov-am__n{color:var(--champagne-3);font-size:.9rem;font-style:italic}.ov-am ul{display:grid}.ov-am li{border-bottom:1px solid var(--rule);padding:14px 0;font-size:.98rem;line-height:1.5}.ov-sunset{height:120vh;color:var(--bone);align-items:end;display:grid;position:relative;overflow:hidden}.ov-sunset__media{will-change:transform;position:absolute;top:-12%;bottom:-12%;left:0;right:0}.ov-sunset__media img{object-fit:cover;width:100%;height:100%}.ov-sunset__shade{background:linear-gradient(#140a0c33 0%,#140a0c1f 50%,#140a0c99 100%);position:absolute;top:0;bottom:0;left:0;right:0}.ov-sunset__content{z-index:2;grid-template-columns:1fr auto;align-items:end;gap:30px;padding-bottom:clamp(60px,12vh,140px);display:grid;position:relative}.ov-sunset__eyebrow{opacity:.85;grid-column:1/-1}.ov-sunset__title{font-family:var(--serif);letter-spacing:-.04em;text-shadow:0 .04em .4em #140a0c4d;font-size:clamp(3rem,9vw,12rem);font-weight:400;line-height:.88}.ov-sunset__title em{font-style:italic;font-weight:350}.ov-sunset__count{text-align:right;justify-items:end;gap:6px;display:grid}.ov-sunset__big{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2.4rem,4vw,4.4rem);line-height:1}.ov-book__grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:6vh;display:grid}.ov-book__lead{grid-column:1/7;gap:30px;display:grid}.ov-book__card{border:1px solid var(--rule);background:color-mix(in srgb, var(--fg) 4%, transparent);grid-column:8/13;gap:28px;padding:clamp(28px,3vw,44px);display:grid}.ov-book__price{align-items:baseline;gap:12px;display:flex}.ov-book__price strong{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:1}.ov-book__list{border-top:1px solid var(--rule);display:grid}.ov-book__list li{border-bottom:1px solid var(--rule);padding:13px 0;font-size:.95rem}.ov-book__btn{justify-self:start}.ov-others__grid{gap:var(--gutter);grid-template-columns:1fr 1fr;margin-top:6vh;display:grid}.ov-other{gap:18px;display:grid}.ov-other__img{aspect-ratio:4/3}.ov-other__img img{transition:transform 1.4s var(--ease-out)}.ov-other:hover .ov-other__img img{transform:scale(1.05)}.ov-other__name{font-family:var(--serif);letter-spacing:-.02em;justify-content:space-between;align-items:baseline;font-size:clamp(1.5rem,2.2vw,2.4rem);display:flex}.ov-other__price{font-family:var(--sans);letter-spacing:0;font-size:.95rem}@media (max-width:1023px){.ov-hero__facts{grid-row:4;width:auto;margin-top:24px;position:relative;bottom:auto;right:auto}.ov-hero__content{grid-template-rows:auto 1fr auto auto}.ov-hero__title{font-size:clamp(3.4rem,16vw,8rem)}.ov-line--2{padding-left:.8em}.ov-intro__lede{text-indent:0;grid-column:1/-1}.ov-intro__notes{grid-template-columns:1fr}.ov-plan__head,.ov-plan__figure,.ov-book__lead,.ov-book__card{grid-column:1/-1}.ov-amenities__grid{grid-template-columns:1fr 1fr;row-gap:50px}.ov-sunset__content{grid-template-columns:1fr}.ov-sunset__count{text-align:left;justify-items:start}}@media (max-width:640px){.ov-amenities__grid,.ov-others__grid{grid-template-columns:1fr}.ov-hero{height:auto;min-height:100svh}}.booking{z-index:9100;color:var(--ink);--fg:var(--ink);--fg-soft:color-mix(in srgb, var(--ink) 58%, transparent);--rule:color-mix(in srgb, var(--ink) 14%, transparent);--tone-bg:var(--bone);position:fixed;top:0;bottom:0;left:0;right:0}.booking__scrim{-webkit-backdrop-filter:blur(5px);background:#070b1a80;position:absolute;top:0;bottom:0;left:0;right:0}.booking__panel{background:var(--bone);will-change:transform;flex-direction:column;width:min(620px,100vw);display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-30px 0 80px #070b1a40}.booking__head{gap:16px;padding:26px clamp(22px,3vw,44px) 0;display:grid}.booking__row{justify-content:space-between;align-items:center;display:flex}.booking__close{align-items:center;gap:12px;padding:8px 0;display:inline-flex}.booking__close svg{width:14px;height:14px;transition:transform .6s var(--ease-out)}.booking__close:hover svg{transform:rotate(90deg)}.booking__progress{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.booking__progress i{background:var(--rule);height:2px;position:relative;overflow:hidden}.booking__progress b{background:var(--ink);transform-origin:0;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleX(0)}.booking__stepnum{font-size:.6rem}.booking__body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:14px clamp(22px,3vw,44px) 28px;overflow-y:auto}.bk-step{align-content:start;gap:22px;display:grid}.bk-title{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.03em;outline:none;font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:400;line-height:.98}.bk-title em{font-style:italic}html:lang(zh) .bk-title{letter-spacing:.02em;line-height:1.2}.bk-hint{margin-top:-8px}.bk-muted{color:var(--fg-soft)}.bk-dates{border-block:1px solid var(--rule);grid-template-columns:1fr auto 1fr;align-items:end;gap:16px;padding:18px 0;display:grid}.bk-date{gap:6px;display:grid}.bk-date strong{font-family:var(--serif);letter-spacing:-.01em;font-size:1.45rem;font-weight:400;line-height:1.1}.bk-date strong.is-empty{color:var(--fg-soft);font-style:italic}[data-bk-out]{text-align:right}.bk-date__arrow{place-items:center;min-width:90px;padding-bottom:6px;display:grid;position:relative}.bk-date__arrow:before{content:"";background:var(--rule);height:1px;position:absolute;bottom:0;left:0;right:0}.bk-date__arrow span{letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-3);white-space:nowrap;font-size:.62rem;font-weight:700}.cal__head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal__month{font-family:var(--serif);letter-spacing:-.01em;text-transform:capitalize;font-size:1.35rem;overflow:hidden}.cal__month-in{display:inline-block}.cal__nav{border:1px solid var(--rule);border-radius:50%;place-items:center;width:44px;height:44px;transition:background .4s,color .4s,border-color .4s;display:grid}.cal__nav svg{width:16px;height:16px}.cal__nav:hover:not(:disabled){background:var(--ink);color:var(--bone);border-color:var(--ink)}.cal__nav:disabled{opacity:.25;cursor:default}.cal__week,.cal__grid{grid-template-columns:repeat(7,1fr);display:grid}.cal__week span{text-align:center;letter-spacing:.14em;color:var(--fg-soft);text-transform:uppercase;padding-bottom:10px;font-size:.62rem;font-weight:700}.cal__grid{row-gap:4px}.cal__day{width:100%;height:clamp(42px,5.6vh,52px);font-family:var(--serif);font-variant-numeric:lining-nums;isolation:isolate;place-items:center;font-size:1.08rem;display:grid;position:relative}.cal__day span{z-index:2;aspect-ratio:1;width:min(42px,86%);transition:background .35s var(--ease-out), color .35s, box-shadow .35s;border-radius:50%;place-items:center;display:grid;position:relative}.cal__day:not(:disabled):hover span{box-shadow:inset 0 0 0 1px var(--ink)}.cal__day.is-today span:after{content:"";background:var(--champagne-3);border-radius:50%;width:3px;height:3px;position:absolute;bottom:6px}.cal__day:disabled{opacity:.22;cursor:default}.cal__day:before{content:"";z-index:1;transform-origin:0;background:color-mix(in srgb, var(--champagne) 34%, transparent);height:min(42px,86%);transition:transform .5s var(--ease-out);transition-delay:calc(var(--i,0) * 14ms);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)scaleX(0)}.cal__day.is-in:before,.cal__day.is-preview:before{transform:translateY(-50%)scaleX(1)}.cal__day.is-preview:before{background:color-mix(in srgb, var(--champagne) 16%, transparent);transition-duration:.25s;transition-delay:0s}.cal__day.is-start.has-band:before{left:50%;transform:translateY(-50%)scaleX(1)}.cal__day.is-end:before,.cal__day.is-preview-end:before{right:50%;transform:translateY(-50%)scaleX(1)}.cal__day.is-preview-end:before{background:color-mix(in srgb, var(--champagne) 16%, transparent)}.cal__day.is-start span,.cal__day.is-end span{background:var(--ink);color:var(--bone);animation:pop .5s var(--ease-out)}.cal__day.is-preview-end span{box-shadow:inset 0 0 0 1px var(--ink)}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}.bk-guests{border-top:1px solid var(--rule);display:grid}.bk-guest{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.bk-guest__name{font-family:var(--serif);font-size:1.5rem;line-height:1.1}.bk-stepper{align-items:center;gap:8px;display:flex}.bk-stepper__btn{border:1px solid var(--rule);border-radius:50%;place-items:center;width:46px;height:46px;transition:background .4s,color .4s,border-color .4s;display:grid}.bk-stepper__btn svg{width:14px;height:14px}.bk-stepper__btn:hover:not(:disabled){background:var(--ink);color:var(--bone);border-color:var(--ink)}.bk-stepper__btn:disabled{opacity:.25;cursor:default}.bk-stepper__val{width:44px;height:46px;font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;place-items:center;font-size:1.8rem;display:grid;overflow:hidden}.bk-stepper__val span{display:block}.bk-villas{gap:12px;display:grid}.bk-villa{border:1px solid var(--rule);cursor:pointer;grid-template-columns:92px 1fr auto;align-items:center;gap:18px;padding:12px 18px 12px 12px;transition:border-color .4s,background .4s;display:grid;position:relative}.bk-villa input,.bk-addon input{opacity:0;pointer-events:none;position:absolute}.bk-villa:hover{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.bk-villa:has(input:checked){border-color:var(--ink);background:color-mix(in srgb, var(--champagne) 12%, transparent)}.bk-villa:has(input:focus-visible){outline:1.5px solid var(--champagne-3);outline-offset:3px}.bk-addon:has(input:focus-visible){outline:1.5px solid var(--champagne-3);outline-offset:3px}.bk-villa.is-disabled{opacity:.4;cursor:not-allowed}.bk-villa__img{aspect-ratio:1;display:block;overflow:hidden}.bk-villa__img img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out)}.bk-villa:hover .bk-villa__img img{transform:scale(1.08)}.bk-villa__text{gap:4px;display:grid}.bk-villa__name{font-family:var(--serif);font-size:1.35rem;line-height:1.1}.bk-villa__price{justify-items:end;gap:2px;display:grid}.bk-villa__price strong{font-family:var(--serif);font-size:1.3rem;font-weight:400}.bk-villa__check{border:1px solid var(--rule);width:12px;height:12px;transition:background .4s, border-color .4s, transform .5s var(--ease-out);border-radius:50%;position:absolute;top:10px;right:10px}.bk-villa:has(input:checked) .bk-villa__check{background:var(--ink);border-color:var(--ink);transform:scale(1.1)}.bk-addons{border-top:1px solid var(--rule);display:grid}.bk-addon{border-bottom:1px solid var(--rule);cursor:pointer;grid-template-columns:26px 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid;position:relative}.bk-addon__box{border:1px solid color-mix(in srgb, var(--ink) 35%, transparent);border-radius:50%;place-items:center;width:22px;height:22px;transition:background .4s,border-color .4s;display:grid}.bk-addon__box svg{width:14px;height:14px;color:var(--bone)}.bk-addon__box path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .5s var(--ease-out) 50ms}.bk-addon:has(input:checked) .bk-addon__box{background:var(--ink);border-color:var(--ink)}.bk-addon:has(input:checked) .bk-addon__box path{stroke-dashoffset:0}.bk-addon__name{font-family:var(--serif);font-size:1.3rem;line-height:1.15}.bk-addon__price{text-align:right;font-size:.86rem}.bk-summary{border-top:1px solid var(--rule);display:grid}.bk-summary>div{border-bottom:1px solid var(--rule);grid-template-columns:120px 1fr;gap:16px;padding:18px 0;display:grid}.bk-summary dd{font-family:var(--serif);font-size:1.15rem;line-height:1.35}.bk-summary dd .bk-muted{font-family:var(--sans);font-size:.84rem}.booking__foot{padding:18px clamp(22px, 3vw, 44px) max(20px, env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:color-mix(in srgb, var(--bone) 92%, var(--champagne));justify-content:space-between;align-items:center;gap:20px;display:flex}.booking__total{gap:2px;min-width:0;display:grid}.booking__amount{font-family:var(--serif);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;font-size:2.1rem;font-weight:400;line-height:1}.booking__total .small{font-size:.74rem}.booking__actions{flex-shrink:0;align-items:center;gap:22px;display:flex}.booking__next:disabled{opacity:.35;cursor:not-allowed}.booking__next.is-wa{--btn-fill:#1f5c3f;--btn-fill-fg:var(--bone)}.booking__next .btn__inner svg:first-child{flex-shrink:0}@media (max-width:600px){.booking__panel{width:100vw}.booking__foot{flex-wrap:wrap}.booking__actions{justify-content:space-between;width:100%}.bk-villa{grid-template-columns:72px 1fr}.bk-villa__price{grid-column:2;place-items:baseline start;gap:6px;display:flex}.bk-summary>div{grid-template-columns:1fr;gap:6px}}
