:root{--black:#030711;--line:#1d4d72;--red:#e41425;--blue:#147dff;--cyan:#00c9ff;--green:#55d66b;--gold:#ffbf35;--muted:#a9bed0;--white:#f5fbff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030711;color:#f5fbff;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1480px,calc(100% - 42px));margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:9px;border:1px solid var(--line);font-weight:900;text-transform:uppercase;cursor:pointer}.btn-red{background:linear-gradient(180deg,#ff263b,#a90c18);border-color:#ff3547;box-shadow:0 0 28px rgba(228,20,37,.45)}.btn-blue{background:linear-gradient(180deg,#159cff,#0b58d0);border-color:#2caaff;box-shadow:0 0 24px rgba(20,125,255,.38)}.alertbar{background:#b80d19;color:#fff;font-size:13px;text-transform:uppercase;font-weight:900}.alertbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}.header{position:sticky;top:0;z-index:60;background:rgba(3,8,17,.96);border-bottom:1px solid var(--line)}.nav{height:92px;display:flex;align-items:center;gap:26px}.logo-nav{width:190px;max-height:74px;object-fit:contain;border-radius:6px}.nav nav{display:flex;gap:22px;font-size:13px;text-transform:uppercase;font-weight:900}.grow{flex:1}.hero{position:relative;min-height:820px;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(0,201,255,.22),transparent 28%),linear-gradient(118deg,#030711 0 38%,#071b33 38% 70%,#3b0712 100%)}.matrix{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.42}.matrix span{position:absolute;top:-180px;writing-mode:vertical-rl;font-family:monospace;font-size:18px;color:rgba(0,201,255,.55);text-shadow:0 0 10px rgba(0,201,255,.75);animation:rain linear infinite}@keyframes rain{to{transform:translateY(1220px)}}.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;min-height:820px;padding:48px 0}.logo-hero{width:min(560px,96%);border-radius:12px;box-shadow:0 0 55px rgba(0,201,255,.26)}.hero-title{font-family:Impact,Arial Black,sans-serif;font-size:clamp(58px,7vw,118px);line-height:.86;margin:18px 0;text-transform:uppercase}.chrome{color:#f4f8fb;text-shadow:0 3px 0 #68717c}.red{color:var(--red)}.blue{color:var(--blue)}.hero-sub{font-size:21px;line-height:1.45;max-width:770px}.pills{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.pills b{background:rgba(8,25,43,.82);border:1px solid var(--line);border-radius:999px;padding:10px 14px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.trust,.quote-card{background:rgba(8,24,42,.82);border:1px solid var(--line);border-radius:12px;padding:14px}.quote-card{background:rgba(6,17,30,.94);border-color:rgba(0,201,255,.58);border-radius:18px;padding:24px}.quote-card h2{font-family:Impact,Arial Black,sans-serif;font-size:54px;line-height:.95;text-transform:uppercase;text-align:center;margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;text-transform:uppercase;font-weight:900;color:#c6d8e8}.field input,.field select,.field textarea{background:#071522;border:1px solid #2d5575;color:#fff;border-radius:8px;padding:13px}.field textarea{min-height:104px}.quote-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;text-align:center}.quote-stats b{font-size:28px;color:var(--red)}.strip{background:rgba(4,12,24,.97);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strip .container{min-height:72px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;text-align:center;font-weight:900;text-transform:uppercase}.ticker{height:34px;background:#02060c;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;color:var(--cyan);font-weight:900}.ticker div{display:inline-block;padding-left:100%;animation:ticker 22s linear infinite}@keyframes ticker{to{transform:translateX(-100%)}}
.v63{background:#06111f;border-top:1px solid var(--line);padding:34px 0 0}.v63-title{margin:0 0 24px;display:flex;align-items:center;justify-content:center;gap:16px;text-align:center;font-family:Impact,Arial Black,sans-serif;font-size:clamp(31px,3.5vw,58px);text-transform:uppercase;line-height:1}.services63{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.svc63{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0b2034,#071522);overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.32);text-align:center}.svc63 img{width:100%;height:230px;object-fit:cover;display:block}.svcbody63{position:relative;padding:42px 22px 22px;min-height:245px;background:linear-gradient(180deg,#071521,#0b2034)}.ico63{position:absolute;top:-34px;left:50%;transform:translateX(-50%);width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:30px;background:linear-gradient(180deg,#147dff,#063b93);border:3px solid rgba(255,255,255,.72);box-shadow:0 0 26px rgba(20,125,255,.55)}.svc63 h3{margin:0 0 10px;font-size:23px;text-transform:uppercase}.svc63 p{margin:0 0 16px;color:#e3edf7;line-height:1.35;min-height:72px}.info63{margin:18px 0;display:grid;grid-template-columns:1.55fr .85fr;gap:18px}.stats63{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#071521,#081d30)}.stat63{min-height:136px;padding:18px;display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid rgba(255,255,255,.12)}.stat63:last-child{border-right:0}.stat63 .si{font-size:40px}.stat63 b{display:block;font-size:36px;line-height:1}.stat63 span{display:block;color:#e5f1fb;font-size:12px;font-weight:900;text-transform:uppercase}.veteran63{min-height:136px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(90deg,rgba(5,12,24,.90),rgba(5,12,24,.35)),url('/assets/images/gallery/veteran-family.jpg?v=74') center/cover no-repeat;display:flex;align-items:center;padding:26px}.veteran63 h3{margin:0;text-transform:uppercase;font-size:31px;line-height:1}.proofs63{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.proof63{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#071521}.proof63-img{height:220px;background-size:cover;background-position:center}.proof63 h3{margin:0;padding:12px;text-align:center;text-transform:uppercase}.lower63{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:18px;margin-top:18px}.review63,.finance63,.guarantee63{min-height:260px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0c2134,#071522);overflow:hidden}.review63,.finance63{padding:26px}.review63 h3,.finance63 h3{margin:0 0 10px;text-transform:uppercase;font-size:28px}.stars{font-size:25px;color:var(--gold);margin:8px 0}.review-box{margin-top:14px;border:1px solid rgba(255,255,255,.14);background:#092039;border-radius:10px;padding:18px}.review-name{display:block;font-weight:900}.review-location{display:block;font-size:12px;color:var(--muted)}.review-controls{display:flex;gap:8px;margin-top:14px}.review-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#092039;color:#fff;font-size:24px}.finance63{border-color:rgba(228,20,37,.66)}.finance63 ul{list-style:none;padding:0;margin:14px 0 20px}.finance63 li{margin:10px 0}.finance63 li:before{content:"✅ ";color:var(--green)}.guarantee63{background:url('/assets/images/gallery/veteran-family.jpg?v=74') center/cover no-repeat}.cta63{margin:18px 0 0;border-radius:14px;border:1px solid #2caaff;background:linear-gradient(180deg,#0d72ff,#003e98);display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px 28px}.cta63 h3{margin:0;text-transform:uppercase;font-size:29px}.foot63{margin-top:18px;padding:28px 0 36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:22px}.foot63 img{width:230px;border-radius:8px}.foot63 h4{margin:0 0 10px;text-transform:uppercase}.foot63 p,.foot63 a{color:var(--muted);line-height:1.7}
.portal-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:56px 22px;background:#06111f}.portal-grid{width:min(1180px,100%);display:grid;grid-template-columns:1fr 1fr;gap:36px}.glass{background:linear-gradient(180deg,#0c2134,#071522);border:1px solid var(--line);border-radius:18px;padding:34px;display:flex;flex-direction:column;gap:14px}.portal-grid .logo{width:min(330px,100%);max-height:145px;object-fit:contain;margin:0 auto 10px}.portal-grid h1{text-align:center;font-family:Impact,Arial Black,sans-serif;font-size:clamp(32px,3.3vw,50px);line-height:1;text-transform:uppercase;margin:4px 0 8px}.portal-grid p{text-align:center;color:var(--muted)}.portal-grid .btn{width:100%;margin-top:auto}
.app{min-height:100vh;display:grid;grid-template-columns:270px 1fr;background:#06111f}.sidebar{background:#071320;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{padding:10px;border-bottom:1px solid var(--line)}.brand .logo{width:250px}.menu{display:grid;gap:4px;padding:9px}.menu a{display:flex;justify-content:space-between;padding:12px 13px;border-radius:7px;color:#d9ebfb;font-weight:800;font-size:14px}.menu a.active,.menu a:hover{background:linear-gradient(90deg,#d71927,#7a1018)}.side-company{margin-top:auto;padding:14px;border-top:1px solid var(--line);color:#c9dcec;font-size:12px}.main{padding:0 16px 18px}.topbar{height:56px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);margin-bottom:12px}.search{width:360px;background:#071522;border:1px solid var(--line);border-radius:8px;padding:11px;color:#dcefff}.kpis,.dash1,.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.kpi,.panel,.step,.workflow-title{background:#0c2134;border:1px solid var(--line);border-radius:14px;padding:18px}.kpi b{font-size:28px;display:block}
@media(max-width:1200px){.hero-grid,.portal-grid,.info63,.lower63,.cta63,.foot63,.app{grid-template-columns:1fr}.services63,.proofs63{grid-template-columns:repeat(2,1fr)}.stats63,.trust-grid,.quote-stats,.strip .container,.kpis,.dash1,.workflow{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.alertbar .container{display:grid;padding:8px 0}.nav{height:auto;min-height:84px;padding:10px 0;flex-wrap:wrap}.nav nav{display:none}.logo-nav{width:155px}.hero-title{font-size:48px}.hero-actions .btn{width:100%}.services63,.proofs63,.stats63,.trust-grid,.quote-stats,.strip .container,.form-grid,.kpis,.dash1,.workflow{grid-template-columns:1fr}.svc63 img,.proof63-img{height:210px}.svcbody63{min-height:auto}.v63-title:before,.v63-title:after{display:none}}
/* V65 local replaceable image fix */
.svc63 img{
  height:250px !important;
  width:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  background:#071522;
}
.proof63-img{
  height:235px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-color:#071522;
}
.veteran63{
  background:
    linear-gradient(90deg,rgba(5,12,24,.90),rgba(5,12,24,.35)),
    url('/assets/images/gallery/veteran-family.jpg?v=74') center/cover no-repeat !important;
}
.guarantee63{
  background:url('/assets/images/gallery/veteran-family.jpg?v=74') center/cover no-repeat !important;
}
.svc63{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.svc63:hover{transform:translateY(-6px);border-color:#2caaff;box-shadow:0 24px 70px rgba(20,125,255,.24);}




/* Locked standard frontend section - uses permanent folders only */
.services-section{
  background:
    radial-gradient(circle at 82% 8%,rgba(20,125,255,.16),transparent 28%),
    radial-gradient(circle at 16% 88%,rgba(228,20,37,.12),transparent 30%),
    #06111f;
  border-top:1px solid var(--line);
  padding:40px 0 0;
}
.section-title{
  margin:0 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
  font-family:Impact,Arial Black,sans-serif;
  font-size:clamp(34px,3.7vw,62px);
  text-transform:uppercase;
  line-height:1;
}
.section-title:before,.section-title:after{
  content:"";
  width:100px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--blue));
  box-shadow:0 0 18px rgba(20,125,255,.9);
}
.section-title:after{background:linear-gradient(90deg,var(--blue),transparent)}
.services-grid,.results-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.service-card,.result-card,.review-panel,.finance-panel,.guarantee-panel{
  border:1px solid #24608d;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#0e2941,#071522);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.service-card,.result-card{transition:.18s ease}
.service-card:hover,.result-card:hover{
  transform:translateY(-6px);
  border-color:#2caaff;
  box-shadow:0 28px 80px rgba(20,125,255,.24);
}
.service-card img,.result-card img{
  width:100%;
  height:255px;
  object-fit:cover;
  display:block;
}
.service-body{
  position:relative;
  padding:46px 24px 24px;
  min-height:270px;
  background:linear-gradient(180deg,rgba(7,21,33,.92),#071522);
  text-align:center;
}
.service-icon{
  position:absolute;
  left:50%;
  top:-36px;
  transform:translateX(-50%);
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:32px;
  background:linear-gradient(180deg,#159cff,#0b58d0);
  border:3px solid rgba(255,255,255,.82);
  box-shadow:0 0 30px rgba(20,125,255,.62);
}
.service-card h3{margin:0 0 11px;text-transform:uppercase;font-size:24px}
.service-card p{margin:0 0 18px;color:#dfeefa;line-height:1.4;min-height:80px}
.trust-row{
  display:grid;
  grid-template-columns:1.55fr .85fr;
  gap:20px;
  margin:20px 0;
}
.trust-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #24608d;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#071b2e,#071522);
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.trust-stat{
  min-height:145px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  border-right:1px solid rgba(255,255,255,.12);
}
.trust-stat:last-child{border-right:0}
.trust-stat span{font-size:40px}
.trust-stat b{font-size:36px;line-height:1}
.trust-stat small{font-weight:900;text-transform:uppercase;color:#e4f1fb}
.veteran-panel{
  border:1px solid #24608d;
  border-radius:18px;
  min-height:145px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(5,12,24,.94),rgba(5,12,24,.30)),
    url('/assets/images/gallery/veteran-family.jpg') center/cover no-repeat;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}
.veteran-panel h3{margin:0;text-transform:uppercase;font-size:31px;line-height:1}
.veteran-panel p{margin:8px 0 0}
.lower-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.05fr;
  gap:20px;
  margin-top:20px;
}
.review-panel,.finance-panel{padding:28px}
.review-panel h3,.finance-panel h3{margin:0 0 10px;text-transform:uppercase;font-size:28px}
.finance-panel{border-color:rgba(228,20,37,.7)}
.finance-panel ul{list-style:none;padding:0;margin:14px 0 20px}
.finance-panel li{margin:10px 0}
.finance-panel li:before{content:"✅ ";color:var(--green)}
.guarantee-panel img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
}
.quote-cta{
  margin:20px 0 0;
  border-radius:18px;
  border:1px solid #2caaff;
  background:linear-gradient(180deg,#0d72ff,#003e98);
  box-shadow:0 0 34px rgba(20,125,255,.30);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:20px;
  padding:26px 30px;
}
.quote-cta h3{margin:0;text-transform:uppercase;font-size:30px}
.quote-cta p{margin:6px 0 0}
.site-footer{
  margin-top:22px;
  padding:30px 0 40px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1.2fr repeat(4,1fr);
  gap:24px;
}
.site-footer img{width:230px;border-radius:8px}
.site-footer h4{margin:0 0 10px;text-transform:uppercase}
.site-footer p,.site-footer a{color:var(--muted);line-height:1.7}

/* frontend deterrent protection */
body.abls-protected,body.abls-protected *{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
body.abls-protected img,body.abls-protected video{
  -webkit-user-drag:none;
  user-drag:none;
}

/* hide any old accidental version sections */
.v71,.v72,.v73,.v74,.v66,.v63{display:none !important;}

@media(max-width:1200px){
  .services-grid,.results-grid{grid-template-columns:repeat(2,1fr)}
  .trust-row,.lower-grid,.quote-cta,.site-footer{grid-template-columns:1fr}
}
@media(max-width:720px){
  .services-grid,.results-grid,.trust-stats{grid-template-columns:1fr}
  .section-title:before,.section-title:after{display:none}
  .service-card img,.result-card img{height:220px}
  .service-body{min-height:auto}
}


/* =========================================================
   V76 IMAGE SCALING FIX
   Permanent paths stay the same:
   /assets/images/services/
   /assets/images/before-after/
   /assets/images/gallery/
   ========================================================= */

/* Service images: zoomed out, no aggressive cropping */
.service-card img{
  width:100% !important;
  height:270px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:
    radial-gradient(circle at center,rgba(20,125,255,.10),transparent 55%),
    #06111f !important;
  padding:8px !important;
  display:block !important;
}

/* Keep the card body clean after changing photo scale */
.service-body{
  padding-top:46px !important;
}

/* Before/after result images: show full panel without cutting labels off */
.result-card img{
  width:100% !important;
  height:280px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#06111f !important;
  padding:6px !important;
  display:block !important;
}

/* Guarantee/family panel: stop cutting off faces and badge */
.guarantee-panel img{
  width:100% !important;
  height:100% !important;
  min-height:280px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#06111f !important;
  padding:6px !important;
  display:block !important;
}

/* Veteran background: zoomed out as much as CSS background allows */
.veteran-panel{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center right !important;
  background-color:#071522 !important;
}

/* Logo images should never stretch */
.logo-nav,
.logo-hero,
.site-footer img,
.brand .logo,
.portal-grid .logo{
  object-fit:contain !important;
  object-position:center center !important;
}

/* Better mobile scaling */
@media(max-width:1200px){
  .service-card img{
    height:300px !important;
  }
  .result-card img{
    height:300px !important;
  }
}
@media(max-width:720px){
  .service-card img{
    height:245px !important;
    padding:6px !important;
  }
  .result-card img{
    height:245px !important;
    padding:5px !important;
  }
  .guarantee-panel img{
    min-height:240px !important;
  }
}


/* =========================================================
   V77 IMAGE FIT FIX
   Fill the panels cleanly without inner black padding/boxes.
   Standard image paths remain unchanged.
   ========================================================= */

/* Service cards: full bleed inside the photo area */
.service-card{
  display:flex !important;
  flex-direction:column !important;
}
.service-card img{
  width:100% !important;
  height:235px !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  display:block !important;
}
.service-body{
  flex:1 !important;
}

/* Before/after result cards: fill the panel, no inner empty margins */
.result-card{
  display:flex !important;
  align-items:stretch !important;
  justify-content:center !important;
  min-height:0 !important;
}
.result-card img{
  width:100% !important;
  height:210px !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  display:block !important;
}

/* Guarantee/family panel: fill the card without chopping too much */
.guarantee-panel{
  display:flex !important;
  min-height:280px !important;
}
.guarantee-panel img{
  width:100% !important;
  height:auto !important;
  min-height:280px !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:transparent !important;
  padding:0 !important;
  display:block !important;
}

/* Veteran panel background should fill cleanly */
.veteran-panel{
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}

/* Keep cards visually even */
.services-grid{
  align-items:stretch !important;
}
.results-grid{
  align-items:stretch !important;
}

/* Responsive fit */
@media(max-width:1200px){
  .service-card img{
    height:250px !important;
  }
  .result-card img{
    height:240px !important;
  }
}
@media(max-width:720px){
  .service-card img{
    height:220px !important;
  }
  .result-card img{
    height:220px !important;
  }
  .guarantee-panel img{
    min-height:240px !important;
  }
}


/* =========================================================
   V78 FINAL SCALING FIX: veteran + guarantee panels
   Fixes the ugly cropped/skinny image issue.
   ========================================================= */

/* Use the same image as a clean background card instead of an <img> crop */
.guarantee-panel{
  min-height:280px !important;
  background:
    linear-gradient(90deg,rgba(5,12,24,.08),rgba(5,12,24,.04)),
    url('/assets/images/gallery/veteran-family.jpg') center center / contain no-repeat,
    #06111f !important;
  display:block !important;
  position:relative !important;
}
.guarantee-panel img{
  display:none !important;
}

/* Veteran strip: scale the image wide and readable, not smashed/cropped */
.veteran-panel{
  min-height:145px !important;
  background:
    linear-gradient(90deg,rgba(5,12,24,.96) 0%,rgba(5,12,24,.78) 45%,rgba(5,12,24,.20) 100%),
    url('/assets/images/gallery/veteran-family.jpg') center right / contain no-repeat,
    #071522 !important;
  overflow:hidden !important;
}
.veteran-panel h3,
.veteran-panel p{
  position:relative !important;
  z-index:2 !important;
  max-width:72% !important;
}

/* Prevent image labels/results from shrinking too much */
.result-card img{
  height:235px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Service panels: fill cleaner while keeping subjects in frame */
.service-card img{
  height:245px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Favicon/static asset cache control helps with browser refresh */
@media(max-width:1200px){
  .guarantee-panel{
    min-height:340px !important;
    background-size:contain !important;
  }
  .veteran-panel h3,
  .veteran-panel p{
    max-width:100% !important;
  }
}
@media(max-width:720px){
  .guarantee-panel{
    min-height:260px !important;
  }
  .veteran-panel{
    background-size:cover !important;
    background-position:center center !important;
  }
}


/* ABLSCC v2.0 public mobile/security/footer polish */
html,body{overflow-x:hidden}img{-webkit-user-drag:none;user-select:none}.utl-footer-inline{grid-column:1/-1;width:100%;margin:26px auto 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16);text-align:center}.utl-footer-inline a{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#eaf2ff;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:10px 14px}.utl-footer-inline img{width:46px;height:46px;object-fit:contain;border-radius:12px}@media(max-width:760px){.site-footer{display:grid!important;grid-template-columns:1fr!important;gap:20px}.utl-footer-inline a{width:100%;}.container{width:min(100% - 24px,1200px)!important}.hero,.section,.site-footer{overflow:visible!important;height:auto!important}.btn,a,button{min-height:44px}}



/* ABLSCC v2.1.1 universal UnixTechLab footer placement */
html, body { min-height: 100%; }
body { display: flex; flex-direction: column; }
body > .utl-footer { margin-top: auto; }
.utl-footer {
  width: min(100% - 32px, 1320px) !important;
  margin: 34px auto 18px !important;
  padding: 0 !important;
  text-align: center !important;
  color: #dbeafe !important;
  flex-shrink: 0 !important;
  clear: both !important;
}
.utl-footer-card {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  width: min(100%, 650px) !important;
  min-height: 74px !important;
  padding: 12px 20px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(10px) !important;
  color: #eaf2ff !important;
  text-decoration: none !important;
}
.utl-footer-logo {
  width: 58px !important;
  height: 58px !important;
  object-fit: cover !important;
  border-radius: 13px !important;
  flex: 0 0 auto !important;
  box-shadow: 0 0 18px rgba(141,255,74,.18) !important;
}
.utl-footer-text { display: grid !important; text-align: left !important; line-height: 1.2 !important; }
.utl-footer-text b { font-size: 18px !important; color: #f5fbff !important; letter-spacing: .01em !important; }
.utl-footer-text small { display: block !important; margin-top: 3px !important; color: #9fb5d2 !important; font-size: 14px !important; }
.public-utl-footer { grid-column: 1 / -1 !important; }
.site-footer + .utl-footer, .foot63 + .utl-footer { margin-top: 22px !important; }
.portal-wrap > .utl-footer, .employee-wrap > .utl-footer, .reset-wrap > .utl-footer { margin-top: 28px !important; }
.cc-main > .utl-footer { margin-top: auto !important; }
@media(max-width: 700px) {
  .utl-footer { width: min(100% - 22px, 520px) !important; margin-bottom: 14px !important; }
  .utl-footer-card { width: 100% !important; min-height: 70px !important; padding: 11px 12px !important; gap: 12px !important; }
  .utl-footer-logo { width: 48px !important; height: 48px !important; }
  .utl-footer-text b { font-size: 15px !important; }
  .utl-footer-text small { font-size: 12px !important; }
}


/* ABLSCC v2.1.2 compact UnixTechLab footer + mobile scroll safety */
html,body{min-height:100%;height:auto!important;overflow-x:hidden!important;}
.utl-footer{width:min(100% - 32px,760px)!important;margin:30px auto 18px!important;padding:0!important;text-align:center!important;clear:both!important;}
.utl-footer-card{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;width:min(100%,620px)!important;min-height:72px!important;padding:10px 18px!important;border-radius:20px!important;box-sizing:border-box!important;}
.utl-footer-logo{width:54px!important;height:54px!important;max-width:54px!important;max-height:54px!important;object-fit:cover!important;border-radius:13px!important;flex:0 0 54px!important;}
@media(max-width:760px){.utl-footer{width:min(100% - 22px,520px)!important}.utl-footer-card{padding:10px 12px!important;gap:10px!important}.utl-footer-logo{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;flex-basis:46px!important}.utl-footer-text b{font-size:14px!important}.utl-footer-text small{font-size:11px!important}}

/* ABLSCC v2.3 public mobile header / hamburger navigation */
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#12324e,#071522);color:#fff;font-size:28px;font-weight:900;box-shadow:0 0 22px rgba(20,125,255,.18);cursor:pointer;z-index:10004}.main-nav{display:flex;align-items:center;gap:20px}.desktop-quote{white-space:nowrap}.mobile-nav-backdrop{display:none}.site-footer-utl{grid-column:1/-1;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:4px}.site-footer-utl a{display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:640px;width:min(100%,640px);padding:12px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));text-decoration:none;color:#eaf2ff;box-shadow:0 18px 55px rgba(0,0,0,.32)}.site-footer-utl img{width:56px!important;height:56px!important;object-fit:cover;border-radius:14px;flex:0 0 56px}.site-footer-utl span{display:grid;text-align:left;line-height:1.25}.site-footer-utl b{font-size:17px}.site-footer-utl small{color:#9fb5d2}.body-menu-open{overflow:hidden!important}
@media(max-width:860px){
  .header{position:sticky;top:0;z-index:10000;background:rgba(4,11,20,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(44,170,255,.3)}
  .alertbar .container{font-size:13px;gap:8px}.nav{min-height:72px!important;height:72px!important;flex-wrap:nowrap!important;padding:0 12px!important}.logo-nav{width:150px!important;max-height:62px!important;object-fit:contain}.mobile-menu-toggle{display:flex;margin-left:auto}.desktop-quote,.nav .grow{display:none!important}
  .main-nav{position:fixed;z-index:10005;top:0;right:0;height:100vh;width:min(86vw,360px);display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:92px 18px 24px;background:linear-gradient(180deg,#0b1e32,#050b13);border-left:1px solid rgba(44,170,255,.35);box-shadow:-30px 0 90px rgba(0,0,0,.65);transform:translateX(105%);transition:transform .22s ease;overflow-y:auto}.main-nav.open{transform:translateX(0)}.main-nav a{display:block;padding:16px 18px;margin:5px 0;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:#eaf5ff!important;text-decoration:none;font-size:18px;font-weight:900}.main-nav a:hover{background:linear-gradient(90deg,#d71927,#0d72ff)}.mobile-nav-backdrop{position:fixed;inset:0;z-index:10003;background:rgba(0,0,0,.78);backdrop-filter:none!important;filter:none!important;display:none}.mobile-nav-backdrop.open{display:block}.hero{padding-top:24px}.hero-grid{gap:18px}.logo-hero{width:100%;max-width:620px}.quote-card{margin-top:12px}.site-footer{gap:18px!important;padding-bottom:24px}.site-footer-utl a{flex-direction:row;max-width:100%}.site-footer-utl b{font-size:15px}.site-footer-utl small{font-size:12px}}
@media(max-width:520px){.alertbar .container span{font-size:12px}.logo-nav{width:138px!important}.mobile-menu-toggle{width:44px;height:44px;font-size:24px}.hero-title{font-size:42px!important}.hero-sub{font-size:17px}.btn{width:100%;justify-content:center}.main-nav{width:90vw}.site-footer-utl a{padding:10px 12px;gap:10px}.site-footer-utl img{width:46px!important;height:46px!important;flex-basis:46px}.site-footer-utl span{text-align:left}.site-footer-utl b{font-size:13px}.site-footer-utl small{font-size:11px}}


/* ABLSCC v2.5 mobile-first clarity and universal no-blur menu fix */
@media(max-width:900px){
  .mobile-nav-backdrop,.mobile-nav-backdrop.open{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;opacity:1!important;}
  .main-nav,.main-nav *{filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:none!important;opacity:1!important;}
  .main-nav{background:#06111d!important;color:#fff!important;}
  .main-nav a{color:#fff!important;filter:none!important;opacity:1!important;}
  body.body-menu-open .site-main,body.body-menu-open main,body.body-menu-open .page-wrap{filter:none!important;}
  html,body{max-width:100%;overflow-x:hidden!important;}
  input,select,textarea,button,.btn{font-size:16px!important;}
}

/* ABLSCC v3.2 public footer rebuild: second mockup style, no stacked UnixTechLab block */
.site-footer.site-footer-v32{
  grid-template-columns:1fr!important;
  display:block!important;
  width:100%!important;
  margin:34px 0 0!important;
  padding:0!important;
  border-top:1px solid rgba(0,149,255,.35)!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(0,118,255,.16),transparent 34%),
    radial-gradient(circle at 88% 20%,rgba(215,25,39,.10),transparent 30%),
    linear-gradient(180deg,#06111d 0%,#020812 100%)!important;
  box-shadow:0 -18px 80px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
.site-footer-v32 .footer-main{
  display:grid!important;
  grid-template-columns:1.45fr 1fr 1fr 1fr 1.25fr!important;
  gap:34px!important;
  width:min(100%,1320px)!important;
  margin:0 auto!important;
  padding:42px 24px 34px!important;
  align-items:start!important;
}
.site-footer-v32 .footer-brand,.site-footer-v32 .footer-col{
  min-width:0!important;
}
.site-footer-v32 .footer-abls-logo{
  width:min(100%,280px)!important;
  max-width:280px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:block!important;
  margin:0 0 22px!important;
}
.site-footer-v32 .footer-brand p{
  color:#e7f1ff!important;
  font-size:17px!important;
  line-height:1.65!important;
  max-width:350px!important;
  margin:0 0 22px!important;
}
.site-footer-v32 h4{
  color:#fff!important;
  font-size:19px!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
  margin:0 0 22px!important;
  position:relative!important;
}
.site-footer-v32 h4:after{
  content:"";display:block;width:58px;height:2px;margin-top:13px;
  background:linear-gradient(90deg,#0d8fff,#0057ff);box-shadow:0 0 14px rgba(13,143,255,.55);
}
.site-footer-v32 .footer-col p{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
  color:#e8f1ff!important;
  font-size:17px!important;
  line-height:1.3!important;
}
.site-footer-v32 .footer-col a,.site-footer-v32 .footer-col span{
  display:block!important;
  color:#e8f1ff!important;
  text-decoration:none!important;
}
.site-footer-v32 .footer-col a:hover{color:#2aaaff!important;text-shadow:0 0 14px rgba(42,170,255,.35)}
.site-footer-v32 .footer-socials{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin-top:18px!important}
.site-footer-v32 .footer-socials span{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,149,255,.45);background:#061522;color:#fff;font-weight:900;
  box-shadow:0 0 20px rgba(0,149,255,.12);
}
.site-footer-v32 .footer-bottom{
  display:grid!important;
  grid-template-columns:1.4fr .9fr .7fr!important;
  gap:28px!important;
  align-items:center!important;
  width:min(100%,1320px)!important;
  margin:0 auto!important;
  padding:28px 24px 34px!important;
  border-top:1px solid rgba(0,149,255,.45)!important;
}
.site-footer-v32 .footer-utl-credit{
  display:flex!important;align-items:center!important;gap:20px!important;color:#fff!important;text-decoration:none!important;
  min-width:0!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;width:auto!important;max-width:none!important;
}
.site-footer-v32 .footer-utl-credit img{
  width:132px!important;height:132px!important;max-width:132px!important;max-height:132px!important;object-fit:cover!important;
  border-radius:18px!important;flex:0 0 132px!important;box-shadow:0 0 32px rgba(73,255,65,.18)!important;
}
.site-footer-v32 .footer-utl-credit span{display:grid!important;gap:4px!important;text-align:left!important;line-height:1.05!important;min-width:0!important}
.site-footer-v32 .footer-utl-credit small{font-size:21px!important;font-weight:900!important;color:#fff!important;line-height:1.1!important;display:block!important;margin:0!important}
.site-footer-v32 .footer-utl-credit b{font-size:38px!important;font-weight:950!important;color:#fff!important;line-height:.95!important;letter-spacing:-.04em!important;display:block!important}
.site-footer-v32 .footer-utl-credit b span{display:inline!important;color:#168bff!important}
.site-footer-v32 .footer-utl-credit em{font-style:normal!important;color:#d9e9ff!important;font-size:16px!important;line-height:1.3!important;margin-top:8px!important;display:block!important}
.site-footer-v32 .footer-copyright{
  display:grid!important;gap:10px!important;text-align:center!important;color:#fff!important;font-size:21px!important;border-left:1px solid rgba(255,255,255,.14)!important;border-right:1px solid rgba(255,255,255,.14)!important;padding:18px 18px!important;
}
.site-footer-v32 .footer-copyright span{color:#e0ebfb!important}
.site-footer-v32 .footer-veteran-badge{
  justify-self:end!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
  width:150px!important;height:118px!important;border-radius:18px!important;text-align:center!important;text-transform:uppercase!important;
  color:#fff!important;font-weight:950!important;letter-spacing:.04em!important;line-height:1.1!important;
  border:2px solid rgba(255,255,255,.28)!important;background:linear-gradient(180deg,#183b64,#071726 55%,#a80d1a 56%,#d71927)!important;box-shadow:0 18px 45px rgba(0,0,0,.30),0 0 30px rgba(215,25,39,.16)!important;
}
.site-footer-v32 .footer-veteran-badge b{font-size:14px!important;margin-top:8px!important;background:#d71927;padding:5px 8px;border-radius:8px!important}
@media(max-width:1080px){
  .site-footer-v32 .footer-main{grid-template-columns:1fr 1fr!important;gap:28px!important}
  .site-footer-v32 .footer-bottom{grid-template-columns:1fr!important;text-align:center!important}
  .site-footer-v32 .footer-utl-credit{justify-content:center!important}
  .site-footer-v32 .footer-copyright{border:0!important;border-top:1px solid rgba(255,255,255,.12)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .site-footer-v32 .footer-veteran-badge{justify-self:center!important}
}
@media(max-width:620px){
  .site-footer.site-footer-v32{margin-top:28px!important}
  .site-footer-v32 .footer-main{grid-template-columns:1fr!important;padding:32px 20px 28px!important;gap:26px!important}
  .site-footer-v32 .footer-abls-logo{width:240px!important;margin-left:auto!important;margin-right:auto!important}
  .site-footer-v32 .footer-brand{text-align:center!important}.site-footer-v32 .footer-brand p{margin-left:auto!important;margin-right:auto!important;font-size:16px!important}
  .site-footer-v32 h4{text-align:left!important;font-size:18px!important}.site-footer-v32 .footer-col p{font-size:16px!important}
  .site-footer-v32 .footer-socials{justify-content:center!important}
  .site-footer-v32 .footer-bottom{padding:26px 20px 34px!important;gap:24px!important}
  .site-footer-v32 .footer-utl-credit{gap:14px!important;justify-content:flex-start!important;text-align:left!important}
  .site-footer-v32 .footer-utl-credit img{width:86px!important;height:86px!important;max-width:86px!important;max-height:86px!important;flex-basis:86px!important;border-radius:16px!important}
  .site-footer-v32 .footer-utl-credit small{font-size:15px!important}.site-footer-v32 .footer-utl-credit b{font-size:26px!important}.site-footer-v32 .footer-utl-credit em{font-size:12px!important}
  .site-footer-v32 .footer-copyright{font-size:17px!important;padding:16px 0!important}.site-footer-v32 .footer-veteran-badge{width:138px!important;height:108px!important}
}

/* ABLSCC v3.3 hard public mobile/menu/footer fixes */
@media(max-width:860px){
  .mobile-menu-toggle{display:flex!important;position:relative!important;z-index:10010!important;pointer-events:auto!important;touch-action:manipulation!important;}
  .main-nav[data-mobile-nav]{visibility:visible!important;pointer-events:auto!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .main-nav[data-mobile-nav].open{transform:translateX(0)!important;right:0!important;opacity:1!important;}
  .mobile-nav-backdrop.open{display:block!important;opacity:1!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .body-menu-open .main-nav,.body-menu-open .main-nav *{filter:none!important;opacity:1!important;}
}
.site-footer-v32 .footer-main{gap:clamp(34px,5vw,86px)!important;align-items:start!important;}
.site-footer-v32 .footer-col{min-width:0!important;padding-inline:8px!important;}
.site-footer-v32 .footer-col h4{margin-bottom:24px!important;}
.site-footer-v32 .footer-col p{gap:15px!important;}
.site-footer-v32 .footer-bottom{gap:clamp(28px,5vw,72px)!important;}
@media(max-width:1080px){.site-footer-v32 .footer-main{gap:36px!important}.site-footer-v32 .footer-col{padding-inline:0!important}}

/* ABLSCC v4.0 A-E final public/mobile/footer stabilization */
@media(max-width:860px){
  .header{position:sticky;top:0;z-index:10000;background:#06111d!important;}
  .mobile-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:10030!important;pointer-events:auto!important;touch-action:manipulation!important;}
  .main-nav[data-mobile-nav]{position:fixed!important;top:0!important;right:0!important;width:min(88vw,380px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:92px 18px 28px!important;background:#06111d!important;border-left:1px solid rgba(42,170,255,.55)!important;box-shadow:-28px 0 80px rgba(0,0,0,.72)!important;transform:translateX(110%)!important;transition:transform .2s ease!important;z-index:10020!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important;visibility:visible!important;overflow-y:auto!important;}
  .main-nav[data-mobile-nav].open{transform:translateX(0)!important;}
  .main-nav[data-mobile-nav] a{display:block!important;color:#fff!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:14px!important;margin:6px 0!important;padding:16px 18px!important;font-weight:900!important;font-size:18px!important;text-decoration:none!important;filter:none!important;opacity:1!important;text-shadow:none!important;}
  .mobile-nav-backdrop{position:fixed!important;inset:0!important;z-index:10010!important;background:rgba(0,0,0,.72)!important;display:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .mobile-nav-backdrop.open{display:block!important;}
}
.site-footer-v32 .footer-main{grid-template-columns:1.3fr repeat(4,1fr)!important;gap:clamp(38px,5vw,90px)!important;}
.site-footer-v32 .footer-bottom{grid-template-columns:1.2fr .9fr .7fr!important;gap:clamp(30px,5vw,80px)!important;}
@media(max-width:1100px){.site-footer-v32 .footer-main{grid-template-columns:1fr 1fr!important}.site-footer-v32 .footer-bottom{grid-template-columns:1fr!important}.site-footer-v32 .footer-utl-credit{justify-content:center!important}.site-footer-v32 .footer-veteran-badge{justify-self:center!important}}
@media(max-width:640px){.site-footer-v32 .footer-main{grid-template-columns:1fr!important}.site-footer-v32 .footer-col{padding:0!important}.site-footer-v32 .footer-utl-credit img{width:76px!important;height:76px!important;flex-basis:76px!important}.site-footer-v32 .footer-utl-credit b{font-size:22px!important}.site-footer-v32 .footer-utl-credit small{font-size:13px!important}}

/* ABLSCC v5.0 public mobile nav hard fix */
@media(max-width:860px){
  .mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;position:relative;z-index:10003;background:#d71920;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-size:24px;line-height:1;min-width:48px;min-height:44px;cursor:pointer}
  .main-nav[data-mobile-nav]{position:fixed!important;top:0;right:-86vw;width:min(84vw,360px);height:100vh;z-index:10002;background:#06111f!important;border-left:1px solid rgba(255,255,255,.14);box-shadow:-20px 0 50px rgba(0,0,0,.6);display:flex!important;flex-direction:column;gap:0;padding:82px 22px 22px;transition:right .22s ease;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow-y:auto}
  .main-nav[data-mobile-nav].open{right:0!important}
  .main-nav[data-mobile-nav] a{display:block!important;color:#fff!important;text-decoration:none;font-weight:800;font-size:18px;padding:15px 12px;border-bottom:1px solid rgba(255,255,255,.08);filter:none!important;opacity:1!important;text-shadow:none!important}
  .mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.68);filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .mobile-nav-backdrop.open{display:block!important}
  body.body-menu-open{overflow:hidden}
  .desktop-quote{display:none!important}.nav{gap:10px}.mobile-brand img{max-height:62px;width:auto}.hero-grid{grid-template-columns:1fr!important}.hero-title{font-size:clamp(42px,14vw,76px)!important}.quote-card{max-height:none!important;overflow:visible!important}body,html{overflow-x:hidden!important;overflow-y:auto!important;height:auto!important}
}
@media(min-width:861px){.mobile-menu-toggle{display:none!important}.main-nav[data-mobile-nav]{display:flex!important}.mobile-nav-backdrop{display:none!important}}

/* ABLSCC 82001 public mobile nav hardening */
@media(max-width:900px){
  .mobile-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:12050!important;pointer-events:auto!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;}
  .main-nav[data-mobile-nav]{position:fixed!important;top:0!important;right:0!important;width:min(90vw,390px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:92px 18px 26px!important;background:#06111d!important;transform:translateX(112%)!important;transition:transform .2s ease!important;z-index:12040!important;overflow-y:auto!important;visibility:visible!important;opacity:1!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .main-nav[data-mobile-nav].open{transform:translateX(0)!important;}
  .mobile-nav-backdrop{position:fixed!important;inset:0!important;z-index:12030!important;background:rgba(0,0,0,.76)!important;display:none!important;}
  .mobile-nav-backdrop.open{display:block!important;}
  .body-menu-open{overflow:hidden!important;}
}


/* ABLSCC 82002 public mobile nav hard fix */
@media(max-width:860px){
  .mobile-menu-toggle{display:flex!important;position:relative!important;z-index:100080!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
  .main-nav[data-mobile-nav]{position:fixed!important;z-index:100070!important;top:0!important;right:0!important;height:100dvh!important;width:min(88vw,380px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:92px 18px 24px!important;background:linear-gradient(180deg,#0b1e32,#050b13)!important;border-left:1px solid rgba(44,170,255,.45)!important;box-shadow:-30px 0 90px rgba(0,0,0,.75)!important;transform:translateX(110%)!important;transition:transform .22s ease!important;overflow-y:auto!important;}
  .main-nav[data-mobile-nav].open,.main-nav[data-mobile-nav].is-open{transform:translateX(0)!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop]{position:fixed!important;inset:0!important;z-index:100060!important;background:rgba(0,0,0,.78)!important;display:none!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop].open,.mobile-nav-backdrop[data-mobile-nav-backdrop].is-open{display:block!important;}
  body.body-menu-open,html.body-menu-open{overflow:hidden!important;}
}

/* ABLSCC 82003 final mobile nav drawer override */
@media(max-width:860px){
  button[data-mobile-menu-toggle],.mobile-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:2147483600!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;cursor:pointer!important;user-select:none!important;}
  nav[data-mobile-nav].main-nav{position:fixed!important;top:0!important;right:0!important;left:auto!important;width:min(90vw,390px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:92px 18px 26px!important;background:#06111d!important;border-left:1px solid rgba(44,170,255,.55)!important;box-shadow:-30px 0 90px rgba(0,0,0,.78)!important;transform:translate3d(112%,0,0)!important;transition:transform .2s ease!important;z-index:2147483500!important;overflow-y:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  nav[data-mobile-nav].open,nav[data-mobile-nav].is-open,nav[data-mobile-nav].ablscc-mobile-open,button[data-mobile-menu-toggle][aria-expanded="true"] + nav[data-mobile-nav]{transform:translate3d(0,0,0)!important;}
  nav[data-mobile-nav] a{display:block!important;color:#fff!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:14px!important;margin:6px 0!important;padding:16px 18px!important;font-weight:900!important;font-size:18px!important;text-decoration:none!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop]{position:fixed!important;inset:0!important;z-index:2147483400!important;background:rgba(0,0,0,.78)!important;display:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop].open,.mobile-nav-backdrop[data-mobile-nav-backdrop].is-open,.mobile-nav-backdrop[data-mobile-nav-backdrop].ablscc-mobile-open{display:block!important;}
  html.body-menu-open,body.body-menu-open{overflow:hidden!important;}
}


/* ABLSCC 82003 HF1 - Mobile Navigation 2.0 final override */
@media (max-width: 860px){
  button[data-mobile-menu-toggle], .mobile-menu-toggle{
    display:inline-flex!important; align-items:center!important; justify-content:center!important;
    width:54px!important; height:54px!important; min-width:54px!important; min-height:54px!important;
    border-radius:16px!important; border:1px solid rgba(255,255,255,.22)!important;
    background:linear-gradient(180deg,#ef2334,#a80f1b)!important; color:#fff!important;
    font-size:30px!important; font-weight:900!important; line-height:1!important;
    box-shadow:0 14px 36px rgba(215,25,39,.36)!important;
    z-index:2147483600!important; position:relative!important; pointer-events:auto!important;
    touch-action:manipulation!important; -webkit-tap-highlight-color:transparent!important;
  }
  nav[data-mobile-nav].main-nav{
    position:fixed!important; top:0!important; right:0!important; left:auto!important;
    width:min(88vw,390px)!important; height:100dvh!important;
    transform:translate3d(110%,0,0)!important; transition:transform .22s ease!important;
    display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:8px!important;
    padding:94px 18px 26px!important;
    background:linear-gradient(180deg,#0d2338 0%,#071421 52%,#050b12 100%)!important;
    border-left:1px solid rgba(58,174,255,.55)!important;
    box-shadow:-28px 0 90px rgba(0,0,0,.82)!important;
    z-index:2147483500!important; overflow-y:auto!important;
    opacity:1!important; visibility:visible!important; filter:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  }
  nav[data-mobile-nav].ablscc-mobile-open,
  nav[data-mobile-nav].open,
  nav[data-mobile-nav].is-open{
    transform:translate3d(0,0,0)!important;
  }
  nav[data-mobile-nav].main-nav a{
    display:flex!important; align-items:center!important; min-height:50px!important;
    color:#f4fbff!important; background:rgba(7,23,38,.96)!important;
    border:1px solid rgba(95,190,255,.22)!important; border-radius:15px!important;
    padding:15px 16px!important; margin:0!important;
    font-size:17px!important; font-weight:900!important; letter-spacing:.01em!important;
    text-decoration:none!important; text-shadow:none!important; opacity:1!important; filter:none!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
  }
  nav[data-mobile-nav].main-nav a:active,
  nav[data-mobile-nav].main-nav a:hover{
    background:linear-gradient(90deg,rgba(215,25,39,.78),rgba(17,124,255,.78))!important;
    color:#fff!important;
  }
  .mobile-nav-backdrop[data-mobile-nav-backdrop]{
    position:fixed!important; inset:0!important; z-index:2147483400!important;
    background:rgba(0,0,0,.62)!important; display:none!important;
    filter:none!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  }
  .mobile-nav-backdrop[data-mobile-nav-backdrop].ablscc-mobile-open,
  .mobile-nav-backdrop[data-mobile-nav-backdrop].open,
  .mobile-nav-backdrop[data-mobile-nav-backdrop].is-open{display:block!important;}
  html.body-menu-open, body.body-menu-open{overflow:hidden!important;}
}

/* ABLSCC 82005 Mobile Navigation 2.1 - readable drawer, natural link navigation */
@media(max-width:860px){
  button[data-mobile-menu-toggle], .mobile-menu-toggle{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-width:50px!important;min-height:46px!important;border:1px solid rgba(255,255,255,.20)!important;
    border-radius:14px!important;background:linear-gradient(135deg,#e11d2e,#0f7edb)!important;color:#fff!important;
    font-size:25px!important;font-weight:900!important;position:relative!important;z-index:2147483600!important;
    box-shadow:0 12px 30px rgba(0,0,0,.42)!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;
  }
  nav[data-mobile-nav].main-nav{
    position:fixed!important;top:0!important;right:0!important;left:auto!important;width:min(90vw,392px)!important;height:100dvh!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;
    padding:92px 18px 28px!important;background:linear-gradient(180deg,#102b49 0%,#071827 58%,#04101d 100%)!important;
    border-left:1px solid rgba(58,183,255,.62)!important;box-shadow:-35px 0 90px rgba(0,0,0,.78)!important;
    transform:translate3d(112%,0,0)!important;transition:transform .22s ease!important;z-index:2147483500!important;
    overflow-y:auto!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  nav[data-mobile-nav].ablscc-mobile-open,nav[data-mobile-nav].open,nav[data-mobile-nav].is-open{transform:translate3d(0,0,0)!important;}
  nav[data-mobile-nav].main-nav::before{content:'AB Lock & Secure';display:block;color:#6ed3ff;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin:0 0 10px 2px;}
  nav[data-mobile-nav].main-nav a{
    display:flex!important;align-items:center!important;min-height:50px!important;color:#f7fbff!important;text-decoration:none!important;
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045))!important;border:1px solid rgba(125,211,252,.22)!important;
    border-radius:16px!important;margin:0!important;padding:14px 17px!important;font-weight:900!important;font-size:17px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.20)!important;filter:none!important;opacity:1!important;text-shadow:none!important;
  }
  nav[data-mobile-nav].main-nav a:active{transform:scale(.985)!important;background:linear-gradient(135deg,rgba(44,170,255,.25),rgba(225,29,46,.18))!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop]{position:fixed!important;inset:0!important;z-index:2147483400!important;background:rgba(0,0,0,.72)!important;display:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .mobile-nav-backdrop[data-mobile-nav-backdrop].ablscc-mobile-open,.mobile-nav-backdrop[data-mobile-nav-backdrop].open,.mobile-nav-backdrop[data-mobile-nav-backdrop].is-open{display:block!important;}
  html.body-menu-open,body.body-menu-open{overflow:hidden!important;}
}

/* ABLSCC 82005 Mission Control 2.1 */
.mc-dashboard-v2{display:grid;gap:16px}.mc-topline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mc-metric-card{position:relative;overflow:hidden;border:1px solid rgba(125,211,252,.18);border-radius:20px;padding:18px;background:linear-gradient(145deg,rgba(11,31,52,.96),rgba(5,14,25,.96));box-shadow:0 18px 60px rgba(0,0,0,.28)}.mc-metric-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(56,189,248,.20),transparent 35%);pointer-events:none}.mc-metric-card span{display:block;color:#9fb8d4;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.mc-metric-card b{display:block;font-size:30px;color:#fff;margin-top:8px}.mc-metric-card small{display:block;color:#8aa1bb;margin-top:4px}.mc-trend{display:flex;align-items:center;gap:8px;margin-top:12px;color:#84f6a7;font-weight:900}.mc-trend.down{color:#ff8a8a}.sparkline-svg{width:100%;height:44px;margin-top:12px;overflow:visible}.sparkline-svg polyline{fill:none;stroke:#38bdf8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sparkline-svg .fill{fill:rgba(56,189,248,.08);stroke:none}.mc-panel-v2{border:1px solid rgba(125,211,252,.18);border-radius:22px;background:linear-gradient(145deg,rgba(8,26,44,.96),rgba(4,12,22,.98));box-shadow:0 20px 60px rgba(0,0,0,.25);padding:18px}.mc-panel-v2 h3{margin:0 0 12px;color:#fff}.mc-grid-v2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.span4{grid-column:span 4}.span5{grid-column:span 5}.span6{grid-column:span 6}.span7{grid-column:span 7}.span8{grid-column:span 8}.span12{grid-column:span 12}.mc-bars{display:grid;gap:10px}.mc-bar-row{display:grid;grid-template-columns:120px 1fr 70px;gap:10px;align-items:center}.mc-bar-label{color:#d9ecff;font-weight:800}.mc-bar-track{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.mc-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#18c964,#38bdf8)}.mc-gauge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mc-ring{--p:50;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:conic-gradient(#22c55e calc(var(--p)*1%),rgba(255,255,255,.08) 0);margin:auto;position:relative}.mc-ring:after{content:'';position:absolute;inset:12px;border-radius:50%;background:#071827}.mc-ring b{z-index:1;color:#fff;font-size:24px}.mc-ring-card{text-align:center}.mc-ring-card span{display:block;color:#9fb8d4;font-weight:900;margin-top:10px}.mc-feed-v2{display:grid;gap:10px;max-height:390px;overflow:auto}.mc-feed-item{border:1px solid rgba(255,255,255,.09);border-radius:15px;padding:12px;background:rgba(255,255,255,.045)}.mc-feed-item b{display:block;color:#fff}.mc-feed-item span{display:block;color:#c8d8e8}.mc-feed-item small{color:#7e98b5}.mc-health-list{display:grid;gap:12px}.mc-health-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.mc-health-item b{color:#fff}.mc-health-item small{color:#8aa1bb}@media(max-width:1100px){.mc-topline{grid-template-columns:repeat(2,1fr)}.span4,.span5,.span6,.span7,.span8{grid-column:span 12}.mc-gauge-grid{grid-template-columns:1fr}}@media(max-width:700px){.mc-topline{grid-template-columns:1fr}.mc-bar-row{grid-template-columns:1fr}.mc-bar-row .mc-bar-value{text-align:left}.mc-ring{width:112px;height:112px}}
/* ============================================================
   Mission Control — stop long bar labels overflowing into the bar
   Append to the END of assets/css/app.css
   ============================================================ */

/* The row is a 120px / 1fr / 70px grid. Grid items default to
   min-width:auto, so a long unbroken word refuses to shrink and
   spills across the track. min-width:0 lets it shrink; the
   ellipsis then does the rest. */
.mc-bar-row{
  grid-template-columns:minmax(0,120px) minmax(0,1fr) 70px;
}

.mc-bar-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:default;          /* pairs with the title tooltip below */
}

/* Same protection for the numeric column (large values, currency) */
.mc-bar-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
}

/* The bar track must not be squeezed out of existence either */
.mc-bar-track{
  min-width:0;
}

/* Feed items: long unbroken strings (URLs, pasted IDs) can blow out
   the panel the same way. Wrap them instead. */
.mc-feed-item b,
.mc-feed-item span,
.mc-health-item b{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:700px){
  /* Single-column rows on mobile — label gets full width, so let it
     wrap to two lines rather than truncating aggressively. */
  .mc-bar-label{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* ============================================================
   Hood cleaning landing page — reuses existing hero/service classes,
   adds only the commercial-division accents.
   ============================================================ */
.hood-hero{position:relative}
.hood-eyebrow{display:inline-block;border:1px solid rgba(239,159,39,.42);background:rgba(186,117,23,.14);
  color:#efb35a;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.hood-hero .accent-red{color:#c8102e}
.hood-hero .accent-blue,.quote-title .accent-blue{color:#2f6bff}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.hero-chips .chip{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);
  color:#dbe8f7;border-radius:10px;padding:7px 12px;font-size:13px;font-weight:600}
.hood-hero .service-card{border-color:rgba(239,159,39,.22)}
.hood-hero .service-card:hover{border-color:rgba(239,159,39,.45)}
@media(max-width:700px){
  .hero-chips .chip{font-size:12px;padding:6px 10px}
}

/* Service group headings on the expanded homepage services section */
.service-group-title{font-size:22px;font-weight:900;color:#fff;margin:34px 0 16px;
  letter-spacing:.02em;text-transform:uppercase}
.service-group-title .blue{color:#2f6bff}
.service-group-title .red{color:#c8102e}
.section-lead{max-width:760px;margin-bottom:8px}
@media(max-width:700px){.service-group-title{font-size:18px;margin:26px 0 12px}}

/* ============================================================
   Desktop nav overflow fix.
   The nav gained items (Hood Cleaning) and started wrapping mid-label,
   which read as broken. Labels now never wrap; spacing and size step
   down at narrower widths instead of breaking the row.
   Scoped to desktop widths so the mobile drawer is untouched.
   ============================================================ */
@media(min-width:901px){
  .nav{gap:18px}
  .main-nav{gap:2px;flex-wrap:nowrap}
  .main-nav a{
    white-space:nowrap;        /* never split a label across two lines */
    padding:10px 12px;
    margin:0;
    font-size:15px;
    font-weight:800;
    border:0;
    background:transparent;
    border-radius:10px;
    letter-spacing:.01em;
  }
  .main-nav a:hover{background:rgba(255,255,255,.08)}
  .desktop-quote{white-space:nowrap;flex:0 0 auto}
  .logo-nav{flex:0 0 auto}
}

/* Tighter still on smaller desktops / large tablets before the drawer kicks in */
@media(min-width:901px) and (max-width:1280px){
  .main-nav a{font-size:13.5px;padding:9px 9px}
  .nav{gap:12px}
  .desktop-quote{font-size:13px;padding:10px 14px}
}
@media(min-width:901px) and (max-width:1120px){
  .main-nav a{font-size:12.5px;padding:8px 7px}
  .logo-nav{width:120px!important}
}

/* Final step-down: 901–1000px is the tightest desktop range before the mobile
   drawer takes over at 900px. Hide the CTA button here (the nav still reaches
   the quote anchor) so the links never wrap. */
@media(min-width:901px) and (max-width:1000px){
  .main-nav a{font-size:12px;padding:8px 6px}
  .nav{gap:10px}
  .logo-nav{width:105px!important}
  .desktop-quote{display:none}
}

/* ============================================================
   NEW LOGO (2026 "Cleaning & Property Solutions" lockup)

   Two files, two jobs:
     /assets/brand/abls-logo-full.png  - full lockup w/ service badges
                                       (hero, footer, invoices, print)
     /assets/brand/abls-logo-nav.png   - cropped wordmark only, no badges
                                       (header nav — badges are unreadable small)

   If you only supply the full lockup, the nav falls back to it and stays
   height-capped so the header can't grow.
   ============================================================ */

/* Header: cap by HEIGHT, not width, so any aspect ratio behaves. */
.logo-nav{
  height:52px!important;
  width:auto!important;
  max-width:230px!important;
  max-height:52px!important;
  object-fit:contain;
  border-radius:4px;
  flex:0 0 auto;
}
@media(min-width:901px) and (max-width:1280px){
  .logo-nav{height:46px!important;max-width:190px!important}
}
@media(min-width:901px) and (max-width:1000px){
  .logo-nav{height:40px!important;max-width:150px!important}
}
@media(max-width:900px){
  .logo-nav{height:44px!important;max-width:180px!important}
}

/* Hero / footer: the full lockup gets room to actually be read. */
.logo-full{
  display:block;
  width:100%;
  max-width:560px;
  height:auto;
  margin:0 auto 18px;
}
@media(max-width:700px){ .logo-full{max-width:100%} }

/* Footer lockup */
.footer-abls-logo{
  height:auto!important;
  width:auto!important;
  max-width:320px!important;
  max-height:120px!important;
  object-fit:contain;
}

/* ============================================================
   Neutral section wrapper for the hood cleaning page.
   Replaces the borrowed .guarantee-panel / .finance-panel / .review-panel
   classes, which carry their own hardcoded background images and forced
   min-heights (guarantee-panel bakes in veteran-family.jpg).
   ============================================================ */
.hood-section{
  background:#06111f;
  border-top:1px solid rgba(125,211,252,.14);
  padding:52px 0;
  min-height:0;          /* undo any inherited forced height */
  position:relative;
}
.hood-section-alt{
  background:linear-gradient(180deg,#081a2b,#06111f);
}
.hood-section .services-grid{margin-top:22px}
.hood-section .hero-sub{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:700px){
  .hood-section{padding:36px 0}
}

/* Safety net: .service-icon is position:absolute and relies on an ancestor with
   position:relative (.service-body). If an icon ever lands outside that wrapper it
   escapes to the section and stacks at centre. Giving .service-card a positioning
   context means the worst case is a misplaced icon inside its own card, not a
   floating badge in the middle of the page. */
.service-card{position:relative}

/* ============================================================
   Hood page cards: no header image, so the floating icon badge
   (position:absolute; top:-36px) hangs outside the card and gets
   clipped by .service-card{overflow:hidden}. These cards put the
   icon in normal flow instead, and drop the image-sized min-height
   that was leaving dead space at the bottom.
   ============================================================ */
.hood-cards .service-body{
  padding:26px 22px 24px;
  min-height:0;                 /* was 270px — sized for cards WITH an image */
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hood-cards .service-icon{
  position:static;              /* was absolute/-36px -> clipped */
  transform:none;
  margin:0 0 14px;
  width:60px;
  height:60px;
  flex:0 0 auto;
}
.hood-cards .service-card{
  display:flex;                 /* equal-height cards in the row */
  flex-direction:column;
}
.hood-cards .service-body{flex:1}          /* fill the grid-stretched card */
.hood-cards .service-body h3{margin:0 0 10px;font-size:21px}
.hood-cards .service-body p{margin:0;min-height:0}   /* .service-card p sets 80px, sized for image cards */
@media(max-width:700px){
  .hood-cards .service-body{padding:22px 18px 20px}
}

/* ============================================================
   HOMEPAGE POLISH — hood feature band + value band
   Fixes: one stranded card in a 4-col grid, and two panels
   floating in near-empty full-width sections.
   ============================================================ */

/* ---- Commercial kitchen feature band ---- */
.hood-feature{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);
  gap:32px;
  align-items:center;
  margin-top:26px;
  padding:38px 40px;
  border-radius:22px;
  border:1px solid rgba(239,159,39,.34);
  background:
    radial-gradient(900px 300px at 88% 0%, rgba(186,117,23,.20), transparent 62%),
    linear-gradient(160deg,#0f2035,#071523 62%);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
.hood-feature-eyebrow{
  display:inline-block;margin-bottom:12px;padding:6px 15px;
  border:1px solid rgba(239,159,39,.46);background:rgba(186,117,23,.16);
  color:#efb35a;border-radius:999px;font-size:12px;font-weight:900;
  letter-spacing:.09em;text-transform:uppercase;
}
.hood-feature-copy h3{
  margin:0 0 12px;font-size:clamp(24px,2.6vw,36px);line-height:1.08;
  text-transform:uppercase;color:#fff;
}
.hood-feature-copy > p{margin:0 0 18px;color:#c6d8ea;line-height:1.6;max-width:58ch}
.hood-feature-points{
  list-style:none;padding:0;margin:0 0 24px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;
}
.hood-feature-points li{color:#e6f1fb;font-weight:700;font-size:14px}
.hood-feature-points li:before{content:"✓ ";color:#efb35a;font-weight:900}
.hood-feature-actions{display:flex;gap:12px;flex-wrap:wrap}

.hood-feature-badge{text-align:center}
.hood-badge-ring{
  width:170px;height:170px;margin:0 auto 16px;border-radius:50%;
  display:grid;place-items:center;align-content:center;
  border:4px solid rgba(239,159,39,.55);
  background:radial-gradient(circle at 50% 35%,rgba(186,117,23,.30),rgba(7,21,35,.9) 70%);
  box-shadow:0 0 46px rgba(186,117,23,.34), inset 0 0 30px rgba(0,0,0,.5);
}
.hood-badge-ring b{display:block;font-size:30px;color:#fff;line-height:1;letter-spacing:.04em}
.hood-badge-ring span{display:block;font-size:44px;color:#efb35a;font-weight:900;line-height:1}
.hood-feature-badge p{margin:0;color:#9fb8d4;font-size:14px;line-height:1.5;font-weight:700}

/* ---- Financing + guarantee value band ---- */
.value-band{padding:56px 0;background:linear-gradient(180deg,#061020,#08192b)}
.value-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:22px;align-items:stretch;
}
.value-card{
  border:1px solid #24608d;border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,#0e2941,#071522);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  display:flex;flex-direction:column;
  transition:.2s ease;
}
.value-card:hover{transform:translateY(-5px);border-color:#2caaff;box-shadow:0 30px 84px rgba(20,125,255,.22)}
.value-eyebrow{
  display:inline-block;margin-bottom:10px;padding:5px 13px;border-radius:999px;
  font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid rgba(96,165,250,.42);background:rgba(37,99,235,.16);color:#8fc0ff;
}
.value-finance{padding:32px 30px}
.value-finance h3{margin:0 0 10px;font-size:26px;text-transform:uppercase;color:#fff;line-height:1.12}
.value-finance > p{margin:0 0 16px;color:#c6d8ea;line-height:1.6}
.value-points{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px}
.value-points li{color:#e6f1fb;font-weight:700}
.value-points li:before{content:"✓ ";color:#22c55e;font-weight:900}

.value-guarantee{position:relative;min-height:300px;justify-content:flex-end}
.value-guarantee img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.value-guarantee:after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(6,17,31,.15) 30%,rgba(6,17,31,.94) 100%);
}
.value-guarantee-copy{position:relative;z-index:2;padding:28px 30px}
.value-guarantee-copy h3{margin:0 0 8px;font-size:25px;text-transform:uppercase;color:#fff;line-height:1.12}
.value-guarantee-copy p{margin:0;color:#d6e6f5;line-height:1.55}
.value-guarantee.no-photo{background:linear-gradient(160deg,#12324f,#071522);min-height:auto}
.value-guarantee.no-photo:after{display:none}

@media(max-width:900px){
  .hood-feature{grid-template-columns:1fr;padding:28px 22px;gap:24px}
  .hood-feature-badge{order:-1}
  .hood-badge-ring{width:132px;height:132px}
  .hood-badge-ring b{font-size:24px}.hood-badge-ring span{font-size:34px}
  .value-band{padding:38px 0}
  .value-finance{padding:26px 22px}
}

/* ============================================================
   SERVICE CARD FIXES — homepage
   1) Cards WITHOUT a photo had the icon badge (position:absolute; top:-36px)
      clipped in half by .service-card{overflow:hidden}. :has() detects them
      automatically so this can't recur when photos are added later.
   2) The 5-card exterior row left one card stranded on its own line.
   ============================================================ */

/* --- 1. Icon placement adapts to whether the card has a photo --- */
.service-card:not(:has(img)) .service-body{
  padding:26px 22px 24px;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.service-card:not(:has(img)) .service-icon{
  position:static;
  transform:none;
  margin:0 0 14px;
  width:60px;
  height:60px;
  font-size:28px;
  flex:0 0 auto;
}
.service-card:not(:has(img)) .service-body p{min-height:0;flex:1}

/* Fallback for engines without :has() — cards tagged .no-photo behave the same.
   (Add class="service-card no-photo" if you ever need it explicitly.) */
.service-card.no-photo .service-icon{
  position:static;transform:none;margin:0 0 14px;width:60px;height:60px;font-size:28px;
}
.service-card.no-photo .service-body{padding:26px 22px 24px;min-height:0}

/* --- 2. Deterministic columns per group, so no card is ever stranded alone.
       Exterior has 5 services, Interior has 3. --- */
.services-section .services-grid.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.services-section .services-grid.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1240px){
  .services-section .services-grid.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:940px){
  .services-section .services-grid.grid-5,
  .services-section .services-grid.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .services-section .services-grid.grid-5,
  .services-section .services-grid.grid-3{grid-template-columns:1fr}
}

/* Equal card heights within a row regardless of photo presence */
.services-section .service-card{display:flex;flex-direction:column}
.services-section .service-card .service-body{flex:1}

/* ============================================================
   VISUAL POLISH LAYER — depth, motion, micro-interactions
   All motion is wrapped in prefers-reduced-motion so it degrades
   gracefully for anyone who has that set.
   ============================================================ */

/* ---- Scroll reveal (JS adds .in-view) ---- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
  .reveal.in-view{opacity:1;transform:none}
  .reveal-delay-1{transition-delay:.08s}
  .reveal-delay-2{transition-delay:.16s}
  .reveal-delay-3{transition-delay:.24s}
  .reveal-delay-4{transition-delay:.32s}
}

/* ---- Service cards: lift, glow, image zoom ---- */
.service-card{
  position:relative;
  transition:transform .35s cubic-bezier(.16,1,.3,1), border-color .3s ease, box-shadow .35s ease;
  will-change:transform;
}
.service-card img{transition:transform .6s cubic-bezier(.16,1,.3,1);}
.service-card:hover img{transform:scale(1.07)}
.service-card:hover{
  transform:translateY(-9px);
  border-color:#3ab4ff;
  box-shadow:0 34px 90px rgba(20,125,255,.30), 0 0 0 1px rgba(58,180,255,.25);
}
/* Sheen sweep across the card on hover */
.service-card:after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:3;border-radius:inherit;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.09) 48%,transparent 58%);
  transform:translateX(-120%);
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.service-card:hover:after{transform:translateX(120%)}
.service-card .service-icon{transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease}
.service-card:hover .service-icon{transform:translateX(-50%) scale(1.12)}
.service-card:not(:has(img)):hover .service-icon{transform:scale(1.12)}

/* ---- Buttons: shine + lift ---- */
.btn{position:relative;overflow:hidden;transition:transform .18s ease, box-shadow .25s ease, filter .25s ease}
.btn:before{
  content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-22deg);transition:left .6s cubic-bezier(.16,1,.3,1);
}
.btn:hover:before{left:130%}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn:active{transform:translateY(0)}
.btn-red:hover{box-shadow:0 14px 40px rgba(200,16,46,.42)}
.btn-blue:hover{box-shadow:0 14px 40px rgba(37,99,235,.42)}

/* ---- Section titles: animated underline accent ---- */
.section-title{position:relative}
@media (prefers-reduced-motion: no-preference){
  .section-title:after{
    content:'';display:block;width:0;height:3px;margin:14px auto 0;border-radius:3px;
    background:linear-gradient(90deg,#2f6bff,#c8102e);
    transition:width .9s cubic-bezier(.16,1,.3,1) .2s;
  }
  .section-title.in-view:after{width:132px}
}

/* ---- Trust badges + stats: hover lift ---- */
.trust,.trust-stat{transition:transform .28s cubic-bezier(.16,1,.3,1), border-color .28s ease, background .28s ease}
.trust:hover,.trust-stat:hover{transform:translateY(-4px);border-color:rgba(58,180,255,.5)}

/* ---- Hero: subtle depth on the logo + pill row ---- */
@media (prefers-reduced-motion: no-preference){
  .logo-hero{animation:heroFloat 7s ease-in-out infinite}
  @keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .pills b{transition:transform .25s ease, background .25s ease}
  .pills b:hover{transform:translateY(-3px)}
}

/* ---- Value + hood feature cards ---- */
.value-card,.hood-feature{transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .3s ease}
.hood-feature:hover{transform:translateY(-6px);border-color:rgba(239,159,39,.6);box-shadow:0 34px 92px rgba(186,117,23,.26)}
@media (prefers-reduced-motion: no-preference){
  .hood-badge-ring{animation:badgePulse 4.5s ease-in-out infinite}
  @keyframes badgePulse{
    0%,100%{box-shadow:0 0 46px rgba(186,117,23,.34), inset 0 0 30px rgba(0,0,0,.5)}
    50%{box-shadow:0 0 74px rgba(186,117,23,.55), inset 0 0 30px rgba(0,0,0,.5)}
  }
}

/* ---- Quote form: focus glow ---- */
.form-grid input,.form-grid select,.form-grid textarea{
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{
  outline:none;border-color:#3ab4ff;
  box-shadow:0 0 0 3px rgba(58,180,255,.18);
  background:rgba(8,20,33,.9);
}

/* ---- CTA band: moving gradient ---- */
@media (prefers-reduced-motion: no-preference){
  .quote-cta{
    background:linear-gradient(110deg,#0d47c9,#1769ff,#0d47c9,#c8102e);
    background-size:300% 100%;
    animation:ctaShift 14s ease infinite;
  }
  @keyframes ctaShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
}

/* ---- Footer links ---- */
.footer-col p a{position:relative;transition:color .2s ease,padding-left .2s ease}
.footer-col p a:hover{color:#7fb0ff;padding-left:6px}

/* ---- Scroll progress bar ---- */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;
  background:linear-gradient(90deg,#2f6bff,#c8102e);
  box-shadow:0 0 12px rgba(58,180,255,.6);
  transition:width .1s linear;pointer-events:none;
}

/* ---- Back to top ---- */
.to-top{
  position:fixed;right:22px;bottom:92px;z-index:9998;
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(58,180,255,.45);
  background:rgba(8,20,33,.92);color:#eaf2ff;font-size:20px;cursor:pointer;
  display:grid;place-items:center;opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease,background .2s ease;
}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:#1769ff}
