/* ============================================================
   BIOWELLNESS REGENERATIVA · ajustes de la unidad
   ------------------------------------------------------------
   Se carga SOLO en regenerativa.html, después del sistema, y va sin
   @layer para ganarle. No es otra marca (como css/bar.css): es la
   identidad del centro con otra proporción, más clara que oscura.
   Una unidad clínica se lee mejor sobre el papel crema; el oscuro
   queda en la portada y el pie.

   Lo que esta hoja agrega, y nada más:
   · el sello de la unidad (.rg-sello), que la distingue del resto
     del sitio y la ata al marco regulatorio;
   · la cadena de custodia (.rg-cadena), tres tarjetas;
   · los perfiles (.rg-para), los pasos (.rg-pasos), el equipo
     (.rg-equipo), el laboratorio (.rg-lab), los límites
     (.rg-limites), las preguntas (.rg-faq).
   Todo con los tokens de tokens.css: sin colores nuevos.
   ============================================================ */

/* ---------- Sello de la unidad ----------
   Va en la portada, en la tarjeta de cada sección clínica y en el pie:
   es la marca de que esta parte del sitio se rige por prescripción. */
.rg-sello{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;
  padding:.45rem .9rem;border-radius:var(--r-pill);
  border:1px solid var(--ink-3);color:var(--tx-l);background:rgba(230,197,163,.06);
}
.rg-sello::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--metal)}
.on-light .rg-sello{border-color:var(--stone);color:var(--tx-d);background:var(--bone-2)}

/* ---------- Portada ----------
   Más corta que la de la home: no hay video y el botón tiene que
   quedar a la vista en un portátil. */
.rg-hero .hero-inner{padding-block:clamp(1.6rem,3vw,2.4rem) clamp(2.6rem,6vw,4rem)}
.rg-hero h1{max-width:17ch}
.rg-hero .lead{max-width:52ch}
.rg-direccion{
  margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;
  font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.74rem;letter-spacing:.08em;
  color:var(--tx-l-mut);
}
.rg-direccion b{color:var(--tx-l);font-weight:600}

/* ---------- La cadena: quien indica · quien responde · quien elabora ---------- */
.rg-cadena{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin-top:clamp(2rem,4vw,2.8rem);
}
.rg-eslabon{
  position:relative;background:var(--bone-2);border:1px solid var(--stone);
  border-radius:var(--r-lg);padding:1.6rem 1.5rem;
}
.rg-eslabon .n{
  font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.72rem;
  letter-spacing:.14em;color:var(--accent-tx);
}
.rg-eslabon h3{font-family:var(--ff-display);font-size:1.3rem;line-height:1.1;margin:.6rem 0 .3rem}
.rg-eslabon .quien{font-weight:600;font-size:.95rem;margin-bottom:.6rem}
.rg-eslabon p{font-size:.93rem;color:var(--tx-d-mut)}
/* La flecha entre eslabones: es una secuencia, no tres tarjetas sueltas. */
.rg-eslabon + .rg-eslabon::before{
  content:"→";position:absolute;left:-1rem;top:50%;transform:translate(-50%,-50%);
  font-size:1.2rem;color:var(--tx-d-mut);
}
.rg-ciclo{
  margin-top:1.6rem;font-family:var(--ff-mono);font-weight:var(--fw-tech);
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-d-mut);
}
.rg-ciclo b{color:var(--accent-tx);font-weight:700}
@media (max-width:900px){
  .rg-cadena{grid-template-columns:1fr}
  .rg-eslabon + .rg-eslabon::before{content:"↓";left:50%;top:-1rem}
}

/* ---------- Para quién ---------- */
.rg-para{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(2rem,4vw,2.8rem)}
.rg-perfil{
  background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r-lg);
  padding:1.5rem 1.4rem;display:flex;flex-direction:column;
}
.rg-perfil h3{font-family:var(--ff-display);font-size:1.25rem;line-height:1.1}
.rg-perfil p{font-size:.92rem;color:var(--tx-l-mut);margin-top:.6rem;flex:1}
.rg-perfil .ej{
  margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--ink-3);
  font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.04em;line-height:1.7;color:var(--tx-l-mut);
}
.rg-puente{
  margin-top:clamp(1.8rem,4vw,2.4rem);padding:1.1rem 1.3rem;border-radius:var(--r-md);
  border:1px solid var(--ink-3);background:var(--ink-2);font-size:.93rem;color:var(--tx-l-mut);
}
.rg-puente a{color:var(--tx-l);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){ .rg-para{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .rg-para{grid-template-columns:1fr} }

/* ---------- Cómo se decide una indicación ---------- */
.rg-pasos{list-style:none;counter-reset:paso;margin-top:clamp(2rem,4vw,2.8rem);border-top:1px solid var(--stone)}
.rg-pasos li{
  counter-increment:paso;display:grid;grid-template-columns:3.2rem 1fr;gap:.4rem 1.2rem;
  padding:1.4rem 0;border-bottom:1px solid var(--stone);
}
.rg-pasos li::before{
  content:"0" counter(paso);font-family:var(--ff-mono);font-weight:var(--fw-tech);
  font-size:.85rem;letter-spacing:.08em;color:var(--accent-tx);padding-top:.35rem;
}
.rg-pasos h3{font-family:var(--ff-display);font-size:1.3rem;line-height:1.1}
.rg-pasos p{grid-column:2;font-size:.95rem;color:var(--tx-d-mut);max-width:60ch}
.rg-evidencia{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.rg-evidencia span{
  font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;padding:.45rem .85rem;border-radius:var(--r-pill);
  border:1px solid var(--stone);background:var(--bone-2);color:var(--tx-d);
}

/* ---------- Equipo ---------- */
.rg-equipo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.4rem);margin-top:clamp(2rem,4vw,2.8rem)}
.rg-persona{
  display:grid;grid-template-columns:150px 1fr;gap:1.4rem;align-items:start;
  background:var(--bone-2);border:1px solid var(--stone);border-radius:var(--r-lg);padding:1.5rem;
}
.rg-persona .member{max-width:150px}
.rg-persona .avatar{margin-bottom:0}
.rg-persona h3{font-family:var(--ff-display);font-size:1.35rem;line-height:1.1}
.rg-persona .rol{
  font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.72rem;letter-spacing:.08em;
  color:var(--accent-tx);margin:.35rem 0 .8rem;
}
.rg-persona p{font-size:.92rem;color:var(--tx-d-mut)}
.rg-persona ul{list-style:none;margin-top:.8rem;display:grid;gap:.3rem;font-size:.86rem;color:var(--tx-d-mut)}
.rg-persona li::before{content:"·";margin-right:.5rem;color:var(--accent-tx)}
.rg-persona .mat{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.06em;color:var(--tx-d-mut);margin-top:.8rem}
@media (max-width:1000px){ .rg-equipo{grid-template-columns:1fr} }
@media (max-width:520px){ .rg-persona{grid-template-columns:1fr} .rg-persona .member{max-width:150px} }

/* ---------- Laboratorio ---------- */
.rg-lab{
  display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;
  margin-top:clamp(2rem,4vw,2.8rem);padding:1.6rem 1.5rem;
  border:1px solid var(--ink-3);border-radius:var(--r-lg);background:var(--ink-2);
}
.rg-lab svg{color:var(--accent-strong);margin-top:.15rem}
.rg-lab .k{font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-l-mut);margin-bottom:.5rem}
.rg-lab p{color:var(--tx-l-mut);font-size:.95rem}
.rg-lab p + p{margin-top:.7rem}
.rg-lab b{color:var(--tx-l)}
.rg-lab-enl{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1rem}
.rg-lab-enl a{color:var(--tx-l);text-decoration:underline;text-underline-offset:3px;font-size:.9rem}

/* ---------- Qué trabajamos ---------- */
.rg-campos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.rg-campos span{
  font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:var(--r-pill);
  background:var(--bone-2);border:1px solid var(--stone);color:var(--tx-d);
}
.rg-terapia{
  margin-top:clamp(1.8rem,4vw,2.4rem);background:var(--bone-2);border:1px solid var(--stone);
  border-radius:var(--r-lg);padding:1.6rem 1.5rem;
}
.rg-terapia .n{font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.72rem;letter-spacing:.14em;color:var(--accent-tx)}
.rg-terapia h3{font-family:var(--ff-display);font-size:1.4rem;line-height:1.1;margin:.5rem 0 .6rem}
.rg-terapia p{font-size:.95rem;color:var(--tx-d-mut)}
.rg-terapia p + p{margin-top:.7rem}
.rg-terapia .meta{font-family:var(--ff-mono);font-weight:var(--fw-tech);font-size:.7rem;letter-spacing:.08em;color:var(--tx-d-mut);margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--stone)}
.rg-nota{margin-top:1.2rem;font-size:.9rem;color:var(--tx-d-mut);max-width:70ch}

/* ---------- Límites ---------- */
.rg-limites{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:clamp(2rem,4vw,2.8rem)}
.rg-limite{
  display:flex;gap:.9rem;align-items:flex-start;
  background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--r-md);padding:1.2rem 1.3rem;
}
.rg-limite svg{flex:none;margin-top:.15rem;color:var(--accent-strong)}
.rg-limite b{display:block;color:var(--tx-l);margin-bottom:.25rem}
.rg-limite p{font-size:.92rem;color:var(--tx-l-mut)}
@media (max-width:760px){ .rg-limites{grid-template-columns:1fr} }

/* ---------- Preguntas frecuentes ---------- */
.rg-faq{margin-top:clamp(2rem,4vw,2.8rem);border-top:1px solid var(--stone)}
.rg-faq details{border-bottom:1px solid var(--stone)}
.rg-faq summary{
  cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;position:relative;
  font-weight:600;font-size:1.02rem;
}
.rg-faq summary::-webkit-details-marker{display:none}
.rg-faq summary::after{content:"+";position:absolute;right:.2rem;top:1rem;font-size:1.3rem;color:var(--accent-tx);line-height:1}
.rg-faq details[open] summary::after{content:"−"}
.rg-faq .r{padding:0 0 1.2rem;font-size:.95rem;color:var(--tx-d-mut);max-width:70ch}

/* ---------- Acceso ---------- */
.rg-acceso{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:start;margin-top:clamp(1.8rem,4vw,2.6rem)}
.rg-acceso p{color:var(--tx-l-mut)}
@media (max-width:840px){ .rg-acceso{grid-template-columns:1fr} }

/* ---------- Letra chica ---------- */
.rg-aviso{
  margin-top:clamp(2rem,4vw,2.8rem);font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.02em;
  line-height:1.7;color:var(--tx-l-mut);max-width:90ch;
}
