@charset "UTF-8";
/* ============================================================
   protocolo-doc.css -- v3.12.0
   Pagina /protocolo-doc/ -- "Documento Clinico Vertical"
   Namespace: --pr-*
   ASCII puro.
   ============================================================ */

:root{
  --pr-bg:#F8F9FC;
  --pr-bg-dark:#040609;
  --pr-ink:#0D1117;
  --pr-ink-soft:rgba(13,17,23,.72);
  --pr-ink-muted:rgba(13,17,23,.55);
  --pr-line:rgba(13,17,23,.10);
  --pr-line-soft:rgba(13,17,23,.06);
  --pr-teal:#00BFA5;
  --pr-teal-soft:rgba(0,191,165,.12);
  --pr-white:#FFFFFF;
  --pr-white-soft:rgba(255,255,255,.72);
  --pr-white-muted:rgba(255,255,255,.50);
  --pr-display:"Bricolage Grotesque", Georgia, serif;
  --pr-body:"Figtree", system-ui, -apple-system, sans-serif;
  --pr-max:1280px;
  --pr-gutter:clamp(20px, 5vw, 80px);
}

.pr{
  background:var(--pr-bg);
  color:var(--pr-ink);
  font-family:var(--pr-body);
  font-weight:400;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.pr-shell{
  max-width:var(--pr-max);
  margin:0 auto;
  padding-left:var(--pr-gutter);
  padding-right:var(--pr-gutter);
}

/* -- Hero ----------------------------------------------------- */
.pr-hero{
  padding-top:clamp(80px, 14vh, 140px);
  padding-bottom:clamp(56px, 9vh, 96px);
  border-bottom:1px solid var(--pr-line);
}
.pr-hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border:1px solid var(--pr-teal);
  color:var(--pr-teal);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.20em;
  text-transform:uppercase;
  border-radius:999px;
  margin-bottom:32px;
}
.pr-hero-eyebrow-dot{
  width:6px;height:6px;border-radius:50%;background:var(--pr-teal);
}
.pr-hero-title{
  font-family:var(--pr-display);
  font-size:clamp(2.5rem, 6vw, 4.5rem);
  line-height:1.04;
  letter-spacing:-0.025em;
  font-weight:500;
  margin:0 0 24px;
  max-width:18ch;
}
.pr-hero-sub{
  font-family:var(--pr-display);
  font-size:clamp(1.25rem, 2.2vw, 1.65rem);
  line-height:1.3;
  font-weight:400;
  color:var(--pr-ink-soft);
  margin:0 0 32px;
  max-width:32ch;
  font-style:italic;
}
.pr-hero-lead{
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--pr-ink-soft);
  max-width:62ch;
  margin:0;
}

/* -- Body grid (rail + steps) --------------------------------- */
.pr-body{
  padding-top:clamp(64px, 10vh, 120px);
  padding-bottom:clamp(96px, 14vh, 160px);
  display:grid;
  grid-template-columns:300px minmax(0, 1fr);
  gap:clamp(40px, 6vw, 96px);
  align-items:start;
}

/* -- Sticky rail ---------------------------------------------- */
.pr-rail{
  position:sticky;
  top:100px;
  align-self:start;
}
.pr-rail-label{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--pr-ink-muted);
  margin:0 0 24px;
  padding-bottom:14px;
  border-bottom:1px solid var(--pr-line);
}
.pr-rail-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
}
.pr-rail-item a{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 0;
  text-decoration:none;
  color:var(--pr-ink-muted);
  transition:color .25s ease;
  border-bottom:1px solid var(--pr-line-soft);
  font-size:.92rem;
  line-height:1.35;
}
.pr-rail-item a:hover{
  color:var(--pr-ink);
}
.pr-rail-item-num{
  font-family:var(--pr-display);
  font-size:.85rem;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--pr-ink-muted);
  transition:color .25s ease;
}
.pr-rail-item-title{
  font-weight:500;
}
.pr-rail-item.is-active a{
  color:var(--pr-teal);
}
.pr-rail-item.is-active .pr-rail-item-num{
  color:var(--pr-teal);
  font-weight:700;
}

/* -- Steps column --------------------------------------------- */
.pr-steps{
  display:flex;
  flex-direction:column;
  gap:clamp(72px, 11vh, 120px);
}
.pr-step{
  scroll-margin-top:100px;
}
.pr-step-num{
  font-family:var(--pr-display);
  font-size:clamp(.95rem, 1.3vw, 1.05rem);
  font-weight:600;
  letter-spacing:.10em;
  color:var(--pr-teal);
  margin:0 0 16px;
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.pr-step-num::before{
  content:"";
  width:32px;height:1px;background:var(--pr-teal);
}
.pr-step-title{
  font-family:var(--pr-display);
  font-size:clamp(1.85rem, 3.6vw, 2.75rem);
  line-height:1.1;
  letter-spacing:-0.018em;
  font-weight:500;
  margin:0 0 24px;
  max-width:26ch;
}
.pr-step-lead{
  font-size:1.05rem;
  line-height:1.7;
  color:var(--pr-ink-soft);
  margin:0 0 28px;
  max-width:62ch;
}
.pr-step-list{
  list-style:none;
  margin:0 0 36px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:62ch;
}
.pr-step-list li{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:14px;
  align-items:start;
  font-size:1.0rem;
  line-height:1.55;
  color:var(--pr-ink);
  padding:8px 0;
  border-bottom:1px solid var(--pr-line-soft);
}
.pr-step-list li::before{
  content:"";
  width:8px;height:8px;border-radius:50%;background:var(--pr-teal);
  margin-top:9px;
}
.pr-step-quote{
  margin:0;
  padding:20px 0 20px 24px;
  border-left:2px solid var(--pr-teal);
  font-family:var(--pr-display);
  font-style:italic;
  font-size:clamp(1.15rem, 1.8vw, 1.35rem);
  line-height:1.4;
  color:var(--pr-ink);
  font-weight:400;
  max-width:48ch;
}
.pr-step-note{
  margin:24px 0 0;
  padding:16px 20px;
  background:var(--pr-teal-soft);
  border-radius:6px;
  font-size:.92rem;
  line-height:1.55;
  color:var(--pr-ink);
  font-style:italic;
  max-width:62ch;
}
.pr-step-note strong{
  font-style:normal;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.78rem;
  display:block;
  margin-bottom:6px;
  color:var(--pr-teal);
}

/* -- Resolution band ------------------------------------------ */
.pr-resolution{
  padding-top:clamp(72px, 11vh, 120px);
  padding-bottom:clamp(72px, 11vh, 120px);
  border-top:1px solid var(--pr-line);
  text-align:center;
}
.pr-resolution-lead{
  font-family:var(--pr-display);
  font-size:clamp(1.5rem, 3vw, 2.2rem);
  line-height:1.35;
  font-weight:400;
  font-style:italic;
  color:var(--pr-ink);
  margin:0 auto;
  max-width:36ch;
}
.pr-resolution-lead::before{
  content:"";
  display:block;
  width:48px;height:2px;background:var(--pr-teal);
  margin:0 auto 32px;
}

/* -- Manifesto band (dark) ------------------------------------ */
.pr-manifesto{
  background:var(--pr-bg-dark);
  color:var(--pr-white);
  padding-top:clamp(96px, 14vh, 160px);
  padding-bottom:clamp(96px, 14vh, 160px);
  position:relative;
  overflow:hidden;
}
.pr-manifesto::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 40%, rgba(0,191,165,.10), transparent 60%);
  pointer-events:none;
}
.pr-manifesto-inner{
  position:relative;
  text-align:center;
}
.pr-manifesto-eyebrow{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--pr-teal);
  margin:0 0 32px;
}
.pr-manifesto-lines{
  list-style:none;
  margin:0 auto;
  padding:0;
  max-width:48ch;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.pr-manifesto-lines li{
  font-family:var(--pr-display);
  font-size:clamp(1.25rem, 2.4vw, 1.65rem);
  line-height:1.4;
  font-weight:400;
  color:var(--pr-white);
}

/* -- Final CTA ------------------------------------------------ */
.pr-cta{
  padding-top:clamp(96px, 14vh, 140px);
  padding-bottom:clamp(96px, 14vh, 140px);
  text-align:center;
}
.pr-cta-bridge{
  font-family:var(--pr-display);
  font-size:clamp(1.65rem, 3.4vw, 2.4rem);
  line-height:1.2;
  font-weight:500;
  letter-spacing:-0.015em;
  margin:0 auto 40px;
  max-width:22ch;
}
.pr-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:18px 36px;
  border-radius:999px;
  background:var(--pr-teal);
  color:var(--pr-bg-dark);
  font-family:var(--pr-body);
  font-weight:600;
  font-size:1rem;
  letter-spacing:.01em;
  text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease;
}
.pr-cta-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,191,165,.25);
}
.pr-cta-btn svg{width:18px;height:18px}
.pr-cta-foot{
  font-size:.88rem;
  color:var(--pr-ink-muted);
  margin:24px 0 0;
}

/* -- Mobile --------------------------------------------------- */
@media (max-width: 880px){
  .pr-body{
    grid-template-columns:1fr;
    gap:48px;
    padding-top:64px;
    padding-bottom:80px;
  }
  .pr-rail{
    position:static;
    top:auto;
    padding:24px;
    background:var(--pr-white);
    border:1px solid var(--pr-line);
    border-radius:8px;
  }
  .pr-rail-label{margin-bottom:18px;padding-bottom:12px;font-size:.62rem}
  .pr-rail-item a{
    padding:10px 0;
    font-size:.85rem;
  }
  .pr-rail-item-num{font-size:.78rem}
  .pr-steps{gap:64px}
  .pr-step-num::before{width:24px}
  .pr-step-list li{font-size:.95rem}
  .pr-step-list li::before{margin-top:8px}
  .pr-step-quote{padding-left:18px;border-left-width:2px}
  .pr-hero{padding-top:80px;padding-bottom:48px}
  .pr-hero-eyebrow{margin-bottom:24px}
  .pr-hero-sub{margin-bottom:24px}
}

@media (max-width: 480px){
  .pr-hero-title{font-size:2.25rem}
  .pr-step-title{font-size:1.65rem}
  .pr-cta-btn{padding:16px 28px;font-size:.92rem}
  .pr-resolution-lead{font-size:1.25rem}
}

/* -- Reduced motion ------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .pr-rail-item a, .pr-cta-btn{transition:none}
}
