/* Handyman service and location page additions */
.service-hero{margin-top:80px;min-height:72vh;display:flex;align-items:center;position:relative;background-position:center;background-size:cover;color:#fff}
.service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.8) 48%,rgba(0,0,0,.3) 100%)}
.service-hero-inner{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:7rem 2rem}
.service-hero-copy{max-width:790px}.service-hero .hero-eyebrow{color:#fff}.service-hero h1{font-size:clamp(2.65rem,6vw,4.7rem);font-weight:900;line-height:1.08;margin:.55rem 0 1.4rem}.service-hero h1 span{color:var(--green)}
.service-hero p{font-size:1.2rem;line-height:1.75;color:#e5e7eb;max-width:720px}.service-hero .hero-cta{margin-top:2rem}
.service-trust{display:flex;gap:2.4rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid #3f3f46}.service-trust div{display:flex;flex-direction:column}.service-trust strong{font-size:1.12rem;color:#fff}.service-trust span{font-size:.84rem;color:#d1d5db}
.breadcrumbs{background:#f3f4f6;border-bottom:1px solid #e5e7eb}.breadcrumbs-inner{max-width:1200px;margin:0 auto;padding:.8rem 2rem;font-size:.85rem;color:#6b7280}.breadcrumbs a{color:var(--green);font-weight:700;text-decoration:none}.breadcrumbs b{margin:0 .5rem;color:#9ca3af}
.content-section{padding:5.5rem 2rem}.content-section.alt{background:#f9fafb}.content-wrap{max-width:1180px;margin:0 auto}.content-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:4.5rem;align-items:center}.content-lead h2,.cluster-heading h2{font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin-bottom:1.2rem}.content-lead h2 span,.cluster-heading h2 span{color:var(--green)}.content-lead p{color:#4b5563;margin-bottom:1rem;font-size:1.03rem}.content-photo{position:relative}.content-photo img{display:block;width:100%;height:390px;object-fit:cover;border-radius:12px}.content-photo::after{content:"";position:absolute;left:-14px;bottom:-14px;width:42%;height:42%;border-left:6px solid var(--green);border-bottom:6px solid var(--green);pointer-events:none}
.cluster-heading{text-align:center;max-width:850px;margin:0 auto 3.5rem}.cluster-heading p{color:#6b7280;font-size:1.05rem}.issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.issue-card{background:#fff;border:1px solid #e5e7eb;border-top:4px solid var(--green);padding:2rem;border-radius:4px}.issue-card h3{font-size:1.2rem;margin-bottom:.7rem}.issue-card p{color:#6b7280;font-size:.94rem}.issue-card .issue-number{display:block;color:var(--green);font-weight:900;font-size:1.7rem;margin-bottom:.9rem}
.decision-box{background:#111;color:#fff;padding:3.2rem;border-left:7px solid var(--green);display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}.decision-box h2{font-size:2.25rem;line-height:1.15}.decision-box p{color:#d1d5db;margin-bottom:1rem}.decision-box ul{list-style:none}.decision-box li{position:relative;padding-left:1.7rem;margin:.7rem 0;color:#e5e7eb}.decision-box li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.city-advice{margin-top:2rem}
.service-area-notice{position:relative;max-width:1180px;margin:2.5rem auto 0;padding:2.35rem 2.5rem 2.2rem;overflow:hidden;background:linear-gradient(135deg,#111 0%,#171a17 100%);border:1px solid #303630;border-radius:16px;box-shadow:0 18px 45px rgba(17,24,39,.18)}.service-area-notice::after{content:"";position:absolute;right:-90px;top:-110px;width:270px;height:270px;border:48px solid rgba(58,122,42,.14);border-radius:50%;pointer-events:none}.service-area-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1.35rem;padding:.62rem 1rem .62rem .68rem;background:#f0fdf4;border:1px solid #86c77a;border-radius:999px;color:#285c1f;font-size:.82rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 0 0 5px rgba(58,122,42,.13)}.service-area-check{display:grid;place-items:center;width:25px;height:25px;background:var(--green);border-radius:50%;color:#fff;font-size:.9rem;line-height:1}.service-area-notice-copy{position:relative;z-index:1;max-width:860px}.service-area-eyebrow{display:block;margin-bottom:.45rem;color:#8fd37f;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.service-area-notice h2{margin:0 0 .7rem;color:#fff;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.18}.service-area-notice p{margin:0;color:#d1d5db;font-size:1rem;line-height:1.75}.service-route{position:relative;z-index:1;display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.3fr) minmax(170px,1fr);align-items:center;margin-top:1.8rem;padding:1.15rem 1.3rem;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:12px}.route-place{display:grid;grid-template-columns:38px 1fr;column-gap:.7rem;align-items:center}.route-marker{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border:2px solid #79bd6b;border-radius:50%;background:#20371d;color:#fff;font-size:.88rem;font-weight:900;box-shadow:0 0 0 5px rgba(58,122,42,.12)}.route-place small{color:#9ca3af;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.route-place strong{color:#fff;font-size:1rem}.route-connector{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:0 1.2rem}.route-connector span{position:relative;display:block;width:100%;height:2px;background:linear-gradient(90deg,#79bd6b,#3a7a2a)}.route-connector span::before,.route-connector span::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:#79bd6b;transform:translateY(-50%)}.route-connector span::before{left:0}.route-connector span::after{right:0}.route-connector b{color:#9fdaa0;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.route-destination .route-marker{background:var(--green);border-color:#a5df98}
.service-area-benefits{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.55rem}.service-area-benefit{display:grid;grid-template-columns:27px 1fr;gap:.7rem;align-items:start;padding:1.05rem;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);border-radius:10px}.service-area-benefit>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#294628;color:#a8e49b;font-size:.8rem;font-weight:900}.service-area-benefit strong{display:block;margin-bottom:.2rem;color:#fff;font-size:.88rem}.service-area-benefit p{color:#aeb6ae;font-size:.8rem;line-height:1.5}.service-area-benefit.fee-benefit{background:rgba(58,122,42,.18);border-color:#4e9140}.service-area-benefit.fee-benefit strong{color:#b8edae}.route-connector em{color:#fff;font-size:.72rem;font-style:normal;font-weight:800}
.process-grid-cluster{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.process-step{background:#fff;border:1px solid #e5e7eb;padding:2rem}.process-step strong{display:block;font-size:2rem;color:var(--green);margin-bottom:.7rem}.process-step h3{font-size:1.1rem;margin-bottom:.55rem}.process-step p{color:#6b7280;font-size:.92rem}
.related-services{background:#111;padding:5rem 2rem;color:#fff}.related-wrap{max-width:1180px;margin:0 auto}.related-wrap h2{text-align:center;font-size:2.2rem;margin-bottom:2.5rem}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.related-card{display:block;background:#1a1a1a;border:1px solid #333;padding:1.6rem;color:#fff;text-decoration:none;transition:.25s}.related-card:hover{border-color:var(--green);transform:translateY(-3px)}.related-card strong{display:block;color:#fff;margin-bottom:.35rem}.related-card span{color:#9ca3af;font-size:.9rem}.related-card b{color:var(--green);float:right}
.page-cta{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;padding:5rem 2rem;text-align:center}.page-cta h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:.8rem}.page-cta p{max-width:720px;margin:0 auto 1.8rem;font-size:1.08rem}.page-cta .final-cta-btn{display:inline-block}
.local-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}.local-point{background:#fff;padding:1.7rem;border:1px solid #e5e7eb}.local-point h3{margin-bottom:.55rem}.local-point p{color:#6b7280;font-size:.93rem}.service-links-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-links-list a{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:#f9fafb;border:1px solid #e5e7eb;color:#111;text-decoration:none;font-weight:700}.service-links-list a:hover{border-color:var(--green);color:var(--green)}
.quote-section{padding:5rem 2rem;background:#f9fafb;border-top:1px solid #e5e7eb}.quote-section-inner{max-width:760px;margin:0 auto}.quote-section h2{font-size:2.2rem;font-weight:800;color:#000;margin-bottom:.5rem}.quote-section .quote-sub{font-size:1.1rem;color:#4b5563;margin-bottom:2rem;line-height:1.7}.quote-form{display:flex;flex-direction:column;gap:1.1rem}.quote-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.quote-group{display:flex;flex-direction:column;gap:.35rem}.quote-group label{font-size:.85rem;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.04em}.quote-group input,.quote-group textarea,.quote-group select{display:block;width:100%;box-sizing:border-box;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;color:#111;outline:none;transition:border-color .2s,box-shadow .2s}.quote-group input:focus,.quote-group textarea:focus,.quote-group select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(58,122,42,.12)}.quote-group input::placeholder,.quote-group textarea::placeholder{color:#9ca3af}.quote-group textarea{min-height:130px;resize:vertical}.quote-submit{align-self:flex-start;background:var(--green);color:#fff;border:0;border-radius:8px;padding:1rem 2.5rem;font-family:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}.quote-submit:hover{background:var(--green-dark);transform:translateY(-2px)}.quote-submit:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.quote-message{display:none;padding:1rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:600;margin-top:.5rem}.quote-message.success{display:block;background:#f0fdf4;border:2px solid #16a34a;color:#15803d}.quote-message.error{display:block;background:#fef2f2;border:2px solid #dc2626;color:#b91c1c}
.quote-help{background:#f0fdf4;border:1px solid #bbf7d0;border-left:5px solid var(--green);padding:1.25rem 1.5rem;margin:1.5rem 0;color:#285c1f}.quote-help strong{display:block;color:#183e13}
.guide-hero{margin-top:80px;min-height:460px;display:flex;align-items:end;position:relative;background-position:center;background-size:cover;color:#fff}.guide-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.52))}.guide-hero>div{position:relative;z-index:1;width:100%;max-width:1050px;margin:0 auto;padding:6rem 2rem}.guide-hero h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.08;max-width:900px;margin:.5rem 0 1rem}.guide-hero p{max-width:760px;font-size:1.14rem;color:#e5e7eb}.guide-hero.hub{background-image:url('/assets/img/remodeling-tools.webp')}.guide-article{max-width:850px;margin:0 auto;padding:5rem 2rem}.guide-article section{margin:3rem 0}.guide-article h2{font-size:1.75rem;line-height:1.25;margin-bottom:.75rem}.guide-article p{font-size:1.05rem;line-height:1.85;color:#374151}.guide-intro{padding:2rem;border-left:6px solid var(--green);background:#f0fdf4}.guide-intro strong{display:block;color:var(--green-dark);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.guide-intro p{margin:0;color:#183e13}.guide-checklist{background:#111;color:#fff;padding:2.5rem;margin:3rem 0}.guide-checklist h2{color:#fff}.guide-checklist ul{list-style:none}.guide-checklist li{padding:.55rem 0 .55rem 1.7rem;position:relative;color:#e5e7eb}.guide-checklist li::before{content:"✓";position:absolute;left:0;color:var(--green)}.guide-boundary{font-size:.92rem!important;padding-top:1.4rem;border-top:1px solid #d1d5db}.guide-hub{max-width:1180px;margin:0 auto;padding:5rem 2rem}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.guide-grid a{display:block;padding:2rem;border:1px solid #e5e7eb;border-top:5px solid var(--green);color:#111;text-decoration:none;transition:.2s}.guide-grid a:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,0,.08)}.guide-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--green);font-weight:800}.guide-grid h2{font-size:1.25rem;margin:.7rem 0}.guide-grid p{color:#6b7280;font-size:.92rem;margin-bottom:1rem}.guide-grid b{color:var(--green);font-size:.9rem}
@media(max-width:968px){.service-hero{min-height:auto}.service-hero-inner{padding:5rem 1.25rem}.content-lead,.decision-box{grid-template-columns:1fr}.issue-grid,.local-points{grid-template-columns:1fr 1fr}.process-grid-cluster{grid-template-columns:1fr 1fr}.related-grid,.guide-grid{grid-template-columns:1fr 1fr}.content-photo img{height:340px}}
@media(max-width:640px){.service-hero{margin-top:72px;background-position:64% center}.service-hero::before{background:rgba(0,0,0,.78)}.service-hero-inner{padding:4.5rem 1.25rem}.service-hero p{font-size:1.04rem}.service-trust{gap:1.4rem}.content-section{padding:4rem 1.25rem}.content-lead{gap:2.5rem}.content-photo img{height:260px}.issue-grid,.local-points,.process-grid-cluster,.related-grid,.service-links-list,.quote-form-row,.guide-grid{grid-template-columns:1fr}.decision-box{padding:2rem}.related-services,.page-cta,.quote-section{padding:4rem 1.25rem}.breadcrumbs-inner{padding:.75rem 1.25rem}.quote-submit{width:100%}.guide-hero{margin-top:72px;min-height:420px}.guide-hero>div,.guide-article,.guide-hub{padding-left:1.25rem;padding-right:1.25rem}}
.guide-byline{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;padding-bottom:1.25rem;margin-bottom:2rem;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.9rem}.guide-byline strong{color:#111}.guide-byline a{color:var(--green);text-decoration:none}.guide-byline a:hover{text-decoration:underline}.guide-decision{margin:3rem 0}.guide-decision>p{margin-bottom:1.25rem}.guide-table-wrap{overflow-x:auto;border:1px solid #dfe5df;border-radius:10px}.guide-table-wrap table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}.guide-table-wrap th{background:#111;color:#fff;text-align:left;padding:1rem;font-size:.88rem;letter-spacing:.02em}.guide-table-wrap td{padding:1rem;vertical-align:top;border-top:1px solid #e5e7eb;line-height:1.55}.guide-table-wrap td:first-child{font-weight:700;color:#111}.guide-table-wrap tr:nth-child(even) td{background:#f8faf8}.guide-sources{margin-top:3rem;padding:2rem;background:#f5f8f4;border-left:4px solid var(--green)}.guide-sources h2{margin-top:0;font-size:1.45rem}.guide-sources p{font-size:.96rem}.guide-sources ul{margin:.8rem 0 0;padding-left:1.25rem}.guide-sources li{margin:.55rem 0}.guide-sources a{color:var(--green-dark);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:640px){.service-area-notice{margin:1.5rem 1.25rem 0;padding:1.75rem 1.35rem}.service-area-badge{font-size:.73rem;letter-spacing:.035em}.service-area-benefits{grid-template-columns:1fr}.service-area-benefit{padding:.95rem}.service-route{grid-template-columns:1fr;gap:1rem;padding:1.2rem}.route-connector{align-items:flex-start;padding:.2rem 0 .2rem 18px}.route-connector span{width:2px;height:35px;background:linear-gradient(180deg,#79bd6b,#3a7a2a)}.route-connector span::before,.route-connector span::after{left:50%;top:auto;transform:translateX(-50%)}.route-connector span::before{top:0}.route-connector span::after{bottom:0}.route-connector b{margin-left:1.2rem;margin-top:-1.9rem}.route-connector em{margin-left:1.2rem}.service-area-notice h2{font-size:1.55rem}}
