@charset "UTF-8";
/* ------------------------------------------------------------------
   Sergio Guerrero — hoja de estilos única
   Identidad: azul #2791a6 · verde #7fbb45 · tipografía Barlow
   Orden: 1 fuentes · 2 tokens · 3 base · 4 layout · 5 componentes
          6 secciones · 7 utilidades · 8 responsive
------------------------------------------------------------------- */

/* 1 · FUENTES ---------------------------------------------------- */
@font-face{font-family:Barlow;src:url(../fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlowcondensed-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlowcondensed-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlowcondensed-600i.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlowcondensed-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* 2 · TOKENS ----------------------------------------------------- */
:root{
  --azul:#2791a6;
  --azul-oscuro:#1b7386;
  --azul-profundo:#123640;
  --verde:#7fbb45;
  --verde-oscuro:#5d9130;
  --tinta:#10333b;
  --tinta-suave:#4a6c74;
  --nieve:#f1f6f7;
  --linea:#dbe7ea;
  --blanco:#fff;

  --fuente:Barlow,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fuente-titulo:"Barlow Condensed",Barlow,system-ui,sans-serif;

  --medida:34rem;
  --ancho:72rem;
  --carril:11rem;

  --e1:.5rem; --e2:1rem; --e3:1.5rem; --e4:2rem; --e5:3rem;
  --e6:4.5rem; --e7:7rem;
  --radio:.375rem;
  --transicion:.22s cubic-bezier(.32,.72,0,1);
}

/* 3 · BASE ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font-family:var(--fuente);
  font-size:1.125rem;
  line-height:1.7;
  color:var(--tinta);
  background:var(--blanco);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:var(--fuente-titulo);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.01em;
  margin:0 0 var(--e3);
  text-wrap:balance;
}
h1{font-size:clamp(2.75rem,6.4vw,5rem)}
h2{font-size:clamp(2.1rem,4.4vw,3.4rem)}
h3{font-family:var(--fuente);font-weight:600;font-size:1.35rem;line-height:1.3;letter-spacing:0}
p{margin:0 0 var(--e3);text-wrap:pretty}
a{color:var(--azul-oscuro);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--tinta)}
img,svg{max-width:100%;height:auto;display:block}
ul,ol{margin:0 0 var(--e3);padding-left:1.15em}
li{margin-bottom:.4em}
strong{font-weight:600}
hr{border:0;border-top:1px solid var(--linea);margin:var(--e5) 0}
::selection{background:var(--verde);color:var(--azul-profundo)}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:2px}

.salto-contenido{
  position:absolute;left:var(--e2);top:-6rem;z-index:100;
  background:var(--azul-profundo);color:#fff;padding:.7rem 1.2rem;
  border-radius:var(--radio);text-decoration:none;transition:top var(--transicion);
}
.salto-contenido:focus{top:var(--e2);color:#fff}

/* 4 · LAYOUT ----------------------------------------------------- */
.envoltura{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}
.medida{max-width:var(--medida)}
.medida-ancha{max-width:46rem}

.seccion{padding-block:var(--e6)}
.seccion--compacta{padding-block:var(--e5)}
.seccion--nieve{background:var(--nieve)}
.seccion--linea{border-top:1px solid var(--linea)}
.seccion--oscura{background:var(--azul-profundo);color:#fff}
.seccion--oscura h2,.seccion--oscura h3{color:#fff}
.seccion--oscura p{color:#d3e4e8}
.seccion--oscura a:not(.boton){color:var(--verde)}
.seccion--oscura .boton--claro{color:var(--azul-profundo)}
.seccion--oscura .boton--principal{color:#fff}
.seccion--oscura .boton--secundario{color:#fff;border-color:rgba(255,255,255,.35)}
.seccion--oscura .boton--secundario:hover{border-color:var(--verde);color:var(--verde)}
.seccion--oscura .etiqueta{color:var(--verde)}
.seccion--oscura .etiqueta::before{background:var(--verde)}

/* carril de notas al margen: la etiqueta se va al margen izquierdo */
.carril{display:grid;gap:var(--e3)}
@media (min-width:64rem){
  .carril{grid-template-columns:var(--carril) minmax(0,1fr);gap:0 var(--e5);align-items:start}
  .carril>.etiqueta{grid-column:1;margin:.55rem 0 0;text-align:right;justify-self:end}
  .carril>*:not(.etiqueta){grid-column:2}
}

/* 5 · COMPONENTES ------------------------------------------------ */
/* etiqueta / nota al margen */
.etiqueta{
  display:block;font-family:var(--fuente-titulo);font-weight:600;
  font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--azul-oscuro);margin:0 0 var(--e2);
}
.etiqueta::before{
  content:"";display:inline-block;width:1.5rem;height:2px;
  background:var(--azul);vertical-align:.32em;margin-right:.6rem;
}
@media (min-width:64rem){
  .carril>.etiqueta::before{display:none}
}

/* subrayado de marca: dos trazos desplazados, como las dos piezas del monograma.
   Con box-decoration-break funciona también cuando el fragmento salta de línea. */
.marca{
  padding-bottom:.16em;
  background-image:linear-gradient(var(--verde),var(--verde)),linear-gradient(var(--azul),var(--azul));
  background-repeat:no-repeat,no-repeat;
  background-position:0 100%,.14em calc(100% - .11em);
  background-size:0 .1em,0 .1em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  transition:background-size .55s cubic-bezier(.32,.72,0,1) .12s;
}
.marca.esta-visible{background-size:100% .1em,calc(100% - .14em) .1em}
@media (prefers-reduced-motion:reduce){
  .marca{transition:none;background-size:100% .1em,calc(100% - .14em) .1em}
}

/* botones */
.boton{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--fuente);font-size:1.0625rem;font-weight:600;line-height:1;
  padding:1rem 1.6rem;border-radius:var(--radio);border:2px solid transparent;
  text-decoration:none;cursor:pointer;transition:background var(--transicion),color var(--transicion),border-color var(--transicion),transform var(--transicion);
}
.boton:hover{transform:translateY(-1px)}
.boton:active{transform:translateY(0)}
.boton--principal{background:var(--azul);color:#fff}
.boton--principal:hover{background:var(--azul-profundo);color:#fff}
.boton--secundario{background:transparent;color:var(--azul-oscuro);border-color:var(--linea)}
.boton--secundario:hover{border-color:var(--azul);color:var(--azul-profundo)}
.boton--claro{background:var(--verde);color:var(--azul-profundo)}
.boton--claro:hover{background:#fff;color:var(--azul-profundo)}
.boton--bloque{width:100%;justify-content:center}
.boton .flecha{transition:transform var(--transicion)}
.boton:hover .flecha{transform:translateX(3px)}

.enlace-flecha{
  display:inline-flex;align-items:center;gap:.45rem;font-weight:600;
  text-decoration:none;border-bottom:2px solid var(--verde);padding-bottom:.15rem;
}
.enlace-flecha:hover{border-color:var(--azul)}

/* cabecera */
.cabecera{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linea);
}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);min-height:4.75rem}
.cabecera__logo{display:block;flex:0 0 auto}
.cabecera__logo img{height:3.5rem;width:auto}
.cabecera__nav{display:none}
.cabecera__nav ul{display:flex;align-items:center;gap:clamp(1rem,2.2vw,1.8rem);list-style:none;margin:0;padding:0}
.cabecera__nav li{margin:0}
.cabecera__nav a{
  font-size:1.0625rem;font-weight:500;color:var(--tinta);text-decoration:none;
  padding:.35rem 0;border-bottom:2px solid transparent;
}
.cabecera__nav a:hover{border-color:var(--verde)}
.cabecera__nav a[aria-current=page]{border-color:var(--azul);font-weight:600}
.cabecera__acciones{display:flex;align-items:center;gap:var(--e2)}
.cabecera .boton{padding:.7rem 1.1rem;font-size:1rem}
.hamburguesa{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:2.75rem;height:2.75rem;padding:.6rem;background:none;border:1px solid var(--linea);
  border-radius:var(--radio);cursor:pointer;
}
.hamburguesa span{display:block;height:2px;background:var(--tinta);transition:transform var(--transicion),opacity var(--transicion)}
.hamburguesa[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburguesa[aria-expanded=true] span:nth-child(2){opacity:0}
.hamburguesa[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-movil{display:none;border-top:1px solid var(--linea);background:#fff}
.menu-movil.abierto{display:block}
.menu-movil ul{list-style:none;margin:0;padding:var(--e2) 0 var(--e3)}
.menu-movil li{margin:0;border-bottom:1px solid var(--linea)}
.menu-movil li:last-child{border:0}
.menu-movil a{display:block;padding:.9rem .2rem;font-size:1.2rem;font-weight:500;color:var(--tinta);text-decoration:none}
.menu-movil a[aria-current=page]{color:var(--azul-oscuro);font-weight:600}
.menu-movil a[aria-current=page]::before{content:"";display:inline-block;width:.85rem;height:2px;background:var(--verde);vertical-align:.3em;margin-right:.5rem}
.menu-movil .boton{margin-top:var(--e3)}
@media (min-width:64rem){
  .cabecera__nav{display:block}
  .hamburguesa{display:none}
  .menu-movil{display:none!important}
}

/* hero */
.hero{
  position:relative;overflow:hidden;
  padding-block:clamp(2.5rem,7vw,5.5rem) var(--e6);
  background:linear-gradient(178deg,var(--nieve) 0%,var(--nieve) 42%,#fff 100%);
}
.hero::after{               /* monograma como marca de agua */
  content:"";position:absolute;pointer-events:none;
  right:-13%;top:6%;width:52%;aspect-ratio:281/317;
  background:url(../img/simbolo.svg) center/contain no-repeat;
  opacity:.06;transform:rotate(-8deg);
}
.hero>.envoltura{position:relative;z-index:1}
.hero__titulo{margin-bottom:var(--e4)}
.hero__titulo--largo{font-size:clamp(2.1rem,4.6vw,3.55rem);line-height:1.06}
.hero__entradilla{
  font-family:var(--fuente-titulo);font-size:clamp(1.4rem,2.4vw,1.85rem);
  font-weight:500;line-height:1.32;color:var(--azul-oscuro);max-width:30rem;
  margin-bottom:var(--e4);
}
.hero__texto{max-width:var(--medida)}
.hero__acciones{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e4)}
.hero__foto{border-radius:var(--radio);overflow:hidden;background:var(--nieve)}

/* El signo de apertura cuelga del margen, como en composición editorial */
.hero__titulo--colgado{text-indent:-.055em}

/* retrato de Sergio (hero de inicio) */
.retrato{
  position:relative;margin:0 0 var(--e4);border-radius:var(--radio);
  background:var(--azul-profundo);overflow:hidden;
  /* la foto tiene fondo claro, así que el marco necesita un filo que lo separe del papel */
  box-shadow:0 0 0 1px var(--linea);
}
.retrato::before,.retrato::after{content:"";position:absolute;top:0;height:4px;z-index:2}
.retrato::before{left:0;width:3.5rem;background:var(--azul)}
.retrato::after{left:3.5rem;width:2rem;background:var(--verde)}
/* La foto original es cuadrada, así que el marco es cuadrado: así se ve
   entera, sin recortes, y se aprovecha cada píxel del original. */
.retrato img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 22%}
/* mientras no haya foto, el hueco queda montado con el símbolo de marca */
.retrato__hueco{
  display:block;width:100%;aspect-ratio:1/1;
  background:var(--azul-profundo) url(../img/simbolo.svg) center/48% no-repeat;
  opacity:.9;
}
.retrato__hueco::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(39,145,166,.28),transparent 55%);
}

/* dos columnas en el hero de inicio: texto + retrato */
@media (min-width:64rem){
  .hero--inicio .carril>div{
    display:grid;align-items:start;
    grid-template-columns:minmax(0,1fr) 21rem;
    column-gap:var(--e5);
    grid-template-areas:
      "titulo titulo"
      "entradilla retrato"
      "texto retrato"
      "acciones retrato"
      "creds creds";
  }
  .hero--inicio .hero__titulo{grid-area:titulo}
  .hero--inicio .hero__entradilla{grid-area:entradilla}
  .hero--inicio .retrato{grid-area:retrato;margin:0;position:sticky;top:6.5rem;max-width:19rem;justify-self:end}
  .hero--inicio .hero__texto{grid-area:texto}
  .hero--inicio .hero__acciones{grid-area:acciones;align-self:end}
  .hero--inicio .credenciales{grid-area:creds}
}
@media (max-width:63.99rem){
  .retrato{max-width:19rem;margin-bottom:var(--e3)}
}
/* retrato dentro del hero de Sobre mí: mismo marco, alineado a la izquierda */
.retrato--sobre{max-width:19rem;margin:var(--e4) 0 0}

/* bloque visual de factores (¿qué tengo en cuenta?) */
.factores{
  list-style:none;margin:var(--e4) 0 0;padding:0;
  display:grid;gap:var(--e2);grid-template-columns:1fr;
}
@media (min-width:34rem){.factores{grid-template-columns:repeat(2,1fr)}}
@media (min-width:56rem){.factores{grid-template-columns:repeat(3,1fr)}}
.factores__item{
  position:relative;margin:0;display:flex;align-items:center;gap:.9rem;
  background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
  padding:var(--e2) var(--e3);
  font-family:var(--fuente-titulo);font-size:1.3rem;font-weight:600;line-height:1.15;
  color:var(--azul-oscuro);
  transition:border-color var(--transicion),transform var(--transicion);
}
.factores__item:hover{border-color:var(--azul);transform:translateY(-2px)}
.factores__marca{flex:0 0 auto;width:.85rem;height:.85rem;border-radius:2px;background:var(--verde)}
.factores__item:nth-child(even) .factores__marca{background:var(--azul)}
.seccion--oscura .factores__item{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
/* aparición escalonada */
.js .factores__item{opacity:0;transform:translateY(10px)}
.js .factores.esta-visible .factores__item{
  opacity:1;transform:none;
  transition:opacity .5s ease,transform .5s cubic-bezier(.32,.72,0,1);
}
.js .factores.esta-visible .factores__item:nth-child(1){transition-delay:.04s}
.js .factores.esta-visible .factores__item:nth-child(2){transition-delay:.10s}
.js .factores.esta-visible .factores__item:nth-child(3){transition-delay:.16s}
.js .factores.esta-visible .factores__item:nth-child(4){transition-delay:.22s}
.js .factores.esta-visible .factores__item:nth-child(5){transition-delay:.28s}
.js .factores.esta-visible .factores__item:nth-child(6){transition-delay:.34s}
@media (prefers-reduced-motion:reduce){
  .js .factores__item{opacity:1;transform:none;transition:none}
}

/* credenciales bajo el hero de inicio */
.credenciales{
  display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);align-items:center;
  margin-top:var(--e5);padding-top:var(--e3);border-top:1px solid var(--linea);
  list-style:none;padding-left:0;
}
.credenciales li{
  display:flex;align-items:center;gap:.6rem;margin:0;
  font-family:var(--fuente-titulo);font-size:1.15rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--azul-profundo);
}
.credenciales li::before{
  content:"";width:.7rem;height:.7rem;border-radius:2px;background:var(--verde);flex:0 0 auto;
}
.credenciales li:nth-child(even)::before{background:var(--azul)}
@media (max-width:47.99rem){
  .hero::after{right:-22%;top:auto;bottom:-6%;width:78%;opacity:.05}
  .credenciales{gap:.75rem 1.5rem}
  .credenciales li{font-size:1.05rem}
}

/* tarjetas */
.rejilla{display:grid;gap:var(--e3)}
.rejilla--3{grid-template-columns:1fr}
@media (min-width:48rem){.rejilla--3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:48rem){.rejilla--2{grid-template-columns:repeat(2,1fr)}}

.tarjeta{
  position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);
  padding:var(--e4) var(--e3) var(--e3);height:100%;display:flex;flex-direction:column;
  transition:border-color var(--transicion),transform var(--transicion);
}
.tarjeta::before{
  content:"";position:absolute;top:-1px;left:-1px;width:3.5rem;height:4px;background:var(--azul);
  border-radius:var(--radio) 0 0 0;
}
.tarjeta::after{
  content:"";position:absolute;top:-1px;left:2.6rem;width:2rem;height:4px;background:var(--verde);
}
.tarjeta:hover{border-color:var(--azul);transform:translateY(-2px)}
.tarjeta h3{margin-bottom:.6rem}
.tarjeta p{color:var(--tinta-suave);font-size:1.0625rem}
.tarjeta__enlace{margin-top:auto;padding-top:var(--e2);font-weight:600;text-decoration:none;display:inline-flex;gap:.4rem;align-items:center}
.tarjeta__asterisco{color:var(--azul);font-weight:400;vertical-align:super;font-size:.7em;margin-left:.1em}

/* lista de factores tipo etiquetas */
.pastillas{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:var(--e3) 0 0}
.pastillas li{
  margin:0;font-family:var(--fuente-titulo);font-weight:600;font-size:1rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--azul-oscuro);
  border:1px solid var(--linea);border-radius:2rem;padding:.35rem .95rem;background:#fff;
}
.seccion--oscura .pastillas li{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}

/* plan (servicios) */
.plan{padding-block:var(--e5);border-top:1px solid var(--linea)}
.plan:first-of-type{border-top:0}
.plan__cabecera{margin-bottom:var(--e3)}
.plan__para{
  font-family:var(--fuente-titulo);font-size:1.25rem;font-weight:500;
  color:var(--azul-oscuro);margin:-.6rem 0 var(--e3);
}
.plan__texto{max-width:var(--medida)}
.plan .boton{margin-top:var(--e2)}
.plan__detalle{display:grid;gap:var(--e3);margin-top:var(--e4)}
@media (min-width:56rem){.plan__detalle{grid-template-columns:1fr 1.35fr;gap:var(--e4);align-items:start}}
.plan__subtitulo{
  font-family:var(--fuente-titulo);font-size:.95rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--azul-oscuro);margin:0 0 var(--e2);
}
.plan__incluye{background:var(--nieve);border-radius:var(--radio);padding:var(--e3)}
.plan__incluye .lista-marcada li:last-child{margin-bottom:0}

/* tabla de honorarios */
.tarifas__lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.tarifas__item{
  display:grid;grid-template-columns:1fr auto;align-items:baseline;
  gap:.2rem var(--e2);margin:0;padding:var(--e2) 0;border-bottom:1px solid var(--linea);
}
.tarifas__item--destacado{background:linear-gradient(90deg,rgba(39,145,166,.06),transparent 70%)}
.tarifas__texto{display:grid;gap:.15rem}
.tarifas__nombre{font-weight:600;font-size:1.0625rem}
.tarifas__detalle{font-size:.95rem;line-height:1.45;color:var(--tinta-suave)}
.tarifas__precio{
  font-family:var(--fuente-titulo);font-size:1.6rem;font-weight:700;
  line-height:1;color:var(--azul-oscuro);white-space:nowrap;
}
.tarifas__boton{
  grid-column:1/-1;justify-self:start;margin-top:.35rem;font-weight:600;font-size:1rem;
  color:var(--azul-oscuro);text-decoration:none;border-bottom:2px solid var(--verde);
  padding-bottom:1px;transition:color var(--transicion),border-color var(--transicion);
}
.tarifas__boton:hover{color:var(--azul);border-color:var(--azul)}
/* pago único + pago en 2 plazos (importes por encima del umbral) */
.tarifas__acciones{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-top:.35rem}
.tarifas__acciones .tarifas__boton{grid-column:auto;margin-top:0}
.tarifas__boton--alt{border-bottom-color:var(--linea);color:var(--tinta-suave);font-weight:500}
.tarifas__boton--alt:hover{color:var(--azul);border-color:var(--azul)}
@media (min-width:34rem){
  .tarifas__item{grid-template-columns:1fr auto auto;column-gap:var(--e3)}
  .tarifas__boton{grid-column:auto;margin-top:0;align-self:center}
  .tarifas__acciones{grid-column:auto;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:0;align-self:center}
}

/* caja "ideal para" dentro de un plan */
.destacado-plan{
  margin-top:var(--e3);padding:var(--e3);border:1px solid var(--linea);
  border-left:4px solid var(--verde);border-radius:var(--radio);max-width:46rem;
}
.destacado-plan__titulo{
  font-family:var(--fuente-titulo);font-size:1.35rem;font-weight:700;
  color:var(--azul-oscuro);margin:0 0 .35rem;
}
.nota-legal{
  margin-top:var(--e3);max-width:46rem;font-size:.95rem;line-height:1.55;
  color:var(--tinta-suave);font-style:italic;
}

/* resumen del servicio elegido en /reservar/ */
.resumen{
  background:#fff;border:1px solid var(--linea);border-left:4px solid var(--azul);
  border-radius:var(--radio);padding:var(--e2) var(--e3);
}
.resumen__fila{display:flex;align-items:baseline;justify-content:space-between;gap:var(--e2)}
.resumen__nombre{font-weight:600;font-size:1.0625rem}
.resumen__precio{
  font-family:var(--fuente-titulo);font-size:1.6rem;font-weight:700;
  line-height:1;color:var(--azul-oscuro);white-space:nowrap;
}
.resumen__detalle{margin:.3rem 0 0;font-size:.95rem;line-height:1.45;color:var(--tinta-suave)}
.resumen__plazos{
  margin:.65rem 0 0;padding-top:.6rem;border-top:1px solid var(--linea);
  font-size:.95rem;line-height:1.45;color:var(--azul-oscuro);
}
.resumen__plazos[hidden]{display:none}
.nota-pago{margin:var(--e2) 0 0;max-width:34rem;font-size:.95rem;line-height:1.5;color:var(--tinta-suave)}

/* pasos numerados */
.pasos{list-style:none;margin:0;padding:0;counter-reset:paso;display:grid;gap:var(--e3)}
@media (min-width:48rem){.pasos{grid-template-columns:repeat(2,1fr);gap:var(--e4) var(--e5)}}
.pasos li{position:relative;margin:0;padding-left:3.5rem;counter-increment:paso}
.pasos li::before{
  content:counter(paso,decimal-leading-zero);position:absolute;left:0;top:.05em;
  font-family:var(--fuente-titulo);font-size:1.7rem;font-weight:700;color:var(--verde);
}
.pasos h3{margin-bottom:.35rem}
.pasos p{color:var(--tinta-suave);margin:0}

/* lista con marcas */
.lista-marcada{list-style:none;padding:0;margin:0 0 var(--e3)}
.lista-marcada li{position:relative;padding-left:1.8rem;margin-bottom:.7rem}
.lista-marcada li::before{
  content:"";position:absolute;left:0;top:.62em;width:.7rem;height:.7rem;
  border-radius:2px;background:var(--verde);
}
.lista-marcada li:nth-child(even)::before{background:var(--azul)}

/* faq */
.faq{border-top:1px solid var(--linea);margin-top:var(--e4)}
.faq__item{border-bottom:1px solid var(--linea)}
.faq__item summary{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--e3);
  padding:1.35rem 0;cursor:pointer;list-style:none;
  font-family:var(--fuente-titulo);font-size:1.45rem;font-weight:600;line-height:1.2;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--azul-oscuro)}
.faq__signo{flex:0 0 auto;width:1.5rem;height:1.5rem;position:relative;margin-top:.25rem}
.faq__signo::before,.faq__signo::after{
  content:"";position:absolute;background:var(--azul);border-radius:1px;
  top:50%;left:50%;transform:translate(-50%,-50%);
}
.faq__signo::before{width:1.1rem;height:2px}
.faq__signo::after{width:2px;height:1.1rem;transition:transform var(--transicion)}
.faq__item[open] .faq__signo::after{transform:translate(-50%,-50%) scaleY(0)}
.faq__respuesta{padding-bottom:1.4rem;max-width:var(--medida)}
.faq__respuesta p:last-child{margin-bottom:0}

/* buscador biblioteca */
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 var(--e4);padding:0;list-style:none}
.filtro{
  font-family:var(--fuente-titulo);font-weight:600;font-size:1.05rem;letter-spacing:.06em;
  text-transform:uppercase;background:#fff;border:1px solid var(--linea);border-radius:2rem;
  padding:.4rem 1rem;cursor:pointer;color:var(--tinta-suave);transition:all var(--transicion);
}
.filtro:hover{border-color:var(--azul);color:var(--azul-oscuro)}
.filtro[aria-pressed=true]{background:var(--azul-profundo);border-color:var(--azul-profundo);color:#fff}
.busqueda{position:relative;margin-bottom:var(--e3);max-width:32rem}
.busqueda input{
  width:100%;font-family:var(--fuente);font-size:1.0625rem;padding:.9rem 1rem .9rem 2.9rem;
  border:1px solid var(--linea);border-radius:var(--radio);background:#fff;color:var(--tinta);
}
.busqueda input:focus{border-color:var(--azul);outline-offset:1px}
.busqueda svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--azul)}

.articulos{list-style:none;margin:0;padding:0;display:grid;gap:0}
.articulo-item{border-top:1px solid var(--linea);margin:0}
.articulo-item:last-child{border-bottom:1px solid var(--linea)}
.articulo-item a{
  display:grid;gap:.35rem var(--e4);padding:var(--e3) 0;text-decoration:none;color:inherit;
  transition:background var(--transicion);
}
@media (min-width:64rem){
  .articulo-item a{grid-template-columns:var(--carril) minmax(0,1fr);align-items:start}
  .articulo-item__meta{text-align:right;padding-top:.3rem}
}
.articulo-item a:hover{background:var(--nieve)}
.articulo-item h3{font-family:var(--fuente-titulo);font-size:1.7rem;font-weight:700;line-height:1.1;margin:0 0 .35rem}
.articulo-item p{color:var(--tinta-suave);margin:0;font-size:1.0625rem}
.articulo-item__meta{
  font-family:var(--fuente-titulo);font-size:.95rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--azul-oscuro);
}
.articulo-item__fecha{display:block;color:var(--tinta-suave);letter-spacing:.06em}
.vacio{padding:var(--e5) 0;color:var(--tinta-suave)}

/* artículo */
.articulo{padding-block:var(--e5) var(--e6)}
.articulo__cabecera{margin-bottom:var(--e5)}
.articulo__meta{
  font-family:var(--fuente-titulo);font-size:.95rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--azul-oscuro);margin-bottom:var(--e2);
}
.articulo__cuerpo{max-width:var(--medida);font-size:1.1875rem}
.articulo__cuerpo h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-top:var(--e5)}
.articulo__cuerpo h3{margin-top:var(--e4)}
.articulo__cuerpo blockquote{
  margin:var(--e4) 0;padding:.2rem 0 .2rem var(--e3);border-left:3px solid var(--verde);
  font-family:var(--fuente-titulo);font-size:1.5rem;line-height:1.35;color:var(--azul-profundo);
}
.articulo__cuerpo blockquote p:last-child{margin-bottom:0}
.articulo__referencias{margin-top:var(--e5);padding-top:var(--e3);border-top:1px solid var(--linea);font-size:.98rem;color:var(--tinta-suave)}
.articulo__referencias ol{padding-left:1.3em}

/* formulario */
.formulario{display:grid;gap:var(--e3);max-width:38rem}
.campo{display:grid;gap:.4rem}
.campo label{font-weight:600;font-size:1.0625rem}
.campo input,.campo select,.campo textarea{
  font-family:var(--fuente);font-size:1.0625rem;color:var(--tinta);background:#fff;
  border:1px solid var(--linea);border-radius:var(--radio);padding:.85rem 1rem;width:100%;
  transition:border-color var(--transicion);
}
.campo textarea{min-height:9rem;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul)}
.campo--check{grid-template-columns:auto 1fr;align-items:start;gap:.7rem}
.campo--check input{width:1.15rem;height:1.15rem;margin-top:.35rem;accent-color:var(--azul)}
.campo--check label{font-weight:400;font-size:1rem;color:var(--tinta-suave)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso{padding:1rem 1.2rem;border-radius:var(--radio);font-size:1.0625rem;margin:0}
.aviso--ok{background:#eaf5e2;border:1px solid var(--verde);color:#2f4f18}
.aviso--error{background:#fdecec;border:1px solid #e0a3a3;color:#8a2b2b}
.oculto{display:none!important}

/* datos de contacto */
.dato{margin-bottom:var(--e3)}
.dato__etiqueta{
  font-family:var(--fuente-titulo);font-size:.9rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--azul-oscuro);display:block;margin-bottom:.15rem;
}
.dato a{font-size:1.25rem;font-weight:500}

/* firma */
.firma{
  display:flex;align-items:center;gap:var(--e3);margin-top:var(--e4);
  padding-top:var(--e3);border-top:1px solid var(--linea);
}
.firma__marca{width:3.25rem;flex:0 0 auto}
.firma__nombre{font-family:var(--fuente-titulo);font-size:1.5rem;font-weight:700;line-height:1.1;margin:0}
.firma__cargo{font-size:1rem;color:var(--tinta-suave);margin:0}
.seccion--oscura .firma{border-color:rgba(255,255,255,.2)}
.seccion--oscura .firma__cargo{color:#b9d3d9}

/* marcas colaboradoras */
.marcas{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);list-style:none;padding:0;margin:var(--e3) 0 0}
.marcas li{
  margin:0;font-family:var(--fuente-titulo);font-size:1.5rem;font-weight:600;
  letter-spacing:.04em;color:var(--azul-profundo);
}

/* pie */
.pie{background:var(--azul-profundo);color:#c9dee3;padding-block:var(--e5) var(--e4);margin-top:var(--e6)}
/* si la última sección ya es oscura, el pie enlaza con ella sin franja blanca */
main:has(>.seccion--oscura:last-child)+.pie{margin-top:0}
.pie a{color:#fff;text-decoration:none}
.pie a:hover{color:var(--verde)}
.pie__superior{display:grid;gap:var(--e4);padding-bottom:var(--e4);border-bottom:1px solid rgba(255,255,255,.15)}
@media (min-width:48rem){.pie__superior{grid-template-columns:1.4fr 1fr 1fr}}
.pie__logo{width:13rem;margin-bottom:var(--e2)}
.pie__frase{max-width:24rem;color:#c9dee3}
.pie h4{
  font-family:var(--fuente-titulo);font-size:1rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--verde);margin:0 0 var(--e2);
}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.5rem}
.pie__inferior{
  display:flex;flex-wrap:wrap;gap:var(--e2) var(--e3);justify-content:space-between;
  padding-top:var(--e3);font-size:.95rem;
}
.pie__legales{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e3)}

/* whatsapp flotante */
.whatsapp{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;
  display:inline-flex;align-items:center;justify-content:center;
  width:3.5rem;height:3.5rem;border-radius:50%;background:#25d366;color:#fff;
  box-shadow:0 6px 20px rgba(16,51,59,.28);transition:transform var(--transicion);
}
.whatsapp:hover{transform:scale(1.06);color:#fff}

/* Barra de preferencias (aviso de cookies). Ojo: las clases NO llevan la palabra
   "cookies" a propósito. Brave y los bloqueadores con listas de avisos de cookies
   ocultan por selector cualquier elemento que la incluya, y el banner desaparecía. */
.barra-pref{
  position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:70;
  width:min(40rem,calc(100vw - 2rem));max-height:calc(100vh - 2.5rem);overflow-y:auto;
  background:#fff;border:1px solid var(--linea);border-radius:.6rem;
  box-shadow:0 12px 44px rgba(16,51,59,.22);padding:1.35rem 1.5rem;
  animation:sube-barra .4s cubic-bezier(.32,.72,0,1) both;
}
@keyframes sube-barra{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.barra-pref{animation:none}}
.barra-pref__titulo{
  font-family:var(--fuente-titulo);font-size:1rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--azul-oscuro);margin:0 0 .4rem;
}
.barra-pref__texto{font-size:.98rem;line-height:1.55;margin:0 0 var(--e2);color:var(--tinta-suave)}
.barra-pref__acciones{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.barra-pref .boton{padding:.7rem 1.25rem;font-size:1rem}
.barra-pref__enlace{
  background:none;border:0;padding:.7rem .35rem;cursor:pointer;font-family:var(--fuente);
  font-size:1rem;font-weight:600;color:var(--tinta-suave);text-decoration:underline;
  text-underline-offset:.18em;margin-left:auto;
}
.barra-pref__enlace:hover{color:var(--azul-oscuro)}

/* panel de preferencias */
.barra-pref__panel{
  border-top:1px solid var(--linea);margin:0 0 var(--e2);padding-top:var(--e2);
  display:grid;gap:var(--e2);
}
.barra-pref__opcion{display:grid;gap:.25rem}
.barra-pref__interruptor{display:flex;align-items:center;gap:.65rem;cursor:pointer;font-weight:600;font-size:1rem}
.barra-pref__interruptor input{position:absolute;opacity:0;width:1px;height:1px}
.barra-pref__marca{
  flex:0 0 auto;width:2.5rem;height:1.4rem;border-radius:1rem;background:#cfdde1;
  position:relative;transition:background var(--transicion);
}
.barra-pref__marca::after{
  content:"";position:absolute;top:.2rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;
  background:#fff;transition:transform var(--transicion);
}
.barra-pref__interruptor input:checked+.barra-pref__marca{background:var(--verde)}
.barra-pref__interruptor input:checked+.barra-pref__marca::after{transform:translateX(1.1rem)}
.barra-pref__interruptor input:disabled+.barra-pref__marca{background:var(--azul);opacity:.5}
.barra-pref__interruptor input:focus-visible+.barra-pref__marca{outline:3px solid var(--verde);outline-offset:3px}
.barra-pref__nombre em{font-weight:400;font-style:normal;color:var(--tinta-suave);font-size:.92rem}
.barra-pref__desc{font-size:.92rem;line-height:1.5;color:var(--tinta-suave);margin:0 0 0 3.15rem}

.pie__boton{
  background:none;border:0;padding:0;cursor:pointer;color:#fff;
  font-family:var(--fuente);font-size:.95rem;text-decoration:underline;text-underline-offset:.18em;
}
.pie__boton:hover{color:var(--verde)}

@media (max-width:34rem){
  .barra-pref{left:.6rem;right:.6rem;bottom:.6rem;width:auto;transform:none;padding:1.15rem 1.1rem;animation:none}
  .barra-pref__acciones{gap:.5rem}
  .barra-pref__enlace{margin-left:auto;padding:.7rem .2rem}
  .barra-pref__desc{margin-left:0}
}

/* 6 · SECCIONES ESPECÍFICAS -------------------------------------- */
.cierre-cta{text-align:left}
.cierre-cta h2{max-width:16ch}
.cierre-cta p{max-width:var(--medida)}

.capturas{display:grid;gap:var(--e2);grid-template-columns:repeat(2,1fr);margin-top:var(--e3)}
@media (min-width:48rem){.capturas{grid-template-columns:repeat(4,1fr)}}
.captura{
  aspect-ratio:9/16;background:var(--nieve);border:1px solid var(--linea);border-radius:var(--radio);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.captura img{width:100%;height:100%;object-fit:cover}
.captura span{
  font-family:var(--fuente-titulo);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-suave);padding:1rem;text-align:center;
}

.migas{font-size:.95rem;color:var(--tinta-suave);margin-bottom:var(--e3)}
.migas a{color:var(--tinta-suave)}
.migas a:hover{color:var(--azul-oscuro)}

/* 7 · UTILIDADES ------------------------------------------------- */
.solo-lectores{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.sin-margen{margin-bottom:0}
/* La aparición solo se activa si hay JS (clase .js) y en pantallas grandes:
   así el texto nunca queda invisible si algo falla. */
.js .aparece{opacity:0;transform:translateY(12px);transition:opacity .6s var(--transicion),transform .6s cubic-bezier(.32,.72,0,1)}
.js .aparece.esta-visible{opacity:1;transform:none}
@media (max-width:63.99rem){.js .aparece{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .aparece{opacity:1;transform:none;transition:none}
  .boton:hover,.tarjeta:hover,.whatsapp:hover{transform:none}
}

/* 8 · MÓVIL ------------------------------------------------------ */
@media (max-width:63.99rem){
  .seccion{padding-block:var(--e5)}
  .seccion--compacta{padding-block:var(--e4)}
  .pie{margin-top:var(--e5)}
}

@media (max-width:47.99rem){
  body{font-size:1.0625rem;line-height:1.65}
  h1{font-size:clamp(2.35rem,10vw,3.6rem)}
  h2{font-size:clamp(1.85rem,7.2vw,2.6rem)}
  h3{font-size:1.2rem}

  .cabecera__logo img{height:3.1rem}
  .cabecera .boton{padding:.65rem .9rem;font-size:.95rem}
  .cabecera__fila{min-height:4.25rem}

  .hero{padding-block:var(--e4) var(--e5)}
  .hero__entradilla{font-size:1.3rem;margin-bottom:var(--e3)}
  .hero__acciones{gap:.75rem;margin-top:var(--e3)}
  .hero__acciones .boton{width:100%;justify-content:center}
  .credenciales{margin-top:var(--e4)}

  .plan{padding-block:var(--e4)}
  .plan__para{font-size:1.1rem}
  .pasos li{padding-left:2.9rem}
  .pasos li::before{font-size:1.4rem}
  .faq__item summary{font-size:1.2rem;padding:1.1rem 0;gap:var(--e2)}
  .articulo-item h3{font-size:1.4rem}
  .articulo-item a{padding:1.25rem 0}
  .articulo__cuerpo{font-size:1.0625rem}
  .articulo__cuerpo blockquote{font-size:1.25rem;margin:var(--e3) 0}
  .marcas li{font-size:1.25rem}
  .capturas{gap:.75rem}

  .barra-pref{left:.75rem;right:.75rem;bottom:.75rem;padding:var(--e2)}
  .barra-pref .boton{flex:1;justify-content:center}
  .whatsapp{right:.85rem;bottom:.85rem;width:3.25rem;height:3.25rem}

  .pie__superior{gap:var(--e3)}
  .pie__logo{width:11rem}
  .pie__inferior{font-size:.9rem}
}

@media (max-width:23.5rem){
  .cabecera__logo img{height:2.7rem}
  .cabecera .boton{padding:.6rem .75rem;font-size:.9rem}
  h1{font-size:2.15rem}
}

/* --- captacion de correo (MailerLite) ------------------------------
   El embed viene con sus propios estilos (Open Sans, boton negro). Aqui se
   le pone la tipografia y el color de la marca para que no parezca pegado. */
.captacion{
  background:var(--blanco);
  border-radius:var(--radio);
  padding:1.5rem;
  max-width:var(--medida);
  box-shadow:0 1px 2px rgba(16,51,59,.06),0 12px 32px -12px rgba(16,51,59,.28);
}
.captacion .ml-form-embedContainer{max-width:100%!important}
.captacion .ml-form-embedWrapper{background:transparent!important;border:0!important;box-shadow:none!important;max-width:100%!important}
.captacion .ml-form-embedBody{padding:0!important}
.captacion .ml-form-embedContainer *{font-family:var(--fuente)!important}
.captacion .ml-form-embedContainer h4{
  font-family:var(--fuente-titulo)!important;
  font-size:1.5rem!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
  color:var(--tinta)!important;
  margin:0 0 .5rem!important;
}
.captacion .ml-form-embedContainer p{color:var(--tinta-suave)!important;font-size:.95rem!important;line-height:1.55!important}
.captacion .ml-form-embedPermissionsContent p,
.captacion .ml-form-embedContainer .label-description p{font-size:.82rem!important}
.captacion .ml-form-embedContainer a{color:var(--azul-oscuro)!important}
.captacion .ml-form-embedContainer input[type=email],
.captacion .ml-form-embedContainer input[type=text]{
  font-size:1rem!important;
  padding:.7rem .85rem!important;
  border:1px solid var(--linea)!important;
  border-radius:var(--radio)!important;
  color:var(--tinta)!important;
}
.captacion .ml-form-embedContainer input[type=email]:focus,
.captacion .ml-form-embedContainer input[type=text]:focus{
  border-color:var(--azul)!important;
  outline:2px solid rgba(39,145,166,.25)!important;
  outline-offset:1px!important;
}
/* El boton lo pinta MailerLite con una regla que lleva el ID del formulario
   (#mlb2-xxxxx ...), y contra un ID no gana ninguna cantidad de clases. El
   :is(#ml, .captacion) sube la especificidad al nivel de un ID sin depender
   de cual sea el numero del formulario: #ml no existe en la pagina, solo
   cuenta para el calculo. Si algun dia se cambia el color desde el editor de
   MailerLite, basta con borrar estas dos reglas. */
:is(#ml,.captacion) .ml-form-embedContainer.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary{
  background-color:var(--azul)!important;
  color:#fff!important;
  border:0!important;
  border-radius:var(--radio)!important;
  font-family:var(--fuente)!important;
  font-size:1rem!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  padding:.8rem 1.4rem!important;
  transition:background-color .18s ease!important;
}
:is(#ml,.captacion) .ml-form-embedContainer.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary:hover{
  background-color:var(--azul-oscuro)!important;
}
.captacion .ml-form-successContent h4{color:var(--verde-oscuro)!important}
@media (max-width:37.5rem){
  .captacion{padding:1.15rem}
  .captacion .ml-form-recaptcha{transform:scale(.87);transform-origin:0 0}
}

/* --- reseñas de Google --------------------------------------------- */
.resenas__cabecera{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem 2rem;
  margin-bottom:2rem;
}
.resenas__nota{margin:0;display:flex;align-items:baseline;gap:.45rem;white-space:nowrap}
.resenas__media{
  font-family:var(--fuente-titulo);
  font-size:2rem;
  font-weight:700;
  line-height:1;
  color:var(--azul);
}
.resenas__total{font-size:.9rem;color:var(--tinta-suave)}

.resenas__caja{position:relative}
.resenas__caja--recorte{max-height:44rem;overflow:hidden}
.resenas__caja--recorte::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:9rem;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(241,246,247,0),var(--nieve) 85%);
}
.resenas__lista{
  list-style:none;
  margin:0;
  padding:0;
  columns:3;
  column-gap:1.25rem;
}
.resena{
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--radio);
  padding:1.4rem;
  margin:0 0 1.25rem;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.resena--wa{background:#f7fbf8;border-color:#dcece2}
.resena__alto{display:flex;align-items:center;gap:.7rem}
.resena__avatar{
  flex:0 0 auto;
  width:2.4rem;
  height:2.4rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--azul);
  color:#fff;
  font-family:var(--fuente-titulo);
  font-size:1.15rem;
  font-weight:700;
  line-height:1;
}
.resena__autor{margin:0;font-weight:600;color:var(--tinta);line-height:1.2}
.resena__fecha{margin:.1rem 0 0;font-size:.82rem;color:var(--tinta-suave);line-height:1.2}
.resena__canal{margin-left:auto;flex:0 0 auto}
.resena__avatar--icono{background:var(--azul);color:#fff}
.estrellas{display:inline-flex;gap:.15rem}
.estrella{fill:var(--linea)}
.estrella--on{fill:#f0a500}
.resena__texto{margin:0;color:var(--tinta);line-height:1.6}
.resena__respuesta{
  margin:0;
  padding-top:.75rem;
  border-top:1px solid var(--linea);
  font-size:.88rem;
  line-height:1.55;
  color:var(--tinta-suave);
}
.resena__respuesta span{font-weight:600;color:var(--tinta)}
.resenas__pie{margin:2rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.75rem}
.resenas__escribir{font-size:.88rem;color:var(--tinta-suave)}
@media (max-width:62rem){
  .resenas__lista{columns:2}
}
@media (max-width:37.5rem){
  .resenas__nota{width:100%}
  .resenas__lista{columns:1}
  .resenas__caja--recorte{max-height:36rem}
  .resena{padding:1.15rem}
}
