/* ==== home-v72-bundle.css ==== */
/* style.css */
:root{--navy:#0a2a52;--navy2:#123a6b;--navy3:#071e3d;--orange:#fd570a;--orange2:#e04e00;--orange-soft:#ff8a1e;--ink:#1a2b45;--muted:#5b6b82;--line:#e3e9f2;--bg:#ffffff;--bg-soft:#f4f7fb;--bg-tint:#eef3f9;--radius:16px;--radius-sm:10px;--shadow-sm:0 2px 10px rgba(10,42,82,.08);--shadow-md:0 10px 32px rgba(10,42,82,.14);--shadow-lg:0 24px 64px rgba(10,42,82,.22);--font-display:'Archivo',system-ui,sans-serif;--font-body:'Manrope',system-ui,sans-serif;--ease:cubic-bezier(.22,.8,.3,1);}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-body);color:var(--ink);line-height:1.65;background:var(--bg);font-size:1rem;overflow-x:clip}::selection{background:var(--orange);color:#fff}img{max-width:100%}a{color:var(--navy2)}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy);line-height:1.2;letter-spacing:-.5px}.callbar{background:var(--navy3);color:#dbe4f0;font-size:.86rem;position:sticky;top:0;z-index:50}.callbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;padding-bottom:8px}.callbar .btn{font-size:.82rem;padding:8px 18px}header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:33px;z-index:49}header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.22rem;color:var(--navy);line-height:1.1}.brand span{color:var(--orange)}.brand .mark{width:34px;height:34px;color:var(--orange)}nav.main{display:flex;align-items:center;gap:4px}nav.main a,nav.main .toplink{color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem;padding:10px 12px;border-radius:8px;background:none;border:none;cursor:pointer;font-family:var(--font-body)}nav.main a:hover,nav.main .toplink:hover{color:var(--orange2);background:var(--bg-soft)}.drop{position:relative}.drop .menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:8px;display:none;z-index:60}.drop:hover .menu,.drop:focus-within .menu{display:block}.drop .menu a{display:block;padding:10px 14px;white-space:nowrap}.drop>.toplink::after{content:"▾";font-size:.7em;margin-left:5px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--orange-soft),var(--orange) 60%,var(--orange2));color:#fff!important;font-family:var(--font-display);font-weight:800;font-size:1rem;padding:14px 30px;border-radius:12px;text-decoration:none;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(253,87,10,.35);transition:.18s var(--ease)}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(253,87,10,.45)}.btn.big{font-size:1.12rem;padding:16px 36px}.btn.ghost{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.7);box-shadow:none}.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}.split-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:600px}.sh-left{background:linear-gradient(135deg,var(--navy3) 0%,var(--navy) 55%,var(--navy2) 100%);color:#fff;display:flex;align-items:center;padding:72px 0;position:relative;overflow:hidden}.sh-left::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 20% 20%,rgba(253,138,30,.14),transparent 60%);pointer-events:none}.sh-left .inner{max-width:560px;margin-left:auto;padding:0 48px 0 24px;position:relative;width:100%}.sh-left h1{color:#fff;font-size:3rem;font-weight:800;margin-bottom:18px;letter-spacing:-1.5px}.sh-left .lead{color:#c9d6e8;font-size:1.12rem;margin-bottom:26px;max-width:480px}.sh-checks{list-style:none;margin:0 0 30px;padding:0}.sh-checks li{position:relative;padding:8px 0 8px 38px;font-weight:700;font-size:1.02rem;color:#fff}.sh-checks li::before{content:"✓";position:absolute;left:0;top:8px;width:26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem;box-shadow:0 3px 10px rgba(253,87,10,.5)}.sh-left .btn{margin-bottom:14px}.sh-note{color:#9fb2cc;font-size:.88rem}.sh-note a{color:#fff;font-weight:700}.sh-right{position:relative;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding:56px 32px}.sh-right::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,42,82,.12),rgba(10,42,82,.32));pointer-events:none}.quote-form{position:relative;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);padding:34px 32px;max-width:430px;width:100%}.quote-form h3{font-size:1.45rem;margin-bottom:6px;letter-spacing:-.5px}.quote-form>p{color:var(--muted);font-size:.92rem;margin-bottom:20px}.quote-form label{display:block;font-weight:800;font-size:.85rem;color:var(--navy);margin-bottom:14px}.quote-form input,.quote-form select{width:100%;margin-top:6px;padding:13px 14px;border:2px solid var(--line);border-radius:10px;font-size:.95rem;font-family:var(--font-body);color:var(--ink);background:#fbfcfe;transition:border .15s}.quote-form input:focus,.quote-form select:focus{outline:none;border-color:var(--orange)}.quote-form .btn{width:100%;margin-top:6px}.qf-note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:14px!important}.qf-note a{color:var(--orange2);font-weight:800}.qf-done{display:none;text-align:center;padding:20px 0}.qf-done .ok{width:64px;height:64px;border-radius:50%;background:#e7f7ee;color:#1c8a4c;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-weight:800}.trust-strip{background:#fff;border-bottom:1px solid var(--line);padding:20px 0;text-align:center}.trust-strip p{font-size:.78rem;letter-spacing:2.5px;font-weight:800;color:var(--muted);margin-bottom:12px}.trust-strip .badges{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;align-items:center}.trust-strip .badges span{font-weight:800;color:var(--navy);font-size:.95rem;display:inline-flex;align-items:center;gap:8px}.trust-strip .badges b{color:var(--orange2)}section.block{padding:72px 0}section.block.alt{background:var(--bg-soft)}h2.sec{font-size:2.1rem;margin-bottom:14px;letter-spacing:-1px}p.sub{color:var(--muted);font-size:1.08rem;max-width:720px;margin-bottom:36px}.lede{font-size:1.14rem;color:#33475f;max-width:780px;margin-bottom:20px}.lede:first-of-type::first-letter{font-size:1.1em}.card{position:relative;overflow:hidden}.card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--orange) 0%,var(--orange-soft) 65%,#ffc37a 100%)}.card h3{color:var(--navy);font-size:1.16rem;margin-bottom:10px;padding-top:6px}.card p{color:var(--ink);font-size:.96rem}.card p strong{color:var(--navy)}.card ul.ticks{margin:10px 0 4px}.card ul.ticks li{font-size:.94rem;padding:7px 0 7px 38px;color:var(--ink)}.card ul.ticks li::before{top:7px}.card ul.ticks li strong{color:var(--navy)}section.block.alt .card::before{background:linear-gradient(90deg,var(--navy) 0%,var(--navy2) 65%,#3f6ea8 100%)}section.block.alt .card{border-color:#dbe4f2}.eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#a84000;background:#fff1e2;border:1px solid #ffd9ae;padding:7px 15px;border-radius:999px;margin-bottom:14px}section.block.alt .eyebrow{background:#fff;border-color:#f0c896}h2.sec{position:relative;padding-bottom:16px}h2.sec::after{content:"";position:absolute;left:0;bottom:0;width:58px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--orange),var(--orange-soft))}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:22px;margin-top:8px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow-sm);transition:.2s var(--ease);display:flex;flex-direction:column}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#ffd9b8}.card .ic{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#fff1e2,#ffd9ae);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.card .ic svg{width:28px;height:28px;color:var(--orange2)}.card h3{font-size:1.18rem;margin-bottom:10px}.card p{color:var(--muted);font-size:.94rem;flex:1}.card .cthumb{border-radius:12px;overflow:hidden;margin-bottom:18px;aspect-ratio:16/9}.card .cthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--ease)}.card:hover .cthumb img{transform:scale(1.05)}.card a.more{margin-top:16px;font-weight:800;color:var(--orange2);text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:10px 6px;margin-left:-6px}.card a.more::after{content:"→";transition:transform .15s}.card a.more:hover::after{transform:translateX(4px)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;position:relative}.step{padding:0 28px;position:relative;text-align:center}.step .n{width:62px;height:62px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:800;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 22px rgba(10,42,82,.3);position:relative;z-index:1}.step:not(:last-child)::after{content:"";position:absolute;top:31px;left:calc(50%+45px);right:calc(-50%+45px);height:2px;background:repeating-linear-gradient(90deg,var(--orange) 0 8px,transparent 8px 16px)}.step h3{font-size:1.15rem;margin-bottom:10px}.step p{color:var(--muted);font-size:.94rem}ul.ticks{list-style:none;padding:0;margin:18px 0}ul.ticks li{position:relative;padding:9px 0 9px 40px;font-size:.98rem;line-height:1.6}ul.ticks li::before{content:"✓";position:absolute;left:0;top:9px;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#fdeede,#f8d3a0);color:#a84000;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem;box-shadow:inset 0 0 0 1px #eec78d}ul.tight{list-style:none;padding:0;margin:18px 0}ul.tight li{padding:7px 0 7px 22px;position:relative;font-size:.96rem}ul.tight li::before{content:"";position:absolute;left:2px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--orange)}.town-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.town-card{display:block;border-radius:var(--radius);overflow:hidden;position:relative;text-decoration:none;box-shadow:var(--shadow-sm);transition:.2s var(--ease);min-height:230px}.town-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.town-card .pic{position:absolute;inset:0}.town-card .pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}.town-card:hover .pic img{transform:scale(1.06)}.town-card .tb{position:absolute;inset:auto 0 0 0;padding:44px 18px 16px;background:linear-gradient(180deg,transparent,rgba(7,20,40,.88));color:#fff}.town-card .tb h3{color:#fff;font-size:1.1rem;margin-bottom:4px}.town-card .tb p{font-size:.85rem;color:#d5dee9}.town-photo{margin:2px 0 28px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.town-photo img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;display:block}figure.photo{float:right;max-width:360px;margin:6px 0 22px 28px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}figure.photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}figure.photo figcaption{font-size:.82rem;color:var(--muted);padding:10px 14px;background:var(--bg-soft)}section.block::after{content:"";display:block;clear:both}.stats-strip{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);margin:-40px 24px 0;position:relative;z-index:5}.stats-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 12px}.stats-strip .wrap>div{text-align:center;padding:6px 12px}.stats-strip .wrap>div+div{border-left:1px solid var(--line)}.stats-strip b{display:block;font-family:var(--font-display);font-size:2rem;color:var(--navy);letter-spacing:-1px}.stats-strip span{color:var(--muted);font-size:.88rem;font-weight:600}.trust{background:var(--navy);border-radius:24px;padding:44px 40px;color:#fff;margin-top:8px}.trust h2{color:#fff}.trust .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px}.trust .t-item{display:flex;gap:14px;align-items:flex-start}.trust .t-item .ic{flex:none;width:46px;height:46px;border-radius:12px;background:rgba(253,87,10,.18);display:flex;align-items:center;justify-content:center}.trust .t-item .ic svg{width:22px;height:22px;color:var(--orange-soft)}.trust .t-item b{color:#fff;display:block;margin-bottom:4px}.trust .t-item p{color:#b9c6da;font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;margin-top:18px;align-items:start}.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.contact-card h3{margin-bottom:10px}.contact-card .btn.big{margin:14px 0}.contact-form label{display:block;margin-bottom:12px;font-weight:700;font-size:.92rem}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-weight:500}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue)}.contact-form textarea{resize:vertical}.cf-done .ok{width:54px;height:54px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:10px}@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}.doc-hero{background:linear-gradient(135deg,#081c3a,#0a2a52);color:#fff;padding:56px 0 44px}.doc-hero h1{margin:10px 0 8px}.doc-hero .lead{color:#c7d6ee;max-width:640px;margin:0}.doc-hero .crumbs{margin-bottom:6px}.doc-hero .crumbs a{color:#ffd9c2}.doc{max-width:760px}.doc h3{margin:26px 0 8px}.doc .num-list{list-style:none;counter-reset:terms;margin:18px 0;padding:0}.doc .num-list li{counter-increment:terms;position:relative;padding:4px 0 4px 52px;margin-bottom:14px}.doc .num-list li::before{content:counter(terms);position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:10px;background:#eef3fb;color:var(--navy);font-weight:800;display:flex;align-items:center;justify-content:center}.doc .num-list h3{margin:0 0 6px}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}.side-photo{margin:0}.side-photo img{width:100%;height:340px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}@media(max-width:860px){.split{grid-template-columns:1fr}.side-photo img{height:240px}}figure.lead-float{float:right;width:min(380px,100%);margin:4px 0 20px 28px}figure.lead-float img{height:250px}.wrap::after{content:"";display:table;clear:both}.faq{max-width:820px;margin-top:8px}.faq.two-col{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden}.faq summary{padding:18px 22px;font-weight:800;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:var(--bg-soft);color:var(--orange2);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.faq details[open] summary::after{content:"–";background:var(--orange);color:#fff}.faq .pbody{padding:0 22px 20px;color:#33475f;font-size:.96rem}.related{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;margin:34px 0}.related h3{margin:0 0 10px;font-size:1.05rem;color:var(--navy)}.related p{margin:0;display:flex;flex-wrap:wrap;gap:10px}.related a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.88rem;font-weight:700;color:var(--navy);text-decoration:none;transition:.15s var(--ease)}.related a:hover{border-color:var(--orange);color:var(--orange2);transform:translateY(-1px)}.cta-band{background:linear-gradient(120deg,var(--orange2),var(--orange) 55%,var(--orange-soft));border-radius:24px;padding:56px 48px;text-align:center;color:#fff;margin:72px 0 0;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(253,87,10,.35)}.cta-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.05) 0 14px,transparent 14px 28px);pointer-events:none}.cta-band h2{color:#fff;font-size:2rem;margin-bottom:12px;position:relative}.cta-band p{color:#ffe9d6;max-width:560px;margin:0 auto 26px;position:relative}.cta-band .btn{background:#fff;color:var(--orange2)!important;box-shadow:0 8px 24px rgba(0,0,0,.2);position:relative}.urgent{background:linear-gradient(135deg,#0a2a52,#14407e);border-left:5px solid var(--orange);border-radius:var(--radius);padding:26px 28px;margin:26px 0;box-shadow:var(--shadow)}.urgent h3{color:#fff;margin-bottom:8px;font-size:1.15rem}.urgent p{color:#c9d8ef;margin:0}.urgent a{color:#ffc79a;font-weight:800}.urgent a[href^="tel:"]{display:inline-block;background:var(--orange);color:#fff!important;padding:10px 24px;border-radius:10px;text-decoration:none;margin-top:12px;box-shadow:0 4px 14px rgba(253,87,10,.4)}.urgent a[href^="tel:"]:hover{background:var(--orange2)}footer.site{background:var(--navy3);color:#b9c6da;margin-top:0}footer.site .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-top:56px;padding-bottom:36px}footer.site h4{color:#fff;font-size:1.02rem;margin-bottom:14px}footer.site a{color:#dbe4f0;text-decoration:none;font-size:.92rem}footer.site a:hover{color:var(--orange-soft)}footer.site .hours{margin-top:12px;font-size:.88rem;line-height:1.8}footer.site .disclaimer{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:.82rem;color:#8fa0b8}footer.site .fine{grid-column:1/-1;font-size:.82rem;color:#8fa0b8;padding-bottom:8px}.crumbs{font-size:.84rem;color:var(--muted);margin:18px 0 0}.crumbs a{color:var(--navy2)}.mobile-call{display:none}#toTop{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;border:none;font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:.25s;z-index:55}#toTop.show{opacity:1;pointer-events:auto}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange-soft);outline-offset:2px}.rv{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.rv.in{opacity:1;transform:none}.js .rv{opacity:0}.js .rv.in{opacity:1}@media(max-width:960px){.split-hero{grid-template-columns:1fr;min-height:0}.sh-left{padding:56px 0}.sh-left .inner{margin:0 auto;padding:0 24px;max-width:640px}.sh-left h1{font-size:2.3rem}.sh-right{padding:40px 20px;min-height:280px}.quote-form{max-width:520px}.steps{grid-template-columns:1fr;gap:34px}.step:not(:last-child)::after{display:none}}@media(max-width:760px){.card{padding:24px 20px}.cards{gap:16px}.faq.two-col{grid-template-columns:1fr}.mobile-call{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:linear-gradient(180deg,var(--orange-soft),var(--orange) 60%,var(--orange2));color:#fff!important;font-family:var(--font-display);font-weight:800;font-size:1.1rem;padding:15px;border-radius:14px;text-decoration:none;box-shadow:0 8px 28px rgba(242,106,27,.5)}body{padding-bottom:76px}header.site{top:0}.callbar{display:none}header.site .wrap{flex-wrap:wrap}nav.main{order:3;width:100%;overflow-x:auto;padding-bottom:4px}nav.main .drop{position:static}nav.main .menu{position:absolute;left:12px;right:12px}.sh-left h1{font-size:2rem;letter-spacing:-.5px}.sh-left .lead{font-size:1.02rem}section.block{padding:48px 0}h2.sec{font-size:1.6rem}.stats-strip{margin:-30px 12px 0}.stats-strip .wrap{grid-template-columns:repeat(2,1fr)}.stats-strip .wrap>div:nth-child(3){border-left:none}.stats-strip .wrap>div:nth-child(n+3){border-top:1px solid var(--line)}.stats-strip b{font-size:1.5rem}.cta-band{padding:44px 24px;border-radius:18px}.cta-band h2{font-size:1.5rem}.btn.big{font-size:1.05rem;padding:15px 28px;width:100%}.quote-form{padding:26px 22px}figure.photo{float:none;max-width:100%;margin:18px 0 22px}footer.site .wrap{grid-template-columns:1fr;gap:26px}#toTop{bottom:84px;right:14px}nav.main a,nav.main .toplink{padding:12px 10px;font-size:.88rem;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}@media(max-width:760px){.mobile-call{display:none!important}body{padding-bottom:0}#toTop{bottom:20px;right:14px}}
/* Phase 01: scoped service-area maps; no global page redesign */
.service-area-map{padding:clamp(2.25rem,5vw,4.25rem) 1rem;background:#f6f8fa;color:#13233a}.service-area-map__wrap{max-width:1120px;margin:auto}.service-area-map h2{font-size:clamp(1.4rem,3vw,2.1rem);margin:0 0 .6rem;color:#13233a}.service-area-map p{margin:0 0 1.25rem;line-height:1.6;max-width:65ch}.service-area-map__frame{width:100%;aspect-ratio:16/7;min-height:260px;overflow:hidden;border:1px solid #dde4eb;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.06)}.service-area-map iframe{width:100%;height:100%;border:0;filter:grayscale(.7)}@media(max-width:640px){.service-area-map__frame{aspect-ratio:4/3;min-height:270px}}

/* v60: Accessible keyboard focus across shared site components */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid #d99c33;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
}

/* v58-global.css */

/* v58 global header/footer accessibility refinements */
header.site .toplink:focus-visible,header.site a:focus-visible,footer.site a:focus-visible,.mobile-call:focus-visible{outline:3px solid #f8b84e;outline-offset:3px;}
footer.site .hours{line-height:1.75;}
.contact-form #contact-status{font-weight:600;min-height:1.5em;}
.contact-form button[disabled]{opacity:.55;cursor:not-allowed;}
.contact-fallback{font-size:.94rem;line-height:1.6;margin-top:1rem;}
@media(max-width:700px){.contact-form input,.contact-form textarea{max-width:100%;}}

/* home-v59.css */
/* Homepage v59: scoped visual design; service-page CSS remains unchanged. */
.home59{font-family:Manrope,Arial,sans-serif;color:#24354a}.home59 .home59-container{width:min(1160px,calc(100% - 44px));margin:auto}.home59 .home59-section{padding:84px 0}.home59 .home59-kicker,.home59 .home59-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#b8914b;margin-bottom:16px}.home59 h1,.home59 h2,.home59 h3{letter-spacing:-.035em}.home59 .home59-section h2{font-size:clamp(29px,3vw,43px);line-height:1.18;color:#0a223e;margin:0 0 21px}.home59 .home59-section p{font-size:16px;line-height:1.8}.home59 .home59-hero{background:#081c32;color:#fff}.home59 .home59-hero-inner{min-height:590px;display:grid;grid-template-columns:56% 44%}.home59 .home59-hero-copy{padding:92px 8% 75px max(32px,calc((100vw - 1160px)/2));align-self:center}.home59 .home59-hero h1{font-family:Archivo,Arial,sans-serif;font-size:clamp(40px,4.9vw,72px);line-height:1.09;color:#fff;margin:0 0 22px}.home59 .home59-lead{font-size:19px;line-height:1.7;color:#d6e0ed;max-width:620px}.home59 .home59-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 15px}.home59 .home59-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:8px;padding:15px 23px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s;line-height:1.3}.home59 .home59-btn:hover{transform:translateY(-2px)}.home59 .home59-btn-primary{background:#d3a655;color:#0a2038}.home59 .home59-btn-outline{border:1px solid #8fa3b9;color:white;background:transparent}.home59 .home59-btn-light{background:white;color:#092744}.home59 .home59-hero-note{font-size:13px;color:#c7d5e4;line-height:1.6}.home59 .home59-mini{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.home59 .home59-mini span{font-size:12px;font-weight:700;padding:8px 12px;border:1px solid #526782;border-radius:30px;color:#e0ebf5}.home59 .home59-hero-photo{min-height:550px;position:relative;background:linear-gradient(0deg,rgba(5,22,38,.37),rgba(5,22,38,.03)),url('/assets/hero.webp') center center/cover no-repeat}.home59 .home59-photo-badge{position:absolute;bottom:34px;left:30px;right:30px;background:rgba(7,28,47,.87);padding:19px 22px;border-radius:9px;display:flex;flex-direction:column;gap:3px;color:white}.home59 .home59-photo-badge strong{font-size:18px}.home59 .home59-photo-badge span{font-size:13px;color:#d2e1f1}.home59 .home59-about-grid{display:grid;grid-template-columns:1.25fr .78fr;gap:70px;align-items:center}.home59 .home59-about-panel{padding:30px;background:#f4f6f8;border:1px solid #e1e6ec;border-top:5px solid #c39a58;border-radius:10px}.home59 .home59-about-panel span{font-weight:800;color:#112944}.home59 .home59-about-panel li{padding:7px 0}.home59 .home59-inline-cta{display:flex;flex-wrap:wrap;gap:25px;margin-top:24px;font-weight:800}.home59 .home59-inline-cta a,.home59 .home59-text-link{color:#0e527c}.home59 .home59-why{background:#0d2946}.home59 .home59-why h2,.home59 .home59-why .home59-intro{color:white}.home59 .home59-why .home59-intro{max-width:800px;opacity:.84}.home59 .home59-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}.home59 .home59-features article{background:#173957;border:1px solid #31516b;padding:26px 20px;border-radius:9px}.home59 .home59-features h3{font-size:19px;color:white;margin:16px 0 8px}.home59 .home59-features p{font-size:14px;color:#d1deeb;line-height:1.65;margin:0}.home59 .home59-feature-icon{color:#e2b76f;font-size:15px;font-weight:900}.home59 section.block{padding:80px 0}.home59 section.block h2.sec{font-size:clamp(29px,3vw,43px);color:#0a223e}.home59 section.block .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home59 section.block .card{border:1px solid #e0e6ed;border-radius:10px;box-shadow:0 9px 22px rgba(12,29,49,.06);padding:24px;background:white}.home59 section.block .card h3{font-size:19px}.home59 section.block .card p{line-height:1.7}.home59 section.block.alt{background:#f5f7fa}.home59 .home59-contact{background:#f4f7fa}.home59 .home59-contact-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:58px;align-items:center}.home59 .home59-contact-details{display:flex;flex-direction:column;gap:7px;margin-top:24px}.home59 .home59-contact-details strong{font-size:26px;color:#0e3150}.home59 .home59-contact-details span{font-size:13px;color:#56677a}.home59 .home59-contact-panel{background:white;border:1px solid #e3e9ed;border-radius:12px;padding:34px;box-shadow:0 16px 40px rgba(12,40,65,.09);display:flex;align-items:flex-start;flex-direction:column;gap:12px}.home59 .home59-contact-panel h3{font-size:23px;margin:0}.home59 .home59-contact-panel p{margin:0 0 12px}.home59 .home59-final{background:#0a223e;padding:55px 0;color:white}.home59 .home59-final-row{display:flex;align-items:center;justify-content:space-between;gap:35px}.home59 .home59-final-row>div{max-width:750px}.home59 .home59-final h2{color:white;font-size:clamp(29px,3vw,41px);margin:0 0 12px}.home59 .home59-final p{color:#d6e2ed;font-size:15px;line-height:1.7}.home59 .home59-final .home59-btn{flex-shrink:0}.home59 section.service-area-map{margin:0 auto;padding-top:60px;padding-bottom:60px}@media(max-width:980px){.home59 .home59-hero-inner{grid-template-columns:1fr}.home59 .home59-hero-copy{padding:70px 6%}.home59 .home59-hero-photo{min-height:320px}.home59 .home59-about-grid,.home59 .home59-contact-grid{grid-template-columns:1fr;gap:26px}.home59 .home59-features{grid-template-columns:repeat(2,1fr)}.home59 section.block .cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.home59 .home59-container{width:min(100% - 30px,1160px)}.home59 .home59-section,.home59 section.block{padding:55px 0}.home59 .home59-hero-copy{padding:55px 22px}.home59 .home59-hero h1{font-size:38px}.home59 .home59-lead{font-size:16px}.home59 .home59-hero-photo{min-height:240px}.home59 .home59-features,.home59 section.block .cards{grid-template-columns:1fr}.home59 .home59-final-row{display:block}.home59 .home59-final .home59-btn{margin-top:10px}.home59 .home59-actions .home59-btn{width:100%}.home59 .home59-contact-panel{padding:23px}}

/* v66-visual.css */
.home59 .home66-service-card{padding:0;overflow:hidden}.home59 .home66-service-card .home66-service-image{display:block;width:100%;height:180px;object-fit:cover;object-position:center;border-bottom:1px solid #e3e9f2}.home59 .home66-service-card h3,.home59 .home66-service-card p,.home59 .home66-service-card a.more{margin-left:22px;margin-right:22px}.home59 .home66-service-card h3{margin-top:18px}.home59 .home66-service-card a.more{margin-bottom:18px;align-self:flex-start}.home59 .home66-service-card:focus-within{outline:3px solid #d3a655;outline-offset:3px}@media(max-width:760px){.home59 .home66-service-card .home66-service-image{height:200px}}
/* Lighthouse contrast and footer heading */
body.home59 .home59-kicker{color:#763708}
body.home59 .card a.more{color:#994000}
body.home59 .home59-contact .home59-kicker{color:#78350f}
footer.site h2{color:#fff;font-size:1.02rem;margin-bottom:14px;letter-spacing:normal}


@media(max-width:620px){.home59 .home59-hero-photo{background-image:linear-gradient(0deg,rgba(5,22,38,.37),rgba(5,22,38,.03)),url('/assets/hero-sm.webp')}}
/* ==== v74-header-cta.css ==== */
/* v74 compact unified navigation, navy/cream/gold with a restrained orange accent */
:root{--orange:#d8a446;--orange2:#96650a;--orange-soft:#f4d990}
.callbar{position:relative!important;top:auto!important;background:#0a2038!important;font-size:.79rem}
.callbar .wrap{padding-top:4px!important;padding-bottom:4px!important;min-height:29px}
.callbar .btn{padding:5px 12px!important;font-size:.78rem!important}
header.site{position:sticky!important;top:0!important;background:#fffdf7!important;border-bottom:1px solid #e8dcc4!important;z-index:80}
header.site .wrap{max-width:1280px!important;padding-top:8px!important;padding-bottom:8px!important;min-height:64px;gap:16px}
header.site .brand{flex:0 0 auto;font-size:1.15rem!important;white-space:nowrap}
header.site .brand span{color:#96650a!important}
header.site .brand .mark{color:#96650a!important;width:29px;height:29px}
header.site nav.main{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex:1;min-width:0}
header.site nav.main a,header.site nav.main .toplink{font-size:.85rem!important;padding:8px 9px!important;white-space:nowrap}
header.site nav.main .menu{min-width:270px!important;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:10px!important;border:1px solid #ded0ac;box-shadow:0 16px 38px rgba(9,30,52,.16)}
header.site nav.main .menu a{white-space:normal!important;line-height:1.35;padding:11px 13px!important}
header.site .header-call{background:#ebc56b;color:#14283f!important;border-radius:9px;font-weight:800!important;flex-shrink:0;box-shadow:0 2px 7px rgba(112,70,4,.13);padding:10px 14px!important;text-decoration:none;white-space:nowrap}
header.site .header-call:hover{background:#f7d989;color:#102238!important}
header.site .dropbtn[aria-expanded=true]+.menu{display:block}
/* CTA consistency */
.btn:not(.ghost),.mobile-call,.home59 .home59-btn-primary{background:#e8bf63!important;color:#14283f!important;border-color:#e2b456!important;text-shadow:none!important}
.btn:not(.ghost):hover,.home59 .home59-btn-primary:hover{background:#f5d687!important}
.home59 .home59-kicker{color:#8a510d!important}
.home59 .home59-why .home59-kicker,.home59 .home59-final .home59-kicker{color:#ffe2a2!important}
.home59 .home59-final .home59-btn-light{background:#f6dfab!important;color:#10253d!important}
/* contrast-conscious link color */
.card a.more{color:#92500b!important}
/* Floating CTA: unobtrusive desktop pill; safe-area aware mobile bottom bar */
a.v74-float-call{position:fixed;right:18px;bottom:20px;z-index:85;background:#e9c267;color:#132842!important;border:2px solid #fff4d1;border-radius:50px;box-shadow:0 7px 27px rgba(8,30,55,.25);padding:12px 19px;font:800 14px Manrope,Arial,sans-serif;text-decoration:none;display:flex;gap:8px;align-items:center}
a.v74-float-call:hover{background:#f7dda0}
@media(max-width:1180px){header.site .wrap{gap:8px;padding-left:14px;padding-right:14px}header.site nav.main a,header.site nav.main .toplink{padding:7px 6px!important;font-size:.78rem!important}header.site .brand{font-size:1.02rem!important}header.site .header-call{padding:9px 10px!important;font-size:.78rem!important}}
@media(max-width:900px){.callbar{display:none!important}header.site .wrap{flex-wrap:wrap;min-height:0;padding-top:8px!important;padding-bottom:6px!important}header.site nav.main{order:3;flex-basis:100%;width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:visible;min-height:43px;gap:4px}header.site .header-call{margin-left:auto}header.site nav.main .drop{position:static}header.site nav.main .menu{position:absolute;left:12px!important;right:12px!important;max-width:calc(100vw - 24px);width:auto;z-index:99}a.v74-float-call{right:10px;left:10px;bottom:max(9px,env(safe-area-inset-bottom));justify-content:center;border-radius:13px;padding:13px 18px;font-size:15px}body{padding-bottom:69px!important}#toTop{bottom:80px!important}}
@media(max-width:420px){header.site .brand{font-size:1rem!important}header.site .header-call{font-size:.75rem!important;padding:8px!important}}

/* ==== v75-mobile-cta.css ==== */
/* Keep only one persistent Call CTA on mobile. Preserve in-content CTAs. */
@media (max-width: 900px) {
 header.site .header-call { display: none !important; }
 .callbar { display: none !important; }
 .mobile-call { display: none !important; }
 a.v74-float-call { display: flex !important; }
}

/* merged from cta-hierarchy-v2.css */
/* CTA hierarchy v1 — sitewide. One dominant call action per viewport:
   - callbar: keeps its 24/7 message; the duplicate gold pill becomes a quiet
     gold text link (.callbar-tel)
   - floating call pill appears only after scrolling past the hero (~600px),
     instead of duplicating the hero CTA on page load */
.callbar-tel{color:#e9c267;font-weight:800;text-decoration:none;white-space:nowrap;font-size:.95rem}
.callbar-tel:hover{text-decoration:underline}
.v74-float-call{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.v74-float-call.show{opacity:1;visibility:visible;transform:none}

/* Card image shape v1 — uniform 3:2 landscape for .card.pic images (kills tall portrait crop) */
.card.pic>img{aspect-ratio:3/2;height:auto;object-fit:cover}

/* merged from footer-v1.css */
/* Footer UI v1 — pro hierarchy: quiet uppercase headings, real link lists
   with hover motion, footer call button, clean fine print bar. */
footer.site{background:linear-gradient(180deg,#0b2547 0%,#081c38 100%)}
footer.site .wrap{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-top:60px;padding-bottom:30px}
footer.site h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#93a5bf;margin:0 0 16px;font-weight:700}
footer.site ul.flink{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
footer.site ul.flink a{font-size:.93rem;color:#d7e1f0;text-decoration:none;display:inline-block;transition:color .15s ease,transform .15s ease}
footer.site ul.flink a:hover{color:#f0b429;transform:translateX(4px)}
.footer-call{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:11px 20px;border:1px solid rgba(240,180,41,.55);border-radius:10px;color:#f0b429!important;font-weight:800;font-size:.95rem;text-decoration:none;transition:background .15s ease}
.footer-call:hover{background:rgba(240,180,41,.12)}
footer.site .finebar{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);margin-top:8px;padding-top:22px}
footer.site .disclaimer{border-top:none;padding-top:0;font-size:.8rem;color:#8fa0b8;line-height:1.7;margin:0 0 14px}
footer.site .fine{font-size:.8rem;color:#8fa0b8;margin:0;padding-bottom:6px}
@media(max-width:760px){
  footer.site .wrap{grid-template-columns:1fr;gap:30px;padding-top:44px}
  .footer-call{width:100%;justify-content:center;box-sizing:border-box}
}

/* merged from home-cta-v4.css */
/* Homepage CTA hierarchy v1 — one dominant action per viewport.
   Demotes the secondary "Explore" button to a quiet text link and turns the
   photo badge from a promo-looking card into a subtle caption chip. */
.home59-actions{display:block;margin:26px 0 14px}
.home59-browse{margin:12px 0 0;font-size:.95rem;color:#c7d3e0}
.home59-browse a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.home59-browse a:hover{color:var(--orange2)}
.home59-photo-badge{left:16px;right:auto;bottom:16px;max-width:300px;padding:10px 15px;background:rgba(7,28,47,.72);gap:2px}
.home59-photo-badge strong{font-size:14px}
.home59-photo-badge span{font-size:12.5px;opacity:.85}
@media(max-width:980px){
  .home59-photo-badge{left:12px;bottom:12px;max-width:250px}
}

/* Problems cards v1 — same card format, visually separated from service image-cards */
.block.problems{background:#f2f6fb}
.card.problem-card{border-left:4px solid #f0b429}
.card.problem-card h3::before{content:"\26a0";color:#d9930d;margin-right:8px;font-size:.95em}
