:root{--ink:#23352f;--muted:#6f7e77;--cream:#f7f5ef;--paper:#fffdf8;--green:#315c4b;--gold:#d59c56;--line:#dedfd8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{align-items:center;background:var(--cream);display:flex;justify-content:space-between;padding:22px 6vw;position:relative;z-index:2}.brand{align-items:center;display:flex;font-size:15px;font-weight:700;gap:9px;letter-spacing:-.02em}.brand-mark{align-items:center;background:var(--green);border-radius:50%;color:#fff;display:flex;font-size:17px;height:32px;justify-content:center;width:32px}.nav{display:flex;gap:32px;margin-left:auto;margin-right:38px}.nav a,.footer-links a{color:var(--muted);font-size:13px}.nav a:hover,.footer-links a:hover{color:var(--green)}.button{background:var(--green);border:0;border-radius:3px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:20px;padding:15px 20px;transition:transform .2s,background .2s}.button:hover{background:#234638;transform:translateY(-2px)}.button-small{padding:11px 16px}.hero{display:grid;grid-template-columns:47% 53%;min-height:600px;overflow:hidden}.hero-content{align-self:center;padding:70px 4vw 90px 12vw}.eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em;margin:0 0 18px;text-transform:uppercase}.hero h1,h2{font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,70px);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin:0 0 25px}.hero h1 em,h2 em{color:var(--green);font-style:italic}.hero-copy,.section-copy{color:var(--muted);font-size:15px;max-width:430px}.hero-actions{align-items:center;display:flex;gap:28px;margin-top:34px}.text-link{border-bottom:1px solid #b6bdb6;color:var(--green);font-size:13px;padding-bottom:4px}.text-link span{margin-left:8px}.hero-art{background:#dce8dd;min-height:600px;overflow:hidden;position:relative}.sun{background:#f6cc76;border-radius:50%;height:130px;position:absolute;right:21%;top:15%;width:130px}.hill{border-radius:50% 50% 0 0;bottom:-18%;position:absolute;transform:rotate(-4deg);width:120%;}.hill-back{background:#9ebca2;height:55%;left:-10%}.hill-front{background:#638d75;height:42%;left:-5%;transform:rotate(7deg)}.cabin{bottom:23%;left:31%;position:absolute;width:220px}.roof{background:#774e3a;height:70px;transform:skew(-30deg) rotate(-12deg);width:250px}.cabin-body{background:#d8ad79;height:115px;margin-left:17px;position:relative;width:190px}.window,.door{background:#a7c8c4;border:7px solid #fff2d5;bottom:35px;display:block;height:42px;position:absolute;width:43px}.window-left{left:20px}.window-right{left:83px}.door{background:#795b47;bottom:0;height:70px;left:137px;width:38px}.tree{background:#35654d;bottom:27%;clip-path:polygon(50% 0,100% 100%,0 100%);height:170px;position:absolute;width:90px}.tree-one{left:8%}.tree-two{bottom:33%;right:5%;transform:scale(1.3)}.tree-three{bottom:25%;right:20%;transform:scale(.7)}.section{margin:0 auto;max-width:1150px;padding:110px 6vw}.intro{align-items:end;display:flex;gap:12%;justify-content:space-between}.intro h2,.area h2,.booking-section h2{font-size:clamp(35px,4vw,55px)}.section-copy{max-width:330px}.features{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1150px;padding:38px 0}.features article{border-right:1px solid var(--line);padding:0 25px}.features article:first-child{padding-left:0}.features article:last-child{border:0}.feature-icon{color:var(--gold);font-size:25px}.features h3{font-size:14px;margin:13px 0 5px}.features p{color:var(--muted);font-size:12px;margin:0;max-width:180px}.area{align-items:stretch;display:grid;grid-template-columns:1fr 1fr;gap:50px}.area-card{padding:30px 0}.area-card p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:430px;margin:0 0 28px}.area-art{align-items:center;background:linear-gradient(135deg,#8fb59d,#3f725d);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:300px;position:relative;text-align:center}.area-art span{font-size:26px;color:#f5cb78}.area-art strong{font-family:"Playfair Display",serif;font-size:46px;font-weight:600;line-height:1.05}.area-art small{font-size:12px;margin-top:12px;opacity:.8}.booking-section{align-items:center;background:#e4ece4;display:grid;gap:10%;grid-template-columns:1fr 1fr;padding:100px max(6vw,calc((100% - 1150px)/2))}.booking-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:390px}.sync-note{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:8px;margin:25px 0}.status-dot{background:#86a875;border-radius:50%;height:8px;width:8px}.booking-button{margin-top:10px}.calendar-card{background:var(--paper);box-shadow:0 15px 40px #315c4b12;padding:28px 30px}.calendar-header{align-items:center;display:flex;justify-content:space-between}.calendar-header h3{font-family:"Playfair Display",serif;font-size:19px;margin:0;text-transform:capitalize}.calendar-nav{background:none;border:0;color:var(--green);cursor:pointer;font-size:20px;padding:5px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{color:var(--muted);font-size:10px;margin:25px 0 10px;text-align:center}.calendar-grid{row-gap:5px}.day{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--ink);cursor:pointer;font-family:inherit;font-size:12px;height:34px;justify-self:center;padding:0;width:34px}.day:hover:not(:disabled),.day.selected{background:var(--green);color:white}.day.muted{color:#c3c9c3}.day:disabled{color:#c8ceca;cursor:not-allowed;text-decoration:line-through}.calendar-legend{border-top:1px solid var(--line);color:var(--muted);display:flex;font-size:10px;gap:18px;margin-top:20px;padding-top:17px}.legend-dot{border-radius:50%;display:inline-block;height:7px;margin-right:5px;width:7px}.available{background:var(--green)}.unavailable{background:#c8ceca}.selected-dates{color:var(--green);font-size:11px;margin:16px 0 0}.footer{align-items:end;display:flex;justify-content:space-between;padding:42px 6vw}.footer p{color:var(--muted);font-size:11px;margin:9px 0 0}.footer-links{display:flex;gap:25px}.copyright{align-self:end!important;margin:0!important}@media(max-width:800px){.site-header{padding:18px 5vw}.nav{display:none}.hero{display:block}.hero-content{padding:75px 8vw}.hero-art{min-height:420px}.features{grid-template-columns:1fr 1fr;margin:0 6vw;row-gap:30px}.features article:nth-child(2){border:0}.features article:nth-child(3){padding-left:0}.intro,.area,.booking-section{display:block}.section{padding:75px 8vw}.section-copy{margin-top:25px}.area-art{margin-top:25px}.booking-section{padding:75px 8vw}.calendar-card{margin-top:45px}.footer{align-items:start;display:block;padding:35px 8vw}.footer-links{margin:28px 0}.copyright{margin-top:20px!important}}
.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.reservation-form label{color:var(--muted);font-size:11px}.reservation-form input,.reservation-form textarea,.reservation-form select{background:var(--paper);border:1px solid var(--line);border-radius:2px;color:var(--ink);font:inherit;font-size:12px;padding:9px;width:100%}.reservation-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.form-message{font-size:12px;margin:0}.admin-main{margin:0 auto;max-width:1150px;padding:70px 6vw}.admin-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:30px}.admin-heading h1{font-family:"Playfair Display",serif;font-size:clamp(36px,5vw,60px);line-height:1;margin:0}.admin-card{background:var(--paper);overflow:auto;box-shadow:0 15px 40px #315c4b12}.admin-card table{border-collapse:collapse;font-size:13px;min-width:720px;width:100%}.admin-card th,.admin-card td{border-bottom:1px solid var(--line);padding:15px;text-align:left}.admin-card th{color:var(--muted);font-size:11px;font-weight:500}.admin-card small{color:var(--muted);display:block}.status{border-radius:20px;font-size:11px;padding:4px 8px}.status-pending{background:#fff0cf}.status-confirmed{background:#dcecdf}.status-cancelled{background:#eee}.admin-message{color:var(--green);min-height:22px}@media(max-width:800px){.reservation-form{grid-template-columns:1fr}.form-wide{grid-column:auto}.admin-heading{align-items:start;display:block}.admin-heading .button{margin-top:20px}}
