  :root{
    --paper:#F4F4F4;
    --paper-card:#FFFFFF;
    --line:#DEDDD9;
    --red:#D54244;
    --navy:#494E78;
    --graphite:#2B2924;
    --muted:#6E6B66;

    --display:'Archivo',system-ui,sans-serif;
    --body:'Inter',system-ui,sans-serif;
    --mono:'IBM Plex Mono',ui-monospace,monospace;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%}
  body{
    font-family:var(--body);
    color:var(--graphite);
    background:var(--paper);
    line-height:1.55;
    position:relative;
  }
  /* textura de papel, herdada do deck */
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  }
  .wrap{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0 40px}

  /* ---------- nav ---------- */
  nav{border-bottom:1px solid var(--line);background:rgba(244,244,244,.9);backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:78px;gap:32px}
  .brand{display:flex;align-items:center;gap:11px;text-decoration:none}
  .brand span{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em;color:var(--graphite)}
  .brand span i{font-style:normal;color:var(--red)}
  .nav-links{display:flex;align-items:center;gap:30px}
  .nav-links a{font-size:14.5px;color:var(--graphite);text-decoration:none;font-weight:500}
  .nav-links a:hover{color:var(--red)}
  .btn{
    display:inline-block;font-family:var(--body);font-weight:600;font-size:14.5px;
    padding:12px 22px;text-decoration:none;border:1px solid transparent;transition:.18s;
  }
  .btn-red{background:var(--red);color:#fff}
  .btn-red:hover{background:#c03a3c}
  .btn-dark{background:var(--graphite);color:#fff;padding:16px 30px;font-size:15.5px}
  .btn-dark:hover{background:#3d3a34}
  .btn-ghost{color:var(--navy);border-bottom:2px solid var(--navy);padding:0 0 3px;font-weight:600;font-size:15.5px;text-decoration:none}
  .btn-ghost:hover{color:var(--red);border-color:var(--red)}

  /* ---------- hero ---------- */
  .hero{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center;padding:88px 0 76px}

  .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}
  .eyebrow .rule{width:44px;height:1px;background:var(--navy);opacity:.5}
  .eyebrow .star{color:var(--navy);font-size:11px}
  .eyebrow span{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);font-weight:500}

  h1{
    font-family:var(--display);font-weight:800;
    font-size:clamp(42px,5.4vw,72px);line-height:1.02;letter-spacing:-.035em;
  }
  h1 em{font-style:normal;color:var(--red);display:block}

  .lede{margin-top:26px;font-size:18px;color:#403D38;max-width:33em}
  .lede b{font-weight:600;color:var(--graphite)}

  .actions{display:flex;align-items:center;gap:30px;margin-top:38px;flex-wrap:wrap}
  .fineprint{margin-top:18px;font-size:14px;color:var(--muted)}

  .proof{display:flex;gap:34px;margin-top:46px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
  .proof div{font-size:13.5px;color:var(--muted);max-width:15em;line-height:1.4}
  .proof strong{display:block;color:var(--graphite);font-weight:600;font-size:14px;margin-bottom:3px}

  /* ---------- artefato: a linha de divergência ---------- */
  .card{
    background:var(--paper-card);border:1px solid var(--line);
    box-shadow:0 1px 0 rgba(43,41,36,.04),0 22px 44px -30px rgba(43,41,36,.35);
  }
  .card-top{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    padding:15px 24px;border-bottom:1px solid var(--line);background:#FBFBFA;
  }
  .card-top .id{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
  .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:#fff;padding:4px 9px}

  .card-body{padding:30px 24px 26px}
  .person{font-family:var(--mono);font-size:12.5px;color:var(--muted);letter-spacing:.04em;margin-bottom:22px}
  .person b{color:var(--graphite);font-weight:600;letter-spacing:0}

  .figs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
  .fig{padding:16px 18px}
  .fig + .fig{border-left:1px solid var(--line)}
  .fig .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
  .fig .v{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

  .diff{margin-top:22px;position:relative;padding-bottom:12px}
  .diff .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
  .diff .v{font-family:var(--display);font-weight:800;font-size:clamp(34px,4.4vw,46px);color:var(--red);letter-spacing:-.035em;font-variant-numeric:tabular-nums;line-height:1}
  .stroke{position:absolute;left:-6px;bottom:-2px;width:min(300px,86%);height:16px;overflow:visible}
  .stroke path{fill:none;stroke:var(--graphite);stroke-width:2.6;stroke-linecap:round}

  .cause{
    margin-top:26px;padding:16px 18px;background:#F6F6F5;border-left:3px solid var(--navy);
  }
  .cause .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
  .cause p{font-size:15px;color:#403D38}
  .card-foot{padding:13px 24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:#9A9791;letter-spacing:.04em}

  /* ---------- faixa de escopo ---------- */
  .scope{border-top:1px solid var(--line);background:#EFEFED}
  .scope-in{display:grid;grid-template-columns:auto 1fr auto;gap:48px;align-items:center;padding:38px 0}
  .chips{display:flex;gap:10px}
  .chip{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em;color:#fff;background:var(--red);padding:9px 16px}
  .scope p{font-size:15.5px;color:#403D38;max-width:46em}
  .scope p b{font-weight:600;color:var(--graphite)}

  /* ---------- motion ---------- */
  .rv{opacity:0;transform:translateY(10px);animation:rise .7s cubic-bezier(.2,.7,.3,1) forwards}
  @keyframes rise{to{opacity:1;transform:none}}
  .d1{animation-delay:.05s}.d2{animation-delay:.14s}.d3{animation-delay:.23s}
  .d4{animation-delay:.32s}.d5{animation-delay:.44s}.d6{animation-delay:.62s}.d7{animation-delay:.74s}
  .stroke path{stroke-dasharray:320;stroke-dashoffset:320;animation:draw .75s ease-out .95s forwards}
  @keyframes draw{to{stroke-dashoffset:0}}

  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1;transform:none;animation:none}
    .stroke path{stroke-dashoffset:0;animation:none}
  }

  a:focus-visible,.btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

  @media (max-width:960px){
    .wrap{padding:0 24px}
    .hero{grid-template-columns:1fr;gap:48px;padding:56px 0}
    .nav-links a:not(.btn){display:none}
    .scope-in{grid-template-columns:1fr;gap:22px;padding:32px 0}
  }
  @media (max-width:520px){
    .figs{grid-template-columns:1fr}
    .fig + .fig{border-left:0;border-top:1px solid var(--line)}
    .proof{gap:22px}
  }

/* ==========================================================================
   Regras abaixo desta linha NÃO existiam no arquivo aprovado da dobra.
   São o rodapé (novo) e o corpo das páginas legais. Nada acima foi alterado.
   ========================================================================== */

/* ---------- rodapé ---------- */
footer{border-top:1px solid var(--line);background:var(--paper)}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:34px 0;flex-wrap:wrap}
.foot-links{display:flex;align-items:center;gap:28px}
.foot-links a{font-size:14px;color:var(--graphite);text-decoration:none;font-weight:500}
.foot-links a:hover{color:var(--red)}
.foot-legal{font-family:var(--mono);font-size:11px;color:#9A9791;letter-spacing:.04em}

/* ---------- páginas legais (corpo ainda sem texto) ---------- */
main.legal{min-height:46vh}

@media (max-width:960px){
  .foot-in{flex-direction:column;align-items:flex-start;gap:18px;padding:30px 0}
}

/* ==========================================================================
   Fase 2 — fontes locais. O site não faz requisição a servidor de terceiro.
   ========================================================================== */

@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-weight:500 800;
  font-display:swap;
  src:url('../fonts/archivo-var.woff2') format('woff2');
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('../fonts/inter-var.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-400.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-500.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-600.woff2') format('woff2');
}

/* ==========================================================================
   Fase 2 — site completo. Regras novas, somente com os tokens do :root.
   Nada acima desta linha foi alterado.
   ========================================================================== */

/* ---------- revelação ao rolar (fade) ---------- */
.js .sr{opacity:0;transform:translateY(14px);transition:opacity .65s cubic-bezier(.2,.7,.3,1),transform .65s cubic-bezier(.2,.7,.3,1)}
.js .sr.in{opacity:1;transform:none}
.js .sr-d1{transition-delay:.12s}
.js .sr-d2{transition-delay:.22s}
@media (prefers-reduced-motion:reduce){
  .js .sr{opacity:1;transform:none;transition:none}
}

/* ---------- seções do index ---------- */
.section{padding:92px 0;border-top:1px solid var(--line)}
.sec-title{font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1.06;letter-spacing:-.03em}
.sec-body{font-size:17px;color:var(--graphite);max-width:38em}
.sec-title + .sec-body{margin-top:26px}
.sec-body p + p{margin-top:18px}

.split{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}
.aside-note{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--paper-card);padding:30px 32px}
.aside-note p{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.4;letter-spacing:-.015em}

.steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--paper-card);margin-top:44px}
.step{padding:30px 28px 34px}
.step + .step{border-left:1px solid var(--line)}
.step h3{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.015em;margin-bottom:12px}
.step h3 .n{color:var(--red)}
.step p{font-size:15px;color:var(--graphite)}
.close-line{margin-top:26px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted)}

.sec-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}

.cta{background:var(--graphite);padding:100px 0}
.cta-in{max-width:660px;margin:0 auto;text-align:center}
.cta .sec-title{color:var(--paper-card)}
.cta .sec-body{color:var(--line);margin-left:auto;margin-right:auto}
.cta .actions{justify-content:center}
.cta .fineprint{color:var(--line);opacity:.72}

.scope-in.two-col{grid-template-columns:1fr auto}

/* ---------- páginas internas ---------- */
.page{padding-bottom:100px}
.page-hero{padding:76px 0 60px}
h1.page-title{font-size:clamp(34px,4.4vw,56px);max-width:15em}

.mod-list{border-top:1px solid var(--line)}
.mod{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;padding:34px 0;border-bottom:1px solid var(--line)}
.mod h2{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em}
.mod p{font-size:16px;color:var(--graphite);max-width:38em}

.callout{background:var(--navy);padding:48px 50px;margin-top:76px}
.callout h2{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,29px);letter-spacing:-.02em;color:var(--paper-card)}
.callout p{margin-top:14px;font-size:16px;color:var(--line);max-width:40em}
.callout .btn{margin-top:28px}
.btn-paper{background:var(--paper-card);color:var(--graphite)}
.btn-paper:hover{background:var(--line)}

.sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.sec-grid > div{background:var(--paper-card);padding:30px 28px}
.sec-grid h2{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.015em;margin-bottom:10px}
.sec-grid p{font-size:15px;color:var(--graphite)}

.email-box{margin-top:60px;border:1px dashed var(--navy);background:var(--paper-card);padding:30px 32px}
.email-box .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--navy)}

.apoio{margin-top:56px;max-width:640px}

/* ---------- rodapé: complemento ---------- */
.foot-base{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;flex-wrap:wrap}
.foot-cookie{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em}

@media (max-width:960px){
  .section{padding:64px 0}
  .split{grid-template-columns:1fr;gap:40px;align-items:start}
  .sec-split{grid-template-columns:1fr;gap:28px}
  .steps{grid-template-columns:1fr}
  .step + .step{border-left:0;border-top:1px solid var(--line)}
  .scope-in.two-col{grid-template-columns:1fr}
  .page-hero{padding:56px 0 44px}
  .mod{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .callout{padding:36px 28px}
  .cta{padding:72px 0}
}
@media (max-width:700px){
  .sec-grid{grid-template-columns:1fr}
}

/* rodapé com seis links: permite quebra de linha em telas estreitas */
.foot-links{flex-wrap:wrap;row-gap:10px}

/* link discreto ao final de um bloco de texto de seção */
.sec-more{margin-top:24px}

/* ---------- sobre.html (v2) ---------- */
.gap-top{margin-top:76px}
.sec-title + .sec-grid{margin-top:40px}
.sec-grid .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.sec-grid h3{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.015em;margin-bottom:10px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.duo-card{display:block;border:1px solid var(--line);background:var(--paper-card);padding:30px 28px;text-decoration:none;transition:border-color .18s}
.duo-card:hover{border-color:var(--red)}
.duo-card .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.duo-card p{font-size:15px;color:var(--graphite)}
@media (max-width:960px){
  .gap-top{margin-top:56px}
}
@media (max-width:700px){
  .duo{grid-template-columns:1fr}
}

/* revelação ao rolar mais lenta e mais suave (ajuste v2; a regra original
   de .js .sr não foi alterada — esta sobrepõe duração e curva) */
.js .sr{transition-duration:1.2s;transition-timing-function:cubic-bezier(.25,.46,.45,.94)}
.js .sr-d1{transition-delay:.18s}
.js .sr-d2{transition-delay:.34s}

/* ==========================================================================
   Fase 3 — respiro. Escala derivada da existente: espaço título→conteúdo
   26→36, título→grade/blocos 40→52, entre seções 76–92→120; padding interno
   de blocos 30x28→40x38. Mobile: 28 / 40 / 80 e 30x26. Regras anteriores
   não foram alteradas — estas sobrepõem.
   ========================================================================== */
.section{padding:120px 0}
.sec-title + .sec-body{margin-top:36px}
.sec-title + .sec-grid{margin-top:52px}
.sec-title + .lede{margin-top:36px}
.steps{margin-top:52px}
.close-line{margin-top:36px}
.gap-top{margin-top:120px}
.sec-grid > div{padding:40px 38px}
.duo{margin-top:52px}
.duo-card{padding:40px 38px}
.page-hero{padding:96px 0 76px}
.mod{padding:44px 0;gap:52px}
.callout{margin-top:120px;padding:56px 58px}
.email-box{margin-top:72px;padding:40px 38px}
.cta{padding:128px 0}
.sec-more{margin-top:36px}

@media (max-width:960px){
  .section{padding:80px 0}
  .sec-title + .sec-body{margin-top:28px}
  .sec-title + .sec-grid{margin-top:40px}
  .sec-title + .lede{margin-top:28px}
  .steps{margin-top:40px}
  .gap-top{margin-top:80px}
  .sec-grid > div{padding:30px 26px}
  .duo{margin-top:40px}
  .duo-card{padding:30px 26px}
  .page-hero{padding:64px 0 52px}
  .mod{padding:32px 0;gap:14px}
  .callout{margin-top:80px;padding:40px 30px}
  .email-box{margin-top:56px;padding:30px 26px}
  .cta{padding:88px 0}
}

/* aviso provisório das páginas legais ainda sem texto */
.aviso-provisorio{margin-top:110px;max-width:560px;border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--paper-card);padding:26px 30px;font-size:16px;color:var(--graphite)}
@media (max-width:960px){
  .aviso-provisorio{margin-top:72px}
}
