* { margin: 0; padding: 0; box-sizing: border-box; }
.skip-link:focus { left: 16px; top: 16px; }
:root{
    --siding: #F5F4EF;
    --siding-shadow: #ECEAE2;
    --trim-deep: #000000;
    --trim-soft: #4A4A4A;
    --hairline: #D9D6CB;
    --sky: #B6CFE6;
    --sky-pale: #DCE8F2;
    --sky-deep: #0a2547;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-lg: 0 18px 40px rgba(0,0,0,0.10);
  }
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--siding);color:var(--trim-deep);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.2;color:var(--trim-deep)}
h1{font-size:clamp(34px,5vw,52px);margin:0 0 18px}
h1 em{font-style:italic;color:var(--sky-deep)}
h2{font-size:clamp(30px,4vw,42px);margin:0 0 22px}
h2 em{font-style:italic;color:var(--sky-deep)}
h3{font-size:22px;margin:28px 0 12px}
p{margin:0 0 16px}
a{color:var(--sky-deep);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--trim-deep)}
nav#nav{position:sticky;top:0;background:var(--siding);z-index:100;border-bottom:1px solid var(--hairline)}
.nav-inner{max-width:1400px;margin:0 auto;padding:18px 5%;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:18px;font-weight:500;color:var(--trim-deep);text-decoration:none}
.logo-mark{width:36px;height:36px;background:var(--trim-deep);color:var(--siding);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;flex:1}
.nav-links a{font-size:14px;color:var(--trim-soft);text-decoration:none;font-weight:500;letter-spacing:0.02em}
.nav-links a:hover{color:var(--trim-deep)}
.nav-phone{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--trim-deep);letter-spacing:0.02em;padding:8px 14px;border:1px solid var(--trim-deep);text-decoration:none;margin-right:14px;white-space:nowrap}
.nav-phone:hover{background:var(--trim-deep);color:var(--siding)}
.cta-btn{background:var(--trim-deep);color:var(--siding);padding:13px 28px;border:1px solid var(--trim-deep);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:inherit;font-weight:500;text-decoration:none;display:inline-block}
.cta-btn:hover{background:var(--sky-deep);border-color:var(--sky-deep);color:var(--siding)}
.mobile-toggle{display:none;background:transparent;border:1px solid var(--trim-deep);padding:8px 14px;font-family:inherit;font-size:13px;cursor:pointer;text-transform:uppercase;letter-spacing:0.1em}
.hero-page{padding:80px 5% 70px;background:linear-gradient(180deg,var(--siding) 0%,var(--siding-shadow) 100%);border-bottom:1px solid var(--hairline)}
.hero-page-inner{max-width:980px;margin:0 auto}
.eyebrow{font-size:12px;letter-spacing:0.25em;text-transform:uppercase;color:var(--trim-soft);margin-bottom:24px;display:flex;align-items:center;gap:16px;font-weight:500}
.eyebrow::before{content:'';width:40px;height:2px;background:var(--trim-deep)}
.hero-page .lead{font-size:18px;line-height:1.7;color:var(--trim-soft);margin:0 0 28px;max-width:760px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-actions .secondary{background:transparent;color:var(--trim-deep);padding:13px 28px;border:1px solid var(--trim-deep);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;text-decoration:none}
.hero-actions .secondary:hover{background:var(--trim-deep);color:var(--siding)}
.hero-credentials{margin-top:24px;font-size:13px;color:var(--trim-soft);letter-spacing:0.02em}
.hero-credentials strong{color:var(--trim-deep);font-weight:600}
.breadcrumb{max-width:980px;margin:0 auto;padding:18px 5% 0;font-size:13px;color:var(--trim-soft)}
.breadcrumb a{color:var(--trim-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--trim-deep);text-decoration:underline}
.breadcrumb .sep{margin:0 8px;color:var(--hairline)}
section.content{padding:72px 5%}
section.content.alt-bg{background:rgba(245,244,239,0.5);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.container{max-width:980px;margin:0 auto}
.container > h2{margin-top:0}
.container ul, .container ol{padding-left:22px;margin:0 0 18px}
.container li{margin:8px 0;color:var(--trim-soft);line-height:1.7}
.container li strong{color:var(--trim-deep)}
.container p{color:var(--trim-soft);line-height:1.8;font-size:17px}
.container p strong{color:var(--trim-deep)}
.cost-table{width:100%;border-collapse:collapse;margin:20px 0 24px;background:#fff;border:1px solid var(--hairline)}
.cost-table th,.cost-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--hairline);font-size:15px}
.cost-table th{background:var(--trim-deep);color:var(--siding);font-weight:600;font-size:12px;letter-spacing:0.1em;text-transform:uppercase}
.cost-table tr:last-child td{border-bottom:none}
.cost-table .price{font-family:'Playfair Display',serif;font-weight:500;color:var(--sky-deep);font-size:17px}
.process-list{counter-reset:step;list-style:none;padding:0;margin:0}
.process-list li{counter-increment:step;padding:18px 0 18px 60px;position:relative;border-bottom:1px solid var(--hairline)}
.process-list li::before{content:counter(step);position:absolute;left:0;top:18px;width:40px;height:40px;background:var(--trim-deep);color:var(--siding);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:18px}
.process-list li:last-child{border-bottom:none}
.neighborhood{padding:22px 0;border-bottom:1px solid var(--hairline)}
.neighborhood:last-child{border-bottom:none}
.neighborhood h3{margin-top:0}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px}
.testimonial{background:#fff;border:1px solid var(--hairline);padding:32px 28px;box-shadow:var(--shadow-sm)}
.testimonial-stars{color:#C9A24A;font-size:16px;margin-bottom:14px;letter-spacing:2px}
.testimonial p{font-style:italic;color:var(--trim-deep);font-size:16px;line-height:1.7;margin:0 0 18px}
.testimonial-attr-name{font-family:'Playfair Display',serif;font-size:16px;color:var(--trim-deep);margin-bottom:2px}
.testimonial-attr-meta{font-size:12px;color:var(--trim-soft);text-transform:uppercase;letter-spacing:0.1em}
.google-rating-bar{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:#fff;border:1px solid var(--hairline);margin-bottom:8px;text-decoration:none;color:var(--trim-deep)}
.google-rating-bar strong{font-family:'Playfair Display',serif;font-size:18px}
.google-rating-bar .stars{color:#C9A24A;letter-spacing:2px}
.faq-list{margin-top:16px}
.faq-item{border-bottom:1px solid var(--hairline)}
.faq-question{width:100%;text-align:left;background:transparent;border:none;padding:20px 0;font-family:'Playfair Display',serif;font-size:19px;color:var(--trim-deep);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-question:hover{color:var(--sky-deep)}
.faq-question::after{content:'+';font-size:24px;color:var(--sky-deep);transition:transform 0.3s}
.faq-item.open .faq-question::after{content:'\2212'}
.faq-answer{display:none;padding:0 0 20px;color:var(--trim-soft);line-height:1.8;font-size:16px}
.faq-item.open .faq-answer{display:block}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.area-grid a{background:#fff;border:1px solid var(--hairline);padding:14px 18px;text-decoration:none;color:var(--trim-deep);font-size:15px;display:flex;align-items:center;gap:10px}
.area-grid a:hover{border-color:var(--trim-deep);background:var(--siding-shadow)}
.area-grid a::after{content:'\2192';color:var(--sky-deep);margin-left:auto}
.form-card{background:#fff;border:1px solid var(--hairline);padding:36px;box-shadow:var(--shadow-lg);max-width:680px;margin:0 auto;position:relative}
.form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--trim-deep)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-row.single{grid-template-columns:1fr}
.form-field>label{display:block;min-height:18px;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--trim-soft);margin-bottom:8px;font-weight:600}
.form-field>label .req{color:#B43B3B;font-weight:600}
.form-field input,.form-field select,.form-field textarea{width:100%;background:var(--siding-shadow);border:1px solid transparent;color:var(--trim-deep);padding:14px 16px;font-family:inherit;font-size:14px;transition:all 0.3s}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--trim-soft);opacity:0.7}
.form-field textarea{resize:vertical;min-height:90px}
.consent-group{margin:16px 0 8px;display:flex;flex-direction:column;gap:12px}
.consent{display:block;margin:14px 0;font-size:12px;color:var(--trim-soft);line-height:1.6}
.consent input[type="checkbox"]{margin-right:8px;vertical-align:top;margin-top:3px}
.consent .req{color:#B43B3B;font-weight:600}
.form-consent-note{font-size:11.5px;line-height:1.55;color:var(--trim-soft);margin:14px 0 10px}
.form-consent-note strong{color:var(--trim-deep);font-weight:600}
.form-consent-note a{color:var(--trim-deep);text-decoration:underline;text-underline-offset:2px}
.form-consent-note a:hover{color:var(--sky-deep)}
.form-submit{width:100%;background:var(--trim-deep);color:var(--siding);border:1px solid var(--trim-deep);padding:16px;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;margin-top:8px;transition:all 0.3s}
.form-submit:hover{background:var(--sky-deep);border-color:var(--sky-deep)}
.form-status{font-size:13px;color:var(--trim-soft);margin-bottom:12px;min-height:18px}
.form-success{display:none;background:var(--sky-pale);border-left:4px solid var(--sky-deep);padding:24px;font-size:15px;color:var(--trim-deep)}
.form-success.active{display:block}
.hp{position:absolute;left:-9999px}
footer{background:var(--trim-deep);color:var(--siding);padding:60px 5% 30px}
.footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px}
.footer-brand .logo{color:var(--siding);margin-bottom:14px}
.footer-brand .logo-mark{background:var(--siding);color:var(--trim-deep)}
.footer-brand p{color:rgba(245,244,239,0.7);font-size:14px;line-height:1.7}
.footer-col h4{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--siding);margin:0 0 16px;font-weight:600}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:8px 0;color:rgba(245,244,239,0.7);font-size:14px}
.footer-col a{color:rgba(245,244,239,0.7);text-decoration:none}
.footer-col a:hover{color:var(--siding)}
.footer-bottom{max-width:1400px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(245,244,239,0.15);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:rgba(245,244,239,0.6)}
.footer-bottom a{color:rgba(245,244,239,0.7)}
@media (max-width:880px){
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--siding);flex-direction:column;padding:20px 5%;border-bottom:1px solid var(--hairline);gap:18px}
    .nav-links.mobile-open{display:flex}
    .mobile-toggle{display:block;margin-left:auto}
    .nav-phone{margin-right:8px;padding:6px 10px;font-size:12px}
    .cta-btn{display:none}
    .form-row{grid-template-columns:1fr}
    .footer-inner{grid-template-columns:1fr 1fr;gap:30px}
    .hero-actions{flex-direction:column;align-items:stretch}
    .hero-actions a{text-align:center}
    section.content{padding:48px 5%}
  }
@media (max-width:540px){
    .footer-inner{grid-template-columns:1fr}
  }
