:root{--bg:#f3f6f1;--card:#fff;--ink:#14231b;--mute:#53645a;--tea:#1f4d36;--leaf:#4e8b4a;--sign:#e0501f;--line:#d9e3da;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:#0f1a14;--card:#16261d;--ink:#eaf2ec;--mute:#9db1a3;--tea:#8fd0a0;--leaf:#6fb77a;--line:#25382c}}
:root[data-theme="dark"]{--bg:#0f1a14;--card:#16261d;--ink:#eaf2ec;--mute:#9db1a3;--tea:#8fd0a0;--leaf:#6fb77a;--line:#25382c}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 "Nunito Sans",system-ui,sans-serif;padding-bottom:76px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
section{padding:64px 0}
h2{font-size:clamp(1.8rem,4.5vw,2.6rem);color:var(--tea);margin-bottom:12px}
.lead{color:var(--mute);max-width:60ch;margin:0 0 28px}
header{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;color:#fff;transition:background .3s}
header.on{background:rgba(15,26,20,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.logo{display:flex;align-items:center;gap:10px;font:700 1.15rem Fraunces,serif;text-decoration:none}.logo img{width:46px;height:46px;border-radius:50%;display:block;flex:0 0 auto}.flogo{width:56px;height:56px;border-radius:50%;flex:0 0 auto}
nav{display:none;gap:22px;font-weight:600;font-size:.95rem}
nav a{text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.wa{background:#1fa855;color:#fff}.call{background:var(--sign);color:#fff}.ghost{border-color:#fff;color:#fff}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:0}
.hero .bg{position:absolute;top:0;left:0;right:0;bottom:0;background:url(../images/hero.jpg) center 62%/cover;animation:zoom 22s ease-out forwards}
.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(10,22,15,.82),rgba(10,22,15,.1) 60%,rgba(10,22,15,.35));z-index:1}
.mist{position:absolute;left:-20%;right:-20%;top:18%;height:38%;z-index:1;background:radial-gradient(ellipse at 30% 50%,rgba(255,255,255,.55),transparent 60%),radial-gradient(ellipse at 75% 40%,rgba(255,255,255,.4),transparent 60%);filter:blur(24px);animation:drift 16s ease-in-out infinite alternate}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:84px}
.hero h1{font-size:clamp(2.3rem,8vw,4.6rem);max-width:15ch;animation:rise 1.2s .2s both}
.hero p{max-width:46ch;font-size:1.15rem;margin:14px 0 26px;animation:rise 1.2s .45s both}
.cta{display:flex;flex-wrap:wrap;gap:12px;animation:rise 1.2s .7s both}
.since{display:inline-block;margin-top:22px;font-size:.95rem;opacity:.9}
@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes drift{from{transform:translateX(-6%)}to{transform:translateX(6%)}}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.facs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.fac{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 14px;text-align:center;font-weight:600}
.fac b{display:block;font-size:1.7rem;margin-bottom:4px}
.strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.strip figure{flex:0 0 min(78%,300px);margin:0;scroll-snap-align:start}
.strip img{height:400px;width:100%;object-fit:cover;border-radius:16px}
figcaption{font-weight:600;margin-top:8px;color:var(--mute)}
.grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.grid img{width:100%;height:100%;min-height:200px;object-fit:cover;border-radius:16px}
.grid .wide{grid-column:1/-1;height:300px}
.rev,.loc{background:var(--tea);color:#fff;border-radius:22px;padding:34px 26px}
:root[data-theme="dark"] .rev,:root[data-theme="dark"] .loc{color:#0f1a14}
.rev h2,.loc h2{color:inherit}.rev p,.loc p{max-width:56ch;margin:0 0 20px}
.also{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.also a{padding:9px 16px;border:1px solid var(--line);background:var(--card);border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none}
footer{padding:36px 0;border-top:1px solid var(--line);color:var(--mute);font-size:.95rem}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(15,26,20,.94)}
.bar .btn{flex:1;justify-content:center;padding:12px 10px}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--sign);outline-offset:3px}
@media(min-width:760px){nav{display:flex}.strip{overflow:visible;flex-wrap:wrap}.strip figure{flex:1 1 22%}.grid{grid-template-columns:repeat(3,1fr)}.grid .wide{grid-column:span 2;height:auto}.grid .wide:last-child{grid-column:1/-1;height:340px}.rev,.loc{padding:48px}}
@media(min-width:1000px){body{padding-bottom:0}.bar{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
.rcs{display:grid;gap:16px}.rc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.rc .st{color:#f0a500;letter-spacing:2px;font-size:1.1rem}.rc h3{font-size:1.25rem;margin-top:4px}.rc small{color:var(--mute)}.rc p{margin:12px 0}.sc,.hl{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.sc span{font-weight:700;font-size:.85rem;color:var(--tea)}.hl span{font-size:.82rem;padding:4px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}.vw{width:100%;height:clamp(240px,45vw,460px);object-fit:cover;border-radius:18px}@media(min-width:760px){.rcs{grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:999px){.hero .cta .wa,.hero .cta .call{display:none}}@media(min-width:760px){.facs{grid-template-columns:repeat(4,1fr)}.hero h1{max-width:18ch}}.rooms{display:grid;gap:20px}.room{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gal img{flex:0 0 100%;height:300px;object-fit:cover;scroll-snap-align:start}.room .bd{padding:18px 20px 22px}.room h3{font-size:1.35rem}.rn{margin:6px 0 10px;color:var(--mute)}.tg{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tg span{font-size:.82rem;padding:4px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.bk{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px}.fg{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:16px}.fg label{display:grid;gap:6px;font-weight:700;font-size:.95rem}.fg input,.fg textarea,.fg select{width:100%;font:400 16px/1.4 "Nunito Sans",system-ui,sans-serif;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}.dr{display:flex;gap:8px}.dr input{flex:1;min-width:0}.cb{border:1px solid var(--tea);background:none;color:var(--tea);border-radius:12px;padding:0 12px;font-weight:700;font-size:.85rem;cursor:pointer}.sp{display:flex;gap:8px;align-items:center}.sp input{text-align:center}.sp button{flex:0 0 46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:1.3rem;cursor:pointer}.tm{margin:0;color:var(--mute)}.tm strong{color:var(--tea);margin-left:10px}.er{color:#c0392b;font-weight:700;min-height:1.2em;margin:0 0 10px}
@media(min-width:760px){.rooms{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}.fg .full{grid-column:1/-1}.bk{padding:34px}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,select,textarea{font-family:inherit}.fg input,.fg textarea{-webkit-appearance:none;appearance:none;min-height:48px}.fg textarea{min-height:0}.fg input[type=date]{min-height:48px;display:block;line-height:1.2}.hero .cta .btn{white-space:nowrap}