:root{--ink:#263c2e;--green:#304c38;--paper:#f8f7f2;--muted:#778073;--line:#dddfd4;--lime:#dce5b8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9ba971;outline-offset:4px}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;line-height:.85;font-family:Georgia,serif;font-size:32px;font-weight:bold}.brand svg{width:46px;fill:none;stroke:var(--ink);stroke-width:1.6}.brand-small{display:block;font:9px Arial;letter-spacing:6px;margin-top:9px;padding-left:3px}.header nav{display:flex;gap:38px;font-size:13px}.header nav a:hover,.text-link:hover{color:#83935c}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--green);color:white;padding:17px 24px;font-size:13px;border-radius:4px;transition:background .2s}.button:hover{background:#476347}.button.small{padding:12px 19px}.button.cream{background:var(--paper);color:var(--ink)}.button.cream:hover{background:var(--lime)}.hero{margin:0 24px;position:relative;min-height:660px;overflow:hidden;border-radius:5px;color:white;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-photo{object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(12,30,20,.68),rgba(12,30,20,.07)),linear-gradient(0deg,rgba(12,30,20,.4),transparent 45%)}.hero-content{z-index:1;padding:60px 6% 95px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 24px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:9px}.green{color:#63754f}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(70px,7.5vw,110px);letter-spacing:-5px;margin-bottom:26px}h1 em,h2 em{font-weight:400}h2{font-size:clamp(36px,4vw,53px);letter-spacing:-1.8px;margin-bottom:24px}h3{font-size:30px;margin-bottom:20px}.hero-description{color:#e6e9df;font-size:16px;line-height:1.7;margin-bottom:30px}.hero-bottom{position:absolute;bottom:27px;left:6%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#e2e6dc}.down{font-size:21px;margin-left:20px}.hero-stamp{position:absolute;right:7%;bottom:120px;transform:rotate(8deg);width:120px;height:120px;border:1px solid #edf0dc88;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:13px;line-height:1.35;letter-spacing:3px}.hero-stamp em{font:21px Georgia;letter-spacing:0}.amenities{display:flex;justify-content:space-around;margin:0 5%;padding:29px 0;border-bottom:1px solid var(--line);font-size:12px}.section{padding:85px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.intro-copy{max-width:510px;color:#667063}.intro-copy p{margin-bottom:18px}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #a8b09d;padding:7px 0;color:var(--ink);font-size:12px}.photo-story{display:grid;grid-template-columns:1fr 1fr;margin:0 7%;background:#eeefe6;border-radius:5px;overflow:hidden}.photo-story img{width:100%;height:480px;object-fit:cover;object-position:center 50%}.photo-story>div{padding:65px 13%;align-self:center}.photo-story h2{font-size:39px}.photo-story p:not(.eyebrow){color:#667063}.features{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:11px;margin-top:26px}.features span:before{content:'✓';margin-right:7px;color:#718654}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;gap:25px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:#737c70;margin:0 0 5px}.price-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.price-card{border:1px solid var(--line);border-radius:5px;padding:34px 28px;position:relative}.price-card .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:27px}.price-card h3{font-size:28px}.price-card p:not(.eyebrow):not(.price){font-size:12px;color:#737c70}.price{font:36px Georgia;margin-bottom:20px}.price span{font:12px Arial;color:#778073}.featured{background:var(--green);color:#fff;border-color:var(--green)}.featured .text-link,.featured .price span,.featured p:not(.eyebrow):not(.price){color:#dbe1d1}.tag{position:absolute;right:20px;top:-12px;background:var(--lime);color:var(--ink);font-size:8px;letter-spacing:1px;padding:5px 10px;border-radius:2px}dl{font-size:12px;margin:22px 0}dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;gap:10px}dd{margin:0;white-space:nowrap}.donation{font-size:11px;text-align:center;color:#727d69;margin:26px 0 0}.booking-section{padding:75px 7%;background:#eceee4}.booking-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;background:var(--paper);padding:38px;border:1px solid #dee2d4;border-radius:6px}.calendar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.calendar-title h3{font-size:26px;margin:0;text-transform:capitalize}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;margin-left:6px;color:var(--ink)}.calendar-week,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-week{font-size:9px;color:#849077;letter-spacing:1px;margin-bottom:13px}.day{aspect-ratio:1.05;border:0;border-radius:3px;background:#edf0e4;color:var(--ink);font-size:13px;max-height:56px}.day:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--green)}.day.busy{background:#f0eee9;color:#9a998f;text-decoration:line-through}.day:disabled{background:transparent;color:#c5c7be;cursor:default}.day.chosen,.day.chosen.busy{background:var(--green);color:white;text-decoration:none}.day.range{background:#dce5c9}.legend{display:flex;gap:20px;margin-top:21px;font-size:10px;color:#7b8473}.legend i{width:9px;height:9px;display:inline-block;margin-right:4px;border-radius:2px}.available{background:#dde6cc}.occupied{background:#d4d1c7}.selected{background:var(--green)}.calendar-hint{font-size:11px;color:#758169;margin-top:20px;min-height:38px}.weekend-note{display:flex;gap:17px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:11px;color:#737c6b}.weekend-note>span{font-size:30px}.weekend-note p{margin:0}.weekend-note strong{color:var(--ink)}.booking-form{border-left:1px solid var(--line);padding-left:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;font-weight:600;margin-bottom:16px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #d7dccd;background:#fffefa;border-radius:3px;padding:11px 12px;margin-top:6px;color:var(--ink);font-size:13px}textarea{resize:vertical}.optional{font-weight:400;color:#87907d}.quote-box{padding:15px 0;margin:8px 0;font-size:12px}.quote-box>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.quote-box>div[hidden]{display:none}.quote-total{border-top:1px solid var(--line);padding-top:17px;margin-top:18px;font-size:14px}summary{list-style:none;cursor:pointer;font-size:13px;padding:12px 0 20px}summary span{float:right}.checkbox{display:flex;gap:9px;align-items:start;font-weight:400}.checkbox input{margin-top:3px}.checkbox a{text-decoration:underline}.submit{width:100%}.button:disabled{opacity:.55;cursor:wait}.booking-footnote{font-size:10px;text-align:center;color:#859078;margin:12px 0 0}.error{font-size:12px;color:#a04132}.success{margin-top:20px;padding:18px;background:#e3ebd5;border-radius:3px}.contact{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px}.contact>div:last-child{padding-left:15%}.contact a{display:block;font:23px Georgia;margin:12px 0}.contact p:not(.eyebrow){font-size:12px;color:#7c8474}footer{border-top:1px solid var(--line);margin:0 5%;padding:30px 0;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7a8370;gap:20px}footer>div{display:flex;gap:20px}.footer-brand{font:bold 23px Georgia;color:var(--ink)}.admin-wrap{max-width:1150px;margin:50px auto;padding:0 25px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-card{padding:25px;background:white;border:1px solid var(--line);border-radius:5px;margin-bottom:24px}.admin-card h2{font-size:30px}.admin-card h3{font-size:23px}.admin-nav{display:flex;justify-content:space-between;gap:20px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}td form{display:flex;gap:8px}td select{margin:0}.notice{background:#e5ead8;padding:16px;margin-bottom:20px}.login{max-width:430px;margin:80px auto}.privacy{max-width:760px}.privacy h1{font-size:50px;letter-spacing:-2px}.privacy h2{font-size:27px;margin-top:35px}@media(min-width:1500px){body>header,body>main,body>footer{max-width:1500px;margin-left:auto;margin-right:auto}}@media(max-width:1000px){.hero{min-height:590px}.price-grid{gap:10px}.price-card{padding:28px 18px}.price-card h3{font-size:25px}.booking-layout{gap:25px;padding:25px}.booking-form{padding-left:25px}.photo-story>div{padding:35px 9%}.section{padding:65px 6%}.booking-section{padding:65px 6%}.extras dl div{display:block}.extras dd{margin-top:3px}}@media(max-width:700px){.header{height:80px;padding:0 6%}.header nav{display:none}.brand{font-size:27px}.brand svg{width:37px}.button.small{font-size:11px;gap:15px}.hero{margin:0 12px;min-height:610px}.hero-photo{object-position:60% center}.hero-content{padding:55px 7% 110px}.hero h1{font-size:78px}.hero-stamp{display:none}.hero-bottom{left:7%;right:7%;font-size:8px}.hero-bottom>span:last-child{display:none}.eyebrow{font-size:9px;letter-spacing:1.4px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:17px;font-size:10px;padding:24px 0}.intro{grid-template-columns:1fr;gap:16px}.section{padding:55px 7%}.photo-story{grid-template-columns:1fr}.photo-story img{height:360px}.photo-story>div{padding:35px 8%}.photo-story h2{font-size:35px}.section-heading{display:block}.section-heading>p{margin-top:20px}.price-grid{grid-template-columns:1fr;gap:24px}.price-card{padding:30px}.extras dl div{display:flex}.booking-section{padding:50px 5%}.booking-layout{grid-template-columns:1fr;padding:23px 18px;gap:25px}.booking-form{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.calendar-title h3{font-size:24px}.day{max-height:none}.form-row{gap:10px}.contact{grid-template-columns:1fr;gap:10px}.contact>div:last-child{padding:0}footer{align-items:start;flex-direction:column;padding:28px 2%}footer>div{flex-wrap:wrap}.admin-grid{grid-template-columns:1fr}.admin-wrap{padding:0 15px}.admin-nav{flex-wrap:wrap}.privacy h1{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Property video and photographic gallery. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}.hero-video.ready{opacity:1}.video-toggle{position:absolute;z-index:2;right:30px;top:25px;background:#20352699;color:white;border:1px solid #ffffff66;border-radius:4px;padding:9px 13px;font-size:11px}.video-toggle:hover{background:#203526}.video-toggle[hidden]{display:none}.gallery-section{padding-bottom:0}.photo-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}.gallery-photo{position:relative;overflow:hidden;border-radius:5px;display:block;background:#e4e8dc}.gallery-photo:first-child{grid-row:span 2}.gallery-photo figure{margin:0;height:100%}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo figcaption{position:absolute;inset:auto 0 0;padding:45px 20px 18px;background:linear-gradient(transparent,#13251ce6);color:#fff;display:flex;justify-content:space-between;gap:15px;font-size:12px}.photo-dialog{border:1px solid #5e6e57;border-radius:6px;background:#17251d;color:white;padding:18px;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}.photo-dialog::backdrop{background:#0b150fec}.photo-dialog[open]{display:flex;flex-direction:column;align-items:center}.photo-dialog>img{max-width:100%;width:auto;min-height:0;max-height:calc(94dvh - 145px);object-fit:contain}.lightbox-toolbar{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.lightbox-toolbar p{margin:0;font-size:14px}.photo-dialog button{width:42px;height:42px;flex-shrink:0;border:1px solid #718069;border-radius:50%;background:transparent;color:white}.photo-dialog button:hover{background:#304c38}.lightbox-navigation{display:flex;gap:25px;align-items:center;margin-top:14px;font-size:12px}body.photo-open{overflow:hidden}@media(max-width:1000px){.photo-gallery{grid-template-rows:210px 210px;gap:12px}}@media(max-width:700px){.hero-video,.video-toggle{display:none}.photo-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 235px 190px;gap:10px}.gallery-photo:first-child{grid-row:auto;grid-column:span 2}.gallery-photo figcaption{padding:35px 12px 12px;font-size:11px}.photo-dialog{padding:12px}.lightbox-toolbar p{font-size:12px}}

/* A forest silhouette beside the raised cabin in the wordmark. */
.brand svg{width:66px;height:48px;flex-shrink:0}.brand .logo-tree{fill:var(--ink);stroke:none}.brand .logo-cabin{stroke-linecap:round;stroke-linejoin:round}@media(max-width:700px){.brand svg{width:51px;height:37px}}
