/*
Theme Name: Handyman Legend Lite
Theme URI: https://handymanlegend.com/
Author: Handyman Legend
Description: Lightweight, responsive block-editor theme for Handyman Legend.
Version: 2.3.9
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: handyman-legend-lite
*/
:root{--ink:#101216;--panel:#1a1d22;--line:#34383f;--paper:#f7f6f2;--white:#fff;--red:#df2029;--red-dark:#b91019;--gold:#e5aa42;--muted:#b9bec5;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px;white-space:nowrap}.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;position:fixed;top:8px;left:8px;background:#fff;color:#000;padding:12px;z-index:1000}
.hl-container{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.hl-top{background:#090b0e;border-bottom:1px solid #30343a;color:#d4d7dd;font-size:.81rem;font-weight:700;letter-spacing:.025em}.hl-top .hl-container{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:16px}.hl-top a{text-decoration:none}.hl-top strong{color:var(--gold)}.hl-header{background:#111317;border-bottom:1px solid #30343a;position:relative;z-index:20}.hl-header .hl-container{min-height:82px;display:flex;align-items:center;gap:26px}.hl-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.hl-brand img{display:block;width:70px;height:64px;object-fit:contain;background:#fff;border-radius:6px}.hl-brand-text{font-weight:1000;font-size:1.06rem;line-height:1.02;letter-spacing:.025em}.hl-brand-text b{display:block;color:var(--red)}.hl-brand-text small{font-size:.55rem;color:#c4c8cc;letter-spacing:.12em;font-weight:700}.hl-nav{display:flex;gap:clamp(12px,2vw,29px);margin-left:auto;align-items:center}.hl-nav a{text-decoration:none;font-weight:750;font-size:.87rem}.hl-nav a:hover,.hl-footer a:hover{color:var(--gold)}.hl-header-call{text-decoration:none;background:var(--red);padding:12px 18px;border-radius:7px;font-weight:850;white-space:nowrap}.hl-header-call:hover,.hl-button-primary:hover{background:var(--red-dark)}.hl-menu{display:none;margin-left:auto}.hl-menu summary{cursor:pointer;list-style:none;border:1px solid #676b70;padding:9px 13px;border-radius:7px;font-weight:800}.hl-menu summary::-webkit-details-marker{display:none}.hl-menu-panel{display:grid;position:absolute;top:100%;right:20px;left:20px;background:#1a1d22;border:1px solid #43474d;border-radius:10px;padding:12px;box-shadow:0 18px 35px #0008}.hl-menu-panel a{display:block;padding:11px 12px;text-decoration:none;font-weight:800;border-radius:5px}.hl-menu-panel a:hover{background:#30343a}.hl-menu-panel a:last-child{color:#fff;background:var(--red);text-align:center;margin-top:5px}
.hl-main{overflow:clip}.hl-section{scroll-margin-top:18px;padding:clamp(56px,7vw,96px) 0}.hl-section>.wp-block-group__inner-container,.hl-section>.wp-block-columns{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.hl-section h2{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.06;letter-spacing:-.04em;margin:0 0 18px}.hl-section p{margin:0 0 1.2em}.hl-kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--gold);font-size:.77rem;margin-bottom:12px!important}.hl-section .hl-lede{max-width:660px;color:var(--muted);font-size:1.1rem}.hl-section .hl-lede-dark{color:#555e68}.hl-accent{color:var(--red)}
.hl-hero{background:radial-gradient(circle at 88% 10%,#5d101b 0,transparent 31%),linear-gradient(125deg,#1b2026,#0c0e11 65%);padding:clamp(34px,5vw,74px) 0 48px}.hl-hero>.wp-block-group__inner-container{width:min(calc(100% - 40px),var(--wrap));margin:auto}.hl-hero-grid{align-items:center;gap:clamp(24px,5vw,76px)!important;margin:0!important}.hl-hero-grid>.wp-block-column:first-child{flex-basis:55%!important}.hl-hero-grid>.wp-block-column:last-child{flex-basis:45%!important}.hl-hero h1{font-size:clamp(3.2rem,7vw,6.5rem);line-height:.96;letter-spacing:-.065em;margin:0 0 24px;text-wrap:balance;text-transform:uppercase;font-weight:1000}.hl-hero h1 em{display:block;color:var(--red);font-style:normal}.hl-hero .hl-intro{font-size:clamp(1rem,1.55vw,1.22rem);color:#d6d9dc;max-width:520px;margin-bottom:26px}.hl-hero .wp-block-image{margin:0}.hl-hero .wp-block-image img{display:block;width:100%;height:auto;border:1px solid #44494f;border-radius:18px;box-shadow:0 25px 55px #0009}.hl-hero .hl-picture-caption{color:#cbd0d6;font-size:.8rem;text-align:center;margin:11px 0 0}.hl-proof{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0!important}.hl-proof span{font-size:.78rem;font-weight:800;border:1px solid #454a50;border-radius:30px;padding:7px 10px;color:#e8ebed}.wp-block-buttons.hl-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hl-actions .wp-block-button__link,.hl-contact .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:49px;text-decoration:none;font-size:.94rem;font-weight:850;border-radius:8px;padding:13px 22px}.hl-button-primary .wp-block-button__link{background:var(--red);color:#fff}.hl-button-outline .wp-block-button__link{background:transparent;border:1px solid #a1a7ae;color:#fff}.hl-button-outline .wp-block-button__link:hover{border-color:#fff;background:#ffffff13}
.hl-services{background:var(--paper);color:var(--ink)}.hl-services .hl-kicker{color:#a9111b}.hl-services .hl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}.hl-card{background:#fff;border:1px solid #e1e2e1;border-radius:12px;padding:26px;box-shadow:0 8px 20px #1417200a}.hl-card .hl-icon{font-size:1.55rem;color:var(--red);line-height:1;margin:0 0 20px!important}.hl-card h3{font-size:1.15rem;margin:0 0 8px;line-height:1.25}.hl-card p{color:#59616b;font-size:.93rem;margin:0}.hl-services .hl-service-note{color:#56606b;font-size:.85rem;margin:24px 0 0}
.hl-about{background:#191c21}.hl-about-grid{align-items:center;gap:clamp(26px,6vw,86px)!important}.hl-about .wp-block-image{margin:0}.hl-about .wp-block-image img{display:block;width:min(100%,460px);margin:auto;border-radius:18px}.hl-about p:not(.hl-kicker){color:#d6dae0;font-size:1.04rem}.hl-about .hl-about-points{margin-top:22px!important;display:grid;gap:10px}.hl-about-points p{margin:0!important;background:#ffffff0b;border-left:3px solid var(--red);padding:9px 13px;font-size:.92rem!important}
.hl-areas{background:#eceae5;color:var(--ink)}.hl-area-box{background:#fff;border-radius:18px;padding:clamp(25px,4vw,48px);border:1px solid #dedbd3}.hl-area-box p:not(.hl-kicker){color:#555d67}.hl-towns{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px!important}.hl-towns span{padding:8px 13px;border-radius:30px;background:#f4f2ed;border:1px solid #dcd9d1;font-size:.87rem;font-weight:750}
.hl-contact{background:linear-gradient(115deg,#8f111b,#d6222d 70%);text-align:center}.hl-contact h2{max-width:700px;margin-inline:auto}.hl-contact p{max-width:650px;margin-inline:auto;color:#fff}.hl-contact .wp-block-buttons{justify-content:center}.hl-contact .hl-button-primary .wp-block-button__link{background:#fff;color:#85111a}.hl-contact .hl-button-outline .wp-block-button__link{border-color:#fff}.hl-contact .hl-contact-small{font-size:.82rem;opacity:.9;margin-top:22px}.hl-footer{background:#0a0c0f;padding:32px 0 95px;color:#c7cbd0}.hl-footer .hl-container{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.hl-footer strong{color:#fff}.hl-footer p{margin:4px 0 0;font-size:.83rem}.hl-footer nav{display:flex;gap:16px;flex-wrap:wrap}.hl-footer a{text-decoration:none;font-size:.86rem}.hl-mobile-call{display:none}.hl-page{width:min(calc(100% - 40px),800px);margin:60px auto 100px}.hl-page h1{font-size:clamp(2rem,5vw,4rem);line-height:1.1}.hl-page p{color:#d8dce0}
@media(max-width:980px){.hl-nav,.hl-header-call{display:none}.hl-menu{display:block}.hl-header .hl-container{min-height:72px}.hl-brand img{width:60px;height:56px}.hl-hero-grid{gap:25px!important}.hl-hero h1{font-size:clamp(2.8rem,6.1vw,5rem)}}
@media(max-width:781px){.hl-hero-grid,.hl-about-grid{display:flex;flex-direction:column;align-items:stretch!important}.hl-hero-grid>.wp-block-column,.hl-about-grid>.wp-block-column{flex-basis:auto!important;width:100%;margin:0!important}.hl-hero-grid>.wp-block-column:last-child{max-width:500px;margin-inline:auto!important}.hl-hero h1{font-size:clamp(3.1rem,11vw,5.7rem)}.hl-hero .hl-intro{max-width:640px}.hl-about-grid>.wp-block-column:first-child{order:2}.hl-about-grid>.wp-block-column:last-child{order:1}.hl-about .wp-block-image img{max-width:340px}}
@media(max-width:680px){.hl-container,.hl-section>.wp-block-group__inner-container,.hl-section>.wp-block-columns,.hl-hero>.wp-block-group__inner-container{width:min(calc(100% - 32px),var(--wrap))}.hl-top{font-size:.68rem}.hl-top .hl-container{min-height:32px}.hl-top .hl-top-area{max-width:215px;line-height:1.2}.hl-top .hl-top-phone{white-space:nowrap}.hl-brand-text{font-size:.93rem}.hl-brand-text small{font-size:.48rem}.hl-section{padding:58px 0}.hl-hero{padding:43px 0 54px}.hl-hero h1{font-size:clamp(3.15rem,13vw,5rem)}.hl-hero .hl-intro{font-size:1.03rem}.hl-hero-grid>.wp-block-column:last-child{max-width:390px}.hl-hero .wp-block-image img{border-radius:12px}.hl-services .hl-cards{grid-template-columns:1fr;gap:11px;margin-top:26px}.hl-card{padding:20px}.hl-card .hl-icon{margin-bottom:10px!important}.hl-about .wp-block-image img{max-width:270px}.hl-footer .hl-container{display:block}.hl-footer nav{margin-top:18px}.hl-footer{padding-bottom:96px}.hl-mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:30;display:block;text-align:center;background:#d51c26;color:#fff;font-weight:900;text-decoration:none;padding:13px 16px calc(13px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #0006}.hl-actions .wp-block-button{flex:1 1 190px}.hl-actions .wp-block-button__link{width:100%}}
.hl-inner{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.hl-hero-grid,.hl-about-grid{display:flex}.hl-hero-grid>.wp-block-column,.hl-about-grid>.wp-block-column{min-width:0;flex:1}
@media(max-width:680px){.hl-inner{width:min(calc(100% - 32px),var(--wrap))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Brand assets and estimate form */
.hl-brand img{width:190px;height:66px;object-fit:contain;background:none;border-radius:0}
.hl-hero-visual{position:relative;border-radius:18px;overflow:hidden;border:1px solid #5b6067;box-shadow:0 25px 55px #0009;background:#161616}
.hl-hero-visual .wp-block-image:first-child img{width:100%;height:560px;object-fit:cover;object-position:65% center;border:0;border-radius:0;box-shadow:none}
.hl-hero-visual .wp-block-image:last-child{position:absolute;left:5%;bottom:5%;width:min(37%,205px);padding:7px;border-radius:10px;background:#fff;box-shadow:0 12px 24px #0009}
.hl-hero-visual .wp-block-image:last-child img{width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.hl-about .wp-block-image img{max-width:390px;background:#fff;padding:10px;border-radius:18px}
.hl-contact{background:#14171b;text-align:left}.hl-contact-grid{display:flex;align-items:center;gap:clamp(28px,6vw,80px)!important}.hl-contact-grid>.wp-block-column{min-width:0;flex:1}.hl-contact h2{margin-inline:0}.hl-contact .wp-block-buttons{justify-content:flex-start}.hl-contact .hl-button-primary .wp-block-button__link{background:var(--red);color:#fff}.hl-contact .hl-button-primary .wp-block-button__link:hover{background:var(--red-dark)}
.hl-estimate{background:#1d2024;border:1px solid #4d5156;border-radius:16px;padding:clamp(22px,3vw,35px);box-shadow:0 18px 40px #0004}.hl-estimate h3{text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.12;margin:0 0 25px}.hl-estimate h3 span{color:var(--red)}.hl-estimate form{display:grid;gap:9px}.hl-estimate label{font-size:.84rem;font-weight:750;color:#f1f2f4;margin-top:5px}.hl-estimate label span{color:#ff7078}.hl-estimate input,.hl-estimate select,.hl-estimate textarea{display:block;width:100%;border:1px solid #777e84;border-radius:7px;background:#fff;color:#17191b;padding:12px 14px;min-height:48px}.hl-estimate textarea{resize:vertical;min-height:115px}.hl-estimate button{background:var(--red);color:#fff;border:0;border-radius:7px;min-height:51px;padding:13px 18px;font-weight:900;cursor:pointer;margin-top:13px}.hl-estimate button:hover{background:var(--red-dark)}.hl-estimate .hl-form-note{font-size:.78rem;color:#bfc4c9;text-align:center;margin:7px 0 0}.hl-estimate .hl-form-note a{text-decoration:underline;text-underline-offset:3px}.hl-form-message{padding:12px;border-radius:6px;background:#15482b;color:#fff}.hl-form-error{background:#6e1520}.hl-honey{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:980px){.hl-brand img{width:160px;height:58px}.hl-hero-visual .wp-block-image:first-child img{height:460px}}
@media(max-width:781px){.hl-contact-grid{display:flex;flex-direction:column;align-items:stretch}.hl-contact-grid>.wp-block-column{width:100%;flex-basis:auto!important;margin:0!important}.hl-contact-grid>.wp-block-column:first-child{max-width:620px}.hl-contact-grid>.wp-block-column:last-child{max-width:700px}.hl-contact .hl-contact-small{margin-bottom:0}}
@media(max-width:680px){.hl-brand img{width:143px;height:50px}.hl-hero-visual .wp-block-image:first-child img{height:335px;object-position:62% center}.hl-hero-visual .wp-block-image:last-child{width:35%;min-width:105px}.hl-about .wp-block-image img{max-width:290px}.hl-estimate{padding:21px}.hl-contact h2{font-size:2.5rem}}

/* Clickable service area, based on the supplied map artwork */
.hl-areas .hl-lede{margin-bottom:28px}.hl-map{position:relative;min-height:560px;background:#1b211b url('assets/service-map.webp') center/cover no-repeat;border:3px solid #141516;border-radius:24px;overflow:hidden;box-shadow:0 18px 36px #1112}.hl-map-center{position:absolute;left:34%;top:35%;width:32%;min-height:30%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#111d;border:2px solid var(--red);border-radius:14px;color:#fff;padding:20px;box-shadow:0 12px 26px #0006;z-index:1}.hl-map-center .hl-map-brand{font-weight:950;letter-spacing:.13em;font-size:clamp(.9rem,1.7vw,1.4rem);line-height:1.18;margin:0 0 10px}.hl-map-center h3{color:#ff333e;font-size:clamp(.9rem,1.7vw,1.35rem);line-height:1.1;letter-spacing:.14em;margin:0}.hl-map-links{display:contents}.hl-map .hl-pin{position:absolute;margin:0;z-index:2;transform:translate(-50%,-50%)}.hl-pin a{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:8px 18px;background:#ec111c;color:#fff;border:3px solid #fff;border-radius:100px;text-decoration:none;font-size:clamp(.85rem,1.45vw,1.12rem);font-weight:900;white-space:nowrap;box-shadow:0 8px 15px #0006}.hl-pin a:hover{background:#bb101a;transform:translateY(-2px)}.hl-pin-ceres{left:15%;top:24%}.hl-pin-ripon{left:49%;top:13%}.hl-pin-modesto{left:83%;top:24%}.hl-pin-turlock{left:14%;top:53%}.hl-pin-riverbank{left:84%;top:51%}.hl-pin-delhi{left:17%;top:83%}.hl-pin-denair{left:49%;top:88%}.hl-pin-hughson{left:83%;top:80%}
@media(max-width:780px){.hl-map{min-height:0;background:none;border:0;border-radius:0;overflow:visible;box-shadow:none}.hl-map::before{content:"";display:block;width:100%;height:clamp(235px,58vw,380px);background:#1b211b url('assets/service-map.webp') center/cover no-repeat;border:2px solid #151719;border-radius:18px;box-shadow:0 12px 25px #1112}.hl-map-center{left:20%;top:clamp(62px,16vw,115px);width:60%;min-height:110px;padding:14px}.hl-map-center .hl-map-brand{font-size:clamp(.85rem,3vw,1.2rem)}.hl-map-center h3{font-size:clamp(.83rem,2.8vw,1.1rem)}.hl-map-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.hl-map .hl-pin{position:static;transform:none}.hl-pin a{width:100%;min-height:45px;padding:8px 5px;font-size:.87rem;border-width:2px;box-shadow:none}}
@media(max-width:520px){.hl-map-links{grid-template-columns:repeat(2,minmax(0,1fr))}.hl-map-center{left:13%;width:74%;top:clamp(60px,17vw,90px)}}

/* Hero inspired by the clear type and character-led MyCruncher composition */
.hl-top{background:linear-gradient(90deg,#8d111b,#cf1b27);border-bottom:0;color:#fff}.hl-top strong{color:#fff}.hl-header{background:#101114;border-bottom:3px solid var(--red)}.hl-header .hl-container{min-height:92px}.hl-brand img{width:212px;height:73px}.hl-header-call{box-shadow:0 5px 16px #d91c2938}.hl-nav a:hover{color:#ff6570}
.hl-hero{background:radial-gradient(circle at 77% 76%,#e9e0d5 0,transparent 29%),linear-gradient(140deg,#fff,#f8f6f2 65%,#f3eee8);color:#13161a;border-bottom:1px solid #e3ded8;padding:clamp(38px,5vw,70px) 0 clamp(25px,4vw,50px)}.hl-hero-grid{gap:clamp(20px,3vw,46px)!important}.hl-hero-grid>.wp-block-column:first-child{flex-basis:48%!important}.hl-hero-grid>.wp-block-column:last-child{flex-basis:52%!important}.hl-hero .hl-kicker{color:#bc1621;font-size:.82rem}.hl-hero h1{color:#17191d;font-size:clamp(3.4rem,6.8vw,6.3rem);line-height:.97;margin-bottom:23px}.hl-hero h1 em{color:#e31d2a}.hl-hero .hl-intro{color:#4a5159;font-size:clamp(1.06rem,1.6vw,1.25rem);max-width:490px}.hl-hero .hl-button-outline .wp-block-button__link{color:#17191d;border:1.5px solid #575e65}.hl-hero .hl-button-outline .wp-block-button__link:hover{background:#17191d;color:#fff}.hl-hero .hl-button-primary .wp-block-button__link{border-radius:40px;box-shadow:0 8px 22px #d91b2a35}.hl-hero .hl-button-outline .wp-block-button__link{border-radius:40px}.hl-hero .hl-proof span{color:#40474e;border-color:#d2d3d4;background:#ffffffb8}
.hl-hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;overflow:visible;border:0;border-radius:0;box-shadow:none;background:none;min-height:530px}.hl-hero-visual .wp-block-image:first-child{position:relative;z-index:2;width:min(42%,245px);padding:0;margin:0 0 -40px;background:none;border:0;border-radius:0;box-shadow:none}.hl-hero-visual .wp-block-image:first-child img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}.hl-hero-visual .wp-block-image:last-child{position:relative;z-index:1;left:auto;bottom:auto;width:100%;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none}.hl-hero-visual .wp-block-image:last-child img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
@media(max-width:980px){.hl-header .hl-container{min-height:76px}.hl-brand img{width:174px;height:62px}.hl-hero-visual{min-height:420px}}
@media(max-width:781px){.hl-hero{text-align:center}.hl-hero-grid>.wp-block-column:first-child,.hl-hero-grid>.wp-block-column:last-child{flex-basis:auto!important}.hl-hero .hl-intro{margin-inline:auto}.hl-hero .wp-block-buttons{justify-content:center}.hl-hero .hl-proof{justify-content:center}.hl-hero-visual{min-height:0;max-width:650px;margin:34px auto 0}.hl-hero-visual .wp-block-image:first-child{width:min(40%,230px);margin-bottom:-32px}}
@media(max-width:680px){.hl-header .hl-container{min-height:68px}.hl-brand img{width:150px;height:54px}.hl-hero{padding:38px 0 29px}.hl-hero h1{font-size:clamp(3.15rem,12vw,5rem);max-width:550px;margin-inline:auto}.hl-hero .hl-intro{font-size:1.04rem}.hl-hero .hl-actions{gap:10px}.hl-hero .hl-actions .wp-block-button{flex:1 1 100%}.hl-hero .hl-actions .wp-block-button__link{min-height:51px}.hl-hero-visual{margin-top:22px}.hl-hero-visual .wp-block-image:first-child{width:min(44%,210px);margin-bottom:-24px}.hl-hero .hl-proof{gap:7px}.hl-hero .hl-proof span{font-size:.7rem;padding:6px 8px}}

/* Tool collage with the exact supplied emblem in its central opening */
.hl-hero-visual{display:block;min-height:0;max-width:680px;margin-inline:auto}.hl-hero-visual .wp-block-image:first-child{position:relative;z-index:1;width:100%;margin:0;padding:0}.hl-hero-visual .wp-block-image:first-child img{width:100%;height:auto;object-fit:contain}.hl-hero-visual .wp-block-image:last-child{position:absolute;z-index:2;left:50%;top:47%;bottom:auto;width:42%;margin:0;padding:0;transform:translate(-50%,-50%);background:none;box-shadow:none}.hl-hero-visual .wp-block-image:last-child img{width:100%;height:auto;object-fit:contain}
@media(max-width:781px){.hl-hero-visual{margin-top:30px}.hl-hero-visual .wp-block-image:last-child{width:43%}}
@media(max-width:680px){.hl-hero-visual{margin-top:20px}.hl-hero-visual .wp-block-image:last-child{width:45%}}

/* Transparent supplied artwork: no white panels around the cutouts. */
.hl-hero-visual .wp-block-image:last-child{background:transparent;padding:0;box-shadow:none;filter:drop-shadow(0 8px 14px #000c)}
.hl-about .wp-block-image img{background:transparent;padding:0;border-radius:0}

/* Service area: the flying handyman now travels over the map artwork. */
.hl-map{min-height:0;background:none;border:0;border-radius:0;overflow:visible;box-shadow:none}
.hl-map::before{display:none!important}
.hl-map-scene{position:relative;min-height:430px;isolation:isolate;overflow:hidden;border:3px solid #171a18;border-radius:24px;background:linear-gradient(90deg,#0b1119a6,#10172133 65%,#08101477),url('assets/service-map.webp') center/cover no-repeat;box-shadow:0 18px 36px #1112}
.hl-map-scene::after{content:"";position:absolute;right:9%;top:8%;width:42%;aspect-ratio:1;border:3px dashed #f8f1dd8c;border-radius:50%;filter:drop-shadow(0 0 6px #1118);z-index:0}
.hl-map-center{left:7%;top:50%;transform:translateY(-50%);width:39%;min-height:145px;padding:22px;background:#101315ed;border:3px solid #e23236;border-radius:20px;z-index:2}
.hl-map-center .hl-map-brand{font-size:clamp(1rem,2.1vw,1.6rem)}
.hl-map-center h3{font-size:clamp(.95rem,1.8vw,1.35rem)}
.hl-map-mascot{position:absolute;right:10%;top:50%;width:33%;max-width:340px;transform:translateY(-50%);z-index:1;filter:drop-shadow(0 18px 15px #0009)}
.hl-map-mascot .wp-block-image{margin:0}.hl-map-mascot img{display:block;width:100%;height:auto}
.hl-map-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.hl-map .hl-pin{position:static;transform:none;left:auto;top:auto;margin:0}
.hl-pin a{width:100%;min-height:49px;box-shadow:0 5px 10px #0002}
@media(max-width:780px){.hl-map-scene{min-height:clamp(270px,62vw,390px)}.hl-map-center{left:5%;top:auto;bottom:7%;transform:none;width:53%;min-height:105px;padding:14px}.hl-map-mascot{right:6%;top:5%;width:42%;max-width:260px;transform:none}.hl-map-scene::after{right:6%;top:4%;width:46%}.hl-map-center .hl-map-brand{font-size:clamp(.85rem,2.8vw,1.25rem)}.hl-map-center h3{font-size:clamp(.78rem,2.5vw,1rem)}.hl-map-links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.hl-map-scene{min-height:315px;background-position:center}.hl-map-center{left:5%;bottom:6%;width:68%;min-height:98px;padding:12px;z-index:2}.hl-map-mascot{right:5%;top:5%;width:48%;max-width:190px}.hl-map-scene::after{right:4%;top:3%;width:52%}.hl-map-center .hl-map-brand{font-size:clamp(.82rem,3.5vw,1.05rem);letter-spacing:.08em}.hl-map-center h3{font-size:clamp(.78rem,3.25vw,.97rem)}.hl-map-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}}

/* Quiet black hero with the supplied logo as its focal point. */
.hl-hero{background:#000;color:#fff;border-bottom:1px solid #25272b;padding:22px 0 58px;text-align:center}.hl-hero-focus{max-width:860px;margin:auto}.hl-hero-focus .wp-block-image{width:min(100%,580px);height:530px;margin:0 auto 8px;overflow:hidden}.hl-hero .hl-hero-focus .wp-block-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}.hl-hero .hl-kicker{color:#ef3a43;margin:0 0 13px!important}.hl-hero h1{color:#fff;font-size:clamp(2.9rem,5.5vw,5rem);line-height:1.02;margin:0 0 17px}.hl-hero h1 em{display:inline;color:#f02a35}.hl-hero .hl-intro{color:#d0d3d7;max-width:650px;margin:0 auto 20px}.hl-hero .wp-block-buttons{justify-content:center;margin-top:22px}.hl-hero .hl-button-outline .wp-block-button__link{color:#fff;border:1.5px solid #9ca0a5;background:transparent}.hl-hero .hl-button-outline .wp-block-button__link:hover{background:#202327;color:#fff}.hl-hero .hl-proof{justify-content:center}.hl-hero .hl-proof span{color:#dce0e4;background:#15171a;border-color:#34383e}
@media(max-width:680px){.hl-hero{padding:9px 0 44px}.hl-hero-focus .wp-block-image{width:min(100%,430px);height:clamp(300px,92vw,380px);margin-bottom:12px}.hl-hero h1{font-size:clamp(2.65rem,10.4vw,4.3rem);max-width:550px}.hl-hero .hl-intro{font-size:1rem}.hl-hero .hl-kicker{font-size:.72rem}.hl-hero .hl-actions{margin-top:20px}}

/* Headline leads, followed by the centered emblem. */
.hl-hero{padding-top:clamp(38px,5vw,62px)}.hl-hero h1{margin-bottom:12px}.hl-hero-focus .wp-block-image{width:min(100%,540px);height:500px;margin-bottom:12px}.hl-hero .hl-kicker{margin-bottom:12px!important}
@media(max-width:680px){.hl-hero{padding-top:35px}.hl-hero h1{margin-bottom:7px}.hl-hero-focus .wp-block-image{width:min(100%,390px);height:clamp(295px,86vw,355px);margin-bottom:9px}}

/* Simple header wordmark; the detailed logo stays in the hero. */
.hl-brand{border-left:4px solid var(--red);padding-left:13px;min-width:196px}.hl-brand-name{display:flex;flex-direction:column;white-space:nowrap;line-height:.92;font-weight:950;letter-spacing:.07em}.hl-brand-name span{font-size:.93rem;color:#f33540}.hl-brand-name strong{font-size:1.45rem;color:#fff;letter-spacing:.09em}.hl-brand-name small{font-size:.49rem;color:#bfc3c9;letter-spacing:.11em;margin-top:6px;font-weight:750}
@media(max-width:680px){.hl-brand{min-width:0;padding-left:10px;border-left-width:3px}.hl-brand-name span{font-size:.76rem}.hl-brand-name strong{font-size:1.22rem}.hl-brand-name small{font-size:.42rem;letter-spacing:.085em;margin-top:5px}}

/* Service icons sit beside their category titles. */
.hl-card-head{display:flex;align-items:center;gap:15px;margin-bottom:14px}.hl-card-head h3{margin:0;line-height:1.2}.hl-service-icon{flex:0 0 58px;width:58px;height:58px;display:grid;place-items:center;background:#fff0f1;border:1px solid #f6cdd0;border-radius:14px}.hl-service-icon .wp-block-image{width:37px;height:37px;margin:0}.hl-service-icon img{display:block;width:37px;height:37px;object-fit:contain}.hl-card>.wp-block-group:last-child{margin:0}.hl-card-head+p{margin:0}
@media(max-width:680px){.hl-card-head{gap:13px;margin-bottom:10px}.hl-service-icon{flex-basis:52px;width:52px;height:52px;border-radius:12px}.hl-service-icon .wp-block-image,.hl-service-icon img{width:33px;height:33px}}


/* v2.3.1 — Restore a true desktop hero while preserving the existing mobile layout. */
@media (min-width:782px){
  .hl-hero{
    padding:clamp(54px,6vw,82px) 0 clamp(58px,6vw,84px);
    text-align:left;
  }
  .hl-hero .hl-inner{
    width:min(calc(100% - 64px),var(--wrap));
  }
  .hl-hero-focus{
    width:100%;
    max-width:none;
    margin:0;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(390px,1.08fr);
    grid-template-areas:
      "kicker art"
      "title  art"
      "intro  art"
      "actions art"
      "proof  art";
    column-gap:clamp(42px,6vw,82px);
    align-items:center;
  }
  .hl-hero-focus>.hl-kicker{grid-area:kicker;align-self:end;margin:0 0 14px!important}
  .hl-hero-focus>h1{grid-area:title;align-self:end;margin:0 0 18px;max-width:610px}
  .hl-hero-focus>.wp-block-image{grid-area:art;align-self:center;width:100%;height:auto;max-height:none;margin:0;overflow:visible}
  .hl-hero .hl-hero-focus>.wp-block-image img{width:100%;height:auto;max-height:650px;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none}
  .hl-hero-focus>.hl-intro{grid-area:intro;align-self:start;max-width:560px;margin:0 0 2px}
  .hl-hero-focus>.hl-actions{grid-area:actions;align-self:start;justify-content:flex-start;margin-top:20px}
  .hl-hero-focus>.hl-proof{grid-area:proof;align-self:start;justify-content:flex-start;margin-top:20px!important}
  .hl-hero h1{font-size:clamp(3.4rem,5.4vw,5.85rem);line-height:.96;letter-spacing:-.055em}
  .hl-hero h1 em{display:block}
}

@media (min-width:782px) and (max-width:1050px){
  .hl-hero .hl-inner{width:min(calc(100% - 44px),var(--wrap))}
  .hl-hero-focus{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);column-gap:34px}
  .hl-hero h1{font-size:clamp(3rem,5.6vw,4.65rem)}
  .hl-hero .hl-hero-focus>.wp-block-image img{max-height:560px}
}

/* v2.3.2 — WordPress block wrapper fix for the desktop hero. */
@media (min-width:782px){
  .hl-hero-focus{
    display:block;
  }
  .hl-hero-focus > .wp-block-group__inner-container{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(390px,1.08fr);
    grid-template-areas:
      "kicker art"
      "title  art"
      "intro  art"
      "actions art"
      "proof  art";
    column-gap:clamp(42px,6vw,82px);
    align-items:center;
  }
  .hl-hero-focus > .wp-block-group__inner-container > .hl-kicker{grid-area:kicker;align-self:end;margin:0 0 14px!important}
  .hl-hero-focus > .wp-block-group__inner-container > h1{grid-area:title;align-self:end;margin:0 0 18px;max-width:610px}
  .hl-hero-focus > .wp-block-group__inner-container > .wp-block-image{grid-area:art;align-self:center;width:100%;height:auto;max-height:none;margin:0;overflow:visible}
  .hl-hero .hl-hero-focus > .wp-block-group__inner-container > .wp-block-image img{width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none}
  .hl-hero-focus > .wp-block-group__inner-container > .hl-intro{grid-area:intro;align-self:start;max-width:560px;margin:0 0 2px}
  .hl-hero-focus > .wp-block-group__inner-container > .hl-actions{grid-area:actions;align-self:start;justify-content:flex-start;margin-top:20px}
  .hl-hero-focus > .wp-block-group__inner-container > .hl-proof{grid-area:proof;align-self:start;justify-content:flex-start;margin-top:20px!important}
}
@media (min-width:782px) and (max-width:1050px){
  .hl-hero-focus > .wp-block-group__inner-container{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);column-gap:34px}
  .hl-hero .hl-hero-focus > .wp-block-group__inner-container > .wp-block-image img{max-height:540px}
}


/* v2.3.3 — WordPress wrapper fix for service-area city buttons. */
.hl-map-links{
  display:block;
}
.hl-map-links > .wp-block-group__inner-container{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
  width:100%;
}
.hl-map-links > .wp-block-group__inner-container > .hl-pin{
  position:static;
  transform:none;
  left:auto;
  top:auto;
  margin:0;
}
.hl-map-links > .wp-block-group__inner-container > .hl-pin a{
  width:100%;
}
@media(max-width:780px){
  .hl-map-links > .wp-block-group__inner-container{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-top:16px;
  }
}
@media(max-width:520px){
  .hl-map-links > .wp-block-group__inner-container{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* v2.3.4 — WordPress wrapper fix for desktop service-card grid. */
.hl-services .hl-cards{display:block;}
.hl-services .hl-cards > .wp-block-group__inner-container{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:36px;
  width:100%;
}
@media(max-width:980px){
  .hl-services .hl-cards > .wp-block-group__inner-container{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .hl-services .hl-cards > .wp-block-group__inner-container{
    grid-template-columns:1fr;
    gap:11px;
    margin-top:26px;
  }
}

/* Lightweight share and Home Screen area; no offline cache is registered. */
.hl-share{background:#191b1f;color:#fff;padding:clamp(48px,6vw,78px) 0;border-top:1px solid #383b41}
.hl-share-grid{display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:clamp(28px,6vw,74px);align-items:center}
.hl-share-kicker{color:#e8b449;font-size:.78rem;font-weight:900;letter-spacing:.2em;margin:0 0 10px}
.hl-share h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin:0 0 14px}
.hl-share-copy>p:not(.hl-share-kicker):not(.hl-share-status){max-width:650px;color:#d4d7dc;line-height:1.6}
.hl-share-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.hl-share-button{background:#e9232e;border:0;border-radius:10px;color:#fff;font:inherit;font-weight:900;padding:13px 23px;min-height:48px;cursor:pointer}
.hl-share-button:hover,.hl-share-button:focus-visible{background:#b91520}
.hl-share-actions a{color:#fff;text-underline-offset:4px;overflow-wrap:anywhere}
.hl-share-status{min-height:1.4em;color:#e8b449;font-size:.9rem;margin:8px 0}
.hl-install-note{border-left:3px solid #e9232e;background:#ffffff0b;padding:12px 15px;margin-top:10px;font-size:.9rem}
.hl-share-qr{display:block;background:#fff;border:9px solid #fff;border-radius:17px;width:216px;height:216px;box-shadow:0 14px 28px #0006}
.hl-share-qr img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:680px){.hl-share-grid{grid-template-columns:1fr;gap:22px}.hl-share-qr{width:196px;height:196px;margin:auto}.hl-share-actions{align-items:stretch}.hl-share-button{width:100%}.hl-share-actions a{text-align:center}}
