@charset "UTF-8";
:root{--paper:#f7f5ee;--white:#fffefa;--ink:#29372c;--green:#344b37;--sage:#e5e9dd;--muted:#737b70;--line:#dedfd3;--serif:'Segoe UI',Arial,Helvetica,sans-serif;--sans:'Segoe UI',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.04;letter-spacing:-.025em}h1{font-size:clamp(58px,6.35vw,94px)}h2{font-size:clamp(42px,4.25vw,64px)}h3{font-family:var(--serif);font-size:32px;line-height:1.12}em{font-weight:400;color:#657b57}p{color:var(--muted)}:focus-visible{outline:3px solid #a48142;outline-offset:5px}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.compact{padding-top:25px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:600;display:block;color:var(--green);line-height:1.65}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6c815c;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:white;padding:17px 23px;border:1px solid var(--green);border-radius:3px;font-size:13px;font-weight:500;line-height:1.4;transition:background .2s,transform .2s;min-height:52px}.button:hover{background:#223925;transform:translateY(-1px)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--green)}.button.outline{background:transparent;color:var(--green);border-color:#aeb9a2}.button.outline:hover{background:var(--sage)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:500;line-height:1.5;padding-block:5px;border-bottom:1px solid #b6bdaa}.text-link svg{width:17px;transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:99px;gap:24px}.brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0}.brand-symbol{width:38px;height:45px;display:flex;align-items:center}.brand-symbol svg{width:36px;height:36px;stroke-width:1.15}.brand-name{font-family:var(--serif);font-size:35px;letter-spacing:-.025em;line-height:.95}.brand-name>span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.21em;margin-top:9px;font-weight:500}.site-header nav{display:flex;align-items:center;gap:29px}.site-header nav>a{font-size:12px;padding-block:12px}.site-header nav>a[aria-current]{color:#77875c;border-bottom:1px solid #77875c}.site-header nav>.nav-book{display:flex;gap:24px;align-items:center;border:1px solid #aab39d;padding:11px 17px;border-radius:3px;margin-left:12px}.menu-toggle{display:none;border:0;background:none;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle>span{height:1px;width:23px;background:var(--ink)}
.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:65px;padding-block:62px 72px;align-items:center}.hero-copy{padding-bottom:14px}.hero-copy>.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:28px}.hero-copy h1{max-width:590px}.hero-copy>p{max-width:400px;margin-top:26px;font-size:15px;line-height:1.8}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:34px;flex-wrap:wrap}.hero-actions>.text-link{font-size:12px}.hero-note{display:flex;align-items:center;gap:11px;font-size:10px;color:var(--muted);margin-top:34px;letter-spacing:.03em}.note-line{height:1px;width:28px;background:#a6b196}.hero-visual{position:relative;padding-right:18px}.hero-visual>img{height:555px;width:100%;object-fit:cover;border-radius:4px 145px 4px 4px;object-position:center}.image-note{position:absolute;bottom:26px;left:-24px;padding:23px 28px;background:var(--white);box-shadow:0 8px 25px #29372c08;display:flex;flex-direction:column;border-radius:2px}.image-note>span:first-child{font-size:9px;letter-spacing:.15em;color:var(--muted)}.image-note>span:last-child{font:30px var(--serif);margin-top:6px}.vertical-note{position:absolute;right:-13px;top:58%;writing-mode:vertical-rl;letter-spacing:.21em;font-size:8px;color:#7a8370}.trust-strip{background:var(--sage);padding-block:24px}.trust-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:18px}.trust-strip span{font-size:11px;font-weight:500;letter-spacing:.05em}.trust-strip span:before{content:'âœ³';margin-right:15px;color:#7b8f6c;font-size:15px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{font-size:13px;padding-bottom:8px;max-width:360px}.section-heading>.text-link{margin-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:31px 29px 26px;background:var(--white);border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;scroll-margin-top:110px;transition:border-color .2s}.service-card:hover{border-color:#a8b49b}.service-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin-bottom:27px}.service-meta .small-dot{width:3px;height:3px;background:#a0a88f}.service-card h3{margin-bottom:18px;max-width:300px}.service-card p{font-size:12px;line-height:1.85;margin-bottom:33px}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:19px;border-top:1px solid var(--line)}.price{font:38px var(--serif);color:var(--ink);white-space:nowrap;font-variant-numeric:lining-nums}.price small{font:11px var(--sans);margin-left:3px;color:var(--muted)}.service-bottom>.text-link{font-size:10px;border:0;gap:8px}.section-end{display:flex;justify-content:center;margin-top:37px}.about-section{background:#eceee4;padding-block:85px}.about-layout{display:grid;grid-template-columns:.92fr 1fr;gap:100px;align-items:center}.about-photo{position:relative;max-width:470px}.about-photo img{width:100%;height:520px;object-fit:cover;object-position:50% 30%;border-radius:120px 4px 4px 4px}.photo-caption{font-size:8px;letter-spacing:.14em;display:block;margin-top:14px;color:var(--muted)}.about-copy>.eyebrow{margin-bottom:24px}.about-copy h2{max-width:500px;margin-bottom:26px}.about-copy p{font-size:14px;line-height:1.95;margin-top:18px}.about-copy .serif-note{font:30px var(--serif);color:#5f7552;margin-block:27px}.about-copy .text-link,.about-copy .button{margin-top:18px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.package-card{background:#ecede3;padding:29px;border-radius:3px;display:flex;flex-direction:column}.package-card>.eyebrow{font-size:8px;letter-spacing:.12em;color:#7c8873;margin-bottom:25px}.package-card h3{margin-bottom:18px}.package-card p{font-size:12px;line-height:1.9;margin-bottom:27px}.package-card .service-bottom{border-color:#cdd3c1}.round-link{width:38px;height:38px;border:1px solid #b9c3ac;border-radius:50%;display:flex;align-items:center;justify-content:center}.fine-print{margin-top:23px;font-size:11px;color:var(--muted)}.faq-section{padding-block:80px;border-top:1px solid var(--line)}.faq-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.faq-layout .eyebrow{margin-bottom:22px}.faqs details{border-bottom:1px solid var(--line);padding-block:21px}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:20px}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';font-size:22px;font-weight:300}.faqs details[open] summary:after{content:'âˆ’'}.faqs details p{font-size:13px;margin-top:15px;padding-right:30px;line-height:1.85}.faqs details p a{text-decoration:underline}.contact-section{background:var(--green);color:var(--paper);padding-block:90px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px}.contact-layout h2{font-size:70px;margin-top:25px}.contact-layout em{color:#c2cda9}.contact-layout .eyebrow{color:#b4c3a3;font-size:9px}.contact-layout>div>p{color:#c8d1bf;font-size:13px;margin-top:25px}.contact-layout .button{margin-top:28px}.contact-info{padding-top:6px}.contact-info>div{padding-block:21px;border-bottom:1px solid #61715b}.contact-info>div:first-child{padding-top:0}.contact-info>div>span{display:block;font-size:8px;letter-spacing:.16em;color:#b1c09f;margin-bottom:11px}.contact-info strong{font-family:var(--serif);font-size:32px;font-weight:400}.contact-info p{font-size:12px;color:#d2dbc8}.contact-info div:nth-child(2)>p{display:flex;justify-content:space-between;max-width:360px;margin-top:6px}.contact-info b{font-weight:400}.contact-info a{font-size:15px}.site-footer{padding-block:50px 23px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px}.footer-top>p{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:var(--muted)}.mobile-book{display:none}.page-intro{padding-block:74px 55px}.page-intro>.eyebrow{margin-bottom:25px}.page-intro h1{font-size:clamp(52px,6vw,86px)}.page-intro>p{max-width:580px;margin-top:28px;line-height:1.85}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #ced5c1;background:transparent;color:var(--green);padding:10px 17px;border-radius:30px;font-size:12px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.service-card[hidden]{display:none}.infrared-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px;padding:35px;background:var(--sage);border-radius:3px}.infrared-callout .eyebrow{margin-bottom:13px}.infrared-callout p{font-size:12px;margin-top:12px}.price-list-head{display:grid;grid-template-columns:1fr 110px 130px;gap:40px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #9dab8e;padding-bottom:18px;color:var(--muted)}.price-list-head>span:last-child{text-align:right}.price-row{display:grid;grid-template-columns:1fr 110px 130px;gap:40px;align-items:center;border-bottom:1px solid var(--line);padding-block:28px}.price-row h2{font-size:32px;letter-spacing:-.01em}.price-row p{font-size:12px;margin-top:8px;max-width:680px}.price-row .price{text-align:right}.duration{font-size:15px}.duration small{font-size:11px;color:var(--muted)}.packages-section{background:#eceee4}.packages-section .package-card{background:var(--white)}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-cards article{padding:36px;background:var(--white);border:1px solid var(--line)}.contact-cards h2{font-size:48px;margin-top:22px}.contact-cards p{font-size:13px;margin-top:20px}.contact-cards .text-link{margin-top:28px}.prose h2{font-size:37px;margin-block:30px 18px}.prose>p{max-width:850px;font-size:14px;line-height:1.9;margin-bottom:25px}.prose .package-grid{grid-template-columns:repeat(2,1fr);margin-block:35px}.prose a:not(.button):not(.text-link){text-decoration:underline}.draft-banner{background:#e9cf85;padding:12px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-size:12px;color:#3e3e27}.draft-banner a{text-decoration:underline}.error-page{min-height:60vh}.error-page .button{margin-top:30px}
@media(min-width:1500px){.hero{padding-block:85px}.hero-visual>img{height:610px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.site-header nav{gap:20px}.site-header nav>.nav-book{margin:0;padding:9px 12px;gap:10px}.hero{gap:35px}.hero-visual>img{height:515px;border-top-right-radius:115px}.hero-actions{gap:18px}.hero-copy h1{font-size:75px}.about-layout{gap:55px}.service-card{padding:25px 20px}.service-meta{font-size:9px}.service-bottom{gap:8px}.service-bottom>.text-link{gap:3px}.price{font-size:34px}.package-card{padding:25px 22px}.contact-layout{gap:65px}}
@media(max-width:850px){.nav-wrap{min-height:85px;flex-wrap:wrap;padding-block:20px;gap:18px}.site-header nav{width:100%;justify-content:space-between;gap:12px}.js .menu-toggle{display:flex}.js .site-header nav{display:none}.js .site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-block:10px}.site-header nav.open a{padding:12px 0}.site-header nav.open>.nav-book{padding:14px;margin-top:10px;justify-content:center}.hero{gap:28px;padding-block:42px 50px}.hero-copy h1{font-size:63px}.hero-copy>p{font-size:13px}.hero-visual>img{height:490px}.hero-actions .button{padding:15px;font-size:11px;gap:12px}.hero-note{font-size:8px}.hero-copy>.eyebrow{font-size:8px}.image-note{left:-15px;bottom:25px;padding:18px 20px}.image-note>span:last-child{font-size:25px}.trust-strip span{font-size:9px}.trust-strip span:before{margin-right:8px}.service-grid{grid-template-columns:repeat(2,1fr)}.page-home .service-card:last-child{grid-column:1/-1}.section{padding-block:70px}.compact{padding-top:15px}.package-grid{grid-template-columns:repeat(2,1fr)}.page-home .package-card:last-child{grid-column:1/-1}.about-layout{gap:40px}.about-photo img{height:460px;border-top-left-radius:90px}.about-copy h2{font-size:48px}.about-copy p{font-size:12px}.contact-layout{gap:55px}.contact-layout h2{font-size:60px}.faq-layout{gap:40px}.footer-top>p{display:none}.contact-cards h2{font-size:39px}.price-row,.price-list-head{gap:25px;grid-template-columns:1fr 90px 100px}}
@media(max-width:600px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.nav-wrap{min-height:81px}.brand-name{font-size:30px}.brand-symbol{width:29px}.brand-symbol svg{width:29px}.brand-name>span{font-size:7px}.hero{display:flex;flex-direction:column;gap:35px;align-items:stretch;padding-top:38px;padding-bottom:38px}.hero-copy{padding:0}.hero-copy>.eyebrow{font-size:8px;margin-bottom:22px}.hero-copy h1{font-size:67px;line-height:1.01;max-width:380px}.hero-copy>p{font-size:14px;margin-top:21px;max-width:340px}.hero-actions{margin-top:25px;gap:17px}.hero-actions .button{font-size:12px;padding:15px 17px;gap:16px;min-height:49px}.hero-actions>.text-link{font-size:11px}.hero-note{font-size:9px;margin-top:23px}.hero-visual{padding-right:13px;margin-top:6px}.hero-visual>img{height:350px;border-top-right-radius:105px;object-position:center}.image-note{left:14px;bottom:17px;padding:16px 20px}.image-note>span:first-child{font-size:7px}.image-note>span:last-child{font-size:24px}.vertical-note{font-size:7px;right:-8px}.trust-strip{padding-block:22px}.trust-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}.trust-strip span{font-size:9px}.trust-strip span:before{font-size:11px}.section{padding-block:57px}.compact{padding-top:8px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:48px}.section-heading .eyebrow{margin-bottom:15px;font-size:8px}.section-heading>p{font-size:12px;margin-top:21px}.section-heading>.text-link{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:15px}.page-home .service-card:last-child{grid-column:auto}.service-card{padding:26px}.service-meta{font-size:9px;margin-bottom:22px}.service-card h3{font-size:34px;margin-bottom:14px}.service-card p{font-size:12px;line-height:1.85;margin-bottom:23px}.service-bottom>.text-link{font-size:11px;gap:8px}.price{font-size:35px}.section-end{margin-top:27px}.about-section{padding-block:54px}.about-layout{grid-template-columns:1fr;gap:39px}.about-photo{max-width:100%}.about-photo img{height:440px;object-position:50% 25%}.photo-caption{font-size:7px}.about-copy h2{font-size:49px}.about-copy>.eyebrow{font-size:8px;margin-bottom:19px}.about-copy p{font-size:13px}.about-copy .serif-note{font-size:27px}.package-grid{grid-template-columns:1fr;gap:15px}.page-home .package-card:last-child{grid-column:auto}.package-card{padding:26px}.package-card>.eyebrow{font-size:7px;margin-bottom:21px}.package-card h3{font-size:34px}.fine-print{font-size:10px}.faq-section{padding-block:55px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:49px}.faqs summary{font-size:13px}.faqs details p{font-size:12px}.contact-section{padding-block:55px}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-layout h2{font-size:65px}.contact-layout .eyebrow{font-size:8px}.contact-layout>div>p{font-size:12px;margin-top:20px}.contact-info{padding-top:0}.contact-info div:nth-child(2)>p{max-width:100%}.site-footer{padding-top:36px;padding-bottom:87px}.footer-top{align-items:flex-start;padding-bottom:28px;gap:18px}.footer-top>.text-link{font-size:11px;gap:8px;padding-top:9px}.footer-bottom{font-size:8px;gap:15px;align-items:flex-start}.mobile-book{display:flex;align-items:center;justify-content:center;gap:18px;position:fixed;bottom:0;left:0;right:0;background:var(--green);color:var(--paper);padding:15px 20px;padding-bottom:max(15px,env(safe-area-inset-bottom));font-size:12px;font-weight:500;z-index:20;border-top:1px solid #a5b196}.page-intro{padding-block:43px 35px}.page-intro h1{font-size:59px}.page-intro>.eyebrow{font-size:8px;margin-bottom:21px}.page-intro>p{font-size:13px;margin-top:23px}.filters{gap:8px;margin-bottom:25px}.filters button{font-size:10px;padding:9px 13px}.infrared-callout{display:block;padding:25px;margin-top:24px}.infrared-callout h3{font-size:31px}.infrared-callout .text-link{margin-top:20px}.price-list-head{display:none}.price-row{grid-template-columns:1fr 1fr;gap:13px;padding-block:26px}.price-row>div{grid-column:1/-1}.price-row h2{font-size:30px}.price-row p{font-size:11px;margin-top:11px}.price-row>.duration{font-size:14px}.price-row .price{font-size:33px}.contact-cards{grid-template-columns:1fr;gap:15px}.contact-cards article{padding:27px}.contact-cards h2{font-size:44px}.prose h2{font-size:33px}.prose>p{font-size:13px}.prose .package-grid{grid-template-columns:1fr}.draft-banner{font-size:10px;padding:10px 15px;gap:10px}.error-page{min-height:65vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:600px){.hero-copy h1{font-size:clamp(52px,16vw,67px)}.site-header nav{flex-wrap:wrap}}
