.ph,.ph-sm{fill:currentColor}.announce-inner,body{font-family:Manrope,Roboto,system-ui,sans-serif}.announce-inner,a{text-decoration:none}.container,header{padding:0 var(--px)}.brand-item,.btn{text-transform:uppercase}.faq-item,.hero,.rv-card,.sr-only,.svc-card{overflow:hidden}.btn,.faq-btn,.form-wrap button,.form-wrap select,.tcpa-label,.vid-thumb{cursor:pointer}*,::after,::before{box-sizing:border-box;margin:0;padding:0}.container{max-width:var(--w);margin:0 auto}.hdr{max-width:var(--w-wide);margin:0 auto}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{color:#333;background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}:root{--blue:#2970eb;--blue-dk:#1a50c0;--dark:#111827;--gold:#f5a623;--gold-lt:#ffd15c;--gray:#f5f7fa;--navy:#0f1f3d;--text:#4b5563;--white:#ffffff;--w:1280px;--w-wide:1280px;--px:24px;--sec-v:88px;--fs-hero:clamp(42px, 5vw, 76px);--fs-h2:clamp(32px, 3.8vw, 52px);--fs-h3:clamp(20px, 2vw, 26px);--fs-h4:20px;--fs-eyebrow:18px;--fs-body:16px;--fs-sm:14px;--fs-xs:13px;--gap-xl:56px;--gap-lg:40px;--gap-md:24px;--gap-sm:16px;--gap-xs:8px;--r-sm:4px;--r-md:8px;--r-lg:14px}.ph{width:20px;height:20px;flex-shrink:0}.ph-sm{width:16px;height:16px;flex-shrink:0}.announce-inner,.btn{display:inline-flex;align-items:center}.adg,.sec-pad{padding:var(--sec-v) var(--px)}.announce-bar{background:linear-gradient(90deg,#0a1633 0,#152a5e 50%,#0a1633 100%);color:#e6eef9;text-align:center;padding:9px 16px;border-bottom:1px solid rgba(245,166,35,.18);position:relative}.announce-bar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0,rgba(245,166,35,.5) 50%,transparent 100%)}.announce-inner{justify-content:center;gap:10px;flex-wrap:wrap;font-size:14.5px;font-weight:400;color:#e6eef9;letter-spacing:.01em}.announce-gift{width:18px;height:18px;fill:var(--gold);flex-shrink:0}.announce-text{color:#b9c8e0}.announce-pill{background:linear-gradient(135deg,var(--gold) 0,var(--gold-lt) 100%);color:var(--dark);font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;letter-spacing:.05em;white-space:nowrap;vertical-align:middle;box-shadow:0 1px 4px rgba(245,166,35,.35);text-transform:uppercase}.announce-inner strong{font-weight:700;font-size:15.5px;color:#fff;letter-spacing:.015em}.announce-inner svg,.sticky-quote svg{width:16px;height:16px;fill:#fff;flex-shrink:0}.announce-inner:hover{opacity:.92}@media (max-width:600px){.announce-inner{font-size:13px;gap:6px}.announce-inner strong{font-size:14px}}.btn{justify-content:center;gap:10px;background:var(--blue);color:var(--white);font-family:Teko,sans-serif;font-size:24px;font-weight:600;padding:13px 34px;border:none;border-radius:var(--r-sm);letter-spacing:.04em;transition:background .2s,filter .2s;white-space:nowrap;min-height:54px}.hdr,.hdr-logo{display:flex;align-items:center}.btn:hover{background:var(--blue-dk)}.hdr-phone:hover{background:rgba(245,166,35,.1);border-color:var(--gold);color:var(--gold-lt)}.btn-gold{background:linear-gradient(135deg,#ffb627 0%,#ffd980 50%,#ffb627 100%);color:#0d1224;border:1px solid rgba(255,232,170,.55);border-radius:8px;box-shadow:0 6px 18px rgba(245,166,35,.32),0 2px 5px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(0,0,0,.06);transition:transform .2s ease,box-shadow .2s ease;text-shadow:0 1px 0 rgba(255,255,255,.25)}.btn-gold:hover{background:linear-gradient(135deg,#ffb627 0%,#ffd980 50%,#ffb627 100%);transform:translateY(-2px);box-shadow:0 9px 24px rgba(245,166,35,.45),0 3px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.06);filter:none}.btn-lg{font-size:28px;padding:15px 42px;min-height:62px}header{position:sticky;top:0;z-index:200;background:var(--dark);box-shadow:0 2px 16px rgba(0,0,0,.55)}.hdr{justify-content:space-between;padding:16px 0;gap:24px;position:relative}.hdr-logo{gap:16px;min-width:0}.hdr-logo-img,.hdr-right{align-items:center;display:flex}.hdr-logo-img{flex-shrink:0}.hdr-logo-img img{height:66px;width:auto;display:block;filter:drop-shadow(1px 0 0 rgba(255,255,255,.5)) drop-shadow(-1px 0 0 rgba(255,255,255,.5)) drop-shadow(0 1px 0 rgba(255,255,255,.5)) drop-shadow(0 -1px 0 rgba(255,255,255,.5))}.hdr-logo-tagline{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:9px;background:linear-gradient(180deg,rgba(255,228,168,.28) 0%,rgba(245,166,35,.20) 35%,rgba(180,115,10,.22) 100%);border:1px solid rgba(255,228,168,.5);color:#ffd980;font-family:Manrope,Roboto,system-ui,sans-serif;font-size:13.5px;font-weight:500;letter-spacing:.04em;padding:7px 18px;border-radius:999px;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.25),inset 0 2px 4px rgba(255,255,255,.22),inset 0 -2px 4px rgba(0,0,0,.18);white-space:nowrap;line-height:1;z-index:1}.hdr-logo-tagline::after{content:'';position:absolute;top:1px;left:8%;right:8%;height:45%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,transparent 100%);pointer-events:none}.hdr-logo-tagline strong{color:#fff;font-weight:800;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.4);position:relative;z-index:1}.hdr-logo-tagline span{position:relative;z-index:1}.hdr-tagline-icon{width:14px;height:14px;fill:var(--gold);flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));position:relative;z-index:1}.hdr-free,.hdr-phone{font-family:Teko,sans-serif;border-radius:var(--r-sm);white-space:nowrap}.hdr-right{gap:20px;flex-shrink:0}.hdr-loc{color:#bbb;font-size:var(--fs-sm);display:flex;align-items:center;gap:6px}.hdr-loc svg{width:14px;height:14px;fill:var(--gold);flex-shrink:0}.hdr-phone,.trust-inner{align-items:center;display:flex}.hdr-free{background:var(--gold);color:var(--dark);font-size:15px;font-weight:700;padding:6px 14px;letter-spacing:.05em}.hdr-phone{background:transparent;border:1.5px solid rgba(245,166,35,.45)}.hdr-phone{color:var(--gold)}.hero h1,.trust-item{color:var(--white)}.brand-item,.hdr-phone,.hero h1,.sec-title,.trust-item{font-weight:600}.hdr-phone{font-size:25px;padding:11px 32px;gap:10px;transition:background .2s,border-color .2s,color .2s;min-height:52px}.hdr-247-badge{display:none;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffe69e 0%,#f5a623 50%,#b8730a 100%);box-shadow:0 0 0 1px rgba(245,166,35,.4),0 6px 14px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.25),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -3px 6px rgba(120,60,0,.45);align-items:center;justify-content:center;font-family:Teko,sans-serif;font-size:17px;font-weight:700;color:#0d1224;text-decoration:none;line-height:1;letter-spacing:.5px;flex-shrink:0;position:relative;text-shadow:0 1px 0 rgba(255,255,255,.4);transition:transform .2s ease,box-shadow .2s ease}.hdr-247-badge::after{content:'';position:absolute;top:4px;left:8px;right:8px;height:30%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.55) 0%,transparent 70%);pointer-events:none}.hdr-247-badge:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 0 0 1px rgba(245,166,35,.5),0 8px 18px rgba(0,0,0,.45),0 3px 6px rgba(0,0,0,.3),inset 0 2px 3px rgba(255,255,255,.6),inset 0 -3px 6px rgba(120,60,0,.45)}.hdr-247-text{position:relative;z-index:1}@media (max-width:767px){.hdr-247-badge{display:inline-flex}}.hdr-phone svg{fill:var(--gold)}.trust-bar{padding:13px var(--px)}.trust-inner{max-width:100%;justify-content:space-evenly;flex-wrap:wrap;gap:6px 0}.trust-item{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);white-space:nowrap;line-height:1}.trust-item svg{width:15px;height:15px;fill:var(--gold);flex-shrink:0;display:block}.hero{background:radial-gradient(ellipse 80% 60% at 22% 35%,rgba(245,166,35,.08) 0%,transparent 55%),linear-gradient(135deg,#0b1d45 0,#132d6a 100%);display:grid;grid-template-columns:55% 45%;min-height:480px;position:relative}.hero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.045;pointer-events:none;mix-blend-mode:overlay;z-index:1}.hero-content,.hero-photo-desktop{position:relative;z-index:2}.hero-content{display:flex;align-items:center;padding:52px 56px 52px max(24px,calc((100vw - 1328px)/ 2 + 24px));position:relative;z-index:2}.hero-inner{width:100%;text-align:center}.about-badge,.e-num,.near-cities,.proc-step,.process,.services,.svc-card,.text-c{text-align:center}.hero-photo-desktop{display:block;overflow:hidden;position:relative}.hero-photo-desktop img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;min-height:100%}.hero-photo-desktop::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(11,29,69,.95) 0,rgba(11,29,69,.7) 8%,rgba(15,45,106,.35) 18%,rgba(15,45,106,.12) 30%,transparent 45%);pointer-events:none}.hero-stat-badge{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:rgba(11,22,55,.6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(245,166,35,.35);border-radius:10px;padding:12px 18px;box-shadow:0 8px 28px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);z-index:3;white-space:nowrap}.hero-stat-icon{width:26px;height:26px;fill:var(--gold);flex-shrink:0;filter:drop-shadow(0 1px 4px rgba(245,166,35,.4))}.hero-stat-text{display:flex;flex-direction:column;line-height:1.15;font-family:Manrope,Roboto,system-ui,sans-serif}.hero-stat-text strong{font-family:Teko,sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:.02em;line-height:1}.hero-stat-text span{font-size:12px;font-weight:500;color:#d4e4ff;margin-top:3px;letter-spacing:.04em;text-transform:uppercase}@media (max-width:1024px){.hero-stat-badge{bottom:20px;padding:10px 14px;gap:10px}.hero-stat-icon{width:22px;height:22px}.hero-stat-text strong{font-size:16px}.hero-stat-text span{font-size:11px}}.hero-photo-mobile{display:none}.hero-eyebrow{font-family:Manrope,Roboto,system-ui,sans-serif;font-style:normal;font-size:var(--fs-eyebrow);font-weight:600;color:#ffd980;margin-bottom:10px;display:block;letter-spacing:.005em}@media (max-width:767px){.hero-eyebrow{font-size:13px;letter-spacing:0}}@media (max-width:479px){.hero-eyebrow{font-size:12px}}.about-badge .num,.brand-item,.hero h1,.sec-title{font-family:Teko,sans-serif}.hero h1{font-size:clamp(44px, 5.5vw, 80px);line-height:.92;margin-bottom:14px;letter-spacing:-.012em;background:linear-gradient(180deg,#fff 0%,#fff 60%,#ffe4a8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 24px rgba(0,0,0,.4));animation:hero-fade-in .7s cubic-bezier(.21,.6,.35,1) .1s both}.hero-eyebrow{animation:hero-fade-in .7s cubic-bezier(.21,.6,.35,1) both}.hero-serving{animation:hero-fade-in .7s cubic-bezier(.21,.6,.35,1) .2s both}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero h1,.hero-eyebrow,.hero-serving{animation:none}}.hero-bullets{list-style:none;margin:0 0 18px;display:flex;flex-direction:column;gap:10px}.hero-bullets li{display:flex;align-items:center;gap:10px;color:#d4e4ff;font-size:var(--fs-body);font-style:italic;text-align:left;line-height:1.45}.hero-bullets li::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--gold);flex-shrink:0}.hero-cta-row,.hero-ratings{align-items:center;display:flex}.hero-cta-row{gap:var(--gap-md);flex-wrap:wrap}.hero-ratings{justify-content:flex-start;gap:32px;flex-wrap:wrap;margin-bottom:26px;width:100%}.brands-inner,.near-cities p{margin:0 auto;max-width:var(--w)}.hero-ratings img{height:72px;width:auto;display:block}.hero-phone-cta{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#ffb627 0%,#ffd980 50%,#ffb627 100%);padding:20px 32px;border-radius:14px;box-shadow:0 14px 40px rgba(245,166,35,.45),0 4px 14px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(0,0,0,.07);color:#0d1224;margin:14px auto 16px;transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;width:100%;max-width:460px;gap:7px;text-align:center;border:1.5px solid rgba(255,232,170,.7);position:relative}.hero-phone-cta:hover{transform:translateY(-3px);box-shadow:0 20px 52px rgba(245,166,35,.6),0 6px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.07)}.hero-phone-cta .ph-big{width:36px;height:36px;flex-shrink:0;fill:var(--dark);animation:ph-pulse 2.4s ease-in-out infinite}@keyframes ph-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(17,24,39,0))}50%{transform:scale(1.08);filter:drop-shadow(0 0 6px rgba(17,24,39,.25))}}@media (prefers-reduced-motion:reduce){.hero-phone-cta .ph-big{animation:none}}.hero-phone-cta .lbl{font-family:Manrope,Roboto,system-ui,sans-serif;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;line-height:1;color:rgba(13,18,36,.78)}.hero-phone-cta .num{display:inline-flex;align-items:center;gap:14px;font-family:Teko,sans-serif;font-size:46px;font-weight:700;line-height:1;letter-spacing:.018em;text-shadow:0 1px 0 rgba(255,255,255,.35)}.hero-phone-cta .reassure{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;opacity:.88;margin-top:2px;line-height:1}.cta-status-dot{width:8px;height:8px;border-radius:50%;background:#047857;box-shadow:0 0 0 1.5px rgba(255,255,255,.5);animation:cta-pulse-green 2s ease-out infinite;flex-shrink:0}@keyframes cta-pulse-green{0%{box-shadow:0 0 0 1.5px rgba(255,255,255,.5),0 0 0 0 rgba(4,120,87,.55)}70%{box-shadow:0 0 0 1.5px rgba(255,255,255,.5),0 0 0 6px rgba(4,120,87,0)}100%{box-shadow:0 0 0 1.5px rgba(255,255,255,.5),0 0 0 0 rgba(4,120,87,0)}}@media (prefers-reduced-motion:reduce){.cta-status-dot{animation:none}}.hero-trust-line{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 12px;font-size:14px;font-weight:500;color:#d4e4ff}.hero-trust-line>span{display:inline-flex;align-items:center;gap:6px}.hero-trust-line svg{width:14px;height:14px;fill:var(--gold);flex-shrink:0}.hero-trust-line em{background:var(--gold);color:var(--dark);font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.04em;font-style:normal;margin-left:4px}.hero-photo-desktop img,.hero-photo-mobile img{transform-origin:center 42%;animation:hero-zoom 22s ease-in-out infinite alternate}@keyframes hero-zoom{0%{transform:scale(1)}100%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.hero-photo-desktop img,.hero-photo-mobile img{animation:none}}.hero-serving{font-family:Manrope,Roboto,system-ui,sans-serif;font-style:italic;font-size:17px;font-weight:500;color:#d4e4ff;margin:-6px 0 16px;letter-spacing:.01em;line-height:1.4}.hero-serving span[data-dyn="city"]{color:var(--gold);font-weight:600;font-style:normal;letter-spacing:.005em}@media (max-width:767px){.hero-serving{font-size:15px;margin:-2px 0 12px}}.hero-trust-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 8px;margin:6px auto 14px;font-size:12px;font-weight:500;color:#d4e4ff;line-height:1.4;background:rgba(10,22,55,.5);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border:1px solid rgba(245,166,35,.22);border-radius:12px;padding:8px 16px;box-shadow:0 4px 14px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06);width:fit-content;max-width:100%}.hero-rated-on{display:flex;justify-content:center;align-items:center;gap:32px;margin:0 0 18px;flex-wrap:wrap}.hero-rated-on img{height:56px;width:auto;display:block}@media (max-width:767px){.hero-rated-on{gap:24px;margin-bottom:14px}.hero-rated-on img{height:48px}}.hero-trust-strip .hts-item,.hero-trust-strip .hts-stars{display:inline-flex;align-items:center;gap:6px}.hero-trust-strip .hts-star-icons{color:var(--gold);font-size:15px;letter-spacing:1px;line-height:1}.hero-trust-strip strong{color:#fff;font-weight:700;margin:0 2px 0 4px}.hero-trust-strip svg{width:14px;height:14px;fill:var(--gold);flex-shrink:0}.hero-trust-strip .hts-sep{color:rgba(212,228,255,.4);font-weight:400;user-select:none}.hero-wyg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 auto 14px;width:100%;max-width:660px}.hero-wyg-card{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.02) 60%,rgba(245,166,35,.03) 100%);border:1px solid rgba(245,166,35,.14);border-radius:10px;padding:18px 12px 14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-align:left;box-shadow:0 2px 10px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.04);transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;overflow:hidden}.hero-wyg-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0;background:var(--gold)}.hero-wyg-card[data-accent="green"]::before{background:linear-gradient(90deg,#16a34a,#22c55e)}.hero-wyg-card[data-accent="orange"]::before{background:linear-gradient(90deg,#ea580c,#fb923c)}.hero-wyg-card[data-accent="blue"]::before{background:linear-gradient(90deg,#2563eb,#60a5fa)}.hero-wyg-card[data-accent="gold"]::before{background:linear-gradient(90deg,#b8730a,#ffd980)}.hero-wyg-icon-wrap{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffe69e 0%,#f5a623 50%,#b8730a 100%);box-shadow:0 4px 10px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.2),inset 0 2px 3px rgba(255,255,255,.55),inset 0 -2px 4px rgba(120,60,0,.4);display:flex;align-items:center;justify-content:center;margin-bottom:10px;position:relative;transition:transform .25s ease,box-shadow .25s ease}.hero-wyg-icon-wrap::after{content:'';position:absolute;top:3px;left:6px;right:6px;height:35%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.55) 0%,transparent 70%);pointer-events:none}.hero-wyg-card:hover .hero-wyg-icon-wrap{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 14px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.25),inset 0 2px 3px rgba(255,255,255,.6),inset 0 -2px 4px rgba(120,60,0,.4)}.hero-wyg-card:hover{transform:translateY(-3px) scale(1.015);border-color:rgba(245,166,35,.5);background:linear-gradient(160deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.05) 60%,rgba(245,166,35,.08) 100%);box-shadow:0 10px 24px rgba(0,0,0,.28),0 0 0 1px rgba(245,166,35,.25),inset 0 1px 0 rgba(255,255,255,.1)}.hero-wyg-icon{width:22px;height:22px;fill:#0d1224;display:block;margin:0;position:relative;z-index:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}.hero-wyg-h{font-family:Teko,sans-serif;font-size:17px;font-weight:600;color:#fff;line-height:1.1;margin-bottom:4px;letter-spacing:.02em}.hero-wyg-p{font-size:12.5px;color:#d4e4ff;line-height:1.45;font-weight:400}.hero-wyg-p .wyg-short{display:none}.hero-secondary-cta{display:inline-flex;align-items:center;gap:9px;background:transparent;border:1px solid rgba(245,166,35,.32);color:rgba(245,166,35,.85);font-family:Teko,sans-serif;font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:9px 20px;border-radius:6px;margin-top:14px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.hero-secondary-cta:hover{background:rgba(245,166,35,.08);border-color:rgba(245,166,35,.6);color:var(--gold)}.hero-secondary-cta svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}@media (max-width:767px){.hero-trust-strip{font-size:13px;justify-content:center;gap:8px 12px;margin-bottom:14px;padding:9px 16px;border-radius:12px}.hero-trust-strip .hts-sep{display:none}.hero-trust-strip>*{padding:2px 0}.hero-wyg-grid{grid-template-columns:1fr 1fr;gap:8px;max-width:100%;margin-bottom:12px}.hero-wyg-card{padding:11px 10px;text-align:center}.hero-wyg-icon-wrap{margin:0 auto 8px;width:38px;height:38px}.hero-wyg-icon{width:18px;height:18px}.hero-wyg-h{font-size:14px;margin-bottom:2px;line-height:1.15}.hero-wyg-p{display:block;font-size:11px;margin-top:2px;color:#9eb6db;font-weight:500;line-height:1.3}.hero-wyg-p .wyg-long{display:none}.hero-wyg-p .wyg-short{display:inline}.hero-secondary-cta{font-size:18px;padding:10px 20px;margin-top:14px;justify-content:center;width:100%;text-align:center}}@media (max-width:767px){.hero-phone-cta{padding:16px 20px;gap:5px;max-width:100%;align-items:center}.hero-phone-cta .num{font-size:32px;gap:11px}.hero-phone-cta .ph-big{width:30px;height:30px}.hero-phone-cta .lbl{font-size:14px}.hero-phone-cta .reassure{font-size:12px}.hero-trust-line{font-size:13px;gap:10px 16px;justify-content:center}.hero-trust-line em{font-size:10px;padding:1px 6px}.hero-secondary-link{font-size:13px;display:block;text-align:center;margin-top:14px}}.near-cities{background:#e8f0fc;padding:9px var(--px)}.near-cities p{font-size:var(--fs-sm);color:#4a5568}.near-cities strong{color:var(--blue)}.brands{background:linear-gradient(180deg,var(--dark) 0,#0a1326 100%);padding:36px var(--px) 32px;border-bottom:1px solid rgba(245,166,35,.08)}.brands-title{text-align:center;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7a8aa0;margin:0 0 22px;font-family:Manrope,Roboto,system-ui,sans-serif}.brands-grid{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:repeat(8,1fr);gap:28px 22px;align-items:center;justify-items:center}.brand-logo{display:flex;align-items:center;justify-content:center;height:42px;width:100%;opacity:.7;transition:opacity .25s,transform .25s,filter .25s}.brand-logo img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;display:block}.brand-logo img[alt="Chamberlain"]{height:62px;max-height:none}@media (max-width:1024px){.brand-logo img[alt="Chamberlain"]{height:54px}}@media (max-width:767px){.brand-logo img[alt="Chamberlain"]{height:58px}}@media (max-width:479px){.brand-logo img[alt="Chamberlain"]{height:60px}}.brand-logo:hover{opacity:1;transform:scale(1.06)}@media (max-width:1024px){.brands-grid{grid-template-columns:repeat(4,1fr);gap:24px 16px}}@media (max-width:767px){.brands{padding:28px var(--px) 24px}.brands-title{font-size:11px;margin-bottom:16px}.brands-grid{grid-template-columns:repeat(4,1fr);gap:18px 12px}.brand-logo{height:32px}}@media (max-width:479px){.brands-grid{grid-template-columns:repeat(2,1fr);gap:16px 14px}.brand-logo{height:34px}}.brand-item{font-size:17px;color:#999;letter-spacing:.04em;padding:5px 12px;border:1px solid #333;border-radius:var(--r-sm);white-space:nowrap;transition:color .2s,border-color .2s}.check-list li strong,.sec-title{color:var(--dark)}.brand-item:hover{color:var(--gold);border-color:var(--gold)}.sec-title{font-size:var(--fs-h2);line-height:1.05;text-transform:capitalize;text-wrap:balance}.sec-sub{font-family:Manrope,Roboto,system-ui,sans-serif;font-style:italic;font-size:20px;color:var(--blue);margin-top:6px}.about,.faq,.why{background:var(--gray);padding:var(--sec-v) var(--px)}.about .about-img-wrap,.about .sec-title,.about .check-list,.about .btn,.why .sec-title,.why .why-points,.why .btn,.why .why-img,.services .sec-title,.services .sec-sub,.services .svc-card,.services > div[style],.ba-sec .sec-title,.ba-sec .sec-sub,.ba-sec .ba-card,.ba-sec .ba-inner > div[style]{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.services .svc-card{transition:opacity .6s ease,transform .3s ease,box-shadow .3s ease}.about.in-view .about-img-wrap{opacity:1;transform:translateY(0)}.about.in-view .sec-title{opacity:1;transform:translateY(0);transition-delay:.1s}.about.in-view .check-list{opacity:1;transform:translateY(0);transition-delay:.2s}.about.in-view .btn{opacity:1;transform:translateY(0);transition-delay:.3s}.why.in-view .sec-title{opacity:1;transform:translateY(0)}.why.in-view .why-points{opacity:1;transform:translateY(0);transition-delay:.15s}.why.in-view .btn{opacity:1;transform:translateY(0);transition-delay:.3s}.why.in-view .why-img{opacity:1;transform:translateY(0);transition-delay:.05s}.services.in-view .sec-title{opacity:1;transform:translateY(0)}.services.in-view .sec-sub{opacity:1;transform:translateY(0);transition-delay:.08s}.services.in-view .svc-card{opacity:1;transform:translateY(0)}.services.in-view .svc-card:nth-child(1){transition-delay:.16s}.services.in-view .svc-card:nth-child(2){transition-delay:.24s}.services.in-view .svc-card:nth-child(3){transition-delay:.32s}.services.in-view .svc-card:nth-child(4){transition-delay:.40s}.services.in-view .svc-card:nth-child(5){transition-delay:.48s}.services.in-view .svc-card.svc-card-active,.services.in-view .svc-card:hover{transform:translateY(-6px)}.services.in-view > div[style]{opacity:1;transform:translateY(0);transition-delay:.6s}.ba-sec.in-view .sec-title{opacity:1;transform:translateY(0)}.ba-sec.in-view .sec-sub{opacity:1;transform:translateY(0);transition-delay:.08s}.ba-sec.in-view .ba-card{opacity:1;transform:translateY(0)}.ba-sec.in-view .ba-card:nth-child(1){transition-delay:.16s}.ba-sec.in-view .ba-card:nth-child(2){transition-delay:.28s}.ba-sec.in-view .ba-card:nth-child(3){transition-delay:.40s}.ba-sec.in-view .ba-inner > div[style]{opacity:1;transform:translateY(0);transition-delay:.55s}@media (prefers-reduced-motion:reduce){.about .about-img-wrap,.about .sec-title,.about .check-list,.about .btn,.why .sec-title,.why .why-points,.why .btn,.why .why-img,.services .sec-title,.services .sec-sub,.services .svc-card,.services > div[style],.ba-sec .sec-title,.ba-sec .sec-sub,.ba-sec .ba-card,.ba-sec .ba-inner > div[style]{opacity:1;transform:none;transition:none}}.about-img-caption{font-family:Manrope,Roboto,system-ui,sans-serif;font-style:normal;font-size:var(--fs-eyebrow);font-weight:600;color:var(--gold);margin:18px 0 0;display:block;text-align:center;letter-spacing:.015em}.about-inner{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"image heading" "image text";grid-template-rows:auto 1fr;gap:0 var(--gap-xl);align-items:start}.about-heading{grid-area:heading;margin-bottom:var(--gap-md)}.about-img-wrap{grid-area:image}.about-text{grid-area:text}.about-img-wrap{position:static}.about-img-inner{position:relative}.about-img-inner img{border-radius:var(--r-md);width:100%;height:460px;object-fit:cover;object-position:center;display:block;box-shadow:0 16px 40px rgba(0,0,0,.22),0 5px 14px rgba(0,0,0,.12)}.about-badge{position:absolute;bottom:18px;right:18px;background:linear-gradient(180deg,var(--navy) 0%,#08152e 100%);border-radius:var(--r-lg);padding:14px 18px;box-shadow:0 12px 28px rgba(0,0,0,.4),0 3px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08);border:2px solid rgba(245,166,35,.65)}.about-badge .num{font-size:44px;font-weight:700;color:var(--gold);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.4)}.about-badge .lbl{font-size:11px;color:#fff;font-weight:600;margin-top:3px;text-transform:uppercase;letter-spacing:.06em;opacity:.92}.about-text{padding-top:40px}.about-text .sec-title,.why-text .sec-title{text-align:left;margin-bottom:var(--gap-md)}.check-list{list-style:none;display:flex;flex-direction:column;gap:20px;margin-bottom:36px}.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-body);color:var(--text);line-height:1.55}.adg-img img,.faq-item.open .faq-ans{display:block}.chk{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;position:relative;box-shadow:0 3px 8px rgba(0,0,0,.18),inset 0 1px 2px rgba(255,255,255,.4),inset 0 -2px 4px rgba(0,0,0,.15)}.chk::after{content:'';position:absolute;top:2px;left:5px;right:5px;height:35%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.45) 0%,transparent 70%);pointer-events:none}.chk-orange{background:radial-gradient(circle at 32% 28%,#fdba74 0%,#ea580c 70%)}.chk-gold{background:radial-gradient(circle at 32% 28%,#fde047 0%,#d97706 70%)}.chk-blue{background:radial-gradient(circle at 32% 28%,#93c5fd 0%,#2563eb 70%)}.chk-green{background:radial-gradient(circle at 32% 28%,#86efac 0%,#16a34a 70%)}.hl-gold{color:var(--gold)}.svc-card,.why-img img{border-radius:var(--r-md)}.svc-grid,.why-inner{max-width:var(--w);margin:0 auto}.chk svg{width:16px;height:16px;fill:var(--white);position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.faq-arrow svg{width:13px;height:13px;fill:var(--white)}.process,.services{background:var(--white);padding:var(--sec-v) var(--px)}.reviews .sec-title,.services .sec-title{margin-bottom:6px}.process .sec-title,.reviews .sec-sub,.services .sec-sub,.vid-sec .sec-sub{margin-bottom:var(--gap-lg)}.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gap-md);justify-items:center;align-items:center}.svc-card{display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease,opacity .6s ease;border-bottom:3px solid var(--gold);background:var(--gold);width:100%;position:relative}.svc-card-cta,.svc-card-name{display:flex;align-items:center;font-family:Teko,sans-serif}.proc-num,.why-num{border-radius:50%}.svc-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.1)}.svc-card:active{transform:translateY(-2px) scale(.98);transition:transform .12s ease}.svc-card.svc-card-active{transform:translateY(-6px);box-shadow:0 0 0 3px var(--gold),0 14px 32px rgba(245,166,35,.4),0 4px 12px rgba(0,0,0,.15)}.svc-card.svc-card-active::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ffb627 0%,#ffd980 50%,#ffb627 100%);border-radius:var(--r-md) var(--r-md) 0 0;z-index:2;box-shadow:0 0 12px rgba(245,166,35,.6)}.svc-card-img{width:100%;background:linear-gradient(180deg,#fafbfc 0%,#e2e8f0 100%);padding:14px 8px}.svc-card-img img{filter:contrast(1.06) saturate(1.08);transition:filter .25s ease,transform .3s ease}.svc-card:hover .svc-card-img img{filter:contrast(1.1) saturate(1.15);transform:scale(1.03)}.svc-card-img img{width:100%;height:120px;object-fit:contain;object-position:center;display:block}.adg-img img,.vid-thumb img{object-fit:cover;width:100%}.svc-card-name{background:linear-gradient(180deg,#1a2540 0%,var(--dark) 100%);color:var(--white);font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;min-height:80px;justify-content:center;padding:12px 14px;text-align:center;line-height:1.2;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.emergency,.reviews{padding:var(--sec-v) var(--px);text-align:center}.svc-card-cta{background:linear-gradient(90deg,var(--gold) 0,var(--gold-lt) 100%);color:var(--dark);font-size:26px;font-weight:600;height:66px;justify-content:center;gap:10px;transition:filter .2s}.proc-num,.emergency,.rv-avatar,.why-num{color:var(--white)}.form-wrap button:hover,.svc-card-cta:hover{filter:brightness(1.08)}.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-xl);align-items:center}.why-points{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.why-point{display:flex;align-items:flex-start;gap:var(--gap-sm);padding:8px 12px;border-radius:10px;transition:background-color .25s ease;margin:-8px -12px}.why-point:hover{background-color:rgba(255,255,255,.55)}.why-num{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:Teko,sans-serif;font-size:22px;font-weight:700}.why-point h3{font-size:var(--fs-h4);font-weight:700;color:var(--dark);margin-bottom:4px}.why-point p{font-size:var(--fs-sm);color:var(--text);line-height:1.6}.why-img img{width:100%;object-fit:cover;max-height:460px;box-shadow:0 16px 40px rgba(0,0,0,.22),0 5px 14px rgba(0,0,0,.12)}.proc-steps{max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-lg)}.e-nums,.proc-num{display:flex}.proc-num{width:60px;height:60px;align-items:center;justify-content:center;margin:0 auto var(--gap-sm);font-family:Teko,sans-serif;font-size:28px;font-weight:700}.emergency,footer{background:var(--navy)}.proc-step h3{font-family:Teko,sans-serif;font-size:var(--fs-h3);font-weight:600;color:var(--dark);margin-bottom:8px}.proc-step p{font-size:var(--fs-body);color:var(--text);line-height:1.6}.emergency .sec-title{color:var(--white);margin-bottom:14px}.emergency>p{font-size:var(--fs-body);color:#a4bce0;max-width:620px;margin:0 auto 32px;line-height:1.75}.e-nums{justify-content:center;flex-wrap:wrap;gap:14px 48px;margin-bottom:36px}.e-num .big{font-family:Teko,sans-serif;font-size:52px;font-weight:700;color:var(--gold);line-height:1}.e-num .small{font-size:var(--fs-xs);color:#a4bce0;text-transform:uppercase;letter-spacing:.09em;margin-top:2px}.reviews{background:var(--gray)}.form-wrap,.rv-head{gap:12px;display:flex}.rv-card{background:var(--white);padding:22px 20px;border-radius:var(--r-md);text-align:left;box-shadow:0 2px 10px rgba(0,0,0,.07);position:relative}.faq .sec-title,.form-sec,.vid-info,.vid-sec{text-align:center}.rv-g,.sr-only{position:absolute}.rv-g{top:0;right:0;background:var(--gray);padding:8px 10px;border-radius:0 var(--r-md) 0 var(--r-md)}.rv-head{align-items:center;margin-bottom:12px}.rv-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:Manrope,Roboto,system-ui,sans-serif;font-size:18px;font-weight:700}.rv-meta h3{font-size:15px;font-weight:700;color:var(--dark);line-height:1.3}.rv-meta .rv-date{font-size:12px;color:#888;margin-top:1px}.rv-stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin:6px 0 8px}.adg-stat .l,.adg-tag{text-transform:uppercase;letter-spacing:.07em}.rv-text{font-size:var(--fs-sm);line-height:1.7;color:#444}.form-sec{background:var(--blue);padding:var(--sec-v) var(--px)}.form-sec h2{font-family:Teko,sans-serif;font-size:var(--fs-h2);font-weight:600;color:var(--white);margin-bottom:6px}.form-sec>p{font-size:var(--fs-body);color:#c0d5ff;margin-bottom:28px}.form-wrap{max-width:480px;margin:0 auto;flex-direction:column}.sr-only{width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-wrap input,.form-wrap select{padding:15px 18px;border:none;font-size:var(--fs-body);font-family:Manrope,Roboto,system-ui,sans-serif;border-radius:var(--r-sm);min-height:52px;outline:0;background:#fff;color:#333}.faq-btn .faq-q,.form-wrap button{color:var(--dark);font-family:Teko,sans-serif}.form-wrap select{appearance:auto}.form-wrap input:focus,.form-wrap select:focus{box-shadow:0 0 0 3px rgba(255,255,255,.35)}*:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:3px}.hero-phone-cta:focus-visible,.btn-gold:focus-visible,.svc-card-cta:focus-visible,.sticky-call:focus-visible{outline:3px solid var(--white);outline-offset:4px;box-shadow:0 0 0 6px var(--gold)}.hdr-phone:focus-visible,.hero-secondary-cta:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.form-wrap button{background:linear-gradient(90deg,var(--gold) 0,var(--gold-lt) 100%);font-size:26px;font-weight:700;padding:14px;border:none;text-transform:uppercase;letter-spacing:.04em;transition:filter .2s;border-radius:var(--r-sm);min-height:58px}.form-note{font-size:var(--fs-xs);color:#a8c4f8;margin-top:4px}.tcpa-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:rgba(255,255,255,.9);line-height:1.5}.tcpa-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--gold)}.tcpa-label a{color:#a8c4f8;text-decoration:underline}.form-offer{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:10px 14px;font-size:14px;color:#fff}.faq .sec-title{margin-bottom:var(--gap-lg)}.faq-inner{max-width:800px;margin:0 auto}.faq-item{background:var(--white);margin-bottom:6px;border-radius:var(--r-sm)}.faq-btn{width:100%;background:0 0;border:none;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px}.adg-list li .ck,.faq-arrow{background:var(--blue);border-radius:50%}.adg-stat-desc,.foot-bottom{border-top:1px solid rgba(255,255,255,.08)}.faq-btn .faq-q{font-size:22px;font-weight:600;text-align:left;line-height:1.2}.faq-arrow{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .25s}.faq-item.open .faq-arrow{transform:rotate(180deg)}.faq-ans{display:none;padding:4px 22px 20px;font-size:var(--fs-body);color:var(--text);line-height:1.75}footer{color:var(--white);padding:var(--sec-v) var(--px) 0}.foot-top{max-width:var(--w-wide);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:var(--gap-xl);align-items:start}.foot-col-1>img{filter:drop-shadow(0 0 10px rgba(255,255,255,.12)) drop-shadow(0 0 24px rgba(255,255,255,.06))}.foot-col-1 p{font-size:var(--fs-sm);color:#9eb5d4;line-height:1.75;margin-top:12px}.adg-stat .n,.foot-col h3{font-weight:700;color:var(--gold)}.foot-col h3{font-family:Teko,sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.foot-col div,.foot-col p{font-size:var(--fs-sm);color:#9eb5d4;line-height:1.85}.foot-col strong,.foot-phone{color:var(--white)}.foot-phone{font-family:Teko,sans-serif;font-size:24px;font-weight:700;display:flex;align-items:center;gap:9px;margin-top:14px}.foot-phone svg{width:18px;height:18px;fill:var(--gold)}.foot-bottom{max-width:var(--w-wide);margin:0 auto;padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);color:#6c84a8;flex-wrap:wrap;gap:8px}.adg-img,.adg-img img{border-radius:var(--r-md)}.adg-img,.vid-card,.vid-thumb{overflow:hidden}.adg-white{background:var(--white)}.adg-gray{background:var(--gray)}.adg-tag,.adg.svc-active .adg-tag{background:var(--gold);color:var(--dark)}.adg-inner{max-width:var(--w);margin:0 auto;display:flex;align-items:center;gap:72px}.adg-inner.rev{flex-direction:row-reverse}.adg-text{flex:0 0 54%}.adg-visual{flex:1;display:flex;flex-direction:column;gap:20px}.adg-img{width:100%;line-height:0}.adg-h2,.adg-stat .n{font-family:Teko,sans-serif;line-height:1}.adg-img img{height:220px}.adg-tag{display:inline-block;font-family:Teko,sans-serif;font-size:13px;font-weight:700;padding:4px 12px;border-radius:var(--r-sm);margin-bottom:14px}.adg-stat-box,.vid-sec{background:radial-gradient(ellipse 60% 40% at 50% 18%,rgba(41,112,235,.22),transparent 70%),radial-gradient(ellipse 55% 40% at 88% 92%,rgba(245,166,35,.09),transparent 65%),var(--navy);position:relative;overflow:hidden}
.vid-sec::before,.vid-sec::after{position:absolute;font:700 clamp(180px,20vw,320px)/.85 Georgia,serif;color:rgba(245,166,35,.08);pointer-events:none;z-index:0;user-select:none}
.vid-sec::before{content:"\201C";top:-10px;left:3%}
.vid-sec::after{content:"\201D";bottom:60px;right:3%}
.vid-sec>*{position:relative;z-index:1}.adg-h2{font-size:var(--fs-h2);font-weight:600;color:var(--dark);margin-bottom:12px}.adg-lead,.adg-list li{font-size:var(--fs-body);color:var(--text)}.adg-lead{line-height:1.7;margin-bottom:var(--gap-md)}.adg-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:var(--gap-lg)}.adg-list li{display:flex;align-items:flex-start;gap:11px;line-height:1.55}.adg-list li .ck{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.adg-list li .ck svg{width:11px;height:11px;fill:var(--white)}.adg-stat-box{border-radius:var(--r-lg);padding:36px 32px;display:flex;flex-direction:column;gap:28px}.adg-stat-row{display:flex;gap:32px}.adg-stat{flex:1}.adg-stat .n{font-size:46px}.adg-stat .l{font-size:var(--fs-xs);color:#a4bce0;margin-top:3px;font-weight:600}.adg-stat-desc{font-size:var(--fs-sm);color:#a4bce0;line-height:1.65;padding-top:20px}.vid-sec{padding:var(--sec-v) var(--px)}.vid-sec .sec-title{color:var(--white);margin-bottom:8px}.vid-grid{max-width:var(--w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-md)}.vid-card{background:#0d1e3d;border-radius:var(--r-md);box-shadow:0 4px 20px rgba(0,0,0,.4);display:flex;flex-direction:column;border:1px solid rgba(245,166,35,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vid-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 0 1px rgba(245,166,35,.35);border-color:rgba(245,166,35,.45)}
@media (hover:none){.vid-card:hover{transform:none;box-shadow:0 4px 20px rgba(0,0,0,.4);border-color:rgba(245,166,35,.08)}}.vid-thumb{position:relative;aspect-ratio:9/16;max-height:260px;background:#000}.vid-thumb img{height:100%;object-position:center center;display:block;transition:transform .3s;transform:scale(1.4)}.vid-thumb:hover img{transform:scale(1.46)}.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25)}.vid-play svg{width:64px;height:64px;fill:var(--white);opacity:.92;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));transition:transform .2s,opacity .2s}.vid-thumb:hover .vid-play svg{transform:scale(1.1);opacity:1}.vid-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.vid-info{padding:10px 14px 12px;display:flex;flex-direction:column;align-items:center}.vid-info .vid-stars{color:var(--gold);font-size:24px;letter-spacing:3px;text-shadow:0 0 10px rgba(245,166,35,.45),0 1px 2px rgba(0,0,0,.4)}
.vid-cta{text-align:center;margin-top:48px;max-width:var(--w);margin-left:auto;margin-right:auto;padding:0 var(--px)}
.vid-cta-line{color:#b9c8e0;font-size:17px;font-weight:400;margin:0 0 18px;letter-spacing:.01em}
@media (max-width:767px){.vid-cta{margin-top:32px}.vid-cta-line{font-size:15px;margin-bottom:14px;line-height:1.4}}@media (max-width:1024px){.hero{grid-template-columns:60% 40%}.hero-content{padding:48px 40px 48px max(20px,calc((100vw - 1280px)/ 2 + 20px))}:root{--sec-v:72px;--gap-xl:44px;--px:20px}.svc-grid{grid-template-columns:repeat(3,1fr);gap:16px}.about-inner,.why-inner{grid-template-columns:1fr}.about-inner{grid-template-areas:"heading" "image" "text";gap:var(--gap-md)}.about-heading{margin-bottom:0;text-align:center}.about-img-wrap{margin-bottom:0}.about-text .btn,.why-text .btn{margin-left:auto;margin-right:auto;display:flex;width:fit-content}.foot-top,.proc-steps{grid-template-columns:1fr 1fr}.about-img-wrap{display:block;margin-bottom:24px}.about-img-inner img{height:300px}.about-badge{right:0;bottom:16px}.about-img-caption{margin:10px 0 0;text-align:center}.about-text{padding-top:0}.why-img{display:none}.why-text .sec-title{text-align:left}.foot-top{gap:32px}.proc-steps{max-width:640px}.adg-text,.adg-visual{width:100%}.adg-inner,.adg-inner.rev{flex-direction:column;gap:var(--gap-xl)}.adg-text{flex:none}.vid-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.hero{grid-template-columns:1fr;min-height:unset}.hdr-free,.hdr-logo-tagline,.hero-photo-desktop,.why-img{display:none}.hero-photo-mobile{display:block;width:100%;border-radius:var(--r-lg)}.hero-content{padding:40px 20px 48px;align-items:flex-start}.about-img-caption,.foot-bottom,.hero-inner,.why-text .sec-title{text-align:center}:root{--sec-v:48px;--px:16px;--fs-hero:clamp(34px, 9vw, 48px);--fs-h2:clamp(27px, 7.5vw, 36px);--fs-h3:20px;--fs-h4:17px;--fs-eyebrow:15px;--fs-body:15px;--gap-xl:28px;--gap-lg:22px;--gap-md:14px}body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.hdr{padding:14px 0;gap:30px;justify-content:center}.hdr-logo-img img{height:60px}.hdr-right{gap:24px;min-width:0}.hdr-loc{font-size:11px;gap:4px;max-width:110px;overflow:hidden}.hdr-loc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.hdr-phone{font-size:19px;padding:9px 18px;min-height:46px;border-radius:var(--r-sm);white-space:nowrap}.hdr-247-badge{width:52px;height:52px;font-size:18px}.trust-bar{padding:7px var(--px)}.trust-inner{gap:5px 14px}.trust-item{font-size:11.5px;gap:5px}.trust-item svg{width:13px;height:13px}.hero h1{line-height:1;margin-bottom:16px}.hero-eyebrow{margin-bottom:6px}.hero-bullets{margin:0 auto 24px;max-width:340px}.hero-bullets li{font-size:14px}.hero-cta-row{flex-direction:column;align-items:stretch}.hero-cta-row .btn{width:100%;justify-content:center;font-size:22px;min-height:54px}.hero-ratings{justify-content:center;margin-left:auto;margin-right:auto;gap:18px}.hero-ratings img{height:52px}.hero-photo-mobile{margin:14px 0 18px;border-radius:var(--r-lg);overflow:hidden}.hero-photo-mobile img{width:100%;height:240px;object-fit:cover;object-position:center 28%;display:block}.about-inner,.foot-top,.proc-steps,.why-inner{grid-template-columns:1fr}.about-img-wrap{display:block;margin-bottom:24px}.about-img-inner img{height:260px}.about-badge{right:0;bottom:16px;padding:10px 13px}.about-badge .num{font-size:34px}.about-badge .lbl{font-size:10px}.about-img-caption{margin:10px 0 0}.about-text{padding-top:0}.check-list li{font-size:var(--fs-body)}.svc-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-width:100%}.svc-grid .svc-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 5px);margin:0 auto}.svc-card-img img{height:110px}.svc-card-name{font-size:20px;min-height:68px;padding:10px 12px}.svc-card-cta{font-size:22px;height:58px}.services>div[style]{margin-top:28px!important;padding:0 var(--px);box-sizing:border-box}.services>div[style] .btn{width:100%;max-width:100%;white-space:nowrap;text-align:center;padding:11px 16px;font-size:18px}.why-points{gap:18px}.why-num{width:36px;height:36px;font-size:19px}.proc-steps{gap:var(--gap-md);max-width:400px;margin:0 auto}.proc-num{width:52px;height:52px;font-size:24px;margin-bottom:12px}.btn,.btn-lg,.foot-phone,.proc-step h3{font-size:22px}.e-nums{gap:12px 28px}.e-num .big{font-size:42px}.e-num .small{font-size:11px}.rv-card{padding:20px 18px}.rv-meta h3{font-size:16px}.form-sec>p,.rv-text{font-size:var(--fs-sm)}.form-sec{padding:var(--sec-v) var(--px)}.form-sec h2{margin-bottom:8px}.form-sec>p{margin-bottom:22px}.form-wrap input,.form-wrap select{padding:14px 16px;font-size:16px;min-height:50px}.form-wrap button{font-size:24px;min-height:56px}.faq-inner{max-width:100%}.faq-btn{padding:14px 16px;min-height:58px}.faq-btn .faq-q{font-size:19px}.faq-ans{padding:4px 16px 18px;font-size:var(--fs-body)}footer{padding:44px var(--px) 0}.foot-top{gap:var(--gap-md);padding-bottom:var(--gap-lg)}.foot-bottom{flex-direction:column;gap:6px;padding:14px 0}.btn{min-height:50px;padding:12px 28px}.btn-lg{padding:14px 28px;min-height:54px}.near-cities{padding:8px var(--px)}.adg-h2{font-size:clamp(26px,8vw,36px)}.adg-stat-row{gap:20px}.adg-stat .n{font-size:36px}.adg-stat-box{padding:24px 22px;gap:20px}.vid-grid{grid-template-columns:repeat(2,1fr)}.vid-play svg{width:44px;height:44px}.vid-thumb{max-height:200px}}@media (max-width:479px){.hero-content{padding:32px 14px 44px}.hero-photo-mobile img{height:200px}:root{--px:14px;--fs-hero:clamp(28px, 10vw, 38px);--fs-h2:clamp(24px, 8vw, 32px)}.hdr{gap:18px;padding:14px 4px;justify-content:space-between}.hdr-logo-img img{height:48px}.hdr-right{gap:20px;min-width:0}.hdr-loc{font-size:11px;gap:4px;max-width:90px;overflow:hidden}.hdr-loc svg{width:12px;height:12px;flex-shrink:0}.hdr-phone{font-size:17px;padding:8px 14px;min-height:44px;gap:7px}.hdr-247-badge{width:46px;height:46px;font-size:16px}.trust-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0 14px;padding-bottom:2px;scrollbar-width:none}.trust-inner::-webkit-scrollbar{display:none}.svc-grid{max-width:100%;gap:8px}.svc-card-img img{height:115px}.svc-card-name{font-size:19px}.svc-card-cta{font-size:21px;height:56px}.proc-step p{font-size:var(--fs-sm)}.e-num .big{font-size:38px}.form-wrap{gap:10px}.vid-grid{grid-template-columns:1fr 1fr;gap:8px}.vid-thumb{max-height:170px}}.sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:500;background:var(--dark);padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));gap:10px;box-shadow:0 -2px 16px rgba(0,0,0,.35)}.sticky-call{display:flex;gap:14px;font-family:Teko,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1;white-space:nowrap;text-align:center;padding:11px 16px;min-height:66px;border-radius:14px;border:1.5px solid rgba(255,232,170,.7);box-shadow:0 6px 20px rgba(245,166,35,.4),0 2px 6px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(0,0,0,.07)}.sticky-call svg{width:30px;height:30px}.sticky-call-text{display:flex;flex-direction:column;gap:4px;align-items:center}.sticky-call-label{font-family:Manrope,Roboto,system-ui,sans-serif;font-size:11px;letter-spacing:.16em;font-weight:800;color:rgba(13,18,36,.78);line-height:1}.sticky-call-num{font-family:Teko,sans-serif;font-size:30px;font-weight:700;letter-spacing:.018em;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.35)}.sticky-bar.visible{display:flex}.sticky-call{flex:1;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffb627 0%,#ffd980 50%,#ffb627 100%);color:#0d1224}.sticky-call svg{width:30px;height:30px;fill:#0d1224;flex-shrink:0}.sticky-quote{flex:1;align-items:center;justify-content:center;background:var(--blue);color:#fff}@media (min-width:768px){.sticky-bar{display:none!important}}.form-wrap input.field-error,.form-wrap select.field-error{border-color:#ef4444!important}.form-wrap input.field-ok,.form-wrap select.field-ok{border-color:#22c55e!important}.field-msg{font-size:12px;margin-top:-10px;margin-bottom:4px;padding-left:2px}.field-msg.err{color:#ef4444}.field-msg.ok{color:#22c55e}



/* ── RESTORED after carousel removal (shared declarations) ── */
.proc-num,.why-num{background:radial-gradient(circle at 32% 28%,#60a5fa 0%,#2563eb 55%,#1e3a8a 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,99,235,.42),0 1px 3px rgba(0,0,0,.18),inset 0 1px 2px rgba(255,255,255,.45),inset 0 -2px 4px rgba(0,0,0,.18);text-shadow:0 1px 1px rgba(0,0,0,.3);position:relative;transition:transform .25s ease,box-shadow .25s ease}.why-num::after{content:'';position:absolute;top:3px;left:6px;right:6px;height:35%;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.5) 0%,transparent 70%);pointer-events:none}.why-point:hover .why-num{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px rgba(37,99,235,.55),0 2px 5px rgba(0,0,0,.22),inset 0 1px 2px rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.18)}
.rv-avatar{color:#fff}
.e-nums{display:flex}

/* ──────── Extracted from index.html inline <style> ──────── */
/* ── Hero Quote Badge ── */
.hero-quote-badge{position: absolute;top: 14%;left: 50%;transform: translateX(-50%);width: 70%;background: rgba(10,22,55,.55);backdrop-filter: blur(10px) saturate(140%);-webkit-backdrop-filter: blur(10px) saturate(140%);border-bottom: 3px solid #f5a623;border-radius: 8px 8px 0 0;padding: 16px 28px;z-index: 10;display: flex;align-items: center;justify-content: space-between;gap: 24px;box-shadow:0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06)}.hero-quote-badge::before{content:'\201C';position:absolute;top:-14px;left:14px;font-family:Georgia,'Times New Roman',serif;font-size:64px;font-weight:700;color:var(--gold);opacity:.45;line-height:1;pointer-events:none;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero-quote-text{font-family: Manrope,Roboto,system-ui,sans-serif;font-style: italic;font-size: 20px;color: #fff;line-height: 1.3;display: block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.hero-quote-sig{font-family: Manrope,Roboto,system-ui,sans-serif;font-style: italic;font-size: 16px;color: #f5a623;display: block;white-space: nowrap;flex-shrink: 0}
.hero-photo-mobile{position: relative}
@media(max-width:767px){
  .hero-quote-badge{top: 0;left: 0;right: 0;transform: none;width: 100%;border-radius: 0;padding: 12px 16px 12px 36px;gap: 10px}.hero-quote-badge::before{top:2px;left:8px;font-size:42px}
  .hero-quote-text{font-size: 16px;white-space: normal}
  .hero-quote-sig{font-size: 14px}
}

/* ── Trust Bar Marquee (mobile) ── */
.trust-clone{display: none}
@keyframes trust-scroll{0%{transform: translateX(0)}100%{transform: translateX(var(--trust-scroll-w,-50%))}}
@media(max-width:767px){
  .trust-bar-wrap{overflow: hidden}
  .trust-bar{padding: 0;position: relative}
  .trust-bar::before,.trust-bar::after{content: '';position: absolute;top: 0;bottom: 0;width: 20px;z-index: 2;pointer-events: none}
  .trust-bar::before{left: 0;background: linear-gradient(to right,#1a50c0,transparent)}
  .trust-bar::after{right: 0;background: linear-gradient(to left,#1a50c0,transparent)}
  .trust-inner{display: flex;flex-wrap: nowrap;width: max-content;animation: trust-scroll 20s linear infinite;gap: 0;overflow: visible}
  .trust-item{padding: 10px 20px;border-right: 1px solid rgba(255,255,255,.15);flex-shrink: 0;white-space: nowrap}
  .trust-clone{display: flex}
  .trust-inner:hover{animation-play-state: paused}
}

/* ── Hero Rating Items ── */
.hero-rating-item {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.hero-rating-count {
  font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.82);
  letter-spacing: .04em; text-align: center;
}

/* ── CTA buttons after Reviews & Process ── */
.reviews > div[style],
.process > div[style] {
  padding: 0 var(--px); box-sizing: border-box;
}
@media (max-width: 767px) {
  .reviews > div[style] .btn,
  .process > div[style] .btn {
    width: 100%; max-width: 100%; display: flex;
    justify-content: center; font-size: 20px;
    padding: 13px 16px; white-space: normal; text-align: center;
  }
}
@media (max-width: 479px) {
  .reviews > div[style] .btn,
  .process > div[style] .btn {
    font-size: 18px; padding: 12px 14px;
  }
}

/* ── CSLB Badge ── */
.cslb-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px; padding: 10px 16px; margin-top: 16px;
}
.cslb-badge svg { width: 28px; height: 28px; fill: #f5a623; flex-shrink: 0; }
.cslb-badge-text { display: flex; flex-direction: column; line-height: 1.3; }
.cslb-badge-title { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: .03em; }
.cslb-badge-num { font-size: 12px; color: rgba(255,255,255,0.65); }

/* ── Hero CTA hierarchy (primary big, secondary small) ── */
.hero-cta-tight { gap: 10px; align-items: center; }
.btn-primary-cta {
  font-size: 30px; min-height: 70px; padding: 16px 44px;
  box-shadow: 0 6px 20px rgba(245,166,35,0.35);
  transform: translateZ(0);
}
.btn-primary-cta:hover { box-shadow: 0 8px 26px rgba(245,166,35,0.5); }
.btn-secondary-cta {
  background: transparent; color: #d4e4ff;
  border: 1.5px solid rgba(255,255,255,0.35);
  font-size: 17px; min-height: 44px; padding: 8px 20px;
  text-transform: none; letter-spacing: 0;
}
.btn-secondary-cta:hover { background: rgba(255,255,255,0.08); border-color: #fff; }
@media (max-width: 767px) {
  .btn-primary-cta { font-size: 24px; min-height: 60px; padding: 14px 24px; }
  .btn-secondary-cta { font-size: 15px; min-height: 44px; }
}

/* ── Mini CSLB Badge (compact horizontal) ── */
.cslb-badge-mini {
  background: transparent; border: none; padding: 8px 0; margin-top: 14px;
  font-size: 13px;
}
.cslb-badge-mini svg { width: 18px; height: 18px; }
.cslb-badge-mini .cslb-badge-text {
  display: inline; flex-direction: row; color: rgba(255,255,255,0.7); font-size: 13px;
}
.cslb-badge-mini .cslb-badge-text strong { color: #fff; font-weight: 600; }

/* ── Reviews Grid (replaces carousel) ── */
.rv-grid {
  max-width: var(--w); margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.rv-grid .rv-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  flex: initial;
}
.rv-grid .rv-card .rv-text { flex: 1; }

/* Tablet — 2 columns, all 8 visible */
@media (max-width: 1199px) {
  .rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}

/* Mobile — 2 columns, 2 rows per page (4 visible), pagination */
@media (max-width: 767px) {
  .rv-grid { gap: 12px; }
  .rv-grid .rv-card[data-page="2"] { display: none; }
  .rv-grid.show-page-2 .rv-card[data-page="1"] { display: none; }
  .rv-grid.show-page-2 .rv-card[data-page="2"] { display: flex; }
  .rv-grid .rv-card { padding: 14px 12px; }
  .rv-grid .rv-head { gap: 8px; align-items: flex-start; padding-right: 28px; margin-bottom: 10px; }
  .rv-grid .rv-meta { min-width: 0; flex: 1; }
  .rv-grid .rv-meta h3 { font-size: 13px; line-height: 1.25; word-break: break-word; }
  .rv-grid .rv-meta .rv-date { font-size: 11px; }
  .rv-grid .rv-avatar { width: 34px; height: 34px; font-size: 14px; }
  .rv-grid .rv-g { padding: 5px 7px; border-radius: 0 8px 0 8px; }
  .rv-grid .rv-g svg { width: 13px; height: 13px; }
  .rv-grid .rv-stars { font-size: 12px; letter-spacing: 1.5px; margin: 4px 0 6px; }
  .rv-grid .rv-text { font-size: 13px; line-height: 1.55; }
}
@media (max-width: 380px) {
  .rv-grid .rv-meta h3 { font-size: 12px; }
  .rv-grid .rv-text { font-size: 12px; }
  .rv-grid .rv-card { padding: 12px 10px; }
}

/* Pagination buttons (only on mobile) */
.rv-pagination { display: none; justify-content: center; gap: 10px; margin-top: 26px; }
.rv-pg-btn {
  width: 36px; height: 8px; border-radius: 4px;
  background: #d1d5db; border: none; padding: 0;
  cursor: pointer; transition: background .2s, transform .2s;
}
.rv-pg-btn:hover { background: #9ca3af; }
.rv-pg-btn.active { background: var(--blue); transform: scaleY(1.5); }
@media (max-width: 767px) { .rv-pagination { display: flex; } }

/* ── Before/After Section ── */
.ba-sec { background: #f5f7fa; padding: var(--sec-v) var(--px); }
.ba-inner { max-width: var(--w); margin: 0 auto; }
.ba-sec .sec-title { margin-bottom: 6px; }
.ba-sec .sec-sub { margin-bottom: 40px; }
.ba-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.ba-card {
  background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06);
  border: 1px solid rgba(0,0,0,.04);
  transition: transform .3s ease, box-shadow .3s ease;
}
.ba-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,0,0,.16), 0 4px 10px rgba(0,0,0,.08); }
.ba-card .ba-img img { transition: transform .5s ease; }
.ba-card:hover .ba-img img { transform: scale(1.05); }
.ba-card-title {
  font-family: Teko, sans-serif; font-size: 26px; font-weight: 700;
  color: #111827; text-align: center;
  padding: 20px 16px 14px; background: #fff; letter-spacing: 0.02em;
}
.ba-slider {
  position: relative; aspect-ratio: 3/2; overflow: hidden;
  background: #1a2540; touch-action: pan-y;
  --pos: 65%;
}
.ba-slider-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; display: block; user-select: none;
  -webkit-user-drag: none;
}
.ba-slider-after { z-index: 1; }
.ba-slider-before { z-index: 2; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.ba-slider-line {
  position: absolute; top: 0; bottom: 0;
  left: var(--pos); transform: translateX(-50%);
  width: 3px;
  background: linear-gradient(180deg, transparent 0%, #fff 8%, #fff 92%, transparent 100%);
  z-index: 3; pointer-events: none;
  box-shadow: 0 0 8px rgba(0,0,0,.4);
}
.ba-slider-handle {
  position: absolute; top: 50%; left: var(--pos);
  transform: translate(-50%,-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #ffe69e 0%, #f5a623 50%, #b8730a 100%);
  border: 2.5px solid #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.45), 0 2px 4px rgba(0,0,0,.25), inset 0 2px 3px rgba(255,255,255,.5), inset 0 -2px 4px rgba(120,60,0,.4);
  display: flex; align-items: center; justify-content: center;
  cursor: ew-resize; z-index: 4; padding: 0;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ba-slider-handle:hover { transform: translate(-50%,-50%) scale(1.08); box-shadow: 0 8px 22px rgba(0,0,0,.55), 0 3px 6px rgba(0,0,0,.3), inset 0 2px 3px rgba(255,255,255,.55), inset 0 -2px 4px rgba(120,60,0,.4); }
.ba-slider-handle:active { transform: translate(-50%,-50%) scale(.96); cursor: grabbing; }
.ba-slider-handle svg { width: 22px; height: 22px; fill: #0d1224; filter: drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
.ba-slider-handle:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (prefers-reduced-motion:reduce) { .ba-slider-handle { transition: none; } }
.ba-tag {
  position: absolute; top: 12px;
  font-family: Teko, sans-serif; font-size: 13px; font-weight: 700;
  padding: 5px 11px; border-radius: 5px;
  letter-spacing: 0.06em; text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.1);
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
  z-index: 3; pointer-events: none;
}
.ba-tag-before { left: 12px; background: linear-gradient(180deg, #f87171 0%, #dc2626 100%); color: #fff; border: 1px solid rgba(252,165,165,.5); }
.ba-tag-after  { right: 12px; background: linear-gradient(180deg, #4ade80 0%, #15803d 100%); color: #fff; border: 1px solid rgba(134,239,172,.5); }
.ba-caption {
  font-size: 14px; color: #2d3748; text-align: center; font-weight: 500;
  padding: 16px 18px; line-height: 1.55;
  background: #fff; font-style: normal; letter-spacing: .005em;
}
@media (max-width: 1024px) {
  .ba-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
  .ba-grid { grid-template-columns: 1fr; gap: 20px; }
  .ba-card-title { font-size: 22px; padding: 16px 14px 12px; }
  .ba-slider { aspect-ratio: 4/3; }
  .ba-tag { font-size: 12px; padding: 4px 9px; }
  .ba-slider-handle { width: 44px; height: 44px; }
  .ba-slider-handle svg { width: 20px; height: 20px; }
}

/* ── Form Card (elevated, prominent) ── */
.form-card {
  max-width: 540px; margin: 0 auto;
  background: #fff;
  border-radius: 14px;
  padding: 32px 28px 28px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25), 0 0 0 1px rgba(245,166,35,0.4);
  position: relative;
}
.form-card::before {
  content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px;
  background: linear-gradient(135deg, #f5a623 0%, #ffd15c 100%);
  border-radius: 16px; z-index: -1; opacity: 0.5;
}
.form-card h2 { color: #111827; margin-bottom: 6px; text-align: center; }
.form-card .form-subtitle { color: #4b5563; margin-bottom: 22px; text-align: center; font-size: 15px; }
.form-card .form-wrap input,
.form-card .form-wrap select {
  border: 1.5px solid #e5e7eb; background: #f9fafb;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.form-card .form-wrap input:focus,
.form-card .form-wrap select:focus {
  border-color: #f5a623; background: #fff;
  box-shadow: 0 0 0 3px rgba(245,166,35,0.15);
}
/* Phone field gets extra emphasis */
.form-card .form-wrap input[name="phone"] {
  font-size: 18px; font-weight: 600;
  background: #fffbeb;
  border-color: #fbbf24;
  letter-spacing: 0.02em;
}
.form-card .form-wrap input[name="phone"]:focus {
  background: #fff; border-color: #f5a623;
}
.form-card .tcpa-label {
  color: #4b5563;
}
.form-card .tcpa-label a { color: #2970eb; }
.form-card .form-note { color: #4b5563; }
.form-card .form-offer {
  background: #fff7ed;
  border-color: #fdba74;
  color: #7c2d12;
}
.form-card .form-offer strong { color: #9a3412; }
.form-card #f-submit-btn {
  font-size: 28px; min-height: 64px;
  box-shadow: 0 6px 18px rgba(245,166,35,0.4);
}
.form-card #f-submit-btn:hover {
  box-shadow: 0 8px 24px rgba(245,166,35,0.55);
  transform: translateY(-1px);
}

/* Live availability indicator */
.form-availability {
  display: flex; align-items: center; gap: 10px;
  background: #ecfdf5; border: 1px solid #a7f3d0;
  border-radius: 8px; padding: 10px 14px; margin-bottom: 20px;
  font-size: 14px; color: #065f46;
}
.form-availability strong { color: #047857; font-weight: 700; }
.form-availability-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #10b981; flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(16,185,129,0.7);
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0% { box-shadow: 0 0 0 0 rgba(16,185,129,0.7); }
  70% { box-shadow: 0 0 0 8px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}
@media (max-width: 480px) {
  .form-card { padding: 24px 18px 20px; border-radius: 12px; }
  .form-card #f-submit-btn { font-size: 22px; min-height: 58px; }
  .form-availability { font-size: 13px; padding: 8px 12px; }
}

/* ── Exit Intent Popup ── */
#exit-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.72); z-index: 9999;
  align-items: center; justify-content: center; padding: 20px;
  backdrop-filter: blur(3px);
}
#exit-overlay.visible { display: flex; }
#exit-popup {
  background: #fff; border-radius: 16px; max-width: 460px; width: 100%;
  overflow: hidden; position: relative;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
#exit-close {
  position: absolute; top: 14px; right: 16px;
  background: rgba(255,255,255,0.15); border: none; border-radius: 50%;
  width: 28px; height: 28px; font-size: 16px; cursor: pointer;
  color: #fff; line-height: 28px; text-align: center; z-index: 2;
}
#exit-close:hover { background: rgba(255,255,255,0.28); }
.exit-header {
  background: linear-gradient(135deg, #0f1f3d 0%, #1a3460 100%);
  padding: 28px 32px 24px; text-align: center;
  border-bottom: 3px solid #f5a623;
}
.exit-urgency {
  display: inline-block; background: #f5a623; color: #111827;
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 4px 12px; border-radius: 20px;
  margin-bottom: 12px;
}
.exit-h {
  font-family: 'Teko', sans-serif; font-size: 36px; font-weight: 700;
  color: #fff; line-height: 1.05; margin: 0;
}
.exit-h span { color: #f5a623; }
.exit-body { padding: 28px 32px 32px; text-align: center; }
.exit-sub {
  font-size: 15px; color: #4b5563; margin-bottom: 24px;
  line-height: 1.65;
}
.exit-cta-call {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: linear-gradient(90deg,#f5a623,#ffd15c); color: #111827;
  font-family: 'Teko', sans-serif; font-size: 26px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  padding: 15px 28px; border-radius: 8px; text-decoration: none;
  margin-bottom: 10px; width: 100%;
  box-shadow: 0 4px 16px rgba(245,166,35,0.4);
  transition: filter .2s;
}
.exit-cta-call:hover { filter: brightness(1.07); }
.exit-cta-call svg { width: 20px; height: 20px; fill: #111827; flex-shrink: 0; }
.exit-divider {
  display: flex; align-items: center; gap: 10px;
  color: #d1d5db; font-size: 12px; margin: 14px 0;
}
.exit-divider::before,.exit-divider::after {
  content: ''; flex: 1; height: 1px; background: #e5e7eb;
}
.exit-cta-form {
  display: block; width: 100%; padding: 12px;
  border: 2px solid #2970eb; border-radius: 8px;
  font-size: 15px; color: #2970eb; font-weight: 600;
  cursor: pointer; background: none; text-align: center;
  transition: background .2s, color .2s;
}
.exit-cta-form:hover { background: #2970eb; color: #fff; }
.exit-trust {
  display: flex; justify-content: center; gap: 20px;
  margin-top: 18px; flex-wrap: wrap;
}
.exit-trust-item {
  display: flex; align-items: center; gap: 5px;
  font-size: 12px; color: #4b5563;
}
.exit-trust-item svg { width: 14px; height: 14px; fill: #2970eb; }

/* ── ADG sections — image below title+desc on mobile/tablet ── */
.adg-img-mobile {
  display: none;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  height: 220px;
  width: 100%;
  margin: 20px 0 24px;
}
@media (max-width: 1024px) {
  .adg-img-mobile { display: block; }
  .adg-visual .adg-img { display: none; }
}

/* ── Emergency section image ── */
.emergency-img {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 10px;
  margin: 28px auto 0;
}
@media (max-width: 767px) {
  .emergency-img { max-width: 100%; border-radius: 8px; margin: 20px auto 0; }
}

/* ── Why section image — below title on tablet+mobile ── */
.why-img-mobile { display: none; }
@media (max-width: 1024px) {
  .why-img-mobile { display: block; margin: 16px 0 24px; }
  .why-img-mobile img { width: 100%; max-height: 300px; object-fit: cover; border-radius: 8px; }
  .why-img { display: none; }
}

/* ── Sticky Call — two-line layout ── */
.sticky-call-text { display: flex; flex-direction: column; gap: 5px; align-items: center; }
.sticky-call-label { font-family: Manrope, Roboto, system-ui, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .16em; color: rgba(13,18,36,.78); line-height: 1; }
.sticky-call-num   { font-family: Teko, sans-serif; font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: .018em; text-shadow: 0 1px 0 rgba(255,255,255,.35); }

/* ── Submit Button Pulse ── */
@keyframes btn-pulse {
  0%, 100% { box-shadow: 0 4px 18px rgba(245,166,35,0.5), 0 0 0 0 rgba(245,166,35,0.6); }
  60%       { box-shadow: 0 4px 18px rgba(245,166,35,0.5), 0 0 0 16px rgba(245,166,35,0); }
}
@keyframes btn-pulse-sm {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,166,35,0.55); }
  60%       { box-shadow: 0 0 0 7px rgba(245,166,35,0); }
}
#f-submit-btn, #hero-quote-btn { animation: btn-pulse 2.2s ease-out infinite; }
.hdr-phone{animation: btn-pulse-sm 2.2s ease-out infinite}

/* ── Submit Button — long text wrap ── */
#f-submit-btn { white-space: normal; line-height: 1.3; }
@media (max-width: 480px) { #f-submit-btn { font-size: 17px; padding-top: 14px; padding-bottom: 14px; } }

/* ── Mobile Exit Bar ── */
#mob-exit-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
  background: linear-gradient(135deg,#0f1f3d 0%,#1a3460 100%);
  border-top: 3px solid #f5a623;
  transform: translateY(100%);
  transition: transform .4s ease;
  box-shadow: 0 -4px 20px rgba(0,0,0,.4);
  display: none;
}
#mob-exit-bar.visible { transform: translateY(0); }
.mob-exit-inner {
  display: flex; align-items: center; gap: 10px; padding: 14px 16px;
}
.mob-exit-text { flex: 1; min-width: 0; }
.mob-exit-label { font-size: 11px; font-weight: 700; color: #f5a623; letter-spacing: .05em; text-transform: uppercase; line-height: 1.2; }
.mob-exit-sub   { font-size: 13px; color: rgba(255,255,255,.88); font-weight: 500; line-height: 1.3; }
.mob-exit-call {
  display: flex; align-items: center; gap: 6px;
  background: linear-gradient(90deg,#f5a623,#ffd15c); color: #111827;
  font-weight: 700; font-size: 14px; padding: 10px 16px;
  border-radius: 6px; text-decoration: none; white-space: nowrap; flex-shrink: 0;
}
.mob-exit-call svg { width: 16px; height: 16px; fill: #111827; }
.mob-exit-close {
  background: none; border: none; color: rgba(255,255,255,.45);
  font-size: 24px; cursor: pointer; padding: 0 2px; line-height: 1; flex-shrink: 0;
}
@media (min-width: 768px) { #mob-exit-bar { display: none; } }
@media (max-width: 767px) { #mob-exit-bar { display: block; } }

/* ===== ADG sections polish ===== */
.adg-h2 { text-wrap: balance; }
.adg { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.adg.in-view { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .adg { opacity: 1; transform: none; transition: none; }
}

/* ===== Generic fade-in for major sections ===== */
.vid-sec, .process, .emergency, .reviews, .faq {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
}
.vid-sec.in-view, .process.in-view, .emergency.in-view,
.reviews.in-view, .faq.in-view {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .vid-sec, .process, .emergency, .reviews, .faq {
    opacity: 1; transform: none; transition: none;
  }
}

/* ===== FAQ section polish ===== */
.faq {
  background:
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.05) 1px, transparent 0) 0 0/24px 24px,
    radial-gradient(ellipse 60% 30% at 50% 0%, rgba(245,166,35,.05), transparent 70%),
    var(--gray);
  position: relative;
}
.faq-sub {
  text-align: center;
  color: var(--text);
  font-size: 16px;
  margin: -22px auto 36px;
  max-width: 580px;
  padding: 0 var(--px);
  font-weight: 400;
  letter-spacing: .005em;
}
@media (max-width: 767px) {
  .faq-sub { font-size: 14px; margin: -16px auto 28px; line-height: 1.5; }
}

/* Override existing FAQ styles for cleaner look */
.faq-item {
  background: #fff;
  margin-bottom: 10px;
  border-radius: 10px;
  border: 1px solid rgba(15,31,61,.06);
  box-shadow: 0 1px 3px rgba(15,31,61,.04);
  position: relative;
  overflow: hidden;
  transition: box-shadow .25s ease, border-color .25s ease, transform .2s ease;
}
.faq-item:hover {
  border-color: rgba(245,166,35,.35);
  box-shadow: 0 4px 14px rgba(15,31,61,.08), 0 1px 3px rgba(15,31,61,.04);
}
.faq-item.open {
  border-color: rgba(245,166,35,.55);
  box-shadow: 0 6px 20px rgba(245,166,35,.18), 0 1px 3px rgba(15,31,61,.04);
}
.faq-item.open::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #f5a623, #ffd15c);
  z-index: 1;
}

/* Button — reset & restyle */
.faq-btn {
  width: 100%;
  background: transparent;
  border: none;
  padding: 16px 20px 16px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  text-align: left;
  min-height: 60px;
  transition: background .2s ease;
}
.faq-btn:hover { background: rgba(245,166,35,.04); }

/* Category pill */
.faq-cat {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font: 700 10px/1 Manrope, Roboto, system-ui, sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 20px;
  background: rgba(245,166,35,.12);
  color: #8a5407;
  border: 1px solid rgba(245,166,35,.3);
}
.faq-item[data-faq-cat="timing"] .faq-cat { background: rgba(41,112,235,.1); color: #1a50c0; border-color: rgba(41,112,235,.3); }
.faq-item[data-faq-cat="service"] .faq-cat { background: rgba(99,102,241,.1); color: #4338ca; border-color: rgba(99,102,241,.3); }
.faq-item[data-faq-cat="warranty"] .faq-cat { background: rgba(34,197,94,.12); color: #15803d; border-color: rgba(34,197,94,.3); }
.faq-item[data-faq-cat="included"] .faq-cat { background: rgba(168,85,247,.1); color: #7e22ce; border-color: rgba(168,85,247,.3); }

/* Question text */
.faq-btn .faq-q {
  flex: 1;
  color: var(--dark);
  font-family: Teko, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .005em;
}

/* Replace blue circle with gold +/− toggle */
.faq-arrow {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(245,166,35,.1);
  border: 1.5px solid rgba(245,166,35,.4);
  flex-shrink: 0;
  position: relative;
  transition: background .25s ease, border-color .25s ease, transform .3s ease;
}
.faq-arrow::before,
.faq-arrow::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  background: #b8730a;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  transition: transform .3s ease, opacity .25s ease;
}
.faq-arrow::before { width: 12px; height: 2.5px; }
.faq-arrow::after  { width: 2.5px; height: 12px; }
.faq-item.open .faq-arrow {
  background: linear-gradient(135deg, #f5a623, #ffd15c);
  border-color: #f5a623;
  transform: rotate(180deg);
  box-shadow: 0 2px 8px rgba(245,166,35,.45);
}
.faq-item.open .faq-arrow::before,
.faq-item.open .faq-arrow::after { background: #fff; }
.faq-item.open .faq-arrow::after { opacity: 0; transform: translate(-50%, -50%) scaleY(0); }
.faq-btn:hover .faq-arrow {
  background: rgba(245,166,35,.18);
  border-color: rgba(245,166,35,.6);
}

/* Smooth open/close animation */
.faq-ans {
  display: block !important;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 22px;
  font-size: var(--fs-body);
  color: var(--text);
  line-height: 1.75;
  transition: max-height .4s ease, opacity .25s ease, padding .3s ease;
}
.faq-item.open .faq-ans {
  max-height: 600px;
  opacity: 1;
  padding: 4px 22px 20px;
}
@media (prefers-reduced-motion: reduce) {
  .faq-ans { transition: none; }
}

/* Final CTA after FAQ */
.faq-cta {
  text-align: center;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px dashed rgba(15,31,61,.1);
}
.faq-cta-line {
  font: 700 22px/1 Teko, sans-serif;
  color: var(--dark);
  margin-bottom: 16px;
  letter-spacing: .01em;
}
@media (max-width: 767px) {
  .faq-cta { margin-top: 28px; padding-top: 24px; }
  .faq-cta-line { font-size: 19px; margin-bottom: 14px; }
  .faq-cta .btn-lg { font-size: 18px; padding: 12px 22px; min-height: 48px; letter-spacing: .03em; }
  .faq-btn { padding: 14px 16px; gap: 10px; }
  .faq-cat { font-size: 11px; padding: 4px 8px; letter-spacing: .05em; }
  .faq-btn .faq-q { font-size: 18px; }
  .faq-arrow { width: 26px; height: 26px; }
  .faq-arrow::before { width: 10px; }
  .faq-arrow::after  { height: 10px; }
}

/* ===== Footer polish — minimalist ===== */
footer {
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.025) 1px, transparent 0) 0 0/26px 26px,
    var(--navy);
  padding: 0 var(--px) 0 !important;
}

/* 1. Emergency banner at top */
.foot-emergency-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 16px var(--px);
  background: linear-gradient(90deg, rgba(220,38,38,.18) 0%, rgba(245,166,35,.18) 50%, rgba(220,38,38,.18) 100%);
  border-bottom: 1px solid rgba(245,166,35,.3);
  border-top: 2px solid #ef4444;
  color: #fff;
  text-decoration: none;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 15px;
  letter-spacing: .01em;
  transition: background .25s ease;
  margin: 0 calc(-1 * var(--px));
}
.foot-emergency-banner:hover {
  background: linear-gradient(90deg, rgba(220,38,38,.28) 0%, rgba(245,166,35,.28) 50%, rgba(220,38,38,.28) 100%);
}
.foot-eb-icon {
  width: 22px; height: 22px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.foot-eb-icon svg { width: 22px; height: 22px; fill: #ef4444; filter: drop-shadow(0 0 6px rgba(239,68,68,.7)); }
.foot-eb-text { font-weight: 500; }
.foot-eb-text strong { color: #fee2e2; font-weight: 700; }
.foot-eb-arrow { color: rgba(255,255,255,.5); font-size: 18px; }
.foot-eb-phone {
  font-family: Teko, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--gold-lt);
  letter-spacing: .03em;
  text-shadow: 0 0 10px rgba(245,166,35,.5);
}
@media (max-width: 767px) {
  .foot-emergency-banner { flex-wrap: wrap; gap: 8px 10px; padding: 12px 14px; font-size: 13px; }
  .foot-eb-arrow { display: none; }
  .foot-eb-phone { font-size: 20px; flex-basis: 100%; text-align: center; }
}

/* 2. Trust strip */
.foot-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 18px var(--px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin: 0 calc(-1 * var(--px));
}
.foot-ts-item {
  display: inline-flex; align-items: center; gap: 6px;
  font: 600 12px/1 Manrope, Roboto, system-ui, sans-serif;
  color: rgba(255,255,255,.85);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.foot-ts-item strong { color: var(--gold-lt); font-weight: 800; font-size: 13px; }
.foot-ts-star::before {
  content: "★";
  color: var(--gold);
  font-size: 14px;
  text-shadow: 0 0 6px rgba(245,166,35,.6);
}
.foot-ts-check::before {
  content: "";
  width: 13px; height: 13px;
  background: rgba(34,197,94,.18);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 9px;
  background-position: center;
  background-repeat: no-repeat;
}
.foot-ts-sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
}
@media (max-width: 600px) {
  .foot-trust-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    padding: 14px 12px;
    justify-items: center;
  }
  .foot-ts-item { font-size: 10.5px; letter-spacing: .03em; }
  .foot-ts-sep { display: none; }
}

/* ===== Centered Brand-Focused Footer ===== */
footer .foot-trust-strip {
  border-top: 1px solid rgba(245,166,35,.25);
  box-shadow: 0 -1px 0 rgba(245,166,35,.08);
}

.foot-center {
  text-align: center;
  max-width: var(--w-wide);
  margin: 0 auto;
  padding: 56px var(--px) 36px;
}

/* Logo block */
.foot-brand {
  margin-bottom: 36px;
  position: relative;
  padding-bottom: 24px;
}
.foot-brand::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #f5a623, transparent);
  border-radius: 2px;
  box-shadow: 0 0 8px rgba(245,166,35,.4);
}
footer .foot-logo {
  height: 145px;
  width: auto;
  display: block;
  margin: 0 auto 22px;
  filter:
    drop-shadow(1.5px 0 0 rgba(255,255,255,.7))
    drop-shadow(-1.5px 0 0 rgba(255,255,255,.7))
    drop-shadow(0 1.5px 0 rgba(255,255,255,.7))
    drop-shadow(0 -1.5px 0 rgba(255,255,255,.7))
    drop-shadow(0 0 18px rgba(255,255,255,.08)) !important;
}
.foot-slogan {
  font-family: Teko, sans-serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: var(--gold-lt) !important;
  letter-spacing: .03em !important;
  margin: 0 !important;
  text-shadow: 0 0 16px rgba(245,166,35,.4);
  line-height: 1.15 !important;
}

/* Mega phone CTA */
.foot-phone-mega {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: Teko, sans-serif;
  font-size: 56px;
  font-weight: 700;
  color: var(--gold-lt);
  text-decoration: none;
  letter-spacing: .04em;
  text-shadow: 0 0 10px rgba(245,166,35,.28), 0 2px 6px rgba(0,0,0,.4);
  transition: transform .2s ease, color .2s ease;
  margin: 12px auto 16px;
  width: fit-content;
}
.foot-phone-mega:hover { transform: scale(1.03); color: #fff; }
.foot-phone-mega svg {
  width: 38px; height: 38px;
  fill: var(--gold);
  filter: drop-shadow(0 2px 6px rgba(245,166,35,.45));
  flex-shrink: 0;
}

.foot-phone-sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 4px auto 0;
  font-size: 13.5px;
  color: #9eb5d4;
  letter-spacing: .015em;
  width: fit-content;
  max-width: 100%;
}
.foot-phone-sub-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.3;
}
.foot-phone-meta { padding: 0 12px; }
.foot-phone-meta strong { color: var(--white); font-weight: 700; }

/* Open Now pill (reuse existing pulse animation) */
.foot-open-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 11px/1 Manrope, Roboto, system-ui, sans-serif;
  color: #4ade80;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.35);
  padding: 5px 11px;
  border-radius: 30px;
}
.foot-open-pill .foot-open-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34,197,94,.85);
  animation: footOpenDot 1.6s ease-in-out infinite;
}

/* Final info line */
.foot-info-line {
  font-size: 13px;
  color: #7a8aa0;
  margin: 32px 0 0;
  letter-spacing: .03em;
}

/* Friendly call prompt above phone */
.foot-call-prompt {
  font: 500 12.5px/1.4 Manrope, Roboto, system-ui, sans-serif;
  color: #94a8c4;
  letter-spacing: .04em;
  margin: 8px 0 4px;
  text-align: center;
  text-transform: uppercase;
}

/* Phone icon subtle pulse */
.foot-phone-mega svg {
  animation: footPhoneRing 3s ease-in-out infinite;
  transform-origin: center;
}
@keyframes footPhoneRing {
  0%, 92%, 100% { transform: rotate(0deg); }
  94%           { transform: rotate(-12deg); }
  96%           { transform: rotate(12deg); }
  98%           { transform: rotate(-6deg); }
}
@media (prefers-reduced-motion: reduce) { .foot-phone-mega svg { animation: none; } }

/* Mobile */
@media (max-width: 767px) {
  .foot-center { padding: 36px var(--px) 28px; }
  .foot-brand { margin-bottom: 22px; padding-bottom: 18px; }
  .foot-brand::after { width: 60px; }
  footer .foot-logo { height: 90px; }
  .foot-slogan { font-size: 24px !important; }
  .foot-call-prompt { font-size: 11px; margin: 4px 0 4px; }
  .foot-phone-mega { font-size: 38px !important; gap: 10px; margin: 4px auto 12px; }
  .foot-phone-mega svg { width: 28px !important; height: 28px !important; }
  .foot-phone-sub { font-size: 12.5px; gap: 10px; }
  .foot-info-line { font-size: 12px; margin-top: 22px; }
  /* Mobile trust strip — 2 rows max, smaller font, tighter gap */
  .foot-trust-strip { gap: 6px 10px; padding: 14px 10px; }
  .foot-trust-strip .foot-ts-item { font-size: 10.5px; letter-spacing: .04em; }
  .foot-trust-strip .foot-ts-sep { width: 3px; height: 3px; }
  /* Bottom padding to clear sticky mobile bar (~108px tall) */
  .foot-bottom { padding-bottom: calc(20px + 110px) !important; }
}
@media (max-width: 480px) {
  .foot-phone-mega { font-size: 32px !important; }
  .foot-phone-mega svg { width: 24px !important; height: 24px !important; }
  .foot-call-prompt { font-size: 12px; }
}

/* 10. Slogan */
.foot-slogan {
  font-family: Teko, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--gold-lt) !important;
  letter-spacing: .02em !important;
  margin: 4px 0 14px !important;
  text-shadow: 0 0 10px rgba(245,166,35,.3);
  line-height: 1.2 !important;
}
.foot-license {
  font-size: 13px !important;
  color: #7a8aa0 !important;
  margin-top: 16px !important;
}

/* Top section padding */
footer .foot-top {
  padding-top: var(--sec-v);
}

/* 5. Hours with icon + Open Now pulse */
.foot-h3-ic {
  width: 14px; height: 14px;
  fill: var(--gold);
  margin-right: 6px;
  vertical-align: -2px;
  display: inline-block;
}
.foot-open-now {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 11px/1 Manrope, Roboto, system-ui, sans-serif;
  color: #4ade80;
  letter-spacing: .07em;
  text-transform: uppercase;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.35);
  padding: 5px 10px;
  border-radius: 30px;
  margin-bottom: 12px;
}
.foot-open-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34,197,94,.85);
  animation: footOpenDot 1.6s ease-in-out infinite;
}
@keyframes footOpenDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .5; transform: scale(.6); }
}
@media (prefers-reduced-motion: reduce) { .foot-open-dot { animation: none; } }

/* 7. Cities list */
.foot-cities {
  font-size: 13px !important;
  color: #9eb5d4 !important;
  line-height: 1.6 !important;
  margin-top: 6px !important;
}
.foot-cities:empty { display: none; }

/* 3. Bigger phone in Contact Us */
footer .foot-phone {
  font-family: Teko, sans-serif;
  font-size: 32px !important;
  font-weight: 700;
  color: var(--gold-lt);
  text-shadow: 0 0 14px rgba(245,166,35,.4);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  letter-spacing: .03em;
  transition: transform .2s ease, color .2s ease;
}
footer .foot-phone:hover { transform: scale(1.03); color: #fff; }
footer .foot-phone svg { width: 22px; height: 22px; fill: var(--gold); flex-shrink: 0; }

/* 4. Payment methods strip */
.foot-payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 18px var(--px);
  margin: 0 calc(-1 * var(--px));
  border-top: 1px solid rgba(255,255,255,.06);
  font: 500 12.5px/1 Manrope, Roboto, system-ui, sans-serif;
}
.foot-pay-label {
  color: var(--gold-lt);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: 11px;
}
.foot-pay-list {
  color: #9eb5d4;
  letter-spacing: .03em;
}
@media (max-width: 600px) {
  .foot-payments { gap: 6px 10px; padding: 14px 12px; }
  .foot-pay-list { font-size: 11.5px; }
}

/* Bottom row — copyright | payments | privacy/terms (true center via grid) */
.foot-bottom {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
}
.foot-bottom > span:first-child { justify-self: start; }
.foot-bottom > span:last-child { justify-self: end; }
.foot-bot-mid {
  color: #9eb5d4;
  font-size: 12.5px;
  letter-spacing: .03em;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-self: center;
}
/* .foot-pay-img — consolidated definition at ~line 3746 (single source of truth) */
footer .foot-bottom a {
  color: #7a9ac8;
  text-decoration: none;
  transition: color .2s;
}
footer .foot-bottom a:hover { color: var(--gold-lt); }
@media (max-width: 767px) {
  .foot-bottom { grid-template-columns: 1fr !important; gap: 10px !important; text-align: center; justify-items: center !important; padding: 16px 0 130px !important; }
  .foot-bottom > span:first-child,
  .foot-bottom > span:last-child { justify-self: center !important; white-space: nowrap; font-size: 11.5px; }
  .foot-bottom > span:first-child { white-space: normal; line-height: 1.4; }
  .foot-bot-mid { font-size: 11.5px; }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  footer .foot-phone { font-size: 28px !important; }
  .foot-slogan { font-size: 19px !important; }
  .foot-trust-strip { padding-bottom: 16px; }
  footer .foot-top { padding-top: 32px; }
}

/* Image polish */
.adg-img { position: relative; overflow: hidden; border-radius: 12px; transition: transform .35s ease, box-shadow .35s ease; box-shadow: 0 8px 24px rgba(0,0,0,.14), 0 0 0 1px rgba(245,166,35,.28); }
.adg-img:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(0,0,0,.22), 0 0 0 1.5px rgba(245,166,35,.55); }
.adg-img img { transition: transform .5s ease; }
.adg-img:hover img { transform: scale(1.04); }

.adg-img-badge {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  display: inline-flex; align-items: center; gap: 7px;
  background: linear-gradient(135deg, #f5a623 0%, #d98b0e 100%);
  color: #fff;
  font: 700 12px/1 Manrope, Roboto, system-ui, sans-serif;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 9px 14px;
  border-radius: 30px;
  box-shadow: 0 4px 14px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.3);
}
.adg-img-badge::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34,197,94,.85), inset 0 0 0 1px rgba(255,255,255,.4);
  animation: adgPulse 1.8s ease-in-out infinite;
}
@keyframes adgPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.86); } }
@media (prefers-reduced-motion: reduce) { .adg-img-badge::before { animation: none; } }

/* Hero stat treatment */
.adg-stat--hero {
  position: relative;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(245,166,35,.15), rgba(245,166,35,.04));
  border: 1px solid rgba(245,166,35,.45);
  box-shadow: 0 0 18px rgba(245,166,35,.18), inset 0 1px 0 rgba(255,255,255,.06);
  padding: 6px 10px !important;
}
.adg-stat--hero .n {
  color: #ffd15c !important;
  text-shadow: 0 0 14px rgba(245,166,35,.55), 0 1px 2px rgba(0,0,0,.3);
}
.adg-stat--hero .l { color: rgba(255,255,255,.92); font-weight: 600; }

/* Trust microcopy under CTA */
.adg-trust { display: flex; flex-wrap: wrap; gap: 16px 20px; margin-top: 18px; }
.adg-trust-item {
  display: inline-flex; align-items: center; gap: 7px;
  font: 500 13.5px/1.3 Manrope, Roboto, system-ui, sans-serif; color: #4b5563;
  letter-spacing: .005em;
}
.adg-trust-item::before {
  content: ""; width: 16px; height: 16px; flex-shrink: 0;
  border-radius: 50%; background: rgba(34,197,94,.14);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 11px; background-position: center; background-repeat: no-repeat;
}
@media (max-width: 767px) { .adg-trust { gap: 10px 16px; } .adg-trust-item { font-size: 13px; } }

/* Stat box polish */
.adg-stat-box .adg-stat-row + .adg-stat-row { position: relative; }
.adg-stat-box .adg-stat-row + .adg-stat-row::before {
  content: ""; position: absolute; left: 8%; right: 8%; top: -10px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

/* ===== Process / How It Works section ===== */
.process {
  background:
    radial-gradient(ellipse 60% 35% at 50% 0%, rgba(245,166,35,.08), transparent 70%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.05) 1px, transparent 0) 0 0/26px 26px,
    var(--white);
  position: relative;
}
.proc-sub {
  text-align: center;
  color: var(--text);
  font-size: 17px;
  margin: -14px auto 48px;
  max-width: 620px;
  padding: 0 var(--px);
  font-weight: 400;
  letter-spacing: .005em;
}
@media (max-width: 767px) {
  .proc-sub { font-size: 14.5px; margin: -8px auto 32px; line-height: 1.5; }
}

/* .proc-steps::before — consolidated definition at ~line 4310 (single source of truth) */

.proc-step {
  position: relative;
  z-index: 1;
  padding: 8px 4px;
  transition: transform .3s ease;
}
.proc-step:hover { transform: translateY(-3px); }

/* Gold 3D number circles (override blue) */
.process .proc-num {
  position: relative;
  z-index: 2;
  width: 76px;
  height: 76px;
  font-size: 38px;
  background: radial-gradient(circle at 32% 28%, #ffe69e 0%, #f5a623 50%, #b8730a 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.5);
  box-shadow:
    0 8px 22px rgba(245,166,35,.4),
    0 2px 6px rgba(0,0,0,.2),
    inset 0 2px 3px rgba(255,255,255,.55),
    inset 0 -2px 4px rgba(120,60,0,.42);
  text-shadow: 0 2px 3px rgba(120,60,0,.45);
  margin-bottom: 22px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.proc-step:hover .process .proc-num,
.process .proc-step:hover .proc-num {
  transform: translateY(-3px) scale(1.06);
  box-shadow:
    0 14px 30px rgba(245,166,35,.6),
    0 4px 10px rgba(0,0,0,.25),
    inset 0 2px 3px rgba(255,255,255,.65),
    inset 0 -2px 5px rgba(120,60,0,.5);
}
.proc-num-text { line-height: 1; }
.proc-num-icon {
  position: absolute;
  top: -4px; right: -4px;
  width: 30px; height: 30px;
  background: var(--white);
  border: 2px solid #f5a623;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.proc-num-icon svg { width: 14px; height: 14px; fill: #b8730a; }

/* Time pill below description */
.proc-time {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 16px;
  padding: 7px 14px;
  background: rgba(245,166,35,.1);
  border: 1px solid rgba(245,166,35,.32);
  color: #8a5407;
  font: 700 12px/1 Manrope, Roboto, system-ui, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: 30px;
}
.proc-time-ic { width: 13px; height: 13px; fill: currentColor; flex-shrink: 0; }

/* Highlight key words */
.proc-hl {
  background: linear-gradient(180deg, transparent 62%, rgba(245,166,35,.38) 62%);
  font-weight: 700;
  color: var(--dark);
  padding: 0 2px;
  white-space: nowrap;
}

/* Bigger animated $99 Value badge */
.proc-badge-99 {
  display: inline-block;
  background: linear-gradient(135deg, #f5a623, #ffd15c);
  color: #111827;
  font: 800 12.5px/1 Manrope, Roboto, system-ui, sans-serif;
  padding: 5px 11px;
  border-radius: 30px;
  letter-spacing: .04em;
  white-space: nowrap;
  vertical-align: middle;
  box-shadow: 0 3px 10px rgba(245,166,35,.5), inset 0 1px 0 rgba(255,255,255,.45);
  animation: badge99Pulse 2.4s ease-in-out infinite;
}
@keyframes badge99Pulse {
  0%, 100% {
    box-shadow: 0 3px 10px rgba(245,166,35,.5), inset 0 1px 0 rgba(255,255,255,.45);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 6px 22px rgba(245,166,35,.85), inset 0 1px 0 rgba(255,255,255,.55);
    transform: scale(1.07);
  }
}
@media (prefers-reduced-motion: reduce) { .proc-badge-99 { animation: none; } }

/* CTA wrap with trust line */
.proc-cta-wrap {
  text-align: center;
  margin-top: 44px;
  position: relative;
  z-index: 1;
}
.proc-trust {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 16px;
  font-size: 13.5px;
  color: var(--text);
  font-weight: 500;
  letter-spacing: .005em;
}
.proc-trust-ic { width: 14px; height: 14px; fill: #22c55e; flex-shrink: 0; }
@media (max-width: 767px) {
  .proc-trust { font-size: 12.5px; padding: 0 16px; line-height: 1.4; text-align: center; }
  .proc-cta-wrap { margin-top: 28px; padding: 0 var(--px); }
  .proc-cta-wrap .btn-lg.cta-after-process {
    font-size: 18px;
    padding: 12px 22px;
    min-height: 48px;
    letter-spacing: .03em;
    margin: 0 auto;
  }
}

/* ===== Emergency section — 24/7 urgency ===== */
.emergency {
  position: relative;
  background:
    radial-gradient(ellipse 60% 45% at 50% 100%, rgba(220,38,38,.13), transparent 70%),
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(245,166,35,.08), transparent 65%),
    var(--navy);
  overflow: hidden;
}
.emergency::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent 0%, rgba(239,68,68,.4) 15%, #ef4444 35%, #fca5a5 50%, #ef4444 65%, rgba(239,68,68,.4) 85%, transparent 100%);
  box-shadow: 0 0 28px rgba(239,68,68,.85), 0 2px 12px rgba(239,68,68,.55);
  opacity: 1;
  animation: sirenBar 3s ease-in-out infinite;
  z-index: 4;
  pointer-events: none;
}
@keyframes sirenBar {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; box-shadow: 0 0 36px rgba(239,68,68,1), 0 2px 16px rgba(239,68,68,.7); }
}

/* Live indicator */
.e-live {
  display: flex; align-items: center; gap: 9px;
  background: rgba(220,38,38,.16);
  border: 1px solid rgba(239,68,68,.55);
  color: #fecaca;
  font: 700 12px/1 Manrope, Roboto, system-ui, sans-serif;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 9px 16px;
  border-radius: 30px;
  margin: 0 auto 24px;
  width: fit-content;
  max-width: 92%;
  position: relative;
  z-index: 2;
}
.e-live-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 12px rgba(239,68,68,.95), 0 0 4px rgba(239,68,68,1);
  animation: liveDot 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes liveDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.6); }
}
@media (prefers-reduced-motion: reduce) {
  .e-live-dot, .emergency::before { animation: none; }
}

/* Title with alert icon */
.emergency .sec-title {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.e-warn-ic {
  width: 36px; height: 36px;
  flex-shrink: 0;
  fill: #ef4444;
  filter: drop-shadow(0 0 12px rgba(239,68,68,.6));
}
@media (max-width: 767px) {
  .e-warn-ic { width: 26px; height: 26px; }
  .emergency .sec-title { gap: 8px; }
}

/* Scenarios bullets */
.e-scenarios {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 22px;
  max-width: 600px;
  margin: 22px auto 20px;
  padding: 0;
}
.e-scenarios li {
  display: flex; align-items: center; gap: 10px;
  font-size: 14.5px; font-weight: 500;
  color: rgba(255,255,255,.92);
  padding: 10px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  text-align: left;
}
.e-scenarios li::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 8px rgba(239,68,68,.85);
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .e-scenarios { grid-template-columns: 1fr; gap: 8px; max-width: 380px; margin: 18px auto 16px; padding: 0 16px; }
  .e-scenarios li { font-size: 13.5px; padding: 9px 12px; }
}

/* Image filter for emergency feel */
.emergency-img-wrap {
  position: relative;
  display: inline-block;
  border-radius: 12px;
  overflow: hidden;
  max-width: 100%;
}
.emergency-img {
  filter: brightness(.92) contrast(1.05) saturate(.95);
  display: block;
}

/* Custom red-gold badge overlaying the baked-in blue one */
.emergency-img-badge {
  position: absolute;
  top: 4.5%;
  right: 4.5%;
  width: clamp(72px, 13.5%, 132px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, #ffb380 0%, #dc2626 50%, #7f1d1d 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: Teko, sans-serif;
  border: 2.5px solid rgba(255,255,255,.5);
  box-shadow:
    0 6px 20px rgba(220,38,38,.55),
    0 2px 6px rgba(0,0,0,.35),
    inset 0 2px 3px rgba(255,255,255,.45),
    inset 0 -2px 4px rgba(120,20,20,.5);
  z-index: 2;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
  animation: emergencyBadgePulse 2.4s ease-in-out infinite;
}
.e-badge-top {
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
}
.e-badge-bot {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: clamp(7.5px, .92vw, 10px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
}
@keyframes emergencyBadgePulse {
  0%, 100% {
    box-shadow:
      0 6px 20px rgba(220,38,38,.55),
      0 2px 6px rgba(0,0,0,.35),
      inset 0 2px 3px rgba(255,255,255,.45),
      inset 0 -2px 4px rgba(120,20,20,.5);
  }
  50% {
    box-shadow:
      0 8px 30px rgba(220,38,38,.85),
      0 4px 10px rgba(0,0,0,.4),
      inset 0 2px 3px rgba(255,255,255,.55),
      inset 0 -2px 4px rgba(120,20,20,.55);
  }
}
@media (prefers-reduced-motion: reduce) { .emergency-img-badge { animation: none; } }
@media (max-width: 767px) {
  .emergency-img-badge { top: 5%; right: 5%; }
}

/* Phone number display */
.e-phone-display {
  display: flex; align-items: center; gap: 12px;
  font: 700 30px/1 Teko, sans-serif;
  color: var(--gold-lt);
  text-decoration: none;
  letter-spacing: .04em;
  margin: 36px auto 14px;
  width: fit-content;
  text-shadow: 0 2px 10px rgba(245,166,35,.45);
  transition: transform .2s ease, color .2s ease;
}
.e-phone-display::before {
  content: "";
  width: 24px; height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffd15c'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1-9.4 0-17-7.6-17-17 0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/></svg>") no-repeat center;
  filter: drop-shadow(0 2px 6px rgba(245,166,35,.5));
}
.e-phone-display:hover { transform: scale(1.03); color: #fff; }
@media (max-width: 767px) {
  .e-phone-display { font-size: 24px; margin-top: 28px; }
  .e-phone-display::before { width: 20px; height: 20px; }
}

/* ===== Reviews section polish ===== */
.reviews {
  background:
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.05) 1px, transparent 0) 0 0/24px 24px,
    radial-gradient(ellipse 60% 30% at 50% 0%, rgba(245,166,35,.05), transparent 70%),
    var(--gray);
  position: relative;
}

/* Trust Bar */
.rv-trustbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  background: #fff;
  border: 1px solid rgba(15,31,61,.08);
  border-radius: 14px;
  padding: 18px 28px;
  max-width: 480px;
  margin: -8px auto 36px;
  box-shadow: 0 6px 22px rgba(15,31,61,.08), 0 1px 3px rgba(15,31,61,.05);
}
.rv-tb-brand { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.rv-tb-glogo { width: 32px; height: 32px; flex-shrink: 0; }
.rv-tb-gtext {
  font: 700 22px/1 Manrope, Roboto, system-ui, sans-serif;
  color: #4b5563;
  letter-spacing: .005em;
}
.rv-tb-divider { width: 1px; height: 40px; background: rgba(15,31,61,.12); flex-shrink: 0; }
.rv-tb-info { display: flex; flex-direction: column; gap: 4px; }
.rv-tb-rating { display: flex; align-items: center; gap: 9px; }
.rv-tb-num {
  font: 700 24px/1 Teko, sans-serif;
  color: var(--dark);
  letter-spacing: .02em;
}
.rv-tb-stars {
  color: var(--gold);
  font-size: 18px;
  letter-spacing: 2px;
  text-shadow: 0 0 10px rgba(245,166,35,.45);
}
.rv-tb-meta {
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
  letter-spacing: .01em;
}
@media (max-width: 767px) {
  .rv-trustbar { gap: 14px; padding: 14px 18px; margin-bottom: 24px; max-width: 92%; }
  .rv-tb-glogo { width: 26px; height: 26px; }
  .rv-tb-gtext { font-size: 18px; }
  .rv-tb-num { font-size: 22px; }
  .rv-tb-stars { font-size: 15px; letter-spacing: 1.5px; }
  .rv-tb-meta { font-size: 11px; }
  .rv-tb-divider { height: 36px; }
}

/* Card visual upgrade */
.reviews .rv-card {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(15,31,61,.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
}
.reviews .rv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15,31,61,.13), 0 2px 6px rgba(15,31,61,.06);
  border-color: rgba(245,166,35,.4);
}
@media (hover: none) {
  .reviews .rv-card:hover { transform: none; box-shadow: 0 2px 10px rgba(0,0,0,.07); border-color: rgba(15,31,61,.08); }
}

/* Decorative quote mark */
.reviews .rv-card .rv-quote {
  position: absolute;
  top: -28px;
  left: 8px;
  font: 700 110px/1 Georgia, serif;
  color: rgba(245,166,35,.11);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.reviews .rv-card > *:not(.rv-quote):not(.rv-g) { position: relative; z-index: 1; }

/* Stars upgrade */
.reviews .rv-stars {
  font-size: 17px;
  letter-spacing: 2.5px;
  text-shadow: 0 0 8px rgba(245,166,35,.4), 0 1px 2px rgba(245,166,35,.2);
  margin: 8px 0 10px;
}

/* Compact Google badge — top-right corner, just the G logo */
.reviews .rv-g {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #fff;
  border: 1px solid rgba(15,31,61,.1);
  padding: 5px 7px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  z-index: 2;
}
.reviews .rv-g svg { width: 13px; height: 13px; flex-shrink: 0; display: block; }
.rv-g-label { display: none; }

/* Verified line below stars */
.rv-verified-line {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: 600 11px/1 Manrope, Roboto, system-ui, sans-serif;
  color: #16a34a;
  letter-spacing: .02em;
  margin-bottom: 8px;
}
.rv-verified-line::before {
  content: "";
  width: 14px; height: 14px;
  background: rgba(34,197,94,.14);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 9px;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Card text — show full content */
.reviews .rv-text {
  font-size: 13px;
  line-height: 1.6;
}

/* ===== Form section polish ===== */
.form-sec {
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0),
    radial-gradient(ellipse 50% 40% at 12% 18%, rgba(245,166,35,.28), transparent 60%),
    radial-gradient(ellipse 55% 45% at 88% 82%, rgba(255,209,92,.22), transparent 60%),
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(245,166,35,.12), transparent 70%),
    linear-gradient(135deg, var(--blue) 0%, var(--blue-dk) 100%);
  background-size: 24px 24px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  position: relative;
  overflow: hidden;
}

/* Gold accent stripe on form card */
.form-card {
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #f5a623 0%, #ffd15c 50%, #f5a623 100%);
  box-shadow: 0 1px 8px rgba(245,166,35,.45);
  border-radius: 0;
  z-index: 3;
}

/* Decorative corner brackets on form card */
.form-card::after {
  content: "";
  position: absolute;
  top: 14px; right: 14px; bottom: 14px; left: 14px;
  pointer-events: none;
  z-index: 3;
  background:
    linear-gradient(to right, #f5a623 22px, transparent 22px) top left no-repeat,
    linear-gradient(to bottom, #f5a623 22px, transparent 22px) top left no-repeat,
    linear-gradient(to left, #f5a623 22px, transparent 22px) top right no-repeat,
    linear-gradient(to bottom, #f5a623 22px, transparent 22px) top right no-repeat,
    linear-gradient(to right, #f5a623 22px, transparent 22px) bottom left no-repeat,
    linear-gradient(to top, #f5a623 22px, transparent 22px) bottom left no-repeat,
    linear-gradient(to left, #f5a623 22px, transparent 22px) bottom right no-repeat,
    linear-gradient(to top, #f5a623 22px, transparent 22px) bottom right no-repeat;
  background-size:
    22px 2px, 2px 22px,
    22px 2px, 2px 22px,
    22px 2px, 2px 22px,
    22px 2px, 2px 22px;
  opacity: .55;
}

/* Entry animation + subtle float for form card */
.form-card {
  opacity: 0;
  transform: translateY(30px) scale(.98);
  transition: opacity .8s ease, transform .8s ease;
}
.form-card.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .form-card,
  .form-card.in-view { opacity: 1; transform: none; transition: none; }
}

/* Rotating wrench background — top-right */
.form-sec::before {
  content: "";
  position: absolute;
  width: min(440px, 60vw);
  height: min(440px, 60vw);
  top: 8%;
  right: -60px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffd15c'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3l4.3 4.3-3 3-4.3-4.3C.6 7.1 1 10.1 3 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.4-.4.4-1 0-1.4z'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .08;
  animation: wrenchSpin 50s linear infinite;
  pointer-events: none;
  z-index: 0;
  transform-origin: center center;
}
@keyframes wrenchSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@media (max-width: 767px) {
  .form-sec::before { top: 4%; right: -30%; opacity: .06; }
}

/* Second wrench — bottom-left, rotating opposite direction */
.form-wrench-2 {
  position: absolute;
  width: min(380px, 55vw);
  height: min(380px, 55vw);
  bottom: 6%;
  left: -50px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffd15c'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3l4.3 4.3-3 3-4.3-4.3C.6 7.1 1 10.1 3 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.4-.4.4-1 0-1.4z'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .07;
  animation: wrenchSpinReverse 70s linear infinite;
  pointer-events: none;
  z-index: 0;
  display: block;
  transform-origin: center center;
}
@keyframes wrenchSpinReverse {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}
@media (max-width: 767px) {
  .form-wrench-2 { bottom: 3%; left: -25%; opacity: .055; }
}
@media (prefers-reduced-motion: reduce) {
  .form-sec::before,
  .form-wrench-2 { animation: none; }
}

/* Floating gold sparkle particles in the blue void */
.form-sec::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 4px;
  background: rgba(255,209,92,.95);
  border-radius: 50%;
  box-shadow:
    14vw 18vh 0 0 rgba(255,209,92,.85),
    78vw 12vh 0 1px rgba(245,166,35,.7),
    8vw 65vh 0 0 rgba(255,209,92,.8),
    88vw 70vh 0 1px rgba(245,166,35,.65),
    22vw 88vh 0 0 rgba(255,209,92,.75),
    66vw 38vh 0 1px rgba(245,166,35,.5);
  animation: sparkleTwinkle 4.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
@keyframes sparkleTwinkle {
  0%, 100% { opacity: .35; }
  50%      { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .form-sec::before,
  .form-sec::after { animation: none; }
}

/* Title — balance + responsive + tight line-height */
.form-card h2 {
  text-wrap: balance;
  hyphens: manual;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}
@media (max-width: 767px) {
  .form-card h2 { font-size: clamp(24px, 6.5vw, 32px) !important; line-height: 1.15 !important; word-break: keep-all; margin-bottom: 8px !important; }
}

/* Subtitle key-word highlights */
.form-hl {
  background: linear-gradient(180deg, transparent 60%, rgba(245,166,35,.32) 60%);
  font-weight: 700;
  color: var(--dark);
  padding: 0 2px;
  white-space: nowrap;
}

/* Mini-trust row above form */
.form-mini-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  flex-wrap: wrap;
  margin: 6px auto 22px;
  padding: 10px 14px;
  background: rgba(15,31,61,.04);
  border: 1px solid rgba(15,31,61,.06);
  border-radius: 10px;
  max-width: 100%;
}
.form-mini-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: 700 11px/1 Manrope, Roboto, system-ui, sans-serif;
  color: #4b5563;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.form-mini-item::before {
  content: "";
  width: 14px; height: 14px;
  background: rgba(34,197,94,.14);
  border-radius: 50%;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 9px;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.form-mini-star::before {
  content: "★";
  color: #f5a623;
  background: rgba(245,166,35,.14);
  background-image: none;
  font-size: 11px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 0 4px rgba(245,166,35,.5);
}
@media (max-width: 480px) {
  .form-mini-trust { gap: 6px 10px; padding: 8px 10px; }
  .form-mini-item { font-size: 10px; letter-spacing: .03em; }
}

/* Form fields with icons */
.form-field {
  position: relative;
  margin-bottom: 12px;
}
.form-field-ic {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
}
.form-field-ic svg {
  width: 18px;
  height: 18px;
  fill: #94a3b8;
  display: block;
  transition: fill .2s ease;
}
.form-field input,
.form-field select {
  padding-left: 42px !important;
  margin-bottom: 0 !important;
  width: 100%;
}
.form-field input:focus ~ .form-field-ic svg,
.form-field select:focus ~ .form-field-ic svg,
.form-field:focus-within .form-field-ic svg {
  fill: var(--blue);
}

/* $99 Value badge inside form-offer (extracted from inline style) */
.form-99-badge {
  background: linear-gradient(135deg, #f5a623, #ffd15c);
  color: #111827;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 20px;
  letter-spacing: .04em;
  white-space: nowrap;
  vertical-align: middle;
  box-shadow: 0 2px 6px rgba(245,166,35,.45), inset 0 1px 0 rgba(255,255,255,.4);
  display: inline-block;
}

/* Pulse animation on form-offer (Free Tune-Up box) — subtle */
.form-offer {
  animation: formOfferPulse 3.5s ease-in-out infinite;
}
@keyframes formOfferPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,166,35,0); }
  50%      { box-shadow: 0 0 14px rgba(245,166,35,.25); }
}
@media (prefers-reduced-motion: reduce) { .form-offer { animation: none; } }

/* Trust line above CTA */
.form-trust-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  flex-wrap: wrap;
  margin: 14px 0 12px;
  font: 600 12px/1.3 Manrope, Roboto, system-ui, sans-serif;
  color: #4b5563;
}
.form-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.form-trust-time::before,
.form-trust-lock::before,
.form-trust-check::before {
  content: "";
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 13px 13px;
}
.form-trust-time::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f5a623'><path d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8zm.5-13H11v6l5.2 3.2.8-1.3-4.5-2.7z'/></svg>");
}
.form-trust-lock::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2316a34a'><path d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM12 17a2 2 0 0 1 0-4 2 2 0 0 1 0 4zm3.1-9H8.9V6a3.1 3.1 0 0 1 6.2 0v2z'/></svg>");
}
.form-trust-check::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2316a34a'><path d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>");
}
.form-trust-sep { color: #cbd5e1; font-weight: 400; }
@media (max-width: 600px) {
  .form-trust-line {
    flex-wrap: nowrap;
    font-size: 10px;
    gap: 0 8px;
    letter-spacing: 0;
    margin: 12px 0 10px;
  }
  .form-trust-item { gap: 4px; }
  .form-trust-sep { display: none; }
  .form-trust-time::before,
  .form-trust-lock::before,
  .form-trust-check::before {
    width: 11px; height: 11px; background-size: 11px 11px;
  }
}

/* CTA button visual upgrade */
#f-submit-btn {
  position: relative;
  box-shadow:
    0 6px 18px rgba(245,166,35,.45),
    0 2px 6px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.4);
  transition: transform .18s ease, box-shadow .18s ease;
}
#f-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 10px 26px rgba(245,166,35,.6),
    0 4px 10px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.5);
}
#f-submit-btn:active { transform: translateY(0); }
@media (max-width: 767px) {
  .rv-quote { font-size: 90px; top: -22px; }
}

/* Red glow on emergency CTA */
.emergency .btn-gold.e-cta {
  margin-top: 36px;
  box-shadow:
    0 6px 22px rgba(239,68,68,.42),
    0 4px 14px rgba(245,166,35,.45),
    inset 0 1px 0 rgba(255,255,255,.35);
}
.emergency .btn-gold.e-cta:hover {
  box-shadow:
    0 10px 30px rgba(239,68,68,.6),
    0 6px 18px rgba(245,166,35,.6),
    inset 0 1px 0 rgba(255,255,255,.45);
}

/* ============================================================
   MOBILE TYPE HIERARCHY — refined sizes, tighter tracking,
   stronger contrast between heading levels for visual rhythm.
   ============================================================ */
@media (max-width: 767px) {
  /* --- HERO H1 — punchier, tighter --- */
  .hero h1 {
    font-size: clamp(46px, 11.5vw, 60px) !important;
    line-height: .94 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance;
  }

  /* --- SECTION H2 (sec-title) — bigger, tighter --- */
  .sec-title {
    font-size: clamp(30px, 7.6vw, 38px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.015em !important;
    text-wrap: balance;
  }

  /* --- ADG SECTION H2 — slightly smaller than sec-title --- */
  .adg-h2 {
    font-size: clamp(27px, 6.8vw, 34px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.015em !important;
  }

  /* --- FORM SECTION H2 — strong but balanced --- */
  .form-card h2,
  .form-sec h2 {
    font-size: clamp(28px, 7vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.012em !important;
  }

  /* --- H3 (proc-step, ABOUT check items, why-point) --- */
  .proc-step h3 {
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -.005em;
  }
  .why-point h3 {
    font-size: 18px;
    letter-spacing: .025em;
    line-height: 1.25;
  }

  /* --- FAQ Q (treated as h3-equivalent) --- */
  .faq-btn .faq-q {
    font-size: 19px;
    line-height: 1.3;
    letter-spacing: -.005em;
  }

  /* --- About-text top breathing room (compensates new sizes) --- */
  .about-text { padding-top: 24px; }
}

@media (max-width: 479px) {
  /* --- HERO on narrow phones — slightly smaller, still punchy --- */
  .hero h1 {
    font-size: clamp(42px, 11vw, 50px) !important;
    line-height: .96 !important;
  }

  /* --- SECTION H2 — narrow-phone scale --- */
  .sec-title {
    font-size: clamp(27px, 7.2vw, 32px) !important;
  }

  /* --- ADG H2 --- */
  .adg-h2 {
    font-size: clamp(24px, 6.4vw, 28px) !important;
  }

  /* --- FORM H2 --- */
  .form-card h2,
  .form-sec h2 {
    font-size: clamp(25px, 6.6vw, 30px) !important;
  }

  /* --- H3 sizes scale down slightly --- */
  .proc-step h3 { font-size: 20px; }
  .faq-btn .faq-q { font-size: 18px; }
}

/* ============================================================
   INDUSTRIAL NOISE TEXTURE — adds tactile grain to the hero
   to break the flat-gradient look. (Form section already has
   its own 24px dot-pattern texture + rotating wrench accents.)
   ============================================================ */

/* HERO — strengthen the existing noise overlay */
.hero::before {
  opacity: .085 !important;
  mix-blend-mode: soft-light !important;
}

/* ============================================================
   REVIEWS — summary card (replaces .rv-trustbar)
   Comprehensive trust signals: avg rating + count + recommend
   rate + repairs count + Google verification badge.
   ============================================================ */
.rv-summary-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  max-width: 880px;
  margin: 0 auto 32px;
  padding: 22px 28px;
  background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
  border-radius: 14px;
  border: 1px solid rgba(245,166,35,.25);
  box-shadow:
    0 8px 28px rgba(0,0,0,.08),
    0 2px 6px rgba(0,0,0,.04),
    inset 0 1px 0 rgba(255,255,255,1);
}
.rv-sum-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  flex-shrink: 0;
}
.rv-sum-rating {
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1;
}
.rv-sum-num {
  font-family: Teko, sans-serif;
  font-size: 56px;
  font-weight: 700;
  color: var(--dark);
  line-height: 1;
  letter-spacing: -.01em;
}
.rv-sum-stars {
  color: var(--gold);
  font-size: 22px;
  letter-spacing: 3px;
  line-height: 1;
}
.rv-sum-rating-label {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #6b7280;
}
.rv-sum-divider {
  width: 1px;
  height: 60px;
  background: linear-gradient(180deg, transparent 0%, rgba(245,166,35,.4) 50%, transparent 100%);
  flex-shrink: 0;
}
.rv-sum-stats {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
}
.rv-sum-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
  min-width: 90px;
}
.rv-sum-stat strong {
  font-family: Teko, sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.rv-sum-stat span {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #4b5563;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.2;
}
.rv-sum-source {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(245,166,35,.08);
  border-radius: 999px;
  border: 1px solid rgba(245,166,35,.25);
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #1f2937;
  white-space: nowrap;
  flex-shrink: 0;
}
.rv-sum-glogo {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .rv-summary-card {
    gap: 18px;
    padding: 18px 16px;
    margin-bottom: 24px;
  }
  .rv-sum-num { font-size: 44px; }
  .rv-sum-stars { font-size: 18px; }
  .rv-sum-stat strong { font-size: 26px; }
  .rv-sum-stat span { font-size: 11px; }
  .rv-sum-divider { display: none; }
  .rv-sum-stats { gap: 16px; }
}
@media (max-width: 480px) {
  .rv-summary-card { padding: 16px 12px; }
  .rv-sum-stats {
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: space-around;
  }
  .rv-sum-stat {
    min-width: 0;
    flex: 1;
    gap: 2px;
  }
  .rv-sum-stat strong { font-size: 22px; }
  .rv-sum-stat span {
    font-size: 11px;
    letter-spacing: .02em;
    white-space: normal;
    line-height: 1.15;
  }
}

/* ============================================================
   REVIEWS — clamp long review text + Read more toggle
   Reviews truncated to ~3 lines by default. Click expands.
   ============================================================ */
.rv-text {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
  transition: -webkit-line-clamp .3s;
}
.rv-card.rv-expanded .rv-text {
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
.rv-readmore {
  display: inline-block;
  margin-top: 8px;
  background: none;
  border: none;
  color: var(--blue);
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  padding: 4px 0;
  text-transform: uppercase;
  text-align: left;
}
.rv-readmore:hover { color: var(--blue-dk); text-decoration: underline; }
.rv-readmore::after { content: " ↓"; }
.rv-card.rv-expanded .rv-readmore::after { content: " ↑"; }
/* Hide button on cards where text is short enough to not need it */
.rv-readmore.rv-readmore-hidden { display: none; }

/* ============================================================
   FORM INLINE VALIDATION — green ✓ when field is valid
   The .field-ok class is already added by main.js initFormValidation
   on blur. We just visualize it with a green checkmark on the right.
   ============================================================ */
.form-field { position: relative; }
.form-field:has(input.field-ok)::after,
.form-field:has(select.field-ok)::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2316a34a'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-color: rgba(22,163,74,.12);
  background-size: 14px;
  border-radius: 50%;
  pointer-events: none;
  animation: form-check-in .35s ease-out;
}
@keyframes form-check-in {
  0%   { transform: translateY(-50%) scale(.4); opacity: 0; }
  60%  { transform: translateY(-50%) scale(1.15); opacity: 1; }
  100% { transform: translateY(-50%) scale(1); opacity: 1; }
}
.form-field input.field-ok,
.form-field select.field-ok {
  padding-right: 44px !important;
}
.form-field input.field-error,
.form-field select.field-error {
  box-shadow: 0 0 0 2px rgba(239,68,68,.35) !important;
}
.field-msg {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  margin-top: -4px;
  margin-bottom: 4px;
  letter-spacing: .01em;
}
.field-msg.err { color: #ef4444; }
.field-msg.ok  { display: none; }

/* ============================================================
   FOOTER MAP EMBED — small California / SB County area map
   Uses Google Maps iframe (no API key needed for basic embed).
   Lazy-loaded. Sits between footer brand and bottom strip.
   ============================================================ */
.foot-map-wrap {
  max-width: var(--w-wide);
  margin: 14px auto 20px;
  padding: 0 var(--px);
}

/* ============================================================
   FOOTER — TIGHTER SPACING
   Reduces vertical bloat between footer elements while keeping
   visual hierarchy. Applies to both desktop and mobile.
   ============================================================ */
.foot-center {
  padding: 36px var(--px) 22px !important;
}
.foot-brand {
  margin-bottom: 22px !important;
  padding-bottom: 16px !important;
}
footer .foot-logo {
  margin: 0 auto 14px !important;
}
.foot-call-prompt {
  margin: 8px 0 6px !important;
}
.foot-phone-mega {
  margin: 6px auto 10px !important;
}
.foot-phone-sub {
  margin: 2px auto 0 !important;
  gap: 6px !important;
}
.foot-info-line {
  margin: 18px 0 0 !important;
}
.foot-map-card {
  padding: 14px !important;
  gap: 14px !important;
}
.foot-map-iframe {
  height: 150px !important;
}

@media (max-width: 767px) {
  .foot-center { padding: 26px var(--px) 18px !important; }
  .foot-brand { margin-bottom: 16px !important; padding-bottom: 12px !important; }
  footer .foot-logo { height: 78px !important; margin: 0 auto 10px !important; }
  .foot-slogan { font-size: 22px !important; }
  .foot-call-prompt { margin: 4px 0 4px !important; }
  .foot-phone-mega { margin: 2px auto 8px !important; }
  .foot-phone-sub { gap: 6px !important; margin-top: 0 !important; }
  .foot-info-line { margin: 14px 0 0 !important; font-size: 11.5px !important; }
  .foot-map-wrap { margin: 10px auto 14px !important; }
  .foot-map-iframe { height: 160px !important; }
}
.foot-map-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(245,166,35,.2);
  border-radius: 12px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  max-width: 820px;
  margin: 0 auto;
}
.foot-map-image-wrap {
  flex: 0 0 280px;
}
.foot-map-text {
  flex: 1 1 auto;
  max-width: 380px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.foot-map-sub {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  color: #9eb5d4;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}
.foot-map-iframe {
  flex: 1;
  width: 100%;
  height: 180px;
  border: 0;
  border-radius: 8px;
  display: block;
  filter: grayscale(.4) contrast(.92);
  transition: filter .3s ease;
}
.foot-map-iframe:hover { filter: grayscale(0) contrast(1); }
@media (max-width: 767px) {
  .foot-map-card {
    flex-direction: column;
    gap: 14px;
    padding: 18px 16px !important;
  }
  .foot-map-text {
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
    text-align: center;
    align-items: center;
  }
  .foot-map-sub { text-align: center !important; }
  .foot-map-image-wrap {
    flex: 0 0 auto;
    width: 100%;
    max-width: 320px;
  }
  .foot-map-iframe { height: 200px; }
}

/* ============================================================
   STICKY CTA BAR — GREEN "AVAILABLE NOW" treatment
   Distinct from gold body CTAs. Green = "go / available / safe".
   Adds a pulsing live dot for active feel.
   ============================================================ */
.sticky-bar {
  position: fixed !important;
  background: #0d1f3d !important;
  border-top: 1px solid rgba(74,222,128,.35) !important;
}
.sticky-call {
  background: linear-gradient(135deg, #15803d 0%, #22c55e 50%, #15803d 100%) !important;
  color: #fff !important;
  border-color: rgba(187,247,208,.55) !important;
  box-shadow:
    0 6px 22px rgba(34,197,94,.5),
    0 2px 6px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.4),
    inset 0 -2px 0 rgba(0,0,0,.12) !important;
  position: relative;
  animation: sticky-call-pulse 2.4s ease-out infinite;
}
.sticky-call:hover {
  background: linear-gradient(135deg, #166534 0%, #15803d 50%, #166534 100%) !important;
  transform: translateY(-1px);
}
.sticky-call svg {
  fill: #fff !important;
}
.sticky-call .sticky-call-label {
  color: rgba(255,255,255,.92) !important;
}
.sticky-call .sticky-call-num {
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
}
@keyframes sticky-call-pulse {
  0%, 100% { box-shadow: 0 6px 22px rgba(34,197,94,.5), 0 2px 6px rgba(0,0,0,.22), 0 0 0 0 rgba(74,222,128,.55), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -2px 0 rgba(0,0,0,.12); }
  50%      { box-shadow: 0 6px 22px rgba(34,197,94,.6), 0 2px 6px rgba(0,0,0,.22), 0 0 0 8px rgba(74,222,128,0),   inset 0 1px 0 rgba(255,255,255,.4), inset 0 -2px 0 rgba(0,0,0,.12); }
}
@media (prefers-reduced-motion: reduce) {
  .sticky-call { animation: none; }
}

/* Live dot badge inside the sticky-call (top-left of button) */
.sticky-call::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 2px rgba(255,255,255,.45), 0 0 0 0 rgba(74,222,128,.55);
  animation: sticky-live-dot 1.8s ease-out infinite;
}
@keyframes sticky-live-dot {
  0%, 100% { box-shadow: 0 0 0 2px rgba(255,255,255,.45), 0 0 0 0 rgba(74,222,128,.55); }
  50%      { box-shadow: 0 0 0 2px rgba(255,255,255,.45), 0 0 0 5px rgba(74,222,128,0); }
}
@media (prefers-reduced-motion: reduce) {
  .sticky-call::before { animation: none; }
}

/* ============================================================
   PROCESS — visual timeline connecting the 3 steps
   Desktop: horizontal gold line behind step circles + chevron arrows
   Mobile: vertical gold line connecting them top-to-bottom
   ============================================================ */
/* .proc-steps + ::before consolidated at ~line 4308 */
.proc-step { position: relative; z-index: 1; }

/* Chevron arrows between steps (desktop) — appears on first 2 cards */
.proc-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 22px;
  right: -18px;
  width: 16px;
  height: 16px;
  border-top: 2.5px solid var(--gold);
  border-right: 2.5px solid var(--gold);
  transform: rotate(45deg);
  z-index: 2;
  opacity: .9;
  filter: drop-shadow(0 1px 3px rgba(245,166,35,.4));
  animation: proc-chevron-pulse 2.6s ease-in-out infinite;
}
.proc-step:nth-child(2)::after { animation-delay: .8s; }
@keyframes proc-chevron-pulse {
  0%, 100% { transform: rotate(45deg) translateX(0); opacity: .55; }
  50%      { transform: rotate(45deg) translateX(4px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .proc-step::after { animation: none; opacity: .8; }
}

/* MOBILE: hide the vertical line (it would cut through text).
   Keep only the downward chevrons between cards as sequence cue. */
@media (max-width: 767px) {
  .proc-steps::before { display: none; }

  .proc-step:not(:last-child)::after {
    top: auto;
    bottom: -22px;
    right: 50%;
    transform: translateX(50%) rotate(135deg);
  }
  @keyframes proc-chevron-pulse {
    0%, 100% { transform: translateX(50%) rotate(135deg) translateX(0); opacity: .55; }
    50%      { transform: translateX(50%) rotate(135deg) translateX(4px); opacity: 1; }
  }
}

/* ============================================================
   HERO MOBILE-ONLY REORDER — move Phone CTA above Trust Strip.
   Desktop layout stays unchanged (HTML order respected).
   The hero photo + quote already provides strong pre-CTA trust;
   moving the CTA up gets it closer to the fold = more clicks.
   ============================================================ */
@media (max-width: 767px) {
  .hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .hero-inner > .hero-eyebrow      { order: 1; }
  .hero-inner > h1                 { order: 2; }
  .hero-inner > .hero-serving      { order: 3; } /* sits right under H1 */
  .hero-inner > .hero-phone-cta    { order: 4; } /* CTA moved up to fold */
  .hero-inner > .hero-rated-on     { order: 5; } /* Google + Yelp social proof */
  .hero-inner > .hero-photo-mobile { order: 6; } /* photo demoted below CTA */
  .hero-inner > .hero-trust-strip  { order: 7; }
  .hero-inner > .hero-wyg-grid     { order: 8; }
  .hero-inner > .hero-secondary-cta{ order: 9; }

  /* Hide secondary "Or Fill Form" CTA on mobile — single primary CTA wins
     in panic mode. Form is reachable from sticky bar / scroll anyway. */
  .hero-secondary-cta { display: none !important; }

  /* Shrink the gold phone CTA on mobile to break the
     "3 stacked rounded boxes" visual pattern.
     Number stays prominent, just less padding + smaller fonts. */
  .hero-phone-cta {
    padding: 11px 16px !important;
    gap: 3px !important;
    border-radius: 12px !important;
    margin: 8px auto 10px !important;
  }
  .hero-phone-cta .lbl {
    font-size: 12px !important;
    letter-spacing: .14em !important;
  }
  .hero-phone-cta .num {
    font-size: 28px !important;
    gap: 8px !important;
  }
  .hero-phone-cta .ph-big {
    width: 24px !important;
    height: 24px !important;
  }
  .hero-phone-cta .reassure {
    font-size: 11px !important;
  }
}

/* ============================================================
   VIDEO SECTION — Premium trust redesign
   Eyebrow + trust strip + cinematic frames + pulse play button
   + stats bar + verified-review tags. Designed to maximize
   attention, perceived authenticity, and conversion lift.
   ============================================================ */
.vid-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto 12px;
  padding: 6px 14px;
  background: rgba(245,166,35,.12);
  border: 1px solid rgba(245,166,35,.35);
  border-radius: 999px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--gold-lt);
  position: relative;
  z-index: 2;
}
.vid-eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34,197,94,.3);
  flex-shrink: 0;
  animation: vid-eyebrow-pulse 2s ease-out infinite;
}
@keyframes vid-eyebrow-pulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 0 0 0 rgba(34,197,94,.5); }
  50%      { box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 0 0 6px rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) {
  .vid-eyebrow-dot { animation: none; }
}

.vid-sec .sec-title { color: #fff; text-align: center; position: relative; z-index: 2; }
.vid-sec .sec-sub { color: #d4e4ff; text-align: center; margin-bottom: 20px; position: relative; z-index: 2; }

/* Trust strip above videos */
.vid-trust-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 14px;
  max-width: 720px;
  margin: 0 auto 32px;
  padding: 10px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(245,166,35,.18);
  border-radius: 10px;
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  position: relative;
  z-index: 2;
}
.vid-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #d4e4ff;
  letter-spacing: .01em;
  white-space: nowrap;
}
.vid-trust-item svg {
  width: 13px; height: 13px;
  fill: var(--gold);
  flex-shrink: 0;
}
.vid-trust-sep { color: rgba(245,166,35,.35); font-weight: 400; }

@media (max-width: 600px) {
  .vid-trust-strip {
    gap: 4px 10px;
    padding: 8px 14px;
    font-size: 11.5px;
  }
  .vid-trust-sep { display: none; }
  .vid-trust-item { font-size: 11.5px; }
}

/* Premium card frames with gold accent */
.vid-grid { position: relative; z-index: 2; }
.vid-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(245,166,35,.18);
  box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.2);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.vid-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #ffb627 0%, #ffd980 50%, #ffb627 100%);
  z-index: 4;
}
.vid-card:hover {
  transform: translateY(-4px);
  border-color: rgba(245,166,35,.5);
  box-shadow: 0 14px 36px rgba(0,0,0,.5), 0 0 0 1px rgba(245,166,35,.3), 0 4px 12px rgba(245,166,35,.2);
}

/* Verified Review tag in corner */
.vid-card-tag {
  position: absolute;
  top: 10px; right: 10px;
  background: rgba(15,31,61,.92);
  color: var(--gold);
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid rgba(245,166,35,.4);
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
  z-index: 5;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Pulse ring around play button */
.vid-play-pulse {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.vid-play-pulse::before,
.vid-play-pulse::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(245,166,35,.55);
  animation: vid-play-ring 2.4s ease-out infinite;
  width: 70px; height: 70px;
  pointer-events: none;
}
.vid-play-pulse::after { animation-delay: 1.2s; }
@keyframes vid-play-ring {
  0%   { transform: scale(.8); opacity: .8; }
  100% { transform: scale(1.7); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .vid-play-pulse::before,
  .vid-play-pulse::after { animation: none; opacity: 0; }
}
.vid-play-pulse .vid-play {
  position: relative;
  pointer-events: auto;
  z-index: 2;
}

/* Info row below video */
.vid-info {
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  background: rgba(10,22,55,.5) !important;
  border-top: 1px solid rgba(245,166,35,.12);
  text-align: left !important;
}
.vid-stars {
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 1;
}
.vid-watch {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #9eb6db;
  letter-spacing: .03em;
}
.vid-watch svg {
  width: 12px; height: 12px;
  fill: var(--gold);
}

/* Stats bar below video grid */
.vid-stats-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 36px auto 24px;
  padding: 18px 28px;
  background: linear-gradient(135deg, rgba(245,166,35,.08) 0%, rgba(245,166,35,.04) 100%);
  border: 1px solid rgba(245,166,35,.22);
  border-radius: 12px;
  max-width: 620px;
  position: relative;
  z-index: 2;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.vid-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
}
.vid-stat strong {
  font-family: Teko, sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.vid-stat span {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  color: #d4e4ff;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.vid-stat-sep {
  width: 1px;
  height: 36px;
  background: linear-gradient(180deg, transparent 0%, rgba(245,166,35,.4) 50%, transparent 100%);
}

@media (max-width: 600px) {
  .vid-stats-bar {
    gap: 14px;
    padding: 14px 16px;
    margin: 28px auto 20px;
  }
  .vid-stat strong { font-size: 26px; }
  .vid-stat span { font-size: 10.5px; }
  .vid-stat-sep { height: 28px; }
  .vid-card-tag { font-size: 11px; padding: 3px 7px; }
}

/* ============================================================
   SERVICE CARDS — Diagnostic Direction
   "Common Signs" symptoms list per card to help visitors
   self-diagnose, plus timing meta. Emergency variant for off-track.
   ============================================================ */
.svc-card-diag {
  background: #fff;
  padding: 14px 13px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  border-top: 1px solid rgba(0,0,0,.05);
  text-align: left;
}
.svc-diag-label {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
.svc-diag-label-emergency {
  color: #dc2626;
  font-size: 11px;
}
.svc-diag-label-emergency svg {
  width: 12px; height: 12px;
  fill: #dc2626;
  flex-shrink: 0;
}
.svc-symptoms {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}
.svc-symptoms li {
  position: relative;
  padding-left: 16px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  line-height: 1.35;
  letter-spacing: -.005em;
}
.svc-symptoms li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 2px rgba(245,166,35,.15);
}
.svc-card-emergency .svc-symptoms li::before {
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220,38,38,.15);
}
.svc-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px dashed rgba(0,0,0,.1);
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1;
  letter-spacing: -.005em;
}
.svc-meta svg {
  width: 12px; height: 12px;
  fill: var(--blue);
  flex-shrink: 0;
}
.svc-meta-emergency { color: #dc2626; }
.svc-meta-emergency svg { fill: #dc2626; }

/* Adjust the dark service-name band: smaller min-height to balance */
.svc-card-name {
  min-height: 64px !important;
  font-size: 19px !important;
  padding: 10px 12px !important;
}

/* Emergency card accent border */
.svc-card-emergency {
  border: 2px solid rgba(220,38,38,.5) !important;
  box-shadow: 0 6px 20px rgba(220,38,38,.18), 0 2px 6px rgba(0,0,0,.08) !important;
}
.svc-card-emergency::after {
  content: "URGENT";
  position: absolute;
  top: 8px;
  right: 8px;
  background: #dc2626;
  color: #fff;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 3px 7px;
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(220,38,38,.45);
  z-index: 3;
}

/* ===== EQUAL HEIGHTS — overrides legacy align-items: center =====
   Without this, cards with less content shrink and look "smaller"
   than cards with more diagnostic text. Now all cards stretch
   to the tallest in the row, and all rows have equal height. */
.svc-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
.svc-card {
  height: 100% !important;
  align-self: stretch !important;
}

/* ===== TABLET (1024px and below) =====
   Drop from 5 cols → 2 cols. With 5 cards this gives 2+2+1.
   The lone 5th card is centered (not stuck to the left).
   Card width preserved for visual consistency. */
@media (max-width: 1024px) {
  .svc-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
  .svc-card:nth-child(5) {
    grid-column: 1 / -1;
    max-width: calc(50% - 9px);
    justify-self: center;
  }
}

/* ===== MOBILE (600px and below) =====
   Single column with constrained width — cards feel boxed,
   not stretched edge-to-edge. */
@media (max-width: 600px) {
  .svc-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .svc-grid > .svc-card,
  .svc-grid > .svc-card:nth-child(5) {
    width: 70% !important;
    min-width: 260px !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
    grid-column: auto !important;
  }
  .svc-card-diag { padding: 14px 14px 12px; }
  .svc-symptoms li { font-size: 14px; }
  .svc-card-name { font-size: 19px !important; min-height: 56px !important; }
  .svc-card-img img { height: 150px !important; }
}

/* ============================================================
   ABOUT (merged Trust section) — sub-line under H2 + 6 bullets
   in a 2-column layout on desktop, 1-column on mobile.
   ============================================================ */
.about-sub {
  grid-area: heading;
  margin-top: 6px;
  margin-bottom: 14px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 400;
  color: var(--blue);
  letter-spacing: .005em;
  line-height: 1.45;
  text-align: left;
}
.about-sub .hl-gold {
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 767px) {
  .about-sub {
    text-align: center;
    margin: 6px 0 16px;
    font-size: 16px;
  }
}

/* About-text grid: 2-column on desktop for 6 bullets */
.about .about-inner {
  grid-template-areas:
    "image heading"
    "image sub"
    "image text" !important;
  grid-template-rows: auto auto 1fr !important;
}
.about-sub { grid-area: sub; }
.about .about-text { padding-top: 12px !important; }

/* 2-column bullet layout on desktop only */
.check-list-2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px !important;
  margin-bottom: 28px !important;
}
.check-list-2col li {
  font-size: 14.5px;
  line-height: 1.5;
}
.check-list-2col .chk { width: 28px; height: 28px; }
.check-list-2col .chk svg { width: 14px; height: 14px; }
@media (max-width: 1024px) {
  .check-list-2col { grid-template-columns: 1fr; gap: 16px !important; }
  .check-list-2col li { font-size: var(--fs-body); }
  .check-list-2col .chk { width: 32px; height: 32px; }
  .check-list-2col .chk svg { width: 16px; height: 16px; }
}
@media (max-width: 767px) {
  .about .about-inner {
    grid-template-areas:
      "heading"
      "sub"
      "image"
      "text" !important;
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   CUSTOMER STORIES — merged Videos + Reviews section with tabs
   ============================================================ */
.customer-stories {
  background: var(--gray);
}
.customer-stories .sec-title { color: var(--dark); }
.customer-stories .sec-sub { color: var(--text); }

/* Eyebrow chip above the H2 */
.cs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto 12px;
  padding: 6px 14px;
  background: rgba(245,166,35,.12);
  border: 1px solid rgba(245,166,35,.4);
  border-radius: 999px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #b8730a;
}
.cs-eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34,197,94,.3);
  animation: cs-eyebrow-pulse 2s ease-out infinite;
}
@keyframes cs-eyebrow-pulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 0 0 0 rgba(34,197,94,.5); }
  50%      { box-shadow: 0 0 0 2px rgba(34,197,94,.35), 0 0 0 6px rgba(34,197,94,0); }
}

/* TABS — refined, subtle, consistent */
.cs-tabs {
  display: inline-flex;
  gap: 4px;
  margin: 0 auto 26px;
  padding: 5px;
  background: rgba(15,31,61,.05);
  border-radius: 12px;
}
.cs-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: transparent;
  border: none;
  border-radius: 9px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #6b7280;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
  white-space: nowrap;
  letter-spacing: .005em;
  line-height: 1;
}
.cs-tab svg {
  width: 16px; height: 16px;
  opacity: .8;
  flex-shrink: 0;
  transition: opacity .2s ease, fill .2s ease;
}
/* Play icon on Videos tab — fills with currentColor (gray when inactive, gold when active) */
.cs-tab[data-cs-tab="videos"] svg { fill: currentColor; }
.cs-tab[data-cs-tab="videos"].cs-tab-active svg { fill: var(--gold); }
/* Google G icon on Reviews tab — keeps native multi-color (do NOT set fill) */
.cs-tab .cs-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  padding: 2px 7px;
  background: rgba(15,31,61,.09);
  color: #6b7280;
  border-radius: 999px;
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  transition: background .2s ease, color .2s ease;
}
.cs-tab:hover {
  color: var(--navy);
  background: rgba(255,255,255,.5);
}
.cs-tab:hover svg { opacity: 1; }

/* Active tab — clean white pill with soft shadow, no harsh border */
.cs-tab-active {
  background: #fff !important;
  color: var(--navy) !important;
  box-shadow:
    0 2px 8px rgba(0,0,0,.08),
    0 1px 2px rgba(0,0,0,.04);
}
.cs-tab-active svg { opacity: 1; }
.cs-tab-active .cs-tab-count {
  background: rgba(245,166,35,.14);
  color: #b8730a;
}

/* PANELS */
.cs-panel { display: none; }
.cs-panel-active { display: block; animation: cs-fade-in .35s ease-out; }
@keyframes cs-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .cs-panel-active { animation: none; }
}

/* The video grid + cards inside panel use existing .vid-* styles
   but adjust dark-bg-specific colors for the new gray bg */
.customer-stories .vid-trust-strip {
  background: rgba(15,31,61,.04);
  border-color: rgba(245,166,35,.3);
}
.customer-stories .vid-trust-item { color: var(--text); }
.customer-stories .vid-trust-sep { color: rgba(245,166,35,.4); }
.customer-stories .vid-card {
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  border: 1px solid rgba(245,166,35,.25);
  box-shadow: 0 6px 20px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.04);
}
.customer-stories .vid-card:hover {
  border-color: rgba(245,166,35,.5);
  box-shadow: 0 12px 30px rgba(0,0,0,.12), 0 0 0 1px rgba(245,166,35,.3);
}
.customer-stories .vid-info {
  background: rgba(15,31,61,.04) !important;
  border-top: 1px solid rgba(245,166,35,.15);
}
.customer-stories .vid-stars { color: var(--gold); }
.customer-stories .vid-watch { color: #6b7280; }
.customer-stories .vid-card-tag {
  background: rgba(15,31,61,.92);
  color: var(--gold-lt);
}

@media (max-width: 600px) {
  .cs-tabs { width: 100%; max-width: 360px; }
  .cs-tab {
    flex: 1;
    padding: 10px 12px;
    font-size: 12.5px;
    justify-content: center;
  }
  .cs-tab .cs-tab-text { display: inline; }
  .cs-tab .cs-tab-count { font-size: 11px; min-width: 22px; padding: 1px 6px; }
}

/* ============================================================
   ADG SECTIONS — visibility fix
   Only the section matching ?svc= should display. geo.js adds
   .svc-active to one of them; everything else stays hidden.
   Without this rule, all 5 ADG sections showed at once.
   ============================================================ */
.adg { display: none !important; }
.adg.svc-active { display: block !important; }

/* ============================================================
   SECTION TRANSITION — Diagonal cut between Reviews and Form
   Visually slopes from gray (reviews) to blue (form) — marks
   the "action zone". Sits as a separate HTML element between.
   ============================================================ */
.sec-cut-diagonal {
  width: 100%;
  height: 36px;
  background: linear-gradient(to bottom right,
    transparent 0%,
    transparent 49.5%,
    var(--blue) 50%,
    var(--blue) 100%
  );
  position: relative;
  margin-bottom: -1px;
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 767px) {
  .sec-cut-diagonal { height: 22px; }
}

/* ============================================================
   ADG STATUS TAGS — service-specific badge per ADG section
   Each variant has a unique color + icon + contextual message
   so the 5 ADG sections feel visually distinct (not 5x same tag).
   Styled as a pill with icon — clearly NOT a button.
   ============================================================ */
.adg-tag {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  font-family: Manrope, Roboto, system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .09em !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  margin-bottom: 14px;
  white-space: nowrap;
  line-height: 1;
}
.adg-tag svg {
  width: 12px; height: 12px;
  flex-shrink: 0;
}

/* GOLD — Most Requested (Repair) */
.adg-tag-gold {
  background: linear-gradient(135deg, rgba(245,166,35,.15) 0%, rgba(245,166,35,.08) 100%) !important;
  color: #b8730a !important;
  border: 1px solid rgba(245,166,35,.45);
}
.adg-tag-gold svg { fill: #d97706; }

/* ORANGE — Same-Day Fast (Spring) */
.adg-tag-orange {
  background: linear-gradient(135deg, rgba(234,88,12,.14) 0%, rgba(234,88,12,.07) 100%) !important;
  color: #c2410c !important;
  border: 1px solid rgba(234,88,12,.4);
}
.adg-tag-orange svg { fill: #ea580c; }

/* BLUE — All Brands / Trust (Opener) */
.adg-tag-blue {
  background: linear-gradient(135deg, rgba(37,99,235,.13) 0%, rgba(37,99,235,.07) 100%) !important;
  color: #1e3a8a !important;
  border: 1px solid rgba(37,99,235,.4);
}
.adg-tag-blue svg { fill: #2563eb; }

/* RED — Emergency (Off-Track) */
.adg-tag-red {
  background: linear-gradient(135deg, rgba(220,38,38,.14) 0%, rgba(220,38,38,.07) 100%) !important;
  color: #991b1b !important;
  border: 1px solid rgba(220,38,38,.45);
  animation: adg-tag-red-pulse 2.4s ease-out infinite;
}
.adg-tag-red svg { fill: #dc2626; }
@keyframes adg-tag-red-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.4); }
  50%      { box-shadow: 0 0 0 6px rgba(220,38,38,0); }
}
@media (prefers-reduced-motion: reduce) {
  .adg-tag-red { animation: none; }
}

/* GREEN — Free Estimate (Install) */
.adg-tag-green {
  background: linear-gradient(135deg, rgba(22,163,74,.14) 0%, rgba(22,163,74,.07) 100%) !important;
  color: #166534 !important;
  border: 1px solid rgba(22,163,74,.4);
}
.adg-tag-green svg { fill: #16a34a; }

/* On dark backgrounds (gray ADG sections), boost contrast */
.adg-gray .adg-tag-gold,
.adg-gray .adg-tag-orange,
.adg-gray .adg-tag-blue,
.adg-gray .adg-tag-red,
.adg-gray .adg-tag-green {
  background: rgba(255,255,255,.6) !important;
}

/* ============================================================
   BTN-SECONDARY — outline / lower-emphasis CTA
   For sections that already have multiple gold CTAs above.
   Still clickable phone link, just visually less dominant
   so the eye reserves attention for the primary CTAs.
   ============================================================ */
.btn-secondary {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1.5px solid rgba(245,166,35,.55) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.05) !important;
  text-shadow: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}
.btn-secondary:hover {
  background: rgba(245,166,35,.08) !important;
  border-color: var(--gold) !important;
  color: #b8730a !important;
  transform: translateY(-1px);
}
.btn-secondary svg {
  fill: var(--gold) !important;
}
.btn-secondary:hover svg {
  fill: #b8730a !important;
}
/* On dark backgrounds (vid-sec, emergency) keep text light */
.vid-sec .btn-secondary,
.emergency .btn-secondary,
footer .btn-secondary {
  color: var(--gold-lt) !important;
  border-color: rgba(245,166,35,.55) !important;
}
.vid-sec .btn-secondary:hover,
.emergency .btn-secondary:hover,
footer .btn-secondary:hover {
  color: #fff !important;
  background: rgba(245,166,35,.15) !important;
}

/* ============================================================
   BTN-2LINE — compact 2-line CTA button
   Action label on top + phone number on bottom INSIDE one button.
   Number is smaller (0.7em) and slightly faded so the action
   stays visually dominant. Padding tightened so total height
   only marginally larger than a normal 1-line button.
   ============================================================ */
.btn-2line {
  flex-direction: column !important;
  gap: 0 !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  line-height: 1.05 !important;
  min-height: auto !important;
}
.btn-2line .btn-2line-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: 1;
}
.btn-2line .btn-2line-num {
  font-family: Teko, sans-serif;
  font-size: .7em;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1;
  opacity: .82;
  margin-top: 4px;
}
.btn-2line.btn-lg {
  padding-top: 11px !important;
  padding-bottom: 11px !important;
}
.btn-2line.btn-lg .btn-2line-num {
  font-size: .68em;
  margin-top: 5px;
}
@media (max-width: 600px) {
  .btn-2line {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .btn-2line .btn-2line-num { font-size: .65em; margin-top: 3px; }
}

/* ============================================================
   PHONE-TEXT-LINK — visible phone number under CTA buttons.
   Reinforces the number for visitors who skip clicking the button
   and prefer dialing manually (older demographic, mobile users).
   ============================================================ */
.phone-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font-family: Teko, sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--navy);
  text-decoration: none;
  letter-spacing: .015em;
  line-height: 1;
  transition: color .15s, transform .15s;
}
.phone-text-link svg {
  width: 16px; height: 16px;
  fill: var(--gold);
  flex-shrink: 0;
}
.phone-text-link:hover { color: var(--blue); transform: translateY(-1px); }
.phone-text-link.on-dark { color: #fff; }
.phone-text-link.on-dark:hover { color: var(--gold-lt); }
.phone-text-link .pt-label {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #6b7280;
  margin-right: 2px;
}
.phone-text-link.on-dark .pt-label { color: rgba(255,255,255,.65); }
@media (max-width: 600px) {
  .phone-text-link { font-size: 24px; margin-top: 12px; }
  .phone-text-link .pt-label { font-size: 11px; }
}

/* Wrap CTA + phone link in a column for centered alignment */
.cta-stack {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* ============================================================
   ANNOUNCE BAR — green pulsing live dot + responsive single-line
   Desktop: shows full "Tech On Call Now in San Bernardino County · Tap to Call"
   Mobile (<600px): hides "in [city]"
   Tiny (<380px): hides pill — keeps just status + dot
   ============================================================ */
.announce-bar { padding: 8px 16px !important; }
.announce-inner {
  flex-wrap: nowrap !important;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
}
.announce-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #4ade80 0%, #22c55e 60%, #16a34a 100%);
  flex-shrink: 0;
}
/* announce-dot pulse removed — static gradient dot for cleaner look */
@media (prefers-reduced-motion: reduce) {
  .announce-dot { animation: none; }
}
.announce-md-only { display: inline; }
@media (max-width: 600px) {
  .announce-md-only { display: none; }
  .announce-inner { font-size: 12.5px; gap: 7px; }
  .announce-inner strong { font-size: 13.5px; }
}
@media (max-width: 380px) {
  .announce-pill { font-size: 10px; padding: 1.5px 7px; }
  .announce-inner strong { font-size: 13px; }
}

/* ============================================================
   PRE-LAUNCH QA FIXES — comprehensive responsiveness, typography,
   and color cohesion improvements based on full audit.
   ============================================================ */

/* --- 1. Type hierarchy: --fs-h4 needs responsive scaling --- */
:root {
  --fs-h4: clamp(18px, 1.5vw, 22px) !important;
  /* Extended palette for repeated colors — promotes consistency */
  --text-muted: #6b7280;
  --text-soft: #9eb5d4;
  --success: #16a34a;
  --success-lt: #22c55e;
  --warning: #ea580c;
  --error: #dc2626;
}

/* --- 2. Customer Stories tabs — wrap gracefully on tiny mobile --- */
.cs-tabs {
  flex-wrap: wrap;
  max-width: 100%;
  justify-content: center;
}
@media (max-width: 360px) {
  .cs-tabs {
    width: 100%;
    flex-direction: column;
    gap: 4px;
  }
  .cs-tab { justify-content: space-between; }
}

/* --- 3. Footer payment image (clean white pill) + map iframe — explicit responsive sizing --- */
.foot-pay-img {
  height: 36px;
  width: auto;
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  border-radius: 6px;
  background: #fff;
  padding: 5px 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08);
  object-fit: contain;
}
@media (max-width: 600px) {
  .foot-pay-img { height: 30px; padding: 4px 6px; }
}
.foot-map-iframe {
  max-width: 100%;
  display: block;
}

/* --- 4. phone-text-link color contrast on dark backgrounds --- */
.phone-text-link.on-dark:hover {
  color: var(--gold-lt) !important;  /* was --blue, low contrast on navy */
}
.vid-sec .phone-text-link,
.emergency .phone-text-link,
footer .phone-text-link {
  color: #fff !important;
}
.vid-sec .phone-text-link:hover,
.emergency .phone-text-link:hover,
footer .phone-text-link:hover {
  color: var(--gold-lt) !important;
}

/* --- 5. btn-secondary on dark backgrounds — improve hover contrast --- */
.vid-sec .btn-secondary:hover,
.emergency .btn-secondary:hover,
footer .btn-secondary:hover,
.customer-stories .btn-secondary:hover {
  color: #fff !important;
  background: rgba(245,166,35,.22) !important;
  border-color: var(--gold-lt) !important;
}

/* ============================================================
   CONSISTENCY FIXES — unified sub-text styling + card radius
   Based on full consistency audit. All section sub-headings now
   share the same italic blue + optional gold accent pattern.
   ============================================================ */

/* --- Unified sub-text base (works for .sec-sub, .about-sub, .form-subtitle) --- */
.sec-sub,
.about-sub,
.form-subtitle {
  font-family: Manrope, Roboto, system-ui, sans-serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 400;
  color: var(--blue);
  letter-spacing: .005em;
  line-height: 1.45;
  margin-top: 6px;
}
.sec-sub .hl-gold,
.about-sub .hl-gold,
.form-subtitle .hl-gold,
.form-subtitle .form-hl {
  font-style: normal;
  font-weight: 600;
  color: var(--gold);
}

/* Form section is on blue bg — sub-text needs lighter color */
.form-sec .form-subtitle {
  color: rgba(255,255,255,.92);
}
.form-sec .form-subtitle .form-hl {
  color: var(--blue);
}

/* On dark sections (vid-sec/customer-stories navy bg), sub stays light */
.customer-stories .sec-sub { color: var(--text); }

@media (max-width: 767px) {
  .sec-sub,
  .about-sub,
  .form-subtitle { font-size: 16px; }
}

/* --- Card border-radius unification — all cards use 12px --- */
.proc-step,
.adg-stat-box {
  border-radius: 12px !important;
}

/* --- Header logo — slightly bigger on mobile for better brand visibility --- */
@media (max-width: 767px) {
  .hdr-logo-img img { height: 56px !important; }
}
@media (max-width: 480px) {
  .hdr-logo-img img { height: 54px !important; }
}

/* --- 6. Trust strip in header — better mobile overflow on tiny phones --- */
@media (max-width: 380px) {
  .trust-inner {
    gap: 0 10px;
    padding-left: 4px;
    padding-right: 4px;
  }
  .trust-item { font-size: 12px; }
}

/* --- 7. Form inputs — explicit min-height across all mobile breakpoints --- */
@media (max-width: 480px) {
  .form-wrap input,
  .form-wrap select {
    min-height: 50px !important;
    font-size: 16px !important;  /* prevents iOS zoom on focus */
  }
}

/* --- 8. Generic image safety — prevent any rogue images from overflowing --- */
img:not([width]):not([height]) {
  max-width: 100%;
  height: auto;
}

/* --- 9. Sticky bar — body padding compensates for sticky CTA (68px) + safe area --- */
@media (max-width: 767px) {
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0)); }
}

/* --- 10. Touch target safety — minimum 44px for any interactive element --- */
@media (hover: none) and (pointer: coarse) {
  button, .btn, a.btn, .cs-tab, .rv-pg-btn, .faq-btn {
    min-height: 44px;
  }
}

/* --- 11. Better focus visibility for keyboard navigation --- */
.cs-tab:focus-visible,
.rv-pg-btn:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 8px;
}

/* --- 12. Reduce motion for users who prefer it (accessibility) --- */
@media (prefers-reduced-motion: reduce) {
  .cs-tab,
  .btn-2line,
  .phone-text-link,
  .vid-card,
  .svc-card {
    transition: none !important;
  }
}

/* ============================================================
   SECTION FLOW POLISH — visual rhythm + transitions
   Goal: fix mid-page monotony, add design-language consistency,
   and soften hard section transitions.
   ============================================================ */

/* --- FIX #1: About → WHITE (was gray, was merging with Reviews above) --- */
.about {
  background:
    radial-gradient(ellipse 55% 35% at 50% 0%, rgba(245,166,35,.07), transparent 65%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.04) 1px, transparent 0) 0 0/26px 26px,
    var(--white) !important;
  position: relative;
}

/* --- FIX #2A: Services → add subtle blue accent + dot texture --- */
.services {
  background:
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(41,112,235,.06), transparent 65%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.04) 1px, transparent 0) 0 0/26px 26px,
    var(--white) !important;
  position: relative;
}

/* --- FIX #2B: Reviews → add subtle gold accent + dot texture (matches design language) --- */
.customer-stories.reviews {
  background:
    radial-gradient(ellipse 70% 35% at 50% 0%, rgba(245,166,35,.08), transparent 65%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.04) 1px, transparent 0) 0 0/26px 26px,
    var(--gray) !important;
  position: relative;
}

/* --- FIX #2C: Before/After → add subtle texture so it doesn't feel "blank" between adg and process --- */
.ba-sec {
  background:
    radial-gradient(ellipse 55% 30% at 50% 100%, rgba(245,166,35,.06), transparent 65%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.04) 1px, transparent 0) 0 0/26px 26px,
    #f5f7fa !important;
  position: relative;
}

/* --- FIX #2D: ADG sections — add subtle texture for consistency --- */
.adg-white {
  background:
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(245,166,35,.05), transparent 60%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.035) 1px, transparent 0) 0 0/26px 26px,
    var(--white) !important;
  position: relative;
}
.adg-gray {
  background:
    radial-gradient(ellipse 70% 40% at 50% 0%, rgba(41,112,235,.05), transparent 60%),
    radial-gradient(circle at 1px 1px, rgba(15,31,61,.04) 1px, transparent 0) 0 0/26px 26px,
    var(--gray) !important;
  position: relative;
}

/* --- FIX #3: Soft section transitions — gold accent dividers between sections --- */
/* Subtle gold gradient line at the top of select sections to bridge color jumps */
.about::after,
.services::after,
.process::after,
.faq::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(220px, 40%);
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(245,166,35,.55), transparent);
  pointer-events: none;
  z-index: 1;
}

/* Bottom-of-section soft fade — softens the hard horizontal cut between sections */
.customer-stories.reviews::before,
.about::before,
.services::before,
.ba-sec::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(15,31,61,.08) 25%, rgba(245,166,35,.25) 50%, rgba(15,31,61,.08) 75%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}

/* Mobile: lighter dividers (less visual weight on small screens) */
@media (max-width: 767px) {
  .about::after,
  .services::after,
  .process::after,
  .faq::after {
    width: min(160px, 50%);
    height: 1.5px;
  }
}

/* ============================================================
   SELF-HOSTED VIDEO PLAYER — replaces YouTube embeds
   ============================================================ */

/* Native <video> fills the thumb, with branded fallback bg */
.vid-thumb .vid-player {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background:
    radial-gradient(ellipse 70% 50% at 50% 40%, #1a3460 0%, #0b1d45 75%),
    linear-gradient(135deg, #0b1d45 0%, #132d6a 100%);
  border: 0;
  outline: none;
}

/* When playing — controls show, hide the gold play overlay */
.vid-thumb.playing .vid-play-pulse {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

/* When playing — also hide the corner "Verified Review" tag for cleaner viewing */
.vid-card .vid-thumb.playing ~ .vid-info { /* keep info row */ }
.vid-card:has(.vid-thumb.playing) .vid-card-tag {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

/* Ensure thumb has explicit aspect ratio so layout is stable before video loads */
.vid-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #0b1d45 0%, #132d6a 100%);
}

/* Hide native controls "fullscreen" button safari quirk fix is automatic */
/* On hover (desktop), subtle zoom on the poster frame for life */
@media (hover: hover) {
  .vid-thumb:not(.playing) .vid-player {
    transition: transform .5s ease;
  }
  .vid-card:hover .vid-thumb:not(.playing) .vid-player {
    transform: scale(1.04);
  }
}

/* --- 6-card grid (3x2 desktop, 2x3 tablet, 2x3 mobile) — overrides original 4-card grid --- */
.vid-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 900px) {
  .vid-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .vid-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }
}

/* ============================================================
   HERO CTA POLISH — corner 24/7 badge + tighter visual hierarchy
   Builds on existing .hero-phone-cta gold styling.
   Adds floating "24/7" sticker top-right + stronger label spacing.
   ============================================================ */
.hero-phone-cta {
  position: relative;
}
.cta-247-badge {
  position: absolute;
  top: -10px;
  right: -8px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #fff;
  font-family: 'Teko', 'Arial Narrow', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 5px 11px 4px;
  border-radius: 20px;
  border: 2px solid #fff;
  box-shadow: 0 3px 10px rgba(220,38,38,.45), 0 0 0 1px rgba(0,0,0,.05);
  line-height: 1;
  z-index: 2;
  pointer-events: none;
  transform: rotate(8deg);
  white-space: nowrap;
}
@media (max-width: 480px) {
  .cta-247-badge {
    font-size: 15px;
    padding: 4px 9px 3px;
    top: -9px;
    right: -6px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .cta-247-badge {
    animation: cta-247-pulse 2.4s ease-out infinite;
  }
  @keyframes cta-247-pulse {
    0%, 100% { transform: rotate(8deg) scale(1); box-shadow: 0 3px 10px rgba(220,38,38,.45); }
    50%      { transform: rotate(8deg) scale(1.06); box-shadow: 0 4px 16px rgba(220,38,38,.65); }
  }
}

/* ============================================================
   HEADER PHONE PILL — premium branded design
   Split visual: gold icon section + dark text + live status dot.
   Uses authority/trust colors. Does NOT compete with sticky (green)
   or hero CTA (full gold). Distinctive enough to feel branded.
   ============================================================ */
.hdr-right {
  display: inline-flex !important;
  align-items: stretch;
  position: relative;
}
.hdr-phone {
  background: linear-gradient(135deg, #0a1633 0%, #152a5e 50%, #0a1633 100%) !important;
  color: #fff !important;
  padding: 10px 16px 10px 14px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-family: 'Teko', sans-serif !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  letter-spacing: .02em;
  white-space: nowrap;
  line-height: 1;
  border-radius: 12px;
  border: 1px solid rgba(245,166,35,.5);
  box-shadow:
    0 2px 14px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.3);
  animation: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
  overflow: visible;
}
/* Gold icon "chip" — elevated visual element */
.hdr-phone .ph-sm {
  width: 22px !important;
  height: 22px !important;
  fill: #0a1633 !important;
  background: linear-gradient(135deg, #ffd15c 0%, #f5a623 100%);
  padding: 5px;
  border-radius: 8px;
  box-shadow:
    0 2px 6px rgba(245,166,35,.5),
    inset 0 1px 0 rgba(255,255,255,.5);
  flex-shrink: 0;
}
.hdr-phone:hover {
  transform: translateY(-1px);
  box-shadow:
    0 6px 18px rgba(245,166,35,.3),
    inset 0 1px 0 rgba(255,255,255,.1);
  border-color: rgba(245,166,35,.85);
}
.hdr-phone:hover .ph-sm {
  box-shadow:
    0 3px 10px rgba(245,166,35,.7),
    inset 0 1px 0 rgba(255,255,255,.6);
}
@media (max-width: 480px) {
  .hdr-phone {
    font-size: 19px !important;
    padding: 8px 12px 8px 10px !important;
    gap: 8px;
    border-radius: 10px;
  }
  .hdr-phone .ph-sm {
    width: 18px !important;
    height: 18px !important;
    padding: 4px;
    border-radius: 7px;
  }
}

/* ============================================================
   FOOTER SERVICE AREA MAP — static SVG image (no external links)
   Replaces heavy iframe + Google Maps redirect.
   Pure local asset — saves ~200KB + zero 3rd-party requests.
   ============================================================ */
.foot-map-image-wrap {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid rgba(245,166,35,.35);
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
  background: #0f1f3d;
  line-height: 0;
}
.foot-map-image {
  width: 100%;
  height: auto;
  display: block;
  max-height: 280px;
  object-fit: contain;
  background: linear-gradient(135deg, #1e3a5f 0%, #0f1f3d 100%);
}
@media (max-width: 600px) {
  .foot-map-image { max-height: 220px; }
}

/* ============================================================
   UI/UX POLISH ROUND — May 2026
   Per-section refinements based on design audit.
   ============================================================ */

/* === #2 BRANDS STRIP — Subtle dot texture for personality === */
.brands {
  background-image:
    radial-gradient(circle at 1px 1px, rgba(245,166,35,.06) 1px, transparent 0),
    linear-gradient(180deg, var(--dark) 0, #0a1326 100%) !important;
  background-size: 22px 22px, 100% 100% !important;
  position: relative;
}
.brands::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(245,166,35,.55), transparent);
}

/* === #4 ABOUT (Why TopDeal) — accommodate vertical photo (3:4 ratio) === */
@media (min-width: 768px) {
  .about-img-inner img {
    height: 540px !important;
    object-position: center top;
  }
}
@media (max-width: 767px) {
  .about-img-inner img {
    height: 380px !important;
    object-position: center 20%;
  }
}

/* === #5 SERVICES GRID — Enhance active card, more visible === */
.svc-card.svc-card-active {
  transform: translateY(-8px) scale(1.04) !important;
  box-shadow:
    0 0 0 3px var(--gold),
    0 18px 40px rgba(245,166,35,.5),
    0 6px 16px rgba(0,0,0,.18) !important;
  z-index: 2;
  position: relative;
  overflow: visible !important;
}
.svc-grid { padding-top: 18px; }
.svc-card.svc-card-active .svc-card-cta {
  background: linear-gradient(135deg, #f5a623 0%, #ffd15c 100%) !important;
  color: #0f1f3d !important;
  box-shadow: 0 4px 14px rgba(245,166,35,.45);
  font-weight: 800;
}
.svc-card.svc-card-active .svc-card-cta svg { fill: #0f1f3d !important; }
.svc-card.svc-card-active::after {
  content: '⭐ Recommended for You';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #f5a623, #d98b0e);
  color: #fff;
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(245,166,35,.45);
  white-space: nowrap;
  z-index: 3;
}

/* === #6 ADG STATS SIDEBAR — Bigger numbers + premium gradient === */
.adg-stat-box {
  background:
    radial-gradient(ellipse 75% 50% at 50% 0%, rgba(41,112,235,.32), transparent 70%),
    radial-gradient(ellipse 60% 45% at 88% 92%, rgba(245,166,35,.12), transparent 65%),
    linear-gradient(160deg, #1a3460 0%, #0f1f3d 60%, #0a1633 100%) !important;
  border: 1px solid rgba(245,166,35,.18);
  box-shadow: 0 12px 36px rgba(15,31,61,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.adg-stat .n {
  font-family: 'Teko', sans-serif !important;
  font-size: 56px !important;
  line-height: 1 !important;
  letter-spacing: .01em;
}
@media (max-width: 767px) {
  .adg-stat .n { font-size: 42px !important; }
}

/* === #8 HOW IT WORKS — Connecting flow line (mobile-safe) === */
.proc-steps { position: relative; }
@media (min-width: 768px) {
  .proc-steps::before {
    content: '';
    position: absolute;
    top: 36px;
    left: 18%;
    right: 18%;
    height: 2px;
    background-image: linear-gradient(90deg, rgba(245,166,35,.5) 0 12px, transparent 12px 22px);
    background-size: 22px 2px;
    background-repeat: repeat-x;
    z-index: 0;
    pointer-events: none;
  }
  .proc-step { position: relative; z-index: 1; }
  .proc-step .proc-num {
    background: #fff !important;
    color: var(--blue) !important;
    border: 2px solid var(--blue) !important;
    box-shadow:
      0 0 0 8px #fff,
      0 4px 14px rgba(41,112,235,.25) !important;
  }
  .proc-step .proc-num .proc-num-text {
    color: var(--blue) !important;
  }
}
/* Mobile display:none for .proc-steps::before — consolidated at ~line 2649 */

/* === #9 EMERGENCY SECTION — vertical photo, restructured layout
   Desktop: 2-col grid (text left, image right spans rows)
   Mobile: title → subtitle → image → rest (flex order)
   ============================================================ */
.emergency-img-wrap {
  display: block !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.5), 0 0 0 2px rgba(245,166,35,.25);
}
.emergency-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 12px !important;
  filter: brightness(.95) contrast(1.05) saturate(1.05);
}

/* === Desktop: 2-column grid layout === */
@media (min-width: 768px) {
  .emergency {
    display: grid !important;
    grid-template-columns: 1fr 360px;
    column-gap: 64px;
    row-gap: 18px;
    align-items: start;
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 56px !important;
    padding-right: 56px !important;
  }
  .emergency .e-live,
  .emergency .sec-title,
  .emergency > p,
  .emergency .e-scenarios,
  .emergency .e-nums,
  .emergency .e-cta {
    grid-column: 1;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left;
  }
  .emergency .sec-title { text-align: left; justify-content: flex-start; }
  .emergency .e-scenarios { padding-left: 0; }
  .emergency .e-cta { justify-self: start; margin-top: 12px; }
  .emergency .emergency-img-wrap {
    grid-column: 2;
    grid-row: 1 / span 7;
    align-self: start;
    margin: 0 !important;
    width: 100%;
    max-height: 540px;
  }
  .emergency .emergency-img {
    height: 100% !important;
    object-fit: cover;
  }
}

/* === Mobile: standard order — title → subtitle → IMAGE → rest === */
@media (max-width: 767px) {
  .emergency {
    display: flex !important;
    flex-direction: column;
  }
  .emergency .e-live           { order: 1; }
  .emergency .sec-title        { order: 2; }
  .emergency > p               { order: 3; }
  .emergency .emergency-img-wrap { order: 4; max-width: 320px; margin: 18px auto 4px !important; }
  .emergency .e-scenarios      { order: 5; }
  .emergency .e-nums           { order: 6; }
  .emergency .e-cta            { order: 7; }
}

/* === #10 FORM SECTION — smoothest transition + lifted card === */
.sec-cut-diagonal { display: none !important; }

.form-sec {
  background:
    radial-gradient(ellipse 60% 50% at 15% 100%, rgba(245,166,35,.20) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 100%, rgba(245,166,35,.14) 0%, transparent 60%),
    radial-gradient(ellipse 100% 50% at 50% 0%, rgba(255,255,255,.12) 0%, transparent 60%),
    linear-gradient(180deg, #0f1f3d 0%, #1a3d8f 18%, var(--blue) 50%, #1f5dd5 100%) !important;
  position: relative;
  padding-top: calc(var(--sec-v) + 28px) !important;
  padding-bottom: calc(var(--sec-v) + 16px) !important;
  overflow: hidden;
}
/* Soft top wave — masks any hard transition from emergency section */
.form-sec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 90px;
  background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(15,31,61,.6) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
/* Subtle floating particles for atmosphere */
.form-sec::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}
/* Lift the form card — premium feel */
.form-sec .form-card {
  position: relative;
  z-index: 2;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.5),
    0 12px 32px rgba(0,0,0,0.25),
    0 0 0 1px rgba(245,166,35,0.55),
    inset 0 1px 0 rgba(255,255,255,0.6) !important;
  transform: translateY(-4px);
}
.form-sec .form-card::before {
  /* Gold accent on top */
  content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #f5a623, #ffd15c, #f5a623, transparent);
  border-radius: 2px;
}

/* === #11 FAQ FEATURED ITEM — subtle gold accent === */
.faq-item-featured {
  background: linear-gradient(135deg, #fffaf2 0%, #ffffff 100%) !important;
  border: 1px solid rgba(245,166,35,.35) !important;
  box-shadow: 0 4px 14px rgba(245,166,35,.12), 0 1px 3px rgba(15,31,61,.06) !important;
  position: relative;
}
.faq-item-featured::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #f5a623, #d98b0e);
  border-radius: 10px 0 0 10px;
}
.faq-item-featured .faq-cat {
  background: var(--gold) !important;
  color: var(--dark) !important;
}

/* === #12 FOOTER LOGO — enlarge 18% === */
.foot-logo-lg {
  height: 172px !important;
}
@media (max-width: 767px) {
  .foot-logo-lg { height: 106px !important; }
}

/* === #13 24/7 DESKTOP — Live Feed Frame ============================
   Security-camera vibe: corner brackets, LIVE pulsing dot,
   slow Ken-Burns zoom, vignette, REC meta. Mobile is untouched.
   ================================================================ */
.cam-corner,
.cam-vignette,
.cam-scanline { display: none; }

@media (min-width: 768px) {
  .emergency .emergency-img-wrap {
    position: relative !important;
    border-radius: 8px !important;
    background: #000;
    overflow: hidden;
    box-shadow:
      0 18px 56px rgba(0,0,0,.55),
      0 0 0 1px rgba(245,166,35,.45),
      inset 0 0 0 1px rgba(0,0,0,.6) !important;
  }
  .emergency .emergency-img {
    border-radius: 6px !important;
    transform-origin: 55% 45%;
    animation: camKenBurns 22s ease-in-out infinite alternate;
    filter: brightness(.92) contrast(1.08) saturate(1.05) !important;
  }
  .cam-corner {
    display: block;
    position: absolute;
    width: 30px; height: 30px;
    border: 3px solid var(--gold);
    z-index: 4;
    pointer-events: none;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.6));
  }
  .cam-corner-tl { top: 12px; left: 12px;  border-right: none; border-bottom: none; border-radius: 4px 0 0 0; }
  .cam-corner-tr { top: 12px; right: 12px; border-left:  none; border-bottom: none; border-radius: 0 4px 0 0; }
  .cam-corner-bl { bottom: 12px; left: 12px;  border-right: none; border-top: none; border-radius: 0 0 0 4px; }
  .cam-corner-br { bottom: 12px; right: 12px; border-left:  none; border-top: none; border-radius: 0 0 4px 0; }

  .cam-vignette {
    display: block;
    position: absolute; inset: 0;
    background:
      radial-gradient(ellipse 100% 80% at 50% 50%, transparent 55%, rgba(0,0,0,.55) 100%),
      linear-gradient(180deg, rgba(0,0,0,.18) 0%, transparent 22%, transparent 78%, rgba(0,0,0,.28) 100%);
    pointer-events: none;
    z-index: 2;
    border-radius: 6px;
  }
  .cam-scanline {
    display: block;
    position: absolute; inset: 0;
    background: repeating-linear-gradient(
      180deg,
      rgba(255,255,255,.02) 0px,
      rgba(255,255,255,.02) 1px,
      transparent 1px,
      transparent 3px
    );
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: 3;
    border-radius: 6px;
    opacity: .6;
  }

}

@keyframes camKenBurns {
  0%   { transform: scale(1.00) translate(0, 0); }
  100% { transform: scale(1.06) translate(-1.2%, -1.0%); }
}
@media (prefers-reduced-motion: reduce) {
  .emergency .emergency-img { animation: none !important; }
}

/* === #14 REAL JOBS — Desktop ≥1025px: 2-col grid, uniform card heights === */
@media (min-width: 1025px) {
  .ba-grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 1fr;  /* all rows same height */
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
  }
  .ba-card {
    display: flex;
    flex-direction: column;
  }
  /* Slightly smaller cards: tighter title + caption + wider slider aspect */
  .ba-card .ba-card-title {
    padding: 16px 14px 10px;
    font-size: 22px;
  }
  .ba-card .ba-slider {
    aspect-ratio: 16 / 10;  /* slightly less tall than 3/2 */
  }
  .ba-card .ba-caption {
    margin-top: auto;
    font-size: 13px;
    padding: 12px 16px 14px;
  }
}

/* === #15 HERO IMAGE — shift visible area upward + brightness boost === */
.hero-photo-desktop img,
.hero-photo-mobile img {
  filter: brightness(1.12) contrast(1.04) saturate(1.06) !important;
}
.hero-photo-desktop img {
  object-position: center 25% !important;
  margin-top: -22px !important;
  height: calc(100% + 22px) !important;
}
@media (max-width: 767px) {
  .hero-photo-mobile img {
    object-position: center 25% !important;
    margin-top: -12px !important;
    height: calc(100% + 12px) !important;
  }
}

