/* =====================================================================
   B3 Group · Sección de trayectoria / estadísticas (.b3x)
   Compartida por index, nosotros, contacto y campus-virtual.
   ===================================================================== */
.b3x{
  --b3x-red:#D71920; --b3x-red-soft:#FF5A5F; --b3x-ink:#0E0E10; --b3x-panel:#17171A;
  --b3x-line:rgba(255,255,255,.10); --b3x-text:#F2F2F2; --b3x-muted:#B9B9BE;
  position:relative; overflow:hidden; padding:88px 20px 96px;
  background:
    radial-gradient(900px 420px at 85% -10%, rgba(215,25,32,.28), transparent 60%),
    linear-gradient(180deg,#121214 0%, var(--b3x-ink) 100%);
  color:var(--b3x-text); font-family:'Barlow',system-ui,sans-serif;
}
.b3x::before{ /* retícula técnica de fondo */
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:linear-gradient(var(--b3x-line) 1px,transparent 1px),linear-gradient(90deg,var(--b3x-line) 1px,transparent 1px);
  background-size:56px 56px; mask-image:linear-gradient(180deg,#000 0%,transparent 85%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);
}
.b3x *{box-sizing:border-box}
.b3x-wrap{position:relative; max-width:1140px; margin:0 auto}
.b3x-head{display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:end; margin-bottom:48px}
/* el sitio estiliza todo <header> como la barra de navegación: se neutraliza aquí */
.b3x .b3x-head{position:static; top:auto; z-index:auto; background:none; border:0; box-shadow:none}
.b3x .b3x-title,.b3x .b3x-label{color:var(--b3x-text)}
.b3x-eyebrow{display:inline-flex; align-items:center; gap:10px; font:600 13px/1 'Barlow',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--b3x-red-soft)}
.b3x-eyebrow::before{content:""; width:28px; height:2px; background:var(--b3x-red)}
.b3x-title{margin:14px 0 0; font:800 clamp(34px,5vw,56px)/1 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.01em}
.b3x-title span{color:var(--b3x-red-soft)}
.b3x-lead{margin:0; font-size:17px; line-height:1.6; color:var(--b3x-muted)}
.b3x-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.b3x-card{
  position:relative; padding:28px 26px 26px; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border:1px solid var(--b3x-line); border-radius:4px; outline:none;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s, background .35s, box-shadow .35s;
}
.b3x-card::after{ /* barra roja que crece al pasar el mouse */
  content:""; position:absolute; left:0; top:0; height:3px; width:44px; background:var(--b3x-red); transition:width .45s cubic-bezier(.2,.7,.2,1);
}
.b3x-card:hover,.b3x-card:focus-visible{transform:translateY(-6px); border-color:rgba(215,25,32,.55); background:linear-gradient(180deg,rgba(215,25,32,.12),rgba(255,255,255,.02)); box-shadow:0 18px 40px -18px rgba(215,25,32,.55)}
.b3x-card:hover::after,.b3x-card:focus-visible::after{width:100%}
.b3x-top{display:flex; justify-content:space-between; align-items:flex-start; gap:12px}
.b3x-icon{width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(215,25,32,.5); border-radius:50%; color:var(--b3x-red-soft); transition:background .35s,color .35s}
.b3x-card:hover .b3x-icon,.b3x-card:focus-visible .b3x-icon{background:var(--b3x-red); color:#fff}
.b3x-icon svg{width:22px; height:22px}
.b3x-idx{font:600 12px/1 'Barlow',sans-serif; letter-spacing:.18em; color:#7C7C83}
.b3x-num{margin:22px 0 6px; display:flex; align-items:baseline; gap:2px; font:800 clamp(52px,6vw,72px)/.9 'Barlow Condensed',sans-serif; font-variant-numeric:tabular-nums}
.b3x-num .b3x-plus{color:var(--b3x-red-soft); font-size:.7em}
.b3x-label{margin:0; font:700 19px/1.2 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.04em}
.b3x-desc{margin:8px 0 0; font-size:14.5px; line-height:1.55; color:var(--b3x-muted)}
.b3x-foot{margin-top:28px; display:flex; flex-wrap:wrap; gap:10px 28px; font-size:13px; color:#8E8E95}
.b3x-foot b{color:var(--b3x-text); font-weight:600}

/* ---- Versión compacta: una sola fila de cifras (contacto, campus) ---- */
.b3x--compact{padding:44px 20px 48px}
.b3x--compact .b3x-wrap{max-width:1150px}
.b3x--compact .b3x-grid{grid-template-columns:repeat(var(--b3x-cols,3),minmax(0,1fr))}
.b3x--compact .b3x-card{display:flex; align-items:center; gap:18px; padding:22px 22px 20px}
.b3x--compact .b3x-icon{flex:0 0 auto}
.b3x--compact .b3x-num{margin:0; font-size:clamp(40px,4.4vw,54px)}
.b3x--compact .b3x-label{font-size:17px; margin-top:4px}

@media (max-width:900px){.b3x-head{grid-template-columns:1fr; gap:14px}.b3x-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.b3x--compact .b3x-grid{grid-template-columns:1fr}}
@media (max-width:560px){.b3x{padding:64px 16px 72px}.b3x-grid{grid-template-columns:1fr}.b3x-card{padding:24px 20px}
  .b3x--compact{padding:36px 16px 40px}.b3x--compact .b3x-card{padding:18px 18px 16px}}
@media (prefers-reduced-motion:reduce){.b3x-card,.b3x-card::after,.b3x-icon{transition:none}.b3x-card:hover{transform:none}}

/* =====================================================================
   B3 Group · Página de servicio (.b3p) — prevencionista-emergencias.html
   ===================================================================== */
.b3p{--red:#D71920;--red2:#FF5A5F;--ink:#0E0E10;--panel:#17171A;--line:rgba(255,255,255,.10);--text:#F2F2F2;--muted:#B9B9BE;
  background:var(--ink);color:var(--text);font-family:'Barlow',system-ui,sans-serif;line-height:1.55}
.b3p *{box-sizing:border-box}
.b3p a{color:inherit}
.b3p-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.b3p-sec{padding:80px 0;position:relative}
.b3p-eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 'Barlow',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--red2)}
.b3p-eyebrow::before{content:"";width:28px;height:2px;background:var(--red)}
.b3p-h2{margin:14px 0 14px;font:800 clamp(30px,4.2vw,46px)/1.02 'Barlow Condensed',sans-serif;text-transform:uppercase}
.b3p-h2 span{color:var(--red2)}
.b3p-lead{margin:0;max-width:680px;font-size:17px;color:var(--muted)}

/* HERO */
.b3p-hero{position:relative;overflow:hidden;padding:110px 0 96px;
  background:radial-gradient(900px 480px at 88% -10%,rgba(215,25,32,.35),transparent 60%),linear-gradient(180deg,#141416,var(--ink))}
.b3p-hero::before{content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 90%);mask-image:linear-gradient(180deg,#000,transparent 90%)}
.b3p-hero .b3p-wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.b3p-h1{margin:16px 0 18px;font:800 clamp(40px,6vw,68px)/.95 'Barlow Condensed',sans-serif;text-transform:uppercase}
.b3p-h1 span{color:var(--red2)}
.b3p-quote{margin:0 0 30px;font-size:18px;color:var(--muted);max-width:560px}
.b3p-ctas{display:flex;flex-wrap:wrap;gap:12px}
.b3p-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:3px;font:700 16px/1 'Barlow',sans-serif;text-decoration:none;transition:transform .25s,background .25s,border-color .25s}
.b3p-btn svg{width:20px;height:20px}
.b3p-btn--red{background:var(--red);color:#fff}
.b3p-btn--red:hover{background:#B5121B;transform:translateY(-2px)}
.b3p-btn--ghost{border:1px solid rgba(255,255,255,.3);color:#fff}
.b3p-btn--ghost:hover{border-color:var(--red2);transform:translateY(-2px)}
.b3p-clock{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));padding:28px;border-radius:4px}
.b3p-clock-t{font:700 15px/1.3 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red2);margin-bottom:18px}
.b3p-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.b3p-steps li{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:start}
.b3p-steps b{font:800 22px/1 'Barlow Condensed',sans-serif;color:#fff}
.b3p-steps span{font-size:15px;color:var(--muted)}

/* FUNCIONES */
.b3p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.b3p-card{position:relative;padding:26px 24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:4px;outline:none;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s,background .35s,box-shadow .35s}
.b3p-card::after{content:"";position:absolute;left:0;top:0;height:3px;width:40px;background:var(--red);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.b3p-card:hover,.b3p-card:focus-visible{transform:translateY(-5px);border-color:rgba(215,25,32,.55);background:linear-gradient(180deg,rgba(215,25,32,.12),rgba(255,255,255,.02));box-shadow:0 18px 40px -20px rgba(215,25,32,.6)}
.b3p-card:hover::after,.b3p-card:focus-visible::after{width:100%}
.b3p-ic{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(215,25,32,.5);border-radius:50%;color:var(--red2);margin-bottom:16px;transition:background .35s,color .35s}
.b3p-card:hover .b3p-ic,.b3p-card:focus-visible .b3p-ic{background:var(--red);color:#fff}
.b3p-ic svg{width:22px;height:22px}
.b3p-card h3{margin:0 0 8px;font:700 21px/1.15 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.03em}
.b3p-card p{margin:0;font-size:15px;color:var(--muted)}

/* SECTORES */
.b3p-alt{background:#121214;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.b3p-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.b3p-chip{padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:15px;font-weight:500;transition:border-color .25s,background .25s}
.b3p-chip:hover{border-color:var(--red2);background:rgba(215,25,32,.12)}

/* MODALIDADES (pestañas) */
.b3p-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.b3p-tab{min-height:46px;padding:10px 20px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:3px;font:700 16px/1 'Barlow Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s}
.b3p-tab:hover{border-color:var(--red2)}
.b3p-tab[aria-selected="true"]{background:var(--red);border-color:var(--red);color:#fff}
.b3p-panel{margin-top:16px;padding:28px;border:1px solid var(--line);border-left:4px solid var(--red);background:var(--panel);border-radius:3px}
.b3p-panel[hidden]{display:none}
.b3p-panel h3{margin:0 0 8px;font:800 26px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.b3p-panel p{margin:0 0 14px;color:var(--muted);font-size:16px}
.b3p-panel ul{margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;font-size:15px}

/* PERFIL + BENEFICIOS */
.b3p-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.b3p-box{padding:30px;border:1px solid var(--line);border-radius:4px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.b3p-box h3{margin:0 0 12px;font:800 24px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.b3p-box p{margin:0;color:var(--muted)}
.b3p-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.b3p-check li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.b3p-check svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--red2)}

/* CTA */
.b3p-cta{position:relative;overflow:hidden;padding:64px 0;background:linear-gradient(110deg,var(--red) 0%,#8E0F14 100%)}
.b3p-cta .b3p-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.b3p-cta h2{margin:0;font:800 clamp(28px,4vw,42px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;max-width:620px}
.b3p-cta p{margin:10px 0 0;color:#FFE1E2;font-size:16px}
.b3p-cta .b3p-btn--ghost{border-color:#fff}
.b3p-cta .b3p-btn--white{background:#fff;color:#111}
.b3p-cta .b3p-btn--white:hover{background:#111;color:#fff;transform:translateY(-2px)}

@media (max-width:900px){.b3p-hero .b3p-wrap,.b3p-two{grid-template-columns:1fr}.b3p-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b3p-panel ul{grid-template-columns:1fr}}
@media (max-width:560px){.b3p-sec{padding:60px 0}.b3p-hero{padding:80px 0 64px}.b3p-wrap{padding:0 16px}.b3p-grid{grid-template-columns:1fr}.b3p-box,.b3p-panel,.b3p-clock{padding:22px}}
@media (prefers-reduced-motion:reduce){.b3p *{transition:none!important}}
/* el sitio aplica estilos propios a títulos y listas: se restauran los de esta página */
.b3p h1,.b3p h2,.b3p h3{color:var(--text)}
.b3p-cta h2{color:#fff}
.b3p-panel ul{list-style:disc}
.b3p-steps,.b3p-check{list-style:none}

/* =====================================================================
   B3 Group · Mensaje del Director Ejecutivo (.b3m) — nosotros.html e index.html
   Usa los tokens y tipografías del sitio (var(--amber), EB Garamond, Inter)
   ===================================================================== */
#mensaje{scroll-margin-top:90px}
.b3m-grid{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:52px;align-items:start}
.b3m-photo{margin:0}
.b3m-photo img{display:block;width:100%;height:auto;border-radius:12px 12px 0 0;border-bottom:6px solid var(--amber)}
.b3m-photo figcaption{margin-top:16px;line-height:1.45}
.b3m-photo figcaption strong{display:block;color:#fff;font-size:1.05rem}
.b3m-photo figcaption span{display:block;color:#c9cacc;font-size:.92rem}
.b3m-photo figcaption .b3m-role{color:var(--amber);font-weight:600}
.b3m-text h2{font-size:clamp(2rem,4vw,2.9rem);margin:10px 0 22px;color:#fff}
.b3m-text h2 span{color:var(--amber)}
.b3m-text p{color:#d4d5d7;font-size:1.05rem;margin-bottom:16px}
.b3m-band{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:28px;padding:20px 24px;background:#151515;border-left:4px solid var(--amber);border-radius:0 8px 8px 0}
.b3m-band strong{color:#fff;font-size:1rem;letter-spacing:1.5px}
.b3m-band strong span{color:var(--amber)}
.b3m-band small{color:#a7a9ac;font-size:.82rem;letter-spacing:1px}
.b3m-row{display:flex;align-items:center;gap:36px}
.b3m-avatar{flex:0 0 160px;width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid var(--amber)}
.b3m-quote{margin:12px 0 14px;padding:0;font-family:'EB Garamond',serif;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.3;color:#fff;font-style:italic}
.b3m-quote::before{content:"\201C";color:var(--amber);margin-right:4px}
.b3m-quote::after{content:"\201D";color:var(--amber);margin-left:2px}
.b3m-by{color:#c9cacc;margin-bottom:20px}
.b3m-by strong{color:#fff}
@media (max-width:767px){
  .b3m-grid{grid-template-columns:1fr;gap:28px}
  .b3m-photo{max-width:420px}
  .b3m-band{flex-direction:column;align-items:flex-start}
  .b3m-row{flex-direction:column;text-align:center;gap:20px}
}
