@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--sage:#263e32;--sage2:#526d57;--cream:#fbfaf6;--ivory:#f3f0e7;--gold:#b78c3d;--ink:#273a32;--muted:#666b64}*{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.75}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 1.3em}.wrap{max-width:1170px;margin:auto;padding:0 28px}.topbar{background:var(--sage);color:#f6f3e9;text-align:center;font-size:12px;letter-spacing:.09em;padding:9px}.topbar span{padding:0 12px;color:#d2ad6e}.header{position:sticky;top:0;background:#fffdf8ee;z-index:100;backdrop-filter:blur(10px);box-shadow:0 1px 8px #253f3212}.header-inner{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font:500 30px 'Playfair Display',serif;color:var(--sage);white-space:nowrap}.wordmark i{color:var(--gold)}.sprig{font-size:23px;color:var(--sage2)}nav{display:flex;align-items:center;gap:27px}nav a{font-size:13px;font-weight:600;letter-spacing:.015em}nav .nav-cta{background:var(--sage);color:white;border-radius:2px;padding:11px 21px}.menu-toggle{display:none;background:transparent;border:0;font-size:28px;color:var(--sage)}.hero{position:relative;min-height:650px;overflow:hidden;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('assets/hero.webp') center/cover}.hero-shade{background:linear-gradient(90deg,rgba(249,248,242,.96) 1%,rgba(248,247,240,.9) 35%,rgba(248,247,240,.2) 78%)}.hero-content{position:relative;width:100%}.hero-card{max-width:560px;padding:70px 0}.eyebrow{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.22em;margin-bottom:19px}.hero h1,h2{font:400 clamp(38px,4.2vw,62px)/1.15 'Playfair Display',serif;letter-spacing:-.027em;margin:0 0 24px}.hero h1 em,h2 em,.quote em{font-weight:400;color:var(--sage2)}.hero p{max-width:450px;font-size:18px;color:#3c4b42}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 26px}.btn{display:inline-block;padding:14px 21px;border:1px solid var(--sage);font-weight:700;font-size:13px;letter-spacing:.02em;text-align:center;cursor:pointer}.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn.outline{background:#fffaf4c9;color:var(--sage)}.btn.dark{background:var(--sage);color:#fff}.btn.full{display:block}.hero small{color:#596b5b;letter-spacing:.16em;text-transform:uppercase;font-size:10px}.section{padding:100px 0}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:90px;align-items:center}.intro-art{background:#f1eee3;text-align:center;padding:60px 40px;border:1px solid #e6e1d1}.intro-art img{max-width:100%;width:420px;mix-blend-mode:multiply}.intro-art p{font:italic 21px 'Playfair Display',serif;color:var(--sage2);margin:13px 0 0}.intro h2,.contact h2{font-size:clamp(38px,4vw,52px)}.intro p{color:var(--muted)}.inline-link{color:var(--gold);font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:5px}.services,.reviews{background:#f0f3ed}.center-heading{text-align:center;max-width:720px;margin:0 auto 52px}.center-heading h2{font-size:clamp(38px,4vw,52px)}.center-heading>p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:#fff;padding:35px 29px;border:1px solid #e4e8de;min-height:250px;transition:transform .2s}.service:hover{transform:translateY(-3px)}.service-icon{color:var(--gold);font-size:40px;line-height:1.1;margin-bottom:21px}.service h3,.steps h3,.review-empty h3,.contact-panel h3{font:500 24px 'Playfair Display',serif;margin:0 0 13px}.service p,.steps p{font-size:14px;color:var(--muted);margin:0}.service-note{font-size:12px;color:var(--muted);text-align:center;max-width:820px;margin:28px auto 0}.quote{text-align:center;background:var(--sage);color:white;padding:75px 0}.quote-mark{font:72px 'Playfair Display',serif;color:var(--gold);line-height:1}.quote p{font:400 clamp(27px,3.2vw,43px)/1.4 'Playfair Display',serif;max-width:850px;margin:0 auto 20px}.quote em{color:#d7c19b}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:center}.steps span{font:italic 44px 'Playfair Display',serif;color:var(--gold);display:block;margin-bottom:15px}.review-empty{text-align:center;background:#fff;padding:55px 30px;max-width:700px;margin:auto;border:1px solid #e4e8de}.review-empty span{font-size:50px;color:var(--gold)}.review-empty p{color:var(--muted);max-width:470px;margin:0 auto 24px}.narrow{max-width:840px}.faq-list{border-top:1px solid #d9ddd5}.faq-list details{border-bottom:1px solid #d9ddd5;padding:20px 4px}.faq-list summary{cursor:pointer;font-size:17px;font-weight:600;list-style:none;position:relative;padding-right:25px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;font-size:22px;font-weight:400;color:var(--gold)}.faq-list details[open] summary:after{content:'−'}.faq-list p{padding-top:15px;color:var(--muted);font-size:15px;margin:0}.contact{background:#ebece4}.contact p{color:var(--muted)}.phone-link{display:block;font:500 clamp(30px,3vw,41px) 'Playfair Display',serif;color:var(--sage);margin:24px 0}.hours{font-size:14px}.contact-panel{background:white;padding:50px 45px;box-shadow:0 15px 45px #3249370d}.contact-panel p{font-size:15px}.contact-panel .small{font-size:12px;margin-top:20px}.contact-panel .small a{color:var(--sage);text-decoration:underline}footer{background:var(--sage);color:#fff;padding:65px 0 24px}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-inner .wordmark{color:white}.footer-inner p{font-size:13px;margin:10px 0}.footer-inner small{color:#c0cfc0;font-size:12px}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:13px}.legal{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;margin-top:55px;padding-top:20px;color:#b2c3b3;font-size:11px}@media(max-width:950px){.menu-toggle{display:block}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#fffcf7;padding:25px;box-shadow:0 15px 25px #0002;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.split{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.wrap{padding:0 22px}.topbar{font-size:10px;padding:7px}.topbar span{padding:0 4px}.wordmark{font-size:25px}.hero{min-height:640px}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(249,248,242,.95),rgba(249,248,242,.80))}.hero-card{padding:70px 0}.hero h1{font-size:46px}.hero p{font-size:17px}.section{padding:65px 0}.split,.steps,.footer-inner{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.intro-art{padding:30px 20px}.intro-art img{width:330px}.center-heading{margin-bottom:34px}.service{min-height:0}.contact-panel{padding:35px 25px}.footer-inner{gap:28px}.legal{display:block}.legal span{display:block;margin-top:8px}}
/* Quiet opening scene: no duplicated logo/watermark over the hero */
.hero{background:#ecefe7}.hero-photo{background:none!important}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 35%,#d0decd 0%,transparent 36%),radial-gradient(circle at 96% 88%,#e8d9b9 0%,transparent 36%),linear-gradient(112deg,#f5f2e8 3%,#eef1e8 70%,#dfe8da 100%)}.hero:after{content:"✦";position:absolute;right:9%;top:18%;color:#8caa8b47;font-size:min(35vw,450px);line-height:1;transform:rotate(-15deg);pointer-events:none}.hero-shade{background:none}.hero-content{z-index:2}.hero-card{max-width:650px}.hero h1{max-width:680px}.hero-card p{max-width:540px}
.intro .split{align-items:start}.intro-art{position:sticky;top:110px}
.contact .split{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start;gap:46px}.contact-panel{padding:38px}.contact-panel .intake-card>p{font-size:14px}.intake-card h3{font:500 31px 'Playfair Display',serif;margin-bottom:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}#serviceInquiry label,.form-fieldset legend{font-size:13px;font-weight:600;color:#283e33;display:block}#serviceInquiry b{color:#a17b38}#serviceInquiry input:not([type=checkbox]),#serviceInquiry textarea{display:block;width:100%;margin-top:6px;background:#fbfaf6;border:1px solid #cbd5c9;border-radius:5px;padding:12px;font:400 14px 'DM Sans',sans-serif;color:#243d33}#serviceInquiry input:focus,#serviceInquiry textarea:focus{outline:2px solid #a4bd9b;outline-offset:1px}#serviceInquiry textarea{resize:vertical}.form-fieldset{border:0;border-top:1px solid #dae1d5;padding:18px 0 12px;margin:20px 0 5px}.form-fieldset legend{padding:0 8px 0 0}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px 13px}.service-choices label{font-weight:400!important;display:flex!important;align-items:flex-start;gap:8px;line-height:1.35}.service-choices input{accent-color:#2e513f;margin-top:3px}.conditional-field{background:#f2f5f0;border-radius:5px;padding:14px;margin:12px 0}.conditional-field[hidden]{display:none}.conditional-field small{display:block;color:#68736b;margin-top:6px;font-size:11px}.form-block{margin:17px 0!important}.privacy-note{font-size:11px!important;line-height:1.6;color:#647266}.form-status{margin:8px 0!important;font-size:13px!important;font-weight:600;color:#254835}.form-status.error{color:#ae4b3b}.contact-panel .btn.full{width:100%}#sendInquiry[disabled]{opacity:.65;cursor:wait}html{scroll-padding-top:115px}
@media(max-width:950px){.contact .split{grid-template-columns:1fr}}@media(max-width:640px){.hero:after{font-size:55vw;top:15%;right:-12%;opacity:.42}.hero-card{max-width:100%}.form-grid,.service-choices{grid-template-columns:1fr}.contact-panel{padding:26px 20px}.intro-art{position:relative;top:auto}}
.email-contact a{color:#294d3b;text-decoration:underline}.email-contact{font-size:13px}

/* Large and accessible acknowledgement for successful inquiries */
#serviceInquiry[hidden]{display:none!important}.submission-success{text-align:center;background:#f0f5ed;border:1px solid #a4b99f;border-radius:14px;padding:38px 25px;margin:20px auto;color:#254636;box-shadow:0 10px 35px #1d3d2420}.submission-success .success-check{height:58px;width:58px;border-radius:50%;background:#355840;color:white;font-size:34px;line-height:58px;margin:0 auto 15px}.submission-success h3{font:600 clamp(25px,3vw,34px) 'Playfair Display',serif;color:#203e2f;margin:0 0 15px}.submission-success p{font-size:16px;line-height:1.7;margin:0 auto 16px;max-width:580px}.submission-success .success-small{font-size:14px}.submission-success a{color:#244732;text-decoration:underline}.submission-success .submit-again{margin-top:10px}
