/* Página inicial (v4). Escopo .h4 para não afetar o resto do site. */
.h4 img { height:auto; }
.h4 { --larg:1200px; --azul:#0162CC; --marinho:#0A2240; --texto:#2B3A4F; --suave:#5B6B80; --linha:#DCE3EC; --nevoa:#F2F5F9; }
.h4 .c { width:min(1200px, 100% - 48px); margin-inline:auto; }
.h4 .btn { min-height:52px; padding:0 26px; font-size:16px; }
.h4 p { margin:0; }
.h4-hero { padding:72px 0 0; overflow:hidden; }
.h4-hero .c { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:56px; align-items:center; }
.h4-hero h1 { font-size:clamp(40px, 5.2vw, 70px); font-weight:800; }
.h4-hero p { font-size:19px; max-width:34em; margin:24px 0 32px; }
.h4-hero .h4-acoes { display:flex; flex-wrap:wrap; gap:12px; }
.h4-hero .h4-local { margin-top:36px; font-size:14px; color:var(--suave); display:flex; gap:10px; align-items:center; }
.h4-hero .h4-local img { height:22px; }
.h4 .vitrine { position:relative; margin-right:calc(-1 * (100vw - min(var(--larg), 100vw - 48px)) / 2); }
.h4 .janela { border-radius:10px 0 0 10px; border:1px solid var(--linha); border-right:0; box-shadow:0 30px 60px -30px rgba(10,34,64,.35); overflow:hidden; background:#fff; }
.h4 .janela .barra { height:30px; background:var(--nevoa); border-bottom:1px solid var(--linha); display:flex; gap:6px; align-items:center; padding:0 12px; }
.h4 .janela .barra i { width:9px; height:9px; border-radius:50%; background:#C3CCD8; }
.h4 .janela .barra span { margin-left:10px; font-size:12px; font-weight:600; color:var(--suave); }
.h4 .vitrine { display:grid; }
.h4 .slide { grid-area:1 / 1; position:relative; padding-bottom:40px; opacity:0; visibility:hidden; transition:opacity .5s ease, visibility 0s .5s; }
.h4 .slide.on { opacity:1; visibility:visible; transition:opacity .5s ease; }
.h4 .seletor { grid-area:2 / 1; display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:20px; padding-right:24px; }
.h4 .seletor button { position:relative; padding:6px 0 10px; border:0; background:none; font:500 15px Inter, sans-serif; color:var(--suave); cursor:pointer; }
.h4 .seletor button:hover { color:var(--marinho); }
.h4 .seletor button i { position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--linha); overflow:hidden; }
.h4 .seletor button i::after { content:''; position:absolute; inset:0; background:var(--azul); transform:scaleX(0); transform-origin:left; }
.h4 .seletor button[aria-selected="true"] { color:var(--marinho); font-weight:600; }
.h4 .seletor button[aria-selected="true"] i::after { transform:scaleX(1); }
.h4 .vitrine.auto .seletor button[aria-selected="true"] i::after { animation:enche var(--dur, 5s) linear; }
@keyframes enche {
 from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
.h4 .slide, .h4 .slide.on { transition:none; }
}
.h4 .janela img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:left top; }
.h4 .fone { position:absolute; left:-44px; bottom:0; width:190px; }
.h4 .flu { position:relative; border-radius:13.636cqw; overflow:hidden; aspect-ratio:9/19.5; background:#EFF3F8; font-family:Inter, sans-serif; color:#0F172A; }
.h4 .flu-topo { display:flex; align-items:center; gap:3.409cqw; height:19.318cqw; padding:0 5.114cqw; background:#fff; border-bottom:1px solid #E2E8F0; font-size:5.114cqw; }
.h4 .flu-topo span { color:#475569; }
.h4 .flu-topo b { flex:1; font-weight:600; }
.h4 .flu-topo i { width:10.227cqw; height:10.227cqw; border-radius:50%; background:var(--azul); color:#fff; font-style:normal; font-size:4.545cqw; font-weight:700; display:flex; align-items:center; justify-content:center; }
.h4 .flu-tela { position:absolute; left:0; right:0; top:19.318cqw; bottom:0; padding:5.114cqw 4.545cqw; transition:opacity .4s; }
.h4 .flu-2 { opacity:0; text-align:center; padding-top:12.5cqw; }
.h4 .flu-aluno { display:flex; align-items:center; gap:3.409cqw; font-size:5.682cqw; margin-bottom:3.977cqw; }
.h4 .flu-aluno i { width:11.364cqw; height:11.364cqw; border-radius:50%; background:var(--azul); color:#fff; font-style:normal; font-size:5.114cqw; font-weight:700; display:flex; align-items:center; justify-content:center; }
.h4 .flu-texto { background:#fff; border:1px solid #E2E8F0; border-radius:5.114cqw; }
.h4 .flu-tit { font-size:4.545cqw; font-weight:700; letter-spacing:.04em; padding:3.409cqw 4.545cqw; border-bottom:1px solid #E2E8F0; }
.h4 .flu-texto p { margin:0; padding:3.977cqw 4.545cqw 5.114cqw; font-size:5.966cqw; line-height:1.75; letter-spacing:.08em; font-weight:500; }
.h4 .flu-texto p span { border-radius:1.705cqw; transition:background .2s, color .2s; }
.h4 .flu-texto p span.lida { background:#DCFCE7; color:#166534; }
.h4 .flu-texto p span.atual { background:var(--azul); color:#fff; }
.h4 .flu-rodape { position:absolute; left:0; right:0; bottom:0; background:#fff; padding:4.545cqw; border-top:1px solid #E2E8F0; }
.h4 .flu-onda { display:flex; align-items:center; justify-content:center; gap:1.136cqw; height:11.364cqw; margin-bottom:3.409cqw; opacity:0; transition:opacity .3s; }
.h4 .flu-onda i { width:1.42cqw; height:2.273cqw; border-radius:1.136cqw; background:var(--azul); transition:height .12s; }
.h4 .flu-btn { border-radius:3.977cqw; background:var(--azul); color:#fff; font-size:5.114cqw; font-weight:600; text-align:center; padding:4.545cqw 2.273cqw; }
.h4 .flu-btn .b { display:none; }
.h4 .flu.gravando .flu-btn { background:#DC2626; }
.h4 .flu.gravando .flu-btn .a { display:none; }
.h4 .flu.gravando .flu-btn .b { display:inline; }
.h4 .flu.gravando .flu-onda { opacity:1; }
.h4 .flu-btn em { font-style:normal; font-variant-numeric:tabular-nums; }
.h4 .flu-ok { width:21.591cqw; height:21.591cqw; margin:0 auto 4.545cqw; border-radius:50%; background:#DCFCE7; color:#166534; font-size:10.227cqw; font-weight:800; display:flex; align-items:center; justify-content:center; }
.h4 .flu-rt { display:block; font-size:6.25cqw; }
.h4 .flu-2 small { display:block; font-size:4.83cqw; color:#64748B; margin-top:1.136cqw; }
.h4 .flu-kpis { display:grid; grid-template-columns:1fr 1fr; gap:3.409cqw; margin:6.818cqw 0 5.682cqw; }
.h4 .flu-kpis div { background:#fff; border:1px solid #E2E8F0; border-radius:4.545cqw; padding:3.977cqw 2.273cqw; }
.h4 .flu-kpis span { display:block; font-size:3.977cqw; font-weight:600; color:#64748B; }
.h4 .flu-kpis b { display:block; font-size:10.795cqw; font-weight:800; margin-top:1.136cqw; font-variant-numeric:tabular-nums; }
.h4 .flu-nivel { display:inline-block; padding:2.841cqw 6.818cqw; border-radius:567.614cqw; background:#15803D; color:#fff; font-size:5.398cqw; font-weight:700; }
.h4 .flu.flu-fim .flu-1 { opacity:0; }
.h4 .flu.flu-fim .flu-2 { opacity:1; }
.h4-num { border-top:1px solid var(--linha); border-bottom:1px solid var(--linha); }
.h4-num .c { display:grid; grid-template-columns:repeat(4, 1fr); }
.h4-num div { padding:28px 24px 30px; border-left:1px solid var(--linha); }
.h4-num div:first-child { border-left:0; padding-left:0; }
.h4-num b { display:block; font-family:Archivo; font-stretch:88%; font-size:44px; font-weight:800; color:var(--marinho); line-height:1; }
.h4-num span { display:block; margin-top:8px; font-size:15px; color:var(--suave); }
.h4 .confiam { padding:64px 0 56px; }
.h4 .confiam h2 { text-align:center; font-size:28px; font-weight:700; margin-bottom:36px; }
.h4 .logos { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px 32px; align-items:center; }
.h4 .logos li { height:64px; display:flex; align-items:center; justify-content:center; }
.h4 .logos img { width:100%; height:100%; max-width:220px; object-fit:contain; opacity:.78; }
.h4 .logos li:hover img { opacity:1; }
@media (max-width: 960px) {
.h4 .confiam h2 { font-size:22px; }
.h4 .logos { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.h4 .logos li { height:52px; }
}
.h4-sis { padding:110px 0 40px; }
.h4-sis .h4-cab { display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:56px; align-items:end; margin-bottom:56px; }
.h4-sis h2 { font-size:clamp(34px, 3.6vw, 50px); font-weight:800; }
.h4-sis .h4-cab p { margin:0; font-size:18px; max-width:36em; }
.h4-area { display:grid; grid-template-columns:minmax(0, 3fr) minmax(0, 9fr); gap:32px; border-top:2px solid var(--marinho); padding:22px 0 36px; }
.h4-area h3 { font-size:26px; font-weight:700; padding-top:12px; }
.h4-area ul { list-style:none; margin:0; padding:0; }
.h4-area li + li { border-top:1px solid var(--linha); }
.h4-area a { display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 5fr) auto; gap:24px; align-items:center; padding:18px 12px; margin:0 -12px; border-radius:6px; text-decoration:none; color:var(--texto); }
.h4-area a:hover { background:var(--nevoa); }
.h4-area a:hover .h4-ver { color:var(--azul); text-decoration:underline; }
.h4-sisn { display:flex; gap:14px; align-items:flex-start; color:var(--azul); }
.h4-sisn strong { display:block; font-size:18px; color:var(--marinho); font-weight:600; line-height:1.3; }
.h4-sisn small { display:block; font-size:14px; color:var(--suave); margin-top:2px; }
.h4-desc { font-size:16px; }
.h4-ver { font-size:15px; font-weight:600; color:var(--marinho); white-space:nowrap; }
.h4-pro { background:var(--nevoa); padding:96px 0; margin-top:72px; }
.h4-pro h2 { font-size:clamp(32px, 3.2vw, 44px); font-weight:800; max-width:16em; }
.h4-pro ol { list-style:none; counter-reset:p; padding:0; margin:48px 0 0; display:grid; grid-template-columns:repeat(4, 1fr); gap:0; }
.h4-pro li { counter-increment:p; padding:26px 28px 0 0; border-top:3px solid var(--azul); position:relative; }
.h4-pro li::before { content:counter(p); position:absolute; top:-15px; left:0; width:28px; height:28px; border-radius:50%; background:var(--azul); color:#fff; font:700 14px/28px Inter; text-align:center; }
.h4-pro li strong { display:block; font-family:Archivo; font-stretch:88%; font-size:22px; color:var(--marinho); margin:10px 0 8px; }
.h4-pro li span { font-size:16px; }
.h4-cta { padding:72px 0 96px; }
.h4-cta .c { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); gap:56px; align-items:center; border-top:2px solid var(--marinho); padding-top:48px; }
.h4-cta h2 { font-size:clamp(34px, 3.6vw, 52px); font-weight:800; }
.h4-cta p { font-size:18px; margin:18px 0 0; }
.h4-cta .h4-acoes { display:flex; flex-direction:column; gap:12px; }
.h4 .rodape { background:var(--marinho); color:#B9C6D8; font-size:14px; padding:36px 0; }
.h4 .rodape .c { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
@media (max-width: 960px) {
.h4 .topo nav { display:none; }
.h4 .topo .btn { margin-left:auto; }
.h4-hero { padding-top:44px; }
.h4-hero .c, .h4-sis .h4-cab, .h4-cta .c { grid-template-columns:1fr; gap:36px; }
.h4 .vitrine { margin-right:-24px; }
.h4 .seletor { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; gap:18px; }
.h4 .seletor button { flex:none; white-space:nowrap; }
.h4 .fone { left:auto; right:20px; width:150px; }
.h4-num .c { grid-template-columns:1fr 1fr; }
.h4-num div { padding:22px 0 24px 18px; }
.h4-num div:nth-child(odd) { border-left:0; padding-left:0; }
.h4-num div:nth-child(n+3) { border-top:1px solid var(--linha); }
.h4-num b { font-size:36px; }
.h4-area { grid-template-columns:1fr; gap:6px; }
.h4-area a { grid-template-columns:1fr; gap:6px; }
.h4-ver { display:none; }
.h4-pro ol { grid-template-columns:1fr; gap:34px; }
.h4-pro li { padding-right:0; }
}

/* Linha do tempo vertical no celular */
@media (max-width: 960px) {
  .h4-pro ol { gap:0; margin-top:36px; }
  .h4-pro li { border-top:0; border-left:3px solid var(--azul); padding:0 0 30px 34px; margin-left:13px; }
  .h4-pro li:last-child { border-left-color:transparent; padding-bottom:0; }
  .h4-pro li::before { top:-2px; left:-15.5px; }
  .h4-pro li strong { margin-top:0; }
}


