.elementor-kit-5{--e-global-color-primary:#091A39;--e-global-color-secondary:#9F0F2F;--e-global-color-text:#091A39;--e-global-color-accent:#9F0F2F;--e-global-color-53e0baf:#050F24;--e-global-color-60f7539:#F3F6FA;--e-global-color-42ab8a0:#5B6478;--e-global-color-98df8cc:#E1E5EC;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#9F0F2F;color:#FFFFFF;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#7D0C25;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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 *//* ==========================================================================
   WHITE ELECTRIC - site-wide layout & design fixes
   Added 2026-09-20. Safe to delete this whole block to revert the site.

   What it fixes:
   1. Containers never switched to a stacked layout on phones - the hero,
      the service cards, the four "Why" columns and both button rows all
      stayed side by side and got crushed.
   2. Sections were full-bleed, so body copy ran to 1,500px line lengths on
      a wide monitor. Content is now centred at 1200px; coloured bands still
      reach the screen edge.
   3. The rebuilt pages had no font assigned and fell back to the system UI
      font, while the pages still running the original HTML used Montserrat
      / Open Sans. Everything is on Montserrat + Open Sans now.
   4. Buttons had two corner radii, two font weights and inconsistent
      padding. One button system, with hover and focus states.
   5. The Services list rows and safety panel were migrated with a border on
      all four sides where the design wants a single accent rule.
   6. Section 8 patches the pages still running the original hand-coded HTML
      and can be deleted once those are rebuilt as Elementor containers.
   ========================================================================== */


:root {
  --we-navy:#091A39; --we-navy-card:#0F2447; --we-navy-line:#2C3D63;
  --we-crimson:#9F0F2F; --we-crimson-lit:#C0163B; --we-line:#E2E8F0;
  --we-max:1200px; --we-gutter:24px;
  --we-display:"Montserrat","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --we-text:"Open Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --we-r-sm:6px; --we-r-md:12px; --we-ease:.18s cubic-bezier(.4,0,.2,1);
}
[data-elementor-type="wp-page"],
[data-elementor-type="wp-page"] .e-paragraph-base,
[data-elementor-type="wp-page"] p,
[data-elementor-type="wp-page"] li,
[data-elementor-type="footer"] { font-family: var(--we-text); }
[data-elementor-type="wp-page"] .e-heading-base,
[data-elementor-type="wp-page"] :is(h1,h2,h3,h4,h5,h6),
[data-elementor-type="footer"] :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--we-display) !important; letter-spacing:-.015em; text-wrap:balance;
}
[data-elementor-type="wp-page"] .e-heading-base { font-weight:600 !important; }
[data-elementor-type="wp-page"] h1,
[data-elementor-type="wp-page"] h1.e-heading-base {
  font-size: clamp(2rem, 1.1rem + 3.4vw, 3.25rem) !important; font-weight:800 !important; line-height:1.08 !important;
}
[data-elementor-type="wp-page"] > .e-con > h2.e-heading-base {
  font-size: clamp(1.65rem, 1.1rem + 1.9vw, 2.25rem) !important; font-weight:800 !important; line-height:1.14 !important;
}
@media (max-width:767px){
  [data-elementor-type="wp-page"] h1, [data-elementor-type="wp-page"] h1.e-heading-base { font-size: clamp(1.8rem, 7.4vw, 2.3rem) !important; }
  [data-elementor-type="wp-page"] > .e-con > h2.e-heading-base { font-size: clamp(1.45rem, 6vw, 1.85rem) !important; }
  [data-elementor-type="wp-page"] .e-flexbox-base .e-flexbox-base h2.e-heading-base { font-size:1.08rem !important; }
}

[data-elementor-type="wp-page"] .e-paragraph-base,
[data-elementor-type="wp-page"] p { line-height:1.7; }
[data-elementor-type="wp-page"] .e-paragraph-base:has(+ .e-heading-base) {
  font-family: var(--we-display) !important; letter-spacing:.1em !important;
  text-transform:uppercase; line-height:1.4;
}
[data-elementor-type="wp-page"] > .e-con,
[data-elementor-type="footer"] > .e-con {
  padding-inline: max(var(--we-gutter), calc((100% - var(--we-max)) / 2)) !important;
  max-width:100% !important;
}
[data-elementor-type="wp-page"] > .e-con { padding-block: clamp(56px, 3.2rem + 2.4vw, 96px) !important; }
[data-elementor-type="wp-page"] > .e-con:has(> .e-flexbox-base:last-child > .e-button-base) {
  align-items:center; text-align:center;
}

@media (max-width:1024px){
  [data-elementor-type="wp-page"] .e-flexbox-base { flex-wrap:wrap; }
  [data-elementor-type="wp-page"] .e-flexbox-base > .e-flexbox-base { min-width:0; }
  [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(3)) > .e-flexbox-base { flex:1 1 calc(50% - 20px); }
}
@media (max-width:767px){
  [data-elementor-type="wp-page"] .e-flexbox-base {
    flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important;
  }
  [data-elementor-type="wp-page"] .e-flexbox-base > .e-flexbox-base,
  [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(3)) > .e-flexbox-base {
    flex:0 0 auto !important; width:100% !important; max-width:100% !important; min-width:0 !important;
  }
  [data-elementor-type="wp-page"] > .e-con { padding-block:52px !important; padding-inline:20px !important; gap:22px !important; }
  [data-elementor-type="wp-page"] .e-button-base { align-self:stretch !important; width:100%; }
  [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-button-base) { gap:12px !important; }
  [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-flexbox-base:nth-child(2)) { gap:18px !important; }
}
html, body { overflow-x:hidden; }
[data-elementor-type="wp-page"] :is(img,svg,iframe,video) { max-width:100%; }
[data-elementor-type="wp-page"] .e-button-base,
[data-elementor-type="footer"] .e-button-base {
  font-family: var(--we-display) !important; font-weight:600 !important; font-size:.95rem !important;
  letter-spacing:.01em !important; border-radius: var(--we-r-sm) !important; padding:13px 26px !important;
  line-height:1.2 !important; text-align:center; justify-content:center; align-items:center;
  transition: transform var(--we-ease), box-shadow var(--we-ease), filter var(--we-ease), background-color var(--we-ease);
}
@media (min-width:768px){
  [data-elementor-type="wp-page"] .e-flexbox-base > .e-button-base { align-self:flex-start; }
  [data-elementor-type="wp-page"] > .e-con:has(> .e-flexbox-base:last-child > .e-button-base) .e-flexbox-base > .e-button-base { align-self:auto; }
}
[data-elementor-type="wp-page"] .e-button-base:hover {
  transform:translateY(-1px); filter:brightness(1.1); box-shadow:0 8px 20px rgba(9,26,57,.18);
}
[data-elementor-type="wp-page"] .e-button-base:active { transform:translateY(0); box-shadow:none; }
[data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-button-base):not(:has(> *:not(.e-button-base))) { gap:14px !important; flex-wrap:wrap; padding:0 !important; }

body.page-id-30 [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-heading-base:first-child + .e-paragraph-base:last-child) {
  border-width:0 0 1px 3px !important; border-style:solid !important; border-radius:0 !important;
  padding:2px 0 18px 18px !important; gap:24px !important;
  transition: border-color var(--we-ease), background-color var(--we-ease);
}
body.page-id-30 [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-heading-base:first-child + .e-paragraph-base:last-child):hover { border-left-color: var(--we-crimson) !important; }
@media (min-width:768px){
  body.page-id-30 [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-heading-base:first-child + .e-paragraph-base:last-child) > .e-heading-base { flex:0 0 34%; max-width:250px; }
  body.page-id-30 [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-heading-base:first-child + .e-paragraph-base:last-child) > .e-paragraph-base { flex:1 1 auto; margin:0; }
}
@media (max-width:767px){
  body.page-id-30 [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-heading-base:first-child + .e-paragraph-base:last-child) { gap:6px !important; padding-bottom:16px !important; }
}
[data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-paragraph-base:first-child + .e-flexbox-base:last-child) {
  border-width:0 0 0 3px !important; border-style:solid !important; border-radius:0 !important; padding:2px 0 22px 18px !important;
}
@media (min-width:768px){
  [data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-paragraph-base:first-child + .e-flexbox-base:last-child) > .e-paragraph-base:first-child { flex:0 0 56px; padding-top:2px; }
}
[data-elementor-type="footer"] a:not(.e-button-base) { text-underline-offset:3px; text-decoration-thickness:1px; transition: color var(--we-ease), opacity var(--we-ease); }
[data-elementor-type="footer"] a:not(.e-button-base):hover { color:#fff; text-decoration:underline; }
[data-elementor-type="wp-page"] :is(input:not([type="submit"]),select,textarea) {
  font-family: var(--we-text) !important; font-size:16px !important; border-radius: var(--we-r-sm) !important;
  border:1px solid var(--we-line) !important; padding:11px 13px !important; width:100%; max-width:100%;
  transition: border-color var(--we-ease), box-shadow var(--we-ease);
}
[data-elementor-type="wp-page"] :is(input:not([type="submit"]),select,textarea):focus {
  outline:none; border-color: var(--we-crimson) !important; box-shadow:0 0 0 3px rgba(159,15,47,.15);
}
:is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--we-crimson-lit); outline-offset:2px; }
:target { scroll-margin-top:110px; }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; } }
.wec {
  --display: var(--we-display); --body: var(--we-text); --maxw: var(--we-max);
  font-family: var(--we-text);
}
.wec :is(h1,h2,h3,h4,h5,h6) { font-family: var(--we-display) !important; letter-spacing:-.015em; }
.wec :is(h1,h2) { font-weight:800 !important; }
.wec :is(h3,h4) { font-weight:600 !important; }
.wec .wrap { max-width: var(--we-max); padding-inline: var(--we-gutter); }
.elementor-widget:has(.wec) { padding:0 !important; }
@media (max-width:767px){
  /* grid-template-columns is inert on non-grid elements, so this collapses
     every grid in the original markup without having to name each class */
  .wec * { grid-template-columns:1fr !important; min-width:0 !important; }
  .wec [class*="grid"], .wec [class*="cols"], .wec .wrap > * { flex-wrap:wrap !important; }
  .wec .section { padding-block:48px !important; }
  .wec .wrap { padding-inline:20px; }
  .wec { overflow-x:clip; }
  .wec :is(img,svg) { max-width:100%; height:auto; }
}

body.page-id-27 [data-elementor-type="wp-page"] > .e-con:first-child { align-items:center; }

/* a label+body row's body is a title/text pair, not another list row -
   stop the list-row treatment cascading into it */
body.page-id-30 [data-elementor-type="wp-page"]
  .e-flexbox-base:has(> .e-paragraph-base:first-child + .e-flexbox-base:last-child)
  > .e-flexbox-base {
  border-width:0 !important; padding:0 !important; gap:6px !important;
}
body.page-id-30 [data-elementor-type="wp-page"]
  .e-flexbox-base:has(> .e-paragraph-base:first-child + .e-flexbox-base:last-child)
  > .e-flexbox-base > .e-heading-base {
  flex:0 0 auto !important; max-width:none !important;
}

/* Secondary button in a two-button row had a transparent background and no
   border, so it read as plain text rather than a button. */
[data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-button-base) > .e-button-base:nth-child(2) {
  border:1.5px solid currentColor !important;
}

/* --------------------------------------------------------------------------
   HEADER TEMPLATE
   The header was on Poppins with a pill-shaped CTA while every page was on
   Montserrat with square buttons - the two were visible together on every
   screen, which is a lot of why the site read as inconsistent.
   -------------------------------------------------------------------------- */
[data-elementor-type="header"] :is(nav, .elementor-nav-menu, .elementor-nav-menu a, .elementor-button, a[class*="e-button"]) {
  font-family: var(--we-display) !important;
}
[data-elementor-type="header"] .elementor-nav-menu a {
  font-weight:600 !important; letter-spacing:.01em;
}
[data-elementor-type="header"] :is(.elementor-button, a[class*="e-button"]) {
  font-weight:600 !important; font-size:.95rem !important; letter-spacing:.01em !important;
  border-radius: var(--we-r-sm) !important; padding:13px 26px !important;
  background-color: var(--we-crimson-lit) !important;
  transition: transform var(--we-ease), box-shadow var(--we-ease), filter var(--we-ease);
}
[data-elementor-type="header"] :is(.elementor-button, a[class*="e-button"]):hover {
  transform:translateY(-1px); filter:brightness(1.08);
  box-shadow:0 8px 20px rgba(9,26,57,.18);
}

/* --------------------------------------------------------------------------
   INLINE LINKS + SINGLE-COLUMN HERO  (added with the About rebuild)
   -------------------------------------------------------------------------- */
[data-elementor-type="wp-page"] a.e-paragraph-link-base,
[data-elementor-type="wp-page"] .e-paragraph-base a {
  color: inherit !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(159,15,47,.5) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color var(--we-ease), text-decoration-color var(--we-ease);
}
[data-elementor-type="wp-page"] a.e-paragraph-link-base:hover,
[data-elementor-type="wp-page"] .e-paragraph-base a:hover {
  color: var(--we-crimson) !important;
  text-decoration-color: var(--we-crimson) !important;
}
/* a hero with one column shouldn't stay pinned to half the page width */
[data-elementor-type="wp-page"] > .e-con:first-child > .e-flexbox-base:only-child {
  width:100% !important; max-width:900px !important; flex:1 1 auto !important;
}


/* --- Services page CTA band fix (mobile button overflow + desktop wrap) --- */
body.page-id-30 [data-elementor-type="wp-page"][data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-con:first-child:nth-last-child(2)):has(> .e-button-base:last-child) {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  text-align: center !important;
  gap: 22px !important;
}
body.page-id-30 [data-elementor-type="wp-page"][data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-con:first-child:nth-last-child(2)):has(> .e-button-base:last-child) > .e-con {
  flex-direction: column !important;
  width: auto !important;
  max-width: 640px !important;
  align-items: center !important;
  text-align: center !important;
  border-width: 0 !important;
  padding: 0 !important;
  gap: 12px !important;
}
body.page-id-30 [data-elementor-type="wp-page"][data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-con:first-child:nth-last-child(2)):has(> .e-button-base:last-child) > .e-con > .e-heading-base {
  flex: none !important;
  max-width: 100% !important;
  text-align: center !important;
}
body.page-id-30 [data-elementor-type="wp-page"][data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-con:first-child:nth-last-child(2)):has(> .e-button-base:last-child) > .e-con > .e-paragraph-base {
  text-align: center !important;
  margin: 0 !important;
}
body.page-id-30 [data-elementor-type="wp-page"][data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-con:first-child:nth-last-child(2)):has(> .e-button-base:last-child) > .e-button-base {
  align-self: center !important;
  width: auto !important;
  flex-shrink: 0 !important;
}
@media (max-width:767px){
  [data-elementor-type="wp-page"] .e-button-base { margin: 0 !important; }
}


/* --- Site-wide fix: button-group wrappers should hug their content, not stretch to 100% --- */
/* (Elementor's atomic .e-con containers default to width:100%; a wrapper holding only
   button(s) should size to its content so it centers/aligns correctly wherever it sits) */
[data-elementor-type="wp-page"] .e-flexbox-base:has(> .e-button-base):not(:has(> *:not(.e-button-base))) {
  width: fit-content !important;
  max-width: 100% !important;
}/* End custom CSS */