:root{--ink:#1f2922;--muted:#5b665e;--paper:#f4f6f1;--paper-strong:#e7ece3;--surface:#fff;--surface-soft:#f8faf7;--line:#1f342624;--line-strong:#1f34263d;--gold:#aa6b3f;--gold-dark:#87502f;--forest:#3f5b35;--forest-dark:#263a2b;--focus:#b45f2d;--danger:#a33a30;--success:#2f6b3b;--white:#fff;--shadow-sm:0 8px 24px #192a1e12;--shadow:0 24px 64px #192a1e1f;--radius-sm:6px;--radius:8px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--ink);background:var(--paper);font-family:var(--font-jost), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;margin:0}body,button,input,select,textarea{letter-spacing:0}::selection{color:#fff;background:var(--forest)}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 72%, white);outline-offset:3px}.skip-link{z-index:3000;border-radius:var(--radius-sm);color:#fff;background:var(--forest-dark);padding:10px 14px;font-weight:700;transition:transform .16s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#main-content{min-height:50vh}#main-content>main{animation:page-enter .5s var(--ease-out) both}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}.container{width:min(1180px,100% - 40px);margin:0 auto}.eyebrow{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:800}.section{padding:96px 0}.section.alt{background:var(--surface)}.section-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,4vw,4.6rem);font-weight:400;line-height:.98}.section-copy{color:var(--muted);margin:22px 0 0;font-size:1.05rem;line-height:1.8}.btn{border-radius:var(--radius-sm);letter-spacing:.14em;text-transform:uppercase;min-height:44px;transition:transform .18s var(--ease-out), background .18s ease, border-color .18s ease, box-shadow .18s ease;border:1px solid #0000;justify-content:center;align-items:center;padding:0 22px;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #192a1e14}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px #192a1e24}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn.primary{color:#fff;background:var(--forest)}.btn.primary:hover{background:var(--forest-dark)}.btn.secondary{color:var(--ink);border-color:var(--line-strong);background:#ffffffe6}.btn.dark{color:#fff;background:var(--forest-dark)}.page-hero{background:linear-gradient(to bottom, #1422181a, #14221857 45%, #101d14d6), var(--hero-image);color:#fff;background-position:50%;background-size:cover;align-items:end;min-height:450px;padding:150px 0 72px;display:flex}.page-hero h1{max-width:760px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,6.8rem);font-weight:400;line-height:.92}.page-hero-subtitle{color:#ffffffd6;max-width:620px;margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2.3vw,1.45rem);line-height:1.55}.events-hero{min-height:560px}.form-shell{grid-template-columns:.9fr 1.1fr;align-items:start;gap:44px;display:grid}.form-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffe6;padding:34px}.contact-direct-list{gap:12px;margin-top:26px;display:grid}.contact-direct-card{color:var(--ink);background:#ffffffa3;border:1px solid #96845e38;border-radius:12px;gap:5px;padding:14px 16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 12px 24px #192a1e0f}.contact-direct-card:hover{border-color:#3f5b355c;transform:translateY(-1px);box-shadow:0 16px 34px #192a1e1a}.contact-direct-card span{color:var(--gold-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.contact-direct-card strong{overflow-wrap:anywhere;font-size:1rem}.booking-flow{max-width:860px}.booking-paused-panel{max-width:760px;box-shadow:var(--shadow);background:radial-gradient(circle at 0 0,#96845e24,#0000 34%),#ffffffa8;border:1px solid #6b5b4529;border-radius:14px;justify-items:start;padding:clamp(2rem,5vw,3.5rem);display:grid}.booking-paused-panel .section-copy{margin-top:0}.booking-paused-actions{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.booking-flow-header{text-align:center;max-width:680px;margin:0 auto 44px}.booking-flow-header .section-copy{max-width:560px;margin-inline:auto}.booking-flow-panel{gap:22px;display:grid}.booking-step{background:radial-gradient(circle at 0 0,#96845e29,#0000 34%),linear-gradient(135deg,#fffaf4eb,#fff8ecc7),#fffaf4;border:1px solid #3a302424;border-radius:16px;padding:clamp(22px,4vw,34px);position:relative;overflow:hidden;box-shadow:0 18px 54px #3a302417}.booking-step:before{content:"";pointer-events:none;border:1px solid #96845e1f;border-radius:12px;position:absolute;inset:10px}.booking-step-head{z-index:1;text-align:center;gap:5px;margin-bottom:22px;display:grid;position:relative}.booking-step-head span{color:var(--gold-dark);letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;font-weight:800}.booking-step-head h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:400}.field-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.field{align-content:start;gap:8px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--ink);outline:none;padding:13px 14px}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px #3f5b351f}.form-hint,.form-message{color:var(--muted);margin:10px 0 0;font-size:.92rem;line-height:1.55}.form-hint.error,.form-message.error{color:#9f2f24}.field-error{color:#9f2f24;min-height:1.2rem;margin:0;font-size:.85rem;line-height:1.2rem}.field label .req{color:#9f2f24}.form-message.sent{color:var(--forest)}.quote-panel{background:#fff8ec;border:1px solid #92724342;border-radius:8px;gap:8px;margin:22px 0;padding:18px;display:grid}.quote-panel div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.quote-panel span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.quote-panel strong{color:var(--forest);white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:400}.quote-panel p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.cottage-select-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.booking-cottage-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));position:relative}.cottage-choice{border:1px solid var(--line);min-height:136px;color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffffb8,#fffaf4db),#fffaf4;border-radius:12px;gap:7px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid;position:relative}.cottage-choice:hover,.cottage-choice.selected{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 16px 34px #3a30241f,inset 0 0 0 1px #96845e80}.cottage-choice.selected:after{content:"Selected";color:#fff;background:var(--forest);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:5px 10px;font-size:.62rem;font-weight:800;position:absolute;top:14px;right:14px}.cottage-choice span,.cottage-choice small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.cottage-choice strong{font-family:Georgia,Times New Roman,serif;font-size:1.22rem;font-weight:400;line-height:1.15}.cottage-choice em{color:var(--gold-dark);align-self:end;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:normal}.booking-guest-strip{z-index:1;background:#ffffff7a;border:1px solid #96845e33;border-radius:12px;grid-template-columns:150px 150px minmax(0,1fr);align-items:end;gap:14px;margin-top:18px;padding:16px;display:grid;position:relative}.booking-guest-note{gap:4px;padding:0 2px 4px;display:grid}.booking-guest-note span{color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.booking-guest-note p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.booking-capacity-warning{z-index:1;color:#9f2f24;background:#f6dedbc2;border:1px solid #9f2f2447;border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:.92rem;font-weight:700;line-height:1.45;position:relative}.booking-charge-callout{z-index:1;color:var(--gold-dark);background:#fffaebc7;border:1px solid #96845e47;border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:.92rem;font-weight:700;line-height:1.45;position:relative}.booking-child-ages{z-index:1;margin-top:14px;position:relative}.booking-calendar-panel{z-index:1;border:1px solid var(--line);background:#ffffff85;border-radius:14px;gap:16px;padding:18px;display:grid;position:relative}.booking-calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.booking-calendar-toolbar div{text-align:center;gap:4px;display:grid}.booking-calendar-toolbar strong{font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:400}.booking-calendar-toolbar span{color:var(--muted);font-size:.84rem}.booking-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.booking-month{background:#fffaf4b8;border:1px solid #3a30241a;border-radius:12px;gap:10px;padding:14px;display:grid}.booking-month h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.28rem;font-weight:400}.booking-weekdays,.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:0 0 8px;font-size:.72rem;font-weight:800}.booking-calendar-day{aspect-ratio:1;min-width:0;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #2f281f1a;border-radius:9px;align-content:center;place-items:center;gap:2px;padding:6px 3px;font-size:.9rem;transition:border-color .14s,box-shadow .14s,background .14s;display:grid}.booking-day-number{line-height:1}.booking-day-price{color:#596f39;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.66rem;font-weight:800;line-height:1;display:block;overflow:hidden}.booking-calendar-day:hover:not(:disabled){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.booking-calendar-day.outside{color:#6f625273;background:#f7f0e6}.booking-calendar-day.past{color:#6f625259;cursor:not-allowed}.booking-calendar-day.blocked{color:#9f2f24;background:#f6dedb;text-decoration:line-through}.booking-calendar-day.blocked .booking-day-price,.booking-calendar-day.past .booking-day-price,.booking-calendar-day.outside .booking-day-price{color:inherit}.booking-calendar-day.selected{color:#fff;background:var(--forest);text-decoration:none}.booking-calendar-day.selected .booking-day-price{color:#ffffffe6}.booking-calendar-day.start{border-top-left-radius:999px;border-bottom-left-radius:999px}.booking-calendar-day.end{border-top-right-radius:999px;border-bottom-right-radius:999px}.booking-calendar-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.86rem;display:flex}.booking-calendar-legend span{align-items:center;gap:8px;display:inline-flex}.booking-dot{border:1px solid var(--line);border-radius:999px;width:12px;height:12px}.booking-dot.available{background:#fff}.booking-dot.blocked{background:#f6dedb}.booking-dot.selected{background:var(--forest)}.child-age-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.child-age-grid input{min-height:44px}.booking-continue-help{color:var(--gold-dark);background:#fffaebbd;border:1px solid #96845e47;border-radius:12px;padding:10px 12px;font-weight:700}.legal-hero{min-height:360px}.legal-section{background:linear-gradient(180deg, #fffaf473, #f5ead6e6), var(--paper)}.legal-layout{max-width:900px}.legal-updated{color:var(--gold-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:800}.legal-card{box-shadow:var(--shadow);background:#fffaf4d1;border:1px solid #3a302424;border-radius:16px;gap:24px;padding:clamp(24px,5vw,44px);display:grid}.legal-card h2{color:var(--forest);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2.1rem);font-weight:400;line-height:1.05}.legal-card p{color:var(--muted);margin:-12px 0 0;font-size:1rem;line-height:1.85}.faq-page-section{background:#fffaf2}.faq-page-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:start;gap:clamp(34px,6vw,78px);display:grid}.faq-page-intro{position:sticky;top:120px}.faq-page-intro .btn{margin-top:24px}.faq-page-list{background:#ffffff47}.gallery-section{background:#fffaf2}.gallery-intro{text-align:center;max-width:760px;margin-bottom:42px}.gallery-intro .section-copy{max-width:620px;margin-inline:auto}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.8vw,18px);display:grid}.gallery-tile{aspect-ratio:3/2;cursor:pointer;background:#ffffff7a;border:1px solid #6b5b4526;border-radius:8px;min-height:0;padding:0;position:relative;overflow:hidden}.gallery-tile img{object-fit:cover;transition:transform .6s}.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.06)}.gallery-tile:focus-visible,.gallery-lightbox-close:focus-visible,.gallery-lightbox-arrow:focus-visible{outline-offset:3px;outline:2px solid #c9903c}.gallery-lightbox{z-index:2000;background:#140e06eb;place-items:center;padding:clamp(18px,4vw,48px);display:grid;position:fixed;inset:0}.gallery-lightbox-image{width:min(1120px,84vw);height:min(760px,82vh);position:relative}.gallery-lightbox-image img{object-fit:contain}.gallery-lightbox-close,.gallery-lightbox-arrow{z-index:2;color:#f5ead6;cursor:pointer;background:#140e068f;border:1px solid #f5ead647;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:fixed}.gallery-lightbox-close{width:44px;height:44px;top:24px;right:24px}.gallery-lightbox-arrow{width:52px;height:52px;top:50%;transform:translateY(-50%)}.gallery-lightbox-arrow.previous{left:24px}.gallery-lightbox-arrow.next{right:24px}.gallery-lightbox-count{color:#f5ead6b8;letter-spacing:.18em;margin:0;font-size:.78rem;font-weight:700;position:fixed;bottom:22px;right:24px}.about-story-section{background:#fffaf2}.about-story-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);align-items:center;gap:clamp(32px,6vw,72px);display:grid}.about-story-copy p:not(.eyebrow),.about-cottages-panel p,.about-why-copy p{color:var(--muted);font-size:1.05rem;line-height:1.85}.about-story-media{min-height:520px;box-shadow:var(--shadow);border-radius:8px;position:relative;overflow:hidden}.about-story-media img{object-fit:cover}.about-experience{text-align:center}.about-experience .section-title{max-width:760px;margin:0 auto}.about-experience-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.about-experience-grid div{background:#fffaf4ad;border:1px solid #3a302424;border-radius:8px;align-content:start;gap:14px;min-height:170px;padding:24px;display:grid}.about-experience-grid span{background:var(--gold);width:32px;height:2px}.about-experience-grid p{color:var(--ink);text-align:left;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.22rem;line-height:1.35}.about-cottages-section{color:#fff;background-color:#0000;background-image:linear-gradient(135deg,#2c2416bd,#2c241661),url(/images/optimized/rooms.webp);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.about-cottages-panel{max-width:860px}.about-cottages-panel .eyebrow{color:#e2cea6}.about-cottages-panel p{color:#ffffffc7;max-width:740px}.about-why-cascade{text-align:center;justify-items:center;max-width:760px;display:grid}.about-why-lines p,.about-why-closing p{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400}.about-why-lines{gap:10px;margin-top:18px;display:grid}.about-why-lines p{color:var(--muted);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2.2vw,1.35rem);font-style:italic;font-weight:400;line-height:1.6}.about-why-note{max-width:580px;color:var(--muted);margin:34px 0 0;font-size:1.05rem;line-height:1.85}.about-why-closing{justify-items:center;gap:6px;margin-top:34px;padding-top:28px;display:grid}.about-why-closing:before{content:"";background:var(--line);width:48px;height:1px;margin-bottom:10px}.about-why-closing p{color:var(--forest)}.about-closing-cta{color:#fff;background:var(--ink);padding:58px 0}.about-closing-cta .container{justify-content:space-between;align-items:center;gap:36px;display:flex}.about-closing-cta h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.6rem);font-weight:400}.about-closing-cta p:last-child{color:#ffffffb8;max-width:620px;margin:10px 0 0;line-height:1.7}.about-closing-actions{flex-wrap:wrap;flex:none;gap:12px;display:flex}.events-intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);align-items:center;gap:clamp(34px,6vw,80px);display:grid}.events-intro-copy .section-copy{max-width:760px}.events-planning-panel{background:#ffffff7a;border:1px solid #6b5b4529;border-radius:8px;gap:14px;padding:clamp(24px,4vw,38px);display:grid}.events-planning-panel span,.events-card span{color:var(--gold-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800}.events-planning-panel strong{color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,3vw,2.4rem);font-weight:400;line-height:1.12}.events-planning-panel p,.events-card p,.events-final-cta p{color:var(--muted);margin:0;line-height:1.7}.events-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.events-card{background:#ffffff73;border:1px solid #6b5b4526;border-radius:8px;align-content:start;gap:16px;padding:28px;display:grid}.events-card p{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.events-contact-section{background:var(--paper)}.events-contact-grid{grid-template-columns:minmax(0,.95fr) minmax(260px,.75fr) minmax(260px,.55fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.events-checklist{gap:12px;display:grid}.events-checklist p{color:var(--ink);border-bottom:1px solid #6b5b4529;margin:0;padding:14px 0;font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.events-final-cta{background:#fffaf2;border:1px solid #6b5b4526;border-radius:8px;gap:18px;padding:24px;display:grid}.booking-sticky-summary{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf4f0;border:1px solid #8b6b3e57;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:4px;padding:18px 20px;display:grid;position:sticky;bottom:18px;box-shadow:0 18px 54px #3a302433}.booking-sticky-summary div{gap:4px;min-width:0;display:grid}.booking-sticky-summary span{color:var(--muted);letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.76rem;font-weight:800;overflow:hidden}.booking-sticky-summary strong{color:var(--forest);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:400}.booking-sticky-summary p{color:var(--muted);margin:0;font-size:.9rem}@media (max-width:900px){.section{padding:72px 0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-shell,.field-grid,.booking-cottage-grid,.booking-months,.booking-calendar-toolbar,.booking-guest-strip{grid-template-columns:1fr}.cottage-choice{min-height:auto}.booking-sticky-summary{grid-template-columns:1fr;bottom:10px}.booking-sticky-summary .btn{width:100%}.about-story-grid,.about-experience-grid,.faq-page-layout,.events-intro-grid,.events-card-grid,.events-contact-grid{grid-template-columns:1fr}.about-story-media{min-height:360px}.faq-page-intro{position:static}.about-closing-cta .container{display:grid}.about-closing-actions .btn{width:100%}}@media (max-width:860px){.events-contact-grid{grid-template-columns:1fr}}@media (max-width:720px){.events-card-grid{grid-template-columns:1fr}}@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.page-hero{min-height:360px;padding-top:126px}.booking-paused-actions{width:100%}.booking-paused-actions .btn{justify-content:center;width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-lightbox-image{width:100%;height:76vh}.gallery-lightbox-arrow{width:46px;height:46px;top:auto;bottom:22px;transform:none}.gallery-lightbox-arrow.previous{left:18px}.gallery-lightbox-arrow.next{right:18px}.gallery-lightbox-count{left:50%;right:auto;transform:translate(-50%)}}@media (max-width:480px){.booking-calendar-day{padding:4px 2px;font-size:.8rem}.booking-day-price{font-size:.58rem}.events-card{min-height:auto;padding:22px}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.route-state{background:var(--surface-soft);text-align:center;place-content:center;justify-items:center;gap:10px;min-height:72vh;padding:140px 24px 80px;display:grid}.route-state-mark{border:2px solid var(--paper-strong);border-top-color:var(--forest);border-radius:50%;width:38px;height:38px;margin-bottom:6px;animation:.9s linear infinite spin}.route-state>p,.route-state>span{margin:0}.route-state>p{color:var(--ink);font-weight:700}.route-state>span{color:var(--muted);font-size:.84rem}.route-not-found h1{max-width:720px;color:var(--forest-dark);text-wrap:balance;margin:0;font-family:Georgia,Times New Roman,serif;font-size:3.25rem;font-weight:400;line-height:1}.route-not-found>p:not(.eyebrow){max-width:480px;color:var(--muted);font-weight:400;line-height:1.7}.route-not-found .btn{margin-top:10px}.spin{animation:.9s linear infinite spin}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.section:not(.alt),.gallery-section,.about-story-section,.faq-page-section,.room-story-section,.related-cottages{background:var(--surface-soft)}.section-title{max-width:22ch;color:var(--forest-dark);text-wrap:balance}.section-copy,.page-hero-subtitle{text-wrap:pretty}.eyebrow{color:var(--gold-dark)}.page-hero{min-height:500px;box-shadow:inset 0 -1px #ffffff1f}.page-hero .eyebrow{color:#ffffffc7}.page-hero h1{text-shadow:0 12px 36px #00000042;text-wrap:balance}.form-panel,.booking-step,.legal-card,.booking-paused-panel,.booking-calendar-panel,.compare-tool{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#ffffffeb}.booking-step:before{display:none}.booking-step-head,.booking-cottage-grid,.booking-guest-strip,.booking-capacity-warning,.booking-charge-callout,.booking-child-ages,.booking-calendar-panel{z-index:auto}.cottage-choice,.booking-month,.quote-panel{border-radius:var(--radius);background:var(--surface)}.cottage-choice:hover,.cottage-choice.selected{border-color:var(--forest);box-shadow:0 12px 28px #192a1e1a}.cottage-choice.selected{background:#eef3eb}.cottage-choice.selected:after{background:var(--forest);border-radius:4px}.booking-calendar-day{border-radius:6px;transition:color .14s,border-color .14s,box-shadow .14s,background .14s,transform .14s}.booking-calendar-day:hover:not(:disabled){border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);transform:translateY(-1px)}.booking-calendar-day.range{color:var(--forest-dark);background:#e4eee2}.booking-calendar-day.selected{background:var(--forest-dark)}.booking-calendar-day.start,.booking-calendar-day.end{border-radius:6px}.gallery-tile,.about-story-media{border-radius:var(--radius)}.gallery-tile:after{content:"";opacity:0;pointer-events:none;border:1px solid #ffffff4d;transition:opacity .2s;position:absolute;inset:0}.gallery-tile:hover:after,.gallery-tile:focus-visible:after{opacity:1}.gallery-lightbox{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c140ef0}.gallery-lightbox-close,.gallery-lightbox-arrow{border-radius:50%;transition:background .16s,transform .16s}.gallery-lightbox-close:hover,.gallery-lightbox-arrow:hover{background:#ffffff29}.home-faq-item summary:focus-visible{outline-offset:6px}.home-faq-item[open] summary{color:var(--forest)}.form-message,.pos-alert,.pos-success,.compare-message,.dine-error{border-radius:var(--radius-sm)}@media (hover:hover){.form-panel,.legal-card,.booking-step{transition:border-color .22s,box-shadow .22s}.form-panel:hover,.legal-card:hover,.booking-step:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}}@media (max-width:640px){.section{padding:58px 0}.page-hero{min-height:430px;padding-bottom:46px}.form-panel,.booking-step,.legal-card,.booking-paused-panel{padding:22px}.btn{min-height:48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(../media/39c55468420adfa6-s.1669nxjwa2fmv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.0dguglgc-iz4q.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:800;font-display:swap;src:url(../media/81cef6a21128489e-s.p.2csanl8cs02r-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost Fallback;src:local(Arial);ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.0%;size-adjust:96.01%}.jost_53c356e8-module__nLZy3a__className{font-family:Jost,Jost Fallback;font-style:normal}.jost_53c356e8-module__nLZy3a__variable{--font-jost:"Jost", "Jost Fallback"}
.site-header{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafcf8c2;border-bottom:1px solid #0000;padding:0 2.1rem;transition:background .35s,box-shadow .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;top:0;left:0;right:0}.site-header.scrolled{border-bottom-color:var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafcf8f0;box-shadow:0 8px 28px #192a1e14}.header-inner{justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;height:96px;margin:0 auto;transition:height .35s;display:flex}.site-header.scrolled .header-inner{height:78px}.logo-link{align-items:center;display:inline-flex}.logo-link img{object-fit:contain;width:auto;height:58px;transition:height .35s}.site-header.scrolled .logo-link img{height:52px}.desktop-nav{align-items:center;gap:clamp(1rem,1.7vw,2rem);display:flex}.desktop-nav a{color:var(--ink);letter-spacing:.18em;text-transform:uppercase;padding:.3rem 0;font-size:.76rem;font-weight:600;transition:color .3s;position:relative}.desktop-nav a:after{content:"";background:var(--forest);width:0;height:1.5px;transition:width .35s;position:absolute;bottom:-2px;left:0}.desktop-nav a:hover,.desktop-nav a.active{color:var(--forest)}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.header-actions{align-items:center;gap:.75rem;display:flex}.header-cta,.header-login{border-radius:var(--radius-sm);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:700;transition:transform .3s,background .3s,box-shadow .3s}.header-cta{color:#fff;background:var(--forest);padding:.66rem 1.45rem;box-shadow:0 8px 18px #263a2b33}.header-login{color:#3a3024;background:#ffffff8c;border:1px solid #8b6b3e73;padding:.62rem 1.2rem}.header-cta:hover,.header-login:hover{transform:translateY(-1px)}.header-cta:hover{background:var(--forest-dark);box-shadow:0 10px 22px #263a2b40}.header-login:hover{color:#fff;background:#3a3024;border-color:#3a3024}.menu-toggle{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--forest-dark);cursor:pointer;background:#ffffffc7;border:1px solid #96845e47;justify-content:center;align-items:center;transition:border-color .3s,color .3s;display:none}.menu-toggle:hover{border-color:#96845e}.menu-toggle.open{z-index:1002;color:#fff;border-color:#ffffff40;position:relative}.mobile-nav{z-index:1001;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;pointer-events:none;background:linear-gradient(#263a2bfa,#111f16fa);flex-direction:column;justify-content:center;align-items:center;gap:clamp(.9rem,3.2vh,1.45rem);min-height:100svh;padding:112px 28px 42px;transition:opacity .3s,transform .3s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-8px)}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{color:#f5ead6;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,7.4vw,3.8rem);font-weight:300;line-height:.98}.mobile-nav a:hover{color:#e1b28f}.mobile-nav a[aria-current=page]{color:#fff;text-underline-offset:8px;-webkit-text-decoration:underline #c77c4a;text-decoration:underline #c77c4a}@media (min-width:861px) and (max-width:1120px){.site-header{padding:0 1.25rem}.header-inner{gap:1.15rem}.logo-link img{height:52px}.site-header.scrolled .logo-link img{height:48px}.desktop-nav{gap:1rem}.desktop-nav a{letter-spacing:.1em;white-space:nowrap;font-size:.68rem}.header-cta{letter-spacing:.12em;white-space:nowrap;padding:.62rem 1.05rem;font-size:.68rem}}@media (max-width:860px){.site-header{padding:0 1.25rem}.site-header.menu-open{min-height:100svh;box-shadow:none;background:0 0}.site-header.menu-open .header-inner{z-index:1002;position:relative}.desktop-nav,.header-actions{display:none}.menu-toggle{display:inline-flex}.header-inner{height:84px}.site-header.scrolled .header-inner{height:72px}.logo-link img{height:50px}.site-header.scrolled .logo-link img{height:46px}.mobile-nav a{font-size:2rem}}
.site-footer{color:#ffffffa8;background:#17271c;position:relative;overflow:hidden}.site-footer:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff03 2px 4px);position:absolute;inset:0}.footer-grid{z-index:1;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr) auto;align-items:end;gap:48px;padding:4rem 0 3rem;display:grid;position:relative}.footer-brand{color:#f5ead6;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:300}.footer-copy{color:#ffffff94;max-width:520px;margin:16px 0 0;line-height:1.8}.footer-contact{gap:14px;display:grid}.footer-contact span{color:#d99a6b;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}.footer-contact p{color:#f5ead6c2;margin:0;font-size:.92rem;line-height:1.65}.footer-contact a{color:#f5ead6e6;transition:color .16s}.footer-contact a:hover{color:#e1b28f}.footer-links{flex-wrap:wrap;justify-content:end;gap:18px;max-width:520px;display:flex}.footer-links a{color:#f5ead6d1;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:700;transition:color .16s,transform .16s}.footer-links a:hover{color:#e1b28f;transform:translateY(-1px)}@media (max-width:760px){.footer-grid{grid-template-columns:1fr}.footer-brand{font-size:clamp(2.2rem,8vw,2.4rem)}.footer-links{justify-content:start}}
