@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#26332b;--muted:#64716a;--green:#315c47;--green2:#264b39;--cream:#faf9f5;--paper:#fff;--sage:#eaf1ea;--peach:#f6e8dc;--border:#e3e7e0;--shadow:0 20px 55px rgba(24,51,36,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #87b39b;outline-offset:3px}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}.shell{width:min(1130px,calc(100% - 44px));margin:auto}.pilot-strip{background:#e9eee7;color:#496453;padding:8px 18px;font-size:12px;font-weight:650;letter-spacing:.035em;text-align:center}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,249,245,.95);backdrop-filter:blur(16px);border-bottom:1px solid #e7e9e4}.navigation{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{font-family:Manrope,sans-serif;font-size:22px;font-weight:800;letter-spacing:-1.1px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.brand-symbol{display:grid;place-items:center;width:32px;height:32px;background:var(--green);color:#fff;border-radius:10px;font-size:23px;font-weight:400}.nav-links{display:flex;align-items:center;gap:27px}.nav-links a{font-size:13.5px;font-weight:700;color:#556459}.nav-links a:hover,.footer-links a:hover,.inline-link:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}.nav-right{display:flex;gap:10px;align-items:center}.button{background:var(--green);display:inline-flex;justify-content:center;align-items:center;gap:10px;color:#fff;padding:14px 22px;border:1px solid var(--green);border-radius:8px;font-weight:750;font-size:14px;min-height:48px;transition:transform .16s,background .16s}.button:hover{transform:translateY(-1px);background:var(--green2)}.button.small{font-size:13px;min-height:40px;padding:10px 16px}.button.secondary{background:transparent;color:var(--green);border:1px solid #b8c8bb}.button.secondary:hover{background:#eaf1ea}.menu-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:22px;color:var(--ink)}.mobile-menu{display:none}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#557961;font-weight:800}.hero{padding:100px 0 104px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px;min-height:395px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(54px,6vw,83px);font-weight:800;letter-spacing:-.066em;line-height:1.07;margin:20px 0 22px}.hero p{color:#65716a;font-size:18px;max-width:510px;line-height:1.8;margin-bottom:27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{background:#e8eee7;border:1px solid #dae3d9;position:relative;min-height:390px;border-radius:20px;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow)}.art-circle{border:1px solid #ceddcc;border-radius:50%;position:absolute;width:420px;height:420px;left:50%;top:50%;transform:translate(-50%,-50%)}.art-circle.two{width:290px;height:290px}.service-mini{position:relative;z-index:1;background:#fff;box-shadow:0 12px 32px rgba(45,75,54,.08);display:flex;align-items:center;gap:16px;border-radius:12px;padding:19px 23px;width:min(315px,80%)}.service-icon{display:grid;place-items:center;background:var(--sage);border-radius:12px;color:var(--green);font-size:25px;width:47px;height:47px;flex:none}.service-mini strong{display:block;font-family:Manrope,sans-serif;font-size:16px}.service-mini small{display:block;color:var(--muted);font-size:12px}.section{padding:83px 0}.section.soft{background:#f1f3ed}.section-heading{max-width:630px;margin-bottom:34px}.section-heading h2,.page-head h1,.simple-cta h2{font-family:Manrope,sans-serif;font-size:clamp(30px,3.6vw,46px);line-height:1.2;letter-spacing:-.045em;margin:10px 0 15px}.section-heading p,.page-head p{color:var(--muted);font-size:16px;line-height:1.75}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{background:#fff;border:1px solid var(--border);padding:31px;border-radius:15px;box-shadow:var(--shadow)}.service-card h3,.step h3,.quiet-item h3{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.028em;margin:18px 0 8px}.service-card p,.step p,.quiet-item p{color:var(--muted);font-size:14px;margin:0 0 15px}.inline-link{font-size:14px;font-weight:800;color:var(--green)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.step-number{background:#dfe9de;color:var(--green);border-radius:50%;font-size:13px;font-weight:800;width:36px;height:36px;display:grid;place-items:center}.step h3{font-size:18px}.simple-cta{padding:61px 0;background:var(--green);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.simple-cta h2{font-size:33px;margin:0 0 8px}.simple-cta p{margin:0;color:#d8e9dc}.simple-cta .button{background:#fff;border-color:#fff;color:var(--green)}.simple-cta .button:hover{background:#e8f1e9}.quiet-links{padding:72px 0}.quiet-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}.quiet-item h3{font-size:18px;margin:0 0 9px}.footer{border-top:1px solid var(--border);padding:50px 0;background:#f5f5f0}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:30px}.footer p{font-size:12px;color:var(--muted);margin:12px 0 0}.footer-links{display:flex;gap:12px 19px;flex-wrap:wrap;max-width:450px;justify-content:flex-end;font-size:12px;font-weight:650;color:#66746b}.page-hero{padding:65px 0 28px}.page-head{max-width:750px}.page-head h1{font-size:clamp(38px,5vw,57px);margin:15px 0 16px}.page-head p{margin:0}.page-content{padding:35px 0 92px}.two-column{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}.form-panel{background:var(--paper);padding:33px;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.form-panel h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.03em;margin:0 0 5px}.form-panel>p,.form-intro{font-size:13px;color:var(--muted);margin:0 0 25px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label,fieldset legend{font-weight:750;font-size:12px;color:#3c4c42}.field input,.field select,.field textarea{border:1px solid #d8ded7;border-radius:8px;background:#fff;min-height:45px;padding:11px 12px;width:100%;color:var(--ink);font-size:14px}.field textarea{min-height:105px;resize:vertical}.hint{font-size:11px;color:var(--muted);margin-top:3px}.divider{border:none;border-top:1px solid var(--border);margin:27px 0}.form-group-heading{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.02em;margin:0 0 14px}.choice-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choice-grid label{font-size:13px;display:flex;gap:7px;align-items:center;background:#f5f7f2;border:1px solid var(--border);border-radius:8px;padding:10px 11px}.choice-grid input{accent-color:var(--green)}.checkbox-line{display:flex;align-items:start;gap:9px;font-size:12px;color:#586960;line-height:1.55;margin:21px 0}.checkbox-line input{margin-top:4px;accent-color:var(--green);flex:none}.form-submit{width:100%}.form-footnote{font-size:11px;color:var(--muted);line-height:1.65;margin:14px 0 0}.info-panel{background:#edf2e9;padding:28px;border-radius:15px;border:1px solid #dfe8dc}.info-panel h3{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.02em;margin:0 0 12px}.info-panel p,.info-panel li{font-size:13px;color:#5c6c62;line-height:1.75}.info-panel ul{padding-left:18px;margin:11px 0}.info-panel li{margin:8px 0}.sample-price{font-size:25px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.03em;margin:12px 0 5px}.estimate-card{background:#fff;padding:24px;border:1px solid var(--border);border-radius:12px;margin-top:16px}.estimate-card h3{margin:0;font-size:17px}.estimate-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf0eb;font-size:13px}.estimate-row strong{font-weight:800}.estimate-row.total{font-weight:800;font-size:16px;border:0}.est-disclaimer{font-size:11px;color:var(--muted);line-height:1.65}.service-fields{margin-top:24px;padding:20px;background:#f6f8f4;border-radius:12px;border:1px solid var(--border)}.service-fields[hidden]{display:none}.service-fields h3{margin:0 0 15px;font-family:Manrope;font-size:16px}.note{padding:15px;background:#edf2e9;color:#4b6554;border-left:3px solid #8eaa96;border-radius:7px;font-size:12px;margin-top:19px}.content-card{background:#fff;padding:30px;border-radius:15px;border:1px solid var(--border)}.content-card h2{font-family:Manrope;font-size:22px}.content-card h3{font-size:17px}.content-card p,.content-card li{color:var(--muted);font-size:14px;line-height:1.85}.content-card ul{padding-left:18px}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.mini-card{background:#fff;border:1px solid var(--border);padding:20px;border-radius:12px}.mini-card strong{display:block;font-size:14px}.mini-card span{font-size:12px;color:var(--muted)}.thanks{max-width:650px;text-align:center;margin:65px auto 100px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:55px 35px}.thanks .mark{background:var(--sage);color:var(--green);border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-size:30px;margin:0 auto 18px}.thanks h1{font-family:Manrope;font-size:36px;letter-spacing:-.05em;margin:0 0 12px}.thanks p{color:var(--muted);font-size:14px;margin-bottom:25px}.trust-line{font-size:12px;color:#687b6e;margin-top:21px}.hidden-field{position:absolute;left:-10000px;height:1px;width:1px;overflow:hidden}
@media(max-width:900px){.nav-links{gap:13px}.nav-links a{font-size:12px}.hero-inner{gap:26px}.hero h1{font-size:60px}.hero-art{min-height:350px}.two-column{gap:22px}}
@media(max-width:720px){.shell{width:min(100% - 32px,1130px)}.navigation{height:65px}.nav-links{display:none}.nav-right>.button{display:none}.menu-toggle{display:inline-flex}.mobile-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--border);padding:10px 16px 22px;box-shadow:var(--shadow)}.mobile-menu.open{display:flex;flex-direction:column;gap:10px}.mobile-menu a{padding:8px 5px;font-size:14px;font-weight:700}.hero{padding:54px 0}.hero-inner{grid-template-columns:1fr;gap:35px;min-height:unset}.hero h1{font-size:clamp(49px,11vw,70px)}.hero p{font-size:16px}.hero-art{min-height:265px}.service-mini{padding:13px 15px}.section{padding:65px 0}.cards,.quiet-inner,.two-column{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:25px}.cta-inner,.footer-inner{flex-direction:column;align-items:start}.footer-links{justify-content:flex-start}.quiet-inner{gap:30px}.page-hero{padding:45px 0 15px}.page-content{padding:20px 0 65px}.mini-cards{grid-template-columns:1fr}.two-column{gap:25px}.form-panel{padding:23px}.hero-art .art-circle{width:330px;height:330px}.hero-art .art-circle.two{width:210px;height:210px}}
@media(max-width:480px){.fields{grid-template-columns:1fr}.hero h1{letter-spacing:-.06em}.hero-actions .button{flex:1}.page-head h1{font-size:39px}.service-card{padding:23px}.form-panel{padding:20px}.info-panel{padding:21px}.simple-cta h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* V1.1 — booking-first messaging and service chooser; inherits original color palette */
.hero{padding-top:91px;padding-bottom:92px}
.hero-inner{grid-template-columns:1.08fr .92fr;gap:38px}
.hero h1{font-size:clamp(46px,5.15vw,69px);letter-spacing:-.06em;line-height:1.13;margin-bottom:20px}
.hero h1 span{white-space:normal}
.hero-copy>p{max-width:530px;margin-top:0;margin-bottom:23px}
.hero-copy>p strong{color:var(--ink);font-weight:700}
.hero-benefits{display:flex;flex-wrap:wrap;gap:7px 17px;color:#486953;font-size:12px;font-weight:750;margin-top:20px}
.hero-copy .trust-line{max-width:550px;margin-top:13px;margin-bottom:0;font-size:12px;line-height:1.65}
.booking-art{padding:25px;min-height:400px}
.booking-card{width:min(400px,100%);position:relative;z-index:1;background:rgba(255,255,255,.88);border:1px solid #e2e9df;box-shadow:0 20px 45px rgba(45,75,54,.09);border-radius:18px;padding:24px 19px 17px}
.booking-card-top{display:flex;flex-direction:column;gap:5px;margin:0 7px 17px}
.booking-card-top strong{font-family:Manrope,sans-serif;font-size:22px;line-height:1.25;letter-spacing:-.035em}
.booking-card-top small{color:var(--muted);font-size:12px}
.booking-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:#5c8066}
.booking-card .service-choice{width:100%;padding:13px 12px;margin:10px 0;gap:12px;border:1px solid #e0e7dd;box-shadow:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.service-choice:hover{border-color:#8cac95;box-shadow:0 10px 25px rgba(45,75,54,.1);transform:translateY(-1px)}
.service-choice .service-icon{width:44px;height:44px}
.choice-text{flex:1;min-width:0}
.service-choice strong{font-size:15px}
.choice-arrow{color:var(--green);font-size:20px;font-weight:800;line-height:1}
.booking-both{display:block;text-align:center;font-size:12px;color:#506a57;padding:12px 5px 2px}
.booking-both strong{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.booking-footnote{text-align:center;color:var(--muted);font-size:10px;margin-top:12px;line-height:1.6}
.service-card{display:flex;flex-direction:column;align-items:flex-start}
.service-card p{flex:1;margin-bottom:18px}
.service-cta{font-size:13px;min-height:43px;padding:11px 16px}
.card-secondary-link{margin-top:15px;font-size:12px}
.how-note{margin-top:30px;color:var(--muted);font-size:12px;line-height:1.6}
.request-stepper{display:flex;gap:10px;justify-content:space-between;margin-bottom:25px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:18px}
.request-stepper span{display:inline-flex;gap:7px;align-items:center;color:#516458;font-size:12px;font-weight:700}
.request-stepper b{display:grid;place-items:center;background:var(--sage);color:var(--green);border-radius:50%;width:24px;height:24px;font-size:11px}
@media(max-width:900px){.hero-inner{gap:24px}.hero h1{font-size:clamp(43px,5.7vw,59px)}.booking-card{padding:21px 15px}}
@media(max-width:720px){.hero{padding:48px 0 60px}.hero-inner{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(43px,10vw,65px)}.booking-art{min-height:auto;padding:26px 16px}.booking-card{width:min(420px,100%)}.hero-benefits{gap:8px 12px}.hero-copy .trust-line{font-size:11px}}
@media(max-width:480px){.hero h1{font-size:clamp(38px,10vw,51px)}.hero-actions .button{flex:1 1 auto}.hero-benefits{font-size:11px}.booking-card-top strong{font-size:20px}.request-stepper{gap:7px}.request-stepper span{font-size:11px}}

/* contact section + footer contact */
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.footer-contact a{color:var(--green);font-weight:650}
.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}
/* about */
.about-head{display:flex;gap:24px;align-items:center}
.about-avatar{flex:none;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--green);color:#fff;font-family:Manrope,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.02em}
.about-teaser .section-heading{margin-bottom:0}
.about-point{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.about-point span{color:var(--muted);font-size:14px}
@media(max-width:700px){.about-head{flex-direction:column;align-items:start}}
/* legal pages */
.legal{max-width:820px}
.legal h2{margin:30px 0 8px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--muted);line-height:1.75;font-size:15px}
.legal li{margin-bottom:8px}
