:root{--ink:#423425;--cream:#f5f1e8;--green:#455447;--line:#d9d0c1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:20px 6%;background:var(--ink);color:var(--cream);border-bottom:1px solid #695744}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:2px}.brand img{width:58px;height:58px;border-radius:50%}.brand small{display:block;font-size:10px;letter-spacing:4px}nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav-cta{border-bottom:1px solid;padding:8px 0}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:85px 6% 75px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;margin:0 0 25px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-2px}h1{font-size:clamp(48px,5.9vw,86px);margin:0 0 26px}h1 em{color:var(--green)}h2{font-size:clamp(35px,4vw,56px);margin:0 0 30px}.intro{max-width:470px;font-size:17px;color:#6c6255}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:var(--green);color:white;border:0;border-radius:2px;cursor:pointer;font:inherit;font-size:14px}.button:hover{background:#303e32}.text-link{display:block;margin-top:20px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.hero-mark{text-align:center;padding:25px;border:1px solid var(--line);border-radius:250px 250px 8px 8px;background:#eae3d6}.hero-mark img{width:100%;border-radius:50%}.hero-mark p{font-size:10px;letter-spacing:3px;margin:24px 0 5px}.ribbon{background:var(--ink);color:var(--cream);display:flex;justify-content:space-around;gap:20px;padding:23px 6%;font-size:12px;letter-spacing:1px}.stay,.tour,.booking{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:90px 8%;max-width:1440px;margin:auto}.details article{display:flex;gap:28px;padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--line)}.details article>span{font-family:Georgia,serif;font-size:24px;color:#8e7b60}h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0 0 10px}p{margin-top:0}.details p{color:#706759;font-size:14px;margin:0}.tour{background:#e9e5db;align-items:center}.tour p:not(.eyebrow){max-width:420px;color:#6c6255}.tour-panel{min-height:330px;border:1px solid #c8bfae;background:var(--green);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px}.tour-panel .play{font-size:65px;line-height:1.3}.tour-panel p:not(.eyebrow){color:white;font-family:Georgia,serif;font-size:28px;margin:15px 0 5px}.tour-panel small{color:#e0e5dd}.booking{background:var(--ink);color:var(--cream)}.booking .eyebrow{color:#cfc0a6}.booking p{max-width:420px;color:#ded4c5;font-size:15px}.booking .note{font-size:12px;color:#bfb19c}form{display:grid;align-content:start;gap:9px}label{font-size:12px;letter-spacing:1px}input,select{padding:14px;background:#faf7ef;border:1px solid #c7bcaa;border-radius:2px;font:inherit;color:var(--ink);min-width:0;margin-bottom:10px;width:100%}form .button{background:#e7dbc6;color:var(--ink);width:100%;margin-top:10px}#error{color:#ffd1a9;margin:0}.faq{max-width:900px;margin:auto;padding:90px 7%}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:16px}details p{font-size:14px;margin:15px 0 0;color:#706759}footer{border-top:1px solid var(--line);padding:35px 6% 85px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>div:nth-child(2){display:flex;flex-direction:column;font-size:13px}footer p{font-size:11px;margin:0}.floating{position:fixed;bottom:20px;right:20px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:13px;box-shadow:0 3px 18px #0002}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b88d53;outline-offset:5px}@media(max-width:760px){header{padding:14px 5%}.brand{font-size:11px;letter-spacing:1px}.brand img{width:45px;height:45px}nav{gap:10px}nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;gap:40px;padding:50px 6%}.hero-mark{max-width:340px;width:100%;margin:auto}.ribbon{flex-direction:column;text-align:center;gap:8px}.stay,.tour,.booking{grid-template-columns:1fr;gap:30px;padding:55px 6%}h1{letter-spacing:-1.5px}.tour-panel{min-height:260px}footer{flex-direction:column;align-items:flex-start}.faq{padding:55px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:80px 8%;max-width:1440px;margin:auto;border-bottom:1px solid var(--line)}.about p:not(.eyebrow){font-size:18px;white-space:pre-line}.cabin-intro{padding:65px 8% 30px;max-width:1200px;margin:auto}.cabin-intro h1{font-size:clamp(44px,6vw,72px)}.cabin-intro>p:last-child{max-width:650px;color:#706759}.cabin-list{max-width:1200px;margin:auto;padding:15px 8% 60px;display:grid;gap:40px}.cabin-card{border:1px solid var(--line);padding:28px;background:#eae3d6}.cabin-card h2{font-size:34px;letter-spacing:-1px;margin-bottom:20px}.cabin-card video{display:block;width:auto;height:auto;max-width:100%;max-height:620px;margin-inline:auto;background:transparent;border-radius:3px}.cabin-card .button{margin-top:20px}.cabin-contact{background:var(--green);color:white;padding:55px 8%;text-align:center}.cabin-contact h2{font-size:40px}.cabin-contact .button{border:1px solid #eee}nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:6px}@media(max-width:760px){.about{grid-template-columns:1fr;gap:10px;padding:50px 6%}nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}nav>a:not(.nav-cta){display:block}nav>.nav-cta{display:none}.cabin-intro{padding:45px 6% 20px}.cabin-list{padding:15px 6% 40px}.cabin-card{padding:18px}.cabin-contact{padding:40px 6%}}

.location-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;padding:80px 8%;max-width:1440px;margin:auto;background:#e9e5db}.location-section iframe{width:100%;height:450px;border-radius:4px}.location-section p:not(.eyebrow){max-width:350px;color:#706759}@media(max-width:760px){.location-section{grid-template-columns:1fr;padding:50px 6%;gap:30px}.location-section iframe{height:350px}header{flex-wrap:wrap;gap:12px}nav{gap:16px}}

.calendar-section{max-width:1100px;margin:auto;padding:65px 6%}.calendar-section h1{font-size:clamp(38px,5vw,65px)}.calendar-box{background:#fffaf2;border:1px solid var(--line);padding:30px;margin-top:30px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:25px 0 20px;gap:12px}.calendar-nav h2,.calendar-nav h3{font-size:26px;letter-spacing:0;margin:0;text-align:center}.calendar-nav button{border:1px solid var(--line);background:var(--cream);padding:8px 18px;font-size:24px;cursor:pointer}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-week{text-align:center;font-size:12px;margin-bottom:8px}.calendar-day{border:1px solid transparent;padding:15px 3px;border-radius:3px;text-align:center;font:inherit;font-size:15px;cursor:pointer;min-height:54px}.calendar-day.available,.available{background:#c8e9cc;color:#164e26}.calendar-day.occupied,.occupied{background:#f6c4c1;color:#8b211b}.calendar-day.unknown,.unknown{background:#e3e0d9;color:#716c63}.calendar-day:disabled{cursor:default}.calendar-day.selected{outline:3px solid var(--ink);outline-offset:-3px}.calendar-day.today{border:2px solid #423425}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0 15px;font-size:12px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:14px;height:14px;border-radius:2px}.calendar-box small{display:block;color:#706759}.date-range{display:grid;grid-template-columns:1fr 1fr;gap:20px}#calendarMessage{margin:15px 0;font-size:14px}@media(max-width:760px){.calendar-section{padding:40px 5%}.calendar-box{padding:16px}.calendar-days,.calendar-week{gap:4px}.calendar-day{padding:10px 0;min-height:43px}.calendar-nav h2,.calendar-nav h3{font-size:22px}nav>.nav-cta{display:block}.calendar-legend{gap:12px}}

header nav a:hover{color:#e4c89f}header a:focus-visible{outline-color:#e4c89f}
.faq-edit-row{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}.faq-edit-row textarea{width:100%;resize:vertical;min-height:110px}.faq-edit-row .button{justify-self:start;width:auto}
.reviews-section{max-width:1440px;margin:auto;padding:80px 8%;display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.review-form-panel{background:#eae3d6;border:1px solid var(--line);padding:28px;align-self:start}.review-form-panel>p{font-size:14px;color:#706759}.review-form-panel textarea{width:100%;padding:14px;font:inherit;border:1px solid #c7bcaa;background:#faf7ef;color:var(--ink);resize:vertical;border-radius:2px}.review-card{background:#fffaf2;border:1px solid var(--line);padding:22px;margin:0 0 18px;overflow-wrap:anywhere}.review-card h3{font-size:23px;margin-bottom:10px}.review-card small{color:#706759}.review-rating{font-weight:700;color:var(--green)}.review-comment{white-space:pre-line}.review-consent{display:flex;align-items:flex-start;gap:10px;letter-spacing:0;font-size:13px;margin:15px 0}.review-consent input{width:auto;flex:none;margin:5px 0 0}.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#reviewStatus{font-size:14px;margin:10px 0 0}.review-form-panel button:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.reviews-section{grid-template-columns:1fr;gap:35px;padding:50px 6%}.review-form-panel{padding:20px}}
.star-picker{border:0;padding:0;margin:0 0 12px;min-width:0}.star-picker legend{font-size:12px;letter-spacing:1px;margin-bottom:6px}.star-options{display:flex;gap:8px;width:max-content}.star-option{position:relative;display:block;cursor:pointer;margin:0}.star-option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.star-option span{display:block;font-size:40px;line-height:1.2;color:#9a9286;transition:color .12s}.star-option.filled span{color:#b87908}.star-option:focus-within{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}.star-description{font-size:12px;min-height:20px;margin:8px 0 0;color:#706759}.review-rating{color:#b87908;font-size:25px;letter-spacing:2px;line-height:1.2}
.pool-section{max-width:1440px;margin:auto;background:#e9e5db;padding:65px 8%;border-top:1px solid var(--line)}.pool-section.with-photo{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px}.pool-copy{max-width:560px}.pool-copy p:not(.eyebrow){color:#706759;white-space:pre-line}.pool-section img{width:100%;max-height:560px;object-fit:contain;border-radius:4px;background:#ded7ca}#poolPreview{display:block;width:100%;max-height:360px;object-fit:contain;margin:20px 0}#poolPreview[hidden]{display:none}#poolInfoForm{margin-top:25px}@media(max-width:760px){.pool-section,.pool-section.with-photo{grid-template-columns:1fr;padding:50px 6%;gap:30px}}
