  :root{
    --paper:#FFFFFF;
    --paper-2:#FAF7F3;
    --ink:#1A1A1A;
    --ink-soft:#444444;
    --brick:#E8730B;
    --brick-dark:#C55F08;
    --gold:#E8730B;
    --stone:#6B6B6B;
    --line:#E7E3DC;
    --whatsapp:#25D366;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Public Sans", sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:"Fraunces", serif;
    font-weight:500;
    color:var(--ink);
    line-height:1.15;
    margin:0;
  }
  p{margin:0;}
  a{color:inherit;}
  ul{margin:0;padding:0;list-style:none;}
  img,svg{display:block;max-width:100%;}

  .wrap{max-width:1120px;margin:0 auto;padding:0 28px;}
  .prose{max-width:640px;}

  :focus-visible{outline:2px solid var(--brick);outline-offset:3px;}

  /* Header */
  header{
    position:sticky;top:0;z-index:40;
    background:var(--paper);
    border-bottom:1px solid var(--line);
  }
  .header-row{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;
  }
  .logo{
    font-family:"Fraunces", serif;
    font-size:1.15rem;
    font-weight:600;
    letter-spacing:0.01em;
    text-decoration:none;
  }
  .logo span{color:var(--brick);}
  nav.primary-nav{display:flex;align-items:center;gap:32px;}
  nav.primary-nav a{
    text-decoration:none;
    font-size:0.95rem;
    color:var(--ink-soft);
    border-bottom:1px solid transparent;
    padding-bottom:2px;
    transition:border-color .15s ease, color .15s ease;
  }
  nav.primary-nav a:hover{color:var(--brick);border-color:var(--brick);}
  .header-actions{display:flex;align-items:center;gap:18px;}
  .btn-whatsapp{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--ink);color:var(--paper);
    padding:10px 18px;
    text-decoration:none;
    font-size:0.9rem;font-weight:600;
    border:1px solid var(--ink);
    transition:background .15s ease, color .15s ease;
  }
  .btn-whatsapp:hover{background:var(--brick);border-color:var(--brick);}
  .btn-whatsapp svg{width:16px;height:16px;flex:none;}

  .nav-toggle{display:none;}
  .nav-toggle-label{display:none;}

  /* Hero */
  .hero{
    padding:88px 0 76px;
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;
  }
  .eyebrow-plain{
    font-size:0.9rem;color:var(--stone);
    margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2.1rem, 3.4vw, 3.1rem);
    max-width:16ch;
    animation:rise .7s ease both;
  }
  @keyframes rise{
    from{opacity:0;transform:translateY(14px);}
    to{opacity:1;transform:translateY(0);}
  }
  .hero p.lede{
    margin-top:22px;font-size:1.08rem;color:var(--ink-soft);max-width:46ch;
  }
  .hero-cta{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--brick);color:var(--paper);
    padding:14px 26px;text-decoration:none;font-weight:600;font-size:0.95rem;
    border:1px solid var(--brick);
    transition:background .15s ease;
  }
  .btn-primary:hover{background:var(--brick-dark);}
  .btn-secondary{
    padding:14px 26px;text-decoration:none;font-weight:600;font-size:0.95rem;
    color:var(--ink);border:1px solid var(--ink);
    transition:background .15s ease, color .15s ease;
  }
  .btn-secondary:hover{background:var(--ink);color:var(--paper);}

  .hero-art{border:1px solid var(--line);padding:24px;background:var(--paper-2);}
  .hero-art svg{width:100%;height:auto;color:var(--ink-soft);}

  /* Sections */
  section{padding:72px 0;border-bottom:1px solid var(--line);}
  section:last-of-type{border-bottom:none;}
  .section-head{max-width:640px;margin-bottom:44px;}
  .section-head h2{font-size:clamp(1.5rem,2.2vw,2rem);}
  .section-head p{margin-top:14px;color:var(--ink-soft);}

  /* Tipos */
  .types-row{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
  }
  .type-card{
    padding:32px 28px 0;
    border-right:1px solid var(--line);
  }
  .type-card:last-child{border-right:none;}
  .type-card svg{width:46px;height:46px;color:var(--brick);margin-bottom:20px;}
  .type-card h3{font-size:1.15rem;margin-bottom:10px;}
  .type-card p{color:var(--ink-soft);font-size:0.96rem;}

  /* Guia - passos */
  .steps{border-top:1px solid var(--line);}
  .step{
    display:grid;grid-template-columns:64px 1fr;gap:24px;
    padding:26px 0;border-bottom:1px solid var(--line);
  }
  .step:last-child{border-bottom:none;}
  .step-num{
    font-family:"Fraunces", serif;font-size:1.6rem;color:var(--gold);
    line-height:1;
  }
  .step h3{font-size:1.05rem;margin-bottom:8px;}
  .step p{color:var(--ink-soft);max-width:56ch;}

  /* Regiões */
  .region-list{
    display:flex;flex-wrap:wrap;gap:0;
    margin-top:28px;border-top:1px solid var(--line);border-left:1px solid var(--line);
  }
  .region-list li{
    padding:12px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    font-size:0.95rem;color:var(--ink-soft);
  }

  /* FAQ */
  details{border-bottom:1px solid var(--line);padding:20px 0;}
  details:first-of-type{border-top:1px solid var(--line);}
  summary{
    cursor:pointer;font-family:"Fraunces", serif;font-size:1.05rem;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    list-style:none;
  }
  summary::-webkit-details-marker{display:none;}
  summary::after{
    content:"+";font-family:"Public Sans", sans-serif;color:var(--brick);
    font-size:1.4rem;flex:none;transition:transform .2s ease;
  }
  details[open] summary::after{content:"–";}
  details p{margin-top:14px;color:var(--ink-soft);max-width:60ch;}

  /* CTA final */
  .cta-band{background:var(--ink);color:var(--paper);border-bottom:none;}
  .cta-band .wrap{
    display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;
  }
  .cta-band h2{color:var(--paper);font-size:clamp(1.5rem,2.4vw,2.1rem);max-width:20ch;}
  .cta-band .cta-actions{display:flex;gap:16px;flex-wrap:wrap;}
  .cta-band .btn-primary{border-color:var(--brick);}
  .cta-band .btn-secondary{border-color:var(--paper);color:var(--paper);}
  .cta-band .btn-secondary:hover{background:var(--paper);color:var(--ink);}

  /* Footer */
  footer{padding:44px 0;}
  .footer-row{
    display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;
  }
  footer .brand{font-family:"Fraunces", serif;font-size:1.05rem;margin-bottom:6px;}
  footer .fine{color:var(--stone);font-size:0.88rem;line-height:1.7;}
  footer .fine a{text-decoration:underline;text-decoration-color:var(--line);}

  /* WhatsApp flutuante */
  .float-whatsapp{
    position:fixed;right:22px;bottom:22px;z-index:50;
    width:56px;height:56px;border-radius:50%;
    background:var(--whatsapp);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.22);
    text-decoration:none;
  }
  .float-whatsapp svg{width:28px;height:28px;color:#fff;}

  @media (prefers-reduced-motion: reduce){
    .hero h1{animation:none;}
    html{scroll-behavior:auto;}
  }

  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-art{order:-1;}
    .types-row{grid-template-columns:1fr;}
    .type-card{border-right:none;border-bottom:1px solid var(--line);padding-bottom:28px;}
    .type-card:last-child{border-bottom:none;}
    .cta-band .wrap{flex-direction:column;align-items:flex-start;}
  }

  @media (max-width:760px){
    nav.primary-nav{
      position:absolute;top:76px;left:0;right:0;
      background:var(--paper);border-bottom:1px solid var(--line);
      flex-direction:column;align-items:flex-start;gap:0;
      max-height:0;overflow:hidden;
      transition:max-height .25s ease;
    }
    nav.primary-nav a{padding:14px 28px;width:100%;border-bottom:1px solid var(--line);}
    .nav-toggle:checked ~ nav.primary-nav{max-height:320px;}
    .nav-toggle-label{
      display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px;
    }
    .nav-toggle-label span{width:22px;height:2px;background:var(--ink);display:block;}
    .header-actions .nav-label-text{display:none;}
  }

/* ===== Blog / artigos ===== */
.breadcrumbs{
  padding:16px 0;border-bottom:1px solid var(--line);
}
.breadcrumbs .wrap{display:flex;gap:10px;flex-wrap:wrap;font-size:0.86rem;color:var(--stone);}
.breadcrumbs a{text-decoration:none;color:var(--stone);}
.breadcrumbs a:hover{color:var(--brick);}
.breadcrumbs span.sep{color:var(--line);}

.blog-hero{padding:64px 0 48px;border-bottom:1px solid var(--line);}
.blog-hero h1{font-size:clamp(1.9rem,3vw,2.6rem);max-width:18ch;}
.blog-hero p{margin-top:18px;color:var(--ink-soft);max-width:56ch;font-size:1.05rem;}

.post-grid{border-top:1px solid var(--line);}
.post-card{
  display:grid;grid-template-columns:140px 1fr;gap:28px;
  padding:30px 0;border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;
}
.post-card:last-child{border-bottom:none;}
.post-tag{
  font-size:0.82rem;color:var(--brick);padding-top:4px;
}
.post-card h2{font-size:1.25rem;margin-bottom:8px;transition:color .15s ease;}
.post-card:hover h2{color:var(--brick);}
.post-card p{color:var(--ink-soft);font-size:0.96rem;max-width:56ch;}
.post-card .read-more{display:inline-block;margin-top:10px;font-size:0.9rem;font-weight:600;color:var(--ink);border-bottom:1px solid var(--ink);}
.post-card:hover .read-more{color:var(--brick);border-color:var(--brick);}

@media (max-width:640px){
  .post-card{grid-template-columns:1fr;gap:8px;}
}

/* Artigo individual */
.article-header{padding:56px 0 40px;border-bottom:1px solid var(--line);}
.article-meta{display:flex;gap:14px;align-items:center;font-size:0.86rem;color:var(--stone);margin-bottom:18px;}
.article-meta .post-tag{padding-top:0;}
.article-header h1{font-size:clamp(1.9rem,3.2vw,2.7rem);max-width:22ch;}
.article-header p.dek{margin-top:20px;color:var(--ink-soft);font-size:1.08rem;max-width:56ch;}

.article-body{padding:56px 0;}
.article-body .prose h2{
  font-size:1.35rem;margin-top:40px;margin-bottom:16px;
}
.article-body .prose h2:first-child{margin-top:0;}
.article-body .prose p{color:var(--ink-soft);margin-bottom:16px;font-size:1.02rem;}
.article-body .prose ul{margin:16px 0 22px;}
.article-body .prose ul li{
  color:var(--ink-soft);padding:10px 0 10px 22px;position:relative;border-top:1px solid var(--line);
}
.article-body .prose ul li:last-child{border-bottom:1px solid var(--line);}
.article-body .prose ul li::before{
  content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--brick);
}
.article-body .prose strong{color:var(--ink);}
.article-body .pull{
  border-left:2px solid var(--brick);
  padding:4px 0 4px 22px;margin:28px 0;
  font-family:"Fraunces", serif;font-size:1.15rem;color:var(--ink);
  max-width:56ch;
}

.cta-box{
  background:var(--paper-2);border:1px solid var(--line);
  padding:32px;margin-top:12px;
}
.cta-box h3{font-size:1.15rem;margin-bottom:18px;}
.cta-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px;}
.cta-details div span{display:block;font-size:0.78rem;color:var(--stone);margin-bottom:4px;}
.cta-details div strong{font-weight:600;font-size:0.96rem;}
@media (max-width:560px){.cta-details{grid-template-columns:1fr;}}

.related{padding:44px 0 72px;}
.related h3{font-size:1.1rem;margin-bottom:22px;}
.related-list{border-top:1px solid var(--line);}
.related-list li{border-bottom:1px solid var(--line);}
.related-list a{
  display:block;padding:18px 0;text-decoration:none;color:var(--ink);
  font-family:"Fraunces", serif;font-size:1.05rem;
  transition:color .15s ease;
}
.related-list a:hover{color:var(--brick);}

/* ===== Financiamento CAIXA ===== */
.finance-grid{
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:start;
}
.feature-list{border-top:1px solid var(--line);margin-top:26px;}
.feature-list li{
  padding:14px 0 14px 22px;position:relative;color:var(--ink-soft);
  border-bottom:1px solid var(--line);
}
.feature-list li::before{
  content:"";position:absolute;left:0;top:23px;width:8px;height:1px;background:var(--brick);
}
.finance-box{
  background:var(--paper-2);border:1px solid var(--line);padding:32px;
}
.finance-box .kicker{
  display:inline-block;font-size:0.8rem;color:var(--brick);
  border:1px solid var(--brick);padding:4px 12px;margin-bottom:18px;
}
.finance-box h3{font-size:1.2rem;margin-bottom:12px;}
.finance-box p{color:var(--ink-soft);margin-bottom:24px;}

@media (max-width:900px){
  .finance-grid{grid-template-columns:1fr;}
}
