/* =====================================================================
   Big Easy Contractors — fresh theme styles
   Palette: navy/blue + yellow #ffeb01
   ===================================================================== */

:root {
  --bec-navy:#08234f;
  --bec-blue:#103e86;
  --bec-blue-light:#2388da;
  --bec-yellow:#ffeb01;
  --bec-ink:#0e2a52;
  --bec-muted:#5d6e88;
  --bec-line:#e7ecf3;
  --bec-shell:1600px;
  /* shared dark background — same as the banner/hero, used in all dark sections */
  --bec-dark-bg:linear-gradient(118deg,#08234f 0%,#0e3c84 52%,#1551a0 100%);
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  font-family:'Poppins',sans-serif;
  color:var(--bec-ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}

img {
  max-width:100%;
  height:auto;
}

a {
  color:inherit;
  text-decoration:none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.bec-hero__title,
.bec-trust__title,
.bec-process__title,
.bec-serv__title {
  font-family:'Poppins',sans-serif;
}

.bec-shell {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

/* ---------- buttons ---------- */

.bec-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:17px;
  line-height:1;
  padding:15px 32px;
  border-radius:50px;
  border:2px solid transparent;
  transition:.25s ease;
  cursor:pointer;
  white-space:nowrap;
}

.bec-btn--primary {
  background:var(--bec-yellow);
  color:var(--bec-navy);
  border-color:var(--bec-yellow);
}

.bec-btn--primary:hover {
  background:var(--bec-navy);
  color:#fff;
  border-color:var(--bec-navy);
}

.bec-btn--ghost {
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.55);
}

.bec-btn--ghost:hover {
  background:#fff;
  color:var(--bec-navy);
  border-color:#fff;
}

/* =====================================================================
   HEADER — clean white single row
   ===================================================================== */

.site-header {
  background:#fff;
  box-shadow:0 4px 18px rgba(8,35,79,.06);
  position:sticky;
  top:0;
  z-index:60;
  transition:box-shadow .25s ease;
}

.site-header.is-scrolled {
  box-shadow:0 8px 26px rgba(8,35,79,.12);
}

.site-header__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:14px 40px;
  display:flex;
  align-items:center;
  gap:30px;
  transition:padding .25s ease;
}

.site-header.is-scrolled .site-header__inner {
  padding-top:9px;
  padding-bottom:9px;
}

.site-header.is-scrolled .site-header__logo img {
  max-width:155px;
  transition:max-width .25s ease;
}

.site-header__logo {
  flex:0 0 auto;
  line-height:0;
}

.site-header__logo img {
  max-width:185px;
}

.site-header__brand {
  font-weight:700;
  font-size:22px;
  color:var(--bec-navy);
}

.site-nav {
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}

.site-nav__menu {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:4px;
}

.site-nav__menu li {
  position:relative;
}

.site-nav__menu a {
  display:block;
  padding:10px 14px;
  color:var(--bec-ink);
  font-weight:500;
  font-size:17px;
  white-space:nowrap;
  transition:color .2s ease;
}

.site-nav__menu>li.current-menu-item>a,
.site-nav__menu>li:hover>a {
  color:var(--bec-blue-light);
}

.site-nav__menu .menu-item-has-children>a::after {
  content:"";
  display:inline-block;
  margin-left:7px;
  vertical-align:middle;
  border:5px solid transparent;
  border-top-color:currentColor;
  border-bottom:0;
}

/* dropdowns */

.site-nav__menu ul.sub-menu {
  list-style:none;
  margin:0;
  padding:8px 0;
  position:absolute;
  top:100%;
  left:0;
  min-width:230px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 18px 40px rgba(8,35,79,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.2s ease;
  z-index:20;
}

.site-nav__menu li:hover>ul.sub-menu {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.site-nav__menu ul.sub-menu a {
  padding:9px 18px;
  font-size:15px;
  white-space:nowrap;
}

.site-nav__menu ul.sub-menu a:hover {
  color:var(--bec-blue-light);
  background:#f5f8fc;
}

.site-nav__menu ul.sub-menu ul.sub-menu {
  top:0;
  left:100%;
}

/* ===================== SERVICES MEGA MENU (full screen) ===================== */

.site-nav__menu li.mega-menu2 {
  position:static;
}

.site-nav__menu li.mega-menu2 > ul.sub-menu {
  left:0;
  right:0;
  width:min(1160px,94vw);
  margin:0 auto;
  top:100%;
  z-index:45;
  border-radius:0 0 14px 14px;
  border-top:3px solid var(--bec-yellow);
  box-shadow:0 28px 50px rgba(8,35,79,.15);
  padding:24px 28px;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  column-gap:24px;
  row-gap:14px;
  /* never overflow the viewport — scroll internally if the panel is taller than the screen */
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}

.site-header.is-scrolled .site-nav__menu li.mega-menu2 > ul.sub-menu {
  max-height:calc(100vh - 72px);
}

/* group columns */

.site-nav__menu li.mega-menu2 > ul.sub-menu > li {
  position:static;
  flex:1 1 148px;
  min-width:136px;
  margin:0;
}

.site-nav__menu li.mega-menu2 > ul.sub-menu > li.commercial-mega-menu,
.site-nav__menu li.mega-menu2 > ul.sub-menu > li.residential-mega-menu {
  flex:1 1 296px;
  min-width:280px;
}

/* group heading */

.site-nav__menu li.mega-menu2 > ul.sub-menu > li > a {
  padding:0 0 7px;
  margin-bottom:8px;
  font-size:14px;
  font-weight:700;
  color:var(--bec-navy);
  border-bottom:2px solid #eef1f6;
  white-space:normal;
}

.site-nav__menu li.mega-menu2 > ul.sub-menu > li > a::after {
  display:none;
}

.site-nav__menu li.mega-menu2 > ul.sub-menu > li > a:hover {
  background:none;
  color:var(--bec-blue-light);
}

/* service link lists — follow the panel's visibility (no invisible layer over banner) */

.site-nav__menu li.mega-menu2 ul.sub-menu ul.sub-menu {
  position:static;
  opacity:1;
  visibility:inherit;
  transform:none;
  transition:none;
  display:block;
  background:none;
  box-shadow:none;
  border-radius:0;
  padding:0;
  min-width:0;
}

.site-nav__menu li.mega-menu2 > ul.sub-menu > li.commercial-mega-menu > ul.sub-menu,
.site-nav__menu li.mega-menu2 > ul.sub-menu > li.residential-mega-menu > ul.sub-menu {
  column-count:2;
  column-gap:18px;
}

.site-nav__menu li.mega-menu2 ul.sub-menu ul.sub-menu li {
  break-inside:avoid;
}

.site-nav__menu li.mega-menu2 ul.sub-menu ul.sub-menu a {
  padding:3.5px 0;
  font-size:13px;
  font-weight:400;
  color:var(--bec-muted);
  white-space:normal;
  line-height:1.35;
  transition:color .2s ease;
}

.site-nav__menu li.mega-menu2 ul.sub-menu ul.sub-menu a:hover {
  color:var(--bec-blue-light);
  background:none;
}

.site-header__actions {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:26px;
}

.site-header__phone {
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}

.site-header__phone-ico {
  color:var(--bec-blue-light);
  font-size:44px;
  line-height:1;
}

.site-header__phone-lbl {
  display:block;
  color:var(--bec-blue-light);
  font-size:11px;
  font-weight:600;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.site-header__phone-num {
  display:block;
  color:var(--bec-navy);
  font-size:20px;
  font-weight:700;
  line-height:1.1;
}

/* =====================================================================
   HERO
   ===================================================================== */

.bec-hero {
  position:relative;
  overflow:hidden;
  background:linear-gradient(118deg,#08234f 0%,#0e3c84 52%,#1551a0 100%);
  padding:72px 0 330px;
}

.bec-hero__inner {
  position:relative;
  z-index:2;
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 48px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:64px;
  align-items:center;
}

.bec-hero__text {
  max-width:680px;
}

.bec-hero__trust {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
}

.bec-hero__stars {
  font-size:20px;
  letter-spacing:2px;
  color:var(--bec-yellow);
  line-height:1;
}

.bec-hero__stars .off {
  color:rgba(255,255,255,.30);
}

.bec-hero__rated {
  color:#cfe0fb;
  font-size:15px;
  font-weight:500;
}

.bec-hero__title {
  color:#fff;
  font-weight:700;
  font-size:60px;
  line-height:1.06;
  letter-spacing:-1px;
  margin:0 0 22px;
}

.bec-hero__title strong,
.bec-hero__title b {
  color:var(--bec-yellow);
  font-weight:700;
}

.bec-hero__sub {
  color:#d9e4f8;
  font-size:20px;
  line-height:1.6;
  margin:0 0 36px;
  max-width:560px;
}

.bec-hero__cta {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.bec-hero__cta .bec-btn {
  padding:17px 36px;
}

.bec-hero__media {
  position:relative;
}

.bec-hero__figure {
  position:relative;
  z-index:2;
  margin:0;
}

.bec-hero__figure img {
  width:100%;
  height:480px;
  object-fit:cover;
  display:block;
  border-radius:22px;
  box-shadow:0 34px 70px rgba(2,12,32,.55);
}

.bec-hero__blob {
  position:absolute;
  z-index:1;
  right:-70px;
  bottom:-90px;
  width:520px;
  height:520px;
  background:var(--bec-yellow);
  border-radius:46% 54% 56% 44% / 52% 46% 54% 48%;
}

/* =====================================================================
   FEATURE ROW (numbered)
   ===================================================================== */

.bec-feat-section {
  background:#f4f8fc;
}

.bec-feat {
  display:flex;
  flex-wrap:wrap;
  position:relative;
  z-index:5;
  margin:-250px 0 64px;
  background:#fff;
  border:1px solid var(--bec-line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(8,35,79,.10);
}

.bec-feat__col {
  flex:1 1 0;
  min-width:230px;
  padding:46px 42px 44px;
  border-right:1px solid var(--bec-line);
  background:#fff;
  transition:background .25s ease;
}

.bec-feat__col:last-child {
  border-right:none;
}

.bec-feat__col:nth-child(even) {
  background:#f6f8fb;
}

.bec-feat__col:hover {
  background:#eef3fa;
}

.bec-feat__top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:30px;
}

.bec-feat__icon img {
  width:62px;
  height:62px;
  object-fit:contain;
  display:block;
}

.bec-feat__num {
  font-weight:600;
  font-size:17px;
  color:#aeb6c4;
  letter-spacing:1px;
  line-height:1;
}

.bec-feat__title {
  font-weight:400;
  font-size:25px;
  line-height:1.25;
  color:var(--bec-ink);
  margin:0 0 14px;
}

.bec-feat__title strong {
  font-weight:700;
}

.bec-feat__text {
  color:var(--bec-muted);
  font-size:16px;
  line-height:1.65;
  margin:0;
  min-height:52px;
}

/* =====================================================================
   FOOTER
   ===================================================================== */

.bec-footer {
  background:var(--bec-dark-bg);
  color:#c2d2ec;
}

.bec-footer__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-footer__main {
  padding:70px 0 56px;
}

.bec-footer__main .bec-footer__inner {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:40px;
}

.bec-footer__logo {
  display:inline-block;
  line-height:0;
  margin-bottom:22px;
}

.bec-footer__logo img {
  max-width:200px;
}

.bec-footer__desc {
  color:#aebfdc;
  font-size:15px;
  line-height:1.7;
  margin:0 0 20px;
  max-width:380px;
}

.bec-footer__lic {
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 22px;
}

.bec-footer__lic span {
  color:#fff;
  font-weight:700;
  font-size:15px;
}

.bec-footer__lic span:first-child {
  color:var(--bec-yellow);
}

.bec-footer__social {
  display:flex;
  gap:12px;
}

.bec-footer__soc {
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.25s ease;
}

.bec-footer__soc:hover {
  background:var(--bec-yellow);
}

.bec-footer__soc svg {
  width:18px;
  height:18px;
  fill:#fff;
  transition:fill .2s ease;
}

.bec-footer__soc:hover svg {
  fill:var(--bec-navy);
}

.bec-footer__h {
  color:#fff;
  font-size:18px;
  font-weight:700;
  margin:6px 0 22px;
}

.bec-footer__menu ul,
.bec-footer__bottom-menu ul {
  list-style:none;
  margin:0;
  padding:0;
}

.bec-footer__menu li {
  margin-bottom:11px;
}

.bec-footer__menu a {
  color:#aebfdc;
  font-size:15px;
  transition:color .2s ease,padding .2s ease;
}

.bec-footer__menu a:hover {
  color:var(--bec-yellow);
  padding-left:5px;
}

.bec-footer__contact .bec-footer__phone {
  display:block;
  margin-bottom:18px;
}

.bec-footer__phone-lbl {
  display:block;
  color:#aebfdc;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.5px;
}

.bec-footer__phone-num {
  display:block;
  color:#fff;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
}

.bec-footer__contact .bec-footer__phone:hover .bec-footer__phone-num {
  color:var(--bec-yellow);
}

.bec-footer__addr {
  color:#aebfdc;
  font-size:15px;
  line-height:1.7;
  margin:0 0 22px;
}

.bec-footer__cta {
  padding:13px 28px;
  font-size:16px;
}

.bec-footer__bar {
  border-top:1px solid rgba(255,255,255,.12);
}

.bec-footer__bar-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding-top:22px;
  padding-bottom:22px;
}

.bec-footer__copy {
  color:#9fb4d6;
  font-size:14px;
}

.bec-footer__copy a {
  color:var(--bec-yellow);
}

.bec-footer__bottom-menu ul {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
}

.bec-footer__bottom-menu a {
  color:#9fb4d6;
  font-size:14px;
  transition:color .2s ease;
}

.bec-footer__bottom-menu a:hover {
  color:var(--bec-yellow);
}

@media (max-width:1024px) {
  .bec-footer__main .bec-footer__inner {
    grid-template-columns:1fr 1fr;
    gap:36px;
  }
}

@media (max-width:560px) {
  .bec-footer__main {
    padding:50px 0 40px;
  }
  .bec-footer__main .bec-footer__inner {
    grid-template-columns:1fr;
    gap:32px;
  }
  .bec-footer__bar-inner {
    flex-direction:column;
    text-align:center;
  }
}

/* generic article (inner pages) */

.site-main {
  padding:60px 0;
}

.bec-article__title {
  font-size:40px;
  color:var(--bec-navy);
  margin:0 0 24px;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (max-width:1100px) {
  .bec-hero__title {
    font-size:48px;
  }
  .bec-hero__inner {
    gap:48px;
  }
}

/* ===== mobile (<=1200px): hide desktop nav, show phone block + burger ===== */

@media (max-width:1200px) {
  .site-header__inner {
    flex-wrap:nowrap;
    gap:0 12px;
    padding-left:18px;
    padding-right:18px;
  }
  .site-header__logo {
    order:1;
  }
  .site-header__logo img {
    max-width:150px;
  }
  .site-nav {
    display:none;
  }
  /* keep the desktop phone block (icon + label + number), drop the CTA button */
  .site-header__actions {
    display:flex;
    order:2;
    margin-left:auto;
    gap:0;
  }
  .site-header__cta {
    display:none;
  }
  .site-header__phone-ico {
    font-size:34px;
  }
  .mnav-burger {
    display:inline-flex;
    order:3;
    margin-left:8px;
  }
}

@media (max-width:700px) {
  .site-header__inner {
    gap:0 8px;
  }
  .site-header__phone-lbl {
    display:none;
  }
  .site-header__phone {
    gap:8px;
  }
  .site-header__phone-ico {
    font-size:28px;
  }
  .site-header__phone-num {
    font-size:18px;
  }
  .site-header__logo img {
    max-width:120px;
  }
}

@media (max-width:480px) {
  .site-header__inner {
    padding-left:12px;
    padding-right:12px;
    gap:0 6px;
  }
  .site-header__logo img {
    max-width:100px;
  }
  .site-header__phone {
    gap:6px;
  }
  .site-header__phone-ico {
    font-size:24px;
  }
  .site-header__phone-num {
    font-size:15px;
    letter-spacing:0;
  }
  .mnav-burger {
    width:36px;
    margin-left:4px;
  }
  .mnav-burger span {
    width:22px;
  }
}

@media (max-width:360px) {
  .site-header__logo img {
    max-width:86px;
  }
  .site-header__phone-ico {
    font-size:22px;
  }
  .site-header__phone-num {
    font-size:14px;
  }
  .mnav-burger {
    width:32px;
  }
  .mnav-burger span {
    width:20px;
  }
}

/* =====================================================================
   MOBILE BURGER MENU (mnav) — fresh, self-contained component, mobile only
   ===================================================================== */

.mnav-burger {
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  background:none;
  border:0;
  cursor:pointer;
  padding:0;
}

.mnav-burger span {
  display:block;
  width:26px;
  height:3px;
  border-radius:3px;
  background:var(--bec-navy);
  transition:.25s ease;
}

/* desktop: hide the mobile-only controls */

@media (min-width:1201px) {
  .mnav-burger,
  .mnav,
  .mnav-backdrop {
    display:none;
  }
}

@media (max-width:1200px) {
  body.mnav-open {
    overflow:hidden;
  }
  .mnav-backdrop {
    display:block;
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(6,14,28,.55);
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease;
  }
  .mnav-backdrop.is-active {
    opacity:1;
    visibility:visible;
  }
  .mnav {
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    z-index:1001;
    width:min(340px,88vw);
    background:#0c1a30;
    color:#fff;
    transform:translateX(100%);
    transition:transform .3s ease;
    box-shadow:-14px 0 44px rgba(0,0,0,.4);
  }
  .mnav.is-open {
    transform:translateX(0);
  }
  .mnav__bar {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 20px;
    background:#0a1526;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .mnav__logo {
    line-height:0;
  }
  .mnav__logo img {
    max-width:150px;
  }
  .mnav__close {
    background:none;
    border:0;
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    padding:0 6px;
  }
  .mnav__body {
    flex:1 1 auto;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .mnav__list,
  .mnav__sub {
    list-style:none;
    margin:0;
    padding:0;
  }
  .mnav__item {
    position:relative;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .mnav__link {
    display:block;
    color:#e8eefa;
    font-size:15px;
    font-weight:500;
    letter-spacing:.3px;
    padding:14px 56px 14px 20px;
    text-transform:uppercase;
  }
  .mnav__item.is-current > .mnav__link {
    color:var(--bec-yellow);
  }
  /* +/- toggle */
  .mnav__toggle {
    position:absolute;
    top:0;
    right:0;
    width:52px;
    height:50px;
    background:none;
    border:0;
    cursor:pointer;
  }
  .mnav__toggle::before,
  .mnav__toggle::after {
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    background:#9fb2cf;
    border-radius:2px;
    transition:.25s ease;
  }
  .mnav__toggle::before {
    width:13px;
    height:2px;
    transform:translate(-50%,-50%);
  }
  .mnav__toggle::after {
    width:2px;
    height:13px;
    transform:translate(-50%,-50%);
  }
  .mnav__item.is-open > .mnav__toggle::after {
    transform:translate(-50%,-50%) rotate(90deg);
    opacity:0;
  }
  /* nested levels */
  .mnav__sub {
    display:none;
    background:rgba(255,255,255,.05);
  }
  .mnav__item.is-open > .mnav__sub {
    display:block;
  }
  .mnav__sub .mnav__link {
    font-size:13.5px;
    text-transform:none;
    padding-left:34px;
    color:#c3d0e4;
    font-weight:400;
  }
  .mnav__sub .mnav__sub {
    background:rgba(0,0,0,.2);
  }
  .mnav__sub .mnav__sub .mnav__link {
    padding-left:48px;
    font-size:13px;
    color:#aebccf;
  }
  .mnav__sub .mnav__toggle {
    height:46px;
  }
  .mnav__sub .mnav__toggle::before,
  .mnav__sub .mnav__toggle::after {
    background:#8aa0c0;
  }
  /* footer CTA */
  .mnav__cta {
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:20px;
  }
  .mnav__phone {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-size:18px;
    font-weight:700;
  }
  .mnav__phone span {
    color:var(--bec-yellow);
    font-size:21px;
  }
  .mnav__btn {
    display:block;
    text-align:center;
    background:var(--bec-yellow);
    color:var(--bec-navy);
    font-family:'Poppins',sans-serif;
    font-weight:600;
    font-size:16px;
    padding:13px;
    border-radius:40px;
  }
}

/* compact desktop nav (1201–1440) so everything fits one clean row */

@media (min-width:1201px) and (max-width:1440px) {
  .site-header__inner {
    padding-left:24px;
    padding-right:24px;
    gap:14px;
  }
  .site-header__logo img {
    max-width:160px;
  }
  .site-nav__menu {
    gap:0;
  }
  .site-nav__menu > li > a {
    padding:8px 9px;
    font-size:16px;
  }
  .site-header__actions {
    gap:16px;
  }
  .site-header__phone-ico {
    font-size:34px;
  }
  .site-header__phone-lbl {
    font-size:10px;
  }
  .site-header__phone-num {
    font-size:18px;
  }
  .site-header__cta {
    padding:11px 22px;
    font-size:16px;
  }
}

@media (max-width:900px) {
  .bec-hero__inner {
    grid-template-columns:1fr;
    gap:40px;
    padding:0 24px;
  }
  .bec-hero__title {
    font-size:40px;
  }
  .bec-hero__figure img {
    height:420px;
  }
  .bec-hero__blob {
    width:360px;
    height:360px;
    right:-30px;
    bottom:-50px;
  }
  .bec-feat {
    margin:-30px 0 50px;
  }
  .bec-feat__col {
    flex:1 1 50%;
    min-width:50%;
  }
  .bec-feat__col:nth-child(2) {
    border-right:none;
  }
}

@media (max-width:640px) {
  .bec-shell,
  .site-header__inner,
  .bec-hero__inner {
    padding-left:18px;
    padding-right:18px;
  }
  .site-header__phone-lbl {
    display:none;
  }
  .bec-hero {
    padding:44px 0 56px;
  }
  .bec-hero__title {
    font-size:32px;
  }
  .bec-hero__sub {
    font-size:17px;
  }
  .bec-hero__figure img {
    height:300px;
  }
  .bec-feat {
    margin:24px 0 40px;
  }
  .bec-feat__col {
    flex:1 1 100%;
    min-width:100%;
    border-right:none;
    border-bottom:1px solid var(--bec-line);
  }
  .bec-feat__col:last-child {
    border-bottom:none;
  }
  .bec-feat__col:nth-child(even) {
    background:#fff;
  }
}

/* ===================== TRUST / SEALS BAND ===================== */

.bec-trust {
  background:linear-gradient(180deg,#eaf2fb 0%,#f5f9fd 55%,#ffffff 100%);
  padding:62px 0;
}

.bec-trust__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:.84fr 1.16fr;
  gap:60px;
  align-items:center;
}

/* Unified eyebrow pill (light-blue pill + navy dot + uppercase) — site-wide */

.bec-trust__eyebrow,
.bec-process__eyebrow,
.bec-serv__eyebrow,
.bec-gallery__eyebrow,
.bec-tst__eyebrow,
.bec-blog__eyebrow,
.bec-ig__eyebrow,
.bec-why__eyebrow,
.bec-apg__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:#e2ecfa;
  color:var(--bec-navy);
  font-size:13px;
  font-weight:600;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:8px 18px;
  border-radius:30px;
}

.bec-trust__dot,
.bec-process__eyebrow::before,
.bec-serv__eyebrow::before,
.bec-gallery__eyebrow::before,
.bec-tst__eyebrow::before,
.bec-blog__eyebrow::before,
.bec-why__eyebrow::before,
.bec-ig__eyebrow::before,
.bec-apg__eyebrow::before {
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#09285b;
  flex:0 0 auto;
}

.bec-trust__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:20px 0 30px;
  letter-spacing:-.3px;
}

.bec-trust__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-trust__btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#09285b;
  color:#fff;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:17px;
  padding:16px 32px;
  border-radius:40px;
  transition:.25s ease;
  box-shadow:0 14px 30px rgba(9,40,91,.28);
}

.bec-trust__btn:hover {
  background:var(--bec-yellow);
  color:#09285b;
  box-shadow:0 14px 30px rgba(9,40,91,.22);
}

.bec-trust__btn span {
  font-size:20px;
  line-height:1;
  transition:transform .2s ease;
}

.bec-trust__btn:hover span {
  transform:translateX(4px);
}

.bec-trust__seals {
  padding-left:60px;
  border-left:1px solid #d7e2ef;
}

.bec-trust__label {
  display:flex;
  align-items:center;
  gap:18px;
  color:#9aa7b8;
  font-size:13px;
  font-weight:600;
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:24px;
}

.bec-trust__label::after {
  content:"";
  flex:1;
  height:1px;
  background:#d7e2ef;
}

.bec-trust__grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px 20px;
}

.bec-trust__seal {
  margin:0;
  display:flex;
  justify-content:center;
}

.bec-trust__seal img {
  width:100%;
  max-width:185px;
  height:auto;
  border-radius:10px;
  display:block;
  box-shadow:0 10px 24px rgba(8,35,79,.12);
  transition:transform .25s ease,box-shadow .25s ease;
}

.bec-trust__seal img:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(8,35,79,.18);
}

@media (max-width:992px) {
  .bec-trust__inner {
    grid-template-columns:1fr;
    gap:40px;
  }
  .bec-trust__seals {
    padding-left:0;
    border-left:0;
    border-top:1px solid #d7e2ef;
    padding-top:32px;
  }
}

@media (max-width:560px) {
  .bec-trust {
    padding:44px 0;
  }
  .bec-trust__title {
    font-size:27px;
  }
  .bec-trust__grid {
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
}

/* ===================== CTA POPUP MODAL (GHL form) ===================== */

.bec-modal {
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.bec-modal.is-open {
  display:flex;
}

.bec-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(6,14,28,.62);
  backdrop-filter:blur(2px);
}

.bec-modal__box {
  position:relative;
  z-index:1;
  background:#fff;
  border-radius:16px;
  width:min(560px,96vw);
  height:min(760px,92vh);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}

.bec-modal__close {
  position:absolute;
  top:10px;
  right:12px;
  z-index:3;
  background:#fff;
  border:0;
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  color:var(--bec-navy);
  box-shadow:0 2px 10px rgba(8,35,79,.18);
  transition:.2s ease;
}

.bec-modal__close:hover {
  background:var(--bec-navy);
  color:#fff;
}

.bec-modal__body {
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.bec-modal__body iframe {
  width:100%!important;
  min-height:620px;
  border:0;
  display:block;
}

/* ===================== PROCESS MAP (dark) ===================== */

.bec-process {
  position:relative;
  overflow:hidden;
  background:var(--bec-dark-bg);
  padding:80px 0 88px;
  color:#fff;
}

.bec-process::before {
  /* faint map grid texture */
  content:"";
  position:absolute;
  inset:0;
  opacity:.5;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%);
}

.bec-process__inner {
  position:relative;
  z-index:1;
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-process__head {
  text-align:center;
  max-width:760px;
  margin:0 auto 60px;
}

.bec-process__eyebrow {
  margin-bottom:16px;
}

.bec-process__title {
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#cfddf2;
  margin:0;
  letter-spacing:-.3px;
}

.bec-process__title b,
.bec-process__title strong {
  color:#fff;
  font-weight:700;
}

.bec-process__lead {
  color:#c2d2ec;
  font-size:17px;
  margin:16px 0 0;
}

/* connected white step cards on the dark map */

.bec-process__steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  position:relative;
}

.bec-process__step {
  position:relative;
  background:#fff;
  border-radius:0;
  padding:36px 32px 34px;
  box-shadow:0 24px 52px rgba(3,12,30,.38);
  transition:transform .3s ease,box-shadow .3s ease;
}

.bec-process__step:hover {
  transform:translateY(-7px);
  box-shadow:0 30px 60px rgba(3,12,30,.5);
}

/* dashed connector line between the cards */

@media (min-width:861px) {
  .bec-process__step:not(:last-child)::after {
    content:"";
    position:absolute;
    top:54px;
    right:-26px;
    width:26px;
    height:2px;
    z-index:3;
    background-image:linear-gradient(90deg,var(--bec-yellow) 0 8px,transparent 8px 15px);
    background-size:15px 2px;
  }
}

.bec-process__no {
  display:block;
  font-family:'Poppins',sans-serif;
  font-weight:800;
  font-size:46px;
  line-height:1;
  color:var(--bec-blue-light);
  letter-spacing:-1px;
  margin-bottom:14px;
}

.bec-process__icon {
  display:flex;
  align-items:center;
  margin-bottom:20px;
}

.bec-process__icon img {
  width:56px;
  height:56px;
  object-fit:contain;
}

.bec-process__step-title {
  font-size:21px;
  font-weight:700;
  color:var(--bec-navy);
  margin:0 0 12px;
}

.bec-process__step-text {
  color:#5d6e88;
  font-size:15px;
  line-height:1.65;
  margin:0;
}

.bec-process__cta {
  text-align:center;
  margin-top:50px;
}

@media (max-width:860px) {
  .bec-process__steps {
    grid-template-columns:1fr;
    gap:18px;
    max-width:440px;
    margin:0 auto;
  }
  .bec-process__title {
    font-size:30px;
  }
}

/* ===================== SERVICES — all services from DB (unique grid) ===================== */

.bec-serv {
  padding:84px 0;
  background:#f4f8fc;
}

.bec-serv__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-serv__head {
  text-align:center;
  margin-bottom:46px;
}

.bec-serv__eyebrow {
  margin-bottom:16px;
}

.bec-serv__title {
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-serv__title b,
.bec-serv__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

/* rectangle cards, last row centered */

.bec-serv__grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.bec-serv__card {
  position:relative;
  overflow:hidden;
  flex:0 1 calc(25% - 18px);
  min-width:200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px;
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:0;
  padding:38px 22px 32px;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}

.bec-serv__card::after {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:0;
  background:var(--bec-yellow);
  transition:height .3s ease;
}

.bec-serv__card:hover {
  transform:translateY(-8px);
  background:var(--bec-dark-bg);
  box-shadow:0 26px 48px rgba(8,35,79,.28);
}

.bec-serv__card:hover::after {
  height:100%;
}

.bec-serv__ico {
  width:86px;
  height:86px;
  background:#eaf2fc;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .28s ease;
}

.bec-serv__card:hover .bec-serv__ico {
  background:var(--bec-yellow);
}

.bec-serv__ico img {
  width:46px;
  height:46px;
  object-fit:contain;
  transition:filter .28s ease;
}

.bec-serv__card:hover .bec-serv__ico img {
  filter:brightness(0);
}

.bec-serv__cname {
  font-weight:600;
  font-size:16px;
  color:var(--bec-navy);
  line-height:1.3;
  transition:color .28s ease;
}

.bec-serv__card:hover .bec-serv__cname {
  color:#fff;
}

.bec-serv__arrow {
  position:absolute;
  top:16px;
  right:18px;
  color:#cdd8e8;
  font-size:16px;
  opacity:0;
  transform:translateX(-4px);
  transition:.28s ease;
}

.bec-serv__card:hover .bec-serv__arrow {
  opacity:1;
  transform:translateX(0);
  color:var(--bec-yellow);
}

@media (max-width:1000px) {
  .bec-serv__card {
    flex:0 1 calc(33.333% - 18px);
  }
}

@media (max-width:680px) {
  .bec-serv__card {
    flex:0 1 calc(50% - 18px);
    min-width:0;
  }
  .bec-serv__title {
    font-size:28px;
  }
}

@media (max-width:420px) {
  .bec-serv {
    padding:54px 0;
  }
  .bec-serv__ico {
    width:72px;
    height:72px;
  }
  .bec-serv__ico img {
    width:40px;
    height:40px;
  }
}

/* ===================== CTA — 3D sharp band ===================== */

.bec-cta {
  padding:30px 0 84px;
  background:#f4f8fc;
}

.bec-cta__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-cta__box {
  position:relative;
  background:var(--bec-dark-bg);
  border:2px solid var(--bec-navy);
  border-radius:0;
  padding:54px 56px;
  box-shadow:16px 16px 0 var(--bec-yellow);
  /* hard-offset 3D block */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  flex-wrap:wrap;
}

.bec-cta__title {
  font-size:34px;
  line-height:1.25;
  font-weight:400;
  color:#fff;
  margin:0;
  max-width:680px;
}

.bec-cta__title b,
.bec-cta__title strong {
  color:var(--bec-yellow);
  font-weight:700;
}

.bec-cta__btns {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

.bec-cta__call {
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.55);
}

.bec-cta__call:hover {
  background:#fff;
  color:var(--bec-navy);
}

@media (max-width:760px) {
  .bec-cta__box {
    padding:36px 28px;
    box-shadow:10px 10px 0 var(--bec-yellow);
  }
  .bec-cta__title {
    font-size:26px;
  }
}

/* ===================== ABOUT — full-width, image left ===================== */

.bec-about {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
}

.bec-about__media {
  position:relative;
  min-height:580px;
}

.bec-about__media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bec-about__panel {
  background:var(--bec-dark-bg);
  display:flex;
  align-items:center;
  padding:74px 48px 74px 72px;
  /* right edge aligns with the header/button (centered 1600 shell) */
  padding-right:max(48px, calc((100vw - var(--bec-shell)) / 2 + 40px));
}

.bec-about__inner {
  max-width:680px;
}

.bec-about__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:8px 18px;
  border-radius:30px;
  margin-bottom:18px;
}

.bec-about__eyebrow::before {
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--bec-yellow);
}

.bec-about__title {
  font-size:38px;
  line-height:1.18;
  font-weight:700;
  color:#fff;
  margin:0 0 18px;
}

.bec-about__title b,
.bec-about__title strong {
  color:var(--bec-yellow);
}

.bec-about__text {
  color:#dfe8f6;
  font-size:16px;
  line-height:1.75;
  margin:0 0 28px;
}

.bec-about__text p {
  color:#dfe8f6;
  margin:0 0 14px;
}

.bec-about__text p:last-child {
  margin-bottom:0;
}

.bec-about__text strong,
.bec-about__text b {
  color:#fff;
  font-weight:700;
}

.bec-about__stats {
  display:flex;
  gap:40px;
  margin:0 0 30px;
  flex-wrap:wrap;
}

.bec-about__stat {
  display:flex;
  flex-direction:column;
}

.bec-about__num {
  font-size:40px;
  font-weight:800;
  color:var(--bec-yellow);
  line-height:1;
}

.bec-about__lbl {
  color:#aebfdc;
  font-size:14px;
  margin-top:6px;
}

.bec-about__foot {
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
}

.bec-about__call {
  display:flex;
  flex-direction:column;
}

.bec-about__call-lbl {
  color:#aebfdc;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.5px;
}

.bec-about__call-num {
  color:#fff;
  font-size:22px;
  font-weight:700;
}

.bec-about__call:hover .bec-about__call-num {
  color:var(--bec-yellow);
}

@media (max-width:900px) {
  .bec-about {
    grid-template-columns:1fr;
  }
  .bec-about__media {
    min-height:340px;
  }
  .bec-about__panel {
    padding:48px 24px;
  }
  .bec-about__title {
    font-size:30px;
  }
}

/* ===================== GALLERY + LIGHTBOX ===================== */

.bec-gallery {
  padding:84px 0;
  background:#fff;
}

.bec-gallery__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-gallery__head {
  text-align:center;
  margin-bottom:44px;
}

.bec-gallery__eyebrow {
  margin-bottom:16px;
}

.bec-gallery__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-gallery__title b,
.bec-gallery__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-gallery__grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.bec-gallery__item {
  position:relative;
  overflow:hidden;
  display:block;
  cursor:pointer;
  background:#0a2a5e;
  flex:0 1 calc(25% - 18px);
  min-width:220px;
  aspect-ratio:455 / 560;
}

.bec-gallery__item img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s ease;
}

.bec-gallery__item:hover img {
  transform:scale(1.08);
}

.bec-gallery__item::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(7,20,45,.6));
  opacity:0;
  transition:opacity .3s ease;
}

.bec-gallery__item:hover::after {
  opacity:1;
}

.bec-gallery__zoom {
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:300;
  line-height:1;
  transform:translate(-50%,-50%) scale(.55);
  opacity:0;
  transition:transform .3s ease,opacity .3s ease;
}

.bec-gallery__item:hover .bec-gallery__zoom {
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}

/* lightbox overlay */

.bec-lb {
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(4,10,24,.93);
  padding:40px;
}

.bec-lb.is-open {
  display:flex;
  animation:becLbFade .25s ease;
}

@keyframes becLbFade {
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}

.bec-lb__stage {
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:92vw;
}

.bec-lb__img {
  max-width:90vw;
  max-height:80vh;
  object-fit:contain;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  background:#0a2a5e;
}

.bec-lb__cap {
  color:#cfdaee;
  font-size:14px;
  margin-top:14px;
  text-align:center;
}

.bec-lb__close {
  position:absolute;
  top:20px;
  right:28px;
  background:none;
  border:0;
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  transition:color .2s ease;
}

.bec-lb__close:hover {
  color:var(--bec-yellow);
}

.bec-lb__nav {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease,color .2s ease;
}

.bec-lb__nav:hover {
  background:var(--bec-yellow);
  color:var(--bec-navy);
}

.bec-lb__prev {
  left:26px;
}

.bec-lb__next {
  right:26px;
}

.bec-lb__count {
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  color:#aebfdc;
  font-size:14px;
  letter-spacing:1.5px;
}

@media (max-width:1000px) {
  .bec-gallery__item {
    flex:0 1 calc(33.333% - 18px);
  }
}

@media (max-width:680px) {
  .bec-gallery__item {
    flex:0 1 calc(50% - 12px);
    min-width:0;
  }
  .bec-gallery__title {
    font-size:28px;
  }
  .bec-lb {
    padding:16px;
  }
  .bec-lb__nav {
    width:44px;
    height:44px;
    font-size:26px;
  }
  .bec-lb__prev {
    left:10px;
  }
  .bec-lb__next {
    right:10px;
  }
}

/* ===================== TESTIMONIALS ===================== */

.bec-tst {
  padding:84px 0;
  background:#f4f8fc;
}

.bec-tst__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-tst__head {
  text-align:center;
  margin-bottom:46px;
}

.bec-tst__eyebrow {
  margin-bottom:16px;
}

.bec-tst__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-tst__title b,
.bec-tst__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-tst__grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
}

.bec-tst__card {
  position:relative;
  flex:0 1 calc(33.333% - 24px);
  min-width:280px;
  background:#fff;
  border:1px solid #e3e9f2;
  border-radius:16px;
  padding:34px 32px 30px;
  box-shadow:0 2px 4px rgba(8,35,79,.05), 0 22px 44px rgba(8,35,79,.13);
  display:flex;
  flex-direction:column;
  transition:transform .28s ease,box-shadow .28s ease;
}

.bec-tst__card:hover {
  transform:translateY(-7px);
  box-shadow:0 4px 8px rgba(8,35,79,.06), 0 32px 58px rgba(8,35,79,.2);
}

.bec-tst__quote {
  position:absolute;
  top:10px;
  right:26px;
  font-family:Georgia,serif;
  font-size:80px;
  line-height:1;
  color:#eaf1fb;
}

.bec-tst__stars {
  color:#f5b301;
  font-size:19px;
  letter-spacing:3px;
  margin:0 0 16px;
  position:relative;
  z-index:1;
}

.bec-tst__stars .off {
  color:#dfe6f1;
}

.bec-tst__text {
  position:relative;
  z-index:1;
  margin:0 0 24px;
}

.bec-tst__text p {
  color:#5d6e88;
  font-size:15.5px;
  line-height:1.75;
  margin:0 0 12px;
}

.bec-tst__text p:last-child {
  margin-bottom:0;
}

.bec-tst__person {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid #eef2f8;
}

.bec-tst__avatar {
  width:52px;
  height:52px;
  border-radius:50%;
  overflow:hidden;
  flex:0 0 auto;
  background:var(--bec-blue-light);
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #eef2f8;
}

.bec-tst__avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.bec-tst__init {
  color:#fff;
  font-weight:700;
  font-size:20px;
}

.bec-tst__name {
  font-weight:700;
  font-size:17px;
  color:var(--bec-navy);
}

@media (max-width:980px) {
  .bec-tst__card {
    flex:0 1 calc(50% - 24px);
  }
}

@media (max-width:600px) {
  .bec-tst__card {
    flex:0 1 100%;
    min-width:0;
  }
  .bec-tst__title {
    font-size:28px;
  }
}

/* ===================== BLOG ===================== */

.bec-blog {
  padding:84px 0;
  background:#fff;
}

.bec-blog__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-blog__head {
  text-align:center;
  margin-bottom:46px;
}

.bec-blog__eyebrow {
  margin-bottom:16px;
}

.bec-blog__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-blog__title b,
.bec-blog__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-blog__grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:28px;
}

.bec-blog__card {
  flex:0 1 calc(33.333% - 28px);
  min-width:300px;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:0;
  overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease;
}

.bec-blog__card:hover {
  transform:translateY(-6px);
  box-shadow:0 26px 50px rgba(8,35,79,.14);
}

.bec-blog__media {
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#0a2a5e;
}

.bec-blog__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}

.bec-blog__card:hover .bec-blog__media img {
  transform:scale(1.07);
}

.bec-blog__noimg {
  position:absolute;
  inset:0;
  background:var(--bec-dark-bg);
}

.bec-blog__date {
  position:absolute;
  left:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  padding:8px 12px;
  line-height:1.1;
  border-radius:0;
}

.bec-blog__date span {
  font-size:22px;
  line-height:1;
}

.bec-blog__body {
  padding:26px 26px 28px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.bec-blog__h {
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  margin:0 0 12px;
}

.bec-blog__h a {
  color:var(--bec-navy);
  transition:color .2s ease;
}

.bec-blog__h a:hover {
  color:var(--bec-blue-light);
}

.bec-blog__excerpt {
  color:#5d6e88;
  font-size:15px;
  line-height:1.7;
  margin:0 0 18px;
}

.bec-blog__more {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:var(--bec-blue-light);
  font-weight:600;
  font-size:15px;
}

.bec-blog__more span {
  transition:transform .2s ease;
}

.bec-blog__more:hover span {
  transform:translateX(4px);
}

.bec-blog__foot {
  text-align:center;
  margin-top:46px;
}

@media (max-width:980px) {
  .bec-blog__card {
    flex:0 1 calc(50% - 28px);
  }
}

@media (max-width:640px) {
  .bec-blog__card {
    flex:0 1 100%;
    min-width:0;
  }
  .bec-blog__title {
    font-size:28px;
  }
}

/* ===================== INSTAGRAM ===================== */

.bec-ig {
  padding:84px 0 0;
  background:#f4f8fc;
}

.bec-ig__head {
  text-align:center;
  margin:0 auto 40px;
  max-width:var(--bec-shell);
  padding:0 40px;
}

.bec-ig__eyebrow {
  margin-bottom:16px;
}

.bec-ig__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  line-height:1.2;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-ig__title b,
.bec-ig__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-ig__handle {
  display:inline-block;
  margin-top:14px;
  color:var(--bec-blue-light);
  font-weight:600;
  font-size:16px;
}

.bec-ig__handle:hover {
  color:var(--bec-navy);
}

.bec-ig__grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
}

.bec-ig__tile {
  position:relative;
  display:block;
  aspect-ratio:1;
  overflow:hidden;
  background:#0a2a5e;
}

.bec-ig__tile img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}

.bec-ig__tile:hover img {
  transform:scale(1.09);
}

.bec-ig__ov {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(45deg,rgba(131,58,180,.88),rgba(225,48,108,.85) 55%,rgba(252,176,69,.85));
  opacity:0;
  transition:opacity .3s ease;
}

.bec-ig__tile:hover .bec-ig__ov {
  opacity:1;
}

.bec-ig__feed {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px 40px;
}

@media (max-width:900px) {
  .bec-ig__grid {
    grid-template-columns:repeat(3,1fr);
  }
  .bec-ig__title {
    font-size:28px;
  }
}

@media (max-width:480px) {
  .bec-ig__grid {
    grid-template-columns:repeat(2,1fr);
  }
}

/* Hero image — license badge overlay (big & bold) */

.bec-hero__license {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:32px 34px 26px;
  border-radius:0 0 22px 22px;
  background:linear-gradient(0deg,rgba(6,16,38,.94) 0%,rgba(6,16,38,.55) 60%,rgba(6,16,38,0) 100%);
}

.bec-hero__lic-line {
  font-family:'Poppins',sans-serif;
  font-weight:800;
  font-size:24px;
  line-height:1.2;
  color:#fff;
  letter-spacing:-.2px;
}

.bec-hero__lic-line:first-child {
  color:var(--bec-yellow);
}

@media (max-width:900px) {
  .bec-hero__license {
    padding:22px 22px 18px;
  }
  .bec-hero__lic-line {
    font-size:19px;
  }
}

/* ===================== BACK TO TOP (progress ring) ===================== */

.bec-totop {
  position:fixed;
  left:26px;
  bottom:26px;
  z-index:900;
  width:52px;
  height:52px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  padding:0;
  background:var(--bec-navy);
  box-shadow:0 10px 26px rgba(8,35,79,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease,background .25s ease;
}

.bec-totop.is-visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.bec-totop:hover {
  background:#0e3c84;
}

.bec-totop__ring {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:rotate(-90deg);
}

.bec-totop__track {
  fill:none;
  stroke:rgba(255,255,255,.18);
  stroke-width:3;
}

.bec-totop__bar {
  fill:none;
  stroke:var(--bec-yellow);
  stroke-width:3;
  stroke-linecap:round;
  transition:stroke-dashoffset .1s linear;
}

.bec-totop__arrow {
  position:relative;
  z-index:1;
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:700;
}

.bec-totop:hover .bec-totop__arrow {
  color:var(--bec-yellow);
}

@media (max-width:560px) {
  .bec-totop {
    left:16px;
    bottom:16px;
    width:46px;
    height:46px;
  }
}

/* Footer opening hours */

.bec-footer__hours {
  margin:0 0 22px;
}

.bec-footer__hours-lbl {
  display:block;
  color:var(--bec-yellow);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:5px;
}

.bec-footer__hours-val {
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:600;
  line-height:1.5;
}

.bec-footer__hours-val b {
  color:var(--bec-yellow);
}

/* ===================== WHY CHOOSE US (checklist) ===================== */

.bec-why {
  padding:80px 0;
  background:#f4f8fc;
}

.bec-why__inner {
  max-width:1000px;
  margin:0 auto;
  padding:0 40px;
}

.bec-why__card {
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:18px;
  padding:48px 52px;
  box-shadow:0 30px 60px rgba(8,35,79,.10);
}

.bec-why__head {
  text-align:center;
  margin-bottom:30px;
  padding-bottom:30px;
  border-bottom:1px dashed #d7e0ee;
}

.bec-why__eyebrow {
  margin-bottom:18px;
}

.bec-why__title {
  font-family:'Poppins',sans-serif;
  font-size:33px;
  line-height:1.22;
  font-weight:400;
  color:#6f7d92;
  margin:0;
  letter-spacing:-.3px;
}

.bec-why__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-why__sub {
  color:#6c7c93;
  font-size:16px;
  font-style:italic;
  margin:14px 0 0;
}

.bec-why__list {
  list-style:none;
  margin:0;
  padding:0;
}

.bec-why__item {
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:18px 0;
  border-bottom:1px dashed #e3e9f2;
}

.bec-why__item:last-child {
  border-bottom:0;
}

.bec-why__no {
  flex:0 0 auto;
  min-width:34px;
  font-family:'Poppins',sans-serif;
  font-weight:800;
  font-size:24px;
  color:var(--bec-blue-light);
  line-height:1.35;
}

.bec-why__text {
  flex:1;
  color:var(--bec-navy);
  font-size:16px;
  font-weight:600;
  line-height:1.55;
  padding-top:2px;
}

.bec-why__badge {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:2px;
  background:var(--bec-navy);
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:8px 16px;
  border-radius:30px;
  white-space:nowrap;
}

.bec-why__badge::before {
  content:"\2713";
  color:var(--bec-yellow);
  font-size:13px;
  font-weight:800;
}

.bec-why__foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  margin-top:30px;
  padding-top:30px;
  border-top:1px dashed #d7e0ee;
}

.bec-why__cta-text {
  color:var(--bec-navy);
  font-weight:700;
  font-size:18px;
  font-style:italic;
}

@media (max-width:640px) {
  .bec-why__card {
    padding:32px 24px;
  }
  .bec-why__title {
    font-size:25px;
  }
  .bec-why__item {
    flex-wrap:wrap;
    gap:12px;
  }
  .bec-why__badge {
    margin-left:54px;
  }
}

/* =====================================================================
   INNER PAGES — banner, content, rich text
   ===================================================================== */

.bec-pagehead {
  position:relative;
  background:var(--bec-dark-bg);
  background-size:cover;
  background-position:center;
  padding:74px 0 70px;
  text-align:center;
  overflow:hidden;
}

.bec-pagehead::before {
  /* faint grid texture */
  content:"";
  position:absolute;
  inset:0;
  opacity:.5;
  pointer-events:none;
  z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 75%);
}

.bec-pagehead__veil {
  position:absolute;
  inset:0;
  z-index:0;
  display:none;
}

.bec-pagehead.has-img .bec-pagehead__veil {
  display:block;
  background:linear-gradient(120deg,rgba(8,35,79,.92),rgba(14,60,132,.82) 60%,rgba(21,91,160,.78));
}

.bec-pagehead__inner {
  position:relative;
  z-index:1;
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-pagehead__title {
  font-family:'Poppins',sans-serif;
  font-size:44px;
  line-height:1.12;
  font-weight:700;
  color:#fff;
  margin:0 0 14px;
  letter-spacing:-.5px;
}

.bec-pagehead__crumbs {
  font-size:15px;
  color:#cfe0fb;
}

.bec-pagehead__crumbs a {
  color:#fff;
  transition:color .2s ease;
}

.bec-pagehead__crumbs a:hover {
  color:var(--bec-yellow);
}

.bec-pagehead__crumbs .sep,
.bec-pagehead__crumbs .breadcrumbs > * + *::before {
  color:var(--bec-yellow);
}

.bec-pagehead__crumbs .current,
.bec-pagehead__crumbs .breadcrumb_last {
  color:var(--bec-yellow);
}

.bec-page {
  padding:72px 0;
  background:#fff;
}

.bec-page__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-page__inner--narrow {
  max-width:900px;
}

/* rich text (the_content) */

.bec-rte {
  color:#445469;
  font-size:16.5px;
  line-height:1.8;
}

.bec-rte > *:first-child {
  margin-top:0;
}

.bec-rte h1,
.bec-rte h2,
.bec-rte h3,
.bec-rte h4,
.bec-rte h5,
.bec-rte h6 {
  font-family:'Poppins',sans-serif;
  color:var(--bec-navy);
  line-height:1.25;
  margin:1.6em 0 .6em;
}

.bec-rte h2 {
  font-size:30px;
  font-weight:700;
}

.bec-rte h3 {
  font-size:24px;
  font-weight:700;
}

.bec-rte h4 {
  font-size:20px;
  font-weight:600;
}

.bec-rte p {
  margin:0 0 1.2em;
}

.bec-rte a {
  color:var(--bec-blue-light);
  text-decoration:underline;
  text-underline-offset:2px;
}

.bec-rte a:hover {
  color:var(--bec-navy);
}

.bec-rte ul,
.bec-rte ol {
  margin:0 0 1.3em;
  padding-left:0;
  list-style:none;
}

.bec-rte ul li,
.bec-rte ol li {
  position:relative;
  padding-left:30px;
  margin-bottom:12px;
}

.bec-rte ul li::before {
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--bec-yellow);
  box-shadow:inset 0 0 0 4px var(--bec-navy);
}

.bec-rte ol {
  counter-reset:rte;
}

.bec-rte ol li {
  counter-increment:rte;
}

.bec-rte ol li::before {
  content:counter(rte);
  position:absolute;
  left:0;
  top:0;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--bec-navy);
  color:#fff;
  font-size:13px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.bec-rte img {
  height:auto;
  border-radius:10px;
  margin:1em 0;
}

.bec-rte blockquote {
  margin:1.4em 0;
  padding:20px 26px;
  border-left:4px solid var(--bec-yellow);
  background:#f4f8fc;
  color:var(--bec-navy);
  font-size:18px;
  font-style:italic;
  border-radius:0 8px 8px 0;
}

.bec-rte table {
  width:100%;
  border-collapse:collapse;
  margin:1.4em 0;
}

.bec-rte th,
.bec-rte td {
  border:1px solid #e3e9f2;
  padding:12px 16px;
  text-align:left;
}

.bec-rte th {
  background:#f4f8fc;
  color:var(--bec-navy);
  font-weight:700;
}

.bec-rte strong {
  color:var(--bec-navy);
}

/* single post */

.bec-single__meta a {
  color:var(--bec-blue-light);
}

.bec-single__thumb img {
  width:100%;
  height:auto;
  border-radius:14px;
  display:block;
}

@media (max-width:640px) {
  .bec-pagehead {
    padding:48px 0 44px;
  }
  .bec-pagehead__title {
    font-size:30px;
  }
  .bec-page {
    padding:48px 0;
  }
}

/* =====================================================================
   SERVICE DETAIL PAGE
   ===================================================================== */

.bec-svc {
  padding:72px 0;
  background:#fff;
}

.bec-svc__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:1fr 360px;
  gap:50px;
  align-items:start;
}

.bec-svc__img {
  margin:0 0 32px;
}

.bec-svc__img img {
  width:100%;
  height:auto;
  border-radius:16px;
  display:block;
}

.bec-svc__body {
  margin-bottom:10px;
}

.bec-svc__body h2:first-child {
  font-size:34px;
  margin-top:0;
}

.bec-svc__why {
  margin-top:36px;
  padding-top:34px;
  border-top:1px solid #e7edf5;
}

.bec-svc__why-title {
  font-size:28px;
  color:var(--bec-navy);
  margin:0 0 16px;
}

.bec-svc__why-grid {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:24px 0;
}

.bec-svc__why-box {
  flex:1 1 200px;
  min-width:180px;
  background:#f4f8fc;
  border:1px solid #e7edf5;
  border-radius:14px;
  padding:26px 22px;
  text-align:center;
  transition:transform .25s ease,box-shadow .25s ease;
}

.bec-svc__why-box:hover {
  transform:translateY(-5px);
  box-shadow:0 18px 36px rgba(8,35,79,.12);
}

.bec-svc__why-ico {
  display:inline-flex;
  width:64px;
  height:64px;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}

.bec-svc__why-ico img {
  width:54px;
  height:54px;
  object-fit:contain;
}

.bec-svc__why-box h4 {
  font-size:18px;
  color:var(--bec-navy);
  margin:0;
  font-weight:700;
}

/* sidebar */

.bec-svc__side {
  position:sticky;
  top:96px;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.bec-svc__widget {
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:16px;
  padding:28px 26px;
  box-shadow:0 14px 34px rgba(8,35,79,.07);
}

.bec-svc__wtitle {
  font-size:20px;
  color:var(--bec-navy);
  margin:0 0 18px;
  font-weight:700;
}

.bec-svc__form {
  background:var(--bec-dark-bg);
  border:0;
}

.bec-svc__form .bec-svc__wtitle {
  color:#fff;
}

.bec-svc__form iframe,
.bec-svc__form .gform_wrapper {
  width:100%!important;
  border-radius:10px;
  background:#fff;
}

.bec-svc__form-body {
  max-height:560px;
  overflow-y:auto;
  border-radius:10px;
  background:#fff;
}

.bec-svc__form-body iframe {
  display:block;
  border:0;
  min-height:520px;
}

.bec-svc__form-body::-webkit-scrollbar,
.bec-svc__list ul::-webkit-scrollbar {
  width:7px;
}

.bec-svc__form-body::-webkit-scrollbar-thumb,
.bec-svc__list ul::-webkit-scrollbar-thumb {
  background:#c2d0e2;
  border-radius:4px;
}

.bec-svc__form-body::-webkit-scrollbar-track,
.bec-svc__list ul::-webkit-scrollbar-track {
  background:rgba(255,255,255,.25);
  border-radius:4px;
}

.bec-svc__list ul {
  list-style:none;
  margin:0;
  padding:0;
  max-height:320px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#c2d0e2 transparent;
}

.bec-svc__list li {
  border-bottom:1px solid #eef2f8;
}

.bec-svc__list li:last-child {
  border-bottom:0;
}

.bec-svc__list a {
  display:block;
  padding:11px 0 11px 22px;
  position:relative;
  color:#445469;
  font-weight:600;
  font-size:15px;
  transition:color .2s ease,padding .2s ease;
}

.bec-svc__list a::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--bec-yellow);
  box-shadow:inset 0 0 0 2px var(--bec-navy);
}

.bec-svc__list a:hover {
  color:var(--bec-blue-light);
  padding-left:28px;
}

.bec-svc__list li.is-active a {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-svc__cta {
  text-align:center;
  background:var(--bec-dark-bg);
  border:0;
}

.bec-svc__cta-lbl {
  display:block;
  color:#cfe0fb;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:6px;
}

.bec-svc__cta-num {
  display:block;
  color:#fff;
  font-size:26px;
  font-weight:800;
  margin-bottom:18px;
}

.bec-svc__cta-num:hover {
  color:var(--bec-yellow);
}

@media (max-width:980px) {
  .bec-svc__inner {
    grid-template-columns:1fr;
  }
  .bec-svc__side {
    position:static;
  }
}

/* =====================================================================
   CONTACT PAGE
   ===================================================================== */

.bec-cinfo {
  padding:72px 0 20px;
  background:#fff;
}

.bec-cinfo__inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 40px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
}

.bec-cinfo__card {
  flex:1 1 280px;
  max-width:360px;
  text-align:center;
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:16px;
  padding:40px 28px;
  box-shadow:0 18px 40px rgba(8,35,79,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}

.bec-cinfo__card:hover {
  transform:translateY(-6px);
  box-shadow:0 26px 50px rgba(8,35,79,.14);
}

.bec-cinfo__ico {
  display:inline-flex;
  width:78px;
  height:78px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eaf2fc;
  margin-bottom:18px;
}

.bec-cinfo__ico img {
  width:40px;
  height:40px;
  object-fit:contain;
}

.bec-cinfo__h {
  font-size:20px;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 12px;
}

.bec-cinfo__txt {
  color:#5d6e88;
  font-size:15.5px;
  line-height:1.7;
  margin:0;
}

.bec-cinfo__phone {
  color:var(--bec-navy);
  font-size:22px;
  font-weight:800;
}

.bec-cinfo__phone:hover {
  color:var(--bec-blue-light);
}

.bec-cinfo__social {
  display:flex;
  justify-content:center;
  gap:12px;
}

.bec-cinfo__social a {
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--bec-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .25s ease;
}

.bec-cinfo__social a:hover {
  background:var(--bec-yellow);
}

.bec-cinfo__social img {
  width:18px;
  height:18px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

.bec-cinfo__social a:hover img {
  filter:none;
}

.bec-cform {
  padding:64px 0;
  background:#f4f8fc;
}

.bec-cform__inner {
  max-width:820px;
  margin:0 auto;
  padding:0 40px;
}

.bec-cform__head {
  text-align:center;
  margin-bottom:34px;
}

.bec-cform__title {
  font-family:'Poppins',sans-serif;
  font-size:36px;
  color:#6f7d92;
  font-weight:400;
  margin:0 0 12px;
}

.bec-cform__title b,
.bec-cform__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-cform__intro {
  text-align:center;
  color:#5d6e88;
}

.bec-cform__box {
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:18px;
  padding:38px;
  box-shadow:0 24px 50px rgba(8,35,79,.1);
}

.bec-cform__box iframe {
  width:100%!important;
  border:0;
  display:block;
}

.bec-cmap {
  line-height:0;
}

.bec-cmap img,
.bec-cmap iframe {
  width:100%;
  height:auto;
  display:block;
  border:0;
}

@media (max-width:640px) {
  .bec-cinfo {
    padding:48px 0 8px;
  }
  .bec-cform {
    padding:44px 0;
  }
  .bec-cform__box {
    padding:24px;
  }
}

/* ===================== OUR MISSION (about) ===================== */

.bec-mission {
  position:relative;
  background:var(--bec-navy) center/cover no-repeat;
  padding:84px 0;
  text-align:center;
  overflow:hidden;
}

.bec-mission__veil {
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(8,35,79,.93),rgba(14,60,132,.86) 60%,rgba(21,91,160,.8));
  z-index:0;
}

.bec-mission__inner {
  position:relative;
  z-index:1;
  max-width:900px;
  margin:0 auto;
  padding:0 40px;
}

.bec-mission__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:8px 18px;
  border-radius:30px;
  margin-bottom:18px;
}

.bec-mission__eyebrow::before {
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--bec-yellow);
}

.bec-mission__title {
  font-family:'Poppins',sans-serif;
  font-size:40px;
  font-weight:700;
  color:#fff;
  margin:0 0 18px;
}

.bec-mission__title b,
.bec-mission__title strong {
  color:var(--bec-yellow);
}

.bec-mission__text {
  color:#e6edf8;
  font-size:18px;
  line-height:1.8;
  margin:0;
}

.bec-mission__text p {
  color:#e6edf8;
}

@media (max-width:640px) {
  .bec-mission {
    padding:54px 0;
  }
  .bec-mission__title {
    font-size:28px;
  }
  .bec-mission__text {
    font-size:16px;
  }
}

/* ===================== SERVICES LISTING PAGE ===================== */

.bec-slist {
  padding:72px 0;
  background:#fff;
}

.bec-slist__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-slist__intro {
  text-align:center;
  max-width:760px;
  margin:0 auto 50px;
}

.bec-slist__intro h2 {
  font-size:34px;
}

.bec-slist__group {
  margin-bottom:54px;
}

.bec-slist__group:last-child {
  margin-bottom:0;
}

.bec-slist__gtitle {
  font-family:'Poppins',sans-serif;
  font-size:26px;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 24px;
  padding-bottom:14px;
  border-bottom:2px solid #eef1f6;
  position:relative;
}

.bec-slist__gtitle::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:70px;
  height:2px;
  background:var(--bec-yellow);
}

.bec-slist__grid {
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}

.bec-slist__grid .bec-serv__card {
  flex:0 1 calc(20% - 18px);
  min-width:180px;
}

/* gallery / services listing pages get top padding (no overlap hero) */

.page-template-template-gallery .bec-gallery,
.bec-gallery--page {
  padding-top:72px;
}

@media (max-width:1100px) {
  .bec-slist__grid .bec-serv__card {
    flex:0 1 calc(25% - 18px);
  }
}

@media (max-width:860px) {
  .bec-slist__grid .bec-serv__card {
    flex:0 1 calc(33.333% - 18px);
  }
}

@media (max-width:560px) {
  .bec-slist__grid .bec-serv__card {
    flex:0 1 calc(50% - 12px);
    min-width:0;
  }
}

/* ===================== FAQ (service area) ===================== */

.bec-faq {
  margin-top:36px;
  padding-top:34px;
  border-top:1px solid #e7edf5;
}

.bec-faq__item {
  border:1px solid #e7edf5;
  border-radius:12px;
  margin-bottom:14px;
  overflow:hidden;
  background:#fff;
}

.bec-faq__item[open] {
  border-color:var(--bec-blue-light);
  box-shadow:0 16px 34px rgba(8,35,79,.08);
}

.bec-faq__q {
  cursor:pointer;
  list-style:none;
  padding:20px 54px 20px 24px;
  position:relative;
  font-weight:700;
  font-size:18px;
  color:var(--bec-navy);
}

.bec-faq__q::-webkit-details-marker {
  display:none;
}

.bec-faq__q::after {
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  font-weight:400;
  color:var(--bec-blue-light);
  transition:transform .2s ease;
}

.bec-faq__item[open] .bec-faq__q::after {
  content:"\2212";
}

.bec-faq__a {
  padding:0 24px 22px;
  overflow:hidden;
  will-change:height;
}

.bec-faq__q::after {
  transition:transform .34s cubic-bezier(.4,0,.2,1);
}

/* ===================== SERVICE AREAS LISTING ===================== */

.bec-areas {
  padding:72px 0;
  background:#fff;
}

.bec-areas__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
}

.bec-areas__head {
  text-align:center;
  margin-bottom:44px;
}

.bec-areas__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:#e2ecfa;
  color:var(--bec-navy);
  font-size:13px;
  font-weight:600;
  letter-spacing:.6px;
  text-transform:uppercase;
  padding:8px 18px;
  border-radius:30px;
  margin-bottom:16px;
}

.bec-areas__eyebrow::before {
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#09285b;
}

.bec-areas__title {
  font-family:'Poppins',sans-serif;
  font-size:38px;
  color:#6f7d92;
  font-weight:400;
  margin:0;
}

.bec-areas__title b,
.bec-areas__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-areas__sub {
  max-width:760px;
  margin:14px auto 0;
  color:#5d6e88;
}

.bec-areas__grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}

.bec-areas__card {
  flex:0 1 calc(25% - 18px);
  min-width:220px;
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:14px;
  padding:22px 24px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.bec-areas__card:hover {
  transform:translateY(-5px);
  border-color:var(--bec-blue-light);
  box-shadow:0 18px 38px rgba(8,35,79,.12);
}

.bec-areas__pin {
  width:46px;
  height:46px;
  flex:0 0 auto;
  border-radius:50%;
  background:#eaf2fc;
  color:var(--bec-blue-light);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.25s ease;
}

.bec-areas__card:hover .bec-areas__pin {
  background:var(--bec-blue-light);
  color:#fff;
}

.bec-areas__name {
  flex:1;
  font-weight:700;
  font-size:17px;
  color:var(--bec-navy);
}

.bec-areas__go {
  color:#c7d4e6;
  transition:.25s ease;
}

.bec-areas__card:hover .bec-areas__go {
  color:var(--bec-blue-light);
  transform:translateX(3px);
}

/* testimonials full page = light bg */

.bec-tst--page {
  background:#fff;
}

/* ===================== THANK YOU ===================== */

.bec-thanks {
  position:relative;
  background:var(--bec-dark-bg);
  text-align:center;
  padding:100px 0;
  min-height:62vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.bec-thanks__veil {
  position:absolute;
  inset:0;
  opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%);
}

.bec-thanks__inner {
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:0 40px;
}

.bec-thanks__check {
  display:inline-flex;
  width:90px;
  height:90px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  margin-bottom:26px;
  box-shadow:0 0 0 10px rgba(255,235,1,.15);
}

.bec-thanks__title {
  font-family:'Poppins',sans-serif;
  font-size:52px;
  color:#fff;
  font-weight:700;
  margin:0 0 16px;
}

.bec-thanks__title b,
.bec-thanks__title strong {
  color:var(--bec-yellow);
}

.bec-thanks__text {
  color:#cfdcef;
  font-size:18px;
  line-height:1.7;
  margin:0 0 30px;
}

.bec-thanks__btns {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

@media (max-width:980px) {
  .bec-areas__card {
    flex:0 1 calc(50% - 18px);
  }
}

@media (max-width:640px) {
  .bec-areas__card {
    flex:0 1 100%;
    min-width:0;
  }
  .bec-thanks__title {
    font-size:36px;
  }
  .bec-thanks {
    padding:64px 0;
  }
}

/* ===================== ABOUT PAGE (white) ===================== */

.bec-apg {
  padding:80px 0;
  background:#fff;
}

.bec-apg--alt {
  border-top:1px solid #eef2f8;
}

.bec-apg__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.bec-apg__media {
  position:relative;
}

.bec-apg__media img {
  width:100%;
  height:auto;
  border-radius:18px;
  display:block;
  box-shadow:0 30px 60px rgba(8,35,79,.14);
}

.bec-apg__stats {
  position:absolute;
  left:20px;
  bottom:20px;
  display:flex;
  gap:12px;
}

.bec-apg__stat {
  background:rgba(255,255,255,.96);
  border-radius:12px;
  padding:14px 22px;
  box-shadow:0 14px 30px rgba(8,35,79,.22);
  text-align:center;
}

.bec-apg__num {
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:30px;
  font-weight:800;
  color:var(--bec-navy);
  line-height:1;
}

.bec-apg__lbl {
  display:block;
  color:#5d6e88;
  font-size:12.5px;
  margin-top:5px;
}

.bec-apg__eyebrow {
  margin-bottom:14px;
}

.bec-apg__title {
  font-family:'Poppins',sans-serif;
  font-size:34px;
  line-height:1.22;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 18px;
  letter-spacing:-.3px;
}

.bec-apg__title b,
.bec-apg__title strong {
  color:var(--bec-blue-light);
}

.bec-apg__body {
  color:#56657d;
  font-size:16px;
  line-height:1.8;
}

.bec-apg__body strong {
  color:var(--bec-navy);
}

.bec-apg__ticks {
  list-style:none;
  margin:22px 0 0;
  padding:0;
}

.bec-apg__ticks li {
  position:relative;
  padding-left:34px;
  margin-bottom:13px;
  color:var(--bec-navy);
  font-weight:600;
  font-size:16px;
}

.bec-apg__ticks li::before {
  content:"\2713";
  position:absolute;
  left:0;
  top:1px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

.bec-apg__foot {
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:30px;
  flex-wrap:wrap;
}

.bec-apg__call {
  display:flex;
  align-items:center;
  gap:12px;
}

.bec-apg__call-ico {
  width:48px;
  height:48px;
  border-radius:50%;
  background:#eaf2fc;
  color:var(--bec-blue-light);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  flex:0 0 auto;
}

.bec-apg__call-lbl {
  display:block;
  color:#5d6e88;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.5px;
}

.bec-apg__call-num {
  display:block;
  color:var(--bec-navy);
  font-size:21px;
  font-weight:800;
}

.bec-apg__call:hover .bec-apg__call-num {
  color:var(--bec-blue-light);
}

.bec-apg-cta {
  padding:66px 0;
  background:#fff;
  border-top:1px solid #eef2f8;
  text-align:center;
}

.bec-apg-cta__inner {
  max-width:900px;
  margin:0 auto;
  padding:0 40px;
}

.bec-apg-cta__title {
  font-family:'Poppins',sans-serif;
  font-size:34px;
  line-height:1.25;
  color:#6f7d92;
  font-weight:400;
  margin:0 0 26px;
}

.bec-apg-cta__title b,
.bec-apg-cta__title strong {
  color:var(--bec-navy);
  font-weight:700;
}

.bec-apg-cta__btns {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

.bec-apg-cta__call {
  background:transparent;
  color:var(--bec-navy);
  border:2px solid var(--bec-navy);
}

.bec-apg-cta__call:hover {
  background:var(--bec-navy);
  color:#fff;
}

@media (max-width:900px) {
  .bec-apg__inner {
    grid-template-columns:1fr;
    gap:40px;
  }
  .bec-apg--alt .bec-apg__media {
    order:-1;
  }
  .bec-apg__title,
  .bec-apg-cta__title {
    font-size:27px;
  }
}

/* =====================================================================
   BLOG / ARCHIVE / SEARCH / CATEGORY / TAG / AUTHOR
   ===================================================================== */

.bec-blogx {
  padding:72px 0;
  background:#fff;
}

.bec-blogx__inner {
  max-width:var(--bec-shell);
  margin:0 auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:1fr 360px;
  gap:50px;
  align-items:start;
}

.bec-blogx__sresult {
  color:#5d6e88;
  margin:0 0 24px;
  font-size:16px;
}

.bec-blogx__termdesc {
  margin-bottom:28px;
  color:#5d6e88;
}

.bec-blogx__grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
}

.bec-pcard {
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}

.bec-pcard:hover {
  transform:translateY(-6px);
  box-shadow:0 26px 50px rgba(8,35,79,.13);
}

.bec-pcard__media {
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--bec-navy);
}

.bec-pcard__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}

.bec-pcard:hover .bec-pcard__media img {
  transform:scale(1.06);
}

.bec-pcard__ph {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.5);
  font-weight:700;
}

.bec-pcard__cat {
  position:absolute;
  left:14px;
  top:14px;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  font-size:12px;
  font-weight:700;
  padding:6px 12px;
  border-radius:30px;
}

.bec-pcard__body {
  padding:24px 24px 26px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.bec-pcard__meta {
  display:flex;
  gap:14px;
  color:#8493a8;
  font-size:13px;
  margin-bottom:10px;
}

.bec-pcard__title {
  font-size:20px;
  line-height:1.35;
  margin:0 0 10px;
}

.bec-pcard__title a {
  color:var(--bec-navy);
}

.bec-pcard__title a:hover {
  color:var(--bec-blue-light);
}

.bec-pcard__excerpt {
  color:#5d6e88;
  font-size:15px;
  line-height:1.7;
  margin:0 0 16px;
  flex:1;
}

.bec-pcard__more {
  color:var(--bec-blue-light);
  font-weight:700;
  font-size:14.5px;
  align-self:flex-start;
}

.bec-pcard__more span {
  display:inline-block;
  transition:transform .2s ease;
}

.bec-pcard__more:hover span {
  transform:translateX(4px);
}

.bec-blogx__pager {
  margin-top:42px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
}

.bec-blogx__pager .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid #e2e9f2;
  color:var(--bec-navy);
  font-weight:600;
  transition:.2s ease;
}

.bec-blogx__pager .page-numbers:hover {
  border-color:var(--bec-blue-light);
  color:var(--bec-blue-light);
}

.bec-blogx__pager .page-numbers.current {
  background:var(--bec-navy);
  border-color:var(--bec-navy);
  color:#fff;
}

.bec-blogx__pager .page-numbers.dots {
  border:0;
}

.bec-blogx__empty {
  text-align:center;
  padding:54px 24px;
  border:1px dashed #d6e0ee;
  border-radius:16px;
}

.bec-blogx__empty h2 {
  color:var(--bec-navy);
  margin:0 0 8px;
}

.bec-blogx__empty p {
  color:#5d6e88;
  margin:0 0 22px;
}

.bec-blogx__esearch {
  max-width:420px;
  margin:0 auto;
}

.bec-bside {
  display:flex;
  flex-direction:column;
  gap:26px;
  position:sticky;
  top:96px;
}

.bec-bside__widget {
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:16px;
  padding:26px;
  box-shadow:0 14px 34px rgba(8,35,79,.06);
}

.bec-bside__title {
  font-size:18px;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:2px solid #eef1f6;
  position:relative;
}

.bec-bside__title::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:54px;
  height:2px;
  background:var(--bec-yellow);
}

.bec-bside__search {
  display:flex;
  border:1px solid #e2e9f2;
  border-radius:10px;
  overflow:hidden;
}

.bec-bside__search input {
  flex:1;
  min-width:0;
  border:0;
  padding:12px 14px;
  font-size:15px;
  outline:none;
  background:#fff;
  color:var(--bec-ink);
}

.bec-bside__search button {
  border:0;
  background:var(--bec-navy);
  color:#fff;
  padding:0 16px;
  cursor:pointer;
  display:flex;
  align-items:center;
  transition:background .2s ease;
}

.bec-bside__search button:hover {
  background:var(--bec-blue-light);
}

.bec-bside__recent {
  list-style:none;
  margin:0;
  padding:0;
}

.bec-bside__recent li {
  margin-bottom:16px;
}

.bec-bside__recent li:last-child {
  margin-bottom:0;
}

.bec-bside__recent a {
  display:flex;
  gap:14px;
  align-items:center;
}

.bec-bside__rthumb {
  width:64px;
  height:64px;
  flex:0 0 auto;
  border-radius:10px;
  background:#e7edf5 center/cover no-repeat;
}

.bec-bside__rtitle {
  display:block;
  color:var(--bec-navy);
  font-weight:600;
  font-size:14.5px;
  line-height:1.4;
  transition:color .2s ease;
}

.bec-bside__recent a:hover .bec-bside__rtitle {
  color:var(--bec-blue-light);
}

.bec-bside__rdate {
  display:block;
  color:#8493a8;
  font-size:12.5px;
  margin-top:3px;
}

.bec-bside__cats {
  list-style:none;
  margin:0;
  padding:0;
}

.bec-bside__cats li {
  border-bottom:1px solid #eef2f8;
}

.bec-bside__cats li:last-child {
  border-bottom:0;
}

.bec-bside__cats a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 0;
  color:#445469;
  font-weight:600;
  font-size:15px;
  transition:color .2s,padding .2s;
}

.bec-bside__cats a:hover {
  color:var(--bec-blue-light);
  padding-left:6px;
}

.bec-bside__cats a span {
  background:#eef3f9;
  color:var(--bec-navy);
  font-size:12px;
  font-weight:700;
  min-width:26px;
  height:26px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.bec-bside__cta {
  background:var(--bec-dark-bg);
  border:0;
  text-align:center;
  color:#fff;
}

.bec-bside__ctatitle {
  color:#fff;
  font-size:20px;
  margin:0 0 8px;
}

.bec-bside__cta p {
  color:#cfdcef;
  font-size:14.5px;
  margin:0 0 18px;
}

/* ===================== 404 ===================== */

.bec-404 {
  position:relative;
  background:var(--bec-dark-bg);
  text-align:center;
  padding:96px 0;
  overflow:hidden;
}

.bec-404__veil {
  position:absolute;
  inset:0;
  opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%);
}

.bec-404__inner {
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:0 40px;
}

.bec-404__big {
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:140px;
  font-weight:800;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.35);
}

.bec-404__title {
  font-size:36px;
  color:#fff;
  margin:6px 0 12px;
}

.bec-404__text {
  color:#cfdcef;
  font-size:17px;
  margin:0 0 26px;
}

.bec-404__search {
  display:flex;
  max-width:460px;
  margin:0 auto 24px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.2);
}

.bec-404__search input {
  flex:1;
  min-width:0;
  border:0;
  padding:14px 18px;
  font-size:15px;
  outline:none;
}

.bec-404__search button {
  border:0;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  font-weight:700;
  padding:0 24px;
  cursor:pointer;
}

.bec-404__btns {
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:30px;
}

.bec-404__ghost {
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.5);
}

.bec-404__ghost:hover {
  background:#fff;
  color:var(--bec-navy);
}

.bec-404__links {
  color:#aebfda;
  font-size:14px;
  line-height:2;
}

.bec-404__linksh {
  display:block;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:12px;
}

.bec-404__links a {
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.3);
  margin:0 8px;
}

.bec-404__links a:hover {
  color:var(--bec-yellow);
  border-color:var(--bec-yellow);
}

@media (max-width:1024px) {
  .bec-blogx__inner {
    grid-template-columns:1fr;
  }
  .bec-bside {
    position:static;
  }
}

@media (max-width:560px) {
  .bec-blogx__grid {
    grid-template-columns:1fr;
  }
  .bec-404__big {
    font-size:96px;
  }
  .bec-404__title {
    font-size:28px;
  }
}

/* ===================== SINGLE POST extras ===================== */

.bec-single__meta {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  color:#8493a8;
  font-size:14px;
  margin-bottom:20px;
  font-weight:600;
}

.bec-single__meta a {
  color:var(--bec-blue-light);
}

.bec-single__thumb {
  margin:0 0 28px;
  border-radius:16px;
  overflow:hidden;
}

.bec-single__thumb img {
  width:100%;
  height:auto;
  display:block;
}

.bec-single__tags {
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid #eef2f8;
  color:#5d6e88;
  font-size:14px;
}

.bec-single__tags span {
  font-weight:700;
  color:var(--bec-navy);
  margin-right:6px;
}

.bec-single__tags a {
  display:inline-block;
  background:#eef3f9;
  color:var(--bec-navy);
  padding:5px 13px;
  border-radius:30px;
  margin:0 6px 6px 0;
  font-weight:600;
  transition:.2s ease;
}

.bec-single__tags a:hover {
  background:var(--bec-yellow);
}

.bec-single__nav {
  display:flex;
  gap:20px;
  margin-top:34px;
}

.bec-single__navlink {
  flex:1;
  background:#fff;
  border:1px solid #e7edf5;
  border-radius:14px;
  padding:18px 22px;
  transition:.25s ease;
}

.bec-single__navlink:hover {
  border-color:var(--bec-blue-light);
  box-shadow:0 16px 34px rgba(8,35,79,.1);
}

.bec-single__navlink--next {
  text-align:right;
}

.bec-single__navlink span {
  display:block;
  color:var(--bec-blue-light);
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
}

.bec-single__navlink strong {
  display:block;
  color:var(--bec-navy);
  font-size:15.5px;
  line-height:1.4;
}

@media (max-width:560px) {
  .bec-single__nav {
    flex-direction:column;
  }
}

/* =====================================================================
   HTML SITEMAP (SEOPress [seopress_html_sitemap]) — column layout
   ===================================================================== */

.bec-rte pre:has(.sp-html-sitemap) {
  display:block;
  white-space:normal;
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  background:none;
  border:0;
  padding:0;
  margin:0;
  overflow:visible;
  color:inherit;
  border-radius:0;
}

.sp-wrap-cpt {
  margin:0 0 50px;
  columns:3 260px;
  column-gap:40px;
}

.sp-wrap-cpt:last-child {
  margin-bottom:0;
}

.sp-cpt-name {
  column-span:all;
  font-family:'Poppins',sans-serif;
  font-size:26px;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 26px;
  padding-bottom:13px;
  border-bottom:2px solid #eef1f6;
  position:relative;
}

.sp-cpt-name::after {
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:66px;
  height:2px;
  background:var(--bec-yellow);
}

.sp-cat-name {
  font-size:17px;
  color:var(--bec-navy);
  font-weight:700;
  margin:0 0 10px;
  break-after:avoid;
}

.sp-html-sitemap ul {
  list-style:none;
  margin:0 0 22px;
  padding:0;
}

.sp-html-sitemap ul ul {
  margin:8px 0 0 14px;
}

.sp-html-sitemap li {
  margin:0 0 8px;
  padding-left:18px;
  position:relative;
  break-inside:avoid;
}

.sp-html-sitemap li::before {
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--bec-yellow);
  box-shadow:inset 0 0 0 1.5px var(--bec-navy);
}

.sp-html-sitemap a {
  color:#445469;
  font-weight:500;
  font-size:15px;
  line-height:1.5;
  transition:color .2s ease,padding .2s ease;
}

.sp-html-sitemap a:hover {
  color:var(--bec-blue-light);
}

@media (max-width:600px) {
  .sp-wrap-cpt {
    columns:1;
  }
}

/* About mission: render WYSIWYG bullets as yellow check ticks */

.bec-apg__body--ticks ul {
  list-style:none;
  margin:22px 0 0;
  padding:0;
}

.bec-apg__body--ticks ul li {
  position:relative;
  padding-left:34px;
  margin-bottom:13px;
  color:var(--bec-navy);
  font-weight:600;
  font-size:16px;
}

.bec-apg__body--ticks ul li::before {
  content:"\2713";
  position:absolute;
  left:0;
  top:1px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--bec-yellow);
  color:var(--bec-navy);
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* =====================================================================
   RESPONSIVE HARDENING — all box sections + their content
   (appended last so it wins the cascade). Boxes reflow, text wraps,
   nothing overflows on tablets/phones.
   ===================================================================== */

/* let any box shrink below its content's intrinsic width */

.bec-feat__col,
.bec-why__item,
.bec-svc__why-box,
.bec-cinfo__card,
.bec-areas__card,
.bec-serv__card,
.bec-tst__card,
.bec-blog__card,
.bec-apg__stat,
.bec-pcard,
.bec-process__steps > * {
  min-width:0;
}

/* long words / headings never push the box wider */

.bec-feat__text,
.bec-feat__title,
.bec-why__text,
.bec-why__title,
.bec-trust__title,
.bec-cinfo__txt,
.bec-cinfo__h,
.bec-svc__why-box h4,
.bec-areas__name,
.bec-serv__cname,
.bec-pcard__title,
.bec-pcard__excerpt,
.bec-tst__text,
.bec-blog__h {
  overflow-wrap:break-word;
  word-break:break-word;
}

/* images inside boxes never overflow */

.bec-feat__col img,
.bec-svc__why-box img,
.bec-cinfo__ico img,
.bec-trust__seal img,
.bec-serv__ico img,
.bec-process__icon img,
.bec-areas__pin img {
  max-width:100%;
}

/* ---- tablet ---- */

@media (max-width:880px) {
  .bec-svc__why-box {
    flex:1 1 calc(50% - 18px);
  }
  .bec-cinfo__card {
    flex:1 1 calc(50% - 24px);
  }
}

/* ---- phones: every box grid -> single column, content reflows ---- */

@media (max-width:600px) {
  .bec-process__steps {
    grid-template-columns:1fr;
    gap:16px;
    max-width:420px;
    margin-inline:auto;
  }
  .bec-svc__why-grid {
    flex-direction:column;
  }
  .bec-svc__why-box,
  .bec-cinfo__card,
  .bec-areas__card,
  .bec-tst__card,
  .bec-blog__card,
  .bec-serv__grid .bec-serv__card,
  .bec-slist__grid .bec-serv__card {
    flex:1 1 100%;
    max-width:none;
    min-width:0;
  }
  .bec-feat__col {
    padding:30px 22px;
  }
  .bec-why__item {
    flex-wrap:wrap;
    gap:10px;
  }
  .bec-why__badge {
    margin-left:46px;
  }
  /* About floating stat cards -> static, centered row under the image (no overflow) */
  .bec-apg__stats {
    position:static;
    margin-top:14px;
    justify-content:center;
    flex-wrap:wrap;
  }
  /* service detail sidebar full width */
  .bec-svc__inner {
    gap:34px;
  }
}

/* ---- very small phones ---- */

@media (max-width:380px) {
  .bec-trust__grid {
    grid-template-columns:1fr;
  }
  .bec-cinfo__inner {
    padding-left:18px;
    padding-right:18px;
  }
}

/* =====================================================================
   SMALL-MOBILE HARDENING — header menu · hero banner · box sections
   ===================================================================== */

@media (max-width:600px) {
  html,
  body {
    overflow-x:clip;
  }
}

@media (max-width:480px) {
  .bec-hero {
    padding:32px 0 44px;
  }
  .bec-hero__inner {
    gap:28px;
    padding-left:16px;
    padding-right:16px;
  }
  .bec-hero__trust {
    flex-wrap:wrap;
    gap:8px 12px;
  }
  .bec-hero__title {
    font-size:27px;
    line-height:1.22;
    word-break:break-word;
  }
  .bec-hero__sub {
    font-size:15.5px;
  }
  .bec-hero__cta {
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .bec-hero__cta .bec-btn {
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .bec-hero__figure img {
    height:240px;
  }
  .bec-hero__license {
    font-size:12px;
    padding:10px 12px;
  }
  .site-header__inner {
    padding-top:8px;
    padding-bottom:8px;
  }
  .bec-feat__col,
  .bec-svc__why-box,
  .bec-cinfo__card,
  .bec-areas__card,
  .bec-tst__card,
  .bec-blog__card,
  .bec-serv__grid .bec-serv__card,
  .bec-slist__grid .bec-serv__card,
  .bec-pcard {
    flex:1 1 100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
  .bec-blogx__grid {
    grid-template-columns:1fr !important;
  }
  .bec-svc__inner,
  .bec-blogx__inner {
    padding-left:16px;
    padding-right:16px;
  }
}

@media (max-width:360px) {
  .bec-hero__title {
    font-size:23px;
  }
  .bec-hero__sub {
    font-size:15px;
  }
  .bec-hero__figure img {
    height:205px;
  }
  .site-header__phone-num {
    font-size:13px;
  }
  .bec-why__card,
  .bec-cinfo__card,
  .bec-svc__why-box {
    padding-left:16px;
    padding-right:16px;
  }
  .bec-why__no {
    font-size:20px;
    min-width:28px;
  }
  .bec-trust__grid {
    gap:10px;
  }
}

/* =====================================================================
   SMALL-MOBILE HEADER — guarantee logo / call / burger never overlap
   ===================================================================== */

@media (max-width:1200px) {
  .site-header__inner {
    justify-content:space-between;
  }
  .site-header__logo {
    flex:0 1 auto;
    min-width:0;
  }
  .site-header__logo img {
    display:block;
    height:auto;
  }
  .site-header__actions {
    flex:0 0 auto;
  }
  .site-header__phone {
    flex:0 0 auto;
  }
  .mnav-burger {
    flex:0 0 auto;
  }
}

@media (max-width:420px) {
  .site-header__inner {
    gap:0 8px;
    padding-left:12px;
    padding-right:12px;
  }
  /* icon stays as tap-to-call; the full number lives in the burger drawer */
  .site-header__phone-num,
  .site-header__phone-lbl {
    display:none;
  }
  .site-header__phone {
    gap:0;
  }
  .site-header__phone-ico {
    font-size:26px;
  }
  .site-header__logo img {
    max-width:108px;
  }
  .mnav-burger {
    margin-left:2px;
  }
}

/* =====================================================================
   MOBILE FIXES — hero circle · why-list · services 2-col · CTA buttons
   ===================================================================== */

/* remove decorative hero circle on mobile / tablet */
@media (max-width:900px) {
  .bec-hero__blob {
    display:none !important;
  }
}

@media (max-width:600px) {
  /* Why Choose: badge drops below the text instead of squeezing it */
  .bec-why__item {
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:"num text" "num badge";
    column-gap:14px;
    row-gap:6px;
    align-items:start;
  }
  .bec-why__no {
    grid-area:num;
  }
  .bec-why__text {
    grid-area:text;
  }
  .bec-why__badge {
    grid-area:badge;
    justify-self:start;
    margin:4px 0 0;
  }

  /* Services: two per row in mobile portrait */
  .bec-serv__grid .bec-serv__card,
  .bec-slist__grid .bec-serv__card {
    flex:1 1 calc(50% - 9px) !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* CTA boxes: buttons stack full-width so they never overflow the box */
  .bec-cta__btns,
  .bec-apg-cta__btns {
    flex-direction:column;
    align-items:stretch;
  }
  .bec-cta__btns .bec-btn,
  .bec-apg-cta__btns .bec-btn {
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* =====================================================================
   FOOTER — stacked mobile design (mobile -> 1024px), navy/yellow theme
   ===================================================================== */
@media (max-width:1024px) {
  .bec-footer__main {
    padding:0 0 6px;
  }
  .bec-footer__main .bec-footer__inner {
    display:flex;
    flex-direction:column;
    padding:0;
  }
  .bec-footer__about {
    order:1;
  }
  .bec-footer__contact {
    order:2;
  }
  .bec-footer__col {
    order:3;
  }

  /* top block: logo + license + socials, centered */
  .bec-footer__about {
    text-align:center;
    padding:40px 22px 28px;
  }
  .bec-footer__lic {
    align-items:center;
  }
  .bec-footer__social {
    justify-content:center;
  }

  /* section heading -> full-width yellow bar */
  .bec-footer__col .bec-footer__h,
  .bec-footer__contact .bec-footer__h {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--bec-yellow);
    color:var(--bec-navy);
    margin:0;
    padding:15px 22px;
    font-size:15px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
  }
  .bec-footer__col .bec-footer__h::after {
    content:"\2197";
    font-size:14px;
    font-weight:800;
  }

  /* menu items: full-width centered rows with dividers */
  .bec-footer__menu ul {
    margin:0;
  }
  .bec-footer__menu li {
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .bec-footer__menu a {
    display:block;
    padding:15px 22px;
    text-align:center;
    color:#fff;
  }

  /* contact section: centered */
  .bec-footer__contact {
    text-align:center;
    padding:0 22px 22px;
  }
  .bec-footer__contact .bec-footer__h {
    margin:0 -22px;
  }
  .bec-footer__contact .bec-footer__phone,
  .bec-footer__contact .bec-footer__addr {
    justify-content:center;
    text-align:center;
    margin-top:16px;
  }
  .bec-footer__hours {
    align-items:center;
    text-align:center;
    margin-top:16px;
  }
  .bec-footer__cta {
    margin:18px auto 0;
  }

  /* bottom bar: centered + clear the floating chat widget */
  .bec-footer__bar-inner {
    flex-direction:column;
    gap:12px;
    text-align:center;
    padding-bottom:86px;
  }
  .bec-footer__copy {
    text-align:center;
  }
  .bec-footer__bottom-menu ul {
    justify-content:center;
    flex-wrap:wrap;
  }
}
