/* ==========================================================================
  FUENTES PERSONALIZADAS
  ========================================================================== */

@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-Bold.woff2') format('woff2'), url('../fonts/Dosis-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-ExtraBold.woff2') format('woff2'), url('../fonts/Dosis-ExtraBold.woff') format('woff'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-ExtraLight.woff2') format('woff2'), url('../fonts/Dosis-ExtraLight.woff') format('woff'); font-weight:200; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-Light.woff2') format('woff2'), url('../fonts/Dosis-Light.woff') format('woff'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-Regular.woff2') format('woff2'), url('../fonts/Dosis-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-Medium.woff2') format('woff2'), url('../fonts/Dosis-Medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Dosis'; src:url('../fonts/Dosis-SemiBold.woff2') format('woff2'), url('../fonts/Dosis-SemiBold.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap; }

@font-face { font-family:'Amelia Rounded'; src:url('../fonts/Amelia-Rounded-Regular.woff2') format('woff2'), url('../fonts/Amelia-Rounded-Regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Amelia Rounded'; src:url('../fonts/Amelia-Rounded-Bold.woff2') format('woff2'), url('../fonts/Amelia-Rounded-Bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Amelia Rounded'; src:url('../fonts/Amelia-Rounded-Black.woff2') format('woff2'), url('../fonts/Amelia-Rounded-Black.woff') format('woff'); font-weight:900; font-style:normal; font-display:swap; }

/* ==========================================================================
  VARIABLES CSS
  ========================================================================== */

:root {
  /* --- TIPOGRAFÍA --- */
  --bim-font-base:    'Dosis', sans-serif;
  --bim-font-display: 'Amelia Rounded', sans-serif;

  /* Escala de tamaños */
  --bim-font-size-xs:   0.75rem;   /* 12px — legal, disclaimers */
  --bim-font-size-sm:   1rem;      /* 16px — labels, texto secundario */
  --bim-font-size-base: 1.2rem;    /* 19.2px — cuerpo, párrafos principales */
  --bim-font-size-md:   1.4rem;    /* 22.4px — texto destacado */
  --bim-font-size-lg:   1.6rem;    /* 25.6px — leads, subtítulos grandes */

  /* Line heights */
  --bim-line-height-tight:  1.2;
  --bim-line-height-base:   1.6;
  --bim-line-height-loose:  1.8;

  /* --- COLORES DE MARCA --- */
  --bim-purple:   #554AA0;   /* Principal — headers, fondos, CTAs */
  --bim-teal:     #3BBFAD;   /* Acento 1 — íconos, badges, highlights */
  --bim-pink:     #E64783;   /* Acento 2 — botones secundarios, tags */
  --bim-lime:     #C2D500;   /* Acento 3 — highlights, precios, éxito */

  /* --- COLORES NEUTROS --- */
  --bim-white:    #FFFFFF;
  --bim-light:    #F5F5F8;   /* Fondo de secciones alternas */
  --bim-gray:     #6B6B80;   /* Texto secundario */
  --bim-dark:     #1A1830;   /* Texto principal (derivado del purple oscuro) */

  /* --- SEMÁNTICOS (usar estos en componentes) --- */
  --bim-color-primary:    var(--bim-purple);
  --bim-color-secondary:  var(--bim-pink);
  --bim-color-accent:     var(--bim-teal);
  --bim-color-highlight:  var(--bim-lime);
  --bim-color-text:       var(--bim-dark);
  --bim-color-text-muted: var(--bim-gray);
  --bim-color-bg:         var(--bim-white);
  --bim-color-bg-alt:     var(--bim-light);

  /* --- ESPACIADO --- */
  --bim-space-xs:  0.5rem;    /*  8px */
  --bim-space-sm:  1rem;      /* 16px */
  --bim-space-md:  1.5rem;    /* 24px */
  --bim-space-lg:  2.5rem;    /* 40px */
  --bim-space-xl:  4rem;      /* 64px */
  --bim-space-xxl: 6rem;      /* 96px */

  /* --- BORDES --- */
  --bim-radius-sm:   8px;
  --bim-radius-md:   16px;
  --bim-radius-lg:   24px;
  --bim-radius-pill: 999px;

  /* --- SOMBRAS --- */
  --bim-shadow-sm:   0 2px 8px rgba(85,74,160,0.10);
  --bim-shadow-md:   0 4px 20px rgba(85,74,160,0.15);
  --bim-shadow-lg:   0 8px 40px rgba(85,74,160,0.20);
  --bim-shadow-card: 0 4px 16px 1px rgba(0,0,0,0.14);
}

/* ==========================================================================
   UTILIDADES — COLORES DE TEXTO
   ========================================================================== */
.bim-text-primary   { color:var(--bim-color-primary); }
.bim-text-secondary { color:var(--bim-color-secondary); }
.bim-text-accent    { color:var(--bim-color-accent); }
.bim-text-highlight { color:var(--bim-color-highlight); }
.bim-text-dark      { color:var(--bim-dark); }
.bim-text-muted     { color:var(--bim-color-text-muted); }
.bim-text-white     { color:var(--bim-white); }
/* Aliases por nombre de color */
.bim-text-purple    { color:var(--bim-purple); }
.bim-text-teal      { color:var(--bim-teal); }
.bim-text-pink      { color:var(--bim-pink); }
.bim-text-lime      { color:var(--bim-lime); }

/* ==========================================================================
   UTILIDADES — FONDOS
   ========================================================================== */
.bim-bg-primary     { background-color:var(--bim-color-primary); }
.bim-bg-secondary   { background-color:var(--bim-color-secondary); }
.bim-bg-accent      { background-color:var(--bim-color-accent); }
.bim-bg-highlight   { background-color:var(--bim-color-highlight); }
.bim-bg-light       { background-color:var(--bim-color-bg-alt); }
.bim-bg-white       { background-color:var(--bim-white); }
.bim-bg-dark        { background-color:var(--bim-dark); }
/* Aliases por nombre de color */
.bim-bg-purple      { background-color:var(--bim-purple); }
.bim-bg-teal        { background-color:var(--bim-teal); }
.bim-bg-pink        { background-color:var(--bim-pink); }
.bim-bg-lime        { background-color:var(--bim-lime); }

/* ==========================================================================
   BOTONES
   ========================================================================== */
.bim-btn { font-family:var(--bim-font-base); font-weight:700; border-radius:var(--bim-radius-pill); padding:0.6rem 1.5rem; transition:all 0.2s ease; border:none; }
.bim-btn--purple   { background-color:var(--bim-purple); color:var(--bim-white); }
.bim-btn--purple:hover { background-color:var(--bim-pink); color:var(--bim-white); }
.bim-btn--pink     { background-color:var(--bim-pink); color:var(--bim-white); }
.bim-btn--pink:hover { background-color:var(--bim-purple); color:var(--bim-white); }
.bim-btn--teal     { background-color:var(--bim-teal); color:var(--bim-white); }
.bim-btn--teal:hover { background-color:var(--bim-purple); color:var(--bim-white); }
.bim-btn--lime     { background-color:var(--bim-lime); color:var(--bim-dark); }
.bim-btn--lime:hover { opacity:0.85; }
.bim-btn--white    { background-color:var(--bim-white); color:var(--bim-purple); }
.bim-btn--white:hover { background-color:var(--bim-light); color:var(--bim-purple); }
.bim-btn--outline-primary { background-color:transparent; color:var(--bim-purple); border:2px solid var(--bim-purple); }
.bim-btn--outline-primary:hover { background-color:var(--bim-purple); color:var(--bim-white); }
.bim-btn--outline-white { background-color:transparent; color:var(--bim-white); border:2px solid var(--bim-white); }
.bim-btn--outline-white:hover { background-color:var(--bim-white); color:var(--bim-purple); }

 
/* ==========================================================================
  BASE
  ========================================================================== */
body { font-family:var(--bim-font-base); font-size:var(--bim-font-size-base); line-height:var(--bim-line-height-base); color:var(--bim-color-text); }
p { font-size:var(--bim-font-size-base); line-height:var(--bim-line-height-base); }
h1, h2, h3, h4, h5, h6 { font-family:var(--bim-font-display); font-weight:700; line-height:var(--bim-line-height-tight); }


/* ==========================================================================
   NAVBAR
   ========================================================================== */
.bim-header { position:sticky; top:0; z-index:1000; transition:background 0.3s ease; }
.bim-header--hero { position:fixed; width:100%; }
.bim-navbar { background-color:var(--bim-white); padding:1rem 0; box-shadow:var(--bim-shadow-sm); transition:background 0.3s ease, box-shadow 0.3s ease; }
.bim-header--hero .bim-navbar { background:transparent; box-shadow:none; }
.bim-header--hero.scrolled .bim-navbar { background:var(--bim-white); box-shadow:var(--bim-shadow-sm); }
.bim-navbar__logo { height:40px; width:auto; }
.bim-navbar__menu .nav-item .nav-link { font-family:var(--bim-font-base); font-weight:600; color:var(--bim-dark); padding:0.5rem 1rem; transition:color 0.2s ease; }
.bim-header--hero .bim-navbar__menu .nav-item .nav-link { color:var(--bim-white); }
.bim-header--hero.scrolled .bim-navbar__menu .nav-item .nav-link { color:var(--bim-dark); }
.bim-navbar__menu .nav-item .nav-link:hover { color:var(--bim-pink) !important; }
.bim-navbar__toggler { border:none; padding:0.25rem; }
.bim-navbar__toggler:focus { box-shadow:none; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bim-footer { background:var(--bim-teal); color:var(--bim-white); }
.bim-footer__main { padding:var(--bim-space-xl) 0 var(--bim-space-lg); border-bottom:1px solid rgba(255,255,255,0.15); }
/* Brand */
.bim-footer__brand { display:inline-block; margin-bottom:var(--bim-space-md); }
.bim-footer__logo { height:40px; width:auto; }
/* Newsletter */
.bim-footer__newsletter-label { font-size:var(--bim-font-size-sm); opacity:0.9; margin-bottom:0.75rem; line-height:1.5; }
.bim-footer__newsletter-field { display:flex; background:var(--bim-white); border-radius:var(--bim-radius-pill); overflow:hidden; padding:0; margin-bottom:0.5rem; max-width:460px; }
.bim-footer__newsletter-input { flex:1; border:none; outline:none; padding:0.4rem 1rem; font-family:var(--bim-font-base); font-size:var(--bim-font-size-sm); background:transparent; color:var(--bim-dark); }
.bim-footer__newsletter-input::placeholder { color:var(--bim-gray); }
.bim-footer__newsletter-disclaimer { font-size:0.8rem; line-height:1.3; margin:0; }
.bim-footer__newsletter-disclaimer a { color:var(--bim-white); text-decoration:underline; }
/* Columnas de links */
.bim-footer__col-title { font-family:var(--bim-font-display); font-weight:700; font-size:0.9rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--bim-white); margin-bottom:var(--bim-space-sm); }
.bim-footer__list { list-style:none; padding:0; margin:0; }
.bim-footer__list li { margin-bottom:0.5rem; }
.bim-footer__list a { color:var(--bim-white); text-decoration:none; font-size:var(--bim-font-size-sm); transition:color 0.2s ease; }
.bim-footer__list a:hover { color:var(--bim-purple); }
/* Social icons */
.bim-footer__list--social a { display:flex; align-items:center; gap:0.6rem; }
.bim-footer__list--social svg { flex-shrink:0; opacity:0.85; }
/* Legal */
.bim-footer__legal { padding:var(--bim-space-sm) 0; border-top:1px solid rgba(255,255,255,0.15); }
.bim-footer__copyright { font-size:var(--bim-font-size-sm); margin:0; }
.bim-footer__legal-links { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:1.5rem; }
.bim-footer__legal-links a { font-size:var(--bim-font-size-sm); color:var(--bim-white); text-decoration:none; transition:color 0.2s ease; }
.bim-footer__legal-links a:hover { color:var(--bim-purple); }
@media (min-width:992px) {
  .bim-footer__legal-links { justify-content:flex-end; }
}
@media (max-width:767px) {
  .bim-footer__main { padding:var(--bim-space-lg) 0; }
}


/* ==========================================================================
   HERO
   ========================================================================== */
.bim-hero { position:relative; }
/* Carousel */
.bim-hero__carousel { height:calc(100vh - var(--bim-highlights-h, 80px)); }
.bim-hero__inner { height:100%; }
/* Slides */
.bim-hero__slide { position:relative; height:100%; overflow:hidden; }
.bim-hero__slide-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.bim-hero__slide-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(0,0,0,0.33) 0%, rgba(102,102,102,0) 100%), linear-gradient(180deg, rgba(0,0,0,0.50) 0%, rgba(0,0,0,0) 55%); }
.bim-hero__slide-container { position:relative; z-index:2; height:100%; }
.bim-hero__row { height:100%; padding-top:calc(var(--bim-navbar-h, 72px) + 4rem); padding-bottom:2rem; }
/* auto height cuando el contenido no entra */
.bim-hero--auto .bim-hero__carousel { height:auto; }
.bim-hero--auto .bim-hero__inner { height:auto; }
.bim-hero--auto .bim-hero__slide { height:auto; }
.bim-hero--auto .bim-hero__slide-container { height:auto; padding:0; }
.bim-hero--auto .bim-hero__row { height:auto; padding-top:calc(var(--bim-navbar-h, 72px) + 4rem); padding-bottom:0; }
.bim-hero--auto .bim-hero__highlights { position:relative; }
/* Pills */
.bim-hero__pills-wrap { position:absolute; z-index:10; transition:top 0.35s ease; }
.bim-hero__pills { display:flex; gap:0.5rem; }
.bim-hero__pill { display:inline-flex; align-items:center; gap:0; background:transparent; border:none; border-radius:var(--bim-radius-pill); padding:0.2rem; color:var(--bim-white); font-family:var(--bim-font-base); font-weight:600; font-size:var(--bim-font-size-sm); cursor:pointer; transition:all 0.3s ease; }
.bim-hero__pill.active { background:var(--bim-teal); border:1.5px solid var(--bim-teal); padding:0.4rem 0.6rem; gap:0.5rem; }
.bim-hero__pill-num { width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:700; flex-shrink:0; color:var(--bim-white); }
.bim-hero__pill.active .bim-hero__pill-num { background:rgba(255,255,255,0.4); }
.bim-hero__pill-label { max-width:0; overflow:hidden; white-space:nowrap; transition:max-width 0.35s ease; }
.bim-hero__pill.active .bim-hero__pill-label { max-width:280px; }
/* Card */
.bim-hero__card { position:relative; background:var(--bim-white); border-radius:var(--bim-radius-lg); padding:2.5rem; max-width:540px; box-shadow:var(--bim-shadow-lg); overflow:visible; }
.bim-hero__title { font-family:var(--bim-font-display); font-weight:900; font-size:clamp(1.8rem, 3.2vw, 2.8rem); color:var(--bim-teal); line-height:1.15; margin-bottom:1rem; }
.bim-hero__subtitle { font-size:var(--bim-font-size-base); color:var(--bim-gray); margin-bottom:1.5rem; line-height:1.6; }
.bim-hero__badges { display:flex; flex-wrap:wrap; gap:0.5rem; flex-direction:row; }
.bim-hero__badge { display:inline-flex; align-items:center; gap:0.4rem; background:var(--bim-light); border-radius:var(--bim-radius-pill); padding:0.35rem 0.85rem; font-size:var(--bim-font-size-sm); font-weight:600; color:var(--bim-dark); }
/* Dots decorativos */
.bim-hero__dot { position:absolute; border-radius:50%; pointer-events:none; }
.bim-hero__dot--purple { width:68px; height:68px; background:var(--bim-purple); top:-24px; right:64px; }
.bim-hero__dot--lime { width:48px; height:48px; background:var(--bim-lime); top:-8px; right:16px; }
.bim-hero__dot--pink { width:50px; height:50px; background:var(--bim-pink); bottom:40px; left:-24px; opacity:0.85; }
/* Mockup */
.bim-hero__mockup { display:flex; justify-content:center; align-items:flex-end; height:100%; }
.bim-hero__mockup-img { max-height:calc(100vh - var(--bim-navbar-h, 72px) - var(--bim-highlights-h, 80px) - 4rem); width:auto; object-fit:contain; display:block; }
/* Highlights */
.bim-hero__highlights { position:absolute; bottom:0; left:0; right:0; background:var(--bim-purple); padding:1.25rem 0; z-index:5; }
.bim-hero__highlight { display:flex; align-items:center; justify-content:center; gap:0.75rem; color:var(--bim-white); font-size:var(--bim-font-size-md); font-weight:600; padding:0.75rem 0; }
.bim-hero__highlight-check { flex-shrink:0; }
.bim-hero__highlight-num { font-family:var(--bim-font-display); font-size:1.6rem; font-weight:700; color:var(--bim-white); }

@media (max-width:991.98px) {
  .bim-hero__highlight { flex-direction:row; justify-content:unset; font-size:var(--bim-font-base); }
}

/* Widget descarga */
.bim-hero__download-widget { position:fixed; bottom:3rem; right:0; z-index:999; background:var(--bim-pink); border-radius:var(--bim-radius-md); border-top-right-radius:0; border-bottom-right-radius:0; padding:0.75rem 1rem; display:flex; align-items:center; gap:0.75rem; box-shadow:var(--bim-shadow-lg); min-width:180px; }
.bim-hero__download-qr { width:60px; height:60px; border-radius:var(--bim-radius-sm); background:var(--bim-white); flex-shrink:0; object-fit:contain; }
.bim-hero__download-text { font-family:var(--bim-font-base); font-weight:700; font-size:0.9rem; color:var(--bim-white); line-height:1.3; margin:0; }

@media (max-width:991.98px) {
  .bim-hero__card { max-width:100%; padding:1.75rem; }
  .bim-hero__mockup { display:none; }
}
@media (max-width:767.98px) {
  .bim-hero__carousel { height:auto; }
  .bim-hero__inner { height:auto; }
  .bim-hero__slide { height:auto; min-height:85vh; }
  .bim-hero__row { padding-top:calc(var(--bim-navbar-h, 64px) + 5rem); padding-bottom:5rem; align-items:flex-end; height:auto; }
  .bim-hero__title { font-size:1.7rem; }
  .bim-hero__highlights { position:relative; }
  .bim-hero__highlight { padding:0.25rem 0; }
  .bim-hero__download-widget { bottom:1rem; min-width:160px; padding:0.6rem 0.8rem; }
  .bim-hero__download-qr { width:48px; height:48px; }
}


section .container { padding-top:4rem; padding-bottom:4rem; }
/* ==========================================================================
   SECTION HEADER
   ========================================================================== */
.section-header { margin-bottom:var(--bim-space-lg); }
.section-header--center { text-align:center; }
.section-header--left { text-align:left; }
.section-header__eyebrow { display:block; font-size:var(--bim-font-size-sm); font-weight:600; margin-bottom:0.5rem; }
.section-header__eyebrow--caps { text-transform:uppercase; letter-spacing:0.08em; }
.section-header__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(1.8rem, 3vw, 2.4rem); line-height:var(--bim-line-height-tight); margin-bottom:0.5rem; }
.section-header__title--xl { font-size:clamp(2rem, 3.5vw, 3rem); font-weight:700; }
.section-header__title--sm { font-size:clamp(1.2rem, 2vw, 1.5rem); }
.section-header__subtitle { font-size:var(--bim-font-size-base); color:var(--bim-color-text-muted); line-height:var(--bim-line-height-base); margin:0; }


/* ==========================================================================
   DESCARGA
   ========================================================================== */
.bim-descarga { background:var(--bim-lime); }
.bim-descarga__container { position:relative; z-index:2; }
.bim-descarga__subtitle { color:rgba(255,255,255,0.80); }
.bim-descarga__qr { width:min(240px, 22vw); border:6px solid var(--bim-purple); border-radius:var(--bim-radius-md); }
.bim-descarga__circle { position:absolute; border-radius:50%; pointer-events:none; }
.bim-descarga__circle--teal { width:calc(1307/1440*100vw); height:calc(1307/1440*100vw); background:var(--bim-teal); left:calc(67/1440*100vw); top:calc(-758/1440*100vw); }
.bim-descarga__circle--pink { width:calc(453/1440*100vw); height:calc(453/1440*100vw); background:var(--bim-pink); left:calc(-94.68/1440*100vw); top:calc(122.89/1440*100vw); }

@media (max-width:991.98px) {
  .bim-descarga__qr { width:min(200px, 50vw); }
}

@media (max-width:767.98px) {
  .bim-descarga { background:var(--bim-teal); }
  .bim-descarga__circle { display:none; }
}

/* ==========================================================================
   CÓMO FUNCIONA
   ========================================================================== */
.bim-funciona { background:var(--bim-white); }
/* Phone mockup */
.bim-funciona__phone { position:relative; }
.bim-funciona__phone-clip { overflow:hidden; max-width:200px; margin:2rem auto 0; }
.bim-funciona__phone--mobile { margin-bottom:-60px; }
.bim-funciona__frame { width:100%; display:block; position:relative; z-index:2; }
.bim-funciona__screen { position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; border-radius:36px; z-index:1; }
.bim-funciona__screen-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 0.5s ease; }
.bim-funciona__screen-img.is-active { opacity:1; }
/* Steps desktop */
.bim-funciona__steps { display:flex; flex-direction:column; }
.bim-funciona__step { display:flex; gap:1.25rem; cursor:pointer; }
.bim-funciona__indicator { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
/* Número */
.bim-funciona__number { width:48px; height:48px; border-radius:50%; background:rgba(85,74,160,0.2); color:var(--bim-purple); font-family:var(--bim-font-display); font-weight:700; font-size:2rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background 0.4s ease, color 0.4s ease; }
.bim-funciona__step.is-active .bim-funciona__number { background:var(--bim-teal); color:var(--bim-white); }
/* Línea y progreso */
.bim-funciona__line { width:7px; flex:1; background:rgba(85,74,160,0.2); border-radius:0; overflow:hidden; position:relative; margin:0; }
.bim-funciona__progress { width:100%; height:0%; background:var(--bim-teal); border-radius:0; }
@keyframes bimProgress { 
  from { height:0%; } to { height:100%; } 
}
.bim-funciona__step.is-active .bim-funciona__progress { animation:bimProgress 3s linear forwards; }
/* Completado — círculo teal permanente, línea teal completa */
.bim-funciona__step.is-completed .bim-funciona__number { background:var(--bim-teal); color:var(--bim-white); }
.bim-funciona__step.is-completed .bim-funciona__progress { height:100%; animation:none; }

/* Body */
.bim-funciona__body { padding-bottom:2rem; }
.bim-funciona__step--last .bim-funciona__body { padding-bottom:0; }
/* Título — siempre visible, solo cambia color */
.bim-funciona__title { font-family:var(--bim-font-display); font-weight:700; font-size:2rem; color:var(--bim-purple); margin-bottom:0.5rem; transition:color 0.4s ease; }
.bim-funciona__step.is-active .bim-funciona__title { color:var(--bim-teal); }
/* Texto — siempre visible */
.bim-funciona__text { font-size:var(--bim-font-size-base); color:var(--bim-gray); line-height:var(--bim-line-height-base); margin:0; }
/* Mobile tabs */
.bim-funciona__tabs { display:flex; justify-content:center; gap:1rem; margin-bottom:2rem; }
.bim-funciona__tab { width:48px; height:48px; border-radius:50%; border:none; background:rgba(85,74,160,0.2); color:var(--bim-purple); font-family:var(--bim-font-display); font-weight:700; font-size:1.1rem; cursor:pointer; transition:background 0.4s ease, color 0.4s ease; }
.bim-funciona__tab.is-active { background:var(--bim-teal); color:var(--bim-white); }
/* Mobile panels */
.bim-funciona__panel { display:none; text-align:center; }
.bim-funciona__panel.is-active { display:block; animation:bimFadeIn 0.4s ease; }
@keyframes bimFadeIn { 
  from { opacity:0; transform:translateY(8px); } 
  to { opacity:1; transform:translateY(0); } 
}
.bim-funciona__panel-screen { max-width:280px; margin:1.5rem auto 0; display:block; border-radius:var(--bim-radius-lg); }

@media (max-width:767.98px) {
  .bim-funciona .container { padding-bottom:0; }
}

/* ==========================================================================
   QUÉ HACER
   ========================================================================== */
.bim-que-hacer { background:var(--bim-light); }

/* ==========================================================================
   BENEFICIOS
   ========================================================================== */
.bim-beneficios { background:var(--bim-lime); }
section .bim-beneficios__container { position:relative; z-index:2; padding-top:5rem; padding-bottom:6rem; }
/* Círculos decorativos */
.bim-beneficios__circle { position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
.bim-beneficios__circle { position:absolute; border-radius:50%; pointer-events:none; }
.bim-beneficios__circle--purple { width:calc(972/1440*100vw); height:calc(972/1440*100vw); background:var(--bim-purple); left:calc(1077/1440*100vw); top:calc(-480/1440*100vw); z-index:1; }
.bim-beneficios__circle--teal { width:calc(972/1440*100vw); height:calc(972/1440*100vw); background:var(--bim-teal); left:calc(1145/1440*100vw); top:calc(-94/1440*100vw); z-index:0; }
/* Figure */
.bim-beneficios .card { padding:1rem; box-shadow:var(--bim-shadow-card); }
.bim-beneficio__figure { aspect-ratio:4/3; overflow:hidden; margin:0; }
.bim-beneficio__img { width:100%; height:100%; object-fit:contain; padding:1.5rem 1.5rem 0; }
/* Título card */
.bim-beneficios .card-body { text-align:center; }
.bim-beneficio__title { font-family:var(--bim-font-display); font-weight:700; font-size:1.5rem; color:var(--bim-teal); margin-bottom:0.5rem; }


/* ==========================================================================
   SOLUCIONES
   ========================================================================== */
.bim-soluciones { background:var(--bim-white); }
.bim-soluciones .container { padding-top:5rem; padding-bottom:6rem; }
/* Accordion horizontal */
.bim-soluciones__accordion { display:flex; gap:1rem; height:480px; }
/* Card base — desktop */
.bim-solucion-card { position:relative; border-radius:var(--bim-radius-lg); overflow:hidden; text-decoration:none; flex:1; transition:flex 0.5s cubic-bezier(0.4,0,0.2,1); cursor:pointer; }
.bim-solucion-card.is-active { flex:3.3; }
/* Imagen de fondo — <img> en lugar de background-image */
.bim-solucion-card__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; z-index:0; }
/* Overlay gradiente */
.bim-solucion-card::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,0.40); z-index:1; transition:background 0.5s ease; }
/* Info card blanca */
.bim-solucion-card__info { position:absolute; bottom:2rem; left:2rem; z-index:2; opacity:0; transform:translateY(10px); transition:opacity 0.35s ease 0.15s, transform 0.35s ease 0.15s; pointer-events:none; overflow:visible; }
.bim-solucion-card__info::before { content:''; position:absolute; width:40px; height:40px; border-radius:50%; background:var(--bim-pink); bottom:20px; left:-14px; z-index:0; pointer-events:none; }
.bim-solucion-card.is-active .bim-solucion-card__info { opacity:1; transform:translateY(0); }
.bim-solucion-card.is-active::after { background:linear-gradient(to top, rgba(26,24,48,0.55) 0%, transparent 55%); }
/* Dots — posición absoluta dentro de la info card */
.bim-solucion-card__dots { position:static; }
.bim-solucion-card__dot { position:absolute; border-radius:50%; display:block; pointer-events:none; }
.bim-solucion-card__dot--purple { width:50px; height:50px; background:var(--bim-purple); top:16px; right:-28px; z-index:1; }
.bim-solucion-card__dot--teal { width:30px; height:30px; background:var(--bim-teal); top:30px; right:-4px; z-index:2; }
/* Textos info card */
.bim-solucion-card__info-body { background:var(--bim-white); border-radius:var(--bim-radius-md); padding:1.5rem; min-width:220px; position:relative; z-index:1; overflow:visible; }
.bim-solucion-card__eyebrow { font-size:0.9rem; font-weight:700; color:var(--bim-dark); display:block; margin-bottom:0.25rem; }
.bim-solucion-card__title { font-family:var(--bim-font-display); font-weight:700; font-size:1.25rem; color:var(--bim-purple); margin-bottom:0.2rem; }
.bim-solucion-card__text { font-size:var(--bim-font-size-sm); color:var(--bim-gray); margin:0; }
/* Card mobile — img arriba + cuerpo blanco abajo */
.bim-solucion-card--mobile { display:block; background:var(--bim-white); box-shadow:var(--bim-shadow-card); flex:none; }
.bim-solucion-card--mobile::after { display:none; }
.bim-solucion-card--mobile .bim-solucion-card__bg { display:none; }
.bim-solucion-card__img-wrap { aspect-ratio:4/3; overflow:hidden; }
.bim-solucion-card__img { width:100%; height:100%; object-fit:cover; }
.bim-solucion-card__body { padding:1.25rem 1.5rem 1.5rem; }
.bim-solucion-card--mobile .bim-solucion-card__eyebrow { color:var(--bim-dark); }
.bim-solucion-card--mobile .bim-solucion-card__title { font-size:1.3rem; margin-bottom:0.4rem; }
.bim-solucion-card--mobile .bim-solucion-card__text { margin-bottom:0.75rem; }
.bim-solucion-card__link { display:inline-block; font-weight:700; font-size:var(--bim-font-size-sm); color:var(--bim-pink); }
/* Swiper mobile */
.bim-soluciones__swiper { padding-bottom:2.5rem !important; }
.bim-soluciones__swiper .swiper-slide { width:80vw; max-width:320px; }
.bim-soluciones__pagination .swiper-pagination-bullet-active { background:var(--bim-purple); }

@media (max-width:767px) {
  .bim-soluciones { padding:var(--bim-space-lg) 0; }
}


/* ==========================================================================
   NOVEDADES
   ========================================================================== */
.bim-novedades { background:var(--bim-light); }
/* Aside izquierdo */
.bim-novedades__aside { display:flex; flex-direction:column; align-items:flex-start; gap:1.25rem; }
.bim-novedades__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 3.5vw, 2.8rem); color:var(--bim-purple); margin:0; line-height:1.1; }
.bim-novedades__nav { display:flex; gap:0.5rem; }
.bim-novedades__arrow { width:38px; height:38px; border-radius:50%; border:0 none; background:var(--bim-light); color:var(--bim-gray); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s ease; padding:0; }
.bim-novedades__arrow:hover { border-color:var(--bim-purple); color:var(--bim-purple); }
.bim-btn--teal { background:var(--bim-teal); color:var(--bim-white); }
.bim-btn--teal:hover { background:var(--bim-purple); color:var(--bim-white); }
/* Swiper */
.bim-novedades__swiper-wrap { overflow:hidden; padding:10px; margin:-10px; }
.bim-novedades__swiper { overflow:visible !important; }
.bim-novedades__pagination .swiper-pagination-bullet-active { background:var(--bim-purple); }
/* Card — padding interno para que la imagen no toque los bordes */
.bim-novedad-card { padding:0.75rem 0.75rem 0; border-radius:var(--bim-radius-lg) !important; overflow:hidden; box-shadow:0 2px 8px 0 rgba(0,0,0,0.10); transition:transform 0.25s ease; height:100%; }
.bim-novedad-card:hover { transform:translateY(-4px); }
/* Figure — border-radius propio, imagen dentro con gap del card */
.bim-novedad-card__figure { aspect-ratio:336 / 271; overflow:hidden; margin:0; border-radius:var(--bim-radius-md); }
.bim-novedad-card__img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; display:block; }
.bim-novedad-card:hover .bim-novedad-card__img { transform:scale(1.04); }
.bim-novedad-card .card-body { padding:0.85rem 0 0.85rem; }
.bim-novedad-card__title { font-family:var(--bim-font-display); font-weight:700; font-size:1.5rem; color:var(--bim-purple); margin-bottom:0.75rem; line-height:1.3; }
.bim-novedad-card__cta { display:inline-flex; align-items:center; gap:0.25rem; font-weight:600; font-size:0.875rem; color:var(--bim-pink); text-decoration:none; }

@media (max-width:767px) {
  .bim-novedades__aside { flex-direction:row; flex-wrap:wrap; align-items:center; gap:1rem; text-align:center; margin-bottom:2rem; }
  .bim-novedades__title { width:100%; }
}



/* ==========================================================================
   FAQ
   ========================================================================== */
.bim-faq { background:var(--bim-light); position:relative; overflow:hidden; }
section.bim-faq .bim-faq__header .container { padding-top:1rem; padding-bottom:0; }
/* Círculos */
.bim-faq__circle { position:absolute; border-radius:50%; pointer-events:none; }
.bim-faq__circle--teal { width:calc(935/1440*100vw); height:calc(932/1440*100vw); background:var(--bim-teal); left:calc(-124/1440*100vw); top:calc(-479/1440*100vw); z-index:2; }
.bim-faq__circle--pink { width:calc(821/1440*100vw); height:calc(818/1440*100vw); background:var(--bim-pink); left:calc(431/1440*100vw); top:calc(-376/1440*100vw); z-index:1; }
.bim-faq__circle--purple { width:calc(972/1440*100vw); height:calc(972/1440*100vw); background:var(--bim-purple); left:calc(630/1440*100vw); top:calc(-520/1440*100vw); z-index:0; }
/* Header */
.bim-faq__header { position:relative; z-index:3; }
.bim-faq__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 4vw, 3rem); color:var(--bim-white); margin-bottom:0.75rem; }
.bim-faq__subtitle { font-size:var(--bim-font-size-base); color:rgba(255,255,255,0.9); margin:0; max-width:400px; line-height:1.6; }
.bim-faq__header-illustration { position:relative; z-index:4; flex-shrink:0; }
.bim-faq__personaje { width:100%; display:block; object-fit:contain; }
/* Body + acordeón */
.bim-faq__body { position:relative; z-index:3; }
.bim-accordion { display:flex; flex-direction:column; gap:0.75rem; }
.bim-accordion__item { border:none; border-radius:var(--bim-radius-md) !important; background:var(--bim-white); box-shadow:var(--bim-shadow-sm); overflow:hidden; }
.bim-accordion__btn { font-family:var(--bim-font-base); font-weight:600; font-size:1.25rem; color:var(--bim-purple); background:var(--bim-white); padding:1.1rem 1.5rem; box-shadow:none !important; border-radius:var(--bim-radius-md) !important; }
.bim-accordion__btn:not(.collapsed) { color:var(--bim-purple); background:var(--bim-white); }
.bim-accordion__btn::after { filter:invert(27%) sepia(51%) saturate(500%) hue-rotate(218deg); }
.bim-accordion__body { font-size:var(--bim-font-size-base); color:var(--bim-gray); line-height:1.7; padding:0 1.5rem 1.25rem; }
/* CTA */
.bim-faq__cta { text-align:center; margin-top:var(--bim-space-lg); }

@media (max-width:767px) {
  .bim-faq__header { padding:2rem 0 3rem; }
  .bim-faq__personaje { height:180px; }
}

/* ==========================================================================
   RESPALDAN
   ========================================================================== */
.bim-respaldan { padding:var(--bim-space-xl) 0 0; background:var(--bim-light); position:relative; overflow:hidden; }
.bim-respaldan .container { padding-bottom:10rem; }
/* Semicírculo teal inferior */
.bim-respaldan::after { display:none; content:''; position:absolute; bottom:-60%; left:50%; transform:translateX(-50%); width:140%; padding-bottom:60%; border-radius:50%; background:var(--bim-teal); z-index:0; }
.bim-respaldan .container { position:relative; z-index:1; }
/* Logos — carrusel continuo */
.bim-logos__wrap { overflow:hidden; margin-bottom:var(--bim-space-lg); }
.bim-logos__swiper { overflow:visible; }
.bim-logo-card { background:var(--bim-white); border-radius:var(--bim-radius-lg); aspect-ratio:1; overflow:hidden; box-shadow:var(--bim-shadow-sm); }
.bim-logo-card--colored { background:var(--bim-pink); }
.bim-logo-card__img { width:100%; height:100%; display:block; object-fit:cover; }
/* Testimonios */
.bim-testimonios__wrap { position:relative; padding:12px; margin:-12px; }
.bim-testimonios__wrap::before { content:''; position:absolute; width:40px; height:40px; border-radius:50%; background:var(--bim-pink); top:50%; left:-8px; margin-top:-20px; z-index:0; pointer-events:none; }
.bim-testimonios__wrap::after { content:''; position:absolute; top:50%; left:50%; transform:translateX(-50%); width:200vw; height:200vw; border-radius:50%; background:var(--bim-teal); z-index:0; pointer-events:none; }
.bim-testimonios__swiper { overflow:visible !important; position:relative; z-index:1;  }
.bim-respaldan__circle { position:absolute; border-radius:50%; pointer-events:none; }
.bim-respaldan__circle--lime { width:36px; height:36px; background:var(--bim-lime); top:38px; right:12px; z-index:4; }
.bim-respaldan__circle--purple { width:44px; height:44px; background:var(--bim-purple); top:28px; right:-8px; z-index:3; }
.bim-testimonio-card { background:var(--bim-white); border-radius:var(--bim-radius-lg); padding:2rem; box-shadow:var(--bim-shadow-md); }
.bim-testimonio-card__stars { color:var(--bim-purple); font-size:1.4rem; letter-spacing:2px; margin-bottom:1rem; }
.bim-testimonio-card__quote { font-size:1rem; color:var(--bim-dark); line-height:1.65; font-style:normal; margin-bottom:1.25rem; }
.bim-testimonio-card__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.bim-testimonio-card__author { display:flex; align-items:center; gap:0.75rem; }
.bim-testimonio-card__avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.bim-testimonio-card__name { display:block; font-weight:700; font-size:0.9rem; color:var(--bim-purple); }
.bim-testimonio-card__role { display:block; font-size:0.8rem; color:var(--bim-gray); }
.bim-testimonios__nav { position:absolute; bottom:32px; right:32px; display:flex; gap:0.4rem; z-index:3; }


@media (max-width:991.98px) { 
  .bim-hero__card { max-width:100%; padding:1.75rem; }
  .bim-hero__mockup { display:flex; justify-content:center; margin-top:1.5rem; }
  .bim-hero__mockup-img { max-height:280px; }

  .bim-novedades__swiper { padding-bottom:3rem; } 
}

@media (max-width:767.98px) {

.bim-header--hero .bim-navbar { background:var(--bim-white) !important; box-shadow:var(--bim-shadow-sm) !important; }
.bim-header--hero .bim-navbar .navbar-nav .nav-link { color:var(--bim-dark) !important; }
  .bim-navbar__brand { order:1; }
  .bim-navbar__cta-mobile { order:2; margin-left:auto; margin-right:0.5rem; padding:0.4rem 1rem; font-size:0.875rem; }
  .bim-navbar__toggler { order:3; }
  #bimNavMenu { order:4; flex-basis:100%; }

  .bim-hero { height:100svh; overflow:hidden; }
  /* Neutralizar bim-hero--auto en mobile — es lógica solo de desktop */
  .bim-hero--auto .bim-hero__row { padding-top:0 !important; padding-bottom:0 !important; height:auto !important; }
  .bim-hero--auto .bim-hero__slide-container { padding:0 !important; min-height:100svh; }
  .bim-hero--auto .bim-hero__highlights { display:none !important; }

  .bim-hero .container { padding:0; }

  /* ── Hero mobile: imagen arriba + contenido purple abajo ── */
  .bim-hero__carousel { height:auto; }
  .bim-hero__inner { height:auto; }
  .bim-hero__slide { min-height:100svh; height:auto; }
  /* Overlay: transparente arriba → purple abajo */
  .bim-hero__slide-overlay { background:linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.10) 35%, var(--bim-purple) 52%, var(--bim-purple) 100%); }
  /* Container y row */
  .bim-hero__slide-container { min-height:100svh; height:auto; display:flex; flex-direction:column; padding-left:0; padding-right:0; }
  .bim-hero__row { flex:1; flex-direction:column; padding:0; margin:0; width:100%; }
  /* Mockup col → orden 1 (arriba), imagen de fondo */
  .bim-hero__mockup-col { order:1; flex:0 0 52svh; max-width:100%; padding:0; display:flex; align-items:flex-end; justify-content:center; }
  /* Content col → orden 2 (abajo), purple */
  .bim-hero__content-col { order:2; flex:1; max-width:100%; padding:2rem 1.5rem 2.5rem; }
  /* Card transparente con texto blanco */
  .bim-hero__card { background:transparent; box-shadow:none; padding:0 1rem; max-width:100%; overflow:visible; }
  .bim-hero__eyebrow { display:block; font-size:var(--bim-font-size-sm); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--bim-teal); margin-bottom:0.5rem; }
  .bim-hero__title { color:var(--bim-white); font-size:2rem; }
  .bim-hero__subtitle { color:rgba(255,255,255,0.85); margin-bottom:1.5rem; }
  /* Ocultar en mobile */
  .bim-hero__badges { display:none; }
  .bim-hero__dot { display:none; }
  .bim-hero__pills-wrap { display:none; }
  .bim-hero__highlights { display:none; }
  /* Mockup */
  .bim-hero__mockup { height:100%; width:100%; align-items:flex-end; justify-content:center; }
  .bim-hero__mockup-img { max-height:48svh; width:auto; position:relative; z-index:3; }
  /* Dots — override Bootstrap indicators */
  .bim-hero__dots { position:static !important; bottom:auto; left:auto; transform:none; margin:1.25rem 0 0; justify-content:flex-start; gap:0.4rem; }
  .bim-hero__dots [data-bs-target] { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.4) !important; opacity:1; border:none; flex:none; margin:0; }
  .bim-hero__dots [data-bs-target].active { background:var(--bim-white) !important; }
  /* Download widget */
  .bim-hero__download-widget { display:none; }

/* Quitar overlay — split limpio sin degradado */
.bim-hero__slide-overlay { display:none; }
/* Purple directo desde el content-col */
.bim-hero__content-col { background:var(--bim-purple); }
/* Permitir que los círculos sobresalgan */
.bim-hero__slide { overflow:visible; }
.bim-hero__mockup-col { position:relative; overflow:visible; }
.bim-hero__mockup { position:relative; }

/* Círculo teal — izquierda */
.bim-hero__mockup-col::before { content:''; position:absolute; border-radius:50%; background:var(--bim-teal); width:120px; height:120px; top:2rem; left:-1.5rem; z-index:2; pointer-events:none; }
/* Círculo pink — derecha */
.bim-hero__mockup-col::after { content:''; position:absolute; border-radius:50%; background:var(--bim-pink); width:100px; height:100px; top:1.5rem; right:-1.5rem; z-index:2; pointer-events:none; }
/* Círculo lime — overlap imagen/contenido */
.bim-hero__mockup::before { content:''; position:absolute; border-radius:50%; background:var(--bim-lime); width:80px; height:80px; bottom:-10px; right:10%; z-index:3; pointer-events:none; }
  .bim-testimonio-card { padding:1.5rem; }

  .bim-faq { background:var(--bim-purple); }
  .bim-faq__circle { transform:scale(2.8); }
  .bim-faq__circle.bim-faq__circle--teal { transform:scale(2.4); }
  .bim-faq__header { padding-bottom:0; text-align:center; }
  .bim-faq  .bim-btn--purple { background-color:var(--bim-teal); color:var(--bim-white); }
  .bim-faq  .bim-btn--purple:hover { background-color:var(--bim-purple); color:var(--bim-white); }

  .bim-footer { text-align:center; }
  .bim-footer__list--social { display:flex; align-items:center; justify-content:center; gap:20px; }
  .bim-footer__list--social span { display:none; }
}

@media (max-width:575.98px) {

  section .container, footer .container { padding-left:30px; padding-right:30px; }
  .bim-novedades__swiper-wrap, .bim-logos__wrap { margin-left:-30px; margin-right:-30px; }

  .bim-beneficio__figure { aspect-ratio:3/2; }
  .bim-beneficio__img { padding:0; }

  .bim-soluciones { padding:0; }
  .bim-soluciones .container { padding-top:4rem; padding-bottom:3rem; }
  .bim-soluciones__swiper { padding-bottom:3.5rem !important; }

  .bim-accordion__btn { font-size:var(--bim-font-size-sm); }
  .bim-accordion__body { font-size:var(--bim-font-size-sm); }

  .bim-respaldan .container { padding-bottom:3rem; }
}


/* ==========================================================================
   PAGE HERO — plantilla páginas internas
   ========================================================================== */
.bim-page-hero { position:relative; overflow:hidden; padding:var(--bim-space-md) 0; }
.bim-page-hero .container { position:relative; z-index:3; }
/* Fondo 2 colores */
.bim-page-hero__bg { position:absolute; inset:0; background:linear-gradient(to right, var(--bim-lime) 50%, var(--bim-pink) 50%); z-index:0; }
/* Círculos */
.bim-page-hero__circle { position:absolute; border-radius:50%; pointer-events:none; }
.bim-page-hero__circle--purple { width:calc(972/1440*100vw); height:calc(972/1440*100vw); background:var(--bim-purple); left:calc(308.32/1440*100vw); top:calc(-369.32/1440*100vw); z-index:1; }
.bim-page-hero__circle--teal { width:calc(1220/1440*100vw); height:calc(1217/1440*100vw); background:var(--bim-teal); left:calc(-36.68/1440*100vw); top:calc(-660.11/1440*100vw); z-index:2; }

/* Contenido */
.bim-page-hero__content { text-align:center; }
.bim-page-hero__eyebrow { display:block; font-size:var(--bim-font-size-sm); font-weight:700; color:var(--bim-white); margin-bottom:0.75rem; }
.bim-page-hero__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 5vw, 3.5rem); color:var(--bim-white); line-height:1.1; margin-bottom:1rem; }
.bim-page-hero__subtitle { font-size:var(--bim-font-size-base); color:rgba(255,255,255,0.9); max-width:600px; margin:0 auto 2rem; line-height:1.6; }
.bim-page-hero__ctas { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

@media (max-width:767.98px) {
  .bim-page-hero { padding:var(--bim-space-lg) 0; }
  .bim-page-hero__title { font-size:2rem; }
}


/* ==========================================================================
   OPERACIONES — Empresas
   ========================================================================== */
.bim-operaciones { background:var(--bim-white); }
.bim-operaciones .container { padding-top:7rem; padding-bottom:8rem; }
/* Card */
.bim-operacion-card { display:flex; align-items:center; gap:1.5rem; background:var(--bim-white); border-radius:var(--bim-radius-lg); box-shadow:var(--bim-shadow-card); padding:2rem; height:100%; }
/* Cuerpo texto */
.bim-operacion-card__body { flex:1; display:flex; flex-direction:column; justify-content:center; }
.bim-operacion-card__eyebrow { font-size:var(--bim-font-size-sm); font-weight:700; color:var(--bim-dark); display:block; margin-bottom:0.75rem; }
.bim-operacion-card__title { font-family:var(--bim-font-display); font-weight:700; font-size:1.75rem; color:var(--bim-purple); line-height:1.2; margin-bottom:0.75rem; }
.bim-operacion-card__text { font-size:var(--bim-font-size-base); color:var(--bim-gray); margin-bottom:1.5rem; line-height:1.6; }
.bim-operacion-card__link { display:inline-flex; align-items:center; gap:0.3rem; color:var(--bim-pink); font-weight:700; font-size:var(--bim-font-size-sm); text-decoration:none; transition:gap 0.2s ease; }
.bim-operacion-card__link:hover { gap:0.6rem; color:var(--bim-pink); }
/* Media — fondo salmón, ilustración desborda arriba */
.bim-operacion-card__media { flex:0 0 46%; border-radius:var(--bim-radius-md); background:#FAF0EB; overflow:hidden; align-self:center; aspect-ratio:1; display:flex; align-items:flex-end; justify-content:center; }
.bim-operacion-card__img { width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width:767.98px) {
  .bim-operacion-card { flex-direction:column; }
  .bim-operacion-card__media { width:100%; min-height:160px; }
}

/* ==========================================================================
   QUIÉNES CONFÍAN — Empresas
   ========================================================================== */
.bim-confia { position:relative; background:var(--bim-light); overflow-x:hidden; }
.bim-confia__visual { position:absolute; right:0; top:0; height:250px; width:auto; object-fit:contain; object-position:right top; }
.bim-confia .container { padding-top:0; padding-bottom:10rem; }
/* Header */
.bim-confia__header { padding:6rem 0 0; }
.bim-confia__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 4vw, 3rem); color:var(--bim-teal); margin-bottom:1rem; line-height:1.1; }
.bim-confia__subtitle { font-size:var(--bim-font-size-base); color:var(--bim-gray); margin:0; }
/* Ilustración — imagen compuesta (círculos + personaje) */
.bim-confia__illustration { position:relative; height:100%; min-height:320px; }
/* Cards — margin-top para el ícono flotante */
.bim-confia__cards { margin-top:2.5rem; }
/* Card */
.bim-confia-card { position:relative; background:var(--bim-white); border-radius:var(--bim-radius-lg); padding:2rem; padding-top:2.5rem; box-shadow:var(--bim-shadow-card); height:100%; display:flex; flex-direction:column; margin-top:1.5rem; }
/* Ícono quote flotante */
.bim-confia-card__icon { position:absolute; top:-1.25rem; left:1.5rem; width:48px; height:48px; border-radius:50%; background:var(--bim-purple); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
/* Texto */
.bim-confia-card__text { font-size:var(--bim-font-size-base); color:var(--bim-dark); line-height:1.65; margin-bottom:1.5rem; flex:1; }
/* Footer autor */
.bim-confia-card__footer { display:flex; align-items:center; gap:0.75rem; margin-bottom:1.25rem; }
.bim-confia-card__avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.bim-confia-card__author { display:flex; flex-direction:column; gap:0.1rem; }
.bim-confia-card__name { font-weight:700; font-size:var(--bim-font-size-sm); color:var(--bim-purple); }
.bim-confia-card__role { font-size:var(--bim-font-size-sm); color:var(--bim-gray); }
/* CTA */
.bim-confia-card__link { display:inline-flex; align-items:center; gap:0.3rem; color:var(--bim-pink); font-weight:700; font-size:var(--bim-font-size-sm); text-decoration:none; transition:gap 0.2s ease; margin-top:auto; }
.bim-confia-card__link:hover { gap:0.6rem; color:var(--bim-pink); }

@media (max-width:991.98px) {
  .bim-confia__circle--lime { width:280px; height:280px; }
  .bim-confia__circle--pink { width:100px; height:100px; right:170px; }
  .bim-confia__visual { height:280px; right:-20px; }
  .bim-confia__illustration { min-height:240px; }
}
@media (max-width:767.98px) {
  .bim-confia__illustration { display:none; }
  .bim-confia__header { padding-top:0; }
}

/* ==========================================================================
   FORMULARIO — Empresas
   ========================================================================== */
.bim-formulario { background:var(--bim-purple); position:relative; overflow:hidden; text-align:center; }
.bim-formulario .container { position:relative; z-index:1; padding-top:6rem; padding-bottom:7rem; }
/* Arco teal inferior */
/*.bim-formulario::after { content:''; position:absolute; bottom:-55%; left:50%; transform:translateX(-50%); width:130%; padding-bottom:65%; border-radius:50%; background:var(--bim-teal); z-index:0; }*/
/* Título y subtítulo */
.bim-formulario__title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 4vw, 3rem); color:var(--bim-white); margin-bottom:1rem; }
.bim-formulario__subtitle { font-size:var(--bim-font-size-base); color:rgba(255,255,255,0.85); margin-bottom:2.5rem; line-height:1.6; }
/* Campo pill */
.bim-formulario__field { display:flex; background:var(--bim-white); border-radius:var(--bim-radius-pill); overflow:hidden; padding:0.25rem; max-width:560px; margin:0 auto 0.75rem; }
.bim-formulario__input { flex:1; border:none; outline:none; padding:0.5rem 1.25rem; font-family:var(--bim-font-base); font-size:var(--bim-font-size-base); background:transparent; color:var(--bim-dark); }
.bim-formulario__input::placeholder { color:var(--bim-gray); }
.bim-formulario__btn { background:var(--bim-pink); color:var(--bim-white); border:none; border-radius:var(--bim-radius-pill); padding:0.6rem 1.75rem; font-family:var(--bim-font-base); font-weight:700; font-size:var(--bim-font-size-base); cursor:pointer; transition:background 0.2s ease; flex-shrink:0; }
.bim-formulario__btn:hover { background:var(--bim-purple); }
/* Disclaimer */
.bim-formulario__disclaimer { font-size:var(--bim-font-size-sm); color:rgba(255,255,255,0.6); margin:0; }
.bim-formulario__disclaimer a { color:rgba(255,255,255,0.8); text-decoration:underline; }

@media (max-width:575.98px) {
  .bim-formulario__field { flex-direction:column; border-radius:var(--bim-radius-lg); }
  .bim-formulario__btn { border-radius:var(--bim-radius-pill); padding:0.75rem; }
}

/* ==========================================================================
   PAGE HERO — variantes de fondo
   ========================================================================== */
.bim-page-hero--lime-pink .bim-page-hero__bg { background:linear-gradient(to right, var(--bim-lime) 35%, var(--bim-pink) 35%); }
.bim-page-hero--pink-teal .bim-page-hero__bg { background:var(--bim-teal); }
.bim-page-hero__circles { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:1; pointer-events:none; }

/* ==========================================================================
   PAGE TABS — Ganancias / Requisitos
   ========================================================================== */
/* Fondos y colores por variante */
.bim-page-tabs .container { padding-top:6rem; padding-bottom:7rem; }
.bim-page-tabs--white { background:var(--bim-white); }
.bim-page-tabs--teal  { background:var(--bim-teal); }
/* Eyebrow y títulos según fondo */
.bim-page-tabs--white .section-header__eyebrow { color:var(--bim-dark); }
.bim-page-tabs--white .section-header__title   { color:var(--bim-teal); }
.bim-page-tabs--teal  .section-header__eyebrow { color:var(--bim-white); }
.bim-page-tabs--teal  .section-header__title   { color:var(--bim-white); }
.bim-page-tabs--teal  .section-header__subtitle { color:rgba(255,255,255,0.85); }
/* Card */
.bim-page-tabs__card {  position:relative; overflow:visible; height:100%; }
.bim-page-tabs__card::before { content:''; position:absolute; width:50px; height:50px; border-radius:50%; background:var(--bim-pink); left:-25px; top:50%; transform:translateY(-50%); z-index:0; pointer-events:none; }
.bim-page-tabs__card-inner { position:relative; z-index:2; display:flex; flex-direction:column; height:100%; background:var(--bim-light); border-radius:var(--bim-radius-lg); padding:2.5rem;  }
/* Dots decorativos */
.bim-page-tabs__dot { position:absolute; border-radius:50%; pointer-events:none; }
.bim-page-tabs__dot--purple { width:60px; height:60px; top:40px; right:-30px; background:var(--bim-purple); z-index:2; }
.bim-page-tabs__dot--lime   { width:40px; height:40px; top:30px; right:0px; background:var(--bim-lime); z-index:1; }
/* Panel */
.bim-page-tabs__panel { display:none; flex:1; flex-direction:column; }
.bim-page-tabs__panel.is-active { display:flex; animation:bimFadeIn 0.3s ease; }
.bim-page-tabs__panel-icon { width:48px; height:48px; margin-bottom:1.25rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bim-page-tabs__panel-title { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(1.5rem, 2.5vw, 2rem); color:var(--bim-purple); margin-bottom:0.75rem; }
.bim-page-tabs__panel-text  { font-size:var(--bim-font-size-base); color:var(--bim-gray); line-height:1.6; margin-bottom:1.5rem; flex:1; }
.bim-page-tabs__panel-cta   { align-self:flex-start; }
/* Navegación */
.bim-page-tabs__nav { display:flex; gap:0.5rem; margin-top:1.5rem; }
.bim-page-tabs__arrow { width:38px; height:38px; border-radius:50%; border:none; background:var(--bim-light); color:var(--bim-gray); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s ease; padding:0; }
.bim-page-tabs__arrow:hover { background:var(--bim-purple); color:var(--bim-white); }
/* Lista de tabs */
.bim-page-tabs__list { display:flex; flex-direction:column; gap:0.5rem; height:100%; }
.bim-page-tabs__tab { width:100%; text-align:left; padding:1rem 1.5rem; border-radius:var(--bim-radius-pill); border:none; background:var(--bim-white); color:var(--bim-gray); font-family:var(--bim-font-base); font-weight:600; font-size:var(--bim-font-size-base); cursor:pointer; transition:all 0.2s ease; }
.bim-page-tabs--white .bim-page-tabs__tab { background:var(--bim-light); color:var(--bim-dark); box-shadow:none; }
.bim-page-tabs--white .bim-page-tabs__tab.is-active { background:var(--bim-teal);  color:var(--bim-white); box-shadow:none; }
.bim-page-tabs--teal  .bim-page-tabs__tab           { background:rgba(255,255,255,0.2); color:var(--bim-white); box-shadow:none; }
.bim-page-tabs--teal  .bim-page-tabs__tab.is-active { background:var(--bim-pink); color:var(--bim-white); }

@media (max-width:767.98px) {
  .bim-page-tabs__list { flex-direction:row; flex-wrap:wrap; gap:0.4rem; }
  .bim-page-tabs__tab  { width:auto; padding:0.6rem 1rem; font-size:var(--bim-font-size-sm); }
}

/* ==========================================================================
   RENTABILIDAD — Agentes (hereda .bim-operacion-card)
   ========================================================================== */
.bim-rentabilidad { background:var(--bim-white); }
.bim-rentabilidad .container { padding-top:6rem; padding-bottom:7rem; }
.bim-rentabilidad-card { padding:1rem; background:var(--bim-white); border-radius:var(--bim-radius-lg); box-shadow:var(--bim-shadow-md); }
.bim-rentabilidad .bim-operacion-card__body { padding:2rem; }

/* ==========================================================================
   RECURSOS — Agentes
   ========================================================================== */
.bim-recursos { background:var(--bim-light); }
.bim-recursos .container { padding-top:6rem; padding-bottom:7rem; }
.bim-recurso-card { padding:1rem; background:var(--bim-white); border-radius:var(--bim-radius-lg); box-shadow:var(--bim-shadow-card); overflow:hidden; height:100%; display:flex; flex-direction:column; }
.bim-recurso-card__media { aspect-ratio:4/3; overflow:hidden; background:#FAF0EB; border-radius:var(--bim-radius-md); }
.bim-recurso-card__img   { width:100%; height:100%; object-fit:cover; display:block; }
.bim-recurso-card__body  { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.bim-recurso-card__meta  { display:flex; align-items:center; gap:0.75rem; margin-bottom:0.75rem; }
.bim-recurso-card__badge { background:var(--bim-teal); color:var(--bim-white); font-size:var(--bim-font-size-xs); font-weight:700; padding:0.2rem 0.6rem; border-radius:var(--bim-radius-pill); }
.bim-recurso-card__free  { font-size:var(--bim-font-size-xs); color:var(--bim-gray); font-weight:600; }
.bim-recurso-card__title { font-family:var(--bim-font-display); font-weight:700; font-size:1.25rem; color:var(--bim-purple); margin-bottom:0.5rem; line-height:1.3; }
.bim-recurso-card__text  { font-size:var(--bim-font-size-sm); color:var(--bim-gray); margin-bottom:1rem; flex:1; line-height:1.5; }
.bim-recurso-card__link  { display:inline-flex; align-items:center; gap:0.3rem; color:var(--bim-pink); font-weight:700; font-size:var(--bim-font-size-sm); text-decoration:none; transition:gap 0.2s ease; margin-top:auto; }
.bim-recurso-card__link:hover { gap:0.6rem; color:var(--bim-pink); }

/* ==========================================================================
   PAGE FORM — Formulario CTA reutilizable
   ========================================================================== */
.bim-page-form { position:relative; overflow:hidden; overflow:hidden; text-align:center; }
.bim-page-form .container { position:relative; z-index:1; padding-top:6rem; padding-bottom:7rem; }
.bim-page-form--purple { background:var(--bim-purple); }
.bim-page-form--pink   { background:var(--bim-pink); }
.bim-page-form__title    { font-family:var(--bim-font-display); font-weight:700; font-size:clamp(2rem, 4vw, 3rem); color:var(--bim-white); margin-bottom:1rem; }
.bim-page-form__subtitle { font-size:var(--bim-font-size-base); color:rgba(255,255,255,0.85); margin-bottom:2.5rem; line-height:1.6; }
.bim-page-form__field    { display:flex; background:var(--bim-white); border-radius:var(--bim-radius-pill); overflow:hidden; padding:0.25rem; max-width:560px; margin:0 auto 0.75rem; }
.bim-page-form__input    { flex:1; border:none; outline:none; padding:0.5rem 1.25rem; font-family:var(--bim-font-base); font-size:var(--bim-font-size-base); background:transparent; color:var(--bim-dark); }
.bim-page-form__input::placeholder { color:var(--bim-gray); }
.bim-page-form__btn      { background:var(--bim-pink); color:var(--bim-white); border:none; border-radius:var(--bim-radius-pill); padding:0.6rem 1.75rem; font-family:var(--bim-font-base); font-weight:700; font-size:var(--bim-font-size-base); cursor:pointer; transition:background 0.2s ease; flex-shrink:0; }
.bim-page-form__btn:hover { background:var(--bim-purple); }
.bim-page-form--pink .bim-page-form__btn { background:var(--bim-purple); }
.bim-page-form--pink .bim-page-form__btn:hover { background:var(--bim-teal); }
.bim-page-form__legal { font-size:var(--bim-font-size-sm); color:rgba(255,255,255,0.6); margin:0; }
.bim-page-form__legal a { color:rgba(255,255,255,0.8); text-decoration:underline; }

@media (max-width:575.98px) {
  .bim-page-form__field { flex-direction:column; border-radius:var(--bim-radius-lg); }
  .bim-page-form__btn { border-radius:var(--bim-radius-pill); padding:0.75rem; }
}


/* Arco teal inferior */
.bim-page-form__arc { display:none; position:absolute; bottom:-40%; left:50%; transform:translateX(-50%); width:120%; padding-bottom:50%; border-radius:50%; background:var(--bim-teal); z-index:0; }

@media (max-width:767.98px) {
  .bim-page-form__field { flex-direction:column; border-radius:var(--bim-radius-lg); overflow:visible; background:transparent; gap:0.75rem; }
  .bim-page-form__input { border-radius:var(--bim-radius-pill); background:var(--bim-white); padding:0.75rem 1.25rem; }
  .bim-page-form__btn   { width:100%; }
}