.elementor-kit-6{--e-global-color-primary:#002C5F;--e-global-color-secondary:#FFC72C;--e-global-color-text:#7A7A7A;--e-global-color-accent:#003D82;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Service Card Hover + Image Zoom */
.service-card-hover {
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  border-radius: 16px;
}
.service-card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
}
.service-card-hover .elementor-widget-image {
  overflow: hidden;
}
.service-card-hover .elementor-image img {
  transition: transform 0.5s ease;
}
.service-card-hover:hover .elementor-image img {
  transform: scale(1.1);
}
    /* ============================================================
       RESET & VARIABLES
    ============================================================ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --navy:       #191A5D;
      --navy-dark:  #13144a;
      --navy-bg:    #0f1038;
      --gold:       #FFC72C;
      --gold-hover: #e6b000;
      --white:      #ffffff;
      --gray-bg:    #f5f6fa;
      --text-muted: #6b7a99;
      --border:     #e8eaf2;
      --font:       'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      --nav-h:      70px;
      --transition: .18s ease;
    }

    body { font-family: var(--font); }
    a    { text-decoration: none; }
    ul   { list-style: none; }


    /* ============================================================
       TOP BAR
    ============================================================ */
    .ics-topbar {
      background: var(--navy-bg);
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 40px;
      position: relative;
      z-index: 500;
    }

    .ics-topbar__links {
      display: flex;
      align-items: center;
      gap: 2px;
    }

    /* Top bar item with optional dropdown */
    .tb-item { position: relative; }

    .tb-item > a {
      font-size: 11px;
      font-weight: 500;
      color: rgba(255,255,255,.52);
      padding: 5px 10px;
      border-radius: 4px;
      display: flex;
      align-items: center;
      gap: 4px;
      transition: color var(--transition), background var(--transition);
      white-space: nowrap;
    }
    .tb-item > a:hover { color: var(--gold); background: rgba(255,255,255,.06); }

    .tb-chev {
      display: inline-block;
      width: 0; height: 0;
      border-left: 3px solid transparent;
      border-right: 3px solid transparent;
      border-top: 4px solid rgba(255,255,255,.3);
      transition: transform var(--transition), border-top-color var(--transition);
    }
    .tb-item:hover > a .tb-chev {
      transform: rotate(180deg);
      border-top-color: var(--gold);
    }

    /* Top bar dropdown */
    .tb-drop {
      position: absolute;
      top: 100%;
  padding-top: 8px; 
      left: 0;
      background: var(--white);
      border-radius: 0 8px 8px 8px;
      border-top: 2px solid var(--gold);
      box-shadow: 0 8px 28px rgba(25,26,93,.15);
      padding: 6px;
      min-width: 210px;
      opacity: 0;
      pointer-events: none;
      transform: translateY(-6px);
      transition: opacity var(--transition), transform var(--transition);
      z-index: 600;
    }
    .tb-item:hover .tb-drop {
      opacity: 1;
      pointer-events: all;
      transform: translateY(0);
    }

    .tb-drop a {
      display: flex;
      align-items: center;
      gap: 9px;
      padding: 8px 10px;
      border-radius: 6px;
      font-size: 12px;
      font-weight: 500;
      color: var(--navy);
      transition: background var(--transition);
      white-space: nowrap;
    }
    .tb-drop a:hover { background: #f0f2ff; }

    .tb-drop-icon {
      width: 26px; height: 26px;
      background: #eeeffe;
      border-radius: 5px;
      display: flex; align-items: center; justify-content: center;
      font-size: 12px;
      flex-shrink: 0;
    }

    .tb-drop-divider {
      height: 1px;
      background: var(--border);
      margin: 4px 2px;
    }

    /* Top bar right */
    .ics-topbar__right {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .ics-topbar__avail {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 11px;
      color: rgba(255,255,255,.42);
    }
    .ics-topbar__avail-dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: #22c55e;
      flex-shrink: 0;
    }
    .ics-topbar__phone {
      font-size: 12px;
      font-weight: 700;
      color: var(--gold);
      letter-spacing: .02em;
      transition: color var(--transition);
    }
    .ics-topbar__phone:hover { color: var(--gold-hover); }


    /* ============================================================
       MAIN NAV
    ============================================================ */
    .ics-nav {
      background: var(--white);
      height: var(--nav-h);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 40px;
      border-bottom: 1px solid var(--border);
      box-shadow: 0 2px 12px rgba(25,26,93,.07);
      position: relative;
      z-index: 400;
    }

    /* Logo */
    .ics-nav__logo {
      display: flex;
      align-items: center;
      flex-shrink: 0;
    }
    .ics-nav__logo img {
      height: 48px;
      width: auto;
      object-fit: contain;
      display: block;
    }
    /* Fallback text logo (shows if image fails) */
    .ics-nav__logo-fallback {
      display: none;
      align-items: center;
      gap: 9px;
    }
    .ics-nav__logo-fallback-mark {
      width: 32px; height: 32px;
      background: var(--gold);
      border-radius: 7px;
      display: flex; align-items: center; justify-content: center;
      font-size: 16px;
    }
    .ics-nav__logo-fallback-text {
      font-size: 14px;
      font-weight: 800;
      color: var(--navy);
      letter-spacing: -.01em;
    }

    /* Nav links */
    .ics-nav__links {
      display: flex;
      align-items: center;
      height: 100%;
      margin: 0 16px;
      gap: 0;
    }

    .ics-nav__item {
      position: relative;
      height: 100%;
      display: flex;
      align-items: center;
    }

    .ics-nav__item > a {
      font-size: 13px;
      font-weight: 600;
      color: var(--navy);
      padding: 0 14px;
      height: 100%;
      display: flex;
      align-items: center;
      gap: 5px;
      border-bottom: 3px solid transparent;
      transition: color var(--transition), border-color var(--transition);
      white-space: nowrap;
    }
    .ics-nav__item > a:hover {
      color: var(--navy-dark);
      border-bottom-color: var(--gold);
    }
    .ics-nav__item.is-active > a {
      border-bottom-color: var(--gold);
    }

    /* Chevron */
    .nav-chev {
      display: inline-block;
      width: 0; height: 0;
      border-left: 3.5px solid transparent;
      border-right: 3.5px solid transparent;
      border-top: 4.5px solid rgba(25,26,93,.35);
      transition: transform var(--transition), border-top-color var(--transition);
    }
    .ics-nav__item > a:hover .nav-chev { border-top-color: var(--navy); }
    .ics-nav__item:hover > a .nav-chev { transform: rotate(180deg); }


    /* ============================================================
       MEGA MENU
    ============================================================ */
    .ics-mega {
      position: absolute;
      top: var(--nav-h);
      left: 0;
      background: var(--white);
      border-radius: 0 10px 10px 10px;
      border-top: 3px solid var(--gold);
      box-shadow: 0 14px 40px rgba(25,26,93,.14);
      padding: 20px 22px 16px;
      min-width: 460px;
      opacity: 0;
      pointer-events: none;
      transform: translateY(-6px);
      transition: opacity var(--transition), transform var(--transition);
      z-index: 500;
    }
    .ics-nav__item:hover .ics-mega {
      opacity: 1;
      pointer-events: all;
      transform: translateY(0);
    }

    .ics-mega__label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #a0aec0;
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--border);
    }

    .ics-mega__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3px 14px;
    }

    .ics-mega__link {
      display: flex;
      align-items: center;
      gap: 11px;
      padding: 9px 10px;
      border-radius: 8px;
      transition: background var(--transition);
    }
    .ics-mega__link:hover { background: #f0f2ff; }

    .ics-mega__icon {
      width: 32px; height: 32px;
      border-radius: 7px;
      background: #eeeffe;
      display: flex; align-items: center; justify-content: center;
      font-size: 14px;
      flex-shrink: 0;
      transition: background var(--transition);
    }
    .ics-mega__link:hover .ics-mega__icon { background: #dcdffe; }

    .ics-mega__link-title {
      display: block;
      font-size: 12px;
      font-weight: 600;
      color: var(--navy);
    }
    .ics-mega__link-sub {
      display: block;
      font-size: 11px;
      color: var(--text-muted);
      margin-top: 1px;
    }

    .ics-mega__footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid var(--border);
    }
    .ics-mega__footer-text { font-size: 11px; color: #a0aec0; }
    .ics-mega__footer-cta {
      font-size: 11px;
      font-weight: 700;
      color: var(--navy);
      background: none;
      border: none;
      cursor: pointer;
      font-family: var(--font);
      transition: color var(--transition);
    }
    .ics-mega__footer-cta:hover {
      color: var(--gold-hover);
      text-decoration: underline;
    }


    /* ============================================================
       SCHEDULE SERVICE CTA
    ============================================================ */
    .ics-nav__cta {
      display: flex;
      align-items: center;
      gap: 7px;
      height: 42px;
      padding: 0 20px;
      background: var(--gold);
      color: var(--navy);
      border: none;
      border-radius: 8px;
      font-family: var(--font);
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      white-space: nowrap;
      flex-shrink: 0;
      transition: background var(--transition), transform var(--transition);
    }
    .ics-nav__cta:hover  { background: var(--gold-hover); transform: scale(1.02); }
    .ics-nav__cta:active { transform: scale(.98); }


    /* ============================================================
       HAMBURGER BUTTON
    ============================================================ */
    .ics-hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      cursor: pointer;
      padding: 6px;
      background: none;
      border: none;
    }
    .ics-hamburger span {
      display: block;
      width: 22px; height: 2px;
      background: var(--navy);
      border-radius: 2px;
      transition: transform .25s, opacity .25s;
    }
    .ics-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .ics-hamburger.is-open span:nth-child(2) { opacity: 0; }
    .ics-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


    /* ============================================================
       MOBILE DRAWER
    ============================================================ */
    .ics-mobile-drawer {
      display: none;
      background: var(--white);
      border-top: 1px solid var(--border);
      overflow: hidden;
      max-height: 0;
      transition: max-height .35s ease;
    }
    .ics-mobile-drawer.is-open {
      max-height: 700px;
      overflow-y: auto;
    }

    .mobile-links { padding: 6px 0 12px; }
    .mobile-links li { border-bottom: 1px solid var(--border); }
    .mobile-links li:last-child { border-bottom: none; }

    .mobile-main-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 13px 20px;
      cursor: pointer;
      background: none;
      border: none;
      width: 100%;
      text-align: left;
      font-family: var(--font);
      transition: background var(--transition);
    }
    .mobile-main-link:hover { background: var(--gray-bg); }

    .mobile-main-link a {
      font-size: 14px;
      font-weight: 600;
      color: var(--navy);
      flex: 1;
    }

    .mob-chev {
      display: inline-block;
      width: 0; height: 0;
      border-left: 4px solid transparent;
      border-right: 4px solid transparent;
      border-top: 5px solid rgba(25,26,93,.38);
      transition: transform .2s;
      flex-shrink: 0;
    }
    .mob-chev.open { transform: rotate(180deg); }

    .mobile-sub {
      background: var(--gray-bg);
      overflow: hidden;
      max-height: 0;
      transition: max-height .25s ease;
    }
    .mobile-sub.is-open { max-height: 500px; }

    .mobile-sub a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 24px;
      font-size: 13px;
      font-weight: 500;
      color: var(--navy);
      border-bottom: 1px solid rgba(25,26,93,.06);
      transition: background var(--transition);
    }
    .mobile-sub a:last-child { border-bottom: none; }
    .mobile-sub a:hover { background: #eeeffe; }

    .mob-icon {
      width: 26px; height: 26px;
      background: #eeeffe;
      border-radius: 5px;
      display: flex; align-items: center; justify-content: center;
      font-size: 12px;
      flex-shrink: 0;
    }

    .mobile-cta-wrap {
      padding: 12px 20px 16px;
      border-top: 1px solid var(--border);
    }
    .mobile-cta {
      width: 100%;
      height: 46px;
      background: var(--gold);
      color: var(--navy);
      border: none;
      border-radius: 8px;
      font-family: var(--font);
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      transition: background var(--transition);
    }
    .mobile-cta:hover { background: var(--gold-hover); }


    /* ============================================================
       RESPONSIVE BREAKPOINTS
    ============================================================ */

    /* Tablet + mobile: hide desktop nav, show hamburger */
    @media (max-width: 1024px) {
      .ics-nav__links { display: none; }
      .ics-nav__cta   { display: none; }
      .ics-hamburger  { display: flex; }
      .ics-mobile-drawer { display: block; }
      .ics-nav  { padding: 0 24px; }
      .ics-topbar { padding: 0 24px; }
    }

    /* Mobile: hide top bar links, keep phone */
    @media (max-width: 540px) {
      .ics-topbar__links { display: none; }
      .ics-topbar { justify-content: flex-end; }
    }
    
    /* ---- MOBILE ACCORDION - FLECHA MEJORADA ---- */

/* Quita el triángulo CSS viejo */
.mob-chev {
  border: none !important;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-left: 1px solid var(--border) !important;
  margin-right: -20px;
  cursor: pointer;
}

/* El SVG dentro del chev rota al abrir */
.mob-chev svg {
  transition: transform .25s ease;
  flex-shrink: 0;
}
.mob-chev.open svg {
  transform: rotate(180deg);
}

/* Área de tap del row principal más alta */
.mobile-main-link {
  min-height: 52px;
  padding: 0 20px;
}

/* El link de texto ocupa todo el espacio menos la flecha */
.mobile-main-link a {
  flex: 1;
  padding: 16px 0;
  display: block;
}

/* ---- MEGA MENU FOOTER CTA ---- */
.ics-mega__footer-cta {
  background: var(--navy) !important;
  color: #ffffff !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  border: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: background .18s ease !important;
}

.ics-mega__footer-cta:hover {
  background: var(--navy-dark) !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

/* ---- HAMBURGER BUTTON ---- */
.ics-hamburger {
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
}

.ics-hamburger span {
  background: #191A5D !important;
}

/* Estado abierto — X en azul, sin fondo rojo */
.ics-hamburger.is-open {
  background: transparent !important;
}

.ics-hamburger.is-open span {
  background: #191A5D !important;
}

a {
    background-color: transparent;
    color: #000000;
    text-decoration: none;
}/* End custom CSS */