
:root{--navy:#071b33;--navy2:#0d2b4e;--blue:#1769e0;--orange:#f36b21;--orange2:#d95513;--ink:#102033;--muted:#5e6c7d;--line:#dfe5eb;--soft:#f5f8fb;--white:#fff;--green:#167847;--gold:#f8c24e;--max:1180px;--shadow:0 18px 55px rgba(7,27,51,.12);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;font-size:16px}img{max-width:100%;display:block}a{color:inherit}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.topbar{background:#061426;color:#cbd7e4;font-size:13px}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.topbar a{color:#fff;text-decoration:none}.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(7,27,51,.05)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{height:auto;width:210px;max-height:76px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:750}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--blue)}.header-cta{display:flex;gap:10px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:13px 19px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.18s ease;cursor:pointer;font:inherit}.btn:hover{transform:translateY(-1px)}.btn-orange{background:var(--orange);color:#fff;box-shadow:0 10px 25px rgba(243,107,33,.22)}.btn-orange:hover{background:var(--orange2)}.btn-blue{background:var(--blue);color:#fff}.btn-outline{border-color:#cbd5df;background:#fff;color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}.hero{background:radial-gradient(circle at 75% 10%,rgba(23,105,224,.22),transparent 35%),linear-gradient(135deg,#061426,#0d2d50 62%,#123b67);color:#fff;padding:74px 0 68px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:800;color:#dce9f7}.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.035em;margin:16px 0 20px}.hero p{font-size:19px;color:#d2deea;max-width:690px;margin:0 0 26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;color:#dce9f7;font-size:14px}.hero-proof b{color:#fff}.hero-card{background:#fff;border-radius:22px;padding:24px;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.28)}.hero-card h3{font-size:24px;margin:0 0 5px}.hero-card p{font-size:14px;color:var(--muted);margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid .full{grid-column:1/-1}.lead-form label{display:block;font-size:12px;font-weight:800;margin:0 0 5px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #ccd6e0;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}.lead-form textarea{resize:vertical}.lead-form .btn{width:100%;margin-top:2px}.form-note{font-size:11px!important;margin:9px 0 0!important;color:#748294!important}.status{font-size:12px;margin-top:8px}.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:21px 18px;text-align:center;border-right:1px solid var(--line);font-weight:800;color:var(--navy)}.trust-item:last-child{border-right:0}.trust-item span{display:block;font-size:12px;color:var(--muted);font-weight:650;margin-top:2px}.section{padding:78px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--navy);color:#fff}.section.dark p,.section.dark .section-lede{color:#c7d5e3}.section-head{max-width:790px;margin-bottom:32px}.kicker{text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:900;color:var(--orange);margin-bottom:9px}.section h2{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.025em;margin:0 0 13px}.section-lede{font-size:18px;color:var(--muted);margin:0}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.service-card,.area-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;box-shadow:0 7px 30px rgba(7,27,51,.04);transition:.18s}.service-card:hover,.area-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b7cee9}.icon{width:43px;height:43px;border-radius:12px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:18px}.service-card h3,.area-card h3,.info-card h3{margin:0 0 8px;font-size:20px}.service-card p,.area-card p,.info-card p{margin:0;color:var(--muted)}.link{display:inline-block;margin-top:15px;color:var(--blue);font-weight:800}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.problem{border:1px solid var(--line);border-radius:14px;padding:19px;background:#fff;text-decoration:none;font-weight:800}.problem small{display:block;color:var(--muted);font-weight:600;margin-top:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{margin:11px 0;padding-left:28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.photo-panel{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#dce6ef;min-height:440px}.photo-panel img{width:100%;height:100%;min-height:440px;object-fit:cover}.google-box{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:24px}.google-brand{font-weight:900;font-size:22px}.stars{letter-spacing:2px;color:#f4b400}.steps{counter-reset:step}.step{position:relative;padding:24px 24px 24px 72px;background:#fff;border:1px solid var(--line);border-radius:16px}.step:before{counter-increment:step;content:counter(step);position:absolute;left:22px;top:22px;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.brands{display:flex;flex-wrap:wrap;gap:10px}.brand-pill{padding:10px 15px;border-radius:999px;border:1px solid var(--line);font-weight:800;background:#fff}.cta-band{background:linear-gradient(135deg,var(--blue),#0e4da8);color:#fff;border-radius:24px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta-band h2{margin:0 0 8px;color:#fff}.cta-band p{margin:0;color:#dbe9ff}.page-hero{padding:56px 0;background:linear-gradient(135deg,#071b33,#0e3258);color:#fff}.breadcrumbs{font-size:13px;color:#a8bfd5;margin-bottom:15px}.breadcrumbs a{color:#dce9f7;text-decoration:none}.page-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.05;margin:0 0 15px;letter-spacing:-.03em}.page-hero p{font-size:19px;color:#cfdeec;max-width:760px}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:40px;align-items:start}.sidebar{position:sticky;top:105px}.toc{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--soft)}.toc a{display:block;padding:7px 0;color:var(--navy);text-decoration:none;font-weight:700;font-size:14px}.prose h2{font-size:32px;margin:45px 0 14px}.prose h3{font-size:22px;margin:28px 0 10px}.prose p,.prose li{color:#3f5063}.prose ul{padding-left:22px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:850;cursor:pointer;list-style:none}.faq summary:after{content:"+";float:right;color:var(--orange);font-size:20px}.faq details[open] summary:after{content:"–"}.area-list{display:flex;flex-wrap:wrap;gap:8px}.area-list span,.area-list a{background:#eef4fa;border:1px solid #d7e2ed;border-radius:999px;padding:7px 12px;text-decoration:none;font-size:13px;font-weight:750;color:var(--navy)}.door-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.door-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.door-gallery img{aspect-ratio:1/1;object-fit:cover;width:100%}.door-gallery figcaption{padding:9px 11px;font-size:12px;font-weight:750}.footer{background:#061426;color:#b9c9d9;padding:58px 0 100px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.footer img{width:210px;height:auto;max-height:82px;object-fit:contain;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.95}.footer h4{color:#fff;margin:0 0 12px}.footer a{display:block;color:#c5d3e0;text-decoration:none;margin:7px 0}.footer p{color:#9eb2c6}.footer-bottom{border-top:1px solid rgba(255,255,255,.11);margin-top:34px;padding-top:18px;font-size:12px;color:#849bb0}.mobile-bar{display:none}.notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:15px;color:#7c3f0b}.mini-cta{background:#eef6ff;border:1px solid #cfe1f6;border-radius:16px;padding:20px}.mini-cta h3{margin-top:0}.content-image{border-radius:18px;overflow:hidden;margin:28px 0;max-height:480px}.content-image img{width:100%;height:480px;object-fit:cover}
@media(max-width:980px){.navlinks{display:none}.hero-grid,.split,.content-wrap{grid-template-columns:1fr}.hero-card{max-width:650px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.problem-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.sidebar{position:static}.door-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){body{padding-bottom:66px}.topbar .container{justify-content:center}.topbar .right{display:none}.site-header .nav{height:72px}.brand img{width:155px;max-height:58px}.header-cta .btn-outline{display:none}.header-cta .btn{padding:10px 12px;font-size:13px}.hero{padding:48px 0}.hero h1{font-size:42px}.hero p{font-size:17px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section{padding:58px 0}.grid-3,.grid-4,.problem-grid{grid-template-columns:1fr}.google-box,.cta-band{display:block}.google-box .btn,.cta-band .btn{margin-top:18px}.footer-grid{grid-template-columns:1fr}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.12)}.mobile-bar a{text-align:center;padding:15px 8px;text-decoration:none;font-weight:900}.mobile-bar .call{background:var(--navy);color:#fff}.mobile-bar .quote{background:var(--orange);color:#fff}.door-gallery{grid-template-columns:repeat(2,1fr)}.content-image img{height:300px}}

/* Final responsive + accessibility improvements */
.mobile-menu-toggle{display:none;font:inherit;font-weight:800;border:1px solid #cbd5e1;background:#fff;border-radius:11px;color:#0b1b31;padding:10px 14px;cursor:pointer}
.mobile-menu[hidden]{display:none!important}.mobile-menu{display:none;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 12px 22px rgba(3,16,38,.12);padding:8px max(20px,calc((100% - 1200px)/2)) 16px}
.mobile-menu a{display:block;padding:12px 9px;border-bottom:1px solid #edf2f7;color:#0b1b31;text-decoration:none;font-weight:700}
.mobile-menu a:hover,.mobile-menu a:focus-visible{background:#eff6ff;color:#1258a7}
:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
@media(max-width:980px){.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.mobile-menu:not([hidden]){display:block}.site-header .nav{gap:10px}.header-cta{margin-left:auto}}
@media(max-width:650px){.mobile-menu-toggle{font-size:12px;padding:10px 9px}.header-cta .btn{padding:10px 9px}.brand img{max-width:133px;max-height:68px;object-fit:contain}.hero h1{font-size:clamp(31px,8vw,42px);line-height:1.12}.hero-card{scroll-margin-top:90px}.mobile-menu a{padding:12px 18px}.site-header .nav{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== SEO rebuild components (2026-10) ===== */
.grid-2{grid-template-columns:repeat(2,1fr)}
/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 7px 30px rgba(7,27,51,.04);display:flex;flex-direction:column}
.review .stars{letter-spacing:2px;color:#f4b400;font-size:17px;margin-bottom:9px}
.review p{margin:0 0 14px;color:#3f5063}
.review .who{margin-top:auto;font-weight:800;color:var(--navy)}
.review .who span{display:block;font-weight:600;color:var(--muted);font-size:13px}
.review-source{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;font-weight:700;color:var(--muted)}
.review-source b{color:#4285F4}
.reviews-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.reviews-score{font-size:40px;font-weight:900;color:var(--navy);line-height:1}
.reviews-score small{display:block;font-size:13px;font-weight:700;color:var(--muted)}
/* Recent work / jobs */
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.job{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 7px 30px rgba(7,27,51,.04)}
.job>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dce6ef}
.job-body{padding:16px 18px}
.job-body h3{margin:0 0 6px;font-size:17px}
.job-body p{margin:0 0 8px;color:var(--muted);font-size:14px}
.job-tag{display:inline-block;background:#eaf3ff;color:#1258a7;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800;margin-bottom:10px}
.job-body .link{margin-top:4px}
/* Before / after */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:14px;overflow:hidden}
.ba figure{margin:0;position:relative}
.ba img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#dce6ef}
.ba figcaption{position:absolute;top:10px;left:10px;background:rgba(7,27,51,.85);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:6px}
/* Comparison table */
.compare{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.compare th,.compare td{border:1px solid var(--line);padding:12px 13px;text-align:left;vertical-align:top}
.compare th{background:var(--soft);font-weight:800;color:var(--navy)}
.compare td:first-child{font-weight:700;color:var(--navy);width:34%}
/* Stat proof row */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}
.stat b{display:block;font-size:26px;color:var(--navy);line-height:1.1}
.stat span{font-size:13px;color:var(--muted);font-weight:700}
/* Visible placeholder marker (never shipped as real content) */
.placeholder{outline:2px dashed #f59e0b;outline-offset:3px;background:#fff7ed!important}
.placeholder-note{display:inline-block;background:#f59e0b;color:#231200;font-size:11px;font-weight:900;letter-spacing:.04em;padding:3px 8px;border-radius:6px;margin-bottom:10px;text-transform:uppercase}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}.reviews{grid-template-columns:1fr 1fr}.jobs{grid-template-columns:1fr 1fr}.stats-row{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.reviews,.jobs{grid-template-columns:1fr}.ba{grid-template-columns:1fr}.reviews-score{font-size:34px}}
