/* Deep Teal / Sand — the owner's supplied badge is the brand reference.
   Layout and preview-only behavior are retained; this layer replaces sage styling. */
:root {
  --cream:#f3efe5;
  --ink:#153b40;
  --muted:#52696b;
  --sage:#e4ddcd;
  --green:#153b40;
  --line:#d5cdbb;
  --gold:#b59c70;
  --sand:#dfcfad;
}
body{font-family:"DM Sans",sans-serif}
.preview{background:#153b40;color:#dfcfad}
.dot{background:#dfcfad}
header{height:112px;border-bottom:1px solid var(--line)}
.brand{gap:0}
.brand .brand-logo{width:225px;height:auto;max-width:100%;object-fit:contain}
nav{font-size:12px;font-weight:500}
nav a:hover{color:#6c7f7c}
.button{border-radius:4px;color:#f5e8cb;letter-spacing:.2px;background:#153b40;border-color:#153b40}
.button:hover{background:#244c50}
.small{padding:13px 17px}
.hero{padding-top:58px;padding-bottom:68px;gap:45px}
.eyebrow{letter-spacing:1.7px}
.hero .eyebrow{font-size:9px;letter-spacing:1.35px}
.line{background:#a58d61}
h1,h2{font-family:Manrope,"DM Sans",sans-serif;font-weight:600;letter-spacing:-2.8px}
h1{font-size:clamp(56px,5.55vw,72px);line-height:1.08}
h2{font-size:46px;line-height:1.13;letter-spacing:-2px}
em{font-style:italic;font-weight:600;color:#476c6d}
h3{font-family:Manrope,"DM Sans",sans-serif;font-weight:600;font-size:22px}
.intro{font-size:14px;line-height:1.9}
.text-link{border-color:#a89672}
.hero-art{padding:0 0 36px 0}
.hero-image{border-radius:8px;height:540px;filter:saturate(.68);border:1px solid #153b40}
.hero-art::before{content:"";position:absolute;inset:12px 12px 48px;border:1px solid #e9d9b9aa;border-radius:4px;z-index:1;pointer-events:none}
.image-label{bottom:66px;left:25px;background:#153b40d9;color:#f2e5c9;text-shadow:none;z-index:2;border-radius:2px;letter-spacing:.3px}
.care-stamp{background:#153b40;color:#dfcfad;border:4px solid var(--cream);border-radius:6px;padding:20px 25px;font-size:9px;letter-spacing:1.3px;right:-12px;z-index:2;box-shadow:none}
.care-stamp>span:first-child{font-size:35px;color:var(--sand)}
.sun{color:#8c7856}
.local{letter-spacing:1.3px}
.service-strip{background:#e7dfce;border-color:#d4c8b1;letter-spacing:1.4px;font-weight:500}
.service-strip i{color:#6b807d}
.service-image{border-radius:5px}
.service-image>span{background:#153b40ed;color:#e9dcc1;border-radius:2px;letter-spacing:1px}
.service p{line-height:1.9}
.approach{background:#e7e1d5}
.steps article{border-color:#ccbea7}
.steps article>span{color:#847254;font-weight:600}
.steps h3{font-size:19px}
.stars{color:#8d7243}
blockquote{font-family:Manrope,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.5}
.quote-section{background:#153b40;color:#f5ead4}
.quote-intro h2{font-size:58px}
.quote-intro em{color:#dfcfad}
.quote-intro>p:not(.eyebrow){color:#d2ddd9}
.quote-note{border-color:#507175}
.quote-note>span{color:var(--sand)}
.quote-note p{color:#d2ddd9}
.quote-note strong{color:#f5ead4}
.quote-card{background:#f3efe5;border-radius:8px;box-shadow:none;border:1px solid #dfcfad}
.progress li{color:#5e7270}
.progress span{border-color:#aaa68f}
.progress li[aria-current] span{background:#153b40;border-color:#153b40;color:#efdfbe}
legend{font-family:Manrope,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.8px}
.choices>label{background:#fbf8f0;border-color:#d5cbb6;border-radius:5px}
.choices>label:has(input:checked){background:#e0e8e3;border-color:#153b40}
input:not([type=checkbox]),select,textarea{background:#fbf8f0;border-color:#c6c3b0;border-radius:4px}
.estimate-note{background:#e7e0cf;border-radius:4px}
.faq h2{font-size:40px}
.closing h2{font-size:42px}
.closing>span{color:#8b7855}
footer{padding-top:30px}
footer .brand .brand-logo{width:215px}
.mobile-cta{box-shadow:0 5px 25px #153b4038;border:1px solid #dfcfad}
@media(max-width:1000px){
  .brand .brand-logo{width:195px}
  header{gap:20px}
  nav{gap:18px}
  .hero{gap:30px}
  h1{font-size:58px}
  .hero-image{height:500px}
  .hero .eyebrow{font-size:8px;letter-spacing:1px}
  .quote-intro h2{font-size:52px}
}
@media(max-width:700px){
  header{height:92px;padding:0 20px;gap:14px}
  header .brand{flex:0 1 175px;min-width:0}
  header .brand .brand-logo{width:175px;height:auto}
  header .button{flex-shrink:0;padding:11px 12px;font-size:10px;gap:8px}
  .hero{padding-top:31px;padding-bottom:32px;gap:30px}
  h1{font-size:clamp(43px,12vw,58px);letter-spacing:-2.5px;line-height:1.12;margin-bottom:23px}
  .hero .eyebrow{font-size:7px;letter-spacing:1.05px;gap:9px;margin-bottom:22px}
  .hero .line{width:18px}
  .intro{font-size:14px;line-height:1.85}
  .hero-image{height:380px;border-radius:6px}
  .hero-art{padding:0 0 28px}
  .hero-art::before{inset:10px 10px 38px;border-radius:3px}
  .image-label{bottom:58px;left:20px;font-size:9px;padding:6px 9px}
  .care-stamp{right:0;font-size:8px;padding:14px 18px}
  .care-stamp>span:first-child{font-size:29px}
  h2,.reviews h2{font-size:36px;letter-spacing:-1.8px}
  .section-heading h2{font-size:39px}
  .service h3{font-size:23px}
  .steps h3{font-size:18px}
  .review-grid figure{padding:24px 0}
  blockquote{font-size:21px}
  .quote-intro h2{font-size:43px}
  .quote-card{border-radius:7px;padding:23px 19px}
  legend{font-size:22px}
  .faq h2{font-size:36px}
  .closing h2{font-size:35px}
  footer .brand .brand-logo{width:230px;height:auto}
}
@media(max-width:360px){
  header{padding:0 16px;gap:8px}
  header .brand{flex-basis:153px}
  header .button{font-size:9px;padding:10px 9px}
  .hero-actions{gap:16px}
  .hero-actions .button{padding:14px 15px}
  .hero .eyebrow{letter-spacing:.7px}
}

/* Service information and search landing pages */
.area-overview{border-top:1px solid var(--line)}.area-overview>p:not(.eyebrow){max-width:720px;color:var(--muted)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:30px;color:var(--muted)}
.document-page p a,.document-page li a,.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.document-page p a.button{text-decoration:none}.service h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.service-detail-image{width:100%;height:380px;object-fit:cover;border-radius:20px;margin:24px 0}
.quote-intro h1{font-size:58px;line-height:1.08;letter-spacing:-2px}
@media(max-width:700px){.service-detail-image{height:280px}.quote-intro h1{font-size:43px}.area-overview h2{font-size:38px}}

/* Local lead generation */
.rating-date{font-size:10px;color:var(--muted);margin-top:8px}.hero-actions{flex-wrap:wrap}.hero-actions .text-link{gap:8px;flex-wrap:wrap}
.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.lead-grid p{font-size:14px;color:var(--muted)}.business-intro{border-top:1px solid var(--line)}
.page-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin:28px 0}.estimate-factors{display:grid;grid-template-columns:1fr 1fr;gap:24px}.estimate-factors article{border:1px solid var(--line);padding:24px;border-radius:12px}.estimate-factors h3{font-size:21px}.estimate-factors p{margin:0;font-size:14px}
.contact-dock{display:none}.analytics-settings{display:block;margin:0 auto 30px;background:transparent;border:0;color:var(--muted);text-decoration:underline;font-size:12px;min-height:44px}
.analytics-choice{position:fixed;z-index:20;bottom:20px;left:20px;max-width:390px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 8px 35px #153b4026}.analytics-choice p{font-size:13px;margin-bottom:12px}.analytics-choice a{text-decoration:underline}.analytics-choice div{display:flex;gap:12px;flex-wrap:wrap}.analytics-choice button{font-size:12px;border:1px solid var(--green);border-radius:5px;padding:10px 14px;min-height:44px;background:var(--cream);color:var(--ink)}.analytics-choice button[data-consent="yes"]{background:var(--green);color:white}
@media(max-width:700px){.lead-grid,.estimate-factors{grid-template-columns:1fr}.lead-grid{gap:28px}.contact-dock{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:12px;left:16px;right:16px;z-index:8;box-shadow:0 4px 25px #16291c33;border:1px solid var(--green);border-radius:6px;overflow:hidden;background:var(--cream)}.contact-dock a{padding:14px 10px;text-align:center;font-size:13px;font-weight:600}.contact-dock a:last-child{background:var(--green);color:white}.contact-dock.is-hidden{display:none}.analytics-settings{margin-bottom:90px}.analytics-choice{left:16px;right:16px;bottom:80px;max-width:none}.page-actions{gap:16px}.page-actions .button{width:100%}}
