/* Treinamento do Trabalho · Paraíba — identidade "Sol Nascente do Seixas"
   Paleta: grafite-cariri #1E2A32 · laranja-sol #E4572E · amarelo-sol #F6C445 (destaque)
   Tipografia: Space Grotesk (títulos) + IBM Plex Sans (texto) */
:root{
  --grafite:#1E2A32; --grafite-2:#2B3A45; --grafite-3:#0F171D;
  --sol:#E4572E; --sol-escuro:#B93E1B; --sol-claro:#FBE6DE;
  --amarelo:#F6C445; --amarelo-escuro:#C99A1C; --amarelo-claro:#FFF4D1;
  --areia:#FAF6EF; --branco:#FFFFFF; --tinta:#1B2328; --cinza:#5A6670; --linha:#E6E0D6;
  --verde:#1F9D6A; --verm:#C62828;
  --sombra:0 12px 32px rgba(30,42,50,.12);
  --raio:6px; --max:1180px;
  --ft:"Space Grotesk",system-ui,sans-serif; --fb:"IBM Plex Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fb);color:var(--tinta);background:var(--areia);line-height:1.6;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--sol-escuro)}
h1,h2,h3{font-family:var(--ft);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.5vw,3.1rem);font-weight:700}
h2{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:700}
h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1em}
.wrap{width:min(var(--max),100% - 2rem);margin-inline:auto}
.wrap--estreito{max-width:760px}
.pular{position:absolute;left:-999px;top:0;background:var(--amarelo);color:var(--grafite);padding:.5rem 1rem;z-index:100}
.pular:focus{left:1rem;top:1rem}
.sobre{font-family:var(--ft);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600;color:var(--sol);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem}
.sobre::before{content:"";width:28px;height:3px;background:var(--amarelo)}
.sobre--claro{color:var(--amarelo)}
.aviso{font-size:.85rem;color:var(--cinza)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:var(--raio);font-weight:600;text-decoration:none;font-family:var(--ft);border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;line-height:1.2;font-size:.95rem}
.btn:hover{transform:translateY(-1px)}
.btn--prim{background:var(--sol);color:#fff}.btn--prim:hover{background:var(--sol-escuro)}
.btn--sec{background:transparent;color:var(--grafite);border-color:var(--grafite)}.btn--sec:hover{background:var(--grafite);color:#fff}
.btn--linha{background:transparent;color:inherit;border-color:currentColor}
.btn--wa{background:#25D366;color:#073b1c}.btn--wa:hover{background:#1ebe5a}
.btn--grande{font-size:1.1rem;padding:1rem 1.8rem}
.btn--bloco{width:100%}
.btn--mini{padding:.4rem .7rem;font-size:.8rem}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:var(--grafite);color:#fff;border-bottom:3px solid var(--amarelo)}
.topo__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.logo{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-family:var(--ft);font-weight:700;font-size:1.05rem}
.logo em{font-style:normal;color:var(--amarelo);font-weight:600}
.logo__sol{width:30px;height:30px;border-radius:6px;background:linear-gradient(to bottom,var(--grafite-2) 0 55%,var(--sol) 55%);position:relative;flex:none;border:1px solid rgba(255,255,255,.15)}
.logo__sol::after{content:"";position:absolute;left:50%;top:55%;width:16px;height:8px;margin-left:-8px;margin-top:-8px;background:var(--amarelo);border-radius:16px 16px 0 0}
.menu{display:flex;align-items:center;gap:1.4rem}
.menu a{color:#fff;text-decoration:none;font-weight:500;font-size:.95rem}
.menu a:not(.btn):hover{color:var(--amarelo)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:#fff;transition:.2s}
@media (max-width:900px){
  .menu-btn{display:flex}
  .menu{position:absolute;left:0;right:0;top:100%;background:var(--grafite-3);flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;display:none;border-bottom:3px solid var(--amarelo)}
  .menu.aberto{display:flex}
  .menu a{padding:.8rem .5rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu .btn{margin-top:.5rem;justify-content:center}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* hero */
.hero{background:var(--grafite);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:repeating-linear-gradient(90deg,var(--sol) 0 40px,var(--amarelo) 40px 80px,var(--grafite-2) 80px 120px)}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:4rem 0 4.5rem}
.hero h1 span{color:var(--amarelo)}
.hero__sub{font-size:1.1rem;color:#D6DEE4;max-width:58ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.hero__selos{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.hero__selos li{font-size:.8rem;font-weight:600;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#E9EEF2}
.hero__art{position:relative;aspect-ratio:1/1;max-width:420px;margin-inline:auto;width:100%}
.sol{position:absolute;left:50%;top:48%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 40%,#FFE08A,var(--amarelo) 55%,var(--sol) 100%);box-shadow:0 0 80px rgba(246,196,69,.45);animation:nascer 2.4s ease-out both}
.mar{position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(to bottom,var(--grafite-2),var(--grafite-3));border-top:3px solid var(--sol)}
.mar::before,.mar::after{content:"";position:absolute;left:8%;right:8%;height:2px;background:rgba(246,196,69,.35)}
.mar::before{top:22%}.mar::after{top:44%;left:20%;right:20%}
.hero__num{position:absolute;left:1rem;bottom:1rem;background:var(--branco);color:var(--grafite);padding:.8rem 1rem;border-radius:var(--raio);box-shadow:var(--sombra);max-width:220px;border-left:5px solid var(--sol)}
.hero__num-val{font-family:var(--ft);font-size:2.2rem;font-weight:700;display:block;line-height:1}
.hero__num-lbl{font-size:.8rem;color:var(--cinza)}
@keyframes nascer{from{transform:translate(-50%,10%);opacity:.3}to{transform:translate(-50%,-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){.sol{animation:none}}

.faixa{background:var(--amarelo);color:var(--grafite)}
.faixa__in{padding:.9rem 0;font-size:.95rem}
.faixa p{margin:0}

/* seções */
.sec{padding:4rem 0}
.sec--escura{background:var(--grafite);color:#fff}
.sec--escura h2,.sec--escura h3{color:#fff}
.sec--escura a:not(.btn){color:var(--amarelo)}
.sec--areia{background:var(--amarelo-claro)}
.sec__cab{max-width:820px;margin-bottom:2.2rem}
.sec__cab p:last-child{color:var(--cinza)}
.sec--escura .sec__cab p:last-child{color:#C9D3DA}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}
.card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;position:relative;box-shadow:0 2px 0 var(--linha);transition:box-shadow .2s,transform .2s;color:var(--tinta)}
.card:hover{box-shadow:var(--sombra);transform:translateY(-3px)}
.card--destaque{border-top:5px solid var(--sol)}
.card:not(.card--destaque){border-top:5px solid var(--grafite)}
.card__tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--sol-escuro)}
.card:not(.card--destaque) .card__tag{color:var(--grafite-2)}
.card h3{font-size:1.1rem;margin:0}
.card h3 a{color:var(--grafite);text-decoration:none}.card h3 a:hover{color:var(--sol)}
.card__meta{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem;margin:0;font-size:.85rem}
.card__meta div:last-child{grid-column:1/-1}
.card__meta dt{color:var(--cinza);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.card__meta dd{margin:0;font-weight:600}
.card__preco{font-family:var(--ft);font-size:1.6rem;font-weight:700;color:var(--grafite);margin:.3rem 0 0}
.card__preco small{font-size:.75rem;font-weight:500;color:var(--cinza);display:block;font-family:var(--fb)}
.card__pag{font-size:.78rem;color:var(--cinza);margin:0}
.card__acoes{display:flex;gap:.5rem;margin-top:auto;flex-wrap:wrap}
.card__acoes .btn{flex:1;padding:.65rem .8rem;font-size:.88rem}
.todos{margin-top:2.5rem}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips a{display:inline-block;padding:.45rem .85rem;background:var(--branco);border:1px solid var(--linha);border-radius:999px;text-decoration:none;color:var(--grafite);font-size:.88rem;font-weight:500}
.chips a:hover{border-color:var(--sol);color:var(--sol)}

/* empresas */
.emp__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:start}
.lista-check{list-style:none;padding:0;margin:1.2rem 0}
.lista-check li{padding-left:1.8rem;position:relative;margin-bottom:.7rem}
.lista-check li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;background:var(--amarelo);clip-path:polygon(0 50%,50% 0,100% 50%,50% 100%)}
.lista-check--escura li::before{background:var(--sol)}
.painel{background:var(--branco);color:var(--tinta);border-radius:var(--raio);box-shadow:var(--sombra);overflow:hidden}
.painel__cab{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;background:var(--grafite-3);color:#fff;font-family:var(--ft);font-size:.85rem}
.painel__pill{background:var(--amarelo);color:var(--grafite);padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700}
.painel__tab{width:100%;border-collapse:collapse;font-size:.85rem}
.painel__tab th,.painel__tab td{padding:.65rem .8rem;text-align:left;border-bottom:1px solid var(--linha)}
.painel__tab th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cinza)}
.st{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}
.st--ok{background:#E3F5EC;color:var(--verde)}.st--alerta{background:var(--amarelo-claro);color:var(--amarelo-escuro)}.st--venc{background:#FDE7E7;color:var(--verm)}
.painel__nota{font-size:.75rem;color:var(--cinza);padding:.8rem 1rem;margin:0}

/* números e selos */
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2.5rem}
.num{background:var(--branco);border-left:5px solid var(--sol);padding:1.2rem 1.3rem;border-radius:var(--raio);box-shadow:0 2px 0 var(--linha)}
.num__val{font-family:var(--ft);font-size:2.4rem;font-weight:700;display:block;line-height:1;color:var(--grafite)}
.num__lbl{font-size:.85rem;color:var(--cinza)}
.selos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.selo{display:flex;gap:1rem;background:var(--branco);padding:1.4rem;border-radius:var(--raio);border:1px solid var(--linha)}
.selo__ico{flex:none;width:44px;height:44px;border-radius:50%;background:var(--amarelo);color:var(--grafite);display:grid;place-items:center;font-size:1.3rem;font-weight:700}
.selo p{margin:0;font-size:.92rem;color:var(--cinza)}

/* depoimentos */
.depos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}
.depo{margin:0;background:var(--branco);padding:1.5rem;border-radius:var(--raio);border-top:4px solid var(--amarelo);box-shadow:0 2px 0 var(--linha)}
.depo blockquote{margin:0 0 1rem;font-size:.98rem}
.depo blockquote p{margin:0}
.depo figcaption{font-size:.8rem;color:var(--cinza);font-weight:600}

/* cidades */
.cidades{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.cidade{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:1.3rem;border-bottom:4px solid var(--grafite)}
.cidade h3{color:var(--grafite);margin-bottom:.4rem}
.cidade p{font-size:.9rem;color:var(--cinza)}
.cidade a{font-weight:600;text-decoration:none;font-size:.9rem}

/* faq */
.faq .sec__cab{margin-bottom:1.5rem}
.faq__item{background:var(--grafite-2);border-radius:var(--raio);margin-bottom:.6rem;border-left:4px solid var(--amarelo)}
.faq__item summary{cursor:pointer;padding:1rem 1.2rem;font-weight:600;font-family:var(--ft);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--amarelo)}
.faq__item[open] summary::after{content:"–"}
.faq__item p{padding:0 1.2rem 1.1rem;margin:0;color:#D6DEE4}

/* cta final */
.cta-final{background:linear-gradient(135deg,var(--sol),var(--amarelo));color:var(--grafite)}
.cta-final__in{padding:3.5rem 0;text-align:center}
.cta-final h2{color:var(--grafite)}
.cta-final p{font-size:1.05rem}

/* páginas de curso */
.migalhas{font-size:.85rem;padding:1rem 0 0;color:var(--cinza)}
.migalhas a{color:var(--cinza)}
.curso-hero{padding:2rem 0 3rem;background:linear-gradient(to bottom,var(--branco),var(--areia))}
.curso-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start}
.curso-hero h1{font-size:clamp(1.7rem,3.6vw,2.6rem);color:var(--grafite)}
.curso-hero .hero__sub{color:var(--cinza)}
.curso-hero .hero__selos li{border-color:var(--linha);color:var(--grafite);background:var(--branco)}
.preco-box{background:var(--grafite);color:#fff;padding:1.6rem;border-radius:var(--raio);box-shadow:var(--sombra);border-top:6px solid var(--amarelo);position:sticky;top:90px}
.preco-box__lbl{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#C9D3DA;margin:0}
.preco-box__val{font-family:var(--ft);font-size:2.6rem;font-weight:700;margin:0;color:var(--amarelo)}
.preco-box__par{font-size:.85rem;color:#C9D3DA}
.preco-box__lista{list-style:none;padding:0;margin:1rem 0;font-size:.88rem}
.preco-box__lista li{padding:.45rem 0;border-top:1px solid rgba(255,255,255,.12)}
.curso-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:start}
.curso-grid>*,.curso-hero__grid>*,.emp__grid>*,.hero__grid>*{min-width:0}
.tab-wrap{max-width:100%}
.curso-grid h2{font-size:1.5rem;margin-top:2rem}
.curso-grid h2:first-child{margin-top:0}
.modal-box{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:1.4rem;margin-bottom:1.25rem}
.modal-box--online{border-left:5px solid var(--sol)}
.modal-box ol{padding-left:1.2rem;margin:0 0 .8rem}
.modal-box li{margin-bottom:.5rem;font-size:.95rem}
.tab-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--linha);border-radius:var(--raio);background:var(--branco)}
.tab{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
.tab th,.tab td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid var(--linha);vertical-align:middle}
.tab th{background:var(--grafite);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.tab tr:last-child td{border-bottom:0}
.tab td:nth-child(4){font-weight:700;font-family:var(--ft);white-space:nowrap}

/* formulário verificar */
.form-ver{background:var(--branco);padding:1.5rem;border-radius:var(--raio);border:1px solid var(--linha);margin:1.5rem 0 2.5rem}
.form-ver label{font-weight:600;display:block;margin-bottom:.5rem}
.form-ver__linha{display:flex;gap:.6rem;flex-wrap:wrap}
.form-ver input{flex:1;min-width:200px;padding:.8rem 1rem;border:2px solid var(--linha);border-radius:var(--raio);font:inherit;font-size:1rem}
.form-ver input:focus{outline:none;border-color:var(--sol)}
.texto h2{font-size:1.3rem;margin-top:1.8rem}

/* rodapé */
.rodape{background:var(--grafite-3);color:#C9D3DA;padding:3.5rem 0 0;border-top:6px solid var(--sol)}
.rodape__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem}
.rodape h3{color:#fff;font-size:1rem;margin-bottom:.8rem}
.rodape a{color:#E9EEF2;text-decoration:none}
.rodape a:hover{color:var(--amarelo)}
.rodape p{font-size:.92rem}
.contato{list-style:none;padding:0;margin:1rem 0 0;font-size:.9rem}
.contato li{margin-bottom:.35rem}
.lista-links{list-style:none;padding:0;margin:0;font-size:.9rem}
.lista-links li{margin-bottom:.4rem}
.lista-links--estados{columns:2;column-gap:1rem}
.rodape__base{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0 5.5rem;font-size:.78rem}
.rodape__base p{margin:0}

/* WhatsApp flutuante */
.wa-flutuante{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;align-items:center;gap:.5rem;background:#25D366;color:#073b1c;padding:.75rem 1rem;border-radius:999px;font-weight:700;font-family:var(--ft);text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.wa-flutuante:hover{background:#1ebe5a}
@media (max-width:600px){.wa-flutuante span{display:none}.wa-flutuante{padding:.85rem}}

/* responsivo */
@media (max-width:980px){
  .hero__grid,.emp__grid,.curso-hero__grid,.curso-grid{grid-template-columns:1fr;gap:2rem}
  .hero__grid{padding:2.8rem 0 3.2rem}
  .hero__art{max-width:300px}
  .rodape__grid{grid-template-columns:1fr 1fr}
  .preco-box{position:static}
}
@media (max-width:600px){
  .sec{padding:2.8rem 0}
  .rodape__grid{grid-template-columns:1fr}
  .lista-links--estados{columns:2}
  .hero__cta .btn{width:100%}
  .card__acoes .btn{flex:1 1 100%}
}

/* paginas por cidade e blog */
.busca{display:flex;gap:.6rem;margin:1.2rem 0 1.6rem;max-width:560px}
.busca input{flex:1;min-width:0;padding:.8rem 1rem;border:2px solid var(--linha);border-radius:var(--raio);font:inherit;font-size:1rem;background:var(--branco)}
.busca input:focus{outline:none;border-color:var(--sol)}
.letras{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.4rem}
.letras a{padding:.3rem .6rem;border:1px solid var(--linha);border-radius:6px;text-decoration:none;font-weight:600;font-size:.85rem;color:var(--grafite)}
.lista-cidades{list-style:none;padding:0;margin:0;columns:2;column-gap:1.5rem}
.lista-cidades li{break-inside:avoid;padding:.3rem 0;border-bottom:1px dashed var(--linha)}
.lista-cidades a{text-decoration:none;color:var(--grafite);font-weight:500}
.lista-cidades a:hover{color:var(--sol)}
.lista-cidades li[hidden]{display:none}
.grupo-letra{margin:1.6rem 0 .6rem;color:var(--sol);font-family:var(--fonte-titulo,inherit)}
.vazio{display:none;color:var(--cinza);font-style:italic}
.passos{counter-reset:p;list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.passos li{position:relative;padding-left:3rem;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:1rem 1rem 1rem 3.4rem}
.passos li::before{counter-increment:p;content:counter(p);position:absolute;left:1rem;top:.9rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--amarelo);color:var(--grafite);font-weight:700;display:grid;place-items:center}
.blog-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.blog-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:1.2rem;border-top:4px solid var(--amarelo)}
.blog-card h3{font-size:1.05rem;margin:.3rem 0 .5rem}
.blog-card h3 a{text-decoration:none;color:var(--grafite)}
.blog-card h3 a:hover{color:var(--sol)}
.blog-card p{font-size:.92rem;color:var(--cinza)}
.artigo{max-width:760px}
.artigo p{margin-bottom:1.1rem;line-height:1.7}
.artigo h2{margin-top:2rem}
.vizinhas{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.vizinhas a{display:inline-block;padding:.45rem .85rem;background:var(--branco);border:1px solid var(--linha);border-radius:999px;text-decoration:none;color:var(--grafite);font-size:.88rem}
@media (min-width:720px){.lista-cidades{columns:3}}
@media (min-width:1000px){.lista-cidades{columns:4}}
