.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   SERVICE RESTORATION — COMPLETE SITE CSS (consolidated)
   Replaces ALL previous CSS. One file, no patches.
   ============================================================ */

/* ---------- tokens ---------- */
:root{
  --sr-brand:#234090;
  --sr-brand-text:#6988de;
  --sr-red:#ed2027;
  --sr-orange:#ff6a2b;
  --sr-ink:#0c1820;
  --sr-ink2:#11222e;
  --sr-line:#1f3645;
  --sr-fog:#e8eef1;
  --sr-fog-dim:#93a8b3;
}

/* ==========================================================
   A. TEMPLATE-DRIVEN PAGES (city pages via .sr-dark class)
   ========================================================== */
.sr-dark{background:var(--sr-ink);color:var(--sr-fog);font-family:'Public Sans',sans-serif}
.sr-dark .elementor-widget-container{color:inherit}
.sr-dark .e-con{min-width:0}

/* headings */
.sr-dark h1,.sr-dark h2,.sr-dark h3{
  font-family:'Archivo',sans-serif;font-stretch:125%;font-weight:850;
  text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;
  color:var(--sr-fog);overflow-wrap:break-word;
}
.sr-dark h1{font-size:clamp(36px,5.4vw,72px)}
.sr-dark h2{font-size:clamp(24px,3vw,38px);margin-bottom:.4em;padding-bottom:.35em;position:relative}
.sr-dark h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:var(--sr-brand-text)}
.sr-dark h3{font-size:18px;line-height:1.3;letter-spacing:.02em;overflow-wrap:normal}

/* body text */
.sr-dark .elementor-widget-text-editor,.sr-dark p{color:var(--sr-fog-dim);font-size:16.5px;line-height:1.65;max-width:72ch}
.sr-dark strong{color:var(--sr-fog)}
.sr-dark a:not(.elementor-button):not([class*="button"]){color:var(--sr-brand-text);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.sr-dark a:not(.elementor-button):not([class*="button"]):hover{border-bottom-color:var(--sr-brand-text)}

/* mono data voice */
.sr-dark .sr-mono{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sr-brand-text)}

/* FAQ accordion */
.sr-dark .elementor-accordion .elementor-accordion-item,.sr-dark .e-n-accordion-item{background:var(--sr-ink2);border:1px solid var(--sr-line)!important;border-radius:8px;margin-bottom:10px}
.sr-dark .elementor-accordion .elementor-tab-title,.sr-dark .e-n-accordion-item-title{color:var(--sr-fog);font-family:'Public Sans',sans-serif;font-weight:600;font-size:16px;padding:16px 20px}
.sr-dark .elementor-accordion .elementor-tab-title.elementor-active,.sr-dark .e-n-accordion-item[open] .e-n-accordion-item-title{color:var(--sr-brand-text)}
.sr-dark .elementor-accordion .elementor-tab-content,.sr-dark .e-n-accordion-item-body{color:var(--sr-fog-dim);border-top:1px solid var(--sr-line)!important;padding:16px 20px;font-size:15px;line-height:1.6}

/* pills */
.sr-dark .sr-pill,.sr-dark .sr-pills a{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--sr-fog);border:1px solid var(--sr-line);background:var(--sr-ink2);border-radius:5px;padding:9px 14px;margin:0 8px 8px 0;transition:border-color .2s,transform .15s}
.sr-dark .sr-pill:hover,.sr-dark .sr-pills a:hover{border-color:var(--sr-brand-text);transform:translateY(-1px)}

/* buttons */
.sr-dark .elementor-button,.sr-dark .elementor-button:visited{background:var(--sr-red)!important;color:#fff!important;border:0!important;font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;border-radius:5px;padding:14px 24px;transition:transform .15s,box-shadow .15s}
.sr-dark .elementor-button:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(237,32,39,.35);color:#fff!important}

/* panels + dividers */
.sr-dark .sr-panel{background:var(--sr-ink2);border:1px solid var(--sr-line);border-radius:10px;padding:30px 28px}
.sr-dark .sr-band{border-block:1px solid var(--sr-line);background:radial-gradient(60% 90% at 50% 120%,rgba(237,32,39,.10),transparent 70%)}
.sr-dark hr,.sr-dark .elementor-divider-separator{border-color:var(--sr-line)!important}

/* section spacing */
.sr-dark > .e-con,.sr-dark .e-con-full{padding-top:54px;padding-bottom:54px}

/* reduced motion */
@media(prefers-reduced-motion:reduce){.sr-dark *{transition:none!important;animation:none!important}}

/* ==========================================================
   B. HOMEPAGE + ALL PAGES (body-level dark identity)
   ========================================================== */
body.home,
body.page{background:var(--sr-ink);color:var(--sr-fog);font-family:'Public Sans',sans-serif}

body.home h1, body.page h1,
body.home h2, body.page h2,
body.home h3, body.page h3{
  font-family:'Archivo',sans-serif;font-stretch:125%;font-weight:850;
  text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;color:var(--sr-fog);
}
body.home h1, body.page h1{font-size:clamp(36px,5.4vw,72px)}
body.home h2, body.page h2{font-size:clamp(24px,3vw,38px);padding-bottom:.35em;position:relative;margin-bottom:.4em}
body.home h2::after, body.page h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:var(--sr-brand-text)}
body.home h3, body.page h3{font-size:18px;line-height:1.3;letter-spacing:.02em}
body.home p, body.page p,
body.home .elementor-widget-text-editor, body.page .elementor-widget-text-editor{color:var(--sr-fog-dim)}
body.home a:not([class*="button"]), body.page a:not([class*="button"]){color:var(--sr-brand-text)}
body.home ul, body.page ul,
body.home li, body.page li{color:var(--sr-fog-dim)}

/* ==========================================================
   C. HOMEPAGE-SPECIFIC (hero, ticker, services, pills)
   ========================================================== */
body{overflow-x:clip}

/* hero panel */
#srhero{
  position:relative;overflow:hidden;
  border:1px solid var(--sr-line);border-radius:14px;
  background:linear-gradient(180deg,var(--sr-ink2),var(--sr-ink));
  padding:90px clamp(24px,5vw,64px) 140px;margin-top:24px;
}
#srhero .elementor-widget{position:relative;z-index:2}
#srhero .elementor-widget-html{position:static;z-index:auto}

/* ticker card */
#srticker{padding:0;overflow:hidden;border:1px solid var(--sr-line);border-radius:8px;margin-top:14px;background:var(--sr-ink)}

/* service cards (front-end only) */
body:not(.elementor-editor-active) #srservices > div,
body:not(.elementor-editor-active) #srservices > .e-con,
body:not(.elementor-editor-active) #srservices > .elementor-element{
  background:var(--sr-ink2);border:1px solid var(--sr-line);
  border-radius:8px;padding:26px 24px;transition:border-color .2s,transform .15s;
}
body:not(.elementor-editor-active) #srservices > div:hover,
body:not(.elementor-editor-active) #srservices > .e-con:hover{border-color:var(--sr-brand-text);transform:translateY(-2px)}

/* industries + service areas pill grids */
#srindustries ul,#srareas ul{display:flex;flex-wrap:wrap;gap:10px;padding:0}
#srindustries li,#srareas li{background:var(--sr-ink2);border:1px solid var(--sr-line);border-radius:5px;padding:9px 14px;margin:0!important;width:auto!important;list-style:none;display:flex;align-items:center;gap:8px}
#srindustries li span,#srareas li span{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--sr-fog)}
#srindustries svg,#srareas svg,#srindustries i,#srareas i{color:var(--sr-brand-text);fill:var(--sr-brand-text)}

/* CTA button */
#srcta,#srcta a,#srcta button{background:var(--sr-red)!important;color:#fff!important;border:0!important}
#srcta i,#srcta svg{color:#fff;fill:#fff}

/* ==========================================================
   D. STATE PAGE — risk cards + city directory
   ========================================================== */
body:not(.elementor-editor-active) #srstatecards > div,
body:not(.elementor-editor-active) #srstatecards > .e-con,
body:not(.elementor-editor-active) #srstatecards > .elementor-element{
  background:var(--sr-ink2)!important;border:1px solid var(--sr-line);
  border-radius:8px;padding:26px 24px;
}

/* city directory from shortcode */
.sr-state-dir{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0}
.sr-state-dir a,.sr-state-dir span{
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;
  color:var(--sr-fog);background:var(--sr-ink2);border:1px solid var(--sr-line);
  border-radius:5px;padding:9px 14px;text-decoration:none;
  transition:border-color .2s,transform .15s;
}
.sr-state-dir a:hover{border-color:var(--sr-brand-text);transform:translateY(-1px)}

/* state FAQ from shortcode */
.sr-state-faq{margin:20px 0}
.sr-state-faq details{background:var(--sr-ink2);border:1px solid var(--sr-line);border-radius:8px;margin-bottom:10px}
.sr-state-faq summary{color:var(--sr-fog);font-family:'Public Sans',sans-serif;font-weight:600;font-size:16px;padding:16px 20px;cursor:pointer;list-style:none}
.sr-state-faq summary::-webkit-details-marker{display:none}
.sr-state-faq summary::before{content:"▸ ";color:var(--sr-brand-text)}
.sr-state-faq details[open] summary{color:var(--sr-brand-text)}
.sr-state-faq details[open] summary::before{content:"▾ "}
.sr-state-faq .sr-faq-a{color:var(--sr-fog-dim);border-top:1px solid var(--sr-line);padding:16px 20px;font-size:15px;line-height:1.6}/* End custom CSS */