:root{--ink:#17332d;--green:#155f50;--mint:#dff3e9;--cream:#f7f4ec;--coral:#ee795f;--line:#d9e5df;--white:#fff;--heading-font:Georgia,"Times New Roman",serif;--body-font:Arial,"Segoe UI",sans-serif;--corner-radius:.45rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--body-font);background:#fff}.container{max-width:1180px}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem;z-index:999}.skip-link:focus{left:1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(21,95,80,.1)}.navbar{padding:1rem 0}.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink)!important}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 46% 54%;background:var(--green);color:#fff;font-size:1.8rem;font-weight:400}.brand strong,.brand small{display:block}.brand strong{font-family:var(--heading-font);font-size:1.17rem;line-height:1}.brand small{font-size:.68rem;color:#66817a;margin-top:.28rem}.nav-link{font-weight:600;color:var(--ink)!important;font-size:.92rem}.nav-link:hover{color:var(--green)!important}.language-switcher{display:flex;padding:.25rem;background:var(--cream);border-radius:2rem}.language-switcher a{padding:.4rem .55rem;color:#6e827d;text-decoration:none;font-size:.72rem;font-weight:700;border-radius:2rem}.language-switcher a.active{background:var(--green);color:#fff}.hero{background:var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:700px;align-items:center;gap:4rem;padding-top:4rem;padding-bottom:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--green);margin-bottom:1.25rem}.hero h1,.section h2,.legal-page h1{font-family:var(--heading-font);line-height:1.02;letter-spacing:-.025em}.hero h1{font-size:clamp(3.2rem,6vw,5.65rem);max-width:720px}.lead{font-size:1.15rem;line-height:1.75;color:#536e67;max-width:610px;margin:1.6rem 0 2rem}.hero-actions{display:flex;align-items:center;gap:1rem}.btn{border-radius:0;font-weight:700;padding:.9rem 1.4rem}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:#0d493d;border-color:#0d493d}.btn-link{color:var(--green);text-decoration:none}.status-note{display:flex;align-items:center;gap:.8rem;margin-top:2.5rem}.status-note>span{width:11px;height:11px;border-radius:50%;background:#48b77b;box-shadow:0 0 0 7px rgba(72,183,123,.15)}.status-note strong,.status-note small{display:block}.status-note small{color:#71847f}.hero-art{position:relative;height:520px;background:#cce8dc;border-radius:52% 48% 8% 8%;overflow:visible}.sun{position:absolute;width:125px;height:125px;border-radius:50%;background:#f4c865;top:55px;right:70px}.building{position:absolute;width:330px;height:260px;background:#fff;bottom:0;left:50%;transform:translateX(-50%);border-radius:8px 8px 0 0;box-shadow:0 22px 60px rgba(23,51,45,.13)}.building:before{content:"";position:absolute;left:-25px;right:-25px;top:55px;height:18px;background:var(--green)}.building-sign{position:absolute;display:grid;place-items:center;width:58px;height:58px;background:var(--coral);color:#fff;border-radius:50%;font-size:2rem;left:50%;top:18px;transform:translateX(-50%)}.window-row{display:flex;gap:28px;justify-content:center;margin-top:105px}.window-row i{display:block;width:58px;height:72px;background:#c8e5da;border:8px solid #eef8f3}.door{width:72px;height:84px;background:var(--green);position:absolute;bottom:0;left:50%;transform:translateX(-50%)}.tree{position:absolute;width:72px;height:130px;background:#73b888;border-radius:65% 65% 45% 45%;bottom:0}.tree:after{content:"";position:absolute;width:8px;height:60px;background:#795f42;bottom:-20px;left:32px}.tree-one{left:10px}.tree-two{right:10px;transform:scale(.82)}.hours-card{position:absolute;right:-35px;bottom:28px;background:#fff;width:300px;padding:1.6rem;box-shadow:0 22px 55px rgba(23,51,45,.18);border-top:4px solid var(--coral)}.hours-card h2{font:1.3rem var(--heading-font);margin-bottom:1rem}.hours-card p{display:flex;justify-content:space-between;margin:.55rem 0;font-size:.82rem}.hours-card span{color:#728780}.section{padding:7rem 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:5rem;margin-bottom:3rem}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.5rem,4vw,4rem)}.section-heading>p{max-width:500px;color:#647b75;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;padding:2rem;min-height:280px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.service-card:hover{background:var(--mint);transform:translateY(-4px)}.service-number{position:absolute;right:1.4rem;top:1.4rem;color:#9ab0aa;font-size:.75rem}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--cream);font:1.2rem var(--heading-font);color:var(--green);margin-bottom:2.7rem}.service-card h3,.service-provider-card h3{font:1.55rem var(--heading-font)}.service-card p,.about-copy>p,.contact-intro{color:#647b75;line-height:1.7}.about{background:var(--green);color:#fff}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem;align-items:center}.about .eyebrow{color:#b8ddce}.about-copy>p{color:#d1e3dc;font-size:1.05rem}.about-copy ul{list-style:none;padding:0;margin-top:2rem;display:grid;gap:1rem}.about-copy li:before{content:"✓";display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:var(--green);margin-right:.8rem}.about-visual{height:470px;background:#e8d7c5;position:relative;overflow:hidden}.care-circle{width:260px;height:260px;border-radius:50%;background:var(--coral);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;color:#fff}.care-circle span{font-size:8rem;font-weight:300}.care-circle small{position:absolute;bottom:34px;font-weight:700;letter-spacing:.3em}.quote-shape{position:absolute;right:20px;top:-50px;font:16rem var(--heading-font);color:rgba(255,255,255,.45)}.team{background:#fff}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-provider-card{border:1px solid var(--line);padding:1rem;background:#fff}.portrait{height:330px;display:grid;place-items:center;margin-bottom:1.4rem;overflow:hidden}.portrait span{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.55);font:6rem var(--heading-font)}.portrait-1{background:#dde8da}.portrait-2{background:#eedfd5}.portrait-3{background:#d8e7ea}.service-provider-card p{color:#6a7f79}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.contact-card{background:#fff;padding:2.4rem;margin:0;box-shadow:0 18px 50px rgba(23,51,45,.08)}.contact-card div{padding:1rem 0;border-bottom:1px solid var(--line)}.contact-card div:last-child{border:0}.contact-card small,.contact-card a,.contact-card strong{display:block}.contact-card small{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:#799089}.contact-card a,.contact-card strong{color:var(--ink);font-style:normal;font-size:1.08rem;margin-top:.35rem;text-decoration:none}.emergency{background:#fbe4dd;padding:1.5rem 0}.emergency .container{display:flex;gap:2rem;align-items:center}.emergency strong{white-space:nowrap;color:#9c3f2c}.emergency p{margin:0;color:#704a42}.site-footer{background:#102e28;color:#c7d9d3;padding:2.5rem 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-brand strong{color:#fff}.footer-brand small{max-width:350px;color:#91aaa3}.site-footer a{color:#fff}.legal-page{min-height:65vh;padding:8rem 0;background:var(--cream)}.legal-page .container{max-width:800px}.legal-page h1{font-size:4rem}.legal-page p{font-size:1.15rem;line-height:1.8;color:#60766f;margin:2rem 0}
@media(max-width:991px){.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-top:5rem}.hero-art{max-width:650px;width:90%;margin:auto}.service-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.navbar-collapse{padding:1rem 0}.language-switcher{width:max-content;margin-top:1rem}}
@media(max-width:650px){.hero-grid{min-height:auto}.hero h1{font-size:3.3rem}.hero-art{height:420px;width:100%}.building{width:260px;height:220px}.hours-card{position:relative;right:auto;left:1rem;top:300px;width:calc(100% - 2rem)}.section{padding:5rem 0}.service-grid,.team-grid{grid-template-columns:1fr}.about-grid{gap:3rem}.about-visual{height:340px}.contact-grid{gap:2rem}.footer-grid,.emergency .container{align-items:flex-start;flex-direction:column}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{text-align:center}.section-heading{margin-bottom:2rem}.portrait{height:270px}}

#services,#about,#team,#contact{scroll-margin-top:90px}

.nav-book{padding:.55rem .9rem;color:#fff!important}.appointment-page{min-height:70vh;padding:4rem 0 7rem;background:var(--cream)}.appointment-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 4rem;border-bottom:1px solid var(--line)}.appointment-steps li{display:flex;align-items:center;gap:.65rem;padding:1rem .5rem;color:#82948f}.appointment-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #a8bab5;font-size:.78rem}.appointment-steps .current{color:var(--green);border-bottom:3px solid var(--green)}.appointment-steps .current span,.appointment-steps .complete span{background:var(--green);border-color:var(--green);color:#fff}.appointment-heading{max-width:720px;margin-bottom:2.5rem}.appointment-heading h1,.confirmation-card h1{font:clamp(2.6rem,5vw,4.6rem)/1.05 var(--heading-font)}.appointment-heading>p:last-child{color:#647b75;font-size:1.05rem}.selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.selection-grid form{height:100%}.selection-card{position:relative;width:100%;height:100%;min-height:150px;text-align:left;border:1px solid var(--line);background:#fff;padding:1.5rem 3.5rem 1.5rem 1.5rem;color:var(--ink);transition:.2s}.selection-card:hover,.selection-card:focus{border-color:var(--green);background:var(--mint);transform:translateY(-2px)}.selection-card strong,.selection-card span{display:block}.selection-card strong{font:1.35rem var(--heading-font);margin-bottom:.6rem}.selection-card span{color:#687e78;line-height:1.55}.selection-card i{position:absolute;right:1.3rem;top:50%;font-style:normal;font-size:1.4rem;color:var(--green)}.any-service-provider{border-left:5px solid var(--coral)}.appointment-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem}.appointment-summary{background:#fff;border-top:4px solid var(--green);padding:1.5rem;height:max-content;position:sticky;top:110px}.appointment-summary h2{font:1.35rem var(--heading-font);margin-bottom:1.3rem}.appointment-summary div{padding:.9rem 0;border-top:1px solid var(--line)}.appointment-summary small,.appointment-summary strong{display:block}.appointment-summary small{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#758b84}.appointment-summary strong{margin-top:.35rem}.wizard-back{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-top:2rem}.date-picker{display:flex;gap:1rem;align-items:end;background:#fff;padding:1.2rem;margin-bottom:1.5rem}.date-picker label{font-weight:700}.date-picker input{display:block;padding:.75rem;border:1px solid #b8c9c4;margin-top:.4rem}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.slot-grid button{width:100%;border:1px solid #a6d7c4;background:#dff3e9;padding:.8rem;font-weight:700;color:var(--ink)}.slot-grid button:hover{background:var(--green);color:#fff}.no-slots,.appointment-error{padding:1rem 1.2rem;background:#fbe4dd;color:#843b2c}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.appointment-form label,.appointment-form input,.appointment-form textarea,.appointment-form small{display:block;width:100%}.appointment-form label{font-weight:700;margin-bottom:.4rem}.appointment-form input,.appointment-form textarea{border:1px solid #b8c9c4;background:#fff;padding:.85rem}.appointment-form small{color:#6d817b;margin-top:.35rem}.form-wide{grid-column:1/-1}.form-actions{display:flex;justify-content:space-between;align-items:center}.form-actions .wizard-back{margin:0}.confirmation-card{max-width:720px;margin:auto;text-align:center;background:#fff;padding:4rem;box-shadow:0 18px 60px rgba(23,51,45,.1)}.confirmation-check{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--green);color:#fff;font-size:2rem;margin:0 auto 1.5rem}.confirmation-number{padding:1.3rem;background:var(--mint);margin:2rem 0}.confirmation-number small,.confirmation-number strong{display:block}.confirmation-number strong{font-size:1.7rem;letter-spacing:.08em}.confirmation-card dl div{margin:1rem 0}.confirmation-card dt,.confirmation-card dd{margin:0}.confirmation-card dd{color:#647b75}.email-recorded{color:var(--green);font-weight:700}
@media(max-width:800px){.appointment-layout{grid-template-columns:1fr}.appointment-summary{position:static;grid-row:1}.appointment-steps strong{display:none}.selection-grid{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.appointment-page{padding-top:2rem}.appointment-steps{margin-bottom:2.5rem}.appointment-form{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(2,1fr)}.date-picker{align-items:stretch;flex-direction:column}.confirmation-card{padding:2rem 1rem}.form-actions{align-items:stretch;flex-direction:column-reverse;gap:1rem}.form-actions .btn{width:100%}}
.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.demo-notice{grid-column:1/-1;margin:0 0 1.25rem;padding:.85rem 1rem;border-left:4px solid var(--coral);background:#fff4ef;color:var(--ink);font-weight:700}
