.top-bar{background:#061222;color:#fff;padding:0;font-family:var(--f-ui,"Source Sans 3",sans-serif);font-size:11.5px;line-height:1.1;overflow:hidden;position:relative;border-bottom:1px solid rgba(255,255,255,.06)}.top-bar::before,.top-bar::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}.top-bar::before{left:0;background:linear-gradient(90deg,#061222 0%,rgba(6,18,34,0) 100%)}.top-bar::after{right:0;background:linear-gradient(270deg,#061222 0%,rgba(6,18,34,0) 100%)}.tb-marquee{display:flex;width:max-content;animation:tbScroll 48s linear infinite;will-change:transform}.top-bar:hover .tb-marquee{animation-play-state:paused}.tb-track{display:flex;align-items:center;flex-shrink:0;padding:5px 0}.tb-item{display:inline-flex;align-items:center;gap:8px;padding:0 26px;white-space:nowrap;color:rgba(255,255,255,.95);letter-spacing:.3px}.tb-item strong{color:#fff;font-weight:700;letter-spacing:.4px}.tb-item-dot{width:4px;height:4px;border-radius:50%;background:var(--red,#c41e23);flex-shrink:0;display:inline-block}.tb-item-star{color:var(--red,#c41e23);font-size:13px;line-height:1}@keyframes tbScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (max-width:768px){.top-bar{font-size:12px}.tb-item{padding:0 18px;gap:6px}.tb-marquee{animation-duration:36s}.top-bar::before,.top-bar::after{width:32px}}@media (prefers-reduced-motion:reduce){.tb-marquee{animation:none}.top-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}}.tb-left,.tb-right,.tb-phone,.tb-btn,.tb-pulse,.tb-text{display:none !important}:root{--navy:#0a0f16;--navy-mid:#121a26;--navy-deep:#070b11;--red:#4B9CD3;--red-dark:#3d84b8;--red-light:#7BAFD4;--red-rgb:75,156,211;--blue:#13294B;--blue-light:#7BAFD4;--cream:#f4f6f8;--cream-warm:#eef2f6;--border:#e2e6ea;--border-light:#eaeef2;--text:#1a1e25;--muted:#5a6070;--muted-light:#8a8f99;--f-display:"Oswald","Helvetica Neue",Arial,sans-serif;--f-body:"Lora",Georgia,"Times New Roman",serif;--f-ui:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--pad-x:48px;--pad-y:72px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0 0 60px;font-family:var(--f-body);color:var(--text);line-height:1.65;font-size:16px;background:#fff;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;height:auto;display:block}a{color:var(--red);text-decoration:none}a:hover{color:var(--red-dark)}button{font-family:inherit;cursor:pointer}*:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:2px}.section-navy *:focus-visible,.hero *:focus-visible,.cta-banner *:focus-visible,.top-bar *:focus-visible,footer *:focus-visible,.sticky-cta *:focus-visible,.page-header *:focus-visible{outline-color:var(--red-light)}h1,h2,h3,h4,h5,h6{font-family:var(--f-display);font-weight:700;letter-spacing:.3px;margin:0 0 16px;color:var(--navy);line-height:1.15}h1{font-size:clamp(34px,5vw,54px)}h2{font-size:clamp(28px,3.6vw,40px)}h3{font-size:clamp(20px,2.4vw,26px)}h4{font-size:18px}p{margin:0 0 14px}.section,.section-alt,.section-navy{padding:var(--pad-y) var(--pad-x)}.section-alt{background:var(--cream)}.section-navy{background:var(--navy);color:#fff}.section-navy h1,.section-navy h2,.section-navy h3,.section-navy h4{color:#fff}.wrap{max-width:1280px;margin:0 auto}.sk,.sk-lite{font-family:var(--f-display);font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--red);margin-bottom:12px}.sk-lite{color:var(--red-light)}.st,.sec-title{font-family:var(--f-display);font-size:clamp(28px,3.6vw,40px);font-weight:700;color:var(--navy);line-height:1.15;margin:0 0 14px}.st-w,.sec-title-w{font-family:var(--f-display);font-size:clamp(28px,3.6vw,40px);font-weight:700;color:#fff;line-height:1.15;margin:0 0 14px}.ss,.sec-sub{font-family:var(--f-body);font-size:17px;color:var(--muted);max-width:720px;margin:0 0 36px}.section-navy .ss,.section-navy .sec-sub{color:rgba(255,255,255,.92)}.btn-primary,.btn-outline,.nav-cta,.svc-link,.fs-btn,.cb-btn,.tb-btn{display:inline-block;font-family:var(--f-display);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;padding:14px 24px;border-radius:2px;border:0;text-decoration:none;transition:background .15s,color .15s,transform .15s}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);color:#fff}.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.82)}.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}.top-bar{background:var(--navy-deep);color:#fff;padding:8px var(--pad-x);display:flex;align-items:center;justify-content:space-between;font-family:var(--f-ui);font-size:13px}.tb-left{display:flex;align-items:center;gap:10px}.tb-pulse{width:9px;height:9px;border-radius:50%;background:var(--red)}.tb-text{color:rgba(255,255,255,.95);letter-spacing:.3px}.tb-right{display:flex;align-items:center;gap:16px}.tb-phone{color:#fff;font-weight:600;letter-spacing:.3px}.tb-btn{background:var(--red);color:#fff;padding:7px 14px;font-size:11px}.tb-btn:hover{background:var(--red-dark);color:#fff}nav.main-nav{background:#fff;border-bottom:1px solid var(--border);padding:14px var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(13,31,53,.04)}.logo-wrap{display:flex;align-items:center}.logo-img{height:54px;width:auto}.nav-links{display:flex;align-items:center;gap:22px;flex:1;justify-content:center}.nav-links a{font-family:var(--f-display);font-weight:500;font-size:14px;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);padding:6px 0;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a.active{color:var(--red);border-bottom-color:var(--red)}.nav-dropdown{position:relative}.nav-dropdown-toggle{background:none;border:0;cursor:pointer;font-family:var(--f-display);font-weight:500;font-size:14px;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);padding:6px 0}.nav-dropdown-toggle:hover{color:var(--red)}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);min-width:240px;padding:8px 0;box-shadow:0 8px 28px rgba(13,31,53,.12);z-index:110}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:9px 18px;font-size:13px;letter-spacing:.8px;border-bottom:0}.nav-dropdown-menu a:hover{background:var(--cream);color:var(--red);border-bottom:0}.nav-right{display:flex;align-items:center;gap:14px}.nav-phone{font-family:var(--f-display);font-weight:700;color:var(--navy);font-size:16px;letter-spacing:.5px}.nav-phone:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff;padding:10px 18px;font-size:12px}.nav-cta:hover{background:var(--red-dark);color:#fff}.mobile-nav-toggle{display:none;background:none;border:0;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;padding:0}.mobile-nav-toggle span{display:block;width:26px;height:2px;background:var(--navy);border-radius:2px}.mobile-nav-open{display:none;position:fixed;top:0;left:0;right:0;background:var(--navy);padding:80px 32px 32px;z-index:90;flex-direction:column;gap:8px;max-height:100vh;overflow-y:auto}.mobile-nav-open.is-open{display:flex}.mobile-nav-open a{font-family:var(--f-display);font-weight:500;font-size:18px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.mobile-nav-open a.mn-sub{font-size:14px;padding:8px 0 8px 16px;color:rgba(255,255,255,.88);letter-spacing:.8px}.mobile-nav-close{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:32px;line-height:1}.anchor-strip{background:var(--navy-mid);padding:12px var(--pad-x);display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}.anchor-strip::-webkit-scrollbar{display:none}.anchor-strip a{flex:0 0 auto;font-family:var(--f-display);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.92);white-space:nowrap;padding:4px 2px;border-bottom:2px solid transparent}.anchor-strip a:hover{color:#fff;border-bottom-color:var(--red)}.hero{position:relative;background:var(--navy-deep);color:#fff;padding:60px var(--pad-x);overflow:hidden;isolation:isolate;min-height:640px;display:flex;align-items:center;contain:layout paint}.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient( 90deg,rgba(6,18,34,.80) 0%,rgba(13,31,53,.70) 30%,rgba(18,40,68,.38) 60%,rgba(18,40,68,.14) 85%,rgba(18,40,68,.04) 100% ),linear-gradient( 180deg,rgba(6,18,34,.14) 0%,transparent 30%,transparent 70%,rgba(6,18,34,.22) 100% )}.hero-inner{position:relative;z-index:1;max-width:1280px;width:100%;margin:0}.hero-content{max-width:640px}.hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:7px 14px;border-radius:99px;margin-bottom:22px;font-family:var(--f-ui);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hb-dot{width:8px;height:8px;border-radius:50%;background:var(--red)}.hb-text{color:rgba(255,255,255,.95)}.hero h1{color:#fff;font-size:clamp(36px,5.4vw,62px);font-weight:700;margin:0 0 18px;line-height:1.06;letter-spacing:.3px;text-shadow:0 2px 16px rgba(0,0,0,.45)}.hero h1 em{display:block;color:var(--red-light);font-style:normal;font-size:.62em;margin-top:10px;font-weight:500;text-shadow:0 2px 12px rgba(0,0,0,.55)}.hero-sub{font-family:var(--f-body);font-size:18px;color:rgba(255,255,255,.95);margin:0 0 24px;max-width:580px;text-shadow:0 1px 8px rgba(0,0,0,.45)}.trust-row{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:22px}.tbadge{display:inline-block;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);padding:6px 12px;border-radius:4px;font-family:var(--f-ui);font-size:13px;color:rgba(255,255,255,.95);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.hero-credentials{display:flex;align-items:center;gap:18px;margin:22px 0 28px;flex-wrap:wrap}.hero-credentials img{display:block;height:88px;width:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}.hero-credentials .hc-copy{font-family:var(--f-ui);font-size:13px;line-height:1.5;color:rgba(255,255,255,.95);max-width:320px;text-shadow:0 1px 6px rgba(0,0,0,.5)}.hero-credentials .hc-copy strong{font-family:var(--f-display);font-size:15px;letter-spacing:.5px;color:#fff;display:block;margin-bottom:2px}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}.lead-section{background:var(--cream-warm);padding:80px var(--pad-x);position:relative;border-bottom:1px solid var(--border-light)}.lead-section::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.lead-wrap{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:start}.lead-copy{padding-top:6px}.lead-section .ls-kicker{font-family:var(--f-display);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:14px}.lead-section h2{font-family:var(--f-display);font-size:clamp(34px,4.4vw,56px);color:var(--navy);margin:0 0 18px;line-height:1.04;letter-spacing:-.5px;text-transform:uppercase;min-height:130px}.lead-section h2 .ls-h2-line2{display:block}.lead-section .ls-sub{font-family:var(--f-body);font-size:17px;line-height:1.6;color:var(--text);margin:0 0 28px;max-width:560px}.lead-checklist{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:14px}.lead-checklist li{display:flex;align-items:flex-start;gap:14px;font-family:var(--f-ui);font-size:15px;line-height:1.45;color:var(--text)}.lead-checklist .lc-check{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;margin-top:1px}.lead-checklist .lc-check svg{width:13px;height:13px;display:block}.lead-call-strip{margin-top:32px;padding:18px 22px;background:var(--navy);color:#fff;border-radius:6px;display:flex;align-items:center;gap:16px;max-width:560px}.lead-call-strip .lcs-icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.10);display:inline-flex;align-items:center;justify-content:center}.lead-call-strip .lcs-icon svg{width:20px;height:20px;fill:#fff}.lead-call-strip .lcs-body{flex:1}.lead-call-strip .lcs-label{font-family:var(--f-display);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:2px}.lead-call-strip .lcs-phone{font-family:var(--f-display);font-size:22px;color:#fff;text-decoration:none;letter-spacing:.5px;display:block;line-height:1.1}.lead-call-strip .lcs-phone:hover{color:var(--red-light)}.lead-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:36px 36px;box-shadow:0 14px 40px rgba(13,31,53,.10);text-align:left}.lead-card-header{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--border-light)}.lead-card-header h3{font-family:var(--f-display);font-size:22px;color:var(--navy);margin:0 0 4px;letter-spacing:.3px}.lead-card-header p{font-family:var(--f-body);font-style:italic;font-size:14px;color:var(--muted);margin:0}@media (max-width:1024px){.lead-wrap{grid-template-columns:1fr;gap:40px;max-width:760px}.lead-section h2{font-size:clamp(30px,6vw,44px)}}@media (max-width:768px){.lead-section{padding:52px 20px}.lead-card{padding:24px 22px}.lead-call-strip{padding:14px 16px;gap:12px}.lead-call-strip .lcs-icon{width:38px;height:38px}.lead-call-strip .lcs-phone{font-size:19px}}.hero-form{background:#fff;border-radius:6px;padding:28px;color:var(--text);box-shadow:0 18px 60px rgba(0,0,0,.35);position:relative;z-index:2}.hero-form h3{margin:0 0 6px;font-size:24px;letter-spacing:.5px;color:var(--navy)}.hero-form .hf-sub{font-family:var(--f-body);font-style:italic;font-size:14px;color:var(--muted);margin:0 0 18px}.lead-form{font-family:var(--f-ui)}.lead-form label{display:block;margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--navy);text-transform:uppercase}.lead-form input,.lead-form textarea,.lead-form select{display:block;width:100%;margin-top:6px;padding:11px 12px;font-family:var(--f-ui);font-size:15px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:3px;text-transform:none;letter-spacing:0;font-weight:400}.lead-form input:focus,.lead-form textarea:focus,.lead-form select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(var(--red-rgb),.12)}.lead-form textarea{resize:vertical;min-height:86px}.next-btn,.submit-btn,.back-btn{font-family:var(--f-display);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;padding:13px 22px;border-radius:3px;border:0;cursor:pointer;margin-top:6px}.next-btn,.submit-btn{background:var(--red);color:#fff;width:100%}.next-btn:hover,.submit-btn:hover{background:var(--red-dark)}.back-btn{background:transparent;color:var(--muted);border:1px solid var(--border)}.back-btn:hover{color:var(--navy);border-color:var(--navy)}.form-step-actions{display:flex;gap:10px;align-items:stretch;margin-top:6px}.form-step-actions .submit-btn{flex:1}.hc-note{margin:12px 0 0;font-family:var(--f-body);font-style:italic;font-size:13px;color:var(--muted);text-align:center}.hc-error{margin-top:14px;padding:10px 12px;background:#fdecea;color:#9a181c;border-radius:3px;font-size:13px}.form-progress{margin-bottom:18px}.form-progress-label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:600}.form-progress-hint{color:var(--red)}.form-progress-bar{height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.form-progress-fill{height:100%;background:var(--red);width:50%;transition:width .25s}.form-step[hidden]{display:none}.form-step{display:block}._gotcha{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0}.proof-bar{background:var(--navy);color:#fff;padding:32px var(--pad-x);display:grid;grid-template-columns:repeat(4,auto) 1fr auto;gap:28px;align-items:center}.ps{display:flex;flex-direction:column;align-items:center;text-align:center}.ps-num{font-family:var(--f-display);font-size:36px;font-weight:700;color:var(--red-light);line-height:1}.ps-label{font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.88);margin-top:6px}.pdiv{width:1px;height:50px;background:rgba(255,255,255,.12)}.pq{padding:0 12px}.pq-stars{color:#ffb547;font-size:16px;letter-spacing:2px;margin-bottom:6px}.pq-text{font-family:var(--f-body);font-style:italic;font-size:15px;color:rgba(255,255,255,.92);margin:0 0 6px;line-height:1.5}.pq-name{font-family:var(--f-ui);font-size:12px;color:rgba(255,255,255,.82);letter-spacing:.5px}.pb-logos{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.pb-logo{font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.18);padding:6px 10px;border-radius:3px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.svc-card{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.svc-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(13,31,53,.12)}.svc-img{width:100%;height:180px;object-fit:cover}.svc-body{padding:22px;flex:1;display:flex;flex-direction:column}.svc-icon{width:42px;height:42px;background:rgba(var(--red-rgb),.10);border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--red)}.svc-icon svg{width:22px;height:22px;fill:currentColor}.svc-card h3{font-size:20px;margin:0 0 8px;color:var(--navy)}.svc-card p{font-size:14px;color:var(--muted);margin:0 0 12px;line-height:1.55}.svc-bullets{list-style:none;padding:0;margin:0 0 16px;font-family:var(--f-ui);font-size:14px}.svc-bullets li{padding:4px 0 4px 22px;position:relative;color:var(--text)}.svc-bullets li::before{content:"✓";position:absolute;left:0;top:4px;color:var(--red);font-weight:700}.svc-link{color:var(--red);font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:1.2px;text-transform:uppercase;margin-top:auto;padding:0;background:transparent}.svc-link:hover{color:var(--red-dark)}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}.about-img{width:100%;height:100%;max-height:540px;object-fit:cover;border-radius:4px}.owner-block{display:flex;align-items:center;gap:16px;margin:18px 0;padding:16px 18px;background:var(--cream);border-left:4px solid var(--red);border-radius:0 4px 4px 0}.owner-ava{width:56px;height:56px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;letter-spacing:1px;font-size:16px}.owner-name{font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:16px}.owner-title{font-family:var(--f-ui);font-size:13px;color:var(--muted)}.owner-since{font-family:var(--f-ui);font-size:12px;color:var(--muted-light);margin-top:2px}.about-body{font-size:16px;color:var(--text);margin:0 0 14px}.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.cred-item{background:#fff;border:1px solid var(--border);padding:12px 14px;border-radius:4px}.cred-label{font-family:var(--f-display);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.cred-val{font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:15px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.stat-box{background:var(--cream-warm);border:1px solid var(--border-light);border-radius:4px;padding:14px 12px;text-align:center}.stat-num{display:block;font-family:var(--f-display);font-size:24px;font-weight:700;color:var(--red)}.stat-label{display:block;font-family:var(--f-display);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:4px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.why-item{display:flex;gap:14px;align-items:flex-start}.why-check{width:32px;height:32px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.why-check svg{width:14px;height:14px}.why-title{font-family:var(--f-display);font-weight:600;font-size:16px;color:#fff;margin-bottom:4px;letter-spacing:.5px}.why-desc{font-family:var(--f-body);font-size:14px;color:rgba(255,255,255,.92);line-height:1.55}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;margin-top:36px}.process-grid::before{content:"";position:absolute;top:28px;left:12%;right:12%;height:2px;background:rgba(255,255,255,.12);z-index:0}.proc-step{position:relative;z-index:1;text-align:center}.proc-circle{width:56px;height:56px;border-radius:50%;background:var(--navy-mid);border:2px solid var(--red);margin:0 auto 12px;display:flex;align-items:center;justify-content:center}.proc-num{font-family:var(--f-display);font-weight:700;font-size:18px;color:var(--red-light);letter-spacing:1px}.proc-title{font-family:var(--f-display);font-weight:600;font-size:15px;color:#fff;letter-spacing:.5px;margin-bottom:6px}.proc-desc{font-family:var(--f-body);font-size:13px;color:rgba(255,255,255,.88);line-height:1.5}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/3;background:var(--cream)}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figcaption{position:absolute;inset:auto 0 0 0;background:linear-gradient(to top,rgba(13,31,53,.85),transparent);color:#fff;font-family:var(--f-body);font-style:italic;font-size:13px;padding:28px 12px 10px}.gallery-cta{text-align:center;margin-top:26px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rev-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:26px 22px 20px;position:relative}.rev-mark{position:absolute;top:8px;right:16px;font-family:var(--f-body);font-size:64px;color:var(--red);opacity:.12;line-height:1}.rev-stars{color:#ffb547;font-size:16px;letter-spacing:2px;margin-bottom:10px}.rev-text{font-family:var(--f-body);font-style:italic;color:var(--text);font-size:15px;margin:0 0 18px;line-height:1.6}.rev-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border-light);padding-top:14px}.rev-ava{width:38px;height:38px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:700;font-size:13px;flex-shrink:0}.rev-name{font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:14px;letter-spacing:.3px}.rev-service{font-family:var(--f-ui);font-size:12px;color:var(--muted)}.rev-src{margin-left:auto;font-family:var(--f-display);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-light)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.faq-item{border-top:1px solid var(--border);padding:18px 0}.faq-item:last-child{border-bottom:1px solid var(--border)}.faq-q{font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:17px;margin:0 0 8px;letter-spacing:.3px}.faq-a{font-family:var(--f-body);color:var(--text);font-size:15px;margin:0;line-height:1.65}.faq-block{background:#fff;padding:0}.faq-block h3{font-size:22px;margin-bottom:10px}.faq-q-block{padding:16px 0;border-top:1px solid var(--border)}.faq-q-block:last-child{border-bottom:1px solid var(--border)}.faq-q-block h4{margin:0 0 6px;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:16px}.faq-q-block p{margin:0;font-family:var(--f-body);font-size:15px;color:var(--text)}.area-intro{max-width:760px;margin:0 0 32px;color:rgba(255,255,255,.95);font-family:var(--f-body);font-size:16px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.area-card{background:var(--navy-mid);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--red);border-radius:4px;padding:20px 18px}.area-card h4{color:#fff;font-size:16px;margin:0 0 10px;letter-spacing:.5px}.area-card ul{list-style:none;padding:0;margin:0;font-family:var(--f-ui);font-size:13px;color:rgba(255,255,255,.92);columns:1}.area-card li{padding:3px 0}.location-map{max-width:1200px;margin:36px auto 0;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08);background:#122844}.location-map iframe{display:block;width:100%;height:300px;border:0}.location-map-caption{font-family:var(--f-ui);font-size:13px;color:rgba(255,255,255,.88);text-align:center;padding:10px 14px;background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.06)}.location-map-caption strong{color:#fff}.section-alt .location-map{background:#fff;box-shadow:0 6px 20px rgba(13,31,53,.10)}.section-alt .location-map-caption{background:#fff;color:var(--muted);border-top-color:var(--border-light)}.section-alt .location-map-caption strong{color:var(--navy)}.section .location-map{background:#fff;box-shadow:0 6px 20px rgba(13,31,53,.10)}.section .location-map-caption{background:var(--cream-warm);color:var(--muted);border-top-color:var(--border-light)}.section .location-map-caption strong{color:var(--navy)}@media (max-width:768px){.location-map iframe{height:240px}}.cta-banner{background:var(--red);color:#fff;padding:44px var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-banner .cb-title{font-family:var(--f-display);font-weight:700;font-size:clamp(24px,3vw,32px);letter-spacing:.3px;margin-bottom:6px}.cb-sub{font-family:var(--f-body);font-size:16px;margin:0;color:rgba(255,255,255,.92)}.cb-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.cb-phone{font-family:var(--f-display);font-weight:700;color:#fff;font-size:28px;letter-spacing:.5px;line-height:1}.cb-phone:hover{color:rgba(255,255,255,.95)}.cb-phone-sub{font-family:var(--f-body);font-size:12px;color:rgba(255,255,255,.95);margin-bottom:8px}.cb-btn{background:var(--navy);color:#fff;padding:12px 22px;font-size:12px}.cb-btn:hover{background:var(--navy-deep)}footer{background:#080a0d;color:rgba(255,255,255,.9);padding:56px var(--pad-x) 24px;font-family:var(--f-ui);font-size:14px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;max-width:1280px;margin:0 auto}.fg-col h4{font-family:var(--f-display);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#fff;margin:0 0 14px}.footer-logo{width:240px;height:auto;margin-bottom:16px;background:rgba(255,255,255,.04);padding:8px;border-radius:3px}.fg-nap strong{color:#fff}.fg-nap a{color:rgba(255,255,255,.92)}.fg-nap a:hover{color:var(--red-light)}.fg-lic{font-size:12px;color:rgba(255,255,255,.8);margin-top:14px;line-height:1.55}.fg-col ul{list-style:none;padding:0;margin:0}.fg-col ul li{padding:4px 0}.fg-col a{color:rgba(255,255,255,.9)}.fg-col a:hover{color:var(--red-light)}.footer-bottom{max-width:1280px;margin:36px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.8);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer-bottom a{color:rgba(255,255,255,.88)}.page-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);color:#fff;padding:56px var(--pad-x) 44px}.ph-kicker{font-family:var(--f-display);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--red-light);margin-bottom:10px}.ph-title{color:#fff;margin:0 0 12px;font-size:clamp(30px,4vw,44px)}.ph-sub{font-family:var(--f-body);font-size:17px;color:rgba(255,255,255,.82);max-width:720px;margin:0 0 16px}.breadcrumbs{font-family:var(--f-ui);font-size:13px;color:rgba(255,255,255,.82)}.breadcrumbs a{color:rgba(255,255,255,.82)}.breadcrumbs a:hover{color:#fff}.breadcrumbs span{padding:0 8px}.svc-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:start}.svc-detail-body p{font-size:16px}.svc-detail-body h2{margin-top:32px}.svc-detail-body ul{padding-left:0;list-style:none;margin:0 0 18px}.svc-detail-body ul li{position:relative;padding:4px 0 4px 26px;font-family:var(--f-body);font-size:15px;color:var(--text)}.svc-detail-body ul li::before{content:"✓";position:absolute;left:0;top:4px;color:var(--red);font-weight:700}.svc-detail-img{width:100%;height:auto;border-radius:4px;margin:0 0 22px}.svc-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 28px}.svc-feature-card{background:var(--cream);border-left:3px solid var(--red);padding:16px 18px;border-radius:0 4px 4px 0}.svc-feature-card h4{margin:0 0 6px;font-size:15px;color:var(--navy);letter-spacing:.3px}.svc-feature-card p{margin:0;font-size:14px;color:var(--muted)}.svc-feature-grid--openers{grid-template-columns:repeat(2,1fr)}.svc-feature-card--opener{background:#fff;border:1px solid var(--border);border-left:3px solid var(--red);padding:0;border-radius:0 4px 4px 0;overflow:hidden;display:flex;flex-direction:column}.svc-feature-card--opener img{display:block;width:100%;height:180px;object-fit:cover;object-position:center;background:#f4f1e8}.svc-feature-card--opener .svc-feature-body{padding:14px 18px 18px}.svc-feature-card--opener .svc-feature-tier{font-family:var(--f-display);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:4px}.svc-feature-card--opener h4{margin:0 0 8px;font-size:16px;color:var(--navy);letter-spacing:.3px}.svc-feature-card--opener p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}.svc-feature-brochure{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--f-display);font-size:11.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--red);text-decoration:none;border-bottom:1px solid rgba(var(--red-rgb),.35);padding-bottom:2px;transition:color .15s,border-color .15s}.svc-feature-brochure:hover{color:var(--red-dark);border-bottom-color:var(--red-dark)}.svc-feature-brochure svg{flex-shrink:0;opacity:.85}@media (max-width:768px){.svc-feature-grid--openers{grid-template-columns:1fr}.svc-feature-card--opener img{height:200px}}.pricing-table{border:1px solid var(--border);border-radius:4px;overflow:hidden;margin:14px 0 24px}.pricing-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-light);font-family:var(--f-ui);font-size:14px}.pricing-row:last-child{border-bottom:0}.pricing-row.header{background:var(--cream);font-family:var(--f-display);text-transform:uppercase;letter-spacing:1px;font-size:12px;color:var(--muted);font-weight:600}.pr-size strong{color:var(--navy)}.pr-price{color:var(--red);font-weight:600}.svc-side-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:24px 22px;position:sticky;top:100px}.svc-side-card--form h3{font-size:22px;margin:0 0 6px}.svc-side-card--form .hf-sub{font-family:var(--f-body);font-style:italic;font-size:14px;color:var(--muted);margin:0 0 16px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.value-card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--red);border-radius:0 0 4px 4px;padding:24px 22px}.value-icon{width:44px;height:44px;background:rgba(var(--red-rgb),.10);color:var(--red);border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.value-icon svg{width:22px;height:22px;fill:currentColor}.value-card h3{margin:0 0 8px;font-size:18px;color:var(--navy)}.value-card p{margin:0;font-size:14px;color:var(--muted);line-height:1.6}.cred-strip{background:var(--navy);color:#fff;padding:36px var(--pad-x);display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:3px solid var(--red);border-bottom:3px solid var(--red)}.cs-item{text-align:center}.cs-num{display:block;font-family:var(--f-display);font-size:36px;font-weight:700;color:var(--red-light);line-height:1}.cs-label{display:block;font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.88);margin-top:8px}.contact-quick-row{background:var(--cream);padding:28px var(--pad-x);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-bottom:1px solid var(--border)}.cqr-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px 18px}.cqr-icon{width:44px;height:44px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cqr-icon svg{width:20px;height:20px;fill:currentColor}.cqr-label{font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.cqr-value{font-family:var(--f-display);font-size:17px;color:var(--navy);font-weight:600}.cqr-value a{color:var(--navy)}.cqr-value a:hover{color:var(--red)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start}.contact-form-card{background:#fff;border:1px solid var(--border);border-radius:4px;padding:28px}.contact-form-card h2{margin-top:0}.contact-info-card{background:var(--navy);color:#fff;border-radius:4px;padding:26px 24px}.contact-info-card h3{color:#fff;margin:0 0 16px;font-size:20px}.cic-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,255,255,.10)}.cic-row:first-of-type{border-top:0;padding-top:4px}.cic-icon{width:36px;height:36px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.cic-icon svg{width:16px;height:16px;fill:currentColor}.cic-label{font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--red-light);margin-bottom:4px}.cic-value{font-family:var(--f-body);font-size:15px;color:rgba(255,255,255,.92);line-height:1.5}.cic-value a{color:rgba(255,255,255,.92);border-bottom:1px dotted rgba(255,255,255,.3)}.cic-value a:hover{color:var(--red-light);border-bottom-color:var(--red-light)}.location-map.map-tall iframe{height:420px}@media (max-width:768px){.location-map.map-tall iframe{height:280px}}.inline-form-section{background:var(--cream);padding:var(--pad-y) var(--pad-x)}.inline-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;max-width:1100px;margin:0 auto}.inline-form-grid .lead-form-wrap{background:#fff;border:1px solid var(--border);border-radius:4px;padding:26px 24px}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.industry-card{background:var(--cream-warm);border:1px solid var(--border-light);border-left:3px solid var(--red);border-radius:0 4px 4px 0;padding:14px 16px;font-family:var(--f-ui)}.industry-card strong{display:block;font-family:var(--f-display);font-size:14px;color:var(--navy);letter-spacing:.3px;margin-bottom:2px}.industry-card span{font-size:13px;color:var(--muted)}@media (max-width:1100px){.services-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid,.why-grid,.area-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid::before{display:none}}@media (max-width:1024px){:root{--pad-x:32px;--pad-y:56px}.hero{padding:48px var(--pad-x);min-height:560px}.hero-content{max-width:100%}.hero-bg img{object-position:75% center}.about-grid{grid-template-columns:1fr;gap:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.anchor-strip{display:none}.nav-links,.nav-right{display:none}.mobile-nav-toggle{display:flex}.proof-bar{grid-template-columns:1fr 1fr;gap:18px;padding:22px 24px}.proof-bar .pdiv,.pb-logos{display:none}.proof-bar .pq{grid-column:1 / -1;padding:0}.cta-banner{flex-direction:column;align-items:flex-start}.cb-actions{align-items:flex-start;text-align:left}.svc-detail-grid{grid-template-columns:1fr;gap:28px}.svc-side-card{position:static}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-quick-row{grid-template-columns:1fr;gap:12px}.values-grid{grid-template-columns:1fr 1fr}.inline-form-grid{grid-template-columns:1fr;gap:24px}.industry-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){:root{--pad-x:20px;--pad-y:44px}.services-grid,.gallery-grid,.reviews-grid,.why-grid,.area-grid,.faq-grid{grid-template-columns:1fr;gap:18px}.stat-row,.cred-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.hero{padding:36px 20px;min-height:500px}.hero h1{font-size:36px}.hero-form{padding:22px}.proof-bar{grid-template-columns:1fr 1fr;padding:22px 18px}.ps-num{font-size:26px}.nav-cta{display:none}.logo-img{height:44px}.cb-phone{font-size:22px}.values-grid{grid-template-columns:1fr}.cred-strip{grid-template-columns:1fr 1fr;padding:24px 18px}.cs-num{font-size:28px}.svc-feature-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:1fr}}
/* COVERAGE MAP (inline SVG) */
.coverage-map{width:100%;background:var(--cream,#f5f2ec)}
.coverage-map-inner{width:100%;max-width:1280px;margin:0 auto;padding:8px 16px 0}
.coverage-svg{width:100%;height:auto;display:block}
.coverage-svg .base{fill:#e3e7ee;stroke:#fff;stroke-width:.6}
.coverage-svg .served{fill:#0d1f35;stroke:#fff;stroke-width:.9;transition:fill .15s}
.coverage-svg .served.linked{fill:#1a3f6f;cursor:pointer}
.coverage-svg a:hover .served.linked{fill:#c41e23}
.coverage-svg .cty-label{fill:#fff;font-family:'Oswald',sans-serif;font-size:9px;text-anchor:middle;font-weight:600;pointer-events:none}
.coverage-svg .office-dot{fill:#c41e23;stroke:#fff;stroke-width:1.6}
.coverage-svg .office-name{fill:#f5c518;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:#061222;stroke-width:2.5px;stroke-linejoin:round}
.coverage-map-caption{text-align:center;font-family:'Oswald',sans-serif;font-size:13px;color:var(--muted,#5a6070);padding:12px 16px 16px;background:var(--cream,#f5f2ec)}
.coverage-map-caption strong{color:var(--navy,#011668)}
@media(max-width:600px){.coverage-svg .cty-label{font-size:7px}.coverage-svg .office-name{font-size:9px}}

/* Client override: marquee blue bg, black text */

/* coverage map brand */
.coverage-svg .served.linked{fill:#4B9CD3}
.coverage-svg a:hover .served.linked{fill:#3d84b8}
.coverage-svg .office-dot{fill:#4B9CD3}
.coverage-svg .office-name{fill:#fff;stroke:#0a0f16}

/* Footer off-black to match logo */
footer,.footer-bottom{background:#080a0d}
.footer-logo{background:transparent}

/* ============================================================
   REV 8: hero form card, county grid, county pages
   ============================================================ */

/* Hero with form: two-column split */
.hero--form .hero-inner--split{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;width:100%}
.hero-form-card{background:rgba(255,255,255,.98);border-radius:12px;padding:26px 26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.35);backdrop-filter:blur(2px)}
.hero-form-card .hfc-head{margin-bottom:14px}
.hero-form-card .hfc-head h2{font-family:var(--f-display);color:var(--navy);font-size:1.5rem;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 4px}
.hero-form-card .hfc-head p{color:var(--muted);font-size:.9rem;margin:0;font-family:var(--f-ui)}
.hero-form-card .lead-form label{color:var(--navy)}
.hero-form-card .lead-form input,.hero-form-card .lead-form select{background:#fff}
@media(max-width:960px){
  .hero--form .hero-inner--split{grid-template-columns:1fr;gap:28px}
  .hero-form-card{max-width:520px}
}

/* County grid (home) */
.county-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}
.county-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s}
.county-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(10,15,22,.14)}
.cc-img{aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.cc-img img{width:100%;height:100%;object-fit:cover;display:block}
.cc-body{padding:20px 22px 24px}
.cc-eyebrow{font-family:var(--f-display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.cc-name{font-family:var(--f-display);font-size:1.35rem;text-transform:uppercase;letter-spacing:-.01em;color:var(--navy);margin:0 0 10px}
.cc-towns{color:var(--muted);font-size:.95rem;line-height:1.55;margin:0 0 16px;font-family:var(--f-body)}
.cc-link{font-family:var(--f-display);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
@media(max-width:900px){.county-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.county-grid{grid-template-columns:1fr}}

/* County detail page */
.county-detail{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start}
.county-detail-main h2{font-family:var(--f-display);color:var(--navy);text-transform:uppercase;font-size:1.5rem;margin:32px 0 14px}
.county-hero-img{width:100%;border-radius:10px;margin-bottom:22px;height:auto}
.town-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}
.town-list li{padding:7px 0 7px 24px;position:relative;font-family:var(--f-ui);border-bottom:1px solid var(--border)}
.town-list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--red)}
.county-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.county-svc{display:block;padding:12px 16px;background:var(--cream);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--navy);font-family:var(--f-display);font-weight:600;font-size:.95rem;transition:background .15s}
.county-svc:hover{background:var(--red);color:#fff;border-color:var(--red)}
.county-side .svc-side-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}
@media(max-width:900px){.county-detail{grid-template-columns:1fr;gap:32px}.town-list{grid-template-columns:1fr}.county-svc-grid{grid-template-columns:1fr}}

/* ============================================================
   REV 10: Oversized logo that overlaps up into the marquee
   ============================================================ */
.main-nav{overflow:visible}
.logo-wrap{position:relative;z-index:120;display:flex;align-items:center;
  /* pull the logo up so it overlaps the ticker above */
  margin-top:-46px;margin-bottom:-22px}
.logo-img{
  height:150px;width:auto;             /* ~3x the old 54px */
  position:relative;z-index:121;
  /* white glow so the dark logo reads against the blue marquee */
  
}
/* keep the nav from growing too tall now that the logo is bigger */
.main-nav{padding-top:10px;padding-bottom:10px}

@media(max-width:1100px){
  .logo-img{height:112px}
  .logo-wrap{margin-top:-34px;margin-bottom:-16px}
}
@media(max-width:760px){
  .logo-img{height:86px}
  .logo-wrap{margin-top:-24px;margin-bottom:-12px}
}
@media(max-width:480px){
  .logo-img{height:68px}
  .logo-wrap{margin-top:-16px;margin-bottom:-8px}
}

/* Harden logo overlap (higher specificity than nav.main-nav base rules) */
nav.main-nav{overflow:visible;padding-top:10px;padding-bottom:10px}
nav.main-nav .logo-wrap{position:relative;z-index:120;margin-top:-46px;margin-bottom:-22px}
nav.main-nav .logo-img{
  height:150px;width:auto;position:relative;z-index:121;
  
}
/* Marquee keeps overflow:hidden (needed for scroll + edge fade).
   The logo sits in the nav below and paints UP over the ticker via z-index,
   so no overflow change is needed on .top-bar. */
.top-bar{position:relative;z-index:1}

@media(max-width:1100px){
  nav.main-nav .logo-img{height:112px}
  nav.main-nav .logo-wrap{margin-top:-34px;margin-bottom:-16px}
}
@media(max-width:768px){
  nav.main-nav .logo-img{height:86px}
  nav.main-nav .logo-wrap{margin-top:-24px;margin-bottom:-12px}
}
@media(max-width:480px){
  nav.main-nav .logo-img{height:68px}
  nav.main-nav .logo-wrap{margin-top:-16px;margin-bottom:-8px}
}

/* ============================================================
   REV 11: MOBILE logo fills the marquee + navbar
   ============================================================ */
@media(max-width:768px){
  nav.main-nav{padding-top:8px;padding-bottom:8px;min-height:96px}
  nav.main-nav .logo-wrap{
    margin-top:-52px;      /* rise up through the full ticker */
    margin-bottom:-24px;
  }
  nav.main-nav .logo-img{
    height:168px;          /* was 86px — now spans ticker + navbar */
    
  }
  /* keep the hamburger clear of the bigger logo */
  .mobile-nav-toggle{position:relative;z-index:130}
}
@media(max-width:480px){
  nav.main-nav{min-height:88px}
  nav.main-nav .logo-wrap{margin-top:-46px;margin-bottom:-20px}
  nav.main-nav .logo-img{height:150px}
}
@media(max-width:380px){
  nav.main-nav .logo-wrap{margin-top:-42px;margin-bottom:-18px}
  nav.main-nav .logo-img{height:132px}
}

/* REV 12 item 1: full-width region map on home */
.region-map-full{line-height:0;margin-top:24px;margin-left:calc(var(--pad-x) * -1);margin-right:calc(var(--pad-x) * -1)}
.region-map-full iframe{width:100%;height:520px;border:0;display:block}
@media(max-width:768px){.region-map-full iframe{height:400px}}

/* REV 12 item 2: About "Why Choose Us" = clean 2x2 (4 cards) */
.values-grid{grid-template-columns:1fr 1fr;max-width:900px}
@media(max-width:640px){.values-grid{grid-template-columns:1fr}}

/* ============================================================
   REV 12 item 6: service-page hero with compact form (black hero)
   ============================================================ */
.page-header--form{padding-bottom:44px}
.page-header--form .ph-split{
  display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:center;
  max-width:var(--maxw);margin:0 auto;
}
.page-header--form .ph-copy{min-width:0}
.page-header--form .ph-copy .breadcrumbs{margin-bottom:12px}
/* compact form card sitting in the black hero */
.ph-form-card{
  background:rgba(255,255,255,.97);border-radius:12px;padding:20px 20px 18px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.ph-form-head{margin-bottom:12px}
.ph-form-head h2{font-family:var(--f-display);color:var(--navy);font-size:1.3rem;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 2px}
.ph-form-head p{color:var(--muted);font-size:.85rem;margin:0;font-family:var(--f-ui)}
/* size the form down: tighter fields, smaller labels */
.ph-form-card .lead-form label{font-size:.8rem;margin-bottom:9px;color:var(--navy)}
.ph-form-card .lead-form input,
.ph-form-card .lead-form select{padding:9px 11px;font-size:.9rem;background:#fff}
.ph-form-card .lead-form .submit-btn{padding:11px;font-size:.92rem;margin-top:2px}
@media(max-width:860px){
  .page-header--form .ph-split{grid-template-columns:1fr;gap:26px}
  .ph-form-card{max-width:460px}
}

/* REV 12 item 4: full work gallery on projects page */
.gallery-grid--all{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.gallery-grid--all figure{margin:0;border-radius:8px;overflow:hidden;position:relative;background:var(--cream)}
.gallery-grid--all img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .3s}
.gallery-grid--all figure:hover img{transform:scale(1.05)}
.gallery-grid--all figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 14px 10px;color:#fff;font-family:var(--f-display);font-size:.85rem;font-weight:600;background:linear-gradient(transparent,rgba(10,15,22,.85))}
@media(max-width:860px){.gallery-grid--all{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery-grid--all{grid-template-columns:1fr}.gallery-grid--all img{height:220px}}

/* REV 12 item 5: contact GBP map full-width at bottom */
.contact-map-full{margin-top:32px;margin-bottom:calc(var(--pad-y) * -1);margin-left:calc(var(--pad-x) * -1);margin-right:calc(var(--pad-x) * -1);overflow:hidden;line-height:0}
.contact-map-full iframe{width:100%;height:480px;border:0;display:block}
.contact-map-full .location-map-caption{padding:12px 16px;background:var(--cream);font-size:.9rem;text-align:center;line-height:1.4}
@media(max-width:768px){.contact-map-full iframe{height:360px}}

/* ===== Rev 13: service hero image, home 8-grid, other-services grid ===== */
.page-header--hero-img{position:relative;padding:0;overflow:hidden;isolation:isolate;min-height:440px;display:flex;align-items:center}
.page-header--hero-img .ph-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.page-header--hero-img .ph-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.page-header--hero-img .ph-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,34,.92) 0%,rgba(13,31,53,.82) 34%,rgba(18,40,68,.5) 62%,rgba(18,40,68,.22) 100%)}
.page-header--hero-img .ph-split{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .95fr;gap:40px;align-items:center;max-width:1280px;width:100%;margin:0 auto;padding:52px var(--pad-x)}
.page-header--hero-img .ph-copy{min-width:0}
.page-header--hero-img .ph-copy .breadcrumbs{margin-bottom:12px}
.page-header--hero-img .ph-title{text-shadow:0 2px 16px rgba(0,0,0,.45)}
.page-header--hero-img .ph-sub{color:rgba(255,255,255,.92);text-shadow:0 1px 8px rgba(0,0,0,.4)}
.page-header--hero-img .ph-form-card{background:#fff;border-radius:6px;padding:22px 22px 24px;box-shadow:0 18px 60px rgba(0,0,0,.35);max-width:400px;justify-self:end;width:100%}
.page-header--hero-img .ph-form-head{margin-bottom:14px}
.page-header--hero-img .ph-form-head h2{font-size:20px;margin:0;color:var(--navy);letter-spacing:.3px}
.page-header--hero-img .ph-form-card .lead-form label{font-size:.78rem;margin-bottom:8px;color:var(--navy)}
.page-header--hero-img .ph-form-card .lead-form input,.page-header--hero-img .ph-form-card .lead-form select{padding:9px 11px;font-size:.9rem;background:#fff;margin-top:5px}
.page-header--hero-img .ph-form-card .lead-form .submit-btn{padding:11px;font-size:.9rem;margin-top:2px}
@media (max-width:900px){.page-header--hero-img .ph-split{grid-template-columns:1fr;gap:24px;padding:40px var(--pad-x)}.page-header--hero-img .ph-form-card{max-width:460px;justify-self:stretch}.page-header--hero-img .ph-bg::after{background:linear-gradient(180deg,rgba(6,18,34,.86) 0%,rgba(13,31,53,.78) 100%)}}
/* single-column service detail body (sidebar removed) */
.svc-detail-single{max-width:900px}
/* other-services photo card grid */
.other-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.other-svc-card{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.other-svc-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(13,31,53,.12)}
.other-svc-card img{width:100%;height:170px;object-fit:cover;background:var(--cream)}
.other-svc-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}
.other-svc-tier{font-family:var(--f-display);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.other-svc-body h3{font-size:18px;margin:0 0 10px;color:var(--navy)}
.other-svc-link{color:var(--red);font-family:var(--f-display);font-weight:600;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;margin-top:auto}
.other-svc-card:hover .other-svc-link{color:var(--red-dark)}
@media (max-width:1100px){.other-svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.other-svc-grid{grid-template-columns:1fr}}

/* ===== Rev 14: proof bar rebuilt (shorter, aligned) ===== */
.proof-bar{background:var(--navy);color:#fff;padding:22px var(--pad-x);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.proof-bar .pb-stats{display:flex;align-items:center;gap:22px;flex:0 0 auto}
.proof-bar .ps{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:74px}
.proof-bar .ps-num{font-family:var(--f-display);font-size:30px;font-weight:700;color:var(--red-light);line-height:1}
.proof-bar .ps-label{font-family:var(--f-display);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.85);margin-top:6px;white-space:nowrap}
.proof-bar .pdiv{width:1px;height:40px;background:rgba(255,255,255,.14)}
.proof-bar .pb-quote{flex:1 1 320px;min-width:260px;padding:0 8px;border-left:1px solid rgba(255,255,255,.12);padding-left:28px}
.proof-bar .pq-stars{color:#ffb547;font-size:14px;letter-spacing:2px;margin-bottom:5px}
.proof-bar .pq-text{font-family:var(--f-body);font-style:italic;font-size:14px;color:rgba(255,255,255,.9);margin:0 0 5px;line-height:1.45}
.proof-bar .pq-name{font-family:var(--f-ui);font-size:11.5px;color:rgba(255,255,255,.72);letter-spacing:.4px}
.proof-bar .pb-logos{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex:0 0 auto}
.proof-bar .pb-logo{font-family:var(--f-display);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.18);padding:5px 10px;border-radius:3px;white-space:nowrap}
@media (max-width:1100px){.proof-bar{gap:20px}.proof-bar .pb-logos{display:none}.proof-bar .pb-quote{flex-basis:280px}}
@media (max-width:820px){.proof-bar{justify-content:center}.proof-bar .pb-quote{flex-basis:100%;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:14px;margin-top:4px;text-align:center}}
@media (max-width:560px){.proof-bar .pb-stats{gap:12px;flex-wrap:wrap;justify-content:center}.proof-bar .pdiv{display:none}.proof-bar .ps{min-width:64px}.proof-bar .ps-num{font-size:24px}}
/* long-form service content */
.svc-longform{max-width:820px}
.svc-longform h2{margin:30px 0 12px;font-size:clamp(22px,2.6vw,28px)}
.svc-longform p{font-family:var(--f-body);font-size:16px;line-height:1.7;color:var(--text);margin:0 0 15px}
.svc-longform .sk{margin-bottom:10px}

/* ===== Rev 17: owner photo + owner feature section ===== */
.owner-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 22%;flex:0 0 auto;border:2px solid var(--red-light)}
.owner-feature{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:44px;align-items:start}
.owner-feature-media{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 18px 50px rgba(13,31,53,.18)}
.owner-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.owner-feature-badge{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(8,12,18,0) 0%,rgba(8,12,18,.88) 55%);padding:34px 18px 16px;display:flex;flex-direction:column}
.owner-feature-badge strong{font-family:var(--f-display);font-size:19px;color:#fff;letter-spacing:.4px}
.owner-feature-badge span{font-family:var(--f-ui);font-size:12.5px;color:var(--red-light);letter-spacing:1.2px;text-transform:uppercase;margin-top:2px}
.owner-feature-copy .sk{margin-bottom:8px}
.owner-quote{font-family:var(--f-body);font-size:16.5px;line-height:1.72;color:var(--text);margin:0 0 15px;font-style:italic}
.owner-sig{font-family:var(--f-display);font-size:14px;letter-spacing:.6px;color:var(--navy);margin-top:4px}
.owner-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.owner-chip{font-family:var(--f-display);font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--navy);background:var(--cream);border:1px solid var(--border);border-radius:3px;padding:7px 12px}
@media (max-width:900px){.owner-feature{grid-template-columns:1fr;gap:26px}.owner-feature-media{max-width:420px}}

/* ===== Rev 18: compact hero forms, story media stack, google rating card ===== */
/* --- 1. Hero forms sized down (home + service pages) --- */
.hero--form .hero-inner--split{grid-template-columns:1fr 360px;gap:40px}
.hero-form-card{max-width:360px;padding:20px 20px 18px;border-radius:8px}
.hero-form-card .hfc-head h2{font-size:19px;margin:0 0 2px}
.hero-form-card .hfc-head p{font-size:12.5px;margin:0 0 12px}
.hero-form-card .lead-form label{font-size:.72rem;margin-bottom:7px;letter-spacing:.4px}
.hero-form-card .lead-form input,.hero-form-card .lead-form select{padding:8px 10px;font-size:.88rem;margin-top:4px}
.hero-form-card .submit-btn{padding:10px;font-size:.86rem}
.page-header--hero-img .ph-split{grid-template-columns:1.55fr .8fr;gap:34px}
.page-header--hero-img .ph-form-card{max-width:340px;padding:18px 18px 16px}
.page-header--hero-img .ph-form-head h2{font-size:18px}
.page-header--hero-img .ph-form-card .lead-form label{font-size:.72rem;margin-bottom:7px}
.page-header--hero-img .ph-form-card .lead-form input,.page-header--hero-img .ph-form-card .lead-form select{padding:8px 10px;font-size:.88rem;margin-top:4px}
.page-header--hero-img .ph-form-card .submit-btn{padding:10px;font-size:.86rem}
@media (max-width:1100px){.hero--form .hero-inner--split{grid-template-columns:1fr 320px;gap:30px}.hero-form-card{max-width:320px}}
@media (max-width:900px){.hero--form .hero-inner--split{grid-template-columns:1fr}.hero-form-card{max-width:440px}.page-header--hero-img .ph-form-card{max-width:440px}}

/* --- 2/3. Our Story media column: tall stacked images --- */
.story-media{display:flex;flex-direction:column;gap:16px}
.story-fig{margin:0;position:relative;border-radius:5px;overflow:hidden;box-shadow:0 14px 40px rgba(13,31,53,.14)}
.story-fig img{width:100%;display:block;object-fit:cover}
.story-fig--main img{aspect-ratio:4/5;object-position:center 20%}
.story-fig:not(.story-fig--main) img{aspect-ratio:4/3}
.story-fig figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(8,12,18,0),rgba(8,12,18,.86) 60%);color:#fff;font-family:var(--f-ui);font-size:12.5px;letter-spacing:.3px;padding:26px 14px 11px}
@media (max-width:900px){.story-media{flex-direction:row;gap:14px}.story-fig{flex:1}}
@media (max-width:560px){.story-media{flex-direction:column}}

/* --- 4. Google rating card (replaces invented testimonials) --- */
.google-rating-card{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;padding:30px 34px;box-shadow:0 10px 32px rgba(13,31,53,.07)}
.grc-score{display:flex;flex-direction:column;align-items:center;text-align:center;padding-right:34px;border-right:1px solid var(--border);min-width:150px}
.grc-num{font-family:var(--f-display);font-size:52px;font-weight:700;color:var(--navy);line-height:1}
.grc-stars{color:#f5b400;font-size:20px;letter-spacing:3px;margin-top:6px}
.grc-label{font-family:var(--f-display);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:8px}
.grc-copy p{font-family:var(--f-body);font-size:16px;line-height:1.65;color:var(--text);margin:0 0 16px}
@media (max-width:760px){.google-rating-card{grid-template-columns:1fr;gap:22px;padding:26px}.grc-score{border-right:0;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:20px}}

/* --- 5. FAQ symmetry --- */
.faq-grid{align-items:start}
.faq-col{display:flex;flex-direction:column}
.faq-col .faq-item:last-child{border-bottom:0}

/* ===== Rev 19: two real Google review cards ===== */
.reviews-grid--two{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:940px;margin:0 auto}
.reviews-grid--two .rev-card{display:flex;flex-direction:column}
.reviews-grid--two .rev-text{flex:1}
.rev-meta{font-family:var(--f-ui);font-size:12px;color:var(--muted);margin:-4px 0 12px;letter-spacing:.2px}
.reviews-cta{text-align:center;margin-top:28px}
@media (max-width:760px){.reviews-grid--two{grid-template-columns:1fr;gap:20px}}

/* ===== Rev 20: rich nav dropdowns (Services + Reviews) ===== */
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px}
.dd-caret{font-size:10px;line-height:1;transition:transform .18s ease}
.nav-dropdown:hover .dd-caret,.nav-dropdown:focus-within .dd-caret{transform:rotate(180deg)}
.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle{color:var(--red)}
.ddm{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:10px;
  background:#fff;border:1px solid var(--border);border-top:3px solid var(--red);border-radius:10px;
  min-width:340px;padding:0;overflow:hidden;box-shadow:0 22px 54px rgba(13,31,53,.20);z-index:130}
.ddm--wide{min-width:660px}
.nav-dropdown:hover .ddm,.nav-dropdown:focus-within .ddm{display:block}
/* hover bridge so the menu doesn't close in the gap */
.nav-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.ddm-head{background:linear-gradient(180deg,rgba(75,156,211,.16),rgba(75,156,211,.06));
  padding:16px 22px 14px;border-bottom:1px solid var(--border)}
.ddm-head-title{display:block;font-family:var(--f-display);font-size:15px;font-weight:700;
  letter-spacing:1.3px;text-transform:uppercase;color:var(--red-dark)}
.ddm-head-sub{display:inline-block;margin-top:4px;font-family:var(--f-ui);font-size:12.5px;
  letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none;border:0}
.ddm-head-sub:hover{color:var(--red)}
.ddm-body{padding:10px}
.ddm-body--2col{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ddm-item{display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:7px;
  text-decoration:none;border:0;transition:background .15s ease}
.ddm-item:hover{background:var(--cream)}
.ddm-ico{flex:0 0 auto;width:40px;height:40px;border-radius:9px;background:rgba(75,156,211,.14);
  color:var(--red);display:flex;align-items:center;justify-content:center}
.ddm-ico svg{width:19px;height:19px;fill:currentColor}
.ddm-item:hover .ddm-ico{background:rgba(75,156,211,.24)}
.ddm-txt{display:flex;flex-direction:column;min-width:0}
.ddm-txt strong{font-family:var(--f-display);font-size:14.5px;font-weight:600;letter-spacing:.6px;
  text-transform:uppercase;color:var(--navy);line-height:1.25}
.ddm-txt em{font-family:var(--f-ui);font-style:normal;font-size:12.5px;color:var(--muted);margin-top:2px}
.ddm-item:hover .ddm-txt strong{color:var(--red-dark)}
@media (max-width:1180px){.ddm--wide{min-width:520px}}
@media (max-width:1024px){.ddm,.ddm--wide{min-width:320px}.ddm-body--2col{grid-template-columns:1fr}}

/* ===== Rev 21: compact dropdowns + split sticky CTA bar ===== */
/* --- 1. Dropdowns sized down --- */
.ddm{min-width:290px;margin-top:8px;border-radius:8px;box-shadow:0 16px 40px rgba(13,31,53,.18)}
.ddm--wide{min-width:520px}
.ddm-head{padding:10px 16px 9px}
.ddm-head-title{font-size:12px;letter-spacing:1.1px}
.ddm-head-sub{margin-top:2px;font-size:11px;letter-spacing:.7px}
.ddm-body{padding:6px}
.ddm-body--2col{gap:1px}
.ddm-item{gap:10px;padding:7px 10px;border-radius:5px}
.ddm-ico{width:28px;height:28px;border-radius:6px}
.ddm-ico svg{width:14px;height:14px}
.ddm-txt strong{font-size:12.5px;letter-spacing:.4px;line-height:1.2}
.ddm-txt em{font-size:11px;margin-top:1px;line-height:1.25}
@media (max-width:1180px){.ddm--wide{min-width:460px}}
@media (max-width:1024px){.ddm,.ddm--wide{min-width:280px}.ddm-body--2col{grid-template-columns:1fr}}

/* --- 2. Split sticky CTA bar, ALL devices --- */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:200;display:grid;
  grid-template-columns:1fr 1fr;align-items:stretch;box-shadow:0 -4px 18px rgba(0,0,0,.22)}
.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--f-display);font-weight:700;font-size:15px;letter-spacing:1.1px;
  text-transform:uppercase;text-decoration:none;border:0;padding:16px 18px;line-height:1.15;
  text-align:center;transition:background .18s ease}
.sticky-cta .sc-call{background:var(--navy);color:#fff}
.sticky-cta .sc-call:hover{background:var(--navy-deep);color:#fff}
.sticky-cta .sc-call svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto}
.sticky-cta .sc-quote{background:var(--red);color:#fff}
.sticky-cta .sc-quote:hover{background:var(--red-dark);color:#fff}
body{padding-bottom:56px}
@media (max-width:768px){body{padding-bottom:52px}
  .sticky-cta a{font-size:12.5px;letter-spacing:.6px;padding:13px 10px;gap:7px}
  .sticky-cta .sc-call svg{width:15px;height:15px}}
@media (max-width:380px){.sticky-cta a{font-size:11px;padding:12px 6px;gap:5px}
  .sticky-cta .sc-call svg{display:none}}

/* ===== Rev 27: natural internal link line ===== */
.county-links{font-family:var(--f-body);font-size:15.5px;line-height:1.7;color:var(--text);
  background:var(--cream);border-left:3px solid var(--red);padding:14px 18px;margin:24px 0;border-radius:0 4px 4px 0}
.county-links a{color:var(--red-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.county-links a:hover{color:var(--red)}
.town-list a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent}
.town-list a:hover{color:var(--red);border-bottom-color:var(--red)}

/* ===== Rev 29: button contrast by background ===== */
/* light-background outline button (navy text) */
.btn-outline-dark{display:inline-block;background:transparent;color:var(--navy);
  border:2px solid var(--navy);font-family:var(--f-display);font-weight:600;font-size:13px;
  letter-spacing:1.6px;text-transform:uppercase;padding:14px 26px;border-radius:3px;
  text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn-outline-dark:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
/* brand-accent variant for light backgrounds */
.btn-outline-brand{display:inline-block;background:transparent;color:var(--red-dark);
  border:2px solid var(--red);font-family:var(--f-display);font-weight:600;font-size:13px;
  letter-spacing:1.6px;text-transform:uppercase;padding:14px 26px;border-radius:3px;
  text-decoration:none;transition:background .18s ease,color .18s ease}
.btn-outline-brand:hover{background:var(--red);color:#fff}


/* ===== Rev 32: county sidebar sticky — CORRECTED ===== */
/* Rev 31 put position:sticky on .svc-side-card, but sticky only travels within its PARENT
   box. .county-side had no CSS at all, so as a grid item under align-items:start it
   collapsed to exactly the card's height — zero scroll distance — and the card behaved as
   if it were static. The sticky must go on the WRAPPER, and the wrapper must be allowed to
   stretch to the full row height. */

/* let the sidebar column fill the row so there is distance to stick across */
.county-detail{align-items:stretch}
.county-detail-main{min-width:0}

.county-side{
  position:sticky;
  top:100px;
  align-self:start;              /* stick from the top of the column */
  max-height:calc(100vh - 180px);/* nav (~100) + bottom CTA bar (~56) + breathing room */
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(13,31,53,.25) transparent;
}
.county-side::-webkit-scrollbar{width:8px}
.county-side::-webkit-scrollbar-track{background:transparent}
.county-side::-webkit-scrollbar-thumb{background:rgba(13,31,53,.18);border-radius:4px}
.county-side::-webkit-scrollbar-thumb:hover{background:rgba(13,31,53,.32)}

/* the inner card must NOT be sticky or height-capped — the wrapper handles both now */
.county-side .svc-side-card{position:static;max-height:none;overflow:visible;top:auto}


/* stacked layout: kill sticky + caps entirely */
@media (max-width:900px){
  .county-side{
    position:static;max-height:none;overflow:visible;top:auto;align-self:auto;
  }
}
/* short viewports */
@media (max-height:760px) and (min-width:901px){
  .county-side{top:88px;max-height:calc(100vh - 160px)}
}

/* --- sticky bottom CTA: make the CALL half clearly visible --- */
/* it was var(--navy) sitting on dark page chrome, so it read as one dark mass */
.sticky-cta .sc-call{
  background:var(--navy);
  color:#fff;
  border:2px solid var(--red-light);
  border-right:0;                        /* the two halves meet in the middle */
}
.sticky-cta .sc-quote{border:2px solid var(--red);border-left:0}
.sticky-cta{border-top:1px solid rgba(255,255,255,.16)}
.sticky-cta .sc-call:hover{background:var(--navy-deep);border-color:#fff}
@media (max-width:768px){
  .sticky-cta .sc-call,.sticky-cta .sc-quote{border-width:2px}
}

/* menu is now 17 items tall — make sure the last one clears the fixed bottom CTA bar */
.mobile-nav-open{padding-bottom:96px}

/* ===== Rev 38: mobile services submenu — max-height animation (robust) ===== */
/* Rev 34 used grid-template-rows 0fr->1fr, which older iOS Safari does not animate
   reliably, and the nested submenu did not inherit the parent flex gap, so the first
   two rows sat flush together while every other row had 8px. Rewritten with max-height,
   which is universally supported, and explicit spacing that matches the top-level items. */
.mnav-group{display:flex;flex-direction:column;gap:8px}
.mnav-toggle{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  background:none;border:0;cursor:pointer;text-align:left;-webkit-appearance:none;
  font-family:var(--f-display);font-weight:500;font-size:18px;letter-spacing:1.5px;
  text-transform:uppercase;color:#fff;padding:12px 0;margin:0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mnav-caret{font-size:13px;line-height:1;color:var(--red-light);transition:transform .22s ease}
.mnav-group.is-open .mnav-caret{transform:rotate(180deg)}

.mnav-sub{
  display:flex;flex-direction:column;gap:8px;   /* same rhythm as the top-level list */
  max-height:0;overflow:hidden;
  transition:max-height .28s ease, opacity .2s ease;
  opacity:0;
}
.mnav-group.is-open .mnav-sub{
  max-height:720px;      /* comfortably taller than 9 items */
  opacity:1;
}
.mnav-sub a{
  display:block;font-size:15px;letter-spacing:1px;text-transform:uppercase;
  color:rgba(255,255,255,.86);
  padding:11px 0 11px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  border-left:2px solid var(--red);
}
.mnav-sub a:first-child{color:var(--red-light);font-weight:600}
.mnav-sub a:active,.mnav-sub a:hover{color:#fff;background:rgba(255,255,255,.05)}
/* first submenu row needs a little air under the toggle */
.mnav-group.is-open .mnav-sub{padding-top:2px}

/* ═══════════════════════════════════════════════════════════════════════════
   LITTLE ACRES GRADING — brand theme (black / red / white)
   Brand red sampled from the LAG logo: #ED1B24
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --red:#ED1B24;--red-dark:#c2141c;--red-light:#ff4d55;--red-rgb:237,27,36;
  --blue:#000000;--blue-light:#ff4d55;
  --navy:#000000;--navy-mid:#111111;--navy-deep:#000000;
  --cream:#f6f6f6;--cream-warm:#efefef;--border:#e0e0e0;--border-light:#ededed;
  --text:#151515;--muted:#5b5b5b;--muted-light:#9a9a9a;
}

/* Navbar sits on black to match the logo plate */
nav.main-nav{background:#000;border-bottom:1px solid #1c1c1c;box-shadow:0 1px 0 rgba(0,0,0,.4)}
.main-nav .nav-links > a,.main-nav .nav-phone{color:#fff}
.main-nav .nav-links > a:hover,.main-nav .nav-links > a.active{color:var(--red);border-bottom-color:var(--red)}
.main-nav .logo-img{height:72px;width:auto;background:#000}
/* The LAG mark is square, not a wide wordmark — the inherited 150px sizing
   was cut for the old logo and overflows the bar. */
nav.main-nav .logo-img{height:60px;width:auto;background:#000}
/* The inherited treatment hung the old logo out of the bar with a negative
   top margin. The LAG plate is square and black, so it sits inside instead. */
nav.main-nav .logo-wrap{margin-top:0;margin-bottom:0}
@media(max-width:1100px){nav.main-nav .logo-img{height:54px}}
@media(max-width:900px){nav.main-nav .logo-img{height:46px}}
.nav-dropdown-toggle{color:#fff}
.nav-dropdown-toggle:hover{color:var(--red)}
.mobile-nav-toggle span{background:#fff}

/* Auto-scrolling credibility marquee: white plate, red lettering */
.top-bar{background:#fff;color:var(--red);border-bottom:1px solid var(--border)}
.top-bar::before{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%)}
.top-bar::after{background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%)}
.tb-item{color:var(--red);font-weight:600}
.tb-item strong{color:var(--red)}
.tb-item-dot{background:var(--red)}
.tb-item-star{color:var(--red)}

/* Red header tags throughout. Large display type, so red clears WCAG AA
   contrast on both the white and the black grounds used on this site. */
h1,h2,h3,h4,h5,h6,.st,.sec-title{color:var(--red)}
.section-navy h1,.section-navy h2,.section-navy h3,.section-navy h4,
.st-w,.sec-title-w{color:var(--red)}
.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.85)}
.hero h1 em{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.8)}

footer h4{color:var(--red)}

/* ── components used by the rebuilt pages ────────────────────────────────── */
.hero-inner{width:100%;max-width:1280px;margin:0 auto;position:relative;z-index:2}
.hero-copy{max-width:820px}
.hero--compact{min-height:auto;padding:56px var(--pad-x)}
.hero--compact h1{font-size:clamp(30px,4.4vw,48px)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}

.btn-secondary{display:inline-block;font-family:var(--f-display);font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;font-size:13px;padding:14px 24px;
  border-radius:2px;text-decoration:none;background:transparent;color:#fff;
  border:2px solid var(--red);transition:background .18s,color .18s}
.btn-secondary:hover{background:var(--red);color:#fff}
.section .btn-secondary,.section-alt .btn-secondary{color:var(--red)}
.section .btn-secondary:hover,.section-alt .btn-secondary:hover{color:#fff}

/* Homepage lead capture — R12: sits below the hero, never inside it */
.lead-capture{background:var(--cream-warm);padding:64px var(--pad-x);
  border-bottom:1px solid var(--border-light)}
.ls-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
  max-width:1280px;margin:0 auto}
.ls-copy p{color:var(--text);font-size:17px;line-height:1.65}
.ls-points{list-style:none;padding:0;margin:22px 0}
.ls-points li{position:relative;padding-left:26px;margin-bottom:10px;color:var(--text)}
.ls-points li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;
  background:var(--red);border-radius:2px}
.ls-phone{display:inline-block;font-family:var(--f-display);font-size:26px;font-weight:700;
  color:var(--red);letter-spacing:.5px;margin-top:8px}
.ls-form-card{background:#fff;border:1px solid var(--border);border-top:4px solid var(--red);
  border-radius:4px;padding:28px;box-shadow:0 10px 32px rgba(0,0,0,.10)}
.ls-form-card h2{font-size:24px;margin-bottom:6px}
.lf-sub{color:var(--muted);font-size:14.5px;margin:0 0 18px}
.section-navy .ls-copy p,.section-navy .ls-points li{color:rgba(255,255,255,.92)}

/* Proof bar tiles */
.pb-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 18px}
.pb-item strong{font-family:var(--f-display);font-size:30px;color:var(--red);line-height:1}
.pb-item span{font-size:13px;color:var(--muted);letter-spacing:.4px}

/* Service card grid */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;
  margin-top:30px}
.svc-card{display:block;background:#fff;border:1px solid var(--border);border-radius:4px;
  overflow:hidden;text-decoration:none;color:inherit;transition:transform .22s,box-shadow .22s}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.svc-card img{width:100%;height:190px;object-fit:cover;display:block;background:var(--cream)}
.svc-card-body{padding:18px 20px 22px}
.svc-card-body h3{font-size:19px;margin:0 0 8px}
.svc-card-body p{color:var(--muted);font-size:14.5px;margin:0 0 12px}
.svc-card-link{font-family:var(--f-display);font-size:12.5px;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--red);font-weight:600}

/* Two-column service / county / city body */
.sv-grid,.ab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start;
  max-width:1280px;margin:0 auto}
.sv-copy p,.ab-copy p{color:var(--text);font-size:17px;line-height:1.7;margin:0 0 16px}
.sv-copy h3,.ab-copy h3{font-size:20px;margin:26px 0 10px}
.sv-photo img,.ab-photo img{width:100%;height:auto;border-radius:4px;display:block;
  border:1px solid var(--border)}
.sv-list{list-style:none;padding:0;margin:20px 0}
.sv-list li{position:relative;padding-left:28px;margin-bottom:11px;color:var(--text);
  font-size:16px}
.sv-list li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;
  background:var(--red);border-radius:2px}

/* "At a glance" chips on city pages */
.glance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;
  margin-top:26px}
.glance-item{background:#fff;border:1px solid var(--border);border-left:4px solid var(--red);
  padding:14px 16px;font-size:14.5px;color:var(--text);border-radius:3px}

@media(max-width:900px){
  .ls-grid,.sv-grid,.ab-grid{grid-template-columns:1fr;gap:32px}
  .lead-capture{padding:44px 20px}
  .svc-card img{height:170px}
}

/* Hero photo layer — black-based scrim so the red H1 stays legible over it */
.hero-bg picture{display:block;width:100%;height:100%}
.hero-bg::after{background:
  linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.88) 32%,rgba(0,0,0,.62) 62%,rgba(0,0,0,.30) 86%,rgba(0,0,0,.14) 100%),
  linear-gradient(180deg,rgba(0,0,0,.30) 0%,transparent 28%,transparent 68%,rgba(0,0,0,.42) 100%)}
.hero--compact .hero-bg::after{background:
  linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.90) 38%,rgba(0,0,0,.68) 70%,rgba(0,0,0,.42) 100%)}

/* County link mesh (R14). Own classes — .fg-col colours assume the dark footer
   and render invisible on the light section background. */
.cty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;
  margin-top:34px;max-width:1280px;margin-left:auto;margin-right:auto}
.cty-col h4{font-family:var(--f-display);font-size:13px;letter-spacing:2px;text-transform:uppercase;
  margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--red)}
.cty-col h4 a{color:var(--red-ink);text-decoration:none}
.cty-col ul{list-style:none;padding:0;margin:0}
.cty-col li{margin-bottom:8px}
.cty-col li a{color:var(--text);text-decoration:none;font-size:15px}
.cty-col li a:hover{color:var(--red);text-decoration:underline}
.section-navy .cty-col li a{color:rgba(255,255,255,.9)}

/* ── contrast corrections ────────────────────────────────────────────────────
   Components below were authored against a dark parent. The rebuilt pages
   place several of them on light sections, so they need light-ground colours. */

/* Brand red is #ED1B24 (from the logo) and clears AA at large heading sizes,
   but lands at 4.39:1 on white — just under the 4.5 needed for body-size text.
   --red-ink is the same hue a few steps darker for small text and solid fills. */
:root{--red-ink:#D8151D}
.sk,.svc-card-link,.tb-item,.tb-item strong,.cty-col li a:hover{color:var(--red-ink)}
.nav-cta,.btn-primary,.submit-btn,.cb-btn,.sc-quote,.fs-btn{background:var(--red-ink)}
.btn-secondary:hover{background:var(--red-ink)}
.section .btn-secondary,.section-alt .btn-secondary{color:var(--red-ink);border-color:var(--red-ink)}
.ls-phone{color:var(--red-ink)}

/* Breadcrumb bar sits on --cream, not on the hero */
.breadcrumbs,.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--red-ink)}
.breadcrumbs a{text-decoration:underline}

/* .area-card is a dark tile; give its h3/p/a the light-on-dark colours the
   original markup only ever defined for h4/ul/li */
.area-card h3{color:#fff;font-size:17px;margin:0 0 10px;letter-spacing:.5px}
.area-card p{color:rgba(255,255,255,.88);font-size:14px;line-height:1.55;margin:0 0 12px}
.area-card a{color:var(--red-light);font-family:var(--f-display);font-size:12.5px;
  letter-spacing:1.4px;text-transform:uppercase;font-weight:600;text-decoration:none}
.area-card a:hover{color:#fff;text-decoration:underline}

/* .fg-nap is reused on the contact page, which has a light background */
.ls-copy .fg-nap strong{color:var(--text)}
.ls-copy .fg-nap a{color:var(--red-ink);text-decoration:underline}
.ls-copy .fg-nap a:hover{color:var(--red)}

/* CTA banner is a solid red ground: everything on it stays white, and the ground
   itself uses --red-ink so 12-16px white text clears AA. */
.cta-banner{background:var(--red-ink)}
.cta-banner .cb-title,.cta-banner .cb-phone{color:#fff}
.cta-banner .cb-sub,.cta-banner .cb-phone-sub{color:rgba(255,255,255,.96)}
.cb-btn{background:#fff;color:var(--red-ink)}
.cb-btn:hover{background:#000;color:#fff}

/* Body links: --red on white is 4.39:1, just under AA for text-size runs */
a{color:var(--red-ink)}
.hero a,.section-navy a,footer a,.cta-banner a,.sticky-cta a{color:inherit}

/* Explicit colours for chrome that must not inherit from its ground */
.main-nav .nav-cta{color:#fff;background:var(--red-ink)}
/* Direct children only — the services dropdown panel is inside .nav-links and
   must not inherit the white-on-black bar colour. */
.main-nav .nav-links > a{color:#fff}
.main-nav .nav-links > a:hover,.main-nav .nav-links > a.active{color:var(--red-light)}
.main-nav .nav-phone{color:#fff}
.sticky-cta .sc-quote{background:var(--red-ink);color:#fff}
.sticky-cta .sc-call{color:#fff}
.hero .btn-primary,.section-navy .btn-primary{color:#fff;background:var(--red-ink)}
.cta-banner .cb-btn{background:#fff;color:var(--red-ink)}

/* Kickers and stat labels on black grounds */
.sk-lite{color:#FF6B72}
.proof-bar .pb-item span{color:rgba(255,255,255,.82)}
.proof-bar .pb-item strong{color:#FF6B72}

/* .sk-lite is used on dark heroes AND on the light lead-capture panels */
.lead-capture .sk-lite,.lead-section .sk-lite,.section .sk-lite,.section-alt .sk-lite{color:var(--red-ink)}
.hero .sk-lite,.section-navy .sk-lite,.cta-banner .sk-lite{color:#FF6B72}

/* ── lead form: scaled down ──────────────────────────────────────────────────
   The card sat in a half-width grid column, so on wide viewports the fields
   stretched to ~900px and the six stacked rows dominated the section. Cap the
   card and tighten every control. */
.ls-grid{grid-template-columns:1.15fr .85fr;gap:56px}
.ls-form-card{max-width:430px;margin-left:auto;padding:22px 20px}
.ls-form-card h2{font-size:19px;margin-bottom:4px}
.ls-form-card .lf-sub{font-size:13px;margin-bottom:14px}
.ls-form-card .lead-form label{font-size:10.5px;margin-bottom:9px;letter-spacing:.6px}
.ls-form-card .lead-form input,
.ls-form-card .lead-form select,
.ls-form-card .lead-form textarea{margin-top:4px;padding:8px 10px;font-size:13.5px;
  border-radius:3px}
.ls-form-card .lead-form textarea{min-height:58px}
.ls-form-card .lead-form .submit-btn{padding:11px 16px;font-size:12px;margin-top:4px;
  letter-spacing:1.2px}
@media(max-width:900px){
  .ls-grid{grid-template-columns:1fr;gap:30px}
  .ls-form-card{max-width:none;margin-left:0}
}

/* Services dropdown header. .ddm-head-sub was white on a white panel —
   ratio 1.0, invisible. The whole header block reads black. */
.ddm-head{background:#fff;border-bottom:1px solid var(--border)}
.ddm-head-title{color:#000;font-weight:700}
.ddm-head-sub{color:#000;font-weight:600;text-decoration:none}
.ddm-head-sub:hover{color:var(--red-ink);text-decoration:underline}

/* Dropdown panel sits on white, so its own text colours apply regardless of
   the black bar it hangs from. */
.main-nav .ddm .ddm-head-title{color:#000}
.main-nav .ddm .ddm-head-sub{color:#000}
.main-nav .ddm .ddm-head-sub:hover{color:var(--red-ink)}
.main-nav .ddm .ddm-item{color:var(--text)}
.main-nav .ddm .ddm-item strong{color:#000}
.main-nav .ddm .ddm-item em{color:var(--muted)}
.main-nav .ddm .ddm-item:hover strong{color:var(--red-ink)}

/* Dropdown icon tiles were still rgba(75,156,211,…) — Carolina blue from the
   previous theme. Brand red tint instead. */
.main-nav .ddm .ddm-ico{background:rgba(237,27,36,.10);color:var(--red-ink)}
.main-nav .ddm .ddm-item:hover .ddm-ico{background:rgba(237,27,36,.18)}

/* Locations dropdown (playbook §1) — county-grouped, wider than the services panel */
.ddm--locations{min-width:min(920px,94vw)}
.ddm-loc-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:18px 22px;padding:18px 22px 22px}
.ddm-loc-col h4{font-family:var(--f-display);font-size:12px;letter-spacing:1.6px;
  text-transform:uppercase;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--red)}
.main-nav .ddm--locations .ddm-loc-col h4 a{color:var(--red-ink);text-decoration:none}
.main-nav .ddm--locations .ddm-loc-col a{display:block;color:var(--text);font-size:14px;
  padding:3px 0;text-decoration:none}
.main-nav .ddm--locations .ddm-loc-col a:hover{color:var(--red-ink);text-decoration:underline}
@media(max-width:1100px){.ddm--locations{min-width:min(680px,94vw)}}

/* Two portrait shots stacked made the About column far taller than its copy.
   Side by side keeps the section balanced. */

/* ── lead form: wider, shorter ───────────────────────────────────────────────
   Six stacked fields made a tall narrow column. Pairing the short fields two
   across halves the height and uses the extra width. */
.ls-form-card{max-width:520px}
.ls-form-card .lead-form,
.hero-form-card .lead-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ls-form-card .lead-form label:nth-of-type(n+5),
.hero-form-card .lead-form label:nth-of-type(n+5),
.ls-form-card .lead-form .submit-btn,
.hero-form-card .lead-form .submit-btn,
.ls-form-card .lead-form .hc-error,
.hero-form-card .lead-form .hc-error{grid-column:1 / -1}
.ls-form-card .lead-form textarea,
.hero-form-card .lead-form textarea{min-height:52px}
@media(min-width:901px){
  .ls-grid{grid-template-columns:1fr .95fr;gap:48px}
}

/* hero split — form column beside the copy */
.hero--form{min-height:auto;padding:52px var(--pad-x)}
.hero--form .hero-copy{max-width:none}
.hero--form .hero-form-card .lead-form label{color:var(--text)}
.hero--form .hfc-head h2{color:var(--red-ink);font-size:1.4rem}

@media(max-width:900px){
  .ls-form-card .lead-form,.hero-form-card .lead-form{grid-template-columns:1fr}
  .ls-form-card .lead-form label:nth-of-type(n+1){grid-column:1 / -1}
  .ls-form-card{max-width:none}
}

/* reviews menu + contact-page review buttons */
.ddm--reviews{min-width:340px}
.ddm--reviews .ddm-head{padding-bottom:8px}
.rev-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.rev-actions .btn-secondary{border-color:var(--red);color:var(--red-ink)}
.rev-actions .btn-secondary:hover{background:var(--red-ink);color:#fff}
/* .ddm-item carried gap + align-items but never a flex display, so every
   dropdown icon stacked above its label instead of sitting beside it. */
.main-nav .ddm .ddm-item{display:flex;align-items:center}
.main-nav .ddm .ddm-ico{flex:none;display:flex;align-items:center;justify-content:center}
@media(min-width:1100px){
  .main-nav .ddm--wide{min-width:620px}
}

/* "What you actually get" cards: badge left, title stacked over its copy.
   .why-item was already flex, but with a bare h3 and p as its two children
   the heading became a narrow left column instead of a heading. */
.why-item{display:flex;gap:16px;align-items:flex-start}
.why-txt{min-width:0}
.why-ico{flex:none;width:44px;height:44px;border-radius:50%;background:var(--red);
  color:#fff;display:flex;align-items:center;justify-content:center;margin-top:2px}
.why-ico svg{width:23px;height:23px}
.why-ico--num{font-family:var(--f-ui);font-weight:700;font-size:19px;line-height:1}
.why-item h3{font-family:var(--f-display);font-weight:700;font-size:19px;letter-spacing:.4px;
  line-height:1.2;margin:0 0 7px}
.why-item p{font-family:var(--f-body);font-size:15px;line-height:1.6;margin:0}
.section-navy .why-item h3{color:var(--red)}
.section-navy .why-item p{color:rgba(255,255,255,.9)}
.section:not(.section-navy) .why-item h3{color:var(--red-ink)}
.section:not(.section-navy) .why-item p{color:var(--text)}

/* brand band — the cap photo, moved off the About block so the owner photo
   goes back to full width */
.brand-band{background:var(--navy-deep);border-top:3px solid var(--red);
  border-bottom:3px solid var(--red);padding:56px var(--pad-x)}
.bb-grid{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center}
.bb-photo img{display:block;width:100%;height:auto;border-radius:6px}
.bb-copy p{font-family:var(--f-body);font-size:17px;line-height:1.7;
  color:rgba(255,255,255,.9);margin:0 0 24px;max-width:60ch}
.bb-actions{display:flex;flex-wrap:wrap;gap:14px}
.bb-actions .btn-secondary{border-color:#fff;color:#fff}
.bb-actions .btn-secondary:hover{background:#fff;color:var(--navy-deep)}
@media(max-width:900px){
  .bb-grid{grid-template-columns:1fr;gap:28px}
  .bb-photo{max-width:260px}
  .why-ico{width:40px;height:40px}
  .why-ico svg{width:21px;height:21px}
}

/* Hero copy is white over the photograph; only the eyebrow stays red.
   Red headings measured poorly against a lightened scrim, and the photos
   were being buried to make them work. */
.hero h1,.hero h1 em,.hero-sub{color:#fff}
.hero h1{text-shadow:0 2px 20px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.6)}
.hero h1 em{text-shadow:0 2px 16px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.6)}
.hero-sub{text-shadow:0 1px 12px rgba(0,0,0,.8),0 1px 2px rgba(0,0,0,.6)}
/* The eyebrow keeps the brand red, so it leans on a shadow over the lighter
   scrim: average contrast is 5.9-7.2:1, but isolated bright sky pixels dip
   to ~3.2 without it. */
.hero .sk-lite{text-shadow:0 1px 10px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.7)}
