/* ===== BASE ===== */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --azul-marinho:#0b1a33;--azul-tecnologico:#1a3a66;
  --laranja:#f25c2b;            /* destaque sobre fundo escuro */
  --laranja-btn:#c2410c;        /* botões e texto sobre fundo claro (contraste AA com branco) */
  --laranja-hover:#9a3412;
  --branco:#fff;--cinza-claro:#f0f4fa;
  --gradiente-hero:linear-gradient(135deg,rgba(11,26,51,.85) 0%,rgba(26,58,102,.70) 100%);
  --sombra-card:0 12px 30px rgba(0,0,0,.15);--transicao:.25s ease-in-out
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--branco);color:#1a1a2e;line-height:1.5;overflow-x:hidden}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em}
img{max-width:100%}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--branco);color:var(--azul-marinho);padding:8px 14px;border-radius:8px;z-index:2000}
.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}
.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}
.cta-centro{text-align:center;margin-top:32px}
.secao-pad{padding:40px 16px 60px}.secao-pad-sm{padding:32px 16px 40px}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:16px 0;transition:background .3s,box-shadow .3s;background:transparent}
header.scrolled{background:var(--azul-marinho);box-shadow:0 4px 20px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.logo img{height:44px;width:auto;display:block}
.nav-menu{display:flex;align-items:center;gap:20px;list-style:none}
.nav-menu a{color:var(--branco);text-decoration:none;font-size:.92rem;font-weight:500;transition:color .2s;letter-spacing:.3px;opacity:.92}
.nav-menu a:hover{color:var(--laranja);opacity:1}
.nav-menu a.nav-cta{background:var(--laranja-btn);color:var(--branco);padding:10px 22px;border-radius:40px;font-weight:600;font-size:.88rem;transition:background .2s,transform .1s;display:inline-block;opacity:1}
.nav-menu a.nav-cta:hover{background:var(--laranja-hover);color:var(--branco);transform:scale(1.02)}
.menu-hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:6px 2px}
.menu-hamburger span{display:block;width:28px;height:3px;background:var(--branco);border-radius:4px;transition:.25s}

/* ===== HERO ===== */
.hero{min-height:100vh;display:flex;align-items:center;background:var(--azul-marinho);background-image:var(--gradiente-hero),url('/imagens/hero.jpg');background-size:cover;background-position:center 30%;background-blend-mode:overlay;padding:120px 0 80px;position:relative}
.hero-content{max-width:720px;color:var(--branco)}
.hero h1{font-size:clamp(2.2rem,6.5vw,4.4rem);line-height:1.05;margin-bottom:16px}
.hero h1 span{color:var(--laranja)}
.hero-sub{font-size:clamp(1rem,2.5vw,1.2rem);opacity:.92;max-width:560px;margin-bottom:28px;line-height:1.6}
.hero-tags{display:flex;flex-wrap:wrap;gap:12px 20px;font-weight:600;letter-spacing:.5px;font-size:clamp(.75rem,2vw,.9rem);text-transform:uppercase;margin-bottom:36px;opacity:.85}
.hero-tags span{display:flex;align-items:center;gap:8px}
.hero-buttons{display:flex;flex-wrap:wrap;gap:16px}

/* ===== BOTÕES ===== */
.btn{display:inline-block;padding:14px 28px;border-radius:60px;font-weight:600;font-size:clamp(.85rem,2vw,1rem);text-decoration:none;transition:.2s;border:none;cursor:pointer;text-align:center}
.btn-primary{background:var(--laranja-btn);color:var(--branco)}
.btn-primary:hover{background:var(--laranja-hover);transform:translateY(-3px);box-shadow:0 8px 25px rgba(194,65,12,.35)}
.btn-outline{background:transparent;color:var(--branco);border:2px solid rgba(255,255,255,.6)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--branco)}
.btn-secundario{background:transparent;border:2px solid var(--azul-marinho);color:var(--azul-marinho);padding:10px 24px;border-radius:60px;font-weight:600;transition:.2s;display:inline-block;text-decoration:none;font-size:clamp(.85rem,1.5vw,.95rem);cursor:pointer;font-family:inherit}
.btn-secundario:hover{background:var(--azul-marinho);color:var(--branco)}

/* ===== SEÇÕES ===== */
section{padding:60px 0}
.section-title{font-size:clamp(1.8rem,4vw,3.2rem);margin-bottom:12px}
.section-sub{font-size:clamp(.95rem,2vw,1.1rem);color:#4a5a72;max-width:640px;margin-bottom:32px}
.text-center .section-sub{margin-left:auto;margin-right:auto}
.bg-azul-claro{background:var(--cinza-claro)}
.bg-marinho{background:var(--azul-marinho);color:var(--branco)}
.bg-marinho .section-sub{color:rgba(255,255,255,.75)}
.destaque-laranja{color:var(--laranja-btn)}
.bg-marinho .destaque-laranja{color:var(--laranja)}
#cursos,#cursos-enterprise,#solucoes,#diferenciais,#caar,#calendario,#faq,#avaliacoes{scroll-margin-top:70px}

/* ===== CARDS ===== */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:20px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.card-solucao{background:var(--azul-marinho);color:var(--branco);padding:28px 20px;border-radius:20px;transition:transform .25s,box-shadow .25s;box-shadow:var(--sombra-card);display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(255,255,255,.05)}
.card-solucao:nth-child(2),.card-solucao:nth-child(5){background:var(--laranja-btn)}
.card-solucao .icon{font-size:2rem;margin-bottom:12px;line-height:1;width:48px;height:48px;background:rgba(255,255,255,.12);border-radius:14px;display:flex;align-items:center;justify-content:center}
.card-solucao h3{font-size:clamp(1.1rem,2vw,1.4rem);margin-bottom:6px}
.card-solucao p{opacity:.9;font-size:clamp(.85rem,1.5vw,.95rem)}
.card-solucao:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.card-curso{background:var(--branco);border-radius:24px;overflow:hidden;box-shadow:var(--sombra-card);transition:transform .25s}
.card-curso:hover{transform:translateY(-6px)}
.card-curso img{width:100%;height:200px;object-fit:cover;display:block;background:#d9e2ec}
.card-curso-body{padding:24px 20px}
.card-curso-body h3{font-size:clamp(1.2rem,2.5vw,1.5rem);margin-bottom:6px}
.check-list{list-style:none;margin:12px 0 16px}
.check-list li{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;font-size:clamp(.85rem,1.5vw,.95rem)}
.check-list li::before{content:"✓";color:var(--laranja-btn);font-weight:700;font-size:1.1rem;line-height:1.3}
.check-list-claro{color:rgba(255,255,255,.92)}
.check-list-claro li::before{color:var(--laranja)}
.card-outros{background:rgba(255,255,255,.06);border-radius:20px;padding:24px 20px;border:1px solid rgba(255,255,255,.08);transition:.2s}
.card-outros:hover{background:rgba(255,255,255,.12)}
.card-outros .h4{font-size:clamp(1.1rem,2vw,1.3rem);margin-bottom:4px}
.card-outros-desc{opacity:.85;font-size:clamp(.9rem,1.5vw,1rem)}
.tags-tec{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.tags-tec span{background:rgba(255,255,255,.1);padding:4px 14px;border-radius:40px;font-size:clamp(.7rem,1.2vw,.8rem);font-weight:500}
.empresarial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:24px 0}
.emp-item{background:var(--cinza-claro);padding:14px 10px;border-radius:16px;text-align:center;font-weight:500;font-size:clamp(.85rem,1.5vw,.95rem)}
.diferenciais-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card-diferencial{background:var(--branco);border-radius:20px;padding:24px 20px;box-shadow:0 8px 24px rgba(0,0,0,.05);border:1px solid #e0e8f0;display:flex;align-items:flex-start;gap:14px}
.card-diferencial h4{font-size:clamp(1rem,2vw,1.1rem);margin-bottom:4px;color:var(--azul-marinho)}
.card-diferencial p{font-size:clamp(.85rem,1.5vw,.95rem);color:#555;line-height:1.5}

/* ===== ESTATÍSTICAS ===== */
.stats{padding:48px 0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;text-align:center}
.stat-item h3{font-size:clamp(2rem,8vw,2.5rem);margin-bottom:4px;color:var(--laranja-btn)}
.stat-item p{font-size:clamp(.85rem,2vw,1rem);color:var(--azul-tecnologico)}

/* ===== LOGOS ===== */
.logos-section{background:var(--branco);padding:50px 0 40px;overflow:hidden}
.logos-titulo{text-align:center;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:600;color:var(--azul-marinho);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px}
.logos-subtitulo{text-align:center;font-size:clamp(.85rem,1.5vw,.95rem);color:#5f6f85;margin-bottom:32px}
.logos-marquee{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%)}
.logos-track{display:flex;align-items:center;gap:56px;width:max-content;animation:logosScroll 60s linear infinite;will-change:transform}
.logos-marquee:hover .logos-track{animation-play-state:paused}
.logos-track img{height:60px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(100%);opacity:.65;transition:filter .3s,opacity .3s,transform .3s;flex-shrink:0;display:block}
.logos-track img:hover{filter:grayscale(0);opacity:1;transform:scale(1.05)}
@keyframes logosScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== CALENDÁRIO ===== */
.calendario-container{max-width:1000px;margin:0 auto;background:#fff;border-radius:15px;padding:24px 20px;box-shadow:0 10px 30px rgba(0,0,0,.1)}
.mes-titulo{text-align:center;font-size:clamp(1.4rem,4vw,2rem);color:#2c3e50;margin-bottom:16px;font-weight:600}
.navegacao{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:8px}
.nav-btn{display:inline-block;padding:8px 14px;background:#2471a3;color:#fff;text-decoration:none;border-radius:8px;transition:.3s;font-weight:500;font-size:clamp(.75rem,2vw,.9rem)}
.nav-btn:hover{background:#1b5580;transform:translateY(-2px);box-shadow:0 5px 15px rgba(36,113,163,.3)}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px}
.calendario-tabela{width:100%;border-collapse:collapse;margin-bottom:16px;min-width:280px}
.calendario-tabela th{background:#34495e;color:#fff;padding:8px 4px;font-weight:600;text-transform:uppercase;font-size:clamp(.6rem,1.5vw,.8rem);letter-spacing:.5px}
.calendario-tabela td{border:1px solid #e0e0e0;padding:2px;width:14.28%;min-width:32px;height:clamp(50px,12vw,80px);text-align:center;vertical-align:middle}
.dia-vazio{background:#f8f9fa}.fim-semana{background:#f0f3f7}
.dia-com-turma-container{width:100%;height:100%;display:flex;flex-direction:column;gap:2px}
.dia-com-turma{width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:700;color:#fff;transition:.3s;padding:2px 1px;border-radius:4px;min-height:32px;text-decoration:none}
a.dia-com-turma{cursor:pointer}
div.dia-com-turma{cursor:not-allowed;opacity:.85}
a.dia-com-turma:hover{transform:scale(1.05);box-shadow:0 5px 15px rgba(0,0,0,.2);z-index:10}
.dia-com-turma.verde{background:linear-gradient(135deg,#1e8449,#27ae60)}
.dia-com-turma.amarela{background:linear-gradient(135deg,#f39c12,#f1c40f);color:#2c3e50}
.dia-com-turma.azul{background:linear-gradient(135deg,#2471a3,#2980b9)}
.dia-com-turma.cinza{background:linear-gradient(135deg,#5543b5,#7367d5)}
.dia-num{font-size:clamp(.8rem,2.5vw,1.1rem);line-height:1.2}
.vaga-info{font-size:clamp(.45rem,1.2vw,.7rem);opacity:.95;line-height:1.2;font-weight:400}
.status-info{font-size:clamp(.42rem,1vw,.62rem);font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}
.dia-sem-turma{width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:clamp(.7rem,2vw,.95rem);color:#6b7a7d;background:#fafafa}
.dia-sem-turma.passado{color:#b5bcc0;text-decoration:line-through;background:#f3f3f3}
.legenda{display:flex;justify-content:center;gap:clamp(12px,3vw,30px);padding:12px 8px;background:#f8f9fa;border-radius:10px;margin-top:8px;flex-wrap:wrap}
.legenda-item{display:flex;align-items:center;gap:6px;font-size:clamp(.7rem,1.5vw,.85rem);color:#2c3e50}
.cor-verde,.cor-amarela,.cor-azul,.cor-roxo{width:clamp(14px,3vw,20px);height:clamp(14px,3vw,20px);border-radius:5px;display:inline-block;flex-shrink:0}
.cor-verde{background:#1e8449}.cor-amarela{background:#f1c40f}.cor-azul{background:#2471a3}.cor-roxo{background:#7367d5}

/* ===== AVALIAÇÕES ===== */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.review{background:var(--branco);border:1px solid #e0e8f0;border-radius:20px;padding:22px 20px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.review-stars{color:#e0a800;letter-spacing:2px;margin-bottom:8px}
.review blockquote{font-size:.95rem;color:#333;margin-bottom:12px}
.review figcaption{font-size:.82rem;color:#5f6f85;font-weight:600}

/* ===== FAQ ===== */
.faq-wrap{max-width:820px}
.faq-item{background:var(--branco);border:1px solid #e0e8f0;border-radius:14px;margin-bottom:12px;padding:0 20px}
.faq-item summary{cursor:pointer;font-weight:600;padding:16px 0;color:var(--azul-marinho);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.3rem;color:var(--laranja-btn);line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item p{padding:0 0 16px;color:#4a5a72;font-size:.95rem}

/* ===== SOBRE / GALERIA ===== */
.sobre-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sobre-lead{font-size:clamp(1rem,2vw,1.2rem);font-weight:500;color:var(--azul-marinho)}
.sobre-texto{margin:12px 0;color:#2a3a52;font-size:clamp(.9rem,1.5vw,1rem)}
.sobre-img{background:#bcc9db;border-radius:28px;height:280px;background-image:url('/imagens/treinamento.jpg');background-size:cover;background-position:center;box-shadow:var(--sombra-card)}
.sobre-destaques{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-weight:600;color:var(--azul-marinho);font-size:clamp(.85rem,1.5vw,.95rem)}
.galeria-alunos{margin-top:40px;padding-top:32px;border-top:2px solid rgba(11,26,51,.08)}
.galeria-alunos h3{font-size:clamp(1.4rem,3vw,1.8rem);margin-bottom:4px;color:var(--azul-marinho)}
.galeria-alunos .section-sub{margin-bottom:20px}
.galeria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.galeria-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .25s,box-shadow .25s;display:block}
.galeria-grid img:hover{transform:scale(1.03);box-shadow:0 8px 24px rgba(0,0,0,.15)}

/* ===== CTA / CONTATO / FOOTER ===== */
.cta-final{background:var(--azul-marinho);background-image:var(--gradiente-hero),url('/imagens/hero.jpg');background-size:cover;background-blend-mode:overlay;color:var(--branco);padding:80px 0;text-align:center}
.cta-final h2{font-size:clamp(2rem,5vw,3.6rem);margin-bottom:12px}
.cta-final p{max-width:600px;margin:0 auto 28px;font-size:clamp(1rem,2vw,1.15rem);opacity:.92}
.cta-final .btn-group{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.conecte-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 60px;margin-top:24px}
.conecte-item{text-align:center}
.conecte-txt{font-weight:600;font-size:clamp(.85rem,1.5vw,1rem)}
.qr-placeholder{width:100px;height:100px;background:#eef2f7;border-radius:20px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:2px dashed #b0c4de;overflow:hidden}
.qr-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:20px}
footer{background:var(--azul-marinho);color:rgba(255,255,255,.85);padding:40px 0 20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px}
.footer-desc{opacity:.75;font-size:clamp(.85rem,1.5vw,.95rem)}
.footer-copy-txt{margin-top:10px;opacity:.6;font-size:clamp(.8rem,1.2vw,.9rem)}
.footer-links strong{color:#fff;display:block;margin-bottom:10px;font-size:clamp(.9rem,1.5vw,1rem)}
.footer-links a{color:rgba(255,255,255,.75);text-decoration:none;display:block;margin-bottom:6px;transition:.2s;font-size:clamp(.85rem,1.5vw,.95rem)}
.footer-links a:hover{color:var(--laranja)}
.footer-copy{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center;font-size:clamp(.8rem,1.5vw,.9rem)}

/* ===== CURSOS ONLINE (PORTAL DO ALUNO) ===== */
#cursos-online{scroll-margin-top:70px}
.cursos-online-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.curso-online{background:var(--cinza-claro);border:1px solid #e0e8f0;border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s}
.curso-online:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,26,51,.10)}
.curso-online-icone{width:48px;height:48px;border-radius:14px;background:var(--azul-marinho);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.curso-online h3{font-size:clamp(1rem,2vw,1.15rem);color:var(--azul-marinho);line-height:1.25}
.curso-online-desc{font-size:.9rem;color:#4a5a72;flex:1}
.curso-online-meta{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.curso-online-meta li{background:var(--branco);border:1px solid #e0e8f0;border-radius:40px;padding:3px 12px;font-size:.75rem;font-weight:600;color:var(--azul-marinho)}
.curso-online-req{font-size:.78rem;color:#5f6f85;border-top:1px dashed #cdd7e4;padding-top:8px}
.curso-online-req strong{color:var(--azul-marinho)}
.card-diferencial a{color:var(--laranja-btn);font-weight:600}

/* ===== ANIMAÇÃO DE ENTRADA ===== */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ===== BANNER DE COOKIES ===== */
.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;background:var(--azul-marinho);color:#fff;border-radius:16px;padding:16px 20px;z-index:99998;box-shadow:0 10px 40px rgba(0,0,0,.35);display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;font-size:.88rem}
.consent-banner[hidden]{display:none}
.consent-banner p{flex:1 1 300px}
.consent-banner a{color:#ffb499}
.consent-btns{display:flex;gap:10px}
.btn-consent{background:var(--laranja-btn);color:#fff;border:none;border-radius:40px;padding:10px 22px;font-weight:600;cursor:pointer;font-family:inherit}
.btn-consent-sec{background:transparent;border:1px solid rgba(255,255,255,.5)}

/* ===== POPUP PROMOCIONAL ===== */
#promoOverlay{display:none;position:fixed;inset:0;background:rgba(7,19,39,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;justify-content:center;align-items:center;padding:20px;opacity:0;transition:opacity .3s}
#promoOverlay.promo-visible{opacity:1}
#promoCard{width:100%;max-width:570px;background:linear-gradient(160deg,#fff,#f8faff);border-radius:20px;overflow:hidden;max-height:calc(100vh - 40px);overflow-y:auto;position:relative;box-shadow:0 35px 80px rgba(0,0,0,.45);transform:translateY(20px) scale(.96);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s}
#promoOverlay.promo-visible #promoCard{transform:none;opacity:1}
.promo-header{position:relative;padding:28px 55px 26px;text-align:center;background:linear-gradient(135deg,#08182f,#153a67)}
.promo-header::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#f25c2b,#f5bb18,#f25c2b);background-size:200% 100%;animation:promoGradient 4s ease infinite}
@keyframes promoGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.promo-label{display:inline-flex;margin-bottom:10px;padding:5px 14px;border-radius:50px;background:rgba(242,92,43,.13);border:1px solid rgba(242,92,43,.25);color:#ff9a78;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
.promo-header h2{color:#fff;font-size:clamp(1.45rem,4vw,2rem);line-height:1.12;font-weight:800}
.promo-header h2 span{color:var(--laranja)}
.promo-close{position:absolute;top:12px;right:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);cursor:pointer;font-size:19px;transition:.25s}
.promo-close:hover{background:rgba(255,255,255,.2);color:#fff;transform:rotate(90deg)}
.promo-body{padding:25px 28px 27px}
.promo-condition{display:flex;justify-content:center;margin-bottom:18px}
.promo-condition span{padding:6px 14px;border-radius:50px;background:rgba(242,92,43,.08);color:#b8410c;border:1px solid rgba(242,92,43,.15);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.promo-offers{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.promo-offer{padding:18px 19px;border-radius:15px;background:#fff;border:1px solid #e9eef5;box-shadow:0 3px 12px rgba(10,31,58,.04)}
.promo-offer.featured{border-color:rgba(242,92,43,.27);background:linear-gradient(135deg,#fff,#fff8f5)}
.promo-offer h4{color:#0b1a33;font-size:clamp(1rem,2vw,1.14rem);line-height:1.3;font-weight:800;margin-bottom:5px}
.promo-offer p{color:#526178;font-size:clamp(.8rem,1.5vw,.9rem);line-height:1.55}
.promo-highlight{color:var(--laranja-btn);font-weight:800}
.promo-cta{text-align:center}
.btn-promo{width:100%;max-width:390px;padding:15px 24px;border:none;border-radius:50px;background:linear-gradient(135deg,var(--laranja-btn),var(--laranja-hover));color:#fff;font-size:clamp(.88rem,1.8vw,1rem);font-weight:800;cursor:pointer;box-shadow:0 9px 27px rgba(194,65,12,.3);transition:.25s;font-family:inherit}
.btn-promo:hover{transform:translateY(-2px)}
.promo-small{display:block;margin-top:9px;color:#6b7788;font-size:.7rem}

/* ===== RESPONSIVO ===== */
@media(max-width:1100px){.nav-menu{gap:14px}.nav-menu a{font-size:.85rem}}
@media(max-width:992px){
  .grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .sobre-wrapper{grid-template-columns:1fr;gap:24px}
  .footer-grid{grid-template-columns:1fr 1fr}
  section{padding:48px 0}.hero{padding:100px 0 60px}
}
@media(max-width:900px){
  .menu-hamburger{display:flex}
  header nav{width:100%}
  .nav-menu{display:none;flex-direction:column;align-items:stretch;width:100%;background:var(--azul-marinho);padding:20px 24px 28px;gap:14px;border-radius:0 0 20px 20px;position:absolute;top:68px;left:0;box-shadow:0 20px 40px rgba(0,0,0,.3)}
  .nav-menu.open{display:flex}
  .nav-menu a.nav-cta{text-align:center}
}
@media(max-width:768px){
  .grid-2{grid-template-columns:1fr}
  .hero{padding:90px 0 50px;min-height:auto}
  .conecte-grid{gap:24px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .container{padding:0 16px}
  .btn{padding:12px 20px;font-size:.85rem}
  .card-curso img{height:160px}
  .galeria-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .qr-placeholder{width:80px;height:80px}
  .calendario-container{padding:16px 12px}
  .calendario-tabela td{height:clamp(40px,10vw,60px);min-width:28px}
  .dia-com-turma{min-height:28px}
  .logos-track{gap:36px;animation-duration:40s}.logos-track img{height:44px;max-width:120px}
  .logos-section{padding:36px 0 30px}
}
@media(max-width:480px){
  .container{padding:0 12px}
  .btn{padding:10px 16px;font-size:.8rem}
  .card-curso img{height:140px}.card-curso-body{padding:16px 14px}
  .card-solucao{padding:20px 16px}
  .grid-3{grid-template-columns:1fr;gap:16px}
  .hero h1{font-size:1.8rem}.hero{padding:80px 0 40px}
  .hero-tags{flex-direction:column;align-items:flex-start;gap:8px 14px;font-size:.7rem}
  .hero-sub{font-size:.9rem}
  .hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%}
  .section-title{font-size:1.5rem}
  .galeria-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  .sobre-img{height:200px}
  .cta-final{padding:60px 0}.cta-final h2{font-size:1.6rem}
  .stats-grid{grid-template-columns:1fr 1fr;gap:14px}
  .stat-item h3{font-size:1.6rem}.stat-item p{font-size:.8rem}
  .diferenciais-grid{grid-template-columns:1fr;gap:14px}
  .card-diferencial{padding:20px 16px}
  .calendario-container{padding:12px 8px}
  .calendario-tabela td{height:clamp(32px,8vw,44px);min-width:22px}
  .calendario-tabela th{font-size:.55rem}
  .dia-com-turma{min-height:22px}.dia-num{font-size:.75rem}
  .vaga-info,.status-info{display:none}
  .dia-sem-turma{font-size:.72rem}
  .mes-titulo{font-size:1.1rem}
  .legenda{gap:4px 10px}.legenda-item{font-size:.68rem}
  .logos-track{gap:28px;animation-duration:35s}.logos-track img{height:36px;max-width:100px}
  #promoOverlay{padding:12px}
  .promo-header{padding:23px 42px 21px}.promo-body{padding:19px 16px 20px}
}

/* ===== ACESSIBILIDADE: MENOS MOVIMENTO ===== */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fade-in{opacity:1;transform:none}
  .logos-marquee{overflow-x:auto}
}
