.elementor-241 .elementor-element.elementor-element-339a70e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.78;--padding-top:150px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-339a70e:not(.elementor-motion-effects-element-type-background), .elementor-241 .elementor-element.elementor-element-339a70e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://futureroofingllc.com/wp-content/uploads/PHOTO-2026-03-26-12-45-18.webp");background-position:center center;background-size:cover;}.elementor-241 .elementor-element.elementor-element-339a70e::before, .elementor-241 .elementor-element.elementor-element-339a70e > .elementor-background-video-container::before, .elementor-241 .elementor-element.elementor-element-339a70e > .e-con-inner > .elementor-background-video-container::before, .elementor-241 .elementor-element.elementor-element-339a70e > .elementor-background-slideshow::before, .elementor-241 .elementor-element.elementor-element-339a70e > .e-con-inner > .elementor-background-slideshow::before, .elementor-241 .elementor-element.elementor-element-339a70e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-241 .elementor-element.elementor-element-38cbcc0{text-align:center;}.elementor-241 .elementor-element.elementor-element-38cbcc0 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:62px;font-weight:800;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-241 .elementor-element.elementor-element-f46da04{text-align:center;color:#FFFFFF;}.elementor-241 .elementor-element.elementor-element-8f57d35{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-8f57d35:not(.elementor-motion-effects-element-type-background), .elementor-241 .elementor-element.elementor-element-8f57d35 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-241 .elementor-element.elementor-element-5f6f921{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-241 .elementor-element.elementor-element-28b5abe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-241 .elementor-element.elementor-element-0591ed6{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-241 .elementor-element.elementor-element-59c83af img{border-radius:10px 10px 10px 10px;}.elementor-241 .elementor-element.elementor-element-4d6874b .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:15px;font-weight:800;color:var( --e-global-color-126085b );}.elementor-241 .elementor-element.elementor-element-ef2f3e1{text-align:start;}.elementor-241 .elementor-element.elementor-element-ef2f3e1 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:20px;font-weight:800;color:var( --e-global-color-primary );}.elementor-241 .elementor-element.elementor-element-fa23e8d{text-align:start;color:var( --e-global-color-text );}.elementor-241 .elementor-element.elementor-element-fa23e8d a{color:var( --e-global-color-text );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-241 .elementor-element.elementor-element-942d17a{--display:flex;}.elementor-241 .elementor-element.elementor-element-1e63b9f img{border-radius:10px 10px 10px 10px;}.elementor-241 .elementor-element.elementor-element-bd21738 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:15px;font-weight:800;color:var( --e-global-color-126085b );}.elementor-241 .elementor-element.elementor-element-55ca078{text-align:start;}.elementor-241 .elementor-element.elementor-element-55ca078 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:20px;font-weight:800;color:var( --e-global-color-primary );}.elementor-241 .elementor-element.elementor-element-8b98fca{text-align:start;color:var( --e-global-color-text );}.elementor-241 .elementor-element.elementor-element-2a8e517{--display:flex;}.elementor-241 .elementor-element.elementor-element-4375d10 img{border-radius:10px 10px 10px 10px;}.elementor-241 .elementor-element.elementor-element-de6e364 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:15px;font-weight:800;color:var( --e-global-color-126085b );}.elementor-241 .elementor-element.elementor-element-c729a19{text-align:start;}.elementor-241 .elementor-element.elementor-element-c729a19 .elementor-heading-title{font-family:"Arial", Sans-serif;font-size:20px;font-weight:800;color:var( --e-global-color-primary );}.elementor-241 .elementor-element.elementor-element-3c8595a{text-align:start;color:var( --e-global-color-text );}@media(max-width:767px){.elementor-241 .elementor-element.elementor-element-339a70e{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-241 .elementor-element.elementor-element-8f57d35{--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-241 .elementor-element.elementor-element-28b5abe{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for heading, class: .elementor-element-38cbcc0 */.elementor-241 .elementor-element.elementor-element-38cbcc0 {
  position: relative;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-38cbcc0 .elementor-heading-title {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(38px, 6vw, 50px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  text-wrap: balance;
  padding-bottom: 0.15em !important;
  background: linear-gradient(
    100deg,
    #FFFFFF 0%,
    #FFE89C 20%,
    #F5B909 40%,
    #FFE89C 60%,
    #FFFFFF 80%,
    #F5B909 100%
  );
  background-size: 220% auto;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
          color: transparent;
  filter: drop-shadow(0 6px 20px rgba(7,10,23,0.55));
  animation: frlTitleShine 6s linear infinite;
}
@keyframes frlTitleShine {
  0%   { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}
/* Línea decorativa debajo del título */
.elementor-241 .elementor-element.elementor-element-38cbcc0::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  margin: 22px auto 0;
  background: linear-gradient(90deg, #D00000, #F5B909, #154CA3);
  border-radius: 999px;
  box-shadow: 0 0 20px rgba(245,185,9,0.5);
}
/* Responsive */
@media (max-width: 1024px) {
  .elementor-241 .elementor-element.elementor-element-38cbcc0 .elementor-heading-title {
    font-size: clamp(34px, 5.5vw, 60px) !important;
    line-height: 1.18 !important;
  }
}
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-38cbcc0 .elementor-heading-title {
    font-size: clamp(30px, 8vw, 44px) !important;
    line-height: 1.2 !important;
  }
  .elementor-241 .elementor-element.elementor-element-38cbcc0::after { width: 60px; height: 3px; margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-38cbcc0 .elementor-heading-title { animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-75c8971 */.elementor-241 .elementor-element.elementor-element-75c8971 {
  position: relative;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #D00000 !important;
  color: #FFFFFF !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  box-shadow:
    0 10px 22px rgba(208,0,0,0.35),
    0 0 0 1px rgba(255,255,255,0.08) inset;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    box-shadow .4s cubic-bezier(.2,.7,.2,1),
    letter-spacing .4s ease;
}

/* Capa que entra deslizando (rojo → navy) */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #070A17 0%, #154CA3 100%);
  transform: translateX(-101%);
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
  z-index: -1;
}

/* Brillo diagonal que pasa de izquierda a derecha */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.45) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left .8s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
  z-index: 1;
}

/* Hover */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:hover {
  color: #FFFFFF !important;
  transform: translateY(-3px);
  letter-spacing: 0.10em !important;
  box-shadow:
    0 16px 36px rgba(7,10,23,0.50),
    0 0 0 1px rgba(245,185,9,0.4) inset;
}
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:hover::before { transform: translateX(0); }
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:hover::after  { left: 125%; }

/* Active (click) */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:active {
  transform: translateY(-1px) scale(0.98);
}

/* Focus accesible */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:focus-visible {
  outline: 3px solid #F5B909;
  outline-offset: 3px;
}

/* Pulso sutil de atracción */
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button {
  animation: frlBtnGlow 3.2s ease-in-out infinite;
}
@keyframes frlBtnGlow {
  0%, 100% { box-shadow: 0 10px 22px rgba(208,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.08) inset; }
  50%      { box-shadow: 0 14px 32px rgba(208,0,0,0.55), 0 0 0 1px rgba(245,185,9,0.25) inset; }
}
.elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button:hover { animation: none; }

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button {
    padding: 11px 22px !important;
    font-size: 12.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button,
  .elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button::before,
  .elementor-241 .elementor-element.elementor-element-75c8971 .elementor-button::after {
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0591ed6 */.elementor-241 .elementor-element.elementor-element-0591ed6 {
  position: relative;
  padding: 36px 28px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
          backdrop-filter: blur(18px) saturate(140%);
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 rgba(255, 255, 255, 0.10) inset;
  overflow: hidden;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease, border-color .5s ease, background .5s ease;
}

/* Reflejo superior tipo cristal (shine line) */
.elementor-241 .elementor-element.elementor-element-0591ed6::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  z-index: 4;
}

/* Línea inferior gradiente que aparece en hover */
.elementor-241 .elementor-element.elementor-element-0591ed6::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #154CA3, #D00000, #F5B909);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
  z-index: 3;
}

/* Glow decorativo radial de fondo */
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-wrapper::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -30%;
  width: 320px;
  height: 320px;
  background: radial-gradient(closest-side, rgba(21,76,163,0.30), transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
  z-index: 0;
  border-radius: 50%;
  filter: blur(20px);
}
.elementor-241 .elementor-element.elementor-element-0591ed6:hover .elementor-icon-box-wrapper::before { opacity: 1; }

.elementor-241 .elementor-element.elementor-element-0591ed6:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(245, 185, 9, 0.35) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 0 60px rgba(21, 76, 163, 0.15);
}
.elementor-241 .elementor-element.elementor-element-0591ed6:hover::after { transform: scaleX(1); }

/* ÍCONO — wrapper glass redondeado */
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-icon {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 22px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.30),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 1px 0 rgba(255, 255, 255, 0.20) inset;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), background .5s ease, border-color .5s ease, box-shadow .5s ease;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon {
  position: relative;
  color: #F5B909 !important;
  font-size: 34px !important;
  filter: drop-shadow(0 4px 12px rgba(245,185,9,0.30));
  transition: color .4s ease, transform .5s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon svg {
  width: 34px !important;
  height: 34px !important;
  fill: currentColor !important;
}

/* Punto rojo pulsante en esquina del ícono */
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-icon::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D00000;
  box-shadow:
    0 0 0 0 rgba(208,0,0,0.6),
    0 0 12px rgba(208,0,0,0.6);
  animation: frlIconDot 2s infinite;
  z-index: 3;
}
@keyframes frlIconDot {
  0%   { box-shadow: 0 0 0 0   rgba(208,0,0,0.7), 0 0 12px rgba(208,0,0,0.6); }
  70%  { box-shadow: 0 0 0 10px rgba(208,0,0,0),  0 0 12px rgba(208,0,0,0.6); }
  100% { box-shadow: 0 0 0 0   rgba(208,0,0,0),   0 0 12px rgba(208,0,0,0.6); }
}

/* Hover en el ícono */
.elementor-241 .elementor-element.elementor-element-0591ed6:hover .elementor-icon-box-icon {
  background: linear-gradient(135deg, rgba(245,185,9,0.95), rgba(208,0,0,0.85)) !important;
  border-color: rgba(245,185,9,0.6);
  transform: rotate(-6deg) scale(1.08);
  box-shadow:
    0 22px 44px rgba(245,185,9,0.35),
    0 0 0 1px rgba(255,255,255,0.25) inset;
}
.elementor-241 .elementor-element.elementor-element-0591ed6:hover .elementor-icon {
  color: #FFFFFF !important;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.40));
}

/* TÍTULO de la card */
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-title a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 14px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
  transition: color .3s ease;
  position: relative;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-0591ed6:hover .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-0591ed6:hover .elementor-icon-box-title a {
  color: #F5B909 !important;
  -webkit-text-fill-color: #F5B909 !important;
}

/* DESCRIPCIÓN */
.elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-description {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  position: relative;
  z-index: 2;
}

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-0591ed6 { padding: 30px 22px !important; }
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-icon {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 18px !important;
  }
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon { font-size: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon svg { width: 30px !important; height: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-title,
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-title a { font-size: 20px !important; }
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-description { font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-0591ed6,
  .elementor-241 .elementor-element.elementor-element-0591ed6::before,
  .elementor-241 .elementor-element.elementor-element-0591ed6::after,
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-icon,
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon-box-icon::after,
  .elementor-241 .elementor-element.elementor-element-0591ed6 .elementor-icon { animation: none !important; transition: none !important; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7a20cf2 */.elementor-241 .elementor-element.elementor-element-7a20cf2 {
  position: relative;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #D00000 !important;
  color: #FFFFFF !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  box-shadow:
    0 10px 22px rgba(208,0,0,0.35),
    0 0 0 1px rgba(255,255,255,0.08) inset;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    box-shadow .4s cubic-bezier(.2,.7,.2,1),
    letter-spacing .4s ease;
}

/* Capa que entra deslizando (rojo → navy) */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #070A17 0%, #154CA3 100%);
  transform: translateX(-101%);
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
  z-index: -1;
}

/* Brillo diagonal que pasa de izquierda a derecha */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.45) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left .8s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
  z-index: 1;
}

/* Hover */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:hover {
  color: #FFFFFF !important;
  transform: translateY(-3px);
  letter-spacing: 0.10em !important;
  box-shadow:
    0 16px 36px rgba(7,10,23,0.50),
    0 0 0 1px rgba(245,185,9,0.4) inset;
}
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:hover::before { transform: translateX(0); }
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:hover::after  { left: 125%; }

/* Active (click) */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:active {
  transform: translateY(-1px) scale(0.98);
}

/* Focus accesible */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:focus-visible {
  outline: 3px solid #F5B909;
  outline-offset: 3px;
}

/* Pulso sutil de atracción */
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button {
  animation: frlBtnGlow 3.2s ease-in-out infinite;
}
@keyframes frlBtnGlow {
  0%, 100% { box-shadow: 0 10px 22px rgba(208,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.08) inset; }
  50%      { box-shadow: 0 14px 32px rgba(208,0,0,0.55), 0 0 0 1px rgba(245,185,9,0.25) inset; }
}
.elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button:hover { animation: none; }

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button {
    padding: 11px 22px !important;
    font-size: 12.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button,
  .elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button::before,
  .elementor-241 .elementor-element.elementor-element-7a20cf2 .elementor-button::after {
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-942d17a */.elementor-241 .elementor-element.elementor-element-942d17a {
  position: relative;
  padding: 36px 28px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
          backdrop-filter: blur(18px) saturate(140%);
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 rgba(255, 255, 255, 0.10) inset;
  overflow: hidden;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease, border-color .5s ease, background .5s ease;
}

/* Reflejo superior tipo cristal (shine line) */
.elementor-241 .elementor-element.elementor-element-942d17a::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  z-index: 4;
}

/* Línea inferior gradiente que aparece en hover */
.elementor-241 .elementor-element.elementor-element-942d17a::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #154CA3, #D00000, #F5B909);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
  z-index: 3;
}

/* Glow decorativo radial de fondo */
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-wrapper::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -30%;
  width: 320px;
  height: 320px;
  background: radial-gradient(closest-side, rgba(21,76,163,0.30), transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
  z-index: 0;
  border-radius: 50%;
  filter: blur(20px);
}
.elementor-241 .elementor-element.elementor-element-942d17a:hover .elementor-icon-box-wrapper::before { opacity: 1; }

.elementor-241 .elementor-element.elementor-element-942d17a:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(245, 185, 9, 0.35) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 0 60px rgba(21, 76, 163, 0.15);
}
.elementor-241 .elementor-element.elementor-element-942d17a:hover::after { transform: scaleX(1); }

/* ÍCONO — wrapper glass redondeado */
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-icon {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 22px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.30),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 1px 0 rgba(255, 255, 255, 0.20) inset;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), background .5s ease, border-color .5s ease, box-shadow .5s ease;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon {
  position: relative;
  color: #F5B909 !important;
  font-size: 34px !important;
  filter: drop-shadow(0 4px 12px rgba(245,185,9,0.30));
  transition: color .4s ease, transform .5s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon svg {
  width: 34px !important;
  height: 34px !important;
  fill: currentColor !important;
}

/* Punto rojo pulsante en esquina del ícono */
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-icon::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D00000;
  box-shadow:
    0 0 0 0 rgba(208,0,0,0.6),
    0 0 12px rgba(208,0,0,0.6);
  animation: frlIconDot 2s infinite;
  z-index: 3;
}
@keyframes frlIconDot {
  0%   { box-shadow: 0 0 0 0   rgba(208,0,0,0.7), 0 0 12px rgba(208,0,0,0.6); }
  70%  { box-shadow: 0 0 0 10px rgba(208,0,0,0),  0 0 12px rgba(208,0,0,0.6); }
  100% { box-shadow: 0 0 0 0   rgba(208,0,0,0),   0 0 12px rgba(208,0,0,0.6); }
}

/* Hover en el ícono */
.elementor-241 .elementor-element.elementor-element-942d17a:hover .elementor-icon-box-icon {
  background: linear-gradient(135deg, rgba(245,185,9,0.95), rgba(208,0,0,0.85)) !important;
  border-color: rgba(245,185,9,0.6);
  transform: rotate(-6deg) scale(1.08);
  box-shadow:
    0 22px 44px rgba(245,185,9,0.35),
    0 0 0 1px rgba(255,255,255,0.25) inset;
}
.elementor-241 .elementor-element.elementor-element-942d17a:hover .elementor-icon {
  color: #FFFFFF !important;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.40));
}

/* TÍTULO de la card */
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-title a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 14px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
  transition: color .3s ease;
  position: relative;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-942d17a:hover .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-942d17a:hover .elementor-icon-box-title a {
  color: #F5B909 !important;
  -webkit-text-fill-color: #F5B909 !important;
}

/* DESCRIPCIÓN */
.elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-description {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  position: relative;
  z-index: 2;
}

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-942d17a { padding: 30px 22px !important; }
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-icon {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 18px !important;
  }
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon { font-size: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon svg { width: 30px !important; height: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-title,
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-title a { font-size: 20px !important; }
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-description { font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-942d17a,
  .elementor-241 .elementor-element.elementor-element-942d17a::before,
  .elementor-241 .elementor-element.elementor-element-942d17a::after,
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-icon,
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon-box-icon::after,
  .elementor-241 .elementor-element.elementor-element-942d17a .elementor-icon { animation: none !important; transition: none !important; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-16bccbc */.elementor-241 .elementor-element.elementor-element-16bccbc {
  position: relative;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px !important;
  background: #D00000 !important;
  color: #FFFFFF !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  box-shadow:
    0 10px 22px rgba(208,0,0,0.35),
    0 0 0 1px rgba(255,255,255,0.08) inset;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    box-shadow .4s cubic-bezier(.2,.7,.2,1),
    letter-spacing .4s ease;
}

/* Capa que entra deslizando (rojo → navy) */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #070A17 0%, #154CA3 100%);
  transform: translateX(-101%);
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
  z-index: -1;
}

/* Brillo diagonal que pasa de izquierda a derecha */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.45) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left .8s cubic-bezier(.2,.7,.2,1);
  pointer-events: none;
  z-index: 1;
}

/* Hover */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:hover {
  color: #FFFFFF !important;
  transform: translateY(-3px);
  letter-spacing: 0.10em !important;
  box-shadow:
    0 16px 36px rgba(7,10,23,0.50),
    0 0 0 1px rgba(245,185,9,0.4) inset;
}
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:hover::before { transform: translateX(0); }
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:hover::after  { left: 125%; }

/* Active (click) */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:active {
  transform: translateY(-1px) scale(0.98);
}

/* Focus accesible */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:focus-visible {
  outline: 3px solid #F5B909;
  outline-offset: 3px;
}

/* Pulso sutil de atracción */
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button {
  animation: frlBtnGlow 3.2s ease-in-out infinite;
}
@keyframes frlBtnGlow {
  0%, 100% { box-shadow: 0 10px 22px rgba(208,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.08) inset; }
  50%      { box-shadow: 0 14px 32px rgba(208,0,0,0.55), 0 0 0 1px rgba(245,185,9,0.25) inset; }
}
.elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button:hover { animation: none; }

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button {
    padding: 11px 22px !important;
    font-size: 12.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button,
  .elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button::before,
  .elementor-241 .elementor-element.elementor-element-16bccbc .elementor-button::after {
    animation: none !important;
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a8e517 */.elementor-241 .elementor-element.elementor-element-2a8e517 {
  position: relative;
  padding: 36px 28px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
          backdrop-filter: blur(18px) saturate(140%);
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 1px 0 rgba(255, 255, 255, 0.10) inset;
  overflow: hidden;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease, border-color .5s ease, background .5s ease;
}

/* Reflejo superior tipo cristal (shine line) */
.elementor-241 .elementor-element.elementor-element-2a8e517::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  z-index: 4;
}

/* Línea inferior gradiente que aparece en hover */
.elementor-241 .elementor-element.elementor-element-2a8e517::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #154CA3, #D00000, #F5B909);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
  z-index: 3;
}

/* Glow decorativo radial de fondo */
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-wrapper::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -30%;
  width: 320px;
  height: 320px;
  background: radial-gradient(closest-side, rgba(21,76,163,0.30), transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
  z-index: 0;
  border-radius: 50%;
  filter: blur(20px);
}
.elementor-241 .elementor-element.elementor-element-2a8e517:hover .elementor-icon-box-wrapper::before { opacity: 1; }

.elementor-241 .elementor-element.elementor-element-2a8e517:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(245, 185, 9, 0.35) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset,
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 0 60px rgba(21, 76, 163, 0.15);
}
.elementor-241 .elementor-element.elementor-element-2a8e517:hover::after { transform: scaleX(1); }

/* ÍCONO — wrapper glass redondeado */
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-icon {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 22px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.30),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 1px 0 rgba(255, 255, 255, 0.20) inset;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), background .5s ease, border-color .5s ease, box-shadow .5s ease;
  z-index: 2;
}

.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon {
  position: relative;
  color: #F5B909 !important;
  font-size: 34px !important;
  filter: drop-shadow(0 4px 12px rgba(245,185,9,0.30));
  transition: color .4s ease, transform .5s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon svg {
  width: 34px !important;
  height: 34px !important;
  fill: currentColor !important;
}

/* Punto rojo pulsante en esquina del ícono */
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-icon::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D00000;
  box-shadow:
    0 0 0 0 rgba(208,0,0,0.6),
    0 0 12px rgba(208,0,0,0.6);
  animation: frlIconDot 2s infinite;
  z-index: 3;
}
@keyframes frlIconDot {
  0%   { box-shadow: 0 0 0 0   rgba(208,0,0,0.7), 0 0 12px rgba(208,0,0,0.6); }
  70%  { box-shadow: 0 0 0 10px rgba(208,0,0,0),  0 0 12px rgba(208,0,0,0.6); }
  100% { box-shadow: 0 0 0 0   rgba(208,0,0,0),   0 0 12px rgba(208,0,0,0.6); }
}

/* Hover en el ícono */
.elementor-241 .elementor-element.elementor-element-2a8e517:hover .elementor-icon-box-icon {
  background: linear-gradient(135deg, rgba(245,185,9,0.95), rgba(208,0,0,0.85)) !important;
  border-color: rgba(245,185,9,0.6);
  transform: rotate(-6deg) scale(1.08);
  box-shadow:
    0 22px 44px rgba(245,185,9,0.35),
    0 0 0 1px rgba(255,255,255,0.25) inset;
}
.elementor-241 .elementor-element.elementor-element-2a8e517:hover .elementor-icon {
  color: #FFFFFF !important;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.40));
}

/* TÍTULO de la card */
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-title a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 14px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
  transition: color .3s ease;
  position: relative;
  z-index: 2;
}
.elementor-241 .elementor-element.elementor-element-2a8e517:hover .elementor-icon-box-title,
.elementor-241 .elementor-element.elementor-element-2a8e517:hover .elementor-icon-box-title a {
  color: #F5B909 !important;
  -webkit-text-fill-color: #F5B909 !important;
}

/* DESCRIPCIÓN */
.elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-description {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  position: relative;
  z-index: 2;
}

/* Responsive */
@media (max-width: 767px) {
  .elementor-241 .elementor-element.elementor-element-2a8e517 { padding: 30px 22px !important; }
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-icon {
    width: 70px !important;
    height: 70px !important;
    margin-bottom: 18px !important;
  }
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon { font-size: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon svg { width: 30px !important; height: 30px !important; }
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-title,
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-title a { font-size: 20px !important; }
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-description { font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-241 .elementor-element.elementor-element-2a8e517,
  .elementor-241 .elementor-element.elementor-element-2a8e517::before,
  .elementor-241 .elementor-element.elementor-element-2a8e517::after,
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-icon,
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon-box-icon::after,
  .elementor-241 .elementor-element.elementor-element-2a8e517 .elementor-icon { animation: none !important; transition: none !important; }
}/* End custom CSS */