*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#18202a;background:#f4f0e8;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}.hero{min-height:92vh;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.heroShade{background:linear-gradient(90deg,#090e14c2,#090e1461,#090e1414);position:absolute;inset:0}.heroContent{color:#fff;flex-direction:column;justify-content:flex-end;max-width:1180px;min-height:92vh;margin:0 auto;padding:112px 22px 56px;display:flex;position:relative}.eyebrow{color:#ffffffc7;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.eyebrow.dark{color:#8c5b23}h1,h2,h3,p{letter-spacing:0}h1{max-width:900px;margin:16px 0 0;font-size:clamp(2.4rem,6vw,5.8rem);line-height:1.03}h2{margin:10px 0 0;font-size:clamp(1.8rem,3.5vw,3.1rem);line-height:1.08}.lead{color:#ffffffe0;max-width:760px;margin:22px 0 0;font-size:1.08rem;line-height:1.65}.heroActions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.primaryLink,.primaryButton,.ghostButton{cursor:pointer;border:0;border-radius:7px;padding:13px 17px;font-weight:700;text-decoration:none}.primaryLink,.primaryButton{color:#fff;background:#111827}.primaryLink{color:#111827;background:#fff}.ghostButton{color:#fff;background:#ffffff14;border:1px solid #ffffff94}.primaryButton:disabled{cursor:not-allowed;opacity:.45}.stats{border-top:1px solid #ffffff3d;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:56px;padding-top:18px;display:grid}.stats span{color:#ffffffd6;gap:4px;display:grid}.stats strong{color:#fff;font-size:1.45rem}.section{max-width:1180px;margin:0 auto;padding:68px 22px}.split{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:42px;display:grid}.split p,.muted{color:#56616f;line-height:1.65}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.features article{background:#ffffffa8;border:1px solid #d7c9b5;border-radius:8px;min-height:116px;padding:18px}.features strong,.features span{display:block}.features span{color:#5c6673;margin-top:8px;line-height:1.5}.places{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.places article{background:#fffaf4;border:1px solid #d7c9b5;border-radius:8px;min-height:142px;padding:18px}.places strong,.places span{display:block}.places span{color:#5c6673;margin-top:9px;line-height:1.5}.bookingBox{background:#fff;border:1px solid #d7c9b5;border-radius:8px;padding:20px;position:sticky;top:18px;box-shadow:0 16px 35px #18202a17}label{color:#4b5563;gap:7px;margin-bottom:12px;font-size:.92rem;font-weight:700;display:grid}input,textarea{color:#111827;background:#fff;border:1px solid #cfc3b4;border-radius:7px;width:100%;padding:12px}.quote{border-top:1px solid #eee2d4;border-bottom:1px solid #eee2d4;justify-content:space-between;align-items:end;gap:14px;margin:16px 0;padding:14px 0;display:flex}.quote span{color:#687386}.quote strong{font-size:1.4rem}.warning,.status{color:#9f1239;font-size:.9rem;line-height:1.4}.status{color:#166534}.sectionHead{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.legend{color:#56616f;flex-wrap:wrap;gap:12px;font-size:.9rem;display:flex}.calendarTools{justify-items:end;gap:12px;display:grid}.monthNav{gap:8px;display:inline-flex}.monthNav button{color:#111827;cursor:pointer;background:#fff;border:1px solid #cfc3b4;border-radius:7px;padding:9px 12px;font-weight:700}.monthNav button:disabled{cursor:not-allowed;opacity:.45}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:50%;width:11px;height:11px}.legend .ok{background:#e7f5e5;border:1px solid #96c18d}.legend .blocked{background:#eee5db;border:1px solid #c3b4a3}.legend .selected{background:#dbeafe;border:1px solid #2563eb}.calendarGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.month{background:#fff;border:1px solid #d7c9b5;border-radius:8px;padding:16px}.month h3{text-transform:capitalize;margin:0 0 14px}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekdays{color:#7b8491;text-align:center;margin-bottom:5px;font-size:.76rem;font-weight:700}.day{color:#16202d;text-align:left;cursor:pointer;background:#f7fbf5;border:1px solid #d8dfe6;border-radius:7px;align-content:space-between;min-height:72px;padding:7px;display:grid}.day.empty{visibility:hidden}.day.unavailable{color:#8a7b68;cursor:not-allowed;background:#eee5db}.day.picked{background:#dbeafe;border-color:#1d4ed8}.dateNum{font-weight:800}.dayPrice,.minStay{color:#4b5563;font-size:.72rem;display:block}.minStay{color:#8c5b23;font-weight:700}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.gallery button{cursor:zoom-in;background:#d7c9b5;border:0;border-radius:8px;padding:0;overflow:hidden}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .2s;display:block}.gallery button:hover img{transform:scale(1.03)}.modal,.lightbox{z-index:50;background:#0a0f16b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.inquiryForm{background:#fffaf4;border-radius:8px;width:min(560px,100%);max-height:calc(100vh - 36px);padding:24px;overflow:auto;box-shadow:0 24px 80px #00000052}.inquiryForm h2{margin-top:0}.check{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:flex}.check input{width:auto}.close{float:right;cursor:pointer;background:#fff;border:1px solid #d7c9b5;border-radius:7px;padding:8px 10px}.lightbox img{object-fit:contain;background:#111827;border-radius:8px;max-width:min(1100px,92vw);max-height:84vh}.lightClose{position:fixed;top:18px;right:18px}.arrow{color:#111827;cursor:pointer;background:#ffffffe0;border:0;border-radius:50%;width:44px;height:44px;font-size:2rem;line-height:1;position:fixed;top:50%;transform:translateY(-50%)}.arrow.left{left:24px}.arrow.right{right:24px}@media (max-width:860px){.stats,.split,.calendarGrid,.features,.places,.gallery{grid-template-columns:1fr}.sectionHead{display:block}.bookingBox{position:static}.heroContent{padding-top:92px}}@media (max-width:520px){.day{min-height:62px;padding:5px}.dayPrice,.minStay{font-size:.66rem}.section{padding:48px 16px}}
