@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 #1f24281f}#root{text-align:center;min-height:100vh;color:var(--text);background:radial-gradient(circle at 90% 8%, #0f766e24, transparent 32%), radial-gradient(circle at 78% 2%, #a179451f, transparent 26%), var(--bg);margin:0;padding:0}body{margin:0;font-family:Manrope,sans-serif}h1,h2,h3{letter-spacing:.01em;font-family:DM Serif Display,serif}.site-header,.site-nav,main,footer{box-sizing:border-box;width:min(1080px,92vw);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0 .8rem;display:flex;position:relative}.brand-wrap{align-items:center;gap:.9rem;display:inline-flex}.brand-wrap h1{margin:0;font-size:clamp(1.4rem,3.7vw,2.3rem)}.logo{height:clamp(2.3rem,6vw,3.25rem);transition:transform .22s}.logo:hover{transform:translateY(-2px)}.site-nav{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px}.site-nav ul{justify-content:center;gap:2rem;margin:0;padding:.75rem 1rem;list-style:none;display:flex}.site-nav a{color:var(--text);font-weight:600;text-decoration:none;transition:color .22s}.site-nav a:hover{color:var(--accent)}main{gap:2.4rem;padding-block:1.8rem 2.4rem;display:grid}.hero,#services,#about,#reviews,#contact{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:clamp(1rem,3vw,2rem)}.hero{text-align:left;gap:.9rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.82rem;font-weight:700}.hero h2{margin:0;font-size:clamp(1.7rem,4.5vw,3rem);line-height:1.12}.hero p{color:var(--text-muted);max-width:65ch;margin:0;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{color:var(--text-muted);margin-top:0;font-size:1.05rem;line-height:1.65}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.1rem;display:grid}.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{border:1px solid var(--line);background:#f9f4e9;border-radius:14px;grid-template-columns:.95fr 1.25fr;gap:1rem;margin-top:1.2rem;padding:1rem;display:grid}.map-overlay-wrap{border-radius:12px;position:relative;overflow:hidden}.map-placeholder{object-fit:cover;border:1px solid #c8baa0;width:100%;height:100%;min-height:220px;display:block}.map-overlay-label{color:#214743;text-align:center;white-space:nowrap;background:#ffffffe0;border:1px solid #d8ceb9;border-radius:999px;padding:.35rem .75rem;font-size:.88rem;font-weight:700;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.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{flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem;display:flex}.area-tags span{color:#263039;background:#fff;border:1px solid #d8ccb4;border-radius:999px;padding:.32rem .68rem;font-size:.9rem;font-weight:600}.service-note{font-size:.98rem}.map-link{color:var(--accent-dark);text-underline-offset:3px;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.feature-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.feature-row p{background:var(--surface-strong);border:1px solid var(--line);color:var(--text);text-align:center;border-radius:10px;margin:0;padding:.75rem .85rem;font-weight:700}.review-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:1in;margin-top:.65rem;display:flex}.review-link{justify-content:center;align-items:center;display:inline-flex}.review-link img{width:auto;height:auto;transition:transform .22s;display:block}.review-link img.nextdoor-logo{height:2.35rem;margin:0}.review-link:hover img{transform:translateY(-2px)}.review-link img.google-logo{height:4rem;margin:0}footer{margin-bottom:1.8rem}#contact a{color:var(--accent-dark);font-weight:700}.cta-button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-family:Manrope,sans-serif;font-weight:700;transition:background-color .22s,transform .22s;display:inline-flex}.cta-button:hover{background:var(--accent-dark);transform:translateY(-2px)}.cta-button.secondary{background:#54606c}.cta-button.secondary:hover{background:#3f4b56}.header-actions{margin-left:auto;position:relative}.admin-toggle{min-width:92px}.admin-menu{z-index:50;border:1px solid var(--line);width:260px;box-shadow:var(--shadow);background:#fffdf8;border-radius:10px;gap:.5rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.status-banner{overflow-wrap:anywhere;border:1px solid #0000;border-radius:8px;margin:.9rem 0 0;padding:.65rem .8rem;font-weight:600}.status-banner.success{color:#184f38;background:#e5f6ef;border-color:#93d8b6}.status-banner.error{color:#7d1f1f;background:#fce8e8;border-color:#efb0b0}.modal-overlay{z-index:1000;background:#13181a9e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--line);text-align:left;background:#fffdf8;border-radius:12px;width:min(92vw,560px);max-height:90vh;padding:1.25rem;position:relative;overflow-y:auto;box-shadow:0 22px 50px #00000038}.modal-content h3{margin-top:0;font-size:1.75rem}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:1rem;position:absolute;top:.75rem;right:.75rem}.modal-form{gap:.6rem;display:grid}.modal-form input,.modal-form select,.modal-form textarea{box-sizing:border-box;border:1px solid #cfc4ae;border-radius:8px;width:100%;padding:.55rem .65rem;font-family:Manrope,sans-serif;font-size:1rem}.modal-form label{color:#2a3136;font-weight:700}.submit-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.6rem;padding:.65rem .85rem;font-family:Manrope,sans-serif;font-weight:700}.submit-button:hover{background:var(--accent-dark)}.submit-button:disabled{opacity:.65;cursor:not-allowed}.submit-button.secondary{background:#54606c}.submit-button.secondary:hover{background:#3f4b56}.admin-controls{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.admin-controls>*{min-width:0}.admin-controls select,.admin-controls input{border:1px solid #cfc4ae;border-radius:8px;padding:.45rem .5rem;font-family:Manrope,sans-serif}.admin-controls-actions{flex-direction:column;gap:.45rem;display:flex}.admin-controls-actions .submit-button{margin-top:0}.admin-list{gap:.7rem;margin-top:.8rem;display:grid}.admin-empty{margin:0}.admin-card{border:1px solid var(--line);background:#faf6ee;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.8rem;display:flex}.admin-card h3{margin:0 0 .25rem;font-size:1.2rem}.admin-card p{margin:0 0 .2rem;font-size:.95rem}.admin-modal{width:min(94vw,760px);overflow-x:hidden}.record-modal-overlay{z-index:1100}.record-modal{width:min(92vw,620px)}.record-id{color:var(--text-muted);margin-top:-.4rem;margin-bottom:.75rem;font-size:.9rem}.record-modal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-top:.5rem;display:flex}.record-modal-primary-actions{flex-wrap:wrap;gap:.55rem;display:flex}.icon-button{color:#9d2d2d;cursor:pointer;background:#fff;border:1px solid #d9c8c8;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.icon-button svg{width:1rem;height:1rem}.icon-button:hover{background:#fce8e8}.icon-button:disabled{opacity:.6;cursor:not-allowed}.admin-controls .submit-button{white-space:normal;line-height:1.25}.admin-panel-section{border-top:1px solid #e6ddcd;margin-top:1rem;padding-top:1rem}.admin-panel-section h4{margin:0 0 .7rem;font-size:1.2rem}.admin-disclosure{gap:.8rem;display:grid}.admin-disclosure>summary{cursor:pointer;color:#223038;width:fit-content;font-size:1.2rem;font-weight:700;list-style:none}.admin-disclosure>summary::-webkit-details-marker{display:none}.admin-disclosure>summary:before{content:"▸";margin-right:.45rem}.admin-disclosure[open]>summary:before{content:"▾"}.update-link{color:var(--accent-dark);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-top:.35rem;padding:0;font-family:Manrope,sans-serif;font-weight:700;text-decoration:underline}.update-link:hover{color:#083f39}.privacy-note{color:#3a4248;margin-top:.6rem;margin-bottom:0;font-size:.9rem;line-height:1.5}.copyright-note{color:#2f373d;margin-top:.9rem;margin-bottom:0;font-size:.92rem;font-weight:600}@media (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}.header-actions,.admin-toggle,.admin-menu{width:100%}.service-grid,.feature-row,.service-area{grid-template-columns:1fr}}@media (width<=560px){.brand-wrap{align-items:flex-start}.hero,#services,#about,#reviews,#contact{border-radius:14px}.cta-button{width:100%}.admin-card{flex-direction:column}}
