.elementor-5268 .elementor-element.elementor-element-e90be1c > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-fe703e5{width:100%;max-width:100%;}.elementor-5268 .elementor-element.elementor-element-fe703e5 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-ab3bb85{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-8fe1bd4 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-3935083{width:100%;max-width:100%;}.elementor-5268 .elementor-element.elementor-element-3935083 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-245aae4{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-e914c68 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-4d005ee{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-fff5814{width:100%;max-width:100%;}.elementor-5268 .elementor-element.elementor-element-fff5814 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-7e4cf5c{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-ed8d366 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-4f87a3a{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-1e42ace > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-99d68a8{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5268 .elementor-element.elementor-element-b1afd60 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-fe703e5 *//* ==============================
   HERO – CLEAN & REAL IMAGE
============================== */

#hero-county{
  position:relative;
  width:100%;
  min-height:92vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-family:Montserrat, system-ui, sans-serif;
}

/* BACKGROUND IMAGE */
#hero-county .hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
}

#hero-county .hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none; /* IMPORTANTE: sin gris */
}

/* LIGHT OVERLAY (NO GRAY) */
#hero-county .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.35) 100%
  );
  z-index:1;
}

/* CONTENT */
#hero-county .hero-content{
  position:relative;
  z-index:2;
  max-width:1100px;
  padding:0 5%;
  text-align:center;
  color:#ffffff;
}

/* TITLE */
#hero-county h1{
  font-family:Poppins, system-ui, sans-serif;
  font-size:clamp(2.8rem, 5vw, 4.6rem);
  font-weight:900;
  line-height:1.12;
  margin:0 0 20px;
  color:#ffffff;
}

/* TEXT */
#hero-county p{
  font-size:clamp(1.15rem, 2vw, 1.4rem);
  line-height:1.7;
  max-width:860px;
  margin:0 auto 38px;
  color:rgba(255,255,255,.95);
}

/* ACTIONS */
#hero-county .hero-actions{
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
}

/* BUTTONS */
#hero-county .hero-btn{
  padding:14px 32px;
  border-radius:999px;
  font-weight:800;
  font-size:1rem;
  text-transform:uppercase;
  text-decoration:none;
  color:#ffffff;
  transition:transform .25s ease, box-shadow .25s ease;
}

#hero-county .hero-btn.primary{
  background:#C71014;
}

#hero-county .hero-btn.secondary{
  background:#15426C;
}

#hero-county .hero-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,0,0,.35);
}

/* MOBILE */
@media(max-width:768px){
  #hero-county{
    min-height:85vh;
  }

  #hero-county .hero-actions{
    flex-direction:column;
  }

  #hero-county .hero-btn{
    width:100%;
    max-width:320px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3935083 *//* ===============================
   REMOVE ARROWS – NUMBER FIELD
   WPForms Field ID #15 ONLY
=============================== */
#CEOJA_Form_TwoBrothers 
.wpforms-field-number[data-field-id="15"] 
input::-webkit-outer-spin-button,
#CEOJA_Form_TwoBrothers 
.wpforms-field-number[data-field-id="15"] 
input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
#CEOJA_Form_TwoBrothers 
.wpforms-field-number[data-field-id="15"] 
input{
  -moz-appearance:textfield;
  appearance:textfield;
}

/* ===============================
   BASE (BLUE)
=============================== */
#CEOJA_Form_TwoBrothers{
  width:100%;
  padding:110px 0;
  background:
    radial-gradient(900px 420px at 14% 18%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(900px 520px at 88% 82%, rgba(199,16,20,.22), transparent 60%),
    linear-gradient(180deg,#15426C,#0f3151);
  font-family:Montserrat, system-ui, sans-serif;
  color:#ffffff;
}

#CEOJA_Form_TwoBrothers *{ box-sizing:border-box; }

#CEOJA_Form_TwoBrothers .wrap{
  max-width:2000px;
  margin:0 auto;
  padding:0 5%;
  display:grid;
  gap:60px;
}

/* ===============================
   HEADER
=============================== */
#CEOJA_Form_TwoBrothers .head{
  text-align:center;
  max-width:900px;
  margin:0 auto;
}

#CEOJA_Form_TwoBrothers .head h2{
  font-family:Poppins,sans-serif;
  font-size:3rem;
  font-weight:900;
  margin:0 0 16px;
  color:#ffffff;
}

#CEOJA_Form_TwoBrothers .head p{
  font-size:1.15rem;
  line-height:1.6;
  color:rgba(255,255,255,.85);
}

/* ===============================
   GRID
=============================== */
#CEOJA_Form_TwoBrothers .grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:40px;
}

/* ===============================
   LEFT INFO (GLASS)
=============================== */
#CEOJA_Form_TwoBrothers .info{
  border-radius:26px;
  border:1px solid rgba(255,255,255,.18);
  padding:28px;
  display:grid;
  gap:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  backdrop-filter:blur(10px);
}

#CEOJA_Form_TwoBrothers .info img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:18px;
  filter:none;
  opacity:1;
}

#CEOJA_Form_TwoBrothers .info h3{
  font-family:Poppins,sans-serif;
  font-size:1.45rem;
  font-weight:900;
  margin:0;
  color:#ffffff;
}

#CEOJA_Form_TwoBrothers .info p{
  font-size:1.05rem;
  line-height:1.7;
  color:rgba(255,255,255,.88);
}

#CEOJA_Form_TwoBrothers .info ul{
  padding-left:18px;
  margin:0;
}

#CEOJA_Form_TwoBrothers .info li{
  margin-bottom:8px;
  font-weight:600;
}

#CEOJA_Form_TwoBrothers .note{
  background:rgba(0,0,0,.18);
  border-left:4px solid #C71014;
  padding:14px;
  border-radius:12px;
  font-weight:700;
}

/* ===============================
   FORM CARD (WHITE)
=============================== */
#CEOJA_Form_TwoBrothers .formCard{
  border-radius:26px;
  border:1px solid rgba(0,0,0,.12);
  padding:28px;
  background:#ffffff;
  color:#111;
}

/* ===============================
   WPFORMS INPUTS (NO CHECKBOX)
=============================== */
#CEOJA_Form_TwoBrothers .wpforms-container input:not([type="checkbox"]):not([type="radio"]),
#CEOJA_Form_TwoBrothers .wpforms-container textarea,
#CEOJA_Form_TwoBrothers .wpforms-container select{
  width:100%!important;
  border-radius:14px!important;
  border:1px solid rgba(0,0,0,.18)!important;
  padding:14px!important;
  font-size:1.05rem!important;
  font-family:Montserrat,sans-serif!important;
}

/* ===============================
   CHECKBOX FIX
=============================== */
#CEOJA_Form_TwoBrothers .wpforms-field-checkbox ul{
  list-style:none!important;
  padding:0!important;
  margin:14px 0 0!important;
  display:grid;
  gap:12px;
}

#CEOJA_Form_TwoBrothers .wpforms-field-checkbox ul li{
  display:flex;
  align-items:center;
  gap:12px;
}

#CEOJA_Form_TwoBrothers .wpforms-field-checkbox input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  accent-color:#C71014;
}

#CEOJA_Form_TwoBrothers .wpforms-field-checkbox label{
  font-family:Poppins,sans-serif!important;
  font-weight:700!important;
  font-size:1.05rem!important;
}

/* ===============================
   SUBMIT BUTTON
=============================== */
#CEOJA_Form_TwoBrothers .wpforms-submit{
  width:100%!important;
  height:56px!important;
  border-radius:14px!important;
  border:none!important;
  background:#C71014!important;
  color:#ffffff!important;
  font-family:Poppins,sans-serif!important;
  font-size:1.05rem!important;
  font-weight:900!important;
  cursor:pointer!important;
  transition:transform .2s ease, box-shadow .2s ease;
}

#CEOJA_Form_TwoBrothers .wpforms-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(0,0,0,.35);
}

/* ===============================
   RESPONSIVE
=============================== */
@media(max-width:980px){
  #CEOJA_Form_TwoBrothers .grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  #CEOJA_Form_TwoBrothers .head h2{
    font-size:2.3rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3957df0 */#SEO_Edison_RoofInspection{
  --blue:#15426C;
  --red:#C71014;
  --ink:#111111;
  --muted:#444444;
  --line:rgba(0,0,0,.12);

  padding:140px 0;
  background:#ffffff;
  font-family:"Montserrat",system-ui,sans-serif;
  color:var(--ink);
}

#SEO_Edison_RoofInspection *{ box-sizing:border-box; }

#SEO_Edison_RoofInspection .wrap{
  max-width:2000px;
  margin:0 auto;
  padding:0 5%;
}

/* ================= HEADER ================= */
#SEO_Edison_RoofInspection .head{
  max-width:1200px;
  margin:0 auto 70px;
  text-align:center;
}

#SEO_Edison_RoofInspection h2{
  font-family:"Poppins",sans-serif;
  font-weight:900;
  font-size:clamp(2.5rem,3.4vw,3.4rem);
  line-height:1.06;
  margin:0 0 18px;
  color:var(--blue);
}

#SEO_Edison_RoofInspection .intro{
  font-size:1.15rem;
  line-height:1.9;
  color:var(--muted);
  text-align:justify;
}

/* ================= ROW ================= */
#SEO_Edison_RoofInspection .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:stretch;
  margin-bottom:90px;
}

#SEO_Edison_RoofInspection .row.reverse{
  direction:rtl;
}
#SEO_Edison_RoofInspection .row.reverse > *{
  direction:ltr;
}

/* ================= TEXT ================= */
#SEO_Edison_RoofInspection .text{
  border:1px solid var(--line);
  border-radius:28px;
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

#SEO_Edison_RoofInspection .text p{
  font-size:1.02rem;
  line-height:1.95;
  color:var(--muted);
  text-align:justify;
  margin:0 0 18px;
}

#SEO_Edison_RoofInspection .text h3{
  font-family:"Poppins",sans-serif;
  font-size:1.45rem;
  font-weight:900;
  margin:0 0 14px;
  color:var(--ink);
}

/* ================= IMAGE ================= */
#SEO_Edison_RoofInspection .image{
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--line);
}

#SEO_Edison_RoofInspection .image img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
}

/* ================= TABLET ================= */
@media(max-width:1100px){
  #SEO_Edison_RoofInspection{
    padding:110px 0;
  }

  #SEO_Edison_RoofInspection .row{
    grid-template-columns:1fr;
    gap:40px;
    margin-bottom:70px;
  }

  /* Disable reverse on mobile */
  #SEO_Edison_RoofInspection .row.reverse{
    direction:ltr;
  }

  #SEO_Edison_RoofInspection .image{
    min-height:360px;
  }

  #SEO_Edison_RoofInspection .image img{
    min-height:360px;
  }
}

/* ================= MOBILE ================= */
@media(max-width:640px){
  #SEO_Edison_RoofInspection{
    padding:90px 0;
  }

  #SEO_Edison_RoofInspection .head{
    margin-bottom:50px;
  }

  #SEO_Edison_RoofInspection h2{
    font-size:2.05rem;
    line-height:1.1;
  }

  #SEO_Edison_RoofInspection .intro{
    font-size:1.05rem;
  }

  #SEO_Edison_RoofInspection .text{
    padding:28px;
  }

  #SEO_Edison_RoofInspection .text h3{
    font-size:1.25rem;
  }

  #SEO_Edison_RoofInspection .text p{
    font-size:1rem;
    line-height:1.85;
  }

  #SEO_Edison_RoofInspection .image{
    min-height:280px;
  }

  #SEO_Edison_RoofInspection .image img{
    min-height:280px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fff5814 *//* ==============================
   SERVICES GRID (1 FULL + 2/2/2)
   Colors: Red #C71014 | Blue #15426C
============================== */

#svc-grid{
  padding:120px 5%;
  background:#ffffff;
  font-family:Montserrat, system-ui, sans-serif;
}

#svc-grid .svc-head{
  text-align:center;
  max-width:980px;
  margin:0 auto 60px;
}

#svc-grid .svc-head h2{
  font-family:Poppins, system-ui, sans-serif;
  font-size:3rem;
  font-weight:800;
  margin:0 0 14px;
  color:#111;
}

#svc-grid .svc-head p{
  font-size:1.15rem;
  line-height:1.7;
  color:#555;
  margin:0;
}

/* WRAP */
#svc-grid .svc-wrap{
  max-width:2000px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:34px;
}

/* CARD BASE */
#svc-grid .svc-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  height:340px;
}

/* FULL WIDTH CARD */
#svc-grid .svc-full{
  grid-column:1 / -1;
  height:420px;
}

/* IMAGE */
#svc-grid .svc-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1);
  transition:transform .45s ease;
}

/* OVERLAY */
#svc-grid .svc-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:30px;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.78) 100%
  );
}

/* TITLE */
#svc-grid .svc-overlay h3{
  font-family:Poppins, system-ui, sans-serif;
  font-size:1.9rem;
  font-weight:800;
  color:#ffffff;
  margin:0 0 10px;
}

/* DESCRIPTION */
#svc-grid .svc-overlay p{
  font-size:1.02rem;
  line-height:1.6;
  color:rgba(255,255,255,.92);
  margin:0 0 18px;
  max-width:560px;
}

/* ACTIONS */
#svc-grid .svc-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* BUTTONS */
#svc-grid .svc-btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:#ffffff;
  transition:transform .2s ease, box-shadow .2s ease;
}

#svc-grid .svc-btn::after{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background:linear-gradient(120deg, transparent 40%, rgba(255,255,255,.22) 50%, transparent 60%);
  transform:translateX(-40%);
  transition:transform .55s ease;
}

/* COLORS */
#svc-grid .svc-btn.red{ background:#C71014; }
#svc-grid .svc-btn.blue{ background:#15426C; }

/* HOVER */
#svc-grid .svc-card:hover img{
  transform:scale(1.06);
}

#svc-grid .svc-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}

#svc-grid .svc-btn:hover::after{
  transform:translateX(40%);
}

/* RESPONSIVE */
@media(max-width:980px){
  #svc-grid .svc-wrap{
    grid-template-columns:1fr;
  }

  #svc-grid .svc-full{
    height:340px;
  }

  #svc-grid .svc-card{
    height:300px;
  }

  #svc-grid .svc-head h2{
    font-size:2.4rem;
  }
}


/* ==============================
   MOBILE FIX – TITLES & LAYOUT
============================== */

@media(max-width:768px){

  /* Cards auto height */
  #svc-grid .svc-card,
  #svc-grid .svc-full{
    height:auto;
    min-height:320px;
  }

  /* Overlay spacing */
  #svc-grid .svc-overlay{
    padding:22px 20px;
  }

  /* Title fix */
  #svc-grid .svc-overlay h3{
    font-size:1.55rem;        /* más pequeño */
    line-height:1.25;         /* evita cortes */
    word-break:break-word;    /* fuerza wrap limpio */
    overflow-wrap:anywhere;
    white-space:normal;
    margin-bottom:10px;
  }

  /* Description */
  #svc-grid .svc-overlay p{
    font-size:0.95rem;
    line-height:1.55;
    margin-bottom:14px;
  }

  /* Buttons stack */
  #svc-grid .svc-actions{
    flex-direction:column;
    gap:10px;
  }

  #svc-grid .svc-btn{
    width:100%;
    justify-content:center;
    font-size:.9rem;
    padding:12px 18px;
  }
}

#svc-grid{
  padding:80px 5%;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ba20725 */#tbCTA{
  --tb-blue:#15426C;
  --tb-blue2:#0f3151;
  --tb-red:#C71014;

  --tb-white:#ffffff;
  --tb-ink:#0b0f1a;

  position:relative;
  width:100%;
  height:480px;
  overflow:hidden;
  box-sizing:border-box;

  /* base blue mood (por si tarda en cargar imagen) */
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.10), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(199,16,20,.18), transparent 55%),
    linear-gradient(180deg, var(--tb-blue) 0%, var(--tb-blue2) 100%);
}

/* overlay con look del proyecto */
#tbCTA::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.16), transparent 58%),
    linear-gradient(180deg, rgba(15,49,81,.55) 0%, rgba(15,49,81,.0) 100%);
}

/* detalle rojo arriba */
#tbCTA::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:6px;
  z-index:3;
  background:linear-gradient(90deg, rgba(199,16,20,1), rgba(199,16,20,.35), rgba(255,255,255,.12));
}

/* track */
#tbCTA .tbCTA-slider{
  position:absolute;
  inset:0;
  display:flex;
  height:100%;
  width:400%;
  transform:translate3d(0,0,0);
  animation: tbCTAAnim 14s infinite;
  z-index:1;
}

#tbCTA .tbCTA-slide{
  flex:0 0 25%;
  height:100%;
  position:relative;
}

#tbCTA .tbCTA-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 50%;
  transform:scale(1.02);
  filter:saturate(1.05) contrast(1.03);
}

/* animación estable por porcentaje */
@keyframes tbCTAAnim{
  0%, 20%   { transform:translate3d(0%,0,0); }
  25%, 45%  { transform:translate3d(-25%,0,0); }
  50%, 70%  { transform:translate3d(-50%,0,0); }
  75%, 95%  { transform:translate3d(-75%,0,0); }
  100%      { transform:translate3d(-75%,0,0); }
}

/* wrap (1700 + 5%) */
#tbCTA .tbCTA-wrap{
  position:relative;
  z-index:5;
  height:100%;
  padding:0 5%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

#tbCTA .tbCTA-content{
  width:100%;
  max-width:1700px;
  text-align:center;
  color:var(--tb-white);
}

#tbCTA .tbCTA-title{
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:800;
  font-size:clamp(32px, 4vw, 56px);
  line-height:1.05;
  margin:0 0 14px;
  letter-spacing:-.02em;
}

#tbCTA .tbCTA-sub{
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:600;
  font-size:clamp(16px, 1.35vw, 20px);
  max-width:900px;
  margin:0 auto 22px;
  line-height:1.7;
  opacity:.95;
}

#tbCTA .tbCTA-buttons{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

#tbCTA .tbCTA-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 30px;
  border-radius:12px;
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:18px;
  font-weight:800;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.22);
  transition:transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}

#tbCTA .tbCTA-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(0,0,0,.34);
}

#tbCTA .tbCTA-btn.primary{
  background:var(--tb-red);
  color:#fff;
  border-color:rgba(199,16,20,.75);
}
#tbCTA .tbCTA-btn.primary:hover{
  background:#ffffff;
  color:var(--tb-ink);
  border-color:rgba(255,255,255,.60);
}

#tbCTA .tbCTA-btn.secondary{
  background:rgba(255,255,255,.92);
  color:var(--tb-ink);
  border-color:rgba(255,255,255,.60);
}
#tbCTA .tbCTA-btn.secondary:hover{
  background:#ffffff;
  color:var(--tb-ink);
}

/* responsive */
@media (max-width: 900px){
  #tbCTA{ height:540px; }
}
@media (max-width: 600px){
  #tbCTA{ height:600px; }
  #tbCTA .tbCTA-buttons{ flex-direction:column; width:min(460px, 100%); margin:0 auto; }
  #tbCTA .tbCTA-btn{ width:100%; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  #tbCTA .tbCTA-slider{ animation:none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1717e87 */#tbFAQ{
  --tb-blue:#15426C;
  --tb-blue2:#0f3151;
  --tb-red:#C71014;

  --tb-ink:#0b1220;
  --tb-muted:rgba(11,18,32,.72);

  --tb-card:#ffffff;
  --tb-line:rgba(11,18,32,.10);
  --tb-shadow:0 16px 44px rgba(0,0,0,.10);

  padding:84px 5%;
  background:#ffffff;
  color:var(--tb-ink);
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  box-sizing:border-box;
  overflow:hidden;
  position:relative;
}
#tbFAQ *{box-sizing:border-box}

/* wrap */
#tbFAQ .tbfaq-wrap{
  max-width:1700px;
  margin:0 auto;
  padding:0;
}

/* head */
#tbFAQ .tbfaq-head{
  text-align:center;
  margin-bottom:22px;
}

#tbFAQ .tbfaq-title{
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:clamp(1.95rem, 2.5vw, 2.65rem);
  line-height:1.12;
  margin:0 0 10px;
  letter-spacing:-.02em;
  color:var(--tb-blue2);
}

#tbFAQ .tbfaq-sub{
  margin:0 auto 18px;
  max-width:72ch;
  color:var(--tb-muted);
  font-size:1.02rem;
  line-height:1.65;
  font-weight:600;
}

/* Search */
#tbFAQ .tbfaq-search{
  max-width:540px;
  margin:0 auto;
}
#tbFAQ .tbfaq-search input{
  width:100%;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(11,18,32,.14);
  background:#ffffff;
  color:var(--tb-ink);
  outline:none;
  font-size:.98rem;
  font-weight:600;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
#tbFAQ .tbfaq-search input::placeholder{ color:rgba(11,18,32,.55); }
#tbFAQ .tbfaq-search input:focus{
  border-color:rgba(199,16,20,.65);
  box-shadow:0 0 0 3px rgba(199,16,20,.18);
  background:#fff;
}

/* Grid */
#tbFAQ .tbfaq-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  align-items:flex-start;
  margin-top:22px;

  /* clave para que no se “rompa” por textos largos */
  min-width:0;
}
#tbFAQ .tbfaq-item,
#tbFAQ .tbfaq-q,
#tbFAQ .tbfaq-q span{
  min-width:0; /*  clave */
}

/*  Desktop pequeño: pasa a 2 columnas antes (arregla “How fast…”) */
@media (max-width:1180px){
  #tbFAQ .tbfaq-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

/* Tablet */
@media (max-width:1024px){
  #tbFAQ .tbfaq-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
}

/* Mobile */
@media (max-width:680px){
  #tbFAQ{ padding:74px 5%; }
  #tbFAQ .tbfaq-grid{ grid-template-columns:1fr; gap:12px; }
}

/* Item card */
#tbFAQ .tbfaq-item{
  border-radius:18px;
  background:var(--tb-card);
  border:1px solid var(--tb-line);
  box-shadow:var(--tb-shadow);
  overflow:hidden;

  transform: translateY(10px);
  opacity:0;
  transition: transform .55s ease, opacity .55s ease, box-shadow .25s ease;
}
#tbFAQ.is-in .tbfaq-item{
  transform: translateY(0);
  opacity:1;
}
#tbFAQ .tbfaq-item:hover{
  box-shadow:0 22px 60px rgba(0,0,0,.14);
}

/* red top line */
#tbFAQ .tbfaq-item::before{
  content:"";
  display:block;
  height:6px;
  background:linear-gradient(90deg, var(--tb-red), rgba(21,66,108,.25));
  opacity:.95;
}

/* Question button */
#tbFAQ .tbfaq-q{
  width:100%;
  display:flex;
  align-items:center;                 /*  */
  justify-content:space-between;
  gap:12px;                           /*  */
  padding:16px 18px;
  background:transparent;
  border:none;
  cursor:pointer;
  text-align:left;
  color:var(--tb-blue2);
  font-weight:900;
  font-size:.98rem;
  letter-spacing:-.01em;

  max-width:100%;
}

/*  CLAVE: texto largo NO empuja la flecha fuera */
#tbFAQ .tbfaq-q span{
  flex:1 1 auto;
  min-width:0;
  white-space:normal;                 /*  permite 2 líneas */
  overflow-wrap:anywhere;             /*  evita overflow */
  word-break:break-word;
  line-height:1.25;
}

/* Arrow fija dentro */
#tbFAQ .tbfaq-arrow{
  flex:0 0 auto;                      /*  */
  margin-left:10px;
  font-size:1.35rem;                  /* un poco menos para móvil */
  line-height:1;
  color:rgba(199,16,20,.90);
  transition: transform .22s ease, color .22s ease;
}

/* Answer */
#tbFAQ .tbfaq-a{
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding:0 18px;
  transition:max-height .30s ease, opacity .22s ease, padding .22s ease;
}
#tbFAQ .tbfaq-a p{
  margin:0;
  padding:0 0 16px;
  color:var(--tb-muted);
  line-height:1.65;
  font-weight:600;
  font-size:.95rem;
}

/* Active */
#tbFAQ .tbfaq-item.active .tbfaq-arrow{
  transform:rotate(180deg);
  color:rgba(21,66,108,.95);
}
#tbFAQ .tbfaq-item.active .tbfaq-a{
  max-height:260px;                   /* un poco más seguro */
  opacity:1;
  padding:0 18px;
}

/* CTA */
#tbFAQ .tbfaq-cta{
  margin-top:22px;
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
#tbFAQ .tbfaq-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  min-height:52px;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  border:1px solid rgba(11,18,32,.12);
  transition:transform .16s ease, box-shadow .16s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  white-space:nowrap;
}
#tbFAQ .tbfaq-btn.primary{
  background:var(--tb-red);
  color:#fff;
  border-color:rgba(199,16,20,.85);
}
#tbFAQ .tbfaq-btn.primary:hover{
  background:var(--tb-blue2);
  border-color:rgba(15,49,81,.85);
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}
#tbFAQ .tbfaq-btn.secondary{
  background:#ffffff;
  color:var(--tb-blue2);
  border-color:rgba(21,66,108,.22);
}
#tbFAQ .tbfaq-btn.secondary:hover{
  background:rgba(21,66,108,.08);
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}

/* Mobile padding fine-tune */
@media (max-width:680px){
  #tbFAQ .tbfaq-q{ padding:14px 16px; gap:12px; }
  #tbFAQ .tbfaq-a{ padding:0 16px; }
  #tbFAQ .tbfaq-item.active .tbfaq-a{ padding:0 16px; }
}/* End custom CSS */