/* adm.hospital — raiz (/). SUPLEMENTO on-brand (v3, 16/08).
 *
 * A raiz usa os MESMOS componentes de /medicos, /hospitais, /gestor (estilo.css):
 * .hero.decorado, .card-diferencial, .jornada, .monitor, .secao-clara/navy, etc.
 * Aqui só o que essas páginas não têm: prova social (depoimentos, 4.9/5, imprensa),
 * a faixa de hospitais e os marcadores nas telas. Tokens do brandbook (estilo.css).
 */

/* faixa de confiança logo abaixo do hero */
.confianca{ border-top:1px solid var(--cinza-claro); border-bottom:1px solid var(--cinza-claro); background:#fff; padding:1.5rem 0; }
.confianca .container{ display:flex; align-items:center; justify-content:center; gap:1rem 2.2rem; flex-wrap:wrap; }
.confianca .nota{ display:flex; align-items:center; gap:.6rem; }
.confianca .estrelas{ height:22px; width:auto; }
.confianca .nota b{ color:var(--navy-titulo); font-weight:800; } .confianca .nota span{ color:var(--cinza-texto); font-size:.92rem; }
.confianca .divisor{ width:1px; height:34px; background:var(--cinza-claro); }
.confianca .avatares{ height:40px; width:auto; }

/* faixa de hospitais da rede */
.hospitais-rede{ text-align:center; }
.hospitais-rede .rot{ font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; color:var(--cinza-texto); font-weight:700; margin-bottom:1.3rem; }
.hospitais-rede .lista{ display:flex; flex-wrap:wrap; gap:.8rem 1rem; justify-content:center; }
.hospitais-rede .lista span{
  background:#fff; border:1px solid var(--cinza-claro); border-radius:12px; padding:.7rem 1.15rem;
  font-weight:700; color:var(--navy-titulo); box-shadow:0 6px 16px -12px rgba(15,31,48,.35);
  display:inline-flex; align-items:baseline; gap:.5rem;
}
.hospitais-rede .lista span small{ font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); font-weight:800; }
.hospitais-rede .fonte{ margin-top:1.1rem; color:var(--cinza-texto); font-size:.85rem; }

/* marcadores interativos sobre .monitor (mantidos, no estilo) */
.monitor{ position:relative; }
.marcador{ position:absolute; transform:translate(-50%,-50%); z-index:4; }
.marcador .pin{ width:28px;height:28px;border-radius:50%; background:#fff; color:var(--petroleo); display:grid; place-items:center; font:800 .85rem/1 'Inter',sans-serif; box-shadow:0 0 0 3px var(--teal),0 6px 14px -4px rgba(0,0,0,.45); cursor:default; }
.marcador .pin::after{ content:""; position:absolute; inset:-3px;border-radius:50%; border:2px solid var(--teal); animation:pulso-m 2.4s ease-out infinite; }
@keyframes pulso-m{ 0%{transform:scale(1);opacity:.7} 70%{transform:scale(1.9);opacity:0} 100%{opacity:0} }
.marcador .rotulo{ position:absolute; top:50%; left:calc(100% + 10px); transform:translateY(-50%); white-space:nowrap;
  background:var(--navy-titulo); color:#fff; padding:.35rem .65rem; border-radius:7px; font:700 .72rem/1.1 'Inter',sans-serif;
  opacity:0; transition:opacity .2s; box-shadow:0 8px 18px -8px rgba(0,0,0,.6); }
.marcador.esq .rotulo{ left:auto; right:calc(100% + 10px); }
.monitor:hover .marcador .rotulo, .marcador:focus-within .rotulo{ opacity:1; }

/* depoimentos — carrossel */
.depos{ position:relative; max-width:820px; margin:0 auto; }
.depo-trilho{ overflow:hidden; }
.depo-fita{ display:flex; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.depo{ min-width:100%; padding:.4rem; }
.depo .cartao{ background:#fff; border:1px solid var(--cinza-claro); border-radius:20px; padding:clamp(1.6rem,4vw,2.6rem); box-shadow:0 24px 48px -24px rgba(15,31,48,.4); text-align:center; }
.depo .aspas{ font:800 3rem/1 'Bricolage Grotesque',serif; color:var(--teal); }
.depo blockquote{ margin:.2rem 0 1.4rem; font-size:clamp(1.05rem,2.4vw,1.3rem); line-height:1.55; color:var(--navy-titulo); font-weight:500; }
.depo .quem{ display:flex; align-items:center; gap:.9rem; justify-content:center; }
.depo .quem img{ width:56px;height:56px;border-radius:50%; object-fit:cover; border:2px solid var(--teal); }
.depo .quem .n{ text-align:left; } .depo .quem .n b{ display:block; color:var(--navy-titulo); }
.depo .quem .n span{ color:var(--cinza-texto); font-size:.85rem; }
.depo-nav{ display:flex; gap:.5rem; justify-content:center; margin-top:1.4rem; }
.depo-bola{ width:9px;height:9px;border-radius:50%; background:var(--cinza-claro); border:0; padding:0; cursor:pointer; transition:all .2s; }
.depo-bola[aria-current="true"]{ background:var(--teal); width:26px; border-radius:6px; }
.depo-setas button{ position:absolute; top:38%; background:#fff; border:1px solid var(--cinza-claro); width:44px;height:44px;border-radius:50%; cursor:pointer; font-size:1.2rem; color:var(--navy-titulo); box-shadow:0 6px 16px -10px rgba(15,31,48,.4); }
.depo-setas .prev{ left:-10px; } .depo-setas .next{ right:-10px; }
@media(max-width:900px){ .depo-setas button{ display:none; } }

/* imprensa */
.imprensa{ text-align:center; }
.imprensa .rot{ font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; color:var(--cinza-texto); font-weight:700; margin-bottom:1.2rem; }
.imprensa .logos{ display:flex; gap:clamp(1.5rem,5vw,3.2rem); align-items:center; justify-content:center; flex-wrap:wrap; filter:grayscale(1); opacity:.55; }
.imprensa .logos img{ height:26px; width:auto; }

/* seção No rumo — cards sobre o navy */
.rumo-grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media(min-width:760px){ .rumo-grid{ grid-template-columns:repeat(2,1fr); } }
.rumo-item{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); border-radius:12px; padding:1.3rem 1.4rem; }
.rumo-item h3{ color:#fff; font-size:1.05rem; margin:0 0 .45rem; }
.rumo-item p{ color:rgba(255,255,255,.8); font-size:.95rem; line-height:1.55; margin:0; }
.rumo-nota{ color:rgba(255,255,255,.6); font-size:.86rem; margin:1.6rem auto 0; max-width:70ch; text-align:center; }
.rumo-nota strong{ color:rgba(255,255,255,.9); }

/* reveal ao rolar */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.reveal.vis{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} .depo-fita{transition:none} .marcador .pin::after{animation:none} }
