@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap";:root{--bg: #f0f0f0;--surface: #fffcf4;--surface-strong: #f2ebdd;--text: #1f2428;--text-muted: #4d545a;--line: #ddd4c3;--accent: #0f766e;--accent-dark: #0a574f;--shadow: 0 14px 40px rgba(31, 36, 40, .12)}#root{margin:0;padding:0;min-height:100vh;text-align:center;color:var(--text);background:radial-gradient(circle at 90% 8%,rgba(15,118,110,.14),transparent 32%),radial-gradient(circle at 78% 2%,rgba(161,121,69,.12),transparent 26%),var(--bg)}body{margin:0;font-family:Manrope,sans-serif}h1,h2,h3{font-family:"DM Serif Display",serif;letter-spacing:.01em}.site-header,.site-nav,main,footer{width:min(1080px,92vw);margin-inline:auto;box-sizing:border-box}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0 .8rem}.brand-wrap{display:inline-flex;align-items:center;gap:.9rem}.brand-wrap h1{font-size:clamp(1.4rem,3.7vw,2.3rem);margin:0}.logo{height:clamp(2.3rem,6vw,3.25rem);transition:transform .22s ease}.logo:hover{transform:translateY(-2px)}.site-nav{background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}.site-nav ul{list-style:none;display:flex;justify-content:center;gap:2rem;margin:0;padding:.75rem 1rem}.site-nav a{text-decoration:none;color:var(--text);font-weight:600;transition:color .22s ease}.site-nav a:hover{color:var(--accent)}main{display:grid;gap:2.4rem;padding-block:1.8rem 2.4rem}.hero,#services,#about,#reviews,#contact{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:clamp(1rem,3vw,2rem)}.hero{text-align:left;display:grid;gap:.9rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent);font-size:.82rem}.hero h2{margin:0;font-size:clamp(1.7rem,4.5vw,3rem);line-height:1.12}.hero p{margin:0;color:var(--text-muted);max-width:65ch;line-height:1.65}#services,#about,#reviews,#contact{text-align:left}#services h2,#about h2,#reviews h2,#contact h2{margin-top:0;margin-bottom:.6rem;font-size:clamp(1.5rem,3vw,2rem)}#services p,#about p,#reviews p,#contact p{margin-top:0;color:var(--text-muted);line-height:1.65;font-size:1.05rem}.service-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.service-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:12px;padding:1rem}.service-card h3{margin-top:0;margin-bottom:.4rem;font-size:1.35rem}.service-card p{margin-bottom:0;font-size:.98rem}.service-area{margin-top:1.2rem;border:1px solid var(--line);border-radius:14px;background:#f9f4e9;padding:1rem;display:grid;grid-template-columns:.95fr 1.25fr;gap:1rem}.map-overlay-wrap{position:relative;border-radius:12px;overflow:hidden}.map-placeholder{width:100%;min-height:220px;height:100%;object-fit:cover;border:1px solid #c8baa0;display:block}.map-overlay-label{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);font-weight:700;color:#214743;background:#ffffffe0;border:1px solid #d8ceb9;border-radius:999px;padding:.35rem .75rem;font-size:.88rem;text-align:center;white-space:nowrap}.service-area-details h3{margin-top:0;margin-bottom:.45rem;font-size:1.45rem}.service-area-details p{margin-top:0;margin-bottom:.75rem}.area-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.area-tags span{background:#fff;border:1px solid #d8ccb4;border-radius:999px;padding:.32rem .68rem;font-size:.9rem;font-weight:600;color:#263039}.service-note{font-size:.98rem}.map-link{display:inline-flex;color:var(--accent-dark);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}.feature-row{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.feature-row p{margin:0;background:var(--surface-strong);border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;color:var(--text);font-weight:700;text-align:center}.nextdoor-logo{height:2.1rem;margin-top:.3rem;transition:transform .22s ease}.nextdoor-logo:hover{transform:translateY(-2px)}footer{margin-bottom:1.8rem}#contact a{color:var(--accent-dark);font-weight:700}.cta-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.7rem 1.1rem;background:var(--accent);color:#fff;font-family:Manrope,sans-serif;font-weight:700;cursor:pointer;transition:background-color .22s ease,transform .22s ease}.cta-button:hover{background:var(--accent-dark);transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#13181a9e;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fffdf8;width:min(92vw,560px);max-height:90vh;overflow-y:auto;border-radius:12px;border:1px solid var(--line);padding:1.25rem;text-align:left;box-shadow:0 22px 50px #00000038;position:relative}.modal-content h3{margin-top:0;font-size:1.75rem}.modal-close{position:absolute;top:.75rem;right:.75rem;border:0;background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer}.modal-form{display:grid;gap:.6rem}.modal-form input,.modal-form select,.modal-form textarea{width:100%;font-size:1rem;font-family:Manrope,sans-serif;border:1px solid #cfc4ae;border-radius:8px;padding:.55rem .65rem;box-sizing:border-box}.modal-form label{font-weight:700;color:#2a3136}.submit-button{margin-top:.6rem;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.65rem .85rem;cursor:pointer;font-family:Manrope,sans-serif;font-weight:700}.submit-button:hover{background:var(--accent-dark)}.privacy-note{margin-top:.6rem;margin-bottom:0;font-size:.9rem;line-height:1.5;color:#3a4248}.copyright-note{margin-top:.9rem;margin-bottom:0;font-size:.92rem;font-weight:600;color:#2f373d}@media(max-width:860px){.site-header{flex-direction:column;align-items:flex-start}.site-nav{border-radius:16px}.site-nav ul{flex-wrap:wrap;gap:.8rem 1.4rem}.service-grid,.feature-row,.service-area{grid-template-columns:1fr}}@media(max-width:560px){.brand-wrap{align-items:flex-start}.hero,#services,#about,#reviews,#contact{border-radius:14px}.cta-button{width:100%}}
