/* Fontes da marca servidas pelo próprio site, sem requisição a terceiros. */
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:500 700;
  font-display:swap;src:url(/assets/plexserif.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;
  font-display:swap;src:url(/assets/inter.woff2) format('woff2')}

:root{
  --carmim:#A32D2D; --carmim-esc:#7E1F1F; --carmim-bg:#FBEDEA;
  --ouro:#BA7517; --ouro-cl:#FAC775; --ouro-bg:#FBF2E2;
  --tinta:#3A1512; --ink-2:#5C4A45; --muted:#8A7E79;
  --papel:#F4F1EC; --white:#fff; --rule:#E2DCD4;
  --d:'IBM Plex Serif',Georgia,'Times New Roman',serif;
  --b:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
[id]{scroll-margin-top:96px}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--b);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.w{max-width:1100px;margin:0 auto;padding:0 26px}
a{color:inherit}
:focus-visible{outline:3px solid var(--carmim);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:26px;top:10px;z-index:60;background:var(--tinta);color:var(--papel);padding:10px 16px}

/* ---------- cabeçalho ---------- */
header{border-bottom:1px solid var(--rule);background:var(--papel);position:sticky;top:0;z-index:30}
header .w{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 26px}
.brand{text-decoration:none;display:flex;align-items:center;gap:14px}
.brand svg{width:42px;height:47px;flex:none}
.mark{font-family:var(--d);font-weight:600;font-size:24px;letter-spacing:.11em;line-height:1;color:var(--tinta)}
.markline{height:2px;width:44px;background:var(--ouro);margin:5px 0 4px}
.tag{font-size:10.5px;letter-spacing:.18em;color:var(--ink-2);text-transform:uppercase}
nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
nav a.nl{font-size:15px;text-decoration:none;color:var(--ink-2)}
nav a.nl:hover,nav a.nl[aria-current="page"]{color:var(--carmim);text-decoration:underline;text-underline-offset:6px}
.mailtop{font-size:14px;text-decoration:none;background:var(--carmim);color:#fff;padding:10px 18px;border-radius:5px;white-space:nowrap}
.mailtop:hover{background:var(--carmim-esc)}

/* ---------- abertura ---------- */
.hero{padding:76px 0 28px}
.hero.compacta{padding:64px 0 6px}
.hero.compacta h1{max-width:22ch}
.hero.compacta+.sec{padding-top:32px}
/* Títulos em IBM Plex Serif SemiBold. Desenho regular, sem alternados nem eixo
   óptico — nada a instanciar. font-synthesis:none impede o navegador de
   engrossar artificialmente quando o arquivo não chegou ainda. */
.mark,h1,.door b,.card h3,.dlcard b,.cta h2,.bigmail,.prosa h2{font-synthesis:none}

h1{font-family:var(--d);font-weight:600;letter-spacing:-.018em;font-size:clamp(28px,4.3vw,44px);line-height:1.2;margin:0 0 18px;max-width:28ch;text-wrap:balance}
.rule{height:3px;width:64px;background:var(--ouro);margin:0 0 22px}
.lede{font-size:18px;color:var(--ink-2);max-width:78ch;margin:0;text-wrap:pretty}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);margin:0 0 16px;font-weight:500}

.band{background:var(--white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:52px 0;margin-top:34px}
.sec{padding:52px 0}
h2{font-family:var(--b);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--carmim);margin:0 0 26px}

/* ---------- portas da home ---------- */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:stretch}
.door{display:flex;flex-direction:column;text-decoration:none}
.door ul{flex:1 1 auto}
.door .tick{height:3px;width:38px;background:var(--carmim);margin-bottom:16px}
.door b{display:block;font-family:var(--d);font-weight:600;font-size:21px;line-height:1.25;margin-bottom:7px;letter-spacing:-.012em}
.door .law{display:block;font-size:12.5px;line-height:1.4;color:var(--carmim);margin-bottom:14px}
.door ul{list-style:none;margin:0;padding:0}
.door li{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin-bottom:6px;position:relative;padding-left:15px}
.door li::before{content:'';position:absolute;left:0;top:10px;width:7px;height:1.5px;background:var(--carmim)}
.door em{display:block;font-style:normal;font-size:14px;color:var(--carmim);margin-top:auto;padding-top:18px}
.door:hover b{color:var(--carmim)}
.door:hover em{text-decoration:underline;text-underline-offset:4px}

/* ---------- cartões de competência ---------- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--carmim);padding:22px 24px;border-radius:0 6px 6px 0}
.card.o{border-left-color:var(--ouro)}
.grid .card:last-child:nth-child(odd){grid-column:1/-1}
.eb{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;color:var(--carmim)}
.card.o .eb{color:var(--ouro)}
.card h3{font-family:var(--d);font-weight:600;font-size:18.5px;margin:0 0 10px;letter-spacing:-.012em;line-height:1.32}
.card p{margin:0 0 6px;font-size:15px;color:var(--ink-2);line-height:1.55}
.card .law{margin:12px 0 0;font-size:12.5px;color:var(--carmim)}

/* ---------- calendário legal ---------- */
.dates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 12px}
.date{background:var(--white);border-top:3px solid var(--carmim);padding:16px 18px}
.date b{display:block;font-size:15px;font-weight:600;color:var(--carmim);margin-bottom:4px}
.date span{font-size:14px;color:var(--ink-2);line-height:1.45}
.datelaw{font-size:12.5px;color:var(--carmim);margin:0 0 34px}

/* ---------- etapas ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.step{border-top:2px solid var(--tinta);padding-top:14px}
.step b{display:block;font-size:15px;font-weight:600;margin-bottom:4px}
.step span{font-size:14px;color:var(--ink-2);line-height:1.45}
.note{margin:26px 0 0;padding:16px 20px;background:var(--white);border-left:4px solid var(--ouro);font-size:15px;color:var(--ink-2)}
.note.n2{border-left-color:var(--rule)}

/* ---------- materiais para download ---------- */
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dl.one{grid-template-columns:1fr;max-width:560px}
.dlcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--ouro);padding:20px 22px;text-decoration:none}
.dlcard b{font-family:var(--d);font-weight:600;font-size:17.5px;letter-spacing:-.014em;margin-bottom:6px}
.dlcard span{font-size:14px;color:var(--ink-2);line-height:1.5}
.dlcard span{flex:1 1 auto}
.dlcard em{font-style:normal;font-size:13px;color:var(--carmim);margin-top:auto;padding-top:14px}
.dlcard:hover b{color:var(--carmim)}
.dlcard:hover em{text-decoration:underline;text-underline-offset:4px}

/* ---------- faixa de contato ---------- */
.cta{background:var(--carmim);color:#fff;padding:60px 0}
.cta h2{font-family:var(--d);font-weight:600;text-wrap:balance;font-size:clamp(22px,3vw,30px);letter-spacing:-.018em;line-height:1.25;margin:0 0 14px;color:#fff;text-transform:none;max-width:38ch}
.cta p{color:#F0C9C1;font-size:16px;max-width:70ch;margin:0 0 28px}
.bigmail{display:inline-block;font-family:var(--d);font-weight:600;font-size:clamp(18px,2.6vw,26px);letter-spacing:-.014em;color:var(--ouro-cl);text-decoration:none;border-bottom:3px solid var(--ouro-cl);padding-bottom:6px;word-break:break-word}
.bigmail:hover{color:#fff;border-bottom-color:#fff}
.cta .alt{margin:20px 0 0;font-size:15px;color:#F0C9C1}
.cta .alt a{color:#fff;text-underline-offset:4px}

footer{padding:30px 0 40px;font-size:13px;color:var(--muted)}
footer .w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover{text-decoration:underline}

/* ---------- formulário ---------- */
form{max-width:620px;background:var(--white);border:1px solid var(--rule);border-radius:6px;padding:28px 30px}
.f{margin-bottom:18px}
.f label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.f .hint{font-size:13px;color:var(--muted);font-weight:400;margin-left:6px}
input,select,textarea{width:100%;font-family:var(--b);font-size:16px;color:var(--tinta);background:var(--papel);border:1px solid var(--rule);border-radius:4px;padding:11px 13px}
input:focus,select:focus,textarea:focus{border-color:var(--carmim);outline:none;box-shadow:0 0 0 3px var(--carmim-bg)}
textarea{min-height:130px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2);line-height:1.5}
.check input{width:auto;flex:none;margin-top:3px}
button{font-family:var(--b);font-size:16px;font-weight:500;background:var(--carmim);color:#fff;border:0;border-radius:5px;padding:13px 30px;cursor:pointer}
button:hover{background:var(--carmim-esc)}
.hp{position:absolute;left:-9999px}

/* ---------- página de contato: formulário e painel ---------- */
.fala{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;align-items:start}
.fala form{max-width:none}
.apoio{background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--carmim);border-radius:6px;padding:24px 26px}
.apoio h2{margin:0 0 20px}
.fluxo{list-style:none;counter-reset:f;margin:0 0 20px;padding:0}
.fluxo li{counter-increment:f;position:relative;padding-left:36px;margin-bottom:15px}
.fluxo li:last-child{margin-bottom:0}
.fluxo li::before{content:counter(f);position:absolute;left:0;top:2px;width:23px;height:23px;border-radius:50%;background:var(--carmim);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.fluxo b{display:block;font-size:15px;font-weight:600;margin-bottom:2px}
.fluxo span{display:block;font-size:14px;color:var(--ink-2);line-height:1.45}
.apoio .note{margin:0 0 12px;padding:14px 16px;background:var(--papel);font-size:14px;line-height:1.5}
.alt2{margin:20px 0 0;font-size:14px;color:var(--ink-2)}
.alt2 a{color:var(--carmim)}

/* ---------- páginas de texto ---------- */
.prosa{max-width:76ch}
.prosa h2{font-family:var(--d);font-weight:600;font-size:21px;letter-spacing:-.015em;text-transform:none;color:var(--tinta);margin:38px 0 12px}
.prosa h2:first-child{margin-top:0}
.prosa p,.prosa li{font-size:16px;color:var(--ink-2);line-height:1.7}
.prosa ul{padding-left:20px}
.prosa li{margin-bottom:6px}
.prosa .meta{font-size:14px;color:var(--muted);margin-bottom:30px}
.prosa .todo{background:var(--ouro-bg);border-left:4px solid var(--ouro);padding:14px 18px;font-size:14.5px;color:var(--ink-2)}

@media (max-width:1000px){
  .doors{gap:26px}
  .dl{gap:14px}
}
@media (max-width:900px){
  .doors,.grid,.dl,.fala{grid-template-columns:1fr}
  .dates,.steps{grid-template-columns:repeat(2,1fr)}
  .grid .card:last-child:nth-child(odd){grid-column:auto}
  .hero{padding:48px 0 24px}
  .sec,.band{padding:42px 0}
  .band{margin-top:0}
  header{position:static}
  header .w{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 22px}
  nav{gap:14px 18px}
  .w{padding:0 22px}
  .dl.one{max-width:none}
}
@media (max-width:560px){
  body{font-size:16px}
  .dates,.steps{grid-template-columns:1fr}
  h1{font-size:clamp(27px,7.4vw,34px);max-width:none}
  .lede{font-size:17px}
  form{padding:22px 20px}
  .cta{padding:46px 0}
  .bigmail{font-size:19px}
  footer .w{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
  header,nav,.cta,.skip,.dl,footer a[href^="mailto"]{display:none}
  body{background:#fff;font-size:12pt;color:#000}
  .card,.note,.door,.step,.date{break-inside:avoid}
  .w{max-width:none;padding:0}
  .sec,.band{padding:18px 0}
}
