/* Instituto Frequência — site público. Tokens iguais aos da Plataforma Frequência. */
:root{
  --bg:#EEF0F4;--srf:#FFFFFF;--bd:#E6E9F0;--bd2:#DDE2EA;--navy:#0F1E2E;--ink:#0F1E2E;--mut:#5B6472;--mut2:#8A93A0;
  --accent:#2BD47A;--green:#15803D;--green-bg:#E7F8EE;--amber:#B45309;--soft:#F3F5F9;--soft2:#E9ECF2;
  --font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--brand:"Space Grotesk",Inter,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;padding-bottom:48px}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--green)}
h1,h2,h3,p{margin:0}
button{font-family:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* superfícies e botões */
.srf{background:var(--srf);border:1px solid var(--bd);border-radius:20px;box-shadow:0 1px 2px rgba(15,30,61,.04);transition:box-shadow .15s,border-color .15s}
.srf:hover{box-shadow:0 6px 18px rgba(15,30,61,.07);border-color:var(--bd2)}
.bt{height:44px;border:0;border-radius:12px;padding:0 18px;font:600 14px var(--font);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s,background .15s,transform .15s,box-shadow .15s;white-space:nowrap}
.bt:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,30,61,.10);color:inherit}
.bt:active{transform:scale(.98);box-shadow:none}
.bt.pri{background:var(--navy);color:#fff}.bt.pri:hover{color:#fff}
.bt.sec{background:#fff;color:var(--ink);border:1px solid var(--bd)}
.bt:focus-visible,.in:focus-visible,.faq:focus-visible,.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.in{height:44px;border:1px solid var(--bd);border-radius:12px;background:#fff;color:var(--ink);padding:0 14px;font:14px var(--font);width:100%}
.in::placeholder{color:var(--mut2)}
.in[aria-invalid="true"]{border-color:#DC2626}
.dot{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:pulse 1.8s ease-out infinite;flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.post{display:block;height:34px;border-radius:9px;background:var(--soft2);transition:transform .15s}.post:hover{transform:translateY(-1px)}
.post[data-on="1"]{background:var(--accent);box-shadow:0 0 0 3px rgba(43,212,122,.18)}
.dark .post{background:#2C3E4C}.dark .post[data-on="1"]{background:var(--accent)}
.fill{transform-origin:left;animation:grow .7s cubic-bezier(.2,.7,.2,1) both;transition:width .5s}
@keyframes grow{from{transform:scaleX(0)}}
.hint{border-bottom:1px dotted var(--mut2);cursor:help}
.mono{font-family:var(--mono)}
.tag{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.mut{color:var(--mut)}.sm{font-size:12px}.s13{font-size:13px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border-radius:999px;padding:8px 14px;font-size:13px;white-space:nowrap}
.chip .k{font-family:var(--mono);font-weight:600}
.chip.live{font-size:12px;color:var(--green);font-weight:600;background:var(--green-bg);padding:6px 12px}

/* pílula deslizante */
.pill{position:relative;display:grid;background:#E4E7EE;border-radius:999px;padding:4px;isolation:isolate;--n:3;grid-template-columns:repeat(3,minmax(0,1fr))}
.pill .ind{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/var(--n));border-radius:999px;background:var(--navy);box-shadow:0 2px 6px rgba(15,30,61,.25);transition:transform .2s cubic-bezier(.2,.7,.2,1);z-index:0}
.pill .op{position:relative;z-index:1;height:40px;border:0;background:transparent;border-radius:999px;padding:0 18px;font:500 14px var(--font);color:var(--mut);cursor:pointer;transition:color .2s;white-space:nowrap}
.pill .op:hover{color:var(--ink)}
.pill .op[aria-pressed="true"]{color:#fff;font-weight:600}
.pill .op:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pill.small .op{height:34px;font-size:13px;padding:0 12px}

/* tiles de curso */
.tile{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--bd);border-radius:16px;background:#fff;color:var(--ink);cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;min-width:0}
.tile:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,30,61,.08);border-color:var(--bd2)}
.tile:active{transform:scale(.98)}
.tile[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tile[aria-pressed="true"] .mut{color:#B9C3CB}
.tile .mut{font-size:12px}
.tile .nm{font-weight:600;font-size:14px;line-height:1.25}
.tile .sq{width:28px;height:28px;border-radius:8px;background:var(--green-bg);color:var(--green);display:inline-flex;align-items:center;justify-content:center;font:600 11px var(--mono)}
.tile[aria-pressed="true"] .sq{background:var(--accent);color:var(--navy)}

/* FAQ */
.faq{width:100%;border:0;background:transparent;text-align:left;padding:16px 0;font:500 15px var(--font);color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq svg{transition:transform .2s;flex:none}
.faq[aria-expanded="true"] svg{transform:rotate(45deg)}
.fx{color:var(--mut);font-size:14px;line-height:1.55;padding:0 0 16px;max-width:760px}
.fx[hidden]{display:none}
.faqi{border-top:1px solid var(--bd)}
.chk{width:24px;height:24px;border-radius:50%;background:var(--green-bg);color:var(--green);display:inline-flex;align-items:center;justify-content:center;flex:none}

/* layout */
.wrap{max-width:1280px;margin:0 auto;padding:40px 32px 0;display:flex;flex-direction:column;gap:56px}
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.g75{grid-template-columns:7fr 5fr}
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:stretch}
.big{font-size:56px;line-height:1.02;letter-spacing:-.03em;font-weight:700}
.h2{font-size:30px;line-height:1.15;letter-spacing:-.02em;font-weight:700}
.sec{display:flex;flex-direction:column;gap:20px}
.col{display:flex;flex-direction:column}.row{display:flex}.gap6{gap:6px}.gap10{gap:10px}.gap14{gap:14px}.gap16{gap:16px}.gap18{gap:18px}.gap20{gap:20px}.gap22{gap:22px}
.wrapr{flex-wrap:wrap}.ac{align-items:center}.ae{align-items:flex-end}.as{align-items:flex-start}.ab{align-items:baseline}.sb{justify-content:space-between}
.pad{padding:36px}.p28{padding:28px}.p24{padding:24px}.p2428{padding:24px 28px}

/* header */
.hdr{position:sticky;top:0;z-index:5;background:rgba(238,240,244,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
.hdr .inner{max-width:1280px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand span{font-family:var(--brand);font-weight:700;font-size:15px;letter-spacing:.04em}
.nav{display:flex;gap:2px;margin-left:12px}
.nav a{font:500 13px var(--font);color:var(--mut);padding:8px 12px;border-radius:10px;transition:background .15s,color .15s}
.nav a:hover{background:#EEF1F6;color:var(--ink)}
.hright{margin-left:auto;display:flex;align-items:center;gap:14px}
.mcta{display:none;height:36px;font-size:13px}

/* hero */
.hero-sub{font-size:18px;line-height:1.5;color:var(--mut);max-width:620px}
.fatos{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.fato{flex:1 1 150px;background:var(--soft);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.fato b{font:600 22px/1 var(--mono)}.fato span{font-size:12px;color:var(--mut)}
.dark{background:var(--navy)!important;color:#fff;border-color:var(--navy)!important}
.central{flex:1 1 auto;justify-content:center;padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.postos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.feed{display:flex;flex-direction:column;border-top:1px solid #2C3E4C;padding-top:6px}
.feed div{display:flex;gap:12px;align-items:baseline;padding:7px 0;font-size:12px;border-bottom:1px solid #1C2B3A}
.feed .t{font-family:var(--mono);color:var(--mut2);flex:none}
.feed .x{color:#E6E9F0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed .g{font:11px var(--mono);flex:none;color:var(--accent)}.feed .a{color:#F59E0B}
.ring{padding:20px 24px;display:flex;gap:18px;align-items:center}
.ring text{font-family:var(--mono);font-weight:600;fill:var(--ink)}

/* cursos */
.tl{display:flex;gap:6px;align-items:stretch;height:64px}
.tl>div{min-width:0;position:relative;border-radius:8px;background:var(--soft);overflow:hidden;border:1px solid var(--bd)}
.tl .fill{position:absolute;inset:0;width:100%;opacity:.35}
.tll{position:absolute;left:8px;bottom:6px;right:4px;font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.disc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 24px;font-size:13px}
.disc div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--bd)}

/* jornada */
.jor{display:flex;gap:6px;align-items:stretch}
.jor>div{flex:1 1 0;min-width:0;position:relative;border-radius:10px;background:var(--soft);border:1px solid var(--bd);overflow:hidden;height:64px}
.jor .fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);opacity:.35}
.jor .lb{position:absolute;left:10px;right:6px;top:10px;display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.25}
.jor .lb b{font:600 11px var(--mono);color:var(--green)}.jor .lb b.m{color:var(--mut)}
.jor .lb span{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.etapas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 24px}
.etapa{display:flex;gap:10px;align-items:flex-start}
.portal{background:var(--bg);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.pcard{background:#fff;border-radius:12px;padding:14px;display:flex;gap:14px;align-items:center}
.plist{background:#fff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;font-size:12px}
.plist div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--bd)}.plist div:last-child{border-bottom:0}
.pbtn{flex:1;border-radius:10px;padding:9px;text-align:center;font-size:12px;font-weight:600;background:#fff}.pbtn.pri{background:var(--navy);color:#fff}

/* empresas / sede */
.eq{background:var(--soft);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:4px}
.eq b{font:600 40px/1 var(--mono);color:var(--green)}
.entrega{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--bd);font-size:13px;line-height:1.45}
.stat{padding:18px 22px;display:flex;flex-direction:column;gap:2px}
.stat b{font:600 24px/1.1 var(--mono)}

/* form */
.formbox{padding:32px;display:flex;flex-direction:column;gap:20px;border-color:var(--navy)!important;box-shadow:0 10px 30px rgba(15,30,61,.10)!important}
.form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.form label,.form .lbl{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--mut)}
.err{font-size:12px;color:#DC2626;min-height:0}
.ok{display:flex;gap:20px;align-items:center;background:var(--green-bg);border-radius:16px;padding:24px}
.ok[hidden],#formLista[hidden]{display:none}
.gradehd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.ok h2{font-size:22px;font-weight:700;letter-spacing:-.02em}
.ok .bt{height:36px;font-size:13px;margin-top:6px;align-self:flex-start}
.msg{font-size:13px;color:var(--amber)}
.msg[hidden]{display:none}

footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 0 0;font-size:12px;color:var(--mut)}

@media (max-width:980px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.hero,.g75{grid-template-columns:1fr}.big{font-size:42px}.g3{grid-template-columns:1fr}}
@media (max-width:720px){
  .wrap{padding:28px 16px 0;gap:36px}.hdr .inner{padding:10px 16px}
  .pill{width:100%}.pill .op{padding:0 6px;font-size:12px}
  .g6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .big{font-size:34px}.h2{font-size:24px}
  .tl{height:40px}.tll{display:none}
  .jor{flex-direction:column}.jor>div{height:48px;flex:none}
  .nav,.hcta,.hchip{display:none}.mcta{display:inline-flex}
  .pad,.p28,.p2428,.formbox{padding:18px}
  .form{grid-template-columns:1fr}
  .ok{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.dot,.fill{animation:none}.pill .ind,.bt,.tile,.faq svg,.srf,.post{transition:none}html{scroll-behavior:auto}}
