:root{color-scheme:light;--background:#f4f0e7;--background-deep:#efe7d8;--surface:#fffdf8;--ink:#1c2824;--muted:#53655d;--forest:#123f36;--forest-deep:#0e2e24;--pine:#1f5a48;--moss:#b7c798;--reed:#b8a66a;--mist:#d9e1da;--accent:#e89a32;--accent-ink:#1c2824;--line:rgba(23,49,40,0.16);--white:#fffdf8;--gutter:clamp(14px,5vw,20px);--content-width:1160px;--tap:48px;--radius:10px;--font-display:var(--font-fraunces-ext),var(--font-fraunces),Georgia,"Iowan Old Style","Noto Serif","Times New Roman",serif;--font-body:var(--font-manrope-ext),var(--font-manrope),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--type-display:clamp(2.5rem,5.4vw,4rem);--type-section:clamp(1.875rem,3.5vw,2.625rem);--type-card:clamp(1.25rem,2.2vw,1.5rem);--type-price:clamp(1.375rem,2.4vw,1.75rem);--type-lead:clamp(1.05rem,1.6vw,1.22rem);--type-body:1rem;--type-helper:0.8125rem;--type-brand:clamp(0.8125rem,1.1vw,1rem);--tracking-display:-0.012em;--tracking-heading:-0.006em;--photo-filter:saturate(0.88) contrast(1.05)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px;scroll-padding-bottom:calc(68px + env(safe-area-inset-bottom))}body,html{overflow-x:hidden}body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);line-height:1.55;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%}img,picture{display:block}.site-photo:not(.photo-band-image) img{object-fit:cover;filter:var(--photo-filter)}a,button{-webkit-tap-highlight-color:transparent}.container{width:min(calc(100% - (var(--gutter) * 2)),var(--content-width));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:8px;left:8px;display:inline-flex;min-height:var(--tap);align-items:center;padding:10px 14px;border:1px solid var(--forest);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-weight:800;transform:translateY(-180%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}[tabindex="-1"]:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--forest);outline-offset:2px;box-shadow:0 0 0 5px var(--white)}a:focus-visible:not(.channel-link):not(.button){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}h1,h2,h3{margin-top:0;font-family:var(--font-display);font-weight:500;line-height:1.08;text-wrap:balance}h1{max-width:14em;margin-bottom:20px;font-size:var(--type-display);letter-spacing:var(--tracking-display)}h2{font-size:var(--type-section)}h2,h3{letter-spacing:var(--tracking-heading)}h3{font-size:var(--type-card)}.hero{min-height:clamp(520px,72svh,760px);isolation:isolate;overflow:hidden;overflow:clip}.hero,.site-nav{position:relative}.site-nav{z-index:2;display:grid;min-height:72px;grid-template-columns:1fr auto;align-items:center;grid-gap:10px 16px;gap:10px 16px;padding-block:12px;color:var(--white)}.site-nav:before{content:"";position:absolute;z-index:-1;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);border-bottom:1px solid rgba(255,253,248,.14);background:var(--forest-deep)}.site-nav .brand{color:var(--white)}.site-nav .brand-descriptor{color:rgba(255,253,248,.72)}.brand{display:inline-flex;min-height:var(--tap);min-width:var(--tap);align-items:center;gap:8px;color:var(--ink);font-weight:750;letter-spacing:0}.brand-mark{width:52px;height:40px;flex:0 0 52px;overflow:hidden}.brand-mark img{width:160px;height:auto;max-width:none}.brand-copy{display:grid;min-width:0;grid-gap:2px;gap:2px}.brand-name{max-width:none;color:inherit;font-family:var(--font-display);font-size:1.08rem;font-weight:850;line-height:1.02;white-space:nowrap}.brand-descriptor{color:var(--muted);font-size:var(--type-helper);line-height:1.1}.site-nav .brand-descriptor,.site-nav .brand-mark{display:none}.nav-links{display:flex;flex-wrap:wrap;grid-column:1/-1;grid-row:2;gap:4px;max-width:100%}.language-switch a,.nav-links a{display:inline-flex;min-height:var(--tap);align-items:center;justify-content:center;white-space:nowrap}.nav-links a{padding:8px 10px;border-bottom:2px solid transparent;color:var(--white);font-size:.82rem;font-weight:650}.nav-links a:focus-visible,.nav-links a:hover{border-bottom-color:var(--accent);color:var(--white)}.language-switch{display:flex;min-height:var(--tap);align-items:center;gap:2px}.language-switch a{min-width:44px;padding-inline:8px;border-bottom:2px solid transparent;color:var(--white);font-size:.75rem;font-weight:800}.language-switch a.active,.language-switch a:focus-visible,.language-switch a:hover{border-bottom-color:var(--accent);color:var(--white);text-decoration:none}.nav-toggle{display:inline-flex;min-height:var(--tap);align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,253,248,.58);border-radius:var(--radius);background:transparent;color:var(--white);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.nav-toggle-label{flex:none;inline-size:2.692em}.nav-toggle:focus-visible{outline:3px solid var(--forest);outline-offset:2px}.nav-toggle-bars{width:18px;height:12px;background:linear-gradient(var(--white) 0 0) top /100% 2px no-repeat,linear-gradient(var(--white) 0 0) 50% /100% 2px no-repeat,linear-gradient(var(--white) 0 0) bottom /100% 2px no-repeat}.nav-menu{display:contents}.nav-menu[data-open=false]>*{display:none}.site-nav .language-switch{grid-column:1/-1}.site-announcement{position:relative;z-index:1;margin-block:8px 0;padding:12px 16px;border-radius:var(--radius);background:var(--mist);color:var(--ink);font-weight:750}.eyebrow{margin:0 0 12px;color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:.01em;line-height:1.3}.hero-lead{max-width:21em;margin:0 0 12px;color:var(--ink);font-size:var(--type-lead);line-height:1.45}.channel-link{display:flex;min-height:var(--tap);min-width:var(--tap);flex-direction:column;justify-content:center;gap:3px;padding:12px 15px;border:1px solid var(--line);border-radius:var(--radius);font-weight:750;line-height:1.22;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.channel-link span{display:block}.channel-link small{display:block;color:var(--muted);font-size:var(--type-helper);font-weight:500;line-height:1.35}.channel-link:hover{transform:translateY(-2px)}.hero-b{display:flex;flex-direction:column;background:var(--forest);color:var(--white)}.site-photo.hero-b-photo{position:absolute;inset:0;z-index:0;display:block;border-radius:0;overflow:hidden}.site-photo.hero-b-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 58%}.hero-b-scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(18,63,54,.94),rgba(18,63,54,.88) 30%,rgba(18,63,54,.62) 52%,rgba(18,63,54,.14) 78%,rgba(18,63,54,0))}.hero-b-grid{display:flex;min-height:clamp(480px,62svh,664px);flex:1 1;flex-direction:column;justify-content:center;padding-block:clamp(32px,5svh,56px) clamp(20px,3svh,32px)}.hero-b .hero-availability,.hero-b .hero-checkmarks,.hero-b-copy{position:relative;z-index:1}.hero-b-copy{max-width:660px}.hero-b-copy h1{color:var(--white);-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 6 4;overflow-wrap:break-word}.hero-b .hero-lead{max-width:20em;margin-bottom:0;color:rgba(255,253,248,.94)}.hero-address{display:inline-flex;margin-top:12px;color:var(--white);font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.hero-address,.hero-cta-primary{min-height:var(--tap);align-items:center}.hero-cta-primary{display:flex;width:-moz-fit-content;width:fit-content;max-width:100%;justify-content:center;margin-top:18px;padding:11px 18px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:800;text-align:center;text-wrap:balance}.hero-cta-primary:focus-visible,.hero-cta-primary:hover{border-color:#f0b55f;background:#f0b55f;text-decoration:none}.hero-availability-submit{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none}.hero-availability-submit:focus-visible,.hero-availability-submit:hover{border-color:#f0b55f;background:#f0b55f}.hero-checkmarks{display:flex;flex-wrap:wrap;gap:10px 34px;margin:clamp(20px,3svh,30px) 0 0;padding:0;list-style:none;color:var(--white);font-size:.94rem;font-weight:650}.hero-checkmarks li{position:relative;padding-left:19px}.hero-checkmarks li:before{content:"";position:absolute;left:0;top:.52em;width:9px;height:9px;border-radius:50%;background:var(--reed)}.hero-proof{max-width:560px;margin:0}.hero-proof-rating{margin:0 0 4px;color:var(--ink);font-size:.92rem}.hero-proof-rating strong{font-family:var(--font-display);font-size:var(--type-price);font-weight:600;color:var(--ink)}.hero-proof-source a{text-decoration:underline;text-underline-offset:3px}.hero-availability{margin-top:clamp(20px,3svh,36px);padding:22px var(--gutter);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.hero-availability-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:16px}.hero-availability-legend{margin:0;color:var(--forest);font-family:var(--font-display);font-size:1.35rem;font-weight:600}.hero-availability-price{visibility:hidden;margin:0;color:var(--ink);font-size:var(--type-helper)}.hero-availability:has(#hero-check-in:valid):has(#hero-check-out:valid) .hero-availability-price{visibility:visible}.hero-availability-price strong{margin-inline:4px;color:var(--forest);font-family:var(--font-display);font-size:1.4rem;font-weight:600}.hero-availability-fields{display:grid;grid-gap:14px 18px;gap:14px 18px;grid-template-columns:1fr;align-items:end}.hero-availability-field{display:flex;min-width:0;flex-direction:column;gap:7px}.hero-availability-field label{color:var(--pine);font-size:.84rem;font-weight:700}.hero-availability-field-unit label{white-space:nowrap}.hero-availability-field input,.hero-availability-field select{width:100%;height:52px;padding:0 14px;border:1px solid var(--muted);border-radius:var(--radius);background:var(--white);color:var(--ink);font-family:inherit;font-size:1rem}.hero-availability-field input:focus-visible,.hero-availability-field select:focus-visible{outline:3px solid var(--forest);outline-offset:2px;border-color:var(--forest)}.hero-availability-submit{width:100%}.hero-availability-note{margin:8px 0 0;color:var(--muted);font-size:var(--type-helper);text-align:end}.mobile-sticky-cta{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;min-height:68px;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px;gap:4px;padding:6px var(--gutter) max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--white);box-shadow:0 -10px 28px rgba(27,31,29,.08)}.mobile-sticky-cta[hidden]{display:none}.sticky-channel{min-width:0;min-height:var(--tap);padding:9px 8px;border-color:transparent;border-radius:4px;color:var(--ink);font-size:.85rem;text-align:center}.sticky-channel span{overflow-wrap:normal;white-space:nowrap;line-height:1.15}.sticky-channel small{display:none}.sticky-channel:focus-visible,.sticky-channel:hover{background:var(--background-deep);text-decoration:none}.sticky-channel.channel-direct{justify-content:center;border-radius:var(--radius);font-size:.94rem;font-weight:700;text-wrap:balance;background:var(--accent);color:var(--accent-ink)}.sticky-channel.channel-whatsapp{width:92px}.sticky-channel.channel-direct:focus-visible,.sticky-channel.channel-direct:hover{background:#f0b55f}.booking-trust-summary{padding-top:18px;border-top:1px solid var(--line)}.booking-trust-summary .trust-strip{margin-top:0}.trust-strip-section-content{display:grid;grid-gap:8px;gap:8px}.direct-booking-copy{display:grid;grid-gap:20px;gap:20px}.photo-band{margin:0 0 clamp(28px,3vw,40px)}.photo-band-image{position:relative;height:clamp(170px,16vw,230px);overflow:hidden}.photo-band-image img{position:absolute;top:50%;left:50%;width:auto;height:auto;min-width:100%;min-height:100%;transform:translate(-50%,-50%)}.photo-band figcaption{width:min(calc(100% - (var(--gutter) * 2)),var(--content-width));margin:12px auto 0;color:var(--muted);font-size:.75rem}main{padding-bottom:76px}.section{padding-block:clamp(26px,2.5vw,38px)}.band-canvas,.band-deep,.band-green,.band-mist,.reviews-section{position:relative}.band-canvas:before,.band-deep:before,.band-green:before,.band-mist:before,.reviews-section:before{content:"";position:absolute;z-index:-1;inset-block:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--background-deep)}.band-mist:before{background:var(--background-deep)}.band-canvas:before{background:var(--background)}.band-green:before{border-block:1px solid var(--line);background:var(--white)}.band-green,.band-green h2,.band-green h3{color:var(--ink)}.band-green .eyebrow,.band-green .section-rule{color:var(--muted);border-color:var(--line)}.trust-strip-section{padding-block:16px}.trust-strip{display:grid;margin:0;padding:0;grid-gap:10px 28px;gap:10px 28px;list-style:none}.trust-strip li{position:relative;padding-left:22px;color:var(--muted);font-size:.92rem}.trust-strip li:before{position:absolute;top:.62em;left:2px;width:8px;height:8px;border:2px solid var(--forest);border-radius:50%;content:""}.trust-strip-section .trust-strip li{display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:12px}.trust-strip-section .trust-strip li:before{display:none}.trust-pictogram{width:28px;height:28px;background:var(--forest);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.trust-pictogram-lake{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 20h10M9 20v-8l3-7 3 7v8M4 14c2 0 2 2 4 2s2-2 4-2 2 2 4 2 2-2 4-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 20h10M9 20v-8l3-7 3 7v8M4 14c2 0 2 2 4 2s2-2 4-2 2 2 4 2 2-2 4-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.trust-pictogram-shower{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 10a7 7 0 0 1 14 0M15 10h6M16 14v.01M20 14v.01M14 18v.01M18 18v.01M22 18v.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 10a7 7 0 0 1 14 0M15 10h6M16 14v.01M20 14v.01M14 18v.01M18 18v.01M22 18v.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.trust-pictogram-rating{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 2.7 5.5 6.1.9-4.4 4.3 1 6.1-5.4-2.9-5.4 2.9 1-6.1-4.4-4.3 6.1-.9L12 3Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 2.7 5.5 6.1.9-4.4 4.3 1 6.1-5.4-2.9-5.4 2.9 1-6.1-4.4-4.3 6.1-.9L12 3Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E")}.trust-pictogram-dog{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11 4 8l1-4 5 3h5l4-3 1 4-3 3v6a3 3 0 0 1-3 3h-4a3 3 0 0 1-3-3v-6Zm3 4h4M10 11h.01M14 11h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11 4 8l1-4 5 3h5l4-3 1 4-3 3v6a3 3 0 0 1-3 3h-4a3 3 0 0 1-3-3v-6Zm3 4h4M10 11h.01M14 11h.01' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.trust-pictogram-season{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7v5l3.5 2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M12 7v5l3.5 2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.trust-strip-section .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.trust-strip-section .trust-strip li{border-bottom:1px solid var(--line)}.trust-strip-section .trust-strip li:nth-last-child(-n+2){border-bottom:0}.trust-strip-section .trust-strip li:nth-child(2n){border-left:1px solid var(--line)}.trust-strip-section .hero-proof{max-width:none;margin:0}.trust-strip-section .hero-proof-rating{margin:0}.practical-info h2{margin-bottom:18px}.practical-facts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.reviews-header{display:grid;grid-gap:20px;gap:20px;margin-bottom:24px}.reviews-header h2{margin-bottom:12px}.reviews-intro{max-width:29em;margin:0;color:var(--muted)}.verified-rating{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:0;border:0;background:none}.verified-rating-value{color:var(--forest);font:700 1.5rem/1 Georgia,Times New Roman,serif}.verified-rating-source{margin-top:0;color:var(--muted);font-size:.84rem}.verified-rating-compact{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:20px;padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;font-size:.9rem}.verified-rating-compact .verified-rating-value{font-size:1.3rem}.verified-rating-compact .verified-rating-source{margin-top:0}.reviews-grid{display:grid;grid-gap:12px;gap:12px}.review-card{display:flex;min-width:0;min-height:250px;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reference-decision-reviews .review-card{min-height:0}.review-card blockquote,.review-card blockquote p{margin:0}.review-card blockquote p{text-align:left;color:var(--ink);font:500 1.08rem/1.55 Georgia,Times New Roman,serif}.review-card footer{display:grid;grid-gap:4px;gap:4px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}.review-card footer>strong{color:var(--ink);font-size:.95rem}.review-source{display:flex;flex-wrap:wrap;gap:4px}.review-source a,.verified-rating-source a{font-weight:800}.family-story{display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:24px;border-radius:var(--radius);background:var(--background-deep);color:var(--ink)}.family-story h3,.family-story p{margin:0}.family-story p{max-width:34em;color:var(--muted)}.campcation-alternative{display:grid;width:auto;max-width:none;padding-block:16px 0;margin:4px 0 0;grid-gap:10px;gap:10px;justify-items:start;border-top:1px solid var(--line)}.campcation-alternative p{max-width:31em;margin:0;color:var(--muted);font-size:.9rem}.campcation-alternative p strong{color:var(--ink)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary,.standalone-calculator-disclosure>summary{display:flex;min-height:var(--tap);align-items:center;justify-content:space-between;gap:16px;padding-block:8px;cursor:pointer;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker,.standalone-calculator-disclosure>summary::-webkit-details-marker{display:none}.faq-list summary:after,.standalone-calculator-disclosure>summary:after{color:var(--forest);content:"+";font-size:1.4rem;font-weight:400;line-height:1}.faq-list details[open] summary:after,.standalone-calculator-disclosure[open]>summary:after{content:"–"}.faq-list details[open] summary,.faq-list summary:hover,.standalone-calculator-disclosure>summary:hover,.standalone-calculator-disclosure[open]>summary{color:var(--forest)}.faq-list p{max-width:36em;margin:0;padding-bottom:18px;color:var(--muted)}.section-kicker-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}.section-kicker-row .eyebrow{margin:0}.section-rule{display:block;height:1px;flex:1 1;background:var(--line)}.card-index{display:block;margin-bottom:14px;color:var(--muted);font:800 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--type-helper);letter-spacing:.1em}.section-heading{display:grid;grid-gap:16px;gap:16px;margin-bottom:24px}.amenities h2,.contact h2,.direct-booking-section h2,.location h2,.section-heading h2{margin-bottom:0}.section-heading>p{max-width:23em;margin:0;color:var(--muted)}.offer-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px}.offer-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.offer-card>picture{border-radius:var(--radius) var(--radius) 0 0}.gallery-card>picture,.offer-card>picture{aspect-ratio:3/2;overflow:hidden;background:var(--mist)}.offer-card>picture{aspect-ratio:auto;height:160px}.offer-season-note{margin:16px 0 0;color:var(--muted);font-size:.88rem}.offer-card>picture img{width:100%;height:100%;object-fit:cover}.offer-card:first-child>picture img{object-position:center 56%}.offer-card:nth-child(2)>picture img{object-position:center 48%}.offer-card:nth-child(3)>picture img{object-position:center 60%}.offer-card-copy{display:flex;height:100%;flex-direction:column;padding:20px}.offer-card h3{margin-bottom:8px}.offer-card p{margin:0;color:var(--muted)}.offer-facts{display:flex;flex:1 1;flex-direction:column;margin:14px 0;border-top:1px solid var(--line)}.offer-fact{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:5px;gap:5px;padding-block:8px;border-bottom:1px solid var(--line)}.offer-fact dd,.offer-fact dt{margin:0}.offer-fact dt{color:var(--muted);font-size:var(--type-helper);font-weight:850;letter-spacing:.045em;line-height:1.25;text-transform:uppercase}.offer-fact dd{color:var(--ink);font-size:.9rem;line-height:1.42}.offer-price-fact dd{display:grid;grid-gap:7px;gap:7px}.offer-price-fact{margin-top:auto}.offer-example-price{color:var(--forest);font-family:var(--font-display);font-size:var(--type-price);font-weight:700;letter-spacing:var(--tracking-heading);line-height:1}.offer-card-action{display:inline-flex;min-height:var(--tap);align-items:center;align-self:flex-start;margin-top:12px;padding-block:8px;line-height:1.3;text-wrap:balance}.gallery-band{padding-block:clamp(20px,2vw,28px)}.gallery-block{margin-top:0}.gallery-grid{display:grid;grid-auto-columns:minmax(82vw,1fr);grid-auto-flow:column;grid-gap:12px;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}.gallery-grid:focus-visible{outline:3px solid var(--forest);outline-offset:6px}.gallery-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);scroll-snap-align:start}.gallery-card>picture img{width:100%;height:100%;object-fit:cover}.gallery-card:first-child>picture img{object-position:50% 53%}.gallery-card:nth-child(2)>picture img{object-position:58% 53%}.gallery-card:nth-child(3)>picture img{object-position:50% 48%}.gallery-card:nth-child(4)>picture img{object-position:50% 51%}.gallery-card-copy{padding:9px 12px 11px}.gallery-card h3{margin-bottom:0;font-size:.95rem}.amenities{padding-block:40px;border-block:1px solid var(--line);background:var(--white);color:var(--ink)}.amenities-layout{display:grid;grid-gap:30px;gap:30px}.eyebrow-light{color:var(--muted)}.amenities-copy>p:not(.eyebrow){max-width:22em;margin:14px 0 22px;color:var(--muted)}.amenities-copy>picture{aspect-ratio:16/10;max-height:240px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.amenities-copy>picture img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.amenities-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.amenity{display:grid;min-height:76px;grid-template-columns:28px 1fr;grid-gap:12px;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.amenity-marker{display:block;width:9px;height:15px;margin:0 auto 3px 2px;border:solid var(--forest);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.amenity small,.amenity strong{display:block}.amenity strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.amenity small{margin-top:3px;color:var(--muted);font-size:.82rem}.facility-details{grid-column:1/-1;margin-top:4px;border-top:1px solid var(--line)}.facility-detail{border-bottom:1px solid var(--line)}.facility-detail summary{display:flex;min-height:var(--tap);align-items:center;gap:12px;padding-block:12px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.05rem;list-style:none;cursor:pointer}.facility-detail summary::-webkit-details-marker{display:none}.facility-detail summary:focus-visible{outline:3px solid var(--forest);outline-offset:2px;border-radius:4px}.facility-detail summary:before{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--forest);content:"";transition:transform .15s ease}.facility-detail[open] summary:before{transform:rotate(90deg)}.facility-detail p{margin:0;padding:0 0 16px 19px;color:var(--muted);font-size:.92rem}.location{display:grid;grid-gap:28px;gap:28px;align-items:center}.location-visual{display:grid;grid-gap:10px;gap:10px;margin:0;grid-template-columns:minmax(0,1fr);justify-items:start}.location-map-frame{position:relative;width:100%}.location-map-pin{position:absolute;z-index:1;top:50%;left:50%;width:40px;height:40px;color:var(--forest);filter:drop-shadow(0 2px 2px rgba(18,63,54,.26));pointer-events:none;transform:translate(-50%,-100%)}.location-map-pin svg{display:block;width:100%;height:100%;fill:var(--surface);stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.location-map{display:block;width:100%;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);border-radius:var(--radius);background:var(--mist)}.site-photo.location-map img{width:100%;height:100%;filter:none;object-fit:cover}.map-attribution{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;margin:0;color:var(--muted);font-size:var(--type-helper)}.map-region-label{font-weight:700}.map-attribution a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.location .directions-map{display:none}.location-copy>p:not(.eyebrow){margin:16px 0 24px;color:var(--muted)}.location-facts{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.location-facts div{display:flex;flex-direction:column}.location-facts strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.location-facts span{color:var(--muted);font-size:.78rem}.map-link,.text-link{display:inline-flex;min-height:var(--tap);align-items:center;padding-block:10px;color:var(--pine);font-weight:750;text-decoration:underline;text-underline-offset:4px}.text-link-dark{margin-top:14px}.pricing-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.pricing-details-link{padding-inline:16px}.standalone-calculator-disclosure{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.standalone-calculator-disclosure>summary{padding-inline:16px}.standalone-calculator-disclosure>.stay-calculator{border:0;border-top:1px solid var(--line);border-radius:0}.pricing-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.78rem}.price-table-wrap{width:100%;overflow-x:auto}.price-table-wrap:focus-visible{outline:3px solid var(--forest);outline-offset:-3px}.price-note{display:block;margin-top:3px;color:var(--muted);font-weight:400}.pricing-season-note{margin:0;padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.price-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:.875rem;line-height:1.4}.price-table td,.price-table th{padding:7px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;overflow-wrap:break-word}.price-table thead th{background:var(--background-deep);color:var(--muted);font-size:inherit;font-weight:800}.price-table tbody th{width:45%;font-weight:700}.price-table td:nth-child(2),.price-table th:nth-child(2){width:20%}.price-table td:nth-child(3),.price-table th:nth-child(3){width:35%}.price-table tbody td{white-space:nowrap}.price-table tbody tr:last-child td,.price-table tbody tr:last-child th{border-bottom:0}.pricing-examples{display:grid;grid-gap:12px;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:var(--background)}.pricing-examples h3,.pricing-examples p{margin:0}.pricing-examples p{margin-top:6px;color:var(--muted);font-size:.82rem}.pricing-examples ol{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.pricing-examples li{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}.pricing-examples li span{color:var(--muted);font-size:.82rem}.pricing-examples li strong{font-size:.92rem}.direct-booking-section{display:grid;grid-gap:24px;gap:24px;border-top:1px solid var(--line)}.reference-decision-grid{display:grid;grid-gap:0;gap:0;overflow:hidden;padding-block:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reference-decision-grid>section{min-width:0;padding:24px}.reference-decision-grid>section+section{border-top:1px solid var(--line)}.reference-decision-grid .direct-booking-section{border-top:0}.reference-booking-heading>p:last-child,.reference-gallery-heading>p:last-child{margin-bottom:0;color:var(--muted)}.reference-gallery-heading{margin-bottom:18px}.reference-gallery-heading h2{margin-bottom:0}.reference-decision-grid .booking-form{padding:0;border:0;border-radius:0;box-shadow:none}.reference-decision-grid .booking-step-actions-end>.booking-submit{width:100%;justify-content:center;text-align:center}.reference-decision-grid .campcation-alternative .channel-link{width:100%}.reference-decision-grid .reviews-section:before{display:none}.gallery-block-lower .gallery-grid{grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible}.gallery-block-lower .gallery-card-copy{padding:8px 10px 10px}.gallery-block-lower .gallery-card h3{font-size:.84rem;line-height:1.25}.gallery-block-lower h2,.location h2,.reference-closing-grid h2,.reference-decision-grid h2,.reference-info-grid h2{margin-bottom:0;max-width:12em;line-height:1.12;text-wrap:balance}.faq-section>h2,.reference-practical-extra>h2{margin-bottom:12px}.reference-closing-grid,.reference-extra-editorial,.reference-info-grid{display:grid;grid-gap:14px;gap:14px}.reference-closing-grid>section,.reference-info-grid>section{min-width:0;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reference-closing-grid .contact-card,.reference-closing-grid>.container,.reference-info-grid .amenities-layout,.reference-info-grid>.container{width:auto;margin:0}.reference-closing-grid .contact,.reference-info-grid .amenities{border-block:1px solid var(--line)}.reference-info-grid .amenities-layout{gap:18px}.reference-info-grid .amenity{min-height:62px}.reference-info-grid .pricing-section:before,.reference-info-grid .reviews-section:before{display:none}.reference-closing-grid .faq-section,.reference-closing-grid .video-section{padding-block:22px}.reference-closing-grid .contact-card{padding:0;border:0;box-shadow:none}.reference-extras{display:grid;grid-gap:28px;gap:28px;margin-top:0;border-top:1px solid var(--line)}.gallery-block-lower,.location,.reference-closing-grid,.reference-extras,.reference-info-grid{padding-block:14px}.reference-extras>div,.reference-extras>section{min-width:0}.reference-extra-editorial{align-items:start}.reference-amenities-photo{margin:0}.reference-amenities-photo picture{overflow:hidden;aspect-ratio:16/9;border-radius:var(--radius)}.reference-amenities-photo img{width:100%;height:100%;object-fit:cover}.reference-amenities-photo figcaption{margin-top:10px;color:var(--muted);font-size:.82rem}.reference-extra-reviews>p{color:var(--muted)}.reference-practical-extra h2{margin-bottom:18px}.direct-booking-intro>p:not(.eyebrow){max-width:26em;margin:14px 0 0;color:var(--muted)}.direct-booking-intro .honesty-note{padding-left:14px;border-left:3px solid var(--forest);font-size:.9rem}.booking-form{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 18px 48px rgba(18,63,54,.08)}.booking-form,.booking-step{display:grid;grid-gap:16px;gap:16px}.booking-form [hidden],.booking-step[hidden]{display:none!important}@media (scripting:enabled){.booking-form:not([data-enhanced=true]) .booking-step[aria-labelledby=booking-contact-step-title]{display:none}.booking-form:not([data-enhanced=true]) #booking-contact-step:target{display:grid}.booking-price-breakdown{min-height:164px}.booking-form:not([data-enhanced=true]) .booking-step-fallback{display:inline-flex}}.booking-payment-alternatives-heading,.booking-step-heading>h4{margin:0}.booking-step-heading>h4{display:inline}.booking-step-cue{-webkit-margin-start:6px;margin-inline-start:6px;font-size:var(--type-helper);font-weight:600}.booking-required,.booking-required-note,.booking-step-cue{color:var(--muted)}.booking-required{-webkit-margin-start:.2em;margin-inline-start:.2em}.booking-required-note{font-size:var(--type-helper);font-weight:700}.booking-optional-details,.booking-payment-alternatives{display:grid;grid-gap:12px;gap:12px}.booking-optional-details{padding:14px;border:1px solid var(--line);border-radius:4px}.booking-optional-details summary{cursor:pointer;font-weight:800}.booking-payment-alternatives{padding-top:12px;border-top:1px solid var(--line)}.booking-payment-alternatives-heading{color:var(--muted);font-size:var(--type-helper);font-weight:800}.booking-step-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.booking-step-actions-end{justify-content:flex-end}.booking-step-fallback{display:none;align-items:center;text-decoration:none}.booking-form-heading h3,.booking-form-heading p{margin-bottom:0}.booking-form-heading p{margin-top:8px;color:var(--muted)}.booking-legal-notice,.booking-price-breakdown{padding:14px;border:1px solid var(--line);border-radius:4px;background:var(--background)}.booking-legal-notice>strong{display:block;color:var(--ink);font-size:.78rem}.booking-legal-notice p,.booking-price-breakdown>p{margin:6px 0 0;color:var(--muted);font-size:var(--type-helper)}.booking-legal-notice div{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}.booking-legal-notice a{min-height:var(--tap);display:inline-flex;align-items:center;font-weight:800;text-decoration:underline;text-underline-offset:3px}.booking-price-breakdown h4{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.12rem}.booking-price-breakdown dl{display:grid;grid-gap:6px;gap:6px;margin:12px 0}.booking-price-breakdown dl div{display:flex;justify-content:space-between;gap:16px;padding-bottom:6px;border-bottom:1px solid var(--line)}.booking-price-breakdown dd,.booking-price-breakdown dt{margin:0;font-size:.82rem}.booking-payment-probe--loading{display:none}.booking-price-breakdown dd{flex:0 0 auto;font-weight:800}.booking-price-total{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:baseline}.booking-contact-total dd,.booking-price-total>strong{font-size:1.625rem}.booking-price-total span{font-family:var(--font-display);font-size:var(--type-price);font-weight:900}.booking-price-total small{grid-column:1/-1;font-size:var(--type-helper)}.booking-price-free{padding-top:8px;border-top:1px solid var(--line)}.booking-fields{display:grid;grid-gap:14px;gap:14px}.booking-form label,.booking-form legend{color:var(--ink);font-size:.82rem;font-weight:750}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form select,.booking-form textarea{display:block;width:100%;min-height:var(--tap);margin-top:6px;padding:10px 12px;border:1px solid var(--muted);border-radius:4px;background:#fff;color:var(--ink);font:inherit}#booking-contact-step input:not([type=checkbox]):not([type=radio]),#booking-contact-step textarea{font-size:1rem}.booking-form textarea{min-height:96px;resize:vertical}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{outline:3px solid var(--forest);outline-offset:2px;border-color:var(--forest)}.booking-form fieldset{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:4px}.booking-check,.booking-radio{display:flex;min-height:var(--tap);gap:10px;align-items:flex-start}.booking-rate{font-size:var(--type-helper);font-weight:400;color:var(--muted);white-space:nowrap}.booking-check input,.booking-radio input{width:24px;height:24px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--forest)}.booking-radio span{display:grid;grid-gap:2px;gap:2px}.booking-radio small{color:var(--muted);font-weight:500}.booking-secondary-button,.booking-submit{min-height:52px;padding:12px 22px;border:1px solid var(--forest);border-radius:var(--radius);background:var(--forest);color:var(--white);font:inherit;font-weight:800;cursor:pointer}.booking-submit:disabled{cursor:wait;opacity:.68}.booking-secondary-button{background:transparent;color:var(--pine)}.booking-error{margin:0;padding:12px 14px;border-left:4px solid #a93620;background:#fff1ed;color:#7c2515;font-weight:700}.booking-success h3{margin-bottom:0}.booking-success dl,.booking-success dl div{display:grid;grid-gap:4px;gap:4px}.booking-success dl{margin:0;gap:12px}.booking-success dt{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.booking-success dd{margin:0;font-size:1.1rem;font-weight:800}.booking-payment-instructions{padding:14px;border:1px solid var(--line);border-radius:4px;background:var(--background)}.booking-payment-instructions ul{margin:8px 0 0;padding-left:20px}.booking-payment-note{display:grid;grid-gap:2px;gap:2px;margin:0;color:var(--muted);font-size:.82rem}.booking-payment-note strong{color:var(--ink)}.channel-grid{display:grid;grid-gap:10px;gap:10px}.campcation-alternative .channel-link,.channel-grid .channel-link{background:var(--surface)}.campcation-alternative .channel-link:focus-visible,.campcation-alternative .channel-link:hover,.channel-grid .channel-link:focus-visible,.channel-grid .channel-link:hover{border-color:var(--forest);text-decoration:none}.contact{padding-bottom:28px}.contact-card{display:grid;grid-gap:28px;gap:28px;padding:28px var(--gutter);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.contact-card>div>p:last-child{max-width:26em;margin-bottom:0}address{display:flex;flex-direction:column;gap:4px;padding-top:22px;border-top:1px solid var(--line);font-style:normal}.address-label,.contact-person>span{font-size:.73rem;letter-spacing:.07em;text-transform:uppercase}address strong{margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:500}.contact-person{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;align-items:center}.contact-person a,address>a{display:inline-flex;min-height:var(--tap);align-items:center;font-weight:750;text-decoration:underline;text-underline-offset:4px}address>a{overflow-wrap:anywhere}.footer{padding:20px 0 calc(24px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--ink);font-size:.74rem}.footer-inner{justify-content:space-between}.footer-inner,.footer-links{display:flex;flex-wrap:wrap;gap:8px 16px}.footer-links a,.hero-proof-source a,.map-attribution a,.review-card footer a{display:inline-flex;align-items:center;min-height:24px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.public-info-page{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:28px;gap:28px;min-height:100vh;padding-block:32px 72px}.public-info-page>header{max-width:760px}.public-info-page h1{margin-bottom:14px;color:var(--ink);font-size:var(--type-display)}.public-info-page>header>p:last-child{color:var(--muted)}.video-section{padding-block:0 clamp(28px,3vw,44px)}.video-section>*{max-width:720px}.video-section .section-heading{display:block;margin-bottom:14px}.video-section .section-heading>p{margin-top:6px}.seo-landing-links{padding-block:18px 26px}.seo-landing-links ul{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:.78rem}.seo-landing-links li+li:before{content:"· "}.seo-landing-photo{max-width:860px;overflow:hidden;border-radius:var(--radius)}.seo-landing-photo img{display:block;width:100%;height:auto;max-height:520px}.public-info-back{width:-moz-fit-content;width:fit-content;min-height:var(--tap);display:inline-flex;align-items:center;font-weight:800;text-decoration:underline;text-underline-offset:4px}.public-info-page .language-switch{justify-self:end;border-color:rgba(23,49,40,.35)}.public-info-page .language-switch a{color:rgba(23,49,40,.8)}.public-info-page .language-switch a.active,.public-info-page .language-switch a:focus-visible,.public-info-page .language-switch a:hover{background:var(--ink);color:var(--white)}.legal-review-banner{max-width:760px;margin:0;padding:14px 16px;border-left:4px solid #a93620;background:#fff1ed;color:#7c2515;font-weight:800}.legal-sections{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px;max-width:860px}.legal-sections section{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.legal-sections h2{margin-bottom:10px;font-size:var(--type-card)}.legal-sections p{margin:10px 0 0;color:var(--muted)}@media (min-width:376px){.amenities{padding-block:40px}}@media (min-width:360px) and (max-width:899px){.hero-availability-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-availability-field-guests,.hero-availability-field-unit,.hero-availability-submit{grid-column:1/-1}}@media (min-width:560px){.offer-fact{grid-template-columns:minmax(76px,.7fr) minmax(0,1.3fr);gap:12px}.gallery-grid{grid-auto-columns:minmax(42vw,1fr)}.hero-availability-field-guests,.hero-availability-field-unit{grid-column:auto}.booking-fields-two{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-examples ol{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-card{padding:36px}}@media (min-width:640px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.offer-card>picture{height:200px}}@media (min-width:640px) and (max-width:899px){.offer-card:last-child:nth-child(odd){grid-column:1/-1}}@media (min-width:900px){html{scroll-padding-top:100px;scroll-padding-bottom:0}body{min-width:0}.site-nav{min-height:88px;grid-template-columns:auto 1fr auto;gap:24px}.site-nav .brand-descriptor{display:none}.brand-mark{width:60px;height:46px;flex-basis:60px}.brand-mark img{width:184px}.nav-links{grid-column:auto;grid-row:auto;justify-content:flex-end;gap:2px}.nav-toggle{display:none}.nav-menu[data-open=false]>*{display:flex}.site-nav .language-switch{grid-column:auto}.nav-links a{padding-inline:9px;font-size:.8rem}.hero{min-height:clamp(520px,76svh,760px)}.amenities{padding-block:clamp(32px,2.6vw,40px)}.trust-strip-section{padding-block:28px;grid-template-columns:auto minmax(0,1fr)}.trust-strip-section .trust-strip{grid-auto-flow:column;grid-auto-columns:max-content}.booking-trust-summary .trust-strip{grid-template-columns:minmax(0,1fr)}.direct-booking-section .campcation-alternative{grid-column:auto}.reviews-header{grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;margin-bottom:30px}.reviews-header>:only-child{grid-column:1/-1}.reviews-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trust-strip-section .trust-strip li{border-bottom:0}.trust-strip-section .trust-strip li+li{border-left:1px solid var(--line)}.family-story{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:40px;align-items:baseline;padding:30px}.section-heading{grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;margin-bottom:30px}.offer-card-copy{padding:24px}.gallery-grid{grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding-bottom:0}.gallery-card-copy{padding:10px 14px 12px}.amenities-layout{grid-template-columns:1fr 1.2fr;gap:clamp(48px,8vw,100px);align-items:start}.location{grid-template-columns:1.25fr .75fr;gap:clamp(44px,7vw,96px)}.location-facts{grid-template-columns:1fr 1fr}.direct-booking-section{grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.direct-booking-section .channel-grid{grid-column:auto}.contact-card{grid-template-columns:1.4fr 1fr;gap:56px;padding:clamp(36px,5vw,56px);align-items:end}address{padding-top:0;padding-left:28px;border-top:0;border-left:1px solid var(--line)}.mobile-sticky-cta{display:none}main{padding-bottom:0}:root{--content-width:1296px}.trust-strip-section{margin-top:58px;padding-block:22px;border-bottom:1px solid var(--line)}.trust-strip-section .trust-strip{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(4,minmax(0,1fr))}.trust-strip-section .trust-strip li{color:var(--ink);font-weight:650}.trust-strip-section .trust-strip li:before{width:10px;height:10px;border:0;background:var(--forest)}.offer-section{padding-block:16px}.offer-section .section-heading{align-items:start;margin-bottom:18px}.offer-section h2{font-size:1.9rem}.offer-section .eyebrow,.offer-section .offer-season-note{display:none}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-availability{padding:22px 26px}.hero-availability-fields{grid-template-columns:1fr 1fr 1.25fr .72fr auto}.hero-availability-submit{width:auto}.site-nav{min-height:64px;padding-block:8px}.brand-mark{width:48px;height:36px;flex-basis:48px}.brand-mark img{width:144px}.hero{min-height:clamp(480px,60svh,620px);overflow:visible}.hero-b-grid{min-height:clamp(416px,52svh,556px)}.hero-availability{margin-bottom:-44px;transform:translateY(44px);box-shadow:0 14px 34px rgba(18,63,54,.16)}.reference-decision-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);margin-block:24px}.reference-decision-grid>section{padding:18px}.reference-decision-grid>section+section{border-top:0;border-left:1px solid var(--line)}.reference-decision-grid .direct-booking-section{grid-template-columns:minmax(0,1fr);gap:10px}.reference-decision-grid>.reviews-section{padding:18px}.reference-decision-grid .reviews-header{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:14px}.reference-decision-grid .reviews-header h2{margin-bottom:0}.reference-decision-grid .reference-reviews-grid{grid-template-columns:minmax(0,1fr)}.reference-decision-grid .review-card{padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.reference-decision-grid .review-card blockquote p{display:-webkit-box;overflow:hidden;font-size:.86rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:4}.reference-decision-grid .review-card footer{margin-top:8px;padding-top:6px;font-size:.75rem}.reference-decision-grid .verified-rating-compact{margin-top:12px;padding-top:12px}.reference-decision-grid h2{font-size:1.9rem}.reference-decision-grid .booking-form-heading>h3,.reference-decision-grid .booking-form-heading>p:not(#booking-submission-disabled){display:none}.reference-decision-grid .booking-step{gap:7px}.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>.booking-fields:first-of-type,.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>.booking-price-breakdown,.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>.booking-step-actions,.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>.booking-step-heading,.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>fieldset{grid-column:1/-1}.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]>.booking-step-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reference-decision-grid .booking-step>.booking-fields:nth-of-type(2){grid-template-columns:repeat(3,minmax(0,1fr))}.reference-decision-grid .booking-step>fieldset{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:7px;padding:8px}.reference-decision-grid .booking-step>fieldset legend{grid-column:1/-1}.reference-decision-grid .booking-fields{gap:7px}.reference-decision-grid .booking-form input:not([type=checkbox]):not([type=radio]),.reference-decision-grid .booking-form select{min-height:44px;margin-top:4px;padding:7px 9px}.reference-decision-grid .booking-price-breakdown{padding:8px 10px}.reference-decision-grid .booking-price-free{display:none}.reference-decision-grid .campcation-alternative{grid-column:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:8px}.reference-decision-grid .campcation-alternative .channel-link{padding:5px 9px}.reference-booking-heading .eyebrow,.reference-decision-grid .campcation-alternative .channel-link small,.reference-decision-grid .campcation-alternative>p{display:none}.reference-booking-heading>p:last-child{margin-top:8px;font-size:.82rem;line-height:1.35}.gallery-block-extra .gallery-grid,.gallery-block-lower .gallery-grid,.reference-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-gallery-grid{gap:10px}.reference-gallery-heading .eyebrow{display:none}.reference-gallery-grid .gallery-card>picture{height:clamp(148px,13vw,180px);aspect-ratio:auto}.reference-gallery-grid .gallery-card-copy{padding:7px 9px 9px}.reference-gallery-grid .gallery-card h3{font-size:.78rem}.reference-closing-grid,.reference-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.reference-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-closing-grid .contact-card,.reference-closing-grid .section-heading,.reference-info-grid .amenities-layout,.reference-info-grid .reviews-header,.reference-info-grid .section-heading{grid-template-columns:minmax(0,1fr);gap:16px}.reference-closing-grid>section,.reference-info-grid>section{padding:16px}.reference-info-grid .amenities-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 12px;gap:0 12px}.reference-info-grid .amenity{min-height:48px;grid-template-columns:18px 1fr;gap:7px}.reference-info-grid .amenity strong{font-size:.88rem}.reference-info-grid .amenity small{font-size:.72rem;line-height:1.25}.reference-closing-grid h2,.reference-info-grid h2{font-size:var(--type-card)}.reference-closing-grid .section-heading,.reference-info-grid .reviews-header,.reference-info-grid .section-heading{margin-bottom:18px}.reference-reviews-grid{grid-template-columns:minmax(0,1fr)}.reference-reviews-grid .review-card{min-height:0;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.reference-reviews-grid .review-card blockquote p{display:-webkit-box;overflow:hidden;font-size:.8rem;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:3}.reference-reviews-grid .review-card footer{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:7px;padding-top:6px;font-size:.72rem}.reference-reviews-grid .review-source{display:inline-flex}.reference-info-grid .verified-rating-compact{margin-top:10px;padding-top:10px}.reference-closing-grid address{gap:1px;padding-top:12px;padding-left:0;border-top:1px solid var(--line);border-left:0}.reference-extra-editorial{gap:28px}.reference-extra-editorial,.reference-extras{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-extras{gap:24px 28px}.reference-extras>.direct-booking-copy,.reference-extras>.reference-extra-editorial{grid-column:1/-1}.reference-extras>.direct-booking-copy{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.reference-extras .booking-trust-summary{padding:0 0 0 24px;border-top:0;border-left:1px solid var(--line)}.reference-extras h2{font-size:2rem}.offer-card>picture{height:132px}.offer-card-copy{padding:13px 14px}.offer-card-copy .card-index{margin-bottom:7px}.offer-card-copy>p{font-size:.82rem;line-height:1.32}.offer-facts{margin-block:8px}.offer-fact:not(.offer-price-fact) dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.offer-fact:not(.offer-price-fact) dd{position:relative;padding-left:18px}.offer-fact:not(.offer-price-fact) dd:before{position:absolute;top:.1em;left:2px;color:var(--forest);content:"✓";font-weight:900}.offer-fact{grid-template-columns:minmax(0,1fr);gap:2px;padding-block:5px}.offer-fact dt:not(:only-child){font-size:.65rem}.offer-fact dd{font-size:.78rem;line-height:1.25}.offer-card-action{padding-block:4px}.location{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:0;align-items:stretch;overflow:hidden;padding-block:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 14px 34px rgba(18,63,54,.08)}.location-copy>.eyebrow{display:none}.location-map{height:100%;min-height:410px;aspect-ratio:auto;border:0;border-radius:0}.location-map-frame{height:100%}.location-visual{grid-template-rows:minmax(0,1fr) auto;gap:0;background:var(--background-deep)}.location-visual .map-attribution{padding:8px 12px;border-top:1px solid var(--line)}.location-copy{padding:26px}.location-copy>p:not(.eyebrow){margin-block:10px 14px}.directions-card{margin-top:10px;padding:16px}.reference-info-grid .price-table td,.reference-info-grid .price-table th{padding:4px 5px}.reference-info-grid .price-note,.reference-info-grid .price-table td:nth-child(3),.reference-info-grid .price-table th:nth-child(3),.reference-info-grid .pricing-season-note,.reference-info-grid .section-heading>p{display:none}.reference-info-grid .price-table td:first-child,.reference-info-grid .price-table th:first-child{width:70%}.reference-info-grid .price-table td:nth-child(2),.reference-info-grid .price-table th:nth-child(2){width:30%}.reference-info-grid .pricing-card-header,.reference-info-grid .pricing-season-note{padding:9px 10px}.reference-closing-grid .faq-section,.reference-closing-grid .video-section{padding-block:16px}.reference-closing-grid .section-kicker-row{display:none}.reference-closing-grid .faq-list summary{min-height:var(--tap);padding-block:4px;font-size:.73rem;line-height:1.18}.reference-closing-grid .contact-card>div>p:last-child{font-size:.82rem;line-height:1.35}.reference-closing-grid .contact-person a,.reference-closing-grid address>a{min-height:var(--tap);font-size:.8rem}.location .directions-card h3{margin-bottom:7px}.location .directions-coords{gap:6px 10px;margin:8px 0 2px;padding-block:6px}.location .copy-coords,.location .directions-card nav .text-link-dark{padding-block:4px}.location .directions-card nav{margin-top:4px}.reference-decision-grid .booking-step[aria-labelledby=booking-stay-step-title]{grid-template-columns:minmax(0,1fr);gap:12px}.reference-decision-grid .booking-step .booking-fields>label,.reference-decision-grid .booking-step>label{min-width:0}.reference-decision-grid .booking-step>.booking-fields:nth-of-type(2){align-items:end}.reference-decision-grid .campcation-alternative{display:grid;grid-gap:10px;gap:10px;padding-top:12px}.reference-decision-grid .campcation-alternative .channel-link{padding:10px 12px}.reference-booking-heading>p:last-child{margin-top:10px;font-size:.9rem;line-height:1.45}.reference-decision-grid .review-card{min-height:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.reference-decision-grid .review-card blockquote p{display:block;overflow:visible;font-size:.95rem;line-height:1.45;-webkit-line-clamp:unset}.reference-decision-grid .review-card footer{display:grid;grid-gap:3px;gap:3px;margin-top:auto;padding-top:12px;font-size:.8rem}.reference-decision-grid .review-source{display:flex}}@media (min-width:900px) and (max-width:1099px){.reference-decision-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.reference-decision-grid .direct-booking-section{gap:12px}.reference-decision-grid .booking-fields{gap:10px 12px}.reference-decision-grid .booking-step>.booking-fields:nth-of-type(2){grid-template-columns:repeat(2,minmax(0,1fr))}.reference-decision-grid .booking-step>.booking-fields:nth-of-type(2)>label:last-child{grid-column:1/-1}.reference-decision-grid .booking-step>fieldset{grid-template-columns:minmax(0,1fr);gap:10px 12px;padding:12px}}@media (max-width:899px){.hero-availability:not(:has(#hero-check-in:valid):has(#hero-check-out:valid)) .hero-availability-price{display:none}.hero-b-scrim{display:none}.hero-b-grid{min-height:0;padding-block:0 0}.site-photo.hero-b-photo{position:static;order:1;margin-inline:calc(var(--gutter) * -1)}.site-photo.hero-b-photo img{height:auto;aspect-ratio:5/4}.hero-b-copy{order:2;padding-block:24px 16px}.hero-checkmarks{order:3;flex-direction:column;gap:10px;margin-top:14px}.hero-availability{order:4;margin-inline:calc(var(--gutter) * -1);margin-top:16px;padding-block:16px;border-inline:0;border-radius:0;padding-inline:var(--gutter)}}@media (max-width:480px){.brand-descriptor{display:none}.brand-name{white-space:nowrap;font-size:.9rem}}@media (max-width:359px){.site-nav{column-gap:8px;grid-template-columns:minmax(0,1fr) auto}.site-nav .brand{min-width:0}.brand-name{max-width:none;font-size:.8rem}.nav-toggle{justify-self:end;padding-inline:10px}.site-nav .language-switch{grid-column:1/-1;justify-self:start}.site-nav .nav-links{grid-row:3}.price-table td,.price-table th{padding-inline:5px}.price-table td:nth-child(2),.price-table th:nth-child(2){width:28%}.price-table td:nth-child(3),.price-table th:nth-child(3){width:27%}}@media (max-width:359px) and (scripting:enabled){.booking-price-breakdown{min-height:186px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}@media (min-width:900px) and (scripting:enabled){.reference-decision-grid .booking-price-breakdown{min-height:100px}}.stay-calculator{display:grid;grid-gap:16px;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.stay-calculator-heading h3,.stay-calculator-heading p{margin-bottom:0}.stay-calculator-heading p{margin-top:8px;color:var(--muted)}.stay-calculator-grid{display:grid;grid-gap:12px;gap:12px}.stay-calculator label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:.82rem;font-weight:750}.stay-calculator input,.stay-calculator select{min-width:0;min-height:var(--tap);width:100%;padding:10px 12px;border:1px solid var(--muted);border-radius:4px;background:#fff;color:var(--ink);font:inherit}.stay-calculator fieldset{display:grid;grid-gap:10px;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:4px}.stay-calculator legend{padding-inline:4px;font-size:.78rem;font-weight:800}.stay-calculator fieldset label{display:flex;min-height:36px;align-items:center;gap:10px}.stay-calculator fieldset input{min-height:24px;width:24px}.stay-calculator-result a,.stay-calculator>button{display:inline-flex;min-height:var(--tap);align-items:center;justify-content:center;padding:11px 15px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:800;text-align:center;cursor:pointer}.stay-calculator-result a:hover,.stay-calculator>button:hover{border-color:var(--forest-deep);background:var(--forest-deep)}.stay-calculator-result{display:grid;grid-gap:8px;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.stay-calculator-result>strong{font:500 clamp(1.4rem,6vw,2rem)/1.15 Georgia,Times New Roman,serif}.stay-calculator-result small,.stay-calculator-result>span{color:var(--muted)}.stay-calculator-result a{margin-top:6px}@media (min-width:560px){.stay-calculator fieldset,.stay-calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.directions-card{display:grid;margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.public-info-page>.directions-card{max-width:860px}.directions-card h3{margin:0 0 14px}.directions-address{display:flex;align-items:flex-start;gap:10px;margin:0}.directions-address strong{font-family:var(--font-display);font-size:1.15rem;font-weight:500}.directions-pin{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:var(--forest);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.directions-coords{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px;padding-block:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.directions-coords code{font:800 .95rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--forest)}.copy-coords{display:inline-flex;min-height:var(--tap);align-items:center;padding:8px 14px;border:1px solid var(--pine);border-radius:var(--radius);background:transparent;color:var(--pine);font:inherit;font-weight:800;cursor:pointer}.copy-coords:focus-visible,.copy-coords:hover{border-color:var(--pine);background:var(--pine);color:var(--white)}.copy-status{min-height:1em;color:var(--muted);font-size:var(--type-helper);font-weight:700}.directions-card nav{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.directions-card nav .text-link-dark{margin-top:0;width:100%;justify-content:flex-start;gap:4px;padding:10px;border:1px solid rgba(31,90,72,.34);border-radius:6px;background:var(--white);text-decoration:none}.directions-card nav .text-link-dark:focus-visible,.directions-card nav .text-link-dark:hover{border-color:var(--pine);background:var(--background-deep)}.route-link-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.directions-map{width:100%;height:auto;margin-top:16px;border:1px solid var(--line);border-radius:var(--radius)}@media (min-width:560px){.directions-card nav{grid-template-columns:repeat(auto-fit,minmax(156px,1fr))}}.booking-contact-stay-summary{padding:12px;border:1px solid var(--forest);border-radius:4px}.booking-contact-stay-summary h5{margin:0 0 8px}.booking-contact-stay-summary dl{display:grid;grid-gap:6px;gap:6px;margin:0}.booking-contact-stay-summary dl div{display:flex;justify-content:space-between;gap:12px}.booking-contact-stay-summary dt{color:var(--muted)}.booking-contact-stay-summary dd{margin:0;font-weight:700;text-align:end}.booking-success--pending-availability{border-style:dashed}.booking-success--confirmed-unpaid{border-style:solid}@media print{.booking-print-action{display:none}}@media (min-width:900px){.hero-b .site-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--background);border-bottom:1px solid var(--line)}}.video-facade,.video-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius);background:var(--forest-deep);overflow:hidden}.video-facade{position:relative;padding:0;cursor:pointer}.video-facade .site-photo,.video-facade img{display:block;width:100%;height:100%;object-fit:cover}.video-play{position:absolute;inset:0;display:grid;place-items:center}.video-play svg{width:72px;height:72px}.video-play circle{fill:var(--forest-deep)}.video-play path{fill:var(--white)}.video-credit{display:inline-block;margin:8px 6px 0 0;color:var(--muted);font-size:var(--type-helper)}