:root{--bg:#f4efe7;--surface:#ffffff;--ink:#2a2521;--muted:#8c8174;--accent:#b0894f;--accent-ink:#6d5328;--accent-soft:#f0e7d8;--line:rgba(42,37,33,.09);--shadow:0 8px 28px rgba(42,33,20,.1);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter","Segoe UI",system-ui,sans-serif;--radius:20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{margin:0;background:#e7ded2;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:0 0 60px #0000000f}.scroll{padding-bottom:96px;animation:fade .5s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.serif{font-family:var(--serif)}.muted{color:var(--muted)}.small{font-size:13px}.mb{margin-bottom:8px}.pt{padding-top:24px}.pad{height:20px}.flex1{flex:1}.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:#f4efe7db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.4px}.back{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink);background:none;border:none;cursor:pointer;font-family:var(--sans);padding:4px 0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang{position:relative}.lang-btn{display:flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;letter-spacing:.5px}.lang-btn .caret{font-size:10px;color:var(--muted)}.lang-menu{position:absolute;right:0;top:42px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;z-index:50;min-width:160px}.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:12px 16px;font-size:14px;font-family:var(--sans);color:var(--ink);cursor:pointer}.lang-menu button:hover{background:var(--accent-soft)}.lang-menu button.on{color:var(--accent-ink);font-weight:600}.lang-menu .flag{font-size:12px;font-weight:700;color:var(--accent);width:24px}.hero{position:relative;height:300px;background-size:cover;background-position:center}.hero.lg{height:380px}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000014,#0000 34%,#0000009e)}.hero-cap{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff}.hero-cap h1{font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.04;margin:0 0 6px;text-shadow:0 2px 18px rgba(0,0,0,.35)}.hero-cap p{margin:0;font-size:15.5px;opacity:.96}.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;opacity:.9;margin-bottom:10px;font-weight:600}.sec{padding:26px 20px 8px}.sec h2{font-family:var(--serif);font-weight:500;font-size:27px;margin:0 0 2px;letter-spacing:.2px}.sec h2.sm{font-size:21px}.sec .lead{font-size:13px;color:var(--muted);margin:0}.sec-group{padding-top:6px}.sec-group-h{font-family:var(--serif);font-weight:500;font-size:19px;margin:18px 20px 0;letter-spacing:.2px;color:var(--accent-ink)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}.tile{position:relative;background:var(--surface);border-radius:var(--radius);overflow:hidden;cursor:pointer;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.tile:active{transform:translateY(1px) scale(.99)}.tile .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--accent-soft)}.tile .ph img,.tile .bg{width:100%;height:100%;object-fit:cover;display:block;color:transparent;transition:transform .5s ease}.tile:active .ph img{transform:scale(1.04)}.tile .cap{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px;flex:1}.tile .cap .t{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.16;color:var(--ink)}.tile .cap .s{font-size:12.5px;color:var(--muted);line-height:1.3}.tile .cap .price{font-size:12.5px;color:var(--accent-ink);font-weight:600}.tile .sub{position:absolute;left:10px;top:10px;z-index:2;font-size:11px;font-weight:600;color:#fff;background:#00000073;border-radius:30px;padding:4px 11px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tile .tile-ico{position:absolute;right:10px;top:10px;z-index:2;font-size:20px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}.tile.big{grid-column:1 / -1}.tile.big .ph{aspect-ratio:21/9}.tile.big .cap .t{font-size:21px}.slider{display:flex;gap:13px;overflow-x:auto;padding:10px 20px 14px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}.slider:active{cursor:grabbing}.slider::-webkit-scrollbar{display:none}.slider .tile{flex:0 0 60%;max-width:230px;scroll-snap-align:start}.slider .tile.occ{flex:0 0 52%;max-width:190px}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.sec-action{flex:0 0 auto;background:none;border:none;color:var(--accent-ink);font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;padding:0 0 2px}.detail-children{margin:8px 0 6px}.child-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 6px}.child-group+.child-group{margin-top:14px}.child-group .dates-h{margin-top:12px}.dates-h{font-family:var(--serif);font-size:18px;font-weight:600;margin:18px 0 8px}.sched.info{cursor:default;background:var(--surface)}.agenda-day{margin:0 0 20px}.agenda-h{font-family:var(--serif);font-size:21px;font-weight:600;margin:20px 0 6px;color:var(--accent-ink);text-transform:capitalize}.agenda-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--line);padding:12px 2px;cursor:pointer;font-family:var(--sans)}.agenda-row:active{background:var(--accent-soft)}.agenda-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:var(--accent-soft)}.agenda-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.agenda-time{font-weight:700;color:var(--accent-ink);font-size:12.5px;font-variant-numeric:tabular-nums;letter-spacing:.3px}.agenda-title{font-family:var(--serif);font-size:17px;color:var(--ink);font-weight:600;line-height:1.16}.agenda-loc{font-size:12.5px;color:var(--muted)}.agenda-cta{flex:0 0 auto;color:var(--accent);font-size:20px;line-height:1.1}.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 20px 12px}.navcard{position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:3/2;border:1px solid var(--line);box-shadow:var(--shadow)}.navcard.wide{grid-column:1 / -1;aspect-ratio:5/2}.navcard img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.navcard:active img{transform:scale(1.04)}.navcard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000000d 28%,#00000094)}.navcard .nl{position:absolute;left:15px;right:15px;bottom:13px;z-index:2;color:#fff;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.1;text-shadow:0 1px 12px rgba(0,0,0,.45)}.reception{margin:18px 20px 4px;display:flex;align-items:center;gap:14px;background:var(--accent);color:#fff;border-radius:var(--radius);padding:16px 18px;cursor:pointer;box-shadow:0 8px 22px #b0894f57;width:calc(100% - 40px)}.reception:active{transform:translateY(1px)}.reception .ric{font-size:24px;flex:0 0 auto;line-height:1}.reception .rt{flex:1;min-width:0}.reception .rt b{font-family:var(--serif);font-size:18px;font-weight:600;display:block;line-height:1.2}.reception .rt span{font-size:12.5px;opacity:.94;line-height:1.3}.reception .rarr{font-size:22px;opacity:.9;flex:0 0 auto}.quote{margin:30px 24px 8px;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}.quote-mark{font-family:var(--serif);font-size:66px;line-height:.5;color:var(--accent);opacity:.45;margin-bottom:10px;height:34px}.quote-text{font-family:var(--serif);font-style:italic;font-weight:500;font-size:23px;line-height:1.5;color:var(--accent-ink);margin:0;max-width:360px}.info-list{padding:6px 20px 12px;display:flex;flex-direction:column}.info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--line);padding:15px 2px;cursor:pointer;font-family:var(--sans)}.info-row:first-child{border-top:none}.info-row:active{background:var(--accent-soft)}.info-row .it{font-size:15.5px;color:var(--ink);font-weight:500}.info-row .iarr{color:var(--accent);font-size:17px;flex:0 0 auto}.book-badge{flex:0 0 auto;font-size:12px;font-weight:600;color:#5d6b46;background:#eef0e4;border-radius:30px;padding:4px 11px}.book-badge.wait{color:#8a6d2f;background:#f6ecd6}.empty-hint{font-size:13.5px;color:var(--muted);padding:6px 22px 12px;margin:0;line-height:1.5}.stay{margin:16px 20px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stay.in{background:linear-gradient(135deg,#f1e6d6,#f6efe3);border-color:#e7d6bf}.stay h3{font-family:var(--serif);font-weight:600;font-size:21px;margin:0 0 4px}input,textarea{width:100%;font-family:var(--sans);font-size:15px;padding:13px;margin:6px 0;border:1px solid var(--line);border-radius:12px;background:#fbf9f5;color:var(--ink)}input:focus,textarea:focus{outline:none;border-color:var(--accent);background:#fff}.link-btn{background:none;border:none;color:var(--accent-ink);font-size:13px;cursor:pointer;padding:8px 0 0;font-family:var(--sans);text-decoration:underline}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-family:var(--sans);font-size:15px;font-weight:600;padding:15px 16px;border-radius:14px;border:none;background:var(--accent);color:#fff;cursor:pointer;margin-top:8px;box-shadow:0 6px 18px #b0894f52;transition:transform .15s,filter .15s}.btn:active{transform:translateY(1px);filter:brightness(.97)}.btn.ghost{background:transparent;color:var(--accent-ink);border:1.5px solid var(--accent);box-shadow:none}.btn.done{background:#7e8a64;box-shadow:none}.btn:disabled{opacity:.55}.row-2{display:flex;gap:10px;margin-top:8px}.row-2 .btn{margin-top:0}.appt{margin:10px 0 2px}.appt-label{display:block;font-size:13px;color:var(--muted);margin-bottom:2px}.appt .row-2{margin-top:2px}.appt .row-2 input{margin:0}.ff{margin:10px 0}.ff-label{display:block;font-size:13px;color:var(--muted);margin-bottom:2px}.ff-section{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ff-section-h{font-family:var(--serif);font-size:16px;margin:0 0 6px;color:var(--accent-ink)}.ff-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.ff-row:last-child{border-bottom:0}.ff-row-label{font-size:14.5px;color:var(--ink)}.ff-row-input{flex:0 0 84px}.ff-row-input input{margin:0;text-align:center}.chk{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink)}.chk input{width:auto;margin:0}.detail-body{padding:22px 20px}.detail-body.pt{padding-top:26px}.tagline{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.32;margin:0 0 14px;color:var(--accent-ink)}.lg-title{font-size:27px;margin:0 0 4px}.detail-body p,.md-body{font-size:15.5px;line-height:1.75;color:#46403a;margin:0 0 16px}.md-body p{font-size:15.5px;line-height:1.75;color:#46403a;margin:0 0 14px}.md-body p:last-child{margin-bottom:0}.md-body h2{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--accent-ink);margin:18px 0 8px}.md-body h3{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--accent-ink);margin:14px 0 6px}.md-body strong{font-weight:600;color:var(--accent-ink)}.md-body em{font-style:italic}.md-body a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.md-body ul,.md-body ol{padding-left:20px;margin:0 0 14px}.md-body ul{list-style:disc}.md-body ol{list-style:decimal}.md-body li{margin:3px 0;line-height:1.7}.md-body blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);padding:8px 14px;margin:0 0 14px;border-radius:0 8px 8px 0;font-style:italic}.md-body hr{border:0;border-top:1px solid var(--line);margin:18px 0}.md-body table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:14px}.md-body th,.md-body td{border:1px solid var(--line);padding:6px 10px;text-align:left}.md-body th{background:var(--accent-soft);font-weight:600}.meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px;font-size:13.5px;color:var(--muted)}.meta-row span{position:relative}.meta-row span:not(:last-child):after{content:"·";position:absolute;right:-10px;color:var(--line)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.chip-detail{font-size:12.5px;background:var(--accent-soft);color:var(--accent-ink);border-radius:30px;padding:6px 13px}.chip-detail b{font-weight:700;margin-right:3px;text-transform:capitalize}.gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;margin:4px 0 20px;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery img{height:120px;border-radius:14px;flex:0 0 auto;object-fit:cover}.sched-list{display:flex;flex-direction:column;gap:9px;margin-top:6px}.sched{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:15px;cursor:pointer;font-family:var(--sans);color:var(--ink);text-align:left;box-shadow:0 2px 10px #2a21140d}.sched:active{background:var(--accent-soft)}.sched-cta{color:var(--accent-ink);font-weight:600;font-size:13.5px;white-space:nowrap}.reg-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:8px;box-shadow:var(--shadow)}.reg-form h3{font-family:var(--serif);font-size:18px;margin:0 0 6px}.persons-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin-top:4px}.persons-row input{width:84px;margin:0}.links{display:flex;flex-direction:column;gap:2px;margin-top:14px}.link-row{padding:12px 2px;border-bottom:1px solid var(--line);font-size:15px;color:var(--accent-ink);font-weight:500}.actbar{display:flex;gap:10px;align-items:center;margin-top:18px}.iconbtn{width:52px;height:52px;flex:0 0 auto;border-radius:14px;border:1px solid var(--line);background:var(--surface);font-size:21px;cursor:pointer;color:var(--ink)}.iconbtn.on{color:#b5485f;border-color:#e7c4cc;background:#fdf2f4}.center{padding:64px 22px;text-align:center}.center .big{font-size:52px;color:#7e8a64;margin-bottom:6px}.center h2{font-size:30px;margin:0 0 10px}.center .muted{font-size:15px;line-height:1.6;max-width:300px;margin:0 auto 22px}.note{font-size:12.5px;color:var(--muted);text-align:center;padding:18px}.footer-brand{font-family:var(--serif);font-size:14px;color:var(--muted);text-align:center;padding:28px 18px;letter-spacing:.3px}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.nav button{flex:1;background:none;border:none;padding:10px 0 12px;color:var(--muted);font-size:10.5px;font-family:var(--sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:color .15s}.nav .ni{font-size:19px}.nav button.on{color:var(--accent-ink)}.fab{position:fixed;bottom:84px;right:calc(50% - 222px);width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 8px 24px #b0894f73;z-index:41}@media(max-width:520px){.fab{right:18px}}.fab:active{transform:translateY(1px)}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);width:fit-content;max-width:86%;background:#2a2521;color:#fff;font-size:13.5px;padding:12px 18px;border-radius:30px;z-index:60;text-align:center;box-shadow:0 8px 24px #00000040}
