
@font-face{font-family:Outfit;src:url('/fonts/Outfit.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument;src:url('/fonts/InstrumentSerif-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('/fonts/InstrumentSerif-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--sand:oklch(0.95 0.02 85);--clay:oklch(0.55 0.08 55);--soil:oklch(0.28 0.03 55);--leaf:oklch(0.45 0.1 145);--mute:oklch(0.48 0.02 70);--faint:oklch(0.62 0.02 70);--line:oklch(0.28 0.03 55 / .12);--font-display:Instrument,Georgia,serif;--font-body:Outfit,system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--pad:clamp(1.1rem,3.5vw,3rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html.mn-lock,html.mn-lock body{overflow:hidden}
body{margin:0;background:var(--sand);color:var(--soil);font:400 18px/1.55 var(--font-body);letter-spacing:-.01em}
img{max-width:100%;display:block;height:auto}a{color:inherit}button{font:inherit;background:0;border:0;color:inherit;cursor:pointer}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--leaf);color:#fff;padding:.5rem .8rem}
.wrap{width:min(1200px,100% - 2*var(--pad));margin-inline:auto}
.k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--leaf)}
h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.03em;line-height:.94;margin:0}
h1{font-size:clamp(3rem,8vw,5.8rem)}h2{font-size:clamp(2.1rem,4.6vw,3.3rem)}h3{margin:0;font-size:1.15rem;letter-spacing:-.02em}
p{margin:0;color:var(--mute)}
.site-h{position:sticky;top:0;z-index:30;background:oklch(0.95 0.02 85 / .9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px;padding-inline:var(--pad)}
.brand img{height:72px;width:auto}.nav-d{display:none;gap:1.4rem;align-items:center}.nav-d a{text-decoration:none;font-weight:550;color:var(--mute)}
.cta{display:inline-flex;align-items:center;min-height:44px;padding:0 1.15rem;background:#F7F1E6;color:#2A2118;border:1.5px solid #2A2118;text-decoration:none;border-radius:999px;font-weight:700;font-size:.95rem}
.mn-btn{width:48px;height:48px;border:1px solid var(--line);border-radius:14px;display:inline-grid;place-items:center;position:relative}
.mn-btn i,.mn-btn i::before,.mn-btn i::after{display:block;width:18px;height:2px;background:currentColor;position:relative;transition:transform 300ms var(--ease)}
.mn-btn i::before,.mn-btn i::after{content:"";position:absolute;left:0}.mn-btn i::before{top:-6px}.mn-btn i::after{top:6px}
.mn-btn[aria-expanded="true"] i{background:transparent}.mn-btn[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}.mn-btn[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}
#mn{position:fixed;inset:0;z-index:40;background:oklch(0.95 0.02 85);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top)+5.5rem) var(--pad) 2rem;opacity:0;pointer-events:none;transform:translateY(-3%);transition:opacity 300ms var(--ease),transform 300ms var(--ease)}
#mn.open{opacity:1;transform:none;pointer-events:auto}#mn nav{display:flex;flex-direction:column;margin-bottom:auto}
#mn a{display:block;min-height:56px;padding:.8rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--font-display);font-size:clamp(2rem,7vw,2.8rem);opacity:0;transform:translateY(12px)}
#mn.open a{opacity:1;transform:none;transition:opacity 400ms var(--ease),transform 400ms var(--ease);transition-delay:calc(var(--i)*60ms)}
#mn .foot{display:grid;gap:.75rem;padding-top:1.4rem}
@media(min-width:900px){.mn-btn{display:none}.nav-d{display:flex}}
.hero{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,4rem)}
.hero-frame{display:grid;gap:1rem}
@media(min-width:980px){.hero-frame{grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:1.1rem}.hero-copy{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:flex-start;gap:1.35rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:22px;background:#fff}.hero-a{grid-column:2;grid-row:1}.hero-b{grid-column:2;grid-row:2}}
.hero h1 i{font-style:italic}.hero-copy .top{display:grid;gap:.85rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.35rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.2rem;border-radius:999px;text-decoration:none;font-weight:700}
.btn-p{background:var(--leaf);color:#fff}.btn-g{border:1px solid var(--line);background:transparent}
.hero figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.hero img{width:100%;aspect-ratio:5/4;object-fit:cover}
.rooms{padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
.room-grid{display:grid;gap:1rem;margin-top:1.75rem}
@media(min-width:760px){.room-grid{grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto}.room-grid .wide{grid-column:1;grid-row:1/3}}
.room{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;position:relative}
.room img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;min-height:220px}
.room.wide img{aspect-ratio:3/4;min-height:100%}
.room figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.1rem;background:linear-gradient(transparent,oklch(0.22 0.03 55 / .75));color:#fff;font-weight:650;letter-spacing:-.01em}
.services{padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
.svc{display:grid;gap:.9rem;margin-top:1.5rem}@media(min-width:800px){.svc{grid-template-columns:repeat(3,1fr)}}
.svc article{padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:.5rem}
.contact{padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
.box{display:grid;gap:1.2rem;padding:clamp(1.4rem,4vw,2.4rem);border-radius:22px;border:1px solid var(--line);background:#fff}
@media(min-width:800px){.box{grid-template-columns:1.25fr .75fr;align-items:end}}
.box a.phone{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.8rem);text-decoration:none;color:var(--leaf)}
.site-f{border-top:1px solid var(--line);padding:2rem var(--pad);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:var(--faint);font-size:.9rem}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}#mn,#mn a,.mn-btn i,.mn-btn i::before,.mn-btn i::after{transition:none!important}}

.pv{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#DD3800;color:#fff;font:700 14px/1.3 var(--font-body);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 30px -18px oklch(0.35 0.05 40 / .55)}
.pv-wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px clamp(16px,4vw,48px);max-width:1440px;margin:0 auto}
.pv b{font-weight:700;color:#fff}
.pv-claim{flex:none;display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:0 1.1em;border-radius:6px;background:#FBF7F2;color:#0B1E27;text-decoration:none;font-weight:700;transition:background .2s cubic-bezier(.16,1,.3,1)}
@media(hover:hover){.pv-claim:hover{background:#fff}}
.pv-claim:focus-visible{outline:2px solid #fff;outline-offset:3px}
body:has(.pv){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
@media(max-width:560px){.pv-wrap{flex-direction:column;align-items:stretch;padding-top:10px;padding-bottom:10px}.pv-claim{justify-content:center}}
@media(prefers-reduced-motion:reduce){.pv,.pv-claim{transition:none!important}}
