*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body,h1,h2,h3,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0;}
ul{list-style:none;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}

:root{

  --bj-papel:#FBFAF7;
  --bj-papel-alt:#F2F0EA;
  --bj-linea:#E3E0D8;

  --bj-tinta:#11242A;
  --bj-texto-2:#33474D;
  --bj-texto-3:#5F7278;

  --bj-teal:#015763;
  --bj-teal-profundo:#01464F;
  --bj-oro:#EFC245;

  --bj-font-titulo:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bj-font-cuerpo:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bj-font-tesis:'Source Serif 4', ui-serif, Georgia, 'Times New Roman', serif;

  --bj-fs-nombre:clamp(2.5rem, 2rem + 2.08vw, 3.5rem);
  --bj-fs-titulo:clamp(1.625rem, 1.47rem + .64vw, 2.125rem);
  --bj-fs-h3:1.1875rem;
  --bj-fs-lead:clamp(1.125rem, 1.05rem + .31vw, 1.3125rem);
  --bj-fs-cuerpo:1.125rem;
  --bj-fs-meta:.9375rem;
  --bj-fs-rotulo:.8125rem;

  --bj-lh-nombre:1.08;
  --bj-lh-titulo:1.2;
  --bj-lh-lead:1.55;
  --bj-lh-cuerpo:1.7;

  --bj-texto:38rem;
  --bj-container:62rem;
  --bj-gutter:clamp(1.25rem, 5vw, 3rem);
  --bj-sect:clamp(3.5rem, 2.57rem + 3.81vw, 6rem);
  --bj-gap:clamp(1rem, .5rem + 2vw, 1.75rem);
  --bj-radio:10px;
  --bj-radio-min:4px;
  --bj-tap:44px;
  --bj-transicion:140ms ease;
}

body{
  background:var(--bj-papel);
  color:var(--bj-tinta);
  font-family:var(--bj-font-cuerpo);
  font-size:var(--bj-fs-cuerpo);
  line-height:var(--bj-lh-cuerpo);
  -webkit-font-smoothing:antialiased;
}

.bj-envoltura{
  max-width:var(--bj-container);
  margin:0 auto;
  padding-left:var(--bj-gutter);
  padding-right:var(--bj-gutter);
}

h1,h2,h3{
  font-family:var(--bj-font-titulo);
  font-weight:600;
  color:var(--bj-teal-profundo);
}
h1{font-size:var(--bj-fs-nombre);line-height:var(--bj-lh-nombre);letter-spacing:-.01em;}
h2{font-size:var(--bj-fs-titulo);line-height:var(--bj-lh-titulo);}
h3{font-size:var(--bj-fs-h3);line-height:1.35;}

p{margin:0 0 1rem;max-width:var(--bj-texto);}
p:last-child{margin-bottom:0;}
strong,b{font-weight:600;}

.bj-rotulo{
  font-size:var(--bj-fs-rotulo);
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--bj-teal);
  margin:0 0 10px;
}
.bj-lead{font-size:var(--bj-fs-lead);line-height:var(--bj-lh-lead);}
.bj-meta{font-size:var(--bj-fs-meta);color:var(--bj-texto-3);}

.bj-trazo{width:74px;height:3px;background:var(--bj-oro);margin:16px 0 20px;}

.bj-enlace{
  color:var(--bj-teal);
  text-decoration:none;
  border-bottom:1px solid var(--bj-teal);
  padding-bottom:2px;
  display:inline-flex;
  align-items:center;
  min-height:var(--bj-tap);
  transition:border-color var(--bj-transicion);
}
.bj-enlace:hover{border-color:var(--bj-oro);}

:focus-visible{
  outline:2px solid var(--bj-teal);
  outline-offset:2px;
  border-radius:var(--bj-radio-min);
}

.bj-hero{padding:var(--bj-sect) 0 0;}
.bj-seccion{padding:var(--bj-sect) 0;}
.bj-alt{background:var(--bj-papel-alt);}

.bj-alt .bj-meta{color:var(--bj-texto-2);}

.bj-tesis{
  border-left:3px solid var(--bj-teal);
  padding:2px 0 2px 14px;
  margin:0 0 1rem;
  max-width:var(--bj-texto);
  font-family:var(--bj-font-tesis);
  font-size:var(--bj-fs-lead);
  line-height:1.45;
  color:var(--bj-teal-profundo);
}

.bj-principios{max-width:var(--bj-texto);}
.bj-principios li{margin:0 0 1.5rem;}
.bj-principios li:last-child{margin-bottom:0;}
.bj-principios b{display:block;margin:0 0 .35rem;}

.bj-frente-principal{
  border-left:3px solid var(--bj-teal);
  padding:2px 0 2px 20px;
  margin:0 0 var(--bj-gap);
  max-width:var(--bj-texto);
}

.bj-frentes{display:grid;grid-template-columns:1fr;gap:var(--bj-gap);}
@media(min-width:768px){

  .bj-frentes{grid-template-columns:repeat(auto-fit,minmax(13rem,22rem));justify-content:start;}
}

.bj-tarjeta{
  background:var(--bj-papel-alt);
  border-radius:var(--bj-radio);
  padding:24px;
}
.bj-alt .bj-tarjeta{background:var(--bj-papel);}
.bj-tarjeta h3{color:var(--bj-tinta);font-size:1rem;}
.bj-tarjeta .bj-sub{font-size:var(--bj-fs-meta);color:var(--bj-texto-2);margin:6px 0 0;}
.bj-ico{width:26px;height:26px;color:var(--bj-teal);display:block;margin:0 0 12px;}

.bj-tarjeta--firma,
.bj-alt .bj-tarjeta--firma{background:var(--bj-teal);}
.bj-tarjeta--firma .bj-ico{color:var(--bj-oro);}
.bj-tarjeta--firma h3{color:var(--bj-papel);}
.bj-tarjeta--firma .bj-sub{color:rgba(251,250,247,.82);}

.bj-faq{display:grid;grid-template-columns:1fr;gap:var(--bj-gap);margin:24px 0 0;}
@media(min-width:768px){.bj-faq{grid-template-columns:1fr 1fr;}}
.bj-faq h3{margin:0 0 .5rem;}
.bj-faq > div{max-width:34rem;}

.bj-hueco{
  border:1px dashed rgba(1,87,99,.5);
  border-radius:var(--bj-radio);
  background:var(--bj-papel-alt);
  padding:20px;
  margin:0 0 1rem;
  max-width:var(--bj-texto);
  color:var(--bj-texto-2);
  font-size:var(--bj-fs-meta);
  line-height:1.6;
}
.bj-alt .bj-hueco{background:var(--bj-papel);}
.bj-hueco strong{
  display:block;
  font-size:var(--bj-fs-rotulo);
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--bj-teal);
  margin:0 0 8px;
}

.bj-nota{
  border-left:3px dashed var(--bj-linea);
  padding:2px 0 2px 14px;
  margin:16px 0 0;
  max-width:var(--bj-texto);
  color:var(--bj-texto-2);
  font-size:var(--bj-fs-meta);
  line-height:1.6;
}

.bj-banner{
  background:var(--bj-papel-alt);
  border-bottom:1px dashed rgba(1,87,99,.5);
  padding:16px 0;
}
.bj-banner p{
  margin:0 0 .35rem;
  max-width:none;
  font-size:var(--bj-fs-meta);
  line-height:1.6;
  color:var(--bj-texto-2);
}
.bj-banner p:last-child{margin-bottom:0;}

.bj-pie{border-top:1px solid var(--bj-linea);padding:var(--bj-sect) 0;}
.bj-pie p{margin:0 0 .5rem;color:var(--bj-texto-3);font-size:var(--bj-fs-meta);}
.bj-pie p:first-child{color:var(--bj-tinta);font-size:var(--bj-fs-cuerpo);}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}

@media print{
  body{background:#fff;color:#000;font-size:11pt;}
  .bj-banner,.bj-hueco,.bj-nota{display:none;}
  .bj-hero,.bj-seccion,.bj-pie{padding:1.5rem 0;}
  .bj-alt{background:transparent;}
  .bj-enlace{color:#000;border-bottom:1px solid #000;}
  .bj-tarjeta,.bj-tarjeta--firma{background:transparent;border:1px solid #999;}
  .bj-tarjeta--firma h3,.bj-tarjeta--firma .bj-sub{color:#000;}
  h1,h2,h3{color:#000;}
}
