:root{--rock:#c4512b;--rock-d:#973a1c;--ink:#1f1a17;--sky:#eef4f6;--palm:#2f6f57;--line:#d8dfe2;--r:16px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;padding-bottom:84px}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em}
:focus-visible{outline:3px solid var(--palm);outline-offset:2px}

.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;padding-top:max(10px,env(safe-area-inset-top));background:rgba(255,255,255,.88);backdrop-filter:blur(10px)}
.logo{font-weight:800;color:var(--ink);text-decoration:none}
.pill{background:var(--rock);color:#fff;text-decoration:none;font-weight:700;padding:7px 18px;border-radius:99px}

.hero{position:relative;overflow:hidden;min-height:92vh;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(#f3c79a,#e98a55 55%,#c4512b)}
.cliffs i{position:absolute;bottom:0;background:#6d2a14}
.cliffs i:nth-child(1){left:0;width:46%;height:78%;clip-path:polygon(0 0,70% 8%,100% 100%,0 100%);background:#7a3018}
.cliffs i:nth-child(2){right:0;width:50%;height:88%;clip-path:polygon(35% 0,100% 0,100% 100%,0 100%);background:#5e230f}
.cliffs i:nth-child(3){left:0;right:0;height:26%;background:linear-gradient(transparent,#2a0f06)}
.hero-in{position:relative;padding:0 22px 48px;max-width:640px}
.hero h1{font-size:clamp(2.4rem,9vw,4rem);font-weight:800;margin-bottom:14px}
.hero p{font-size:1.1rem;margin-bottom:24px;max-width:30ch}

.actions{display:flex;flex-wrap:wrap;gap:10px}
.actions.c{justify-content:center}
.btn{display:inline-flex;justify-content:center;padding:14px 26px;min-height:48px;border-radius:99px;border:2px solid #fff;background:#fff;color:var(--rock-d);font:700 1rem inherit;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:#fff}
.sec .btn{background:var(--rock);border-color:var(--rock);color:#fff}
.sec .btn.ghost{background:transparent;color:var(--rock)}
.btn.wide{width:100%}

.sec{padding:56px 20px;max-width:720px;margin:auto}
.tint{max-width:none;background:var(--sky)}
.tint>*{max-width:680px;margin-left:auto;margin-right:auto}
.sec h2{font-size:2rem;margin-bottom:10px}
.lead{color:#514944;margin-bottom:26px;max-width:52ch}
#contact{text-align:center}#contact .lead{margin-inline:auto}

.facts{list-style:none;padding:0;display:grid;gap:12px}
.facts li{display:flex;flex-direction:column;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r)}
.facts span{color:#514944;font-size:.95rem}

.rooms{display:grid;gap:12px}
.room{background:#fff;border-radius:var(--r);padding:20px;border-left:6px solid var(--rock)}
.room p{color:#514944}

form{display:grid;gap:16px}
fieldset{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
legend{font-weight:700;margin-bottom:8px}
.choice input{position:absolute;opacity:0}
.choice span{display:flex;justify-content:center;padding:14px 8px;border:2px solid var(--line);border-radius:var(--r);font-weight:600;cursor:pointer;text-align:center}
.choice input:checked+span{border-color:var(--rock);background:#fbeee8;color:var(--rock-d)}
.choice input:focus-visible+span{outline:3px solid var(--palm);outline-offset:2px}
label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
input[type=text],input[type=date],textarea{font:inherit;padding:13px;border:2px solid var(--line);border-radius:12px;background:#fff;width:100%}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stepper{display:flex;align-items:center;gap:14px;font-weight:600}
.stepper span{flex:1}
.stepper button{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:#fff;font-size:1.4rem;cursor:pointer}
.stepper output{min-width:1.5em;text-align:center;font-size:1.2rem;font-weight:700}
.summary{padding:14px;border-radius:12px;background:var(--sky);font-weight:600}
.summary.ok{background:#e3f2ea;color:var(--palm)}
.summary.err{background:#fde8e8;color:#a3141f}

details{background:#fff;border-radius:12px;margin-bottom:10px;padding:0 18px}
summary{padding:16px 0;font-weight:700;cursor:pointer}
details p{padding-bottom:16px;color:#514944}

footer{text-align:center;padding:24px;color:#6b625c;font-size:.85rem}

.dock{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:20;display:flex;gap:8px;padding:8px;background:var(--ink);border-radius:99px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.dock a{flex:1;text-align:center;padding:12px 6px;color:#fff;text-decoration:none;font-weight:600;border-radius:99px}
.dock .main{background:var(--rock);flex:1.4}

@media(min-width:760px){
  .facts,.rooms{grid-template-columns:repeat(3,1fr)}
  .rooms{grid-template-columns:1fr 1fr}
  .dock{left:50%;right:auto;transform:translateX(-50%);width:380px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- v3: illustrated valley, tea, day tabs ---- */
.hero{--s1:#5b3a7a;--s2:#f08a4b;--sun-c:#ffd27a;--c1:#4a1c0c;--c2:#7a3018;--c3:#b25a33;--river:#7fb7c4;--palm:#2f6f57;background:var(--s1);transition:background .6s}
.hero[data-time=morning]{--s1:#9cd0e8;--s2:#ffe3b8;--sun-c:#fff2c4;--c1:#8a3f22;--c2:#b4562f;--c3:#d98a5f}
.hero[data-time=noon]{--s1:#3d97d6;--s2:#bfe3f5;--sun-c:#fffbe6;--c1:#9a4a28;--c2:#c4653a;--c3:#e0a07a}
.hero[data-time=night]{--s1:#0b1330;--s2:#2c2a55;--sun-c:#e8ecff;--c1:#120a10;--c2:#23121a;--c3:#3a2230;--river:#3b5a7a;--palm:#14352a}
.scene{position:absolute;inset:0;width:100%;height:100%}
.scene stop{transition:stop-color .6s}
.scene path,.scene circle.sun{transition:fill .6s}
.sun{fill:var(--sun-c)}
.hero[data-time=night] .sun{filter:drop-shadow(0 0 10px #fff)}
.stars{opacity:0;transition:opacity .6s}
.hero[data-time=night] .stars{opacity:1;animation:tw 3s ease-in-out infinite alternate}
@keyframes tw{to{opacity:.4}}
.layer{transition:transform .1s linear}
.cliffs{display:none}
.hero-in{z-index:1;padding-bottom:40px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.times{display:flex;gap:6px;margin-top:22px;flex-wrap:wrap}
.times button{padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.25);color:#fff;font:600 .9rem inherit;cursor:pointer}
.times button.on{background:#fff;color:var(--ink);text-shadow:none}

.zellige{height:28px;background:
 conic-gradient(from 45deg at 50% 50%,var(--rock) 0 25%,#f4dfc8 0 50%,var(--palm) 0 75%,#f4dfc8 0) 0 0/28px 28px}

.tea{text-align:center}.tea .lead{margin-inline:auto}
.pour{background:none;border:0;cursor:pointer;width:min(260px,70%)}
.pour svg{width:100%;overflow:visible}
#pot{transform-origin:55px 120px;transition:transform .5s}
.pour.go #pot{transform:rotate(22deg)}
#tea,#stream{transition:all 2.2s ease}
.welcome{margin-top:10px;font-size:1.3rem;font-weight:700;color:var(--palm);min-height:1.6em}

.tabs{display:flex;gap:8px;margin-bottom:16px}
.tabs button{flex:1;padding:12px 6px;border-radius:12px;border:2px solid var(--line);background:#fff;font:700 .95rem inherit;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--rock);border-color:var(--rock);color:#fff}
.panel{background:#fff;border-radius:var(--r);padding:22px;border-left:6px solid var(--palm)}
.panel h3{margin-bottom:8px;font-size:1.3rem}
.panel p{color:#514944;margin-bottom:14px}
.panel a{color:var(--rock-d);font-weight:700}
