/* Design tokens extraídos de https://www.fmp.edu.br/ (valores computados em 30/10/2026).
   Fontes hospedadas aqui (Google Fonts, licença OFL): Outfit (corpo), Noto Serif (títulos), Albert Sans (botões). */
@font-face{font-family:Outfit;font-weight:400 600;font-style:normal;font-display:swap;src:url(/fonts/outfit-400.woff2) format("woff2")}
@font-face{font-family:"Noto Serif";font-weight:500 700;font-style:normal;font-display:swap;src:url(/fonts/noto-serif-500.woff2) format("woff2")}
@font-face{font-family:"Albert Sans";font-weight:500 700;font-style:normal;font-display:swap;src:url(/fonts/albert-sans-500.woff2) format("woff2")}

:root{
  --primary:#ed2c46;--accent:#af2c3d;--black:#1a1a1a;--white:#fff;--sand:#f0edea;--muted:#737373;--border:#ddd9d5;--soft:#adadad;
  --ok:#17653a;--ok-bg:#e6f2ea;--radius:.5rem;
  --heading:"Noto Serif",Georgia,serif;--body:Outfit,system-ui,sans-serif;--cta:"Albert Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--black);font:400 16px/1.5 var(--body);-webkit-font-smoothing:antialiased}
.w{max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:1024px){.w{padding:0 1.5rem}}

/* cabeçalho + faixa de título (preto, como o hero do site) */
.topo{background:var(--black);color:var(--white)}
.topo .barra{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding-top:.75rem;padding-bottom:.75rem}
.topo img{display:block;height:40px;width:auto}
.pilula-link{font:400 14px/20px var(--body);color:var(--white);text-decoration:none;padding:8px 16px;border:1px solid var(--primary);border-radius:9999px;background:rgba(0,0,0,.2)}
.pilula-link:hover{background:var(--primary)}
.titulo{padding:2.5rem 0 3rem}
.titulo h1{font:700 clamp(2rem,5vw,3.5rem)/1.08 var(--heading);letter-spacing:-.025em;margin:0 0 .75rem;color:var(--white)}
.titulo p{margin:0;max-width:40rem;font-size:1.125rem;color:var(--soft)}

/* conteúdo: fundo areia com cartões brancos (alternância branco/areia do site) */
main{background:var(--sand);padding:3rem 0 4rem}
.grade{max-width:46rem}
.duas{display:grid;gap:1.25rem;grid-template-columns:1fr;align-items:start}
@media(min-width:56rem){.duas{grid-template-columns:1fr 1fr}}
.duas .cartao{margin:0}
.cartao>p.contato{margin:1.25rem 0 0}
.ct{font:700 1.25rem/1.3 var(--heading);margin:0 0 .75rem}
.cartao{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin:0 0 1.25rem}
.cartao>p:first-child{margin-top:0}
.suave{color:var(--muted);font-size:.9375rem}

label{display:block;font-weight:500;margin:1rem 0 .25rem}
input[type=email],input[type=text]{width:100%;font:inherit;color:var(--black);padding:.7rem .85rem;border:1px solid var(--muted);border-radius:var(--radius);background:var(--white)}
input::placeholder{color:var(--muted)}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.topo :focus-visible,.rodape :focus-visible{outline-color:var(--white)}

button,.botao{display:inline-block;margin-top:1.1rem;font:500 16px/24px var(--cta);color:var(--white);background:var(--primary);border:0;border-radius:9999px;padding:12px 24px;text-decoration:none;cursor:pointer}
button:hover,.botao:hover{background:var(--accent)}
button.sec,.botao.sec{font-size:14px;line-height:20px;font-weight:700;color:var(--black);background:var(--white);border:1px solid var(--black);padding:8px 16px}
button.sec:hover,.botao.sec:hover{background:var(--black);color:var(--white)}

.aviso{border-left:4px solid var(--primary);background:var(--white);padding:.85rem 1rem;border-radius:0 var(--radius) var(--radius) 0;margin:0 0 1.25rem}
.erro{color:var(--accent);font-weight:600}
.ok{color:var(--ok);font-weight:600}
.selo{display:inline-block;background:var(--ok-bg);color:var(--ok);font-weight:600;font-size:.875rem;padding:.15rem .7rem;border-radius:9999px}
dl{display:grid;grid-template-columns:14rem 1fr;gap:.35rem 1.5rem;margin:.5rem 0 0}
dt{color:var(--muted)}dd{margin:0}
@media(max-width:34rem){dl{grid-template-columns:1fr;gap:0}dt{margin-top:.6rem}}
a{color:var(--accent)}

/* rodapé (preto, como o do site) */
.rodape{background:var(--black);color:var(--soft);font-size:.875rem;padding:3rem 0 1.5rem}
.rodape .colunas{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:48rem){.rodape .colunas{grid-template-columns:1.2fr 1fr 1fr}}
.rodape img{height:44px;width:auto;margin-bottom:1rem}
.rodape .rt{font:700 1rem/1.5 var(--heading);color:var(--primary);margin:0 0 .5rem}
.rodape p{margin:0 0 .35rem}
.rodape a{color:var(--soft);text-decoration:none}.rodape a:hover{color:var(--white);text-decoration:underline}
.rodape .base{border-top:1px solid #333;margin-top:2rem;padding-top:1rem;font-size:.75rem}
