:root{--ink:#262b22;--muted:#6e7468;--cream:#f6f4ed;--paper:#fffefa;--green:#344c39;--sage:#89967d;--clay:#a76c4c;--line:#e3e1d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.nav{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-size:12px;letter-spacing:.18em;font-weight:700;line-height:1.5}.brand span{display:block;color:var(--clay);letter-spacing:.32em}.nav nav{display:flex;gap:32px;font-size:13px;color:var(--muted)}.nav-cta{font-size:12px;font-weight:700;border-bottom:1px solid var(--clay);padding:8px 0}.hero{min-height:600px;display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.hero-copy{padding:100px 7vw 90px 10vw;align-self:center}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--clay)}h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500}h1{font-size:clamp(42px,5.2vw,70px);line-height:1.07;margin:24px 0}.hero h1 em{color:var(--clay);font-style:normal}.lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:470px;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:28px;padding:16px 22px;background:var(--green);color:white;font-size:12px;font-weight:700}.button span{font-size:17px}.hero-art{position:relative;overflow:hidden;min-height:500px;background:linear-gradient(155deg,#d9ded0 0%,#bdc9b5 52%,#87977d 100%)}.sun{position:absolute;width:130px;height:130px;border-radius:50%;background:#e9d5ac;top:15%;right:23%;opacity:.9}.hill{position:absolute;left:-10%;width:125%;border-radius:50% 50% 0 0}.hill-back{height:58%;bottom:15%;background:#7c9278;transform:rotate(-9deg)}.hill-front{height:52%;bottom:-8%;background:#405c46;transform:rotate(8deg)}.hero-caption{position:absolute;bottom:28px;left:34px;color:#fff;font-size:10px;letter-spacing:.2em;z-index:2}.intro{text-align:center;padding:105px 24px 110px;max-width:760px;margin:auto}.intro h2,.section-head h2,.reserve-band h2{font-size:clamp(34px,4vw,48px);margin:16px 0}.intro>p:last-child{font-size:15px;line-height:1.9;color:var(--muted)}.experiences{padding:75px 7vw 100px;background:#eeece3}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.section-head>p{max-width:290px;color:var(--muted);font-size:13px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-card{background:var(--paper);padding:26px;display:flex;flex-direction:column;min-height:250px;border:1px solid var(--line);transition:transform .2s}.service-card:hover{transform:translateY(-4px)}.service-type{font-size:9px;letter-spacing:.15em;color:var(--clay);font-weight:700}.service-card h3{font-size:24px;line-height:1.15;margin:20px 0 10px}.service-card p{color:var(--muted);font-size:12px;line-height:1.65}.service-price{margin-top:auto;padding-top:22px;font-weight:700;font-size:14px}.service-link{font-size:11px;color:var(--green);font-weight:700;margin-top:16px}.loading{color:var(--muted);font-size:13px;padding:25px}.reserve-band{padding:65px 10vw;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.reserve-band .eyebrow{color:#d8b99e}.reserve-band p:last-child{font-size:13px;color:#d6ddd3}.button-light{background:#f5f0e5;color:var(--green);white-space:nowrap}footer{padding:42px 7vw;background:#252e25;color:#fff;display:flex;align-items:center;gap:35px;font-size:12px}footer p,footer small{color:#c5cbbf}footer small{margin-left:auto}.booking-main{min-height:65vh;padding:45px 8vw 100px;max-width:1100px;margin:auto}.back-link{font-size:12px;color:var(--muted)}.booking-head{padding:45px 0 30px;border-bottom:1px solid var(--line)}.booking-head h1{font-size:44px;margin:12px 0}.booking-head p{color:var(--muted);line-height:1.7}.booking-price{font-size:18px;font-weight:700;color:var(--green)}.booking-panel{padding:35px 0}.booking-panel h2{font-size:28px}.day-list,.slot-list{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.day-btn,.slot-btn,.secondary-btn{border:1px solid var(--line);background:var(--paper);padding:12px 15px;font:inherit;font-size:12px;cursor:pointer}.day-btn.active,.slot-btn.active{background:var(--green);color:white;border-color:var(--green)}.slot-btn:disabled{opacity:.35;cursor:not-allowed}.week-nav{display:flex;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-size:11px;color:var(--muted);display:grid;gap:7px}.form-grid input{padding:13px;border:1px solid var(--line);background:var(--paper);font:inherit}.submit-btn{border:0;cursor:pointer;margin-top:25px}.error{color:#a33;font-size:12px}.confirmed{padding:25px;background:#e5ecdf;color:var(--green)}@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{padding:75px 6vw}.nav{padding:0 5vw}}@media(max-width:600px){.nav{height:70px}.nav nav{display:none}.nav-cta{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 8vw}.hero-art{min-height:290px}.intro{padding:75px 28px}.experiences{padding:60px 6vw}.section-head{display:block}.service-grid{grid-template-columns:1fr}.service-card{min-height:205px}.reserve-band{padding:48px 8vw;display:block}.reserve-band .button{margin-top:20px}footer{flex-wrap:wrap;gap:16px}footer small{margin-left:0;width:100%}.booking-main{padding:30px 6vw 70px}.booking-head h1{font-size:36px}.form-grid{grid-template-columns:1fr}}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-card{background:var(--paper);padding:30px;border:1px solid var(--line);min-height:230px}.feature-card h3{font-size:27px;margin:18px 0 12px}.feature-card p,.category-band p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.category-band{padding:65px 10vw;background:#e5e8dd;display:flex;align-items:center;justify-content:space-between;gap:32px}.category-band>div{max-width:620px}.category-band h2{font-size:clamp(34px,4vw,48px);margin:14px 0}.category-band .button{white-space:nowrap}.category-light{background:#f0e8dc}.nav nav{gap:20px}.experiences{scroll-margin-top:20px}.category-band{scroll-margin-top:20px}@media(max-width:900px){.nav nav{gap:12px}.nav nav a{font-size:11px}}@media(max-width:600px){.nav nav{display:none}.feature-grid{grid-template-columns:1fr}.category-band{padding:48px 8vw;display:block}.category-band .button{margin-top:18px}}
