:root{--acacia:#263A29;--olive:#566B3D;--sand:#E7D3A3;--dry-grass:#C7A45D;--terracotta:#B65A32;--charcoal:#1F1F1A;--off-white:#FAF7EF;--stone:#D8C9A6;--shadow:0 18px 40px rgba(31, 31, 26, 0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif;color:var(--charcoal);background:var(--off-white);line-height:1.6}img{max-width:100%}a{color:var(--acacia)}main{display:block}.container{width:min(1100px,calc(100% - 2rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,247,239,.96);border-bottom:1px solid var(--stone);backdrop-filter:blur(12px)}.nav-shell{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.brand{font-size:1.1rem;font-weight:700;text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.site-nav a{text-decoration:none;font-weight:600}.hero,.section{padding:4rem 0}.hero{background:linear-gradient(135deg,rgba(38,58,41,.96),rgba(86,107,61,.84));color:#fff}.hero-grid,.page-hero-shell,.split-callout,.page-grid,.footer-grid{display:grid;gap:1.5rem}.hero-grid,.page-hero-shell{align-items:center}.hero-card,.card,.feature,.note-card,.content-card,.cta-banner{background:#fff;border:1px solid var(--stone);border-radius:1.25rem;box-shadow:var(--shadow)}.hero-card{padding:1.5rem;color:var(--charcoal)}.hero-photo{margin:0;overflow:hidden;background:#fff;border:1px solid rgba(231,211,163,.75);border-radius:1.25rem;box-shadow:var(--shadow);color:var(--charcoal)}.hero-photo picture,.hero-photo img{display:block;width:100%}.hero-photo img{aspect-ratio:3/2;height:100%;object-fit:cover}.hero-photo figcaption,.photo-card figcaption{padding:.75rem 1rem .9rem;color:var(--charcoal);font-size:.92rem}.eyebrow,.overline,.card-label{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:var(--dry-grass)}.hero .eyebrow,.hero .overline{color:var(--sand)}h1,h2,h3{line-height:1.15;margin-top:0}h1{font-size:clamp(2.4rem,5vw,4.4rem);margin-bottom:1rem}h2{font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:1rem}h3{font-size:1.25rem;margin-bottom:.75rem}.lead{font-size:1.1rem;max-width:42rem}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.button-row.compact{margin-top:1rem}.button-row.stacked{flex-direction:column}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.8rem 1.2rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:700}button.button{cursor:pointer;font:inherit}.button:disabled{cursor:progress;opacity:.72}.button-primary{background:var(--terracotta);color:#fff}.button-secondary{background:0 0;color:inherit;border-color:initial}.section-heading{margin-bottom:1.5rem}.section-heading.narrow{max-width:38rem}.card-grid,.feature-grid,.faq-list{display:grid;gap:1.25rem}.photo-gallery{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.photo-card{margin:0;overflow:hidden;background:#fff;border:1px solid var(--stone);border-radius:1rem;box-shadow:var(--shadow)}.photo-trigger{display:block;width:100%;padding:0;border:0;background:0 0;color:inherit;cursor:zoom-in}.photo-card picture,.photo-card img{display:block;width:100%}.photo-card img{aspect-ratio:3/2;height:100%;object-fit:cover;transition:transform 180ms ease,filter 180ms ease}.photo-trigger:hover img,.photo-trigger:focus-visible img{filter:brightness(.92);transform:scale(1.02)}.photo-trigger:focus-visible{outline:3px solid var(--terracotta);outline-offset:-3px}.photo-lightbox{width:min(1200px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;background:0 0;color:#fff}.photo-lightbox::backdrop{background:rgba(31,31,26,.82)}.photo-lightbox-panel{position:relative;display:grid;gap:.75rem;max-height:calc(100vh - 2rem)}.photo-lightbox picture,.photo-lightbox img{display:block;width:100%}.photo-lightbox img{max-height:calc(100vh - 6.5rem);object-fit:contain;background:#111}.photo-lightbox-close{position:absolute;top:.75rem;right:.75rem;z-index:1;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(31,31,26,.72);color:#fff;cursor:pointer;font-size:1.75rem;line-height:1}.photo-lightbox-close:focus-visible{outline:3px solid var(--sand);outline-offset:2px}.photo-lightbox-caption{margin:0;padding:0 .25rem;font-size:.95rem}.card,.feature,.note-card,.content-card{padding:1.5rem}.two-up,.feature-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section-contrast{background:rgba(231,211,163,.22)}.price{font-weight:700;color:var(--terracotta)}.tick-list{margin:0;padding-left:1.1rem}.tick-list.plain{margin-top:.75rem}.page-summary p:last-child,.note-card p:last-child,.content-card p:last-child{margin-bottom:0}.page-grid{align-items:start}.sidebar-stack{display:grid;gap:1.25rem}.prose h2,.prose h3{margin-top:2rem}.prose ul,.prose ol{padding-left:1.2rem}.faq-item{background:#fff;border:1px solid var(--stone);border-radius:1rem;padding:1rem 1.2rem}.faq-item summary{cursor:pointer;font-weight:700}.booking-hero .page-summary{display:grid;gap:.5rem}.booking-trust-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.booking-trust-list span,.calendar-legend span{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.25rem .7rem;border:1px solid rgba(231,211,163,.74);border-radius:999px;background:rgba(255,255,255,.1);font-weight:700;font-size:.88rem}.booking-app{display:grid;gap:1.25rem;align-items:start}.booking-panel{padding:1.25rem;background:#fff;border:1px solid var(--stone);border-radius:1rem;box-shadow:var(--shadow)}.booking-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.booking-panel-header h2,.booking-panel-header p{margin-bottom:0}.booking-reference{padding:.35rem .65rem;border-radius:999px;background:rgba(182,90,50,.11);color:var(--terracotta);font-weight:800}.camp-toggle{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.camp-toggle label{display:block;cursor:pointer}.camp-toggle input{position:absolute;opacity:0}.camp-toggle span{display:grid;min-height:3rem;place-items:center;padding:.6rem;border:1px solid var(--stone);border-radius:.75rem;background:var(--off-white);font-weight:800;text-align:center}.camp-toggle input:checked+span{border-color:var(--terracotta);background:rgba(182,90,50,.1);color:var(--terracotta)}.camp-toggle input:focus-visible+span,.calendar-day:focus-visible,.calendar-nav:focus-visible,.booking-form input:focus,.booking-form textarea:focus{outline:3px solid rgba(182,90,50,.34);outline-offset:2px}.calendar-actions{display:flex;gap:.45rem}.calendar-nav{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--stone);border-radius:999px;background:var(--off-white);color:var(--charcoal);cursor:pointer;font:inherit;font-weight:900}.calendar-status,.booking-summary-strip,.booking-message{margin:0 0 1rem;padding:.75rem .9rem;border-radius:.75rem;background:rgba(231,211,163,.28);font-weight:650}.calendar-month{margin-bottom:.75rem;font-weight:900;font-size:1.12rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekdays{margin-bottom:.35rem;color:rgba(31,31,26,.68);font-size:.78rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{min-width:0;aspect-ratio:1/1;border:1px solid var(--stone);border-radius:.75rem;background:#fff;color:var(--charcoal);cursor:pointer;font:inherit;font-weight:850}.calendar-day.available{background:rgba(86,107,61,.1);border-color:rgba(86,107,61,.38)}.calendar-day.limited{background:rgba(199,164,93,.22);border-color:rgba(199,164,93,.7)}.calendar-day.unavailable,.calendar-day:disabled{background:rgba(216,201,166,.34);color:rgba(31,31,26,.42);cursor:not-allowed;text-decoration:line-through}.calendar-day.is-outside{opacity:.38}.calendar-day.is-start,.calendar-day.is-end,.calendar-day.is-selected{border-color:var(--terracotta);background:var(--terracotta);color:#fff;text-decoration:none}.calendar-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.calendar-legend span{background:0 0;border-color:var(--stone)}.legend-dot{width:.7rem;height:.7rem;border-radius:999px}.legend-dot.available{background:var(--olive)}.legend-dot.limited{background:var(--dry-grass)}.legend-dot.unavailable{background:var(--stone)}.booking-form{display:grid;gap:1rem}.field-grid{display:grid;gap:.85rem}.booking-form label,.payment-choice{display:grid;gap:.35rem;margin:0}.booking-form label span,.payment-choice legend{font-weight:800}.booking-form input,.booking-form textarea{width:100%;min-height:2.8rem;padding:.7rem .8rem;border:1px solid var(--stone);border-radius:.65rem;background:#fff;color:var(--charcoal);font:inherit}.booking-form textarea{resize:vertical}.payment-choice{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem;border:1px solid var(--stone);border-radius:.75rem}.payment-choice legend{padding:0 .35rem}.payment-choice label,.checkbox-field{display:flex;gap:.5rem;align-items:flex-start}.payment-choice input,.checkbox-field input{width:auto;min-height:auto;margin-top:.35rem}.booking-message:empty{display:none}.booking-message a{font-weight:800}.final-cta{padding-top:0}.cta-banner{display:grid;gap:1rem;padding:1.75rem;background:linear-gradient(135deg,rgba(231,211,163,.42),rgba(255,255,255,.95))}.site-footer{padding:3rem 0;background:var(--acacia);color:#fff}.site-footer a,.site-footer span{color:#fff}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li+li{margin-top:.45rem}.footer-contact a{text-decoration:none}@media(max-width:799px){.nav-shell{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:0 0;border:none;cursor:pointer;padding:4px;z-index:30;color:var(--charcoal)}.hamburger-icon{display:block;flex-shrink:0}.menu-toggle:focus-visible{outline:2px solid var(--acacia);outline-offset:4px}.menu-toggle .hamburger-bar{transform-box:fill-box;transform-origin:center;transition:transform .25s ease-in-out,opacity .25s ease-in-out}.menu-toggle.is-active .hamburger-bar:nth-child(1){transform:translateY(8px)rotate(45deg)}.menu-toggle.is-active .hamburger-bar:nth-child(2){opacity:0}.menu-toggle.is-active .hamburger-bar:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.site-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--stone);margin-top:.5rem}.site-nav.is-active{display:flex}.site-nav a{width:100%;padding:.35rem 0}.site-nav .button-primary{display:inline-flex;justify-content:center;width:auto;align-self:stretch;margin-top:.5rem}}@media(min-width:800px){.menu-toggle{display:none}.nav-shell{flex-direction:row;justify-content:space-between;align-items:center}.hero-grid,.page-hero-shell,.split-callout,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{grid-template-columns:minmax(0,1.75fr)minmax(280px,.9fr)}.booking-app{grid-template-columns:minmax(0,.95fr)minmax(360px,1.05fr)}.field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-banner{grid-template-columns:minmax(0,1.5fr)auto;align-items:center}}