:root{--forest:#183e31;--deep:#123529;--olive:#64785a;--sage:#dce6d4;--mint:#eef2e7;--cream:#f7f6ef;--paper:#fcfbf7;--ink:#17362c;--muted:#68756c;--line:rgba(24,62,49,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.5;padding-bottom:108px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#b8c9a7;color:var(--deep)}.container{width:min(100% - 80px,1320px);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}.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.section{padding:122px 0}.section-index,.eyebrow,.form-kicker{font-size:11px;font-weight:700;letter-spacing:.19em;line-height:1.4}.section-index{margin:0 0 31px;color:#60796a}.section-index-light{color:#b8cbb7}.display-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(43px,4.55vw,72px);line-height:1.08;letter-spacing:-.055em;margin:0}.display-title em,.hero h1 em{font-weight:400;color:#7d9b78}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:0;padding:16px 23px;min-height:54px;font-size:13px;font-weight:700;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span,.header-link span,.arrow-link span,.footer-up span{font-size:18px;font-weight:400}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:#275944}.button-cream{background:#f3f4e8;color:var(--forest)}.button-cream:hover{background:#fff}.site-header{height:78px;background:var(--paper);position:relative;z-index:5;border-bottom:1px solid rgba(24,62,49,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;align-items:center;gap:12px;flex:none}.brand-symbol{height:37px;width:37px;border:1.5px solid var(--forest);border-radius:50%;display:grid;place-items:center;position:relative}.brand-symbol:before,.brand-symbol:after,.brand-symbol span{content:"";position:absolute;width:1px;height:19px;background:var(--forest);left:50%;top:50%;transform:translate(-50%,-50%)}.brand-symbol:before{transform:translate(-50%,-50%) rotate(60deg)}.brand-symbol:after{transform:translate(-50%,-50%) rotate(-60deg)}.brand-wordmark{font-size:27px;letter-spacing:-.085em;font-weight:500;line-height:.8}.brand-wordmark>span{color:#849e78}.brand-wordmark small{display:block;font-size:7px;letter-spacing:.21em;font-weight:700;margin-top:9px}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto}.desktop-nav a{font-size:12px;color:#42574b;transition:color .2s}.desktop-nav a:hover,.header-link:hover,.text-link:hover,.arrow-link:hover{color:#82a376}.header-link{font-size:12px;font-weight:700;display:flex;align-items:center;gap:21px;border-bottom:1px solid var(--forest);padding-bottom:5px;white-space:nowrap}.hero{min-height:670px;display:grid;grid-template-columns:52% 48%;background:#f0f2e8}.hero-copy{display:flex;justify-content:flex-end;align-items:center;padding:56px max(35px,calc((100vw - 1320px)/2)) 70px max(40px,calc((100vw - 1320px)/2));padding-right:40px}.hero-copy-inner{width:min(100%,650px)}.eyebrow{display:flex;align-items:center;gap:11px;color:#5a7666;margin:0 0 42px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#709f78;flex:none}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(56px,5.45vw,91px);line-height:1.025;letter-spacing:-.065em;margin:0}.hero-description{font-size:16px;line-height:1.85;max-width:450px;color:#53675a;margin:32px 0 30px}.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px;transition:color .2s}.text-link span{font-size:17px;font-weight:400}.hero-footnote{display:flex;align-items:center;gap:16px;color:#78877a;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:88px}.hero-footnote .line{height:1px;width:42px;background:#91a895}.hero-visual{position:relative;overflow:hidden;min-height:670px;background:#6a7564}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:60% center;position:absolute;inset:0}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,42,29,.3),transparent 42%)}.hero-photo-label{position:absolute;z-index:1;bottom:44px;left:42px;background:rgba(248,249,237,.94);display:flex;align-items:center;gap:17px;padding:18px 21px;color:#244734;font-family:Georgia,serif;font-size:16px;line-height:1.25;box-shadow:0 15px 50px rgba(0,0,0,.1)}.small-star{font-family:Arial,sans-serif;font-size:29px;font-weight:200;color:#81a180}.hero-vertical{position:absolute;z-index:1;right:23px;top:40px;color:#f6f7eb;font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl}.intro{background:var(--paper);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:18% 50% 1fr;gap:25px;align-items:start}.intro-grid .section-index{padding-top:12px}.intro-aside{padding-top:14px}.intro-aside p{font-size:16px;line-height:1.8;color:#5b6e61;margin:0 0 34px}.arrow-link{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid var(--forest);padding-bottom:9px;transition:color .2s}.areas{background:#f8f9f3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:260px;color:#617265;font-size:14px;line-height:1.8;margin:0 0 7px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.area-card{position:relative;overflow:hidden;min-height:365px;padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s}.area-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(30,63,40,.12)}.area-card:before{content:"";position:absolute;width:245px;height:245px;border:1px solid currentColor;opacity:.15;border-radius:48% 52% 49% 51%;right:-45px;top:46px;transform:rotate(-24deg)}.area-card:after{content:"";position:absolute;width:175px;height:175px;border:1px solid currentColor;opacity:.15;border-radius:50%;right:19px;top:83px}.area-card-light{background:#e6ebdc;color:#2e4b38}.area-card-mid{background:#ccd9c3;color:#234732}.area-card-dark{background:#315d46;color:#fff}.area-number{font-size:11px;letter-spacing:.16em;position:relative;z-index:1}.area-card h3{font-family:Georgia,serif;font-size:36px;line-height:1.05;font-weight:400;letter-spacing:-.045em;margin:0 0 11px;position:relative;z-index:1}.area-card p{font-size:13px;max-width:205px;line-height:1.6;margin:0;opacity:.82;position:relative;z-index:1}.area-arrow{position:absolute;right:26px;bottom:27px;font-size:25px}.areas-note{font-size:12px;color:#849183;margin:20px 0 0}.experience{background:var(--forest);color:#f7f6ec;position:relative;overflow:hidden}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;position:relative;z-index:1}.experience-lead .display-title em{color:#b4cba6}.experience-lead>p:not(.section-index){font-size:15px;line-height:1.85;color:#c1cfc0;max-width:425px;margin:28px 0 35px}.steps-list{padding-top:41px}.step{display:grid;grid-template-columns:40px 1fr 20px;gap:24px;border-top:1px solid rgba(255,255,255,.2);padding:26px 0 27px}.step:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.step>span:first-child{font-size:12px;color:#b3c8b4;padding-top:7px}.step h3{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.025em;margin:0 0 8px}.step p{font-size:13px;line-height:1.7;color:#b9cbbb;max-width:320px;margin:0}.step-mark{color:#a4c09a;font-size:22px;line-height:1}.experience-watermark{position:absolute;left:4%;bottom:-180px;color:rgba(255,255,255,.035);font:400 500px/.7 Georgia,serif;pointer-events:none}.faq{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:43% 1fr;gap:10%}.faq-intro{font-size:15px;line-height:1.8;color:#68796b;max-width:285px;margin:28px 0 0}.faq-list{padding-top:19px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 0;font-weight:600;font-size:16px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{display:grid;place-items:center;flex:none;border:1px solid #b6c6b9;border-radius:50%;height:29px;width:29px;font-size:20px;font-weight:300;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.8;color:#637469;max-width:490px;margin:-3px 40px 25px 0}.booking{background:#eaf0e4}.booking-shell{display:grid;grid-template-columns:1fr 1fr;background:#315b45;min-height:565px}.booking-copy{padding:63px 7vw 58px 70px;position:relative;overflow:hidden;color:#fff}.booking-copy .display-title{font-size:clamp(50px,4.65vw,74px)}.booking-copy .display-title em{color:#bdd1b2}.booking-copy>p:not(.section-index){font-size:15px;line-height:1.85;color:#d4e0d1;max-width:340px;margin:27px 0 0;position:relative;z-index:1}.booking-decor{font-size:290px;font-weight:100;position:absolute;bottom:-155px;left:38px;color:rgba(220,239,217,.07);line-height:1}.booking-form-wrap{background:#f8faf4;padding:58px clamp(35px,6.1vw,94px);display:flex;flex-direction:column;justify-content:center}.form-kicker{color:#7c947e;margin:0 0 14px}.booking-form-wrap h3{font-family:Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-.04em;margin:0 0 26px}.lead-form{position:relative}.field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin:16px 0 7px}.lead-form input[type=text]:not([name=website]),.lead-form input[type=tel]{display:block;width:100%;height:52px;padding:0 14px;border:1px solid #bdcbbc;border-radius:0;background:#fff;color:var(--ink);outline:0;font-size:14px;transition:border-color .2s,box-shadow .2s}.lead-form input:focus{border-color:#4b7d5c!important;box-shadow:0 0 0 3px rgba(112,159,120,.16)}.lead-form input::placeholder{color:#96a397}.consent-line{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.55;color:#6c7a6f;margin:19px 0 22px;cursor:pointer}.consent-line input,.sticky-consent input{accent-color:var(--forest);flex:none;margin:2px 0 0;width:15px;height:15px}.consent-line a,.sticky-consent a{text-decoration:underline;text-underline-offset:2px}.form-submit{width:100%;justify-content:space-between}.form-status{font-size:12px;line-height:1.5;min-height:18px;margin:8px 0 0;color:var(--forest)}.form-status.is-error{color:#a23428}.site-footer{background:#183e31;color:#f0f5e9}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:52px;padding-bottom:51px}.brand-footer .brand-symbol{border-color:#f0f5e9}.brand-footer .brand-symbol:before,.brand-footer .brand-symbol:after,.brand-footer .brand-symbol span{background:#f0f5e9}.brand-footer .brand-wordmark>span{color:#b0caa5}.footer-main p{font-family:Georgia,serif;font-size:19px;line-height:1.4;margin:0;color:#d4e2d1}.footer-up{font-size:13px;border-bottom:1px solid #d5e4d2;padding-bottom:6px;display:flex;align-items:center;gap:20px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px;padding-bottom:27px;border-top:1px solid rgba(255,255,255,.17);font-size:11px;color:#b8c9b8}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a:hover{text-decoration:underline}.sticky-lead{height:108px;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#f9faf5;border-top:1px solid #d8e2d5;box-shadow:0 -12px 32px rgba(24,62,49,.08)}.sticky-inner{height:100%;display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center}.sticky-copy{display:flex;gap:13px;align-items:center}.sticky-icon{display:grid;place-items:center;height:38px;width:38px;border:1px solid #b8ccb8;border-radius:50%;color:#638967;font-size:25px;flex:none}.sticky-copy strong{font-family:Georgia,serif;font-size:17px;font-weight:400;display:block;white-space:nowrap}.sticky-copy small{display:block;color:#77887a;font-size:11px;margin-top:2px}.sticky-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) 160px;align-items:center;gap:7px 9px}.sticky-form input[type=text]:not([name=website]),.sticky-form input[type=tel]{height:42px;font-size:12px}.sticky-form .button{height:42px;min-height:42px;padding:0 14px;font-size:12px;justify-content:space-between}.sticky-consent{grid-column:1 / 4;display:flex;align-items:center;gap:7px;color:#6e7d70;font-size:10px;line-height:1.2;cursor:pointer}.sticky-consent input{height:13px;width:13px;margin:0}.sticky-form .form-status{position:absolute;bottom:2px;right:0;background:#f9faf5;padding-left:7px;font-size:11px;margin:0;min-height:0}.mobile-lead-button{display:none}.lead-dialog{border:0;padding:32px;max-width:420px;width:calc(100% - 28px);box-shadow:0 30px 90px rgba(0,0,0,.25);background:#f8faf4;color:var(--ink)}.lead-dialog::backdrop{background:rgba(9,35,24,.66)}.lead-dialog h2{font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:0 0 8px}.lead-dialog>p:not(.form-kicker){font-size:13px;color:#6b786c;margin:0 0 22px}.dialog-close{position:absolute;top:13px;right:16px;border:0;background:none;color:var(--ink);font-size:28px;line-height:1;padding:5px}
/* Legal pages */
.legal-page{padding-bottom:0}.legal-header{background:var(--paper)}.legal-main{padding:75px 0 100px;background:#f8faf4;min-height:70vh}.legal-layout{display:grid;grid-template-columns:240px minmax(0,790px);gap:60px}.legal-side{font-size:11px;font-weight:700;letter-spacing:.13em;color:#6f8a73;padding-top:14px}.legal-article h1{font-family:Georgia,serif;font-size:clamp(39px,5vw,68px);line-height:1.05;letter-spacing:-.055em;font-weight:400;margin:0 0 28px}.legal-article h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:37px 0 12px}.legal-article p,.legal-article li{font-size:14px;color:#53675a;line-height:1.75}.legal-article ul{padding-left:20px}.legal-article li+li{margin-top:6px}.legal-note{padding:18px 22px;border-left:3px solid #7c9d79;background:#eaf1e6;margin:0 0 28px}.legal-note p{margin:0}.legal-placeholder{background:#e9ebd8;padding:1px 4px;color:#31533b}.legal-back{display:inline-block;margin-top:34px;border-bottom:1px solid var(--forest);padding-bottom:4px;font-size:13px;font-weight:700}.legal-page .site-footer{margin-top:0}
@media(max-width:1200px){.desktop-nav{gap:18px}.container{width:min(100% - 54px,1320px)}.hero h1{font-size:clamp(52px,5.3vw,76px)}.hero-copy{padding-left:36px}.sticky-inner{grid-template-columns:215px 1fr;gap:15px}.sticky-copy strong{font-size:15px}.sticky-form{grid-template-columns:minmax(110px,1fr) minmax(125px,1fr) 145px}}
@media(max-width:900px){.desktop-nav{display:none}.hero{grid-template-columns:1fr 46%;min-height:600px}.hero-visual{min-height:600px}.hero h1{font-size:clamp(48px,6.3vw,67px)}.hero-copy{padding:50px 25px 55px 35px}.hero-description{font-size:14px}.hero-footnote{margin-top:55px}.intro-grid{grid-template-columns:1fr 1.4fr;gap:20px}.intro-grid .section-index{grid-column:1/-1}.intro-aside{padding:0}.section{padding:90px 0}.area-card{min-height:315px;padding:23px}.area-card h3{font-size:30px}.experience-grid{gap:5%}.sticky-copy{display:none}.sticky-inner{display:block;padding-top:12px}.sticky-form{grid-template-columns:1fr 1fr 160px}.sticky-lead{height:103px}body{padding-bottom:103px}.legal-layout{grid-template-columns:1fr;gap:10px}}
@media(max-width:700px){html{scroll-padding-top:70px}.container{width:min(100% - 36px,1320px)}.site-header{height:67px}.brand-symbol{height:33px;width:33px}.brand-wordmark{font-size:23px}.brand-wordmark small{font-size:6px}.header-link{font-size:11px;gap:8px}.hero{display:flex;flex-direction:column}.hero-copy{padding:55px 21px 45px}.hero-copy-inner{width:min(100%,540px);margin:auto}.eyebrow{font-size:9px;margin-bottom:30px}.hero h1{font-size:clamp(48px,11vw,66px)}.hero-description{font-size:15px;line-height:1.7;margin:25px 0}.hero-footnote{margin-top:42px}.hero-visual{height:350px;min-height:0}.hero-visual img{object-position:center 58%}.hero-photo-label{bottom:20px;left:18px;padding:12px 15px;font-size:14px}.hero-vertical{top:23px;right:14px;font-size:9px}.section{padding:75px 0}.intro-grid,.faq-grid,.experience-grid,.booking-shell{display:block}.intro-grid .section-index{margin-bottom:22px}.intro-aside{margin-top:23px;max-width:520px}.intro-aside p{font-size:15px;margin-bottom:21px}.section-heading{display:block}.section-heading>p{max-width:480px;margin:20px 0 0}.area-grid{grid-template-columns:1fr;gap:11px}.area-card{min-height:225px}.area-card:before{right:10px;top:-30px}.area-card:after{right:75px;top:-5px}.area-card h3{font-size:34px}.experience-lead>p:not(.section-index){margin:22px 0 28px}.steps-list{padding-top:55px}.step{grid-template-columns:30px 1fr 20px;gap:14px}.experience-watermark{font-size:340px;bottom:-100px}.faq-list{padding-top:35px}.faq-intro{margin-top:20px}.booking{padding:0}.booking .container{width:100%}.booking-copy{padding:68px 24px 60px}.booking-form-wrap{padding:39px 24px 47px}.booking-decor{left:30px}.footer-main{align-items:flex-start;flex-wrap:wrap;padding-top:42px;padding-bottom:36px}.footer-main p{width:100%;font-size:16px}.footer-bottom{align-items:flex-start;flex-wrap:wrap}.footer-bottom>div{display:flex;flex-direction:column;gap:8px;order:3;width:100%}.sticky-lead{display:none}body{padding-bottom:74px}.mobile-lead-button{position:fixed;z-index:10;bottom:13px;left:18px;right:18px;width:calc(100% - 36px);height:50px;background:#183e31;color:#fff;border:0;display:flex;align-items:center;justify-content:space-between;padding:0 21px;font-size:13px;font-weight:700;box-shadow:0 9px 24px rgba(14,47,29,.24)}.mobile-lead-button span{font-size:20px;font-weight:400}.legal-main{padding:55px 0 75px}.legal-side{padding:0}}
@media(max-width:420px){.hero-actions{align-items:flex-start;gap:20px;flex-direction:column}.hero h1{font-size:47px}.display-title{font-size:43px}.header-link{font-size:10px}.brand{gap:7px}.brand-wordmark{font-size:21px}.brand-wordmark small{font-size:5px}.lead-dialog{padding:27px 21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.privacy-note{font-size:11px;line-height:1.4;color:#6c7a6f;margin:-14px 0 20px 25px}.privacy-note a,.sticky-policy{text-decoration:underline;text-underline-offset:2px}.sticky-consent{grid-column:1 / 3}.sticky-policy{grid-column:3;font-size:10px;color:#6e7d70;justify-self:end;white-space:nowrap}
