:root{--bg:#e8eae8;--ink:#2b2824;--mute:#6b5f4e;--line:#c9cdc9;--sw1:#c8cac8;--sw2:#cbc1ba;--sw3:#72694f;--card:#f3f4f2;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1f1e1b;--ink:#ece8e1;--mute:#b3a78f;--line:#3a3833;--card:#292723}}
:root[data-theme="dark"]{--bg:#1f1e1b;--ink:#ece8e1;--mute:#b3a78f;--line:#3a3833;--card:#292723}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.75 Lora,Georgia,serif}
h1,h2,h3,.disp{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;line-height:1}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;gap:26px;padding:16px 5vw;background:var(--bg);overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line);font-size:14px}
nav a{color:var(--mute);text-decoration:none}nav a:hover,nav a:focus-visible{color:var(--ink);outline:none;text-decoration:underline;text-underline-offset:5px}
nav b{font:500 22px "Cormorant Garamond",serif;margin-right:auto;color:var(--ink)}
.hero{min-height:88vh;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:5vw;padding:6vh 5vw}
.hero em{font:italic 400 clamp(28px,3.4vw,46px)/1 "Cormorant Garamond",serif;color:var(--mute);display:block;margin-bottom:10px}
.hero h1{font-size:clamp(64px,10vw,150px);letter-spacing:-.01em;text-transform:uppercase;font-weight:300}
.hero p{margin-top:28px;color:var(--mute);max-width:34ch}
.hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;animation:rise 1.1s ease both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.hero img{animation:none}html{scroll-behavior:auto}}
.wrap{padding:0 5vw}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:12vh 5vw;border-top:1px solid var(--line)}
.intro h2{font-size:clamp(40px,5vw,72px)}
.intro p+p{margin-top:1em}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin-top:34px;font-size:15px}
.facts dt{color:var(--mute)}.facts dd{margin:0}
.pal{display:flex;gap:10px;margin-top:34px}.pal i{width:64px;height:64px;display:block}
.mood{padding:0 5vw 12vh}.mood img{width:100%;max-height:86vh;object-fit:cover;display:block}
.room{display:grid;grid-template-columns:90px 1fr;gap:3vw;padding:11vh 5vw;border-top:1px solid var(--line)}
.room h2{writing-mode:vertical-rl;font-size:clamp(40px,5vw,70px);letter-spacing:.04em;text-transform:uppercase;font-weight:300;align-self:start;position:sticky;top:90px;height:fit-content}
.lead{max-width:56ch;margin-bottom:34px}
.cap{font-size:13.5px;color:var(--mute);margin:0 0 10px}
.g{display:grid;gap:18px;margin-bottom:26px}
.g.c2{grid-template-columns:repeat(2,1fr)}.g.c3{grid-template-columns:repeat(3,1fr)}
.g.sb{grid-template-columns:1fr 1.5fr}
.g button{border:0;padding:0;background:var(--card);cursor:zoom-in;display:block;overflow:hidden}
.g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.g button:hover img{transform:scale(1.03)}
.g button:focus-visible{outline:2px solid var(--mute);outline-offset:3px}
.g.c3 button{aspect-ratio:3/4}.g.c2 button{aspect-ratio:4/5}.g.sb button{aspect-ratio:auto}
.g.c2.w button{aspect-ratio:4/3}
.plans{padding:11vh 5vw;border-top:1px solid var(--line)}
.plans h2{font-size:clamp(40px,5vw,72px);margin-bottom:12px}
.plans button{border:0;background:var(--card);padding:2vw;margin-top:30px;width:100%;cursor:zoom-in}
.plans img{width:100%;display:block}
footer{padding:12vh 5vw 8vh;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--mute);font-size:15px}
footer .disp{font-size:44px;color:var(--ink)}
#lb{position:fixed;inset:0;background:rgba(20,19,17,.94);display:none;align-items:center;justify-content:center;z-index:20;padding:4vw}
#lb.on{display:flex}#lb img{max-width:100%;max-height:100%;object-fit:contain}
#lb button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:18px;background:none;border:1px solid #888;color:#eee;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer}
@media(max-width:800px){.hero,.intro{grid-template-columns:1fr}.hero{min-height:auto}
.room{grid-template-columns:1fr;padding:8vh 5vw}.room h2{writing-mode:horizontal-tb;position:static}
.g.c3,.g.sb{grid-template-columns:1fr 1fr}.g.c3 button:first-child{grid-column:span 2;aspect-ratio:4/3}.g.sb button:first-child{grid-column:span 2}}
