/* Homepage conversion layout. Scoped so service and town pages keep their layouts. */
body.ssp-site-theme { --ink:#123c3a; --muted:#506563; --paper:#f8f7f2; --accent:#ffd166; background:var(--paper); color:var(--ink); font-weight:400; }
body.ssp-site-theme::before { display:none; }
body.ssp-site-theme .container { width:100%; max-width:1200px; padding-left:24px; padding-right:24px; }
body.ssp-site-theme .ssp-promo-bar { position:relative; background:#123c3a; z-index:20; }
body.ssp-site-theme .ssp-home-header { top:0; z-index:30; background:#fffefb; border-bottom:1px solid #dce5de; }
body.ssp-site-theme .ssp-home-header-inner { min-height:84px; }
body.ssp-site-theme .ssp-logo { width:72px; }
body.ssp-site-theme .ssp-home-nav-list a,body.ssp-site-theme .ssp-home-nav-trigger { font-size:.75rem; padding:.42rem .35rem; }
body.ssp-site-theme .ssp-header-phone { font-size:.88rem; }
body.ssp-site-theme .ssp-hero { background:var(--paper); color:var(--ink); padding:48px 0 56px; overflow:visible; }
body.ssp-site-theme .ssp-hero::before { display:none; }
.ssp-offer-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:56px; }
body.ssp-site-theme .ssp-eyebrow { font-size:.74rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#386754; margin:0 0 16px; }
body.ssp-site-theme .ssp-hero-copy h1 { color:var(--ink); font-size:clamp(2.5rem,4.2vw,3.7rem); letter-spacing:-.045em; line-height:1.06; margin:0 0 22px; }
body.ssp-site-theme .ssp-hero-copy h1 span { color:#447052; }
.ssp-hero-description { font-size:1.12rem; line-height:1.65; max-width:470px; margin-bottom:24px; color:var(--muted); }
.ssp-free-offer { font-size:1.6rem; font-weight:900; margin-bottom:6px; letter-spacing:-.025em; }
.ssp-free-offer strong { box-shadow:inset 0 -.32em var(--accent); }
body.ssp-site-theme .ssp-hero-price-strip { color:var(--muted); font-weight:400; font-size:1rem; margin-bottom:22px; }
body.ssp-site-theme .ssp-btn-primary { background:var(--accent); color:#123c3a !important; border:2px solid transparent; border-radius:10px; box-shadow:0 3px 0 #d4a43d; min-height:56px; gap:22px; padding:14px 24px; font-size:1rem; font-weight:900; }
body.ssp-site-theme .ssp-btn-primary:hover { background:#ffdc8a; transform:translateY(-1px); }
body.ssp-site-theme .ssp-btn-primary:disabled { opacity:.65; transform:none; cursor:wait; }
body.ssp-site-theme :is(a,button,input,select):focus-visible { outline:3px solid #11766d; outline-offset:4px; }
body.ssp-site-theme .ssp-hero-risk { color:var(--muted); font-size:.82rem; font-weight:400; margin:12px 0 24px; }
body.ssp-site-theme .ssp-hero-specifics { display:flex; gap:8px 18px; }
body.ssp-site-theme .ssp-hero-specific { color:var(--ink); font-size:.82rem; }
.ssp-hero-rating { font-weight:700; font-size:.88rem; margin:24px 0 8px; }
.ssp-hero-rating span { color:#956000; letter-spacing:2px; margin-right:8px; }
.ssp-direct-contact { font-size:.88rem; color:var(--muted); margin:0; }
body.ssp-site-theme .ssp-hero a:not(.ssp-btn) { color:var(--ink) !important; }
body.ssp-site-theme .ssp-form-card { padding:28px; border:1px solid #d6e2d9; border-radius:20px; background:#fff; box-shadow:0 20px 60px #123c3a12; }
body.ssp-site-theme #quote-form { scroll-margin-top:110px; }
body.ssp-site-theme .ssp-form-head .ssp-eyebrow { margin-bottom:8px; }
body.ssp-site-theme .ssp-form-head h2 { color:var(--ink) !important; font-size:1.85rem; letter-spacing:-.035em; }
body.ssp-site-theme .ssp-form-head>p:last-child { font-size:.92rem; font-weight:400; color:var(--muted); line-height:1.6; margin-bottom:22px; }
body.ssp-site-theme .form-label { font-size:.85rem; margin-bottom:6px; }
body.ssp-site-theme :is(.form-control,.form-select) { min-height:48px; border:1px solid #b6c9bf; border-radius:8px; font-size:1rem; }
body.ssp-site-theme .form-check-label { font-size:.77rem; line-height:1.55; color:var(--muted); }
body.ssp-site-theme .form-check-input { border-color:#829a8e; }
body.ssp-site-theme .ssp-form-trust-note { color:var(--muted); font-size:.75rem; line-height:1.55; }
body.ssp-site-theme .ssp-social-proof { padding:48px 0; background:#eaf0e8; }
body.ssp-site-theme .ssp-section-head { margin-bottom:26px; }
body.ssp-site-theme .ssp-section-head .ssp-eyebrow { margin-bottom:8px; }
body.ssp-site-theme .ssp-section-head h2 { font-size:clamp(1.65rem,3vw,2.3rem); letter-spacing:-.035em; color:var(--ink) !important; }
body.ssp-site-theme .ssp-section-head p { font-weight:400; max-width:760px; margin-left:auto; margin-right:auto; color:var(--muted); }
body.ssp-site-theme .ssp-review-card { border-radius:12px; box-shadow:none; border:0; padding:22px; }
body.ssp-site-theme .ssp-review-card p { font-size:.9rem; font-weight:400; line-height:1.7; color:var(--ink); }
body.ssp-site-theme .ssp-stars { color:#956000; letter-spacing:2px; }
body.ssp-site-theme .ssp-review-link { color:var(--ink); font-size:.85rem; }
body.ssp-site-theme #pricing { background:var(--paper); padding-bottom:48px; }
body.ssp-site-theme .ssp-pricing-section { background:transparent; padding:56px 0 0; }
body.ssp-site-theme .ssp-pricing-section .container { max-width:850px; }
body.ssp-site-theme .ssp-pricing-table { box-shadow:none; border-radius:12px; }
body.ssp-site-theme .ssp-pricing-table th { background:var(--ink); }
body.ssp-site-theme .ssp-pricing-table td { padding:16px 24px; border-color:#e2e8df; }
body.ssp-site-theme .ssp-pricing-note { color:var(--muted); font-weight:400; font-size:.88rem; }
.ssp-price-followthrough { margin-top:12px; }
.ssp-small-note { margin:14px 0 0; font-size:.85rem; color:var(--muted); }
body.ssp-site-theme .ssp-steps-section,body.ssp-site-theme .ssp-areas-section { background:#fff; }
body.ssp-site-theme .ssp-step-card { box-shadow:none; border:0; border-top:1px solid #cbdacf; border-radius:0; padding:24px 0; }
body.ssp-site-theme .ssp-step-number { background:var(--ink); }
body.ssp-site-theme .ssp-step-card h3,body.ssp-site-theme .ssp-trust-card h3 { color:var(--ink); font-size:1.15rem; }
body.ssp-site-theme .ssp-step-card p,body.ssp-site-theme .ssp-trust-card p { font-weight:400; color:var(--muted); }
body.ssp-site-theme .ssp-why-section,body.ssp-site-theme .ssp-faq-section { background:var(--paper); }
body.ssp-site-theme .ssp-trust-card { box-shadow:none; border-color:#d6e2d9; border-radius:12px; }
body.ssp-site-theme .ssp-town-link { color:var(--ink); border-color:#cbdacf; border-radius:8px; font-size:.9rem; }
body.ssp-site-theme .ssp-faq-section .container { max-width:900px; }
body.ssp-site-theme .accordion-button:not(.collapsed) { background:#eaf0e8; color:var(--ink); }
body.ssp-site-theme .accordion-body { font-weight:400; }
body.ssp-site-theme .ssp-final-cta { background:var(--ink); }
body.ssp-site-theme .ssp-final-cta h2 { color:#fff !important; font-size:clamp(2rem,4vw,3rem); letter-spacing:-.035em; }
body.ssp-site-theme .ssp-final-subhead { color:#e0e9e1; font-weight:400; max-width:640px; margin:16px auto 26px; }
body.ssp-site-theme .ssp-final-phone,body.ssp-site-theme .ssp-final-phone-note { color:#e0e9e1; }
body.ssp-site-theme .ssp-final-phone-note { font-weight:400; }
.ssp-skip-link { position:fixed; left:16px; top:-100px; z-index:2000; background:white; color:#123c3a; padding:12px; }
.ssp-skip-link:focus { top:10px; }
@media(max-width:1199px) and (min-width:992px) { body.ssp-site-theme .ssp-home-nav-list { flex-wrap:wrap; } .ssp-offer-grid { gap:28px; } }
@media(max-width:991px) { .ssp-offer-grid { grid-template-columns:1fr; gap:32px; max-width:720px !important; } body.ssp-site-theme .ssp-hero-copy h1 { font-size:3.1rem; } .ssp-hero-description { max-width:560px; } body.ssp-site-theme .ssp-hero { padding:28px 0 40px; } body.ssp-site-theme .ssp-home-nav-list a,body.ssp-site-theme .ssp-home-nav-trigger { font-size:1rem; padding:10px 0; } }
@media(max-width:767px) { body.ssp-site-theme .container { padding-left:20px; padding-right:20px; } body.ssp-site-theme .ssp-home-header-inner { min-height:70px; } body.ssp-site-theme .ssp-logo { width:58px; } body.ssp-site-theme .ssp-header-phone { font-size:.9rem; } body.ssp-site-theme .ssp-hero-copy h1 { font-size:clamp(2.2rem,8vw,3rem); margin-bottom:16px; } body.ssp-site-theme .ssp-eyebrow { font-size:.66rem; margin-bottom:14px; } .ssp-hero-description { font-size:1rem; margin-bottom:18px; } .ssp-free-offer { font-size:1.4rem; } body.ssp-site-theme .ssp-hero-price-strip { font-size:.9rem; } body.ssp-site-theme .ssp-hero-risk { margin-bottom:16px; } body.ssp-site-theme .ssp-hero-specifics { gap:6px 14px; } body.ssp-site-theme .ssp-hero-specific { width:auto; font-size:.76rem; } .ssp-hero-rating { margin-top:18px; font-size:.8rem; } body.ssp-site-theme .ssp-form-card { padding:22px; } body.ssp-site-theme #quote-form { scroll-margin-top:90px; } body.ssp-site-theme .ssp-form-head h2 { font-size:1.65rem; } body.ssp-site-theme .ssp-social-proof { padding:32px 0; } body.ssp-site-theme .ssp-pricing-table td { padding:14px 12px; } body.ssp-site-theme .ssp-mobile-cta-bar { z-index:40; background:var(--ink); grid-template-columns:2fr 1fr; padding:8px 12px calc(8px + env(safe-area-inset-bottom)); gap:10px; } body.ssp-site-theme .ssp-mobile-cta-link { min-height:46px; font-size:.9rem; border:0; border-radius:8px; } body.ssp-site-theme .ssp-sticky-request { background:var(--accent); color:var(--ink) !important; } body.ssp-site-theme { padding-bottom:calc(72px + env(safe-area-inset-bottom)); } body.ssp-site-theme main { padding-bottom:0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body.ssp-site-theme * { transition:none !important; } }
/* Override legacy global submit colors only on this homepage. */
body.ssp-site-theme #quoteSubmitBtn { background:var(--accent) !important; border-color:transparent !important; color:var(--ink) !important; }
body.ssp-site-theme #quoteSubmitBtn:hover:not(:disabled),body.ssp-site-theme #quoteSubmitBtn:focus-visible { background:#ffdc8a !important; border-color:transparent !important; color:var(--ink) !important; }
body.ssp-site-theme .ssp-yard-photo { position:relative; margin:0 0 28px; border-radius:16px; overflow:hidden; background:#eaf0e8; }
body.ssp-site-theme .ssp-yard-photo img { width:100%; height:300px; object-fit:cover; object-position:center 45%; display:block; }
body.ssp-site-theme .ssp-yard-photo figcaption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,#123c3ae6); color:#fff; padding:50px 24px 20px; font-size:1.15rem; font-weight:700; }
@media(max-width:767px) { body.ssp-site-theme .ssp-yard-photo img { height:230px; } body.ssp-site-theme .ssp-yard-photo figcaption { font-size:1rem; } }
/* Shared service, town, editorial, and contact page components. */
body.ssp-site-theme { background:#f8f7f2 !important; }
body.ssp-site-theme .ssp-home-header { overflow:visible; }
body.ssp-site-theme .ssp-header-request { min-height:44px; padding:10px 14px; font-size:.8rem; white-space:nowrap; }
body.ssp-site-theme .ssp-home-nav-list { flex-wrap:wrap; }
body.ssp-site-theme :is(#hero,.page-hero,.blog-hero,.hero-section,.final-cta) { background:#123c3a !important; color:#fff !important; }
body.ssp-site-theme :is(#hero,.page-hero,.blog-hero,.hero-section,.final-cta) :is(h1,h2,h3,p,li) { color:#fff !important; }
body.ssp-site-theme :is(.bg-soft-blue,.bg-light,.bg-soft,.trust-strip) { background-color:#eaf0e8 !important; }
body.ssp-site-theme :is(.text-primary,.text-success) { color:#386754 !important; }
body.ssp-site-theme :is(.article-tag,.badge.bg-primary,.step-number) { background:#123c3a !important; color:white !important; }
body.ssp-site-theme :is(.read-more-btn,.service-button) { background:#eaf0e8 !important; color:#123c3a !important; border-color:#bdcec0 !important; border-radius:8px; }
body.ssp-site-theme :is(.card,.custom-card,.article-card,.article-shell) { border-color:#d6e2d9 !important; box-shadow:0 8px 24px #123c3a0a; }
body.ssp-site-theme :is(.quote-btn button,.hdr-cta,.btn-danger,.btn-primary,.cta-btn,.service-cta,.mobile-cta-btn.primary,[data-bs-target="#quoteModal"]):not(.modal) {
 background:#ffd166 !important; color:#123c3a !important; border:2px solid transparent !important; border-radius:10px !important; box-shadow:0 3px 0 #d4a43d !important; min-height:48px; padding:12px 22px; font-weight:900; text-decoration:none;
}
body.ssp-site-theme :is(#quoteSubmitBtn,#quoteModalSubmitBtn,.ssp-submit-btn,[data-bs-target="#quoteModal"]) :is(span,strong) { color:#123c3a !important; }
body.ssp-site-theme :is(#quoteSubmitBtn,#quoteModalSubmitBtn,.ssp-submit-btn) { background:#ffd166 !important; color:#123c3a !important; border:2px solid transparent !important; border-radius:10px !important; min-height:52px; padding:12px 22px; font-weight:900; box-shadow:0 3px 0 #d4a43d; }
body.ssp-site-theme :is(.quote-btn button,.hdr-cta,.btn-danger,.btn-primary,.cta-btn,[data-bs-target="#quoteModal"],#quoteSubmitBtn,#quoteModalSubmitBtn):hover { background:#ffdc8a !important; color:#123c3a !important; }
body.ssp-site-theme #hero :is(.btn-danger,[data-bs-target="#quoteModal"]) { background:#ffd166 !important; color:#123c3a !important; }
body.ssp-site-theme #quoteModal .modal-content { border:1px solid #d6e2d9; border-radius:18px; }
body.ssp-site-theme #quoteModal .modal-header { background:#123c3a !important; }
body.ssp-site-theme #quoteModal .modal-title { color:#fff !important; }
body.ssp-site-theme #quoteModal .btn-close { filter:brightness(0) invert(1); }
body.ssp-site-theme #quoteModal :is(.form-control,.form-select):focus { border-color:#386754; box-shadow:0 0 0 .2rem #38675426; }
body.ssp-site-theme #quoteModal .form-check-input:checked { background-color:#386754; border-color:#386754; }
body.ssp-site-theme .ssp-request-explainer { color:#506563; font-size:.9rem; font-weight:400; }
body.ssp-site-theme .modal { z-index:1060; }
body.ssp-site-theme .modal-backdrop { z-index:1050; }
body.ssp-site-theme.modal-open .ssp-mobile-cta-bar { display:none; }
body.ssp-site-theme footer.bg-dark { background-color:#123c3a !important; }
body.ssp-site-theme .ssp-mobile-cta-link { text-decoration:none; }
@media(min-width:992px) and (max-width:1199px) { body.ssp-site-theme .ssp-header-phone { display:none; } }
@media(max-width:991px) { body.ssp-site-theme .ssp-header-request { display:none; } }
@media(max-width:767px) { body.ssp-site-theme [data-bs-target="#quoteModal"] { max-width:100%; white-space:normal; } }
body.ssp-site-theme :is(#about-hero,#areas-hero,.cta-banner,.hero-card,section[style*="#10A8D1"],section[style*="#10a8d1"]) { background:#123c3a !important; }
body.ssp-site-theme :is(#about-hero,#areas-hero,.cta-banner) :is(h1,h2,p) { color:#fff !important; }
body.ssp-site-theme #about-hero [data-bs-target="#quoteModal"] { background:#ffd166 !important; color:#123c3a !important; }
body.ssp-site-theme :is(.breadcrumb a,.article-body a,#quoteModal .form-check-label a) { color:#386754 !important; }
body.ssp-site-theme .hero-card .call-btn { background:#ffd166 !important; color:#123c3a !important; }
body.ssp-site-theme table thead { background:#123c3a !important; color:#fff; }
body.ssp-site-theme table thead th { background:#123c3a !important; color:#fff !important; }
