*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--paper: #f4f8f9;--wash: #e2edef;--deep: #1e3e46;--deepest: #16323a;--teal: #6ea9b5;--teal-bg: #b5dce3;--teal-text: #38707d;--teal-soft: #a5cdd6;--green: #3e8f39;--green-bright: #56b950;--green-deep: #2e6f28;--red: #a43222;--gold: #e8a838;--ink: #0f2126;--ink-soft: #2b3d42;--mist: #52676d;--on-dark: #eef4f5;--on-dark-soft: rgba(238, 244, 245, .78);--border: #c6d8dc;--border-dark: rgba(238, 244, 245, .18);--card-bg: #ffffff;--max-width: 1200px;--gutter: clamp(20px, 5vw, 64px)}html{scroll-behavior:smooth;overflow-x:clip}body{overflow-x:clip;font-family:Public Sans,sans-serif;font-weight:400;font-size:17px;line-height:1.6;color:var(--ink-soft);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:767px){body{font-size:16px;line-height:1.55}}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img,svg{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;top:-100px;left:0;background:var(--ink);color:var(--paper);padding:12px 20px;z-index:1000;font-size:14px}.skip-link:focus{top:0}h1,h2,.h-display{font-family:Tinos,serif;font-weight:700;color:var(--deep);letter-spacing:-.01em}h1{font-size:clamp(38px,6vw,64px);line-height:1.05}h2{font-size:clamp(30px,4.5vw,44px);line-height:1.15}h3{font-family:Public Sans,sans-serif;font-weight:600;font-size:clamp(18px,2.2vw,21px);line-height:1.4;color:var(--ink)}.eyebrow{font-family:Public Sans,sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--green);display:block;margin-bottom:20px}.pull-quote{font-family:Tinos,serif;font-weight:700;font-style:italic;font-size:clamp(24px,4vw,36px);line-height:1.3;color:var(--deep);text-align:center;margin:0 auto 36px;max-width:760px;padding:0 24px}.signature{font-family:Caveat,cursive;font-weight:500;font-size:clamp(28px,4vw,36px);color:var(--red);line-height:1}.signature-role{font-family:Public Sans,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--mist);margin-top:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:4px;font-family:Public Sans,sans-serif;font-weight:600;font-size:15px;line-height:1;border:1.5px solid transparent;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}.btn-primary:hover{background:#8a2a1c;border-color:#8a2a1c}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink);padding:13px 27px}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.text-link{font-family:Public Sans,sans-serif;font-weight:600;font-size:14px;color:var(--green-deep);display:inline-flex;align-items:center;gap:6px;transition:gap .2s ease}.text-link:hover{gap:10px}.text-link:hover span:first-child{text-decoration:underline;text-underline-offset:3px}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}section{position:relative}@media(prefers-reduced-motion:no-preference){.fade-section{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.fade-section.in-view{opacity:1;transform:translateY(0)}}header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);transition:box-shadow .3s ease}header.scrolled{box-shadow:0 6px 20px #101a161a}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);max-width:var(--max-width);margin:0 auto}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-logo{height:72px;width:auto;flex-shrink:0}@media(max-width:500px){.brand-logo{height:52px}}.nav-links{display:flex;gap:32px;list-style:none;flex:1;justify-content:center}.nav-links a{font-family:Public Sans,sans-serif;font-weight:500;font-size:14px;color:var(--ink-soft);position:relative;padding:4px 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--green);transition:width .25s ease}.nav-links a:hover:after{width:100%}.nav-dropdown{position:relative}.nav-dropdown-toggle{font-family:Public Sans,sans-serif;font-weight:500;font-size:14px;color:var(--ink-soft);background:transparent;border:none;padding:4px 0;display:inline-flex;align-items:center;gap:6px;position:relative}.nav-dropdown-toggle:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--green);transition:width .25s ease}.nav-dropdown:hover .nav-dropdown-toggle:after,.nav-dropdown.open .nav-dropdown-toggle:after{width:100%}.nav-dropdown-toggle i{font-size:13px;line-height:1;transition:transform .2s ease}.nav-dropdown.open .nav-dropdown-toggle i{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%) translateY(-6px);min-width:232px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 14px 34px #101a1624;padding:8px;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.nav-dropdown-menu:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}.nav-dropdown-menu a{display:block;padding:10px 14px;border-radius:4px;font-family:Public Sans,sans-serif;font-weight:500;font-size:14px;color:var(--ink-soft);white-space:nowrap;transition:background .18s ease,color .18s ease}.nav-dropdown-menu a:after{content:none}.nav-dropdown-menu a:hover{background:var(--wash);color:var(--deep)}.nav-cta{flex-shrink:0}.menu-toggle{display:none;background:transparent;border:none;padding:8px}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}@media(max-width:1015px){.nav-links{display:none}.menu-toggle{display:block}.nav-cta{display:none}.nav.menu-open+.mobile-menu{display:flex}.mobile-menu{display:none;flex-direction:column;gap:20px;padding:24px var(--gutter) 36px;background:#fff;border-top:1px solid var(--border)}.mobile-menu a{font-family:Public Sans,sans-serif;font-weight:500;font-size:16px;color:var(--ink);padding:8px 0}.mobile-menu-label{font-family:Public Sans,sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--mist);margin-bottom:-8px}.mobile-menu a.mobile-menu-sub{font-size:15px;color:var(--ink-soft);padding:0 0 0 16px;margin:-8px 0;border-left:2px solid var(--border)}.mobile-menu .btn{align-self:flex-start;margin-top:8px}.mobile-menu a.btn-primary{color:#fff;padding:14px 16px}}@media(min-width:1016px){.mobile-menu{display:none!important}}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}@media(max-width:900px){.audience-grid{grid-template-columns:1fr;gap:20px}}.audience-card{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:36px 32px;display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 10px #101a160f;transition:box-shadow .3s ease,border-color .25s ease,transform .25s ease}.audience-card:hover{border-color:var(--teal);box-shadow:0 14px 30px #101a1624;transform:translateY(-3px)}.audience-icon{font-size:46px;line-height:1;color:var(--green-bright);margin-bottom:4px}.audience-card h3{font-family:Tinos,serif;font-weight:700;font-size:clamp(22px,2.4vw,26px);line-height:1.25;color:var(--ink);letter-spacing:-.005em}.audience-card p{font-size:15px;color:var(--ink-soft);line-height:1.6;flex-grow:1}.audience-card .text-link{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.reviews-strip{max-width:560px;margin:0 auto 48px;background:#f2f6f033;border:1px solid var(--border-dark);border-radius:6px;padding:16px 28px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;transition:transform .2s ease}.reviews-strip:hover{transform:translateY(-2px)}.reviews-stars{display:flex;gap:2px;align-items:center}.reviews-stars i{font-size:17px;line-height:1;color:var(--gold)}.reviews-rating{font-family:Tinos,serif;font-weight:700;font-size:20px;color:var(--deep);line-height:1}.reviews-text{font-family:Public Sans,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1}.reviews-text strong{font-weight:600;color:var(--deep)}.page-hero{background:var(--teal-bg);color:var(--ink-soft);padding:clamp(64px,9vw,104px) 0 clamp(56px,8vw,88px)}.page-hero .eyebrow{color:#528189}.page-hero h1{color:var(--deep);max-width:760px}.page-hero-lead{font-size:clamp(16px,2vw,18px);color:var(--ink-soft);max-width:620px;margin-top:20px}.page-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.page-hero-actions .text-link{color:var(--red)}.promise-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(40px,6vw,60px);padding-top:32px;border-top:1px solid var(--border-dark)}@media(max-width:700px){.promise-row{grid-template-columns:1fr;gap:20px}}.promise{display:flex;gap:14px;align-items:flex-start}.promise i{font-size:26px;line-height:1;color:#528189;flex-shrink:0}.promise strong{display:block;font-family:Public Sans,sans-serif;font-weight:600;font-size:15px;color:var(--deep)}.promise span{font-size:14px;color:var(--ink-soft);line-height:1.5}.section-head{text-align:center;max-width:720px;margin:0 auto 64px}.section-head h2{margin-top:12px}.section-head p{font-size:15px;color:var(--mist);margin-top:16px}.call{background:var(--teal-bg);color:var(--ink-soft);padding:clamp(80px,12vw,120px) 0;text-align:center}.call h2{color:var(--deep);margin-top:12px}.call .eyebrow{color:#528189}.call p{font-size:15.5px;color:var(--ink-soft);max-width:560px;margin:18px auto 0}.call-number{display:inline-block;font-family:Tinos,serif;font-weight:700;font-size:clamp(34px,6vw,54px);line-height:1;color:var(--deep);margin:32px 0 12px;letter-spacing:-.01em}.call-number:hover{color:var(--green-deep)}.call-hours{font-size:14px;color:var(--ink-soft);margin-bottom:clamp(40px,6vw,56px)}.call .reviews-strip{margin-bottom:0}footer{background:var(--wash);color:var(--ink-soft);padding:clamp(56px,8vw,80px) 0 32px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;max-width:var(--max-width);margin:0 auto 48px;padding:0 var(--gutter)}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px 32px}}@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}.footer-brand-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.footer-logo{height:48px;width:auto}.footer-address{font-size:14px;opacity:.8;line-height:1.7;margin-bottom:8px}.footer-phone{font-size:14px;opacity:.9}.footer-eyebrow{font-family:Public Sans,sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--mist);margin-bottom:16px;display:block}.footer-list{list-style:none}.footer-list li{margin-bottom:10px}.footer-list a{font-size:15px;opacity:.9;transition:opacity .2s ease,color .2s ease}.footer-list a:hover{opacity:1;color:var(--green-deep)}.socials{display:flex;gap:12px}.socials a{width:36px;height:36px;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.socials a:hover{background:var(--green);color:var(--paper);border-color:var(--green)}.socials a i{font-size:18px;line-height:1}.footer-bottom{border-top:1px solid var(--border);padding-top:32px;max-width:var(--max-width);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-copy{font-size:13px;opacity:.7}.footer-tagline{font-family:Tinos,serif;font-style:italic;font-weight:400;font-size:14px;color:var(--teal-text)}
