
:root{--cream:#f7f1e6;--paper:#fffdf8;--green:#244b3c;--dark:#17382d;--terra:#b65f45;--ink:#24302b;--muted:#68736d;--line:#ded6c8}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Arial,sans-serif}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.1}h1{font-size:clamp(3rem,7vw,6rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}a{color:inherit}.head{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:#fffdf8ee;backdrop-filter:blur(10px);border-bottom:1px solid #ddd}.brand{text-decoration:none;color:var(--green);font:25px Georgia}.brand small{display:block;font:9px Arial;letter-spacing:.2em}.nav{display:flex;gap:18px;align-items:center}.nav a{text-decoration:none;font-size:14px}.btn{display:inline-block;background:var(--terra);color:white!important;text-decoration:none;border:0;border-radius:6px;padding:12px 18px;font-weight:700;cursor:pointer}.hero{min-height:76vh;background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:white;padding:40px;position:relative}.hero:before{content:"";position:absolute;inset:0;background:#0006}.hero>div{position:relative;max-width:850px}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase}.section{max-width:1200px;margin:auto;padding:72px 7vw}.paper{background:var(--paper);max-width:none}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.facts{max-width:950px;margin:-35px auto 0;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 5vw}.fact,.card{background:var(--paper);padding:22px;border-radius:11px;box-shadow:0 8px 28px #00000012}.fact{text-align:center}.fact b{font:30px Georgia;color:var(--green)}.feature{width:100%;height:450px;object-fit:cover;border-radius:12px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{width:100%;height:270px;object-fit:cover;border-radius:8px}.mini{background:var(--green);color:white;text-align:center;padding:80px 7vw 60px}.room{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0}.room img{width:100%;height:400px;object-fit:cover;border-radius:10px}.note{background:#efe5d4;border-left:4px solid #b89054;padding:15px;border-radius:5px}.book{max-width:900px;margin:auto;background:white;padding:28px;border-radius:12px;box-shadow:0 10px 35px #0001}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}input,select,textarea{width:100%;padding:12px;border:1px solid #bbb;border-radius:6px;margin-top:4px}.step{display:none}.step.active{display:block}.summary{background:#f2eadc;padding:16px;border-radius:7px;margin:15px 0}.faq details{background:white;padding:16px;border-radius:7px;margin:10px 0}video{width:100%;border-radius:10px}footer{background:var(--dark);color:white;padding:40px 7vw;text-align:center}.banner{min-height:320px;background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:white;position:relative}.banner:before{content:"";position:absolute;inset:0;background:#17382d99}.banner>div{position:relative}
@media(max-width:800px){.nav{display:none}.grid2,.grid3,.facts,.fields,.room{grid-template-columns:1fr}.facts{margin:0;padding-top:15px}.gallery{grid-template-columns:1fr 1fr}.feature,.room img{height:320px}}

.quote-row{display:flex;justify-content:space-between;gap:20px;padding:5px 0;align-items:flex-start}.quote-title{font-weight:700;font-size:1.05rem;margin-bottom:12px}.quote-rule{border-top:1px solid var(--line);margin:10px 0}.quote-total{font-size:1.12rem}.quote-warning{margin-top:15px;padding:13px;border-radius:6px;background:#fff3d6;border-left:4px solid #b89054}@media(max-width:520px){.quote-row{gap:10px}.quote-row b{text-align:right}}

.availability-ok{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 14px;margin-bottom:16px;border:1px solid #cfd9cf;background:#f4f8f2;border-radius:6px}.availability-ok span{font-size:.86rem;opacity:.75}.quote-row{display:flex;justify-content:space-between;gap:20px;padding:5px 0;align-items:flex-start}.quote-title{font-weight:700;font-size:1.05rem;margin-bottom:12px}.quote-rule{border-top:1px solid var(--line);margin:10px 0}.quote-total{font-size:1.12rem}button:disabled{opacity:.6;cursor:wait}@media(max-width:520px){.quote-row{gap:10px}.quote-row b{text-align:right}}
