/* ===========================================================
 * BEC · New Homepage — custom.css
 * Built on top of Bootstrap 5.3.3 (CDN).
 * Keep this file separate so it can be:
 *    - enqueued in a WP child theme via wp_enqueue_style, OR
 *    - pasted into Appearance → Customize → Additional CSS.
 *
 * Sections:
 *   00  Brand tokens + base typography
 *   01  Bootstrap button overrides (btn-accent, btn-primary)
 *   02  Top utility bar + sticky nav
 *   03  Hero
 *   04  Hero lead-capture card
 *   05  Trust strip
 *   06  Solutions grid
 *   07  Services block
 *   08  Projects cards
 *   09  Coverage band
 *   10  About
 *   11  Final CTA / contact
 *   12  Footer
 *   13  Responsive tweaks
 * =========================================================== */


/* 00 · Tokens + base --------------------------------------- */
:root{
  --bec-brand:     #0f3a8a;
  --bec-brand-2:   #1657c8;
  --bec-brand-dk:  #09224f;
  --bec-accent:    #F5B400;     /* golden yellow — matches BEC truck livery */
  --bec-accent-2:  #D69A00;
  --bec-ink:       #0d1a2b;
  --bec-ink-2:     #1c2b44;
  --bec-muted:     #5b6b86;
  --bec-line:      #e4e9f1;
  --bec-bg-soft:   #f5f7fb;
  --bec-radius:    14px;
}

body{
/* font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;*/
font-family: 'Inter';
  color:var(--bec-ink);
  -webkit-font-smoothing:antialiased;
  background:#fff;
}

h1,h2,h3,h4,h5,h6,
.display-5,.display-6{
  font-family:"Barlow Condensed","Inter",sans-serif;
  letter-spacing:-.01em;
  font-weight:800;
  color:var(--bec-ink);
}

.bec-eyebrow{
  display:inline-block;
  font-size:12.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bec-brand);
  margin-bottom:12px;
}

.py-6{padding-top:5rem;padding-bottom:5rem}


/* 01 · Buttons --------------------------------------------- */
.btn{
  --bs-btn-padding-y:.75rem;
  --bs-btn-padding-x:1.35rem;
  --bs-btn-border-radius:10px;
  --bs-btn-font-weight:700;
  letter-spacing:.01em;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-lg{--bs-btn-padding-y:.95rem;--bs-btn-padding-x:1.6rem;--bs-btn-font-size:1rem}
.btn:hover{transform:translateY(-1px)}

.btn-primary{
  --bs-btn-bg:var(--bec-brand);
  --bs-btn-border-color:var(--bec-brand);
  --bs-btn-hover-bg:var(--bec-brand-2);
  --bs-btn-hover-border-color:var(--bec-brand-2);
  --bs-btn-active-bg:var(--bec-brand-dk);
  --bs-btn-active-border-color:var(--bec-brand-dk);
  --bs-btn-focus-shadow-rgb:15,58,138;
}
.btn-outline-primary{
  --bs-btn-color:var(--bec-brand);
  --bs-btn-border-color:var(--bec-brand);
  --bs-btn-hover-bg:var(--bec-brand);
  --bs-btn-hover-border-color:var(--bec-brand);
}
.btn-accent{
  background:var(--bec-accent);color:var(--bec-ink);border:0;
  box-shadow:0 10px 24px -10px rgba(245,180,0,.55);
}
.btn-accent:hover,
.btn-accent:focus-visible{
  background:var(--bec-accent-2);color:var(--bec-ink);
  box-shadow:0 14px 32px -10px rgba(245,180,0,.65);
}
.btn-outline-light{border-width:2px;font-weight:700}


/* 02 · Topbar + Nav ---------------------------------------- */
.bec-topbar{
  background:var(--bec-brand-dk);
  font-size:13.5px;
}
.bec-topbar a{color:#fff;text-decoration:none;font-weight:600}
.bec-topbar a:hover{text-decoration:underline}
.bec-topbar-emg{
  display:inline-flex;align-items:center;gap:8px;
  background:#c0281f;color:#fff !important;
  padding:4px 12px;border-radius:999px;font-weight:700;
  font-size:13px;letter-spacing:.02em;
}
.bec-topbar-emg:hover{background:#a5231b;text-decoration:none !important}

.bec-pulse{
  width:8px;height:8px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.75);
  animation:bec-pulse 1.7s infinite;
}
@keyframes bec-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}

.bec-nav{
  box-shadow:0 1px 0 var(--bec-line);
}
.bec-nav .nav-link{
  color:var(--bec-ink);
  font-weight:600;font-size:15px;
  padding:.7rem 1rem;
  border-radius:8px;
}
.bec-nav .nav-link:hover{color:var(--bec-brand);background:var(--bec-bg-soft)}


/* 03 · Hero ------------------------------------------------ */
.bec-hero{
  position:relative;
  color:#fff;
  isolation:isolate;
  overflow:hidden;
}
/* Ensure all headings inside the hero stay white
   (overrides the global h1/h2 rule that sets dark ink). */
.bec-hero h1,
.bec-hero h2,
.bec-hero h3,
.bec-hero h4,
.bec-hero h5,
.bec-hero h6,
.bec-hero .bec-eyebrow{color:#fff}
.bec-hero .bec-eyebrow{color:rgba(255,255,255,.85)}

.bec-hero-bg{
  position:absolute;inset:0;z-index:-1;
  /* Downtown commercial skyline at sunrise — locally hosted at
     assets/img/hero-skyline.jpg so it never breaks or gets reassigned.
     Swap with any licensed jobsite/skyline photo by replacing the file. */
  background:
    linear-gradient(120deg,rgba(9,20,40,.72) 0%,rgba(15,58,138,.42) 55%,rgba(9,17,30,.82) 100%),
    url("../img/hero-skyline.jpg") center/cover no-repeat;
  background-color:#0a1a3a; /* fallback while photo loads */
}
/* Bottom edge: subtle dark falloff (NOT white) so anything on top
   of the bright skyline area stays legible. */
.bec-hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:200px;z-index:-1;
  background:linear-gradient(180deg,transparent 0%,rgba(9,17,30,.55) 100%);
  pointer-events:none;
}

.bec-hero-title{
  /* Lighter weight for a more premium, editorial feel */
  font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:500;
  font-size:clamp(34px,4.6vw,62px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:.2em 0 .4em;
  color:#fff;
  text-shadow:0 2px 28px rgba(0,0,0,.35);
}
.bec-hero-title .bec-underline{
  font-weight:600;
  background:linear-gradient(180deg,transparent 65%,rgba(245,180,0,.75) 65%);
  padding:0 .1em;
}
.bec-hero-sub{
  font-size:clamp(16px,1.7vw,19px);
  font-weight:400;
  max-width:54ch;
  color:#fff;opacity:.88;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}

/* Frosted-glass band so the numbers stay readable over any
   bright/dark area of the skyline photo. */
/* Slim frosted-glass band — one-line labels, compact height. */
.bec-hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin-top:32px;padding:14px 22px;
  background:rgba(9,17,30,.55);
  -webkit-backdrop-filter:blur(8px);
          backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
}
.bec-hero-stats div{
  line-height:1.1;
  display:flex;align-items:baseline;gap:10px;
  white-space:nowrap;
}
.bec-hero-stats b{
  font-family:"Barlow Condensed",sans-serif;
  font-size:30px;font-weight:800;color:#fff;letter-spacing:-.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.bec-hero-stats span{
  font-size:13px;color:#fff;opacity:.9;
  text-shadow:0 1px 6px rgba(0,0,0,.45);
  white-space:nowrap;
}


/* 04 · Hero lead-capture card ------------------------------ */
.bec-hero-card{
  background:#fff;color:var(--bec-ink);
  border-radius:18px;
  padding:28px;
  position:relative;
  border:1px solid rgba(255,255,255,.6);
}
.bec-hero-card-head{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--bec-good, #12815a);font-weight:600;
  margin-bottom:14px;
}
.bec-dot{
  width:10px;height:10px;border-radius:50%;background:#12815a;
  box-shadow:0 0 0 4px rgba(18,129,90,.15);
}
.bec-hero-card .form-control,
.bec-hero-card .form-select{
  border-color:var(--bec-line);
  background:#fbfcfe;
  border-radius:10px;
}
.bec-hero-card .form-control:focus,
.bec-hero-card .form-select:focus{
  border-color:var(--bec-brand);
  box-shadow:0 0 0 4px rgba(15,58,138,.12);
  background:#fff;
}


/* 05 · Trust strip ----------------------------------------- */
.bec-trust{
  background:var(--bec-bg-soft);
  border-top:1px solid var(--bec-line);
  border-bottom:1px solid var(--bec-line);
}
.bec-trust img{
  max-height:54px;width:auto;
  filter:grayscale(.3);opacity:.85;
  transition:filter .2s, opacity .2s;
}
.bec-trust img:hover{filter:none;opacity:1}
.bec-trust-stat{font-weight:600;color:var(--bec-ink-2);font-size:14px}
.bec-trust-stat b{color:var(--bec-brand);font-size:22px;margin-right:4px}


/* 06 · Solutions ------------------------------------------- */
.bec-sol-card{
  display:block;height:100%;
  padding:28px;border-radius:var(--bec-radius);
  background:#fff;border:1px solid var(--bec-line);
  text-decoration:none;color:var(--bec-ink);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.bec-sol-card:hover{
  transform:translateY(-4px);
  border-color:var(--bec-brand);
  box-shadow:0 20px 40px -18px rgba(15,58,138,.28);
}
.bec-sol-icon{
  width:56px;height:56px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#eaf0fd,#d5e1fb);
  color:var(--bec-brand);margin-bottom:18px;
}
.bec-sol-card h3{font-size:22px;margin:0 0 6px;font-family:"Barlow Condensed",sans-serif;letter-spacing:.01em}
.bec-sol-card p{color:var(--bec-muted);margin:0 0 14px;font-size:14.5px}
.bec-sol-arrow{
  font-weight:700;color:var(--bec-brand);font-size:14px;letter-spacing:.02em;
}


/* 07 · Services -------------------------------------------- */
.bec-services{
  background:
    radial-gradient(1200px 300px at 20% 0%,rgba(15,58,138,.08),transparent 60%),
    var(--bec-bg-soft);
}
.bec-svc{
  background:#fff;border:1px solid var(--bec-line);
  border-radius:12px;padding:20px;height:100%;
  transition:transform .18s, box-shadow .18s;
}
.bec-svc:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(15,58,138,.18)}
.bec-svc b{display:block;font-size:16px;margin-bottom:6px;color:var(--bec-ink)}
.bec-svc p{margin:0;font-size:13.5px;color:var(--bec-muted)}


/* 08 · Projects -------------------------------------------- */
.bec-project-card{
  position:relative;display:block;height:320px;
  border-radius:var(--bec-radius);overflow:hidden;
  text-decoration:none;color:#fff;
  background:var(--bg) center/cover no-repeat,#223;
  isolation:isolate;
}
.bec-project-card::before{
  content:"";position:absolute;inset:0;z-index:0;
  /* Almost-clear top, dark only at the bottom behind the title */
  background:linear-gradient(180deg,
              rgba(9,20,40,0) 0%,
              rgba(9,20,40,0) 55%,
              rgba(9,20,40,.55) 80%,
              rgba(9,20,40,.85) 100%);
  transition:background .25s ease;
}
.bec-project-card:hover::before{
  background:linear-gradient(180deg,
              rgba(9,20,40,.05) 0%,
              rgba(9,20,40,.1) 55%,
              rgba(9,20,40,.65) 80%,
              rgba(9,20,40,.9) 100%);
}

.bec-proj-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:var(--bec-accent);color:var(--bec-ink);
  font-size:11px;font-weight:700;letter-spacing:.08em;
  padding:4px 10px;border-radius:6px;text-transform:uppercase;
}
.bec-proj-body{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:22px 24px;
  transform:translateY(0);transition:transform .25s ease;
}
.bec-project-card:hover .bec-proj-body{transform:translateY(-4px)}
.bec-proj-body h3{
  font-size:22px;margin:0 0 4px;color:#fff;
  font-family:"Barlow Condensed",sans-serif;letter-spacing:.01em;
}
.bec-proj-body p{margin:0;font-size:13.5px;opacity:.85}


/* 09 · Coverage -------------------------------------------- */
.bec-coverage{
  background:
    radial-gradient(800px 400px at 80% 20%,rgba(245,180,0,.20),transparent 60%),
    linear-gradient(135deg,var(--bec-brand-dk) 0%,var(--bec-brand) 100%);
  color:#fff;
}
.bec-county-grid{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px 22px;
  font-weight:600;font-size:15px;color:#fff;
}
.bec-county-grid li{
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12);
  position:relative;padding-left:18px;
}
.bec-county-grid li::before{
  content:"";position:absolute;left:0;top:14px;
  width:6px;height:6px;border-radius:50%;background:var(--bec-accent);
}


/* 10 · About ----------------------------------------------- */
.bec-about-img{position:relative;padding-bottom:40px;padding-right:40px}
.bec-about-img img{
  display:block;width:80%;box-shadow:0 30px 60px -30px rgba(15,58,138,.4);
}
.bec-about-img-2{
  position:absolute;right:0;bottom:0;width:55% !important;
  border:6px solid #fff;
}


/* 11 · Final CTA (drop-in from cta-redesign/) ------------- *
 * The full CTA block uses its own namespaced `.bec-cta-*`
 * rules, defined in section 14 below. This keeps the
 * section reusable on any other page / WP install.
 * --------------------------------------------------------- */


/* 12 · Footer ---------------------------------------------- */
.bec-footer{
  background:#081225;
}
.bec-footer h6{
  font-family:"Inter",sans-serif;
  font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;
  margin-bottom:14px;
}
.bec-footer a{color:#b1bdd4;text-decoration:none}
.bec-footer a:hover{color:#fff;text-decoration:underline}
.bec-footer li{padding:4px 0}
.bec-footer .border-secondary{border-color:#1c2b44 !important}


/* 14 · CTA block (shared with /cta-redesign/) -------------- *
 * Fully namespaced with `.bec-cta-*` — safe to paste into a
 * live WP site. Identical to /cta-redesign/cta-section.css.
 * --------------------------------------------------------- */
.bec-cta{
  --bec-cta-ink:      #0d1a2b;
  --bec-cta-ink-2:    #1c2b44;
  --bec-cta-muted:    #5b6b86;
  --bec-cta-line:     #e4e9f1;
  --bec-cta-card:     #ffffff;
  --bec-cta-brand:    #0f3a8a;
  --bec-cta-brand-2:  #1657c8;
  --bec-cta-accent:   #F5B400;
  --bec-cta-accent-2: #D69A00;
  --bec-cta-danger:   #c0281f;
  --bec-cta-radius:   14px;
  --bec-cta-radius-lg:18px;
  --bec-cta-shadow:   0 10px 30px -12px rgba(15,58,138,.25);

  position:relative;
  background:linear-gradient(180deg,#eef3fb 0%,#f7f9fc 100%);
  color:var(--bec-cta-ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
  padding:0 0 72px;
}
.bec-cta *,
.bec-cta *::before,
.bec-cta *::after{box-sizing:border-box}

.bec-cta-container{max-width:1140px;margin:0 auto;padding:0 24px}
.bec-cta-grid{
  display:grid;grid-template-columns:1.15fr 1fr;gap:48px;
  margin-top:56px;align-items:start;
}

/* Urgent band */
.bec-cta-urgent{background:var(--bec-cta-danger);color:#fff}
.bec-cta-urgent-inner{
  display:flex;align-items:center;gap:14px;padding:12px 24px;
  flex-wrap:wrap;font-size:14.5px;
}
.bec-cta-pulse{
  display:inline-block;width:10px;height:10px;border-radius:50%;
  background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.75);
  animation:bec-cta-pulse 1.7s infinite;
}
@keyframes bec-cta-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.bec-cta-urgent-label{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px}
.bec-cta-urgent-sep{opacity:.55}
.bec-cta-urgent-text{opacity:.92;flex:1 1 280px;min-width:0}
.bec-cta-urgent-phone{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:var(--bec-cta-danger);
  padding:8px 14px;border-radius:999px;
  font-weight:700;font-size:14px;text-decoration:none;
  transition:transform .15s ease;
}
.bec-cta-urgent-phone:hover{transform:translateY(-1px);color:var(--bec-cta-danger)}

/* Pitch column */
.bec-cta .bec-cta-eyebrow{
  margin:0 0 14px;
  font-size:12.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--bec-cta-brand);
  display:inline-block;
}
.bec-cta-h{
  font-family:"Inter",sans-serif;
  font-size:clamp(28px,3.2vw,40px);
  line-height:1.12;letter-spacing:-.02em;
  font-weight:600;
  margin:0 0 14px;color:var(--bec-cta-ink);
  max-width:30ch;
}
.bec-cta-sub{
  margin:0 0 28px;
  color:var(--bec-cta-ink-2);font-size:17px;max-width:52ch;
}

.bec-cta-choices{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.bec-cta-card{
  display:grid;grid-template-columns:48px 1fr auto;
  gap:16px;align-items:center;padding:16px 20px;
  background:var(--bec-cta-card);
  border:1px solid var(--bec-cta-line);
  border-radius:var(--bec-cta-radius);
  text-decoration:none;color:var(--bec-cta-ink);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bec-cta-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--bec-cta-shadow);
  border-color:var(--bec-cta-brand);
  color:var(--bec-cta-ink);
}
.bec-cta-card-icon{
  width:44px;height:44px;border-radius:10px;
  display:grid;place-items:center;
  background:#eaf0fd;color:var(--bec-cta-brand);
}
.bec-cta-card-title{display:block;font-weight:700;font-size:16px;color:var(--bec-cta-ink)}
.bec-cta-card-desc{display:block;font-size:13.5px;color:var(--bec-cta-muted);margin-top:2px}
.bec-cta-card-arrow{font-size:20px;color:var(--bec-cta-brand);font-weight:600;transition:transform .18s ease}
.bec-cta-card:hover .bec-cta-card-arrow{transform:translateX(3px)}

.bec-cta-card--primary{
  background:linear-gradient(135deg,var(--bec-cta-brand) 0%,var(--bec-cta-brand-2) 100%);
  border-color:transparent;color:#fff;
}
.bec-cta-card--primary:hover{color:#fff;box-shadow:0 14px 40px -10px rgba(15,58,138,.55)}
.bec-cta-card--primary .bec-cta-card-title,
.bec-cta-card--primary .bec-cta-card-arrow{color:#fff}
.bec-cta-card--primary .bec-cta-card-desc{color:rgba(255,255,255,.82)}
.bec-cta-card--primary .bec-cta-card-icon{background:rgba(255,255,255,.18);color:#fff}
.bec-cta-card--ghost{background:transparent;border-style:dashed}

/* Trust strip inside CTA */
.bec-cta-trust{
  list-style:none;margin:0;padding:20px 22px;
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--bec-cta-line);
  border-radius:var(--bec-cta-radius);
}
.bec-cta-trust li{display:flex;align-items:center}
.bec-cta-trust img{
  max-height:44px;width:auto;
  filter:grayscale(.25);opacity:.9;
  transition:filter .2s ease,opacity .2s ease;
}
.bec-cta-trust img:hover{filter:none;opacity:1}
.bec-cta-trust-stat{
  margin-left:auto;display:flex;align-items:baseline;gap:8px;
  padding-left:22px;border-left:1px solid var(--bec-cta-line);
}
.bec-cta-trust-stat b{font-size:28px;color:var(--bec-cta-brand);letter-spacing:-.02em;line-height:1;font-family:"Inter",sans-serif}
.bec-cta-trust-stat span{font-size:12.5px;color:var(--bec-cta-muted);max-width:14ch}

/* Form */
.bec-cta-form-wrap{
  background:#fff;
  border:1px solid var(--bec-cta-line);
  border-radius:var(--bec-cta-radius-lg);
  padding:32px;
  box-shadow:var(--bec-cta-shadow);
  position:relative;
  overflow:hidden;
}
.bec-cta-form-wrap::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--bec-cta-brand),var(--bec-cta-accent));
}
.bec-cta-form-head h3{
  font-family:"Inter",sans-serif;font-weight:600;
  margin:6px 0 4px;font-size:22px;letter-spacing:-.01em;color:var(--bec-cta-ink);
}
.bec-cta-form-head p{margin:0 0 22px;color:var(--bec-cta-muted);font-size:14px}
.bec-cta-form{display:flex;flex-direction:column;gap:14px}
.bec-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bec-cta-form label{
  display:flex;flex-direction:column;gap:6px;font-size:13px;
  color:var(--bec-cta-ink-2);font-weight:600;
}
.bec-cta-form label em{color:#c0281f;font-style:normal;margin-left:2px}
.bec-cta-form input,
.bec-cta-form select,
.bec-cta-form textarea{
  font:inherit;width:100%;padding:12px 14px;
  border:1px solid var(--bec-cta-line);border-radius:10px;
  background:#fbfcfe;color:var(--bec-cta-ink);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.bec-cta-form input:focus,
.bec-cta-form select:focus,
.bec-cta-form textarea:focus{
  outline:none;border-color:var(--bec-cta-brand);background:#fff;
  box-shadow:0 0 0 4px rgba(15,58,138,.12);
}
.bec-cta-form textarea{resize:vertical;min-height:80px}
.bec-cta-submit{
  font:inherit;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  margin-top:4px;padding:14px 20px;
  background:var(--bec-cta-accent);color:var(--bec-cta-ink);
  border:0;border-radius:10px;
  font-weight:700;letter-spacing:.02em;font-size:15px;
  box-shadow:0 10px 24px -10px rgba(245,180,0,.6);
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.bec-cta-submit:hover{
  background:var(--bec-cta-accent-2);transform:translateY(-1px);
  box-shadow:0 14px 30px -10px rgba(245,180,0,.7);
}
.bec-cta-microcopy{
  margin:10px 0 0;display:flex;align-items:center;gap:6px;
  font-size:12.5px;color:var(--bec-cta-muted);
}

@media (max-width:960px){
  .bec-cta-grid{grid-template-columns:1fr;gap:36px;margin-top:40px}
  .bec-cta-trust-stat{margin-left:0;border-left:0;padding-left:0}
  .bec-cta-h{font-size:clamp(26px,6vw,32px)}
}
@media (max-width:560px){
  .bec-cta{padding-bottom:56px}
  .bec-cta-container{padding:0 18px}
  .bec-cta-form-wrap{padding:22px}
  .bec-cta-row{grid-template-columns:1fr}
  .bec-cta-urgent-inner{font-size:13.5px;gap:10px;justify-content:center;text-align:center;padding-top:18px;padding-bottom:18px}
  .bec-cta-urgent-label{width:100%}
  .bec-cta-urgent-sep{display:none}
  .bec-cta-urgent-phone{order:3;margin-top:4px}
  .bec-cta-urgent-text{flex-basis:100%;order:4;font-size:12.5px;opacity:.85}
  .bec-cta-card{grid-template-columns:40px 1fr auto;padding:14px 16px}
  .bec-cta-card-icon{width:40px;height:40px}
}


/* 13 · Responsive ------------------------------------------ */
@media (max-width:991.98px){
  .bec-hero-stats{grid-template-columns:repeat(2,1fr)}
  .bec-county-grid{grid-template-columns:repeat(2,1fr)}
  .bec-about-img{padding-right:0;padding-bottom:0}
  .bec-about-img img{width:100%}
  .bec-about-img-2{position:static;width:100% !important;margin-top:16px;border-width:0}

  /* Topbar: centered, wraps gracefully on small screens */
  .bec-topbar{padding:10px 0}
  .bec-topbar .container{justify-content:center;text-align:center;gap:4px;font-size:12.5px;flex-direction:column;align-items:center}
  .bec-topbar .d-flex.gap-4{justify-content:center;gap:.75rem !important;flex-wrap:wrap}

  /* Hide redundant nav CTA buttons on mobile — hero has the same CTAs */
  .bec-nav .d-flex.gap-2{display:none !important}

  /* Hero buttons + stats centered */
  .bec-hero .col-lg-7{text-align:center}
  .bec-hero .d-flex.flex-wrap.gap-3{justify-content:center}
  .bec-hero-sub{margin-left:auto;margin-right:auto}
  .bec-hero-stats{text-align:center;justify-items:center}

  /* Footer: center logo column, 2-col links */
  .bec-footer .col-lg-4{text-align:center}
  .bec-footer .row.g-4 > [class*="col-lg-2"]{flex:0 0 50%;max-width:50%}
}
@media (max-width:575.98px){
  .py-6{padding-top:3.25rem;padding-bottom:3.25rem}
  .bec-hero-stats{grid-template-columns:repeat(2,1fr);gap:16px}
  .bec-hero-stats b{font-size:32px}
  .bec-project-card{height:260px}
  .bec-county-grid{grid-template-columns:1fr}
  .bec-hero-card{padding:22px}
}





/*14-05-2026*/
#gform_1 .gform-body select,
#gform_1 .gform-body input[type="text"],
#gform_1 .gform-body input[type="email"],
#gform_1 .gform-body input[type="tel"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
#gform_1 .ginput_container_select,
#gform_2 .ginput_container_select,
#gform_4 .ginput_container_select,
#gform_3 .ginput_container_select,
#gform_8 .ginput_container_select,
#gform_9 .ginput_container_select {
  position: relative;
}
#gform_1 .ginput_container_select::after,
#gform_2 .ginput_container_select::after,
#gform_4 .ginput_container_select::after,
#gform_3 .ginput_container_select::after,
#gform_8 .ginput_container_select::after,
#gform_9 .ginput_container_select::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #686e77;
  pointer-events: none;
}

#gform_1 .gform-body select,
#gform_1 .gform-body input,
#gform_9 .gform-body select,
#gform_9 .gform-body input{
    border-color: var(--bec-line) !important;
    background: #fbfcfe !important;
    border-radius: 10px !important;
    height: 47px !important;
    font-size: 1.25rem !important;
    align-items: center !important;
    padding-left: 15px !important;
}
/*28-05-2026*/

#gform_9 .gform-body input,
#gform_9 .gform-body select{
  font-size: 16px !important;
}
#gform_9 #input_9_23{
  padding-left: 0px !important;
}
#gform_9 .gform-body input.gfield-choice-input{
  height: auto !important;
  border-radius: 0px !important;
  padding-left: 0px !important;
}
.gsection_title{
    float: none !important;
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    color: var(--bec-brand) !important;
    padding: 0 0 12px !important;
    margin: 0 0 16px !important;
    border-bottom: 1px solid var(--bec-line) !important;
    width: 100% !important;
}




#gform_1 .gform-body select:focus,
#gform_1 .gform-body input:focus,
#gform_2 .gform-body select:focus,
#gform_2 .gform-body input:focus,
#gform_2 .gform-body textarea:focus,
#gform_3 .gform-body select:focus,
#gform_3 .gform-body input:focus,
#gform_3 .gform-body textarea:focus,
#gform_6 .gform-body select:focus,
#gform_6 .gform-body input:focus,
#gform_6 .gform-body textarea:focus,
#gform_8 .gform-body input:focus,
#gform_8 .gform-body select:focus,
#gform_8 .gform-body textarea:focus,
#gform_9 .gform-body input:focus,
#gform_9 .gform-body select:focus,
#gform_9 .gform-body textarea:focus{
    border-color: var(--bec-brand) !important;
    box-shadow: 0 0 0 4px rgba(15, 58, 138, .12) !important;
    background: #fff !important;
    outline: none !important;
}

#gform_1 #gform_submit_button_1,
#gform_9 #gform_submit_button_9{
    background: var(--bec-accent) !important;
    color: var(--bec-ink) !important;
    border: 0 !important;
    box-shadow: 0 10px 24px -10px rgba(245, 180, 0, .55) !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
    font-size: 1rem !important;
    height: 55px !important;
}
#gform_1 #gform_submit_button_1:hover,
#gform_9 #gform_submit_button_9:hover{
    background: var(--bec-accent-2) !important;
    color: var(--bec-ink) !important;
    box-shadow: 0 14px 32px -10px rgba(245, 180, 0, .65) !important;
    outline: none !important;
}
#gform_1 label{
  display: none !important;
}
#gform_1 .gform_fields,
#gform_9 .gform_fields{
  row-gap: 15px !important;
}
#gform_1 .gform-footer,
#gform_9 .gform-footer{
  margin-top: 20px !important;
}
.home .bec-hero-card h3{
  display: none !important;
}
#gform_2 .gform-body select,
#gform_2 .gform-body input,
#gform_3 .gform-body select,
#gform_3 .gform-body input,
#gform_6 .gform-body input,
#gform_8 .gform-body input,
#gform_8 .gform-body select{
    border-color: var(--bec-line) !important;
    background: #fbfcfe !important;
    border-radius: 10px !important;
    height: 43px !important;
    font-size: 13px !important;
    align-items: center !important;
    padding-left: 15px !important;
}
#gform_2 .gform-body textarea,
#gform_3 .gform-body textarea,
#gform_6 .gform-body textarea,
#gform_8 .gform-body textarea{
    border-color: var(--bec-line) !important;
    background: #fbfcfe !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    align-items: center !important;
    padding-left: 15px !important;
}
#gform_2 .gform_fields,
#gform_3 .gform_fields,
#gform_6 .gform_fields,
#gform_8 .gform_fields{
    row-gap: 14px !important;
}
#gform_2 #gform_submit_button_2,
#gform_3 #gform_submit_button_3,
#gform_6 #gform_submit_button_6,
#gform_8 #gform_submit_button_8{
    background: var(--bec-accent) !important;
    color: var(--bec-ink) !important;
    border: 0 !important;
    box-shadow: 0 10px 24px -10px rgba(245, 180, 0, .55) !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
    font-size: 1rem !important;
    height: 55px !important;
    width: 100% !important;
}
#gform_2 #gform_submit_button_2:hover,
#gform_3 #gform_submit_button_3:hover,
#gform_6 #gform_submit_button_6:hover,
#gform_8 #gform_submit_button_8:hover{
    background: var(--bec-accent-2) !important;
    color: var(--bec-ink) !important;
    box-shadow: 0 14px 32px -10px rgba(245, 180, 0, .65) !important;
    outline: none !important;
}
#gform_2 .gform-footer,
#gform_8 .gform-footer{
  margin-top: 20px !important;
}
#gform_8 .gform-footer{
  margin-bottom: 20px !important;
}


/*15-05-2026*/

#gform_4 .gform_fields input,
#gform_4 .gform_fields select,
#gform_5 .gform_fields input,
#gform_5 .gform_fields select,
#gform_7 .gform_fields input,
#gform_7 .gform_fields select{
    border-color: var(--bec-line) !important;
    background: #fbfcfe !important;
    border-radius: 10px !important;
    font-size: 14.5px !important;
}
#gform_4 .gform_fields input:focus,
#gform_4 .gform_fields select:focus,
#gform_5 .gform_fields input:focus,
#gform_5 .gform_fields select:focus,
#gform_7 .gform_fields input:focus,
#gform_7 .gform_fields select:focus{
    color: var(--bs-body-color) !important;
    background-color: var(--bs-body-bg) !important;
    border-color: #86b7fe !important;
    outline: 0 !important;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25) !important;
}
#gform_4 .gform_fields,
#gform_5 .gform_fields,
#gform_7 .gform_fields{
  row-gap: 10px !important;
}
#gform_4 #gform_submit_button_4,
#gform_5 #gform_submit_button_5,
#gform_7 #gform_submit_button_7{
    background: var(--bec-accent) !important;
    color: var(--bec-ink) !important;
    border: 0 !important;
    box-shadow: 0 10px 24px -10px rgba(245, 180, 0, .55) !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
    height: 48px !important;
}
#gform_4 #gform_submit_button_4:hover,
#gform_5 #gform_submit_button_5:hover,
#gform_7 #gform_submit_button_7:hover{
    background: var(--bec-accent-2) !important;
    color: var(--bec-ink) !important;
    box-shadow: 0 14px 32px -10px rgba(245, 180, 0, .65) !important;
    outline: none !important;
}
#gform_4 .gform-footer,
#gform_5 .gform-footer,
#gform_7 .gform-footer{
  margin-top: 10px !important;
}

.page-template-solution-detail-page-template .why-img{
  width: 100% !important;
}
.single-post #ez-toc-container{
    padding: 0px !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
}
.single-post .ez-toc-counter nav ul li a::before{
  display: none !important;
}
.single-post .ez-toc-counter nav ul li{
  padding: 6px 0px !important;
}
.single-post .ez-toc-title-container{
  display: none !important;
}
.single-post .ez-toc-counter nav ul li a:hover{
  text-decoration: none !important;
  color: var(--bec-brand) !important;
}


/*18-05-2026*/

html {
  overflow-x: clip;
}
.single-post #ez-toc-container a:visited{
    color: var(--bec-brand) !important;
    font-weight: 700 !important;
}
.single-post article #ez-toc-container{
  display: none !important;
}
.single-post .bec-prose a{
  text-decoration: none !important;
}
.single-post .bec-prose a:hover {
    color: #ffffff;
}
.page-template-page-projects .bec-chipactive,
.page-template-page-blog .bec-chip.active,
.archive .bec-chip.active{
    background: #0f3a8a !important;
    color: #fff !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.single-project .bec-prose h2:first-child{
    margin-top: 0px !important;
}

.page-template-page-about .bec-prose h2:first-child{
  margin-top: 0px !important;
}
.page-template-page-about .bec-checklist{
  padding-left: 0px !important;
}

.navbar .nav-link:focus-visible{
  box-shadow: none !important;
}


/*19-05-2026*/

.navbar-expand-lg .navbar-nav .dropdown-menu{
  top: 40px !important;
}
.navbar-expand-lg .dropdown-item.active, .dropdown-item:active {
    color: #000000;
    text-decoration: none;
    background-color: #96b8ff;
}

/*27-05-2026*/

.page-template-page-awards .bec-awards-year,
.page-template-page-awards .bec-est-awards li{
  align-items: center !important;
}
.home .bec-sol-icon img{
  width: 60% !important;
}
.page-template-page-services .bec-svc-region-head img{
  width: 30px !important;
}
.page-template-page-services .bec-list-card-icon img,
.page-template-page-solutions .bec-list-card-icon img,
.page-template-services-details-page-template .bec-list-card-icon img{
  width: 40% !important;
}
.page-template-page-services .bec-svc-qual-icon img,
.page-template-services-details-page-template .bec-svc-qual-icon img{
  width: 60% !important;
}

/*28-05-2026*/





















/*Responsive 14-05-2026*/
/*18-05-2026*/
@media (max-width: 1130px){
  .bec-cta-trust-stat{
    margin-left: unset !important;
  }
  .bec-cta-trust-stat span{
    max-width: 100% !important;
  }
}
@media (max-width: 991px){
  .home .col-lg-4.text-lg-end{
      margin-top: 15px !important;
  }
  .home .row.align-items-end.mb-5{
      margin-bottom: 2rem !important;
  }

/* 15-05-2026 */

  .page-template-page-solutions .bec-list-card-icon{
    width: 60px !important;
  }
  .page-template-page-solutions .bec-list-card{
    grid-template-columns: 60px 1fr !important;
  }
  .page-template-solution-detail-page-template .bec-prose h2{
    margin-top: 0px !important;
  }
  .page-template-solution-detail-page-template .all-p-h{
    gap: 20px !important;
  }

/* 18-05-2026 */

  .single-project .r-p-row,
  .page-template-page-location .l-p-row{
    gap: 20px !important;
  }
  .page-template-page-location .top-s-img{
    margin-top: 30px !important;
  }
  .page-template-page-location .map-s-para-c{
    margin-top: 30px !important;
  }

/* 19-05-2026 */
.bec-nav .nav-link.dropdown-toggle::after {
    display: none !important;
  }
   .bec-nav .nav-item.dropdown > span[role="button"] {
    top: 0 !important;
    height: 52px !important;  /* same as your nav-link tap height */
    translate: none !important;
  }

  #menu-header-menu{
    margin-right: 0px !important;
  }

/* 25-05-2026 */

.page-template-page-services .bec-list-grid{
    grid-template-columns: repeat(1, 1fr) !important;
}

/*27-05-2026*/

.page-template-page-awards .bec-section-soft .col-lg-7,
.page-template-page-awards .bec-section-dark .col-lg-7{
  margin-top: 20px !important;
}
}

/*15-05-2026*/

@media (max-width: 767px){
      .page-template-page-solutions .bec-list-grid {
        grid-template-columns: 1fr;
    }
    .home .py-6,
    .page-template-page-solutions .bec-section,
    .page-template-solution-detail-page-template .bec-section,
    .page-template-page-contact .bec-section,
    .page-template-page-blog .bec-section,
    .single-post .bec-section,
    .page-template-page-projects .bec-section,
    .single-project .bec-sectiont,
    .page-template-page-about .bec-section,
    .page-template-page-location .bec-section,
    .bec-section{
      padding-top: 40px !important;
      padding-bottom: 40px !important;
    }
    .page-template-page-contact .bec-contact-grid{
      gap: 0px !important;
    }
    .page-template-page-contact .contact_details-sec{
      margin-bottom: 1rem !important;
    }
    .bec-pagination{
      margin-top: 28px !important;
    }

/*  18-05-2026  */

    .single-post .bec-postmeta{
      gap: 8px !important;
    }
    .single-post .bec-prose h2,
    .single-project .bec-prose h2,
    .page-template-page-about .bec-prose h2{
      margin-top: 1em !important;
    }
    .bec-topbar .topbar-row{
      gap: 8px !important;
    }
    .single-project .img-fluid{
      margin-bottom: 2rem !important;
    }
    .single-project .bec-facts{
      margin-bottom: 0px !important;
    }
    .page-template-page-location .bec-section-head,
    .bec-section-head{
      margin-bottom: 20px !important;
    }
    .page-template-page-location .l-p-row {
        margin-bottom: 30px !important;
    }

/*  25-05-2026  */

.page-template-page-services .bec-svc-regions {
        grid-template-columns: repeat(1, 1fr) !important;
    }

/*  27-05-2026  */

.page-template-page-services .bec-section-dark .col-lg-7{
        margin-top: 15px !important;
  }
  .page-template-page-services #request .col-lg-7{
        margin-top: 20px !important;
  }
  .bec-cta-choices{
        margin-bottom: 20px !important;
  }
  .bec-cta-grid{
    gap: 20px !important;
  }
  


  
}

/*19-05-2026*/
@media (max-width: 575px){
  .g-5{
    --bs-gutter-x: 0rem !important;
  }
}

/*28-05-2026*/

@media (max-width: 560px) {
    .page-template-page-solutions .bec-list-card {
        grid-template-columns: 1fr !important;
    }
}

/*18-05-2026*/
@media (max-width: 480px) {
  .single-project .bec-gallery {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    --gallery-h: 200px;
  }

  .single-project .bec-gallery img.g-lg,
  .single-project .bec-gallery img.g-sm {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    height: var(--gallery-h) !important;
    object-fit: cover !important;
    display: block !important;
  }
}

@media (max-width: 425px){
  .bec-pagination{
    gap: 3px !important;
  }
  .single-project .bec-facts{
    grid-template-columns: repeat(1, 1fr) !important;
  }

/* 28-05-2026 */
.page-template-services-details-page-template .d-flex.flex-wrap.gap-3.mt-4 a{
  font-size: 13px !important;
}
}
























