:root{--color-primary:#4b6a55;--color-primary-dark:#37503f;--color-secondary:#d9c7ae;--color-bg:#fff;--color-bg-soft:#f6f2ec;--color-bg-soft-2:#efe4d9;--color-text:#26302a;--color-text-soft:#5d6a62;--color-white:#fff;--color-border:#e6ddd0;--font-heading:Georgia,"Times New Roman",serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container-width:1200px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow-soft:0 12px 35px rgba(40,40,30,.08);--transition:.25s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul{list-style:none;margin:0;padding:0}.container{width:min(
        calc(100% - 40px),
        var(--container-width)
    );margin-inline:auto}section{padding:90px 0}@media (max-width:900px){section{padding:56px 0}}.eyebrow{display:block;margin-bottom:10px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.section-heading{text-align:center;max-width:640px;margin:0 auto 50px}.section-heading.align-left{text-align:left;margin:0 0 40px}h1,h2,h3,h4{margin-top:0;line-height:1.15;letter-spacing:-.01em;font-family:var(--font-heading);font-weight:500;color:var(--color-text)}h1{font-size:clamp(2.4rem, 4.6vw, 3.6rem)}h2{font-size:clamp(1.9rem, 3.2vw, 2.6rem)}h3{font-size:1.25rem}p{margin-top:0;color:var(--color-text-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;border:1px solid transparent;font-size:.92rem;font-weight:600;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition)}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.btn-outline{background:0 0;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-row{display:flex;flex-wrap:wrap;gap:14px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border)}.header-inner{min-height:88px;display:flex;align-items:center;gap:40px}.site-brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-mark{width:34px;height:34px;flex-shrink:0;color:var(--color-primary)}.brand-text{display:flex;flex-direction:column}.brand-name{font-family:var(--font-heading);font-size:1.08rem;font-weight:600;letter-spacing:-.01em}.brand-speciality{margin-top:2px;color:var(--color-text-soft);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.primary-menu{display:flex;align-items:center;gap:30px}.primary-menu a{position:relative;font-size:.92rem;font-weight:500;transition:color var(--transition)}.primary-menu a:hover,.primary-menu .current-menu-item a{color:var(--color-primary)}.primary-menu li{position:relative}.primary-menu li:after{content:"";position:absolute;left:0;bottom:-22px;width:0;height:2px;background:var(--color-primary);transition:width var(--transition)}.primary-menu li:hover:after,.primary-menu .current-menu-item:after{width:100%}.header-phone{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;transition:color var(--transition)}.header-phone:hover{color:var(--color-primary)}.header-phone svg{width:16px;height:16px;color:var(--color-primary)}.mobile-menu-toggle{display:none;width:40px;height:40px;padding:8px;border:0;background:0 0}.mobile-menu-toggle span{display:block;width:100%;height:2px;margin:5px 0;background:var(--color-text)}.hero{padding:60px 0 0;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}.hero-copy h1{margin-bottom:18px}.hero-copy .lede{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:14px}.hero-copy p{max-width:460px;margin-bottom:30px}.hero-media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;background:var(--color-bg-soft-2)}.hero-media img{width:100%;height:100%;object-fit:cover}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split-media img{border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover}.split.reverse .split-media{order:2}.signature{font-family:"Brush Script MT",cursive;font-size:1.8rem;color:var(--color-primary);margin-bottom:4px}@media (max-width:900px){.split,.split.reverse{grid-template-columns:1fr}.split.reverse .split-media{order:0}}.bg-soft{background:var(--color-bg-soft)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px}.service-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:32px 24px;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.service-icon{width:56px;height:56px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg-soft-2);color:var(--color-primary)}.service-icon svg{width:26px;height:26px}.service-card h3{margin-bottom:8px}.service-card p{font-size:.9rem}.center-btn{display:flex;justify-content:center}@media (max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.service-grid{grid-template-columns:1fr}}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}.info-card{background:var(--color-white);border-radius:var(--radius-md);padding:26px 20px;text-align:center}.info-icon{width:44px;height:44px;margin:0 auto 14px;color:var(--color-primary)}.info-card h3{font-size:1rem;margin-bottom:6px}.info-card p{font-size:.85rem}@media (max-width:900px){.info-grid{grid-template-columns:repeat(2,1fr)}}.reviews-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:40px}.reviews-header .section-heading{text-align:left;margin:0}.review-rating{display:flex;align-items:center;gap:14px}.stars{color:#e0a84f;letter-spacing:2px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{background:var(--color-bg-soft);border-radius:var(--radius-md);padding:26px}.review-card .stars{margin-bottom:12px;display:block}.review-name{margin-top:16px;font-weight:600;font-size:.9rem;color:var(--color-text)}@media (max-width:900px){.review-grid{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.contact-list{margin:30px 0;display:flex;flex-direction:column;gap:20px}.contact-item{display:flex;gap:14px}.contact-item svg{width:20px;height:20px;flex-shrink:0;color:var(--color-primary);margin-top:2px}.hours-table{width:100%;border-collapse:collapse;font-size:.9rem}.hours-table td{padding:3px 0}.hours-table td:first-child{font-weight:600;width:60px}.map-embed{border-radius:var(--radius-lg);overflow:hidden;min-height:340px;background:var(--color-bg-soft-2)}.map-embed iframe,.map-embed img{width:100%;height:100%;min-height:340px;object-fit:cover;border:0}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}.site-footer{background:var(--color-bg-soft);padding-top:70px;border-top:1px solid var(--color-border)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}.footer-brand .brand-mark{width:40px;height:40px;margin-bottom:14px}.footer-col h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px}.footer-col ul{display:flex;flex-direction:column;gap:10px}.footer-col a{font-size:.92rem;color:var(--color-text-soft);transition:color var(--transition)}.footer-col a:hover{color:var(--color-primary)}.footer-bottom{border-top:1px solid var(--color-border);padding:22px 0;text-align:center;font-size:.82rem;color:var(--color-text-soft)}@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}.page-hero{padding:60px 0;background:var(--color-bg-soft)}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.page-hero-media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero h1 em{color:var(--color-primary);font-style:italic}@media (max-width:900px){.page-hero-grid{grid-template-columns:1fr}}.quicknav-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.quicknav-card{text-align:center;padding:24px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:box-shadow var(--transition),transform var(--transition)}.quicknav-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}.quicknav-card .info-icon{margin-bottom:10px}.quicknav-card h3{font-size:.95rem;margin-bottom:6px}.quicknav-card p{font-size:.8rem}.quicknav-arrow{margin-top:10px;color:var(--color-primary)}@media (max-width:900px){.quicknav-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.quicknav-grid{grid-template-columns:1fr 1fr}}.info-row{display:grid;grid-template-columns:220px 1fr 1.6fr 260px;gap:30px;align-items:center;padding:30px;border-radius:var(--radius-md)}.info-row:nth-child(odd){background:var(--color-bg-soft)}.info-row-label{display:flex;align-items:center;gap:12px;font-weight:600}.info-row-label svg{width:26px;height:26px;color:var(--color-primary)}.info-row-media img{border-radius:var(--radius-sm);aspect-ratio:4/3;object-fit:cover}.info-row-list li{position:relative;padding-left:18px;margin-bottom:8px;font-size:.92rem;color:var(--color-text-soft)}.info-row-list li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.info-row-note{background:var(--color-white);border-radius:var(--radius-sm);padding:18px;font-size:.85rem}@media (max-width:1100px){.info-row{grid-template-columns:1fr;gap:16px}.info-row-media img{aspect-ratio:16/9}}.cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px;background:var(--color-bg-soft);border-radius:var(--radius-lg);padding:32px 40px}.cta-strip-left{display:flex;align-items:center;gap:18px}.cta-strip-icon{width:46px;height:46px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cta-strip-meta{display:flex;gap:40px;flex-wrap:wrap}.cta-strip-meta div{display:flex;align-items:center;gap:10px;font-size:.9rem}.cta-strip-meta svg{width:18px;height:18px;color:var(--color-primary)}.faq-topics{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin-bottom:50px}.faq-topic{display:flex;flex-direction:column;align-items:center;gap:10px;background:0 0;border:0;color:var(--color-text-soft);font-size:.85rem}.faq-topic-icon{width:52px;height:52px;border-radius:50%;background:var(--color-bg-soft);display:flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition)}.faq-topic.is-active .faq-topic-icon,.faq-topic:hover .faq-topic-icon{background:var(--color-primary);color:var(--color-white)}.faq-topic.is-active{color:var(--color-text);font-weight:600}.faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:0 0;border:0;text-align:left;font-size:1rem;font-weight:600;color:var(--color-text)}.faq-item.is-open .faq-question{background:var(--color-bg-soft)}.faq-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-primary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition)}.faq-item.is-open .faq-answer{max-height:400px}.faq-answer p{padding:0 24px 22px;background:var(--color-bg-soft);margin:0;font-size:.92rem}.about-hero-media{border-radius:50%;overflow:hidden;aspect-ratio:1;max-width:480px;margin-inline:auto}.about-hero-media img{width:100%;height:100%;object-fit:cover}.timeline{margin:30px 0;padding-left:24px;border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:22px}.timeline li{position:relative;padding-left:6px}.timeline li:before{content:"";position:absolute;left:-30px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.timeline h4{margin-bottom:4px;font-size:1rem}.timeline p{font-size:.9rem;margin:0}.gallery-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:100%}.gallery-collage img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.gallery-collage .span-full{grid-row:span 2}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.approach-item{display:flex;gap:16px;align-items:flex-start}.approach-icon{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:10px}.stat-icon{width:46px;height:46px;border-radius:50%;background:var(--color-bg-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.stat-item strong{font-size:.9rem}.stat-item span{font-size:.8rem;color:var(--color-text-soft)}@media (max-width:900px){.about-hero-grid,.approach-grid,.stat-row{grid-template-columns:1fr 1fr}}@media (max-width:900px){.header-inner{min-height:76px}.mobile-menu-toggle{display:block}.header-phone{display:none}.primary-navigation{position:absolute;top:100%;left:0;right:0;display:none;padding:24px;background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.primary-navigation.is-open{display:block}.primary-menu{flex-direction:column;align-items:flex-start;gap:20px}.primary-menu li:after{display:none}}