:root{
  --navy:#011333;--claro:#F4F8FF;--card:#0A2547;--ciano:#00B0F5;--azul:#0A6FD0;
  --txt2-escuro:#C9D7EA;--txt2-claro:#3A4E6E;--cinza:#6F87A8;--branco:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Poppins',system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--navy);background:var(--claro);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
ul{list-style:none}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* menu */
.topo{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--navy);border-bottom:2px solid var(--ciano);height:68px}
.topo .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.topo .logo img{height:38px;width:auto}
.menu{display:flex;gap:28px;align-items:center}
.menu a{color:var(--txt2-escuro);text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.04em}
.menu a:hover{color:var(--ciano)}
.hamb{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative}
.hamb span,.hamb span::before,.hamb span::after{display:block;position:absolute;left:10px;width:24px;height:3px;background:var(--branco);content:"";transition:.2s}
.hamb span{top:20px}.hamb span::before{top:-8px;left:0}.hamb span::after{top:8px;left:0}

/* seções */
section{padding:96px 0}
.escuro{background:var(--navy);color:var(--branco)}
.claro{background:var(--claro);color:var(--navy)}
.sobre{display:block;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.escuro .sobre{color:var(--ciano)}.claro .sobre{color:var(--azul)}
h2{font-size:clamp(28px,4vw,44px);line-height:1.15;font-weight:800;margin-bottom:20px;max-width:900px}
h3{font-size:20px;font-weight:700;margin-bottom:8px}
.lead{font-size:18px;max-width:760px;margin-bottom:40px}
.escuro .lead,.escuro p{color:var(--txt2-escuro)}
.claro .lead,.claro p{color:var(--txt2-claro)}
.escuro h2,.escuro h3{color:var(--branco)}
.nota{font-size:14px;margin-top:24px;color:var(--cinza)!important}

/* botões */
.btn{display:inline-block;padding:14px 28px;font-weight:700;text-decoration:none;font-size:15px;border:2px solid var(--ciano);background:var(--ciano);color:var(--navy);transition:.2s}
.btn:hover{background:transparent;color:var(--ciano)}
.btn.sec{background:transparent;color:var(--branco)}
.btn.sec:hover{background:var(--ciano);color:var(--navy)}
.claro .btn.sec{color:var(--navy);border-color:var(--azul)}
.claro .btn.sec:hover{background:var(--azul);color:var(--branco)}

/* hero */
.hero{padding:68px 0 0;background:var(--navy);color:var(--branco);position:relative;overflow:hidden}
.hero .container{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:calc(100vh - 68px);min-height:calc(100svh - 68px)}
.hero-foto{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(1,19,51,.85) 22%,rgba(1,19,51,0) 55%)}
.hero-txt{position:relative;z-index:1;padding:60px 0;max-width:560px}
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:800;line-height:1.05;margin-bottom:20px}
.hero p{color:var(--txt2-escuro);font-size:18px;margin-bottom:28px}
.cta-hero{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 8px}
.menu .menu-cta{background:var(--ciano);color:var(--navy);padding:9px 18px}
.menu .menu-cta:hover{background:var(--branco);color:var(--navy)}
.numeros{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 28px;margin:32px 0 8px}
.num strong{display:block;font-size:40px;font-weight:800;color:var(--ciano);line-height:1.1}
.num span{font-size:14px;color:var(--txt2-escuro)}
.assina{font-size:14px;margin-top:20px;color:var(--cinza)!important}

/* grids e cartões */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.cartao{border-top:6px solid var(--ciano);padding:28px;background:var(--branco)}
.escuro .cartao{background:var(--card)}
.claro .cartao{border-top-color:var(--azul)}
.cartao p{font-size:15px}
.cartao li{padding:6px 0 6px 20px;position:relative;font-size:15px}
.cartao li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;background:var(--ciano)}
.claro .cartao li::before{background:var(--azul)}
.escuro .cartao li{color:var(--txt2-escuro)}
.claro .cartao li{color:var(--txt2-claro)}
.big{font-size:56px;font-weight:800;line-height:1;color:var(--ciano);margin-bottom:12px;display:block}
.claro .big{color:var(--azul)}
.etiquetas{display:flex;flex-wrap:wrap;gap:10px}
.etq{display:inline-block;padding:7px 14px;font-size:14px;font-weight:600;border:1px solid var(--ciano);color:var(--ciano)}
.claro .etq{border-color:var(--azul);color:var(--azul)}
.etq.cheia{background:var(--ciano);color:var(--navy)}
.grupo{margin-bottom:36px}
.grupo h3{margin-bottom:14px}
.grupo .sub{font-size:14px;margin-bottom:14px}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top{align-items:start}
.foto{width:100%;object-fit:cover}
.foto.alta{aspect-ratio:3/4;max-height:640px}
.foto.larga{aspect-ratio:4/3}

/* tabela trajetória */
.tabela{width:100%;border-collapse:collapse;margin:24px 0}
.tabela td{padding:12px 14px;border-bottom:1px solid rgba(111,135,168,.4);font-size:15px;vertical-align:top}
.tabela td:first-child{font-weight:700;white-space:nowrap;color:var(--azul);width:130px}
.escuro .tabela td:first-child{color:var(--ciano)}

/* prints */
.print{background:var(--branco);border:1px solid #d7e2f2;cursor:zoom-in;display:block;width:100%}
.print img{width:100%;height:auto;object-fit:contain;background:var(--branco)}
.bloco-print{background:var(--branco);border-top:6px solid var(--azul);display:flex;flex-direction:column}
.bloco-print .info{padding:20px 24px 24px}
.bloco-print p{font-size:15px;color:var(--txt2-claro)}
.bloco-print h3{color:var(--navy)}
.pilha{display:flex;flex-direction:column;gap:20px}
.mapas{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:stretch;margin-top:40px}
.mapa{background:var(--branco);padding:20px;border-top:6px solid var(--ciano);display:flex;flex-direction:column;justify-content:center}
.mapa img{width:100%;height:auto}
.mapa p{color:var(--txt2-claro)!important;font-size:14px;margin-top:12px}
.etapa{font-size:14px;font-weight:700;letter-spacing:.15em;color:var(--ciano);margin-bottom:6px;display:block}
.destaque-card{border-top:6px solid var(--ciano);background:var(--card);padding:32px}

/* galeria */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.galeria img{width:100%;height:240px;object-fit:cover;cursor:zoom-in}
.galeria.tres{grid-template-columns:repeat(3,1fr)}
.galeria.tres img{height:auto;aspect-ratio:4/3}

/* contato */
.contato-lista p a{color:var(--ciano);font-weight:700;text-decoration:none;font-size:20px}
.contato-lista p{margin-bottom:14px}
.qr{background:#fff;padding:12px;width:170px}
#parceiro{padding:0}
.parceiro{display:grid;grid-template-columns:45% 1fr;min-height:680px}
.parceiro-fotos{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--navy)}
.parceiro-fotos figure{position:relative;margin:0;overflow:hidden}
.parceiro-fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.parceiro-fotos figcaption{position:absolute;left:0;right:0;bottom:0;padding:56px 16px 18px;background:linear-gradient(0deg,rgba(1,19,51,.92) 0%,rgba(1,19,51,0) 100%);color:var(--branco);font-weight:700;font-size:16px}
.parceiro-txt{padding:80px 24px 80px 64px;align-self:center;max-width:860px}
.parceiro-txt h2{margin-bottom:4px}
.parceiro-txt .sub-nome{font-size:18px;color:var(--txt2-escuro);margin-bottom:0}
.lista-parceiro{list-style:disc;padding-left:22px;margin:10px 0 20px;color:var(--txt2-escuro)}
.lista-parceiro li{padding:3px 0}
.cursos-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.contato-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.rodape{background:var(--navy);border-top:2px solid var(--ciano);padding:32px 0;color:var(--txt2-escuro);font-size:14px}
.rodape .container{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.rodape img{height:34px;width:auto}

/* whatsapp flutuante */
.zap{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.zap svg{width:34px;height:34px;fill:#fff}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(1,19,51,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}
.lb.ativo{display:flex}
.lb img{max-width:100%;max-height:100%;background:#fff;object-fit:contain}
.lb button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;line-height:1}

@media(max-width:1000px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .mapas{grid-template-columns:1fr}
}
@media(max-width:860px){
  section{padding:64px 0}
  .hamb{display:block}
  .menu{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:8px 24px 20px;border-bottom:2px solid var(--ciano)}
  .menu.aberto{display:flex}
  .menu a{padding:14px 0;border-bottom:1px solid var(--card)}
  .menu .menu-cta{margin-top:12px;text-align:center;padding:14px}
  .hero .container{display:block;min-height:0}
  .hero-foto{position:relative;width:100%;height:auto;aspect-ratio:4/3;margin:0 -24px;width:calc(100% + 48px)}
  .hero-foto::after{background:linear-gradient(0deg,var(--navy) 0%,rgba(1,19,51,0) 35%)}
  .hero-txt{padding:24px 0 56px}
  .split,.g2{grid-template-columns:1fr}
  .split{gap:32px}
  .foto.alta{max-height:520px}
}
@media(max-width:560px){
  .container{padding:0 16px}
  .galeria{grid-template-columns:1fr 1fr}
  .galeria.tres{grid-template-columns:1fr}
  .galeria img{height:160px}.galeria.tres img{height:auto}
  .g4{grid-template-columns:1fr}
  .tabela td:first-child{white-space:normal;width:90px}
  .hero-foto{margin:0 -16px;width:calc(100% + 32px)}
  .big{font-size:44px}
  .num strong{font-size:30px}
  .numeros{gap:18px 16px}
}
.contato-lista .btn.sec{color:var(--branco);border-color:var(--ciano)}
.contato-lista .btn.sec:hover{background:var(--ciano);color:var(--navy)}
@media(max-width:860px){
  .parceiro{grid-template-columns:1fr;min-height:0}
  .parceiro-fotos figure{aspect-ratio:3/4}
  .parceiro-txt{padding:40px 16px 56px}
}
