/* ============================================================
   PRONTTIA — STYLES
   ------------------------------------------------------------
   Arquivo único com todo o CSS do site. Componentes (header,
   footer, color-bar) usam estas mesmas classes.
   ============================================================ */

:root{
  --tangerine:#F16F36;
  --tangerine-dark:#d85d27;
  --cotton:#2F63AB;
  --cotton-dark:#264f88;
  --offwhite:#F9F6F2;
  --coal:#2C231F;
  --butter:#FFEC8F;
  --white:#ffffff;

  --border:rgba(44,35,31,0.10);
  --border-strong:rgba(44,35,31,0.18);
  --text-muted:rgba(44,35,31,0.55);
  --text-soft:rgba(44,35,31,0.78);

  --serif:'Source Serif 4', Georgia, serif;
  --sans:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  --max-content:1080px;
  --max-narrow:880px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--offwhite);
  color:var(--coal);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.65;
  font-size:15px;
  text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  background:rgba(249,246,242,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  padding:20px 28px;
  position:sticky;
  top:0;
  z-index:100;
}
.site-header-inner{
  max-width:var(--max-content);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  flex-wrap:wrap;
}
.site-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  height:58px;
}
.site-logo svg{height:100%;width:auto}
.site-nav{
  display:flex;
  gap:32px;
  align-items:center;
}
.site-nav a{
  font-size:14px;
  color:var(--text-soft);
  text-decoration:none;
  font-weight:500;
  letter-spacing:0.1px;
  transition:color .18s;
}
.site-nav a:hover,.site-nav a.active{color:var(--tangerine)}
.site-nav .cta{
  background:var(--coal);
  color:var(--white);
  padding:11px 20px;
  border-radius:8px;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.2px;
  box-shadow:0 6px 18px -4px rgba(44,35,31,0.25);
  transition:background .18s,transform .15s,box-shadow .18s;
}
.site-nav .cta:hover{
  background:var(--tangerine);
  color:var(--white);
  transform:translateY(-1px);
  box-shadow:0 10px 24px -4px rgba(241,111,54,0.35);
}

/* Header em telas pequenas */
@media(max-width:780px){
  .site-header{padding:14px 22px}
  .site-logo{height:42px}
  .site-nav{gap:18px}
  .site-nav a:not(.cta){display:none}
}

/* ============================================================
   COLOR BAR
   ============================================================ */
.color-bar{height:4px;display:flex}
.color-bar .seg{height:100%}
.color-bar .s1{background:var(--tangerine);flex:7}
.color-bar .s2{background:var(--offwhite);flex:1}
.color-bar .s3{background:var(--cotton);flex:5}
.color-bar .s4{background:var(--offwhite);flex:1}
.color-bar .s5{background:var(--butter);flex:3}
.color-bar .s6{background:var(--offwhite);flex:1}
.color-bar .s7{background:var(--coal);flex:2}
.color-bar .s8{background:var(--offwhite);flex:2}
.color-bar .s9{background:var(--tangerine);flex:4}
.color-bar .s10{background:var(--offwhite);flex:1}
.color-bar .s11{background:var(--cotton);flex:6}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{
  background:var(--coal);
  color:rgba(255,255,255,0.82);
  padding:64px 28px 36px;
  margin-top:80px;
}
.site-footer-inner{
  max-width:var(--max-content);
  margin:0 auto;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.footer-brand .footer-logo{
  height:32px;
  margin-bottom:18px;
  display:block;
}
.footer-brand .footer-logo svg{height:100%;width:auto}
.footer-brand p{
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,0.6);
  max-width:280px;
}
.footer-col h4{
  font-size:11px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--butter);
  margin-bottom:14px;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-col a{
  color:rgba(255,255,255,0.7);
  font-size:13px;
  text-decoration:none;
  transition:color .18s;
}
.footer-col a:hover{color:var(--white)}
.footer-bottom{
  padding-top:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  font-size:11.5px;
  color:rgba(255,255,255,0.45);
  line-height:1.7;
}
.footer-bottom strong{color:rgba(255,255,255,0.7);font-weight:700}

@media(max-width:780px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .footer-brand{grid-column:1/-1}
  .site-footer{padding:48px 22px 30px;margin-top:60px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* ============================================================
   TIPOGRAFIA UTILITÁRIA
   ============================================================ */
.eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--tangerine);
}
h1.display{
  font-family:var(--serif);
  font-size:clamp(36px, 4.8vw, 56px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-0.6px;
  color:var(--coal);
}
h2.section-title{
  font-family:var(--serif);
  font-size:clamp(28px, 3.5vw, 42px);
  font-weight:300;
  line-height:1.15;
  letter-spacing:-0.5px;
  color:var(--coal);
}
h3.heading-md{
  font-family:var(--serif);
  font-size:24px;
  font-weight:400;
  line-height:1.3;
  color:var(--coal);
}
.lead{
  font-size:18px;
  color:var(--text-soft);
  line-height:1.65;
}
.serif-italic{
  font-family:var(--serif);
  font-style:italic;
  font-weight:300;
  color:var(--tangerine);
}

/* ============================================================
   BOTÕES
   ============================================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.2px;
  text-decoration:none;
  transition:transform .15s, background .18s, border-color .18s;
  cursor:pointer;
  white-space:nowrap;
}
.btn-primary{
  background:var(--tangerine);
  color:var(--white);
}
.btn-primary:hover{
  background:var(--tangerine-dark);
  transform:translateY(-1px);
}
.btn-secondary{
  background:transparent;
  color:var(--coal);
  border:1.5px solid var(--border-strong);
}
.btn-secondary:hover{border-color:var(--coal)}
.btn-dark{
  background:var(--coal);
  color:var(--white);
}
.btn-dark:hover{
  background:var(--tangerine);
  transform:translateY(-1px);
}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{padding:80px 28px}
.section-narrow{max-width:var(--max-narrow);margin:0 auto}
.section-wide{max-width:var(--max-content);margin:0 auto}

@media(max-width:680px){
  .section{padding:56px 22px}
}

/* ============================================================
   CARDS / CALLOUTS GENÉRICOS
   ============================================================ */
.card{
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:14px;
  padding:28px;
}
.callout{
  background:var(--white);
  border:1.5px solid var(--border);
  border-left:4px solid var(--cotton);
  border-radius:12px;
  padding:20px 24px;
  margin:18px 0 24px;
}
.callout.warning{border-left-color:var(--tangerine)}
.callout.coal{border-left-color:var(--coal)}
.callout-title{
  font-size:11px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--cotton);
  margin-bottom:8px;
}
.callout.warning .callout-title{color:var(--tangerine)}
.callout.coal .callout-title{color:var(--coal)}
.callout p{color:var(--text-soft);font-size:13.5px;line-height:1.7}
.callout p:last-child{margin-bottom:0}
.callout strong{color:var(--coal);font-weight:700}

/* ============================================================
   PROSE (textos longos com estrutura semântica)
   Usado em privacidade, termos, cookies, e posts de conteúdo.
   ============================================================ */
.prose{
  max-width:var(--max-narrow);
  margin:0 auto;
  padding:0 28px 80px;
}
.prose section{margin-bottom:48px;scroll-margin-top:100px}
.prose h2{
  font-family:var(--serif);
  font-size:26px;
  font-weight:400;
  line-height:1.25;
  color:var(--coal);
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1.5px solid var(--border);
  display:flex;
  align-items:baseline;
  gap:14px;
}
.prose h2 .num{
  font-size:11px;
  font-weight:800;
  color:var(--tangerine);
  letter-spacing:1.5px;
  font-family:var(--sans);
  flex-shrink:0;
  font-variant-numeric:tabular-nums;
}
.prose h3{
  font-size:15px;
  font-weight:700;
  color:var(--coal);
  margin:24px 0 10px;
  letter-spacing:-0.1px;
}
.prose p{color:var(--text-soft);margin-bottom:14px;line-height:1.75}
.prose ul{margin:10px 0 16px;padding-left:0;list-style:none}
.prose ul li{
  position:relative;
  padding-left:18px;
  margin-bottom:8px;
  color:var(--text-soft);
  line-height:1.7;
}
.prose ul li::before{
  content:'';
  position:absolute;
  left:4px;
  top:11px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--tangerine);
  opacity:0.7;
}
.prose ul li strong{color:var(--coal);font-weight:700}
.prose a.inline{
  color:var(--tangerine);
  text-decoration:none;
  border-bottom:1px solid rgba(241,111,54,0.3);
}
.prose a.inline:hover{border-bottom-color:var(--tangerine)}

/* TOC card (usado em páginas legais) */
.toc-card{
  max-width:var(--max-narrow);
  margin:0 auto 40px;
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:14px;
  padding:26px 30px;
}
.toc-title{
  font-size:11px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:14px;
}
.toc-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 24px;
  list-style:none;
  counter-reset:toc;
}
.toc-list li{counter-increment:toc;font-size:13px}
.toc-list a{
  color:var(--coal);
  text-decoration:none;
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:6px 0;
  transition:color .18s;
}
.toc-list a::before{
  content:counter(toc, decimal-leading-zero);
  font-size:10px;
  color:var(--tangerine);
  font-weight:800;
  letter-spacing:0.5px;
  flex-shrink:0;
  font-variant-numeric:tabular-nums;
}
.toc-list a:hover{color:var(--tangerine)}

/* Tabela de dados (usada em páginas legais) */
.data-table{
  margin:18px 0 24px;
  border:1.5px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:var(--white);
}
.data-row{
  display:grid;
  grid-template-columns:200px 1fr;
  border-bottom:1px solid var(--border);
}
.data-row:last-child{border-bottom:none}
.data-row .lbl{
  padding:14px 18px;
  background:rgba(241,111,54,0.04);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--coal);
  display:flex;
  align-items:center;
}
.data-row .val{
  padding:14px 18px;
  font-size:13.5px;
  color:var(--text-soft);
  line-height:1.6;
}
.data-row .val strong{color:var(--coal);font-weight:700}

/* Contact box dentro de prose */
.contact-box{
  background:var(--coal);
  color:var(--white);
  border-radius:14px;
  padding:32px 36px;
  margin-top:40px;
}
.contact-box .eyebrow{color:var(--butter);margin-bottom:10px}
.contact-box h3{
  font-family:var(--serif);
  font-size:22px;
  font-weight:300;
  color:var(--white);
  margin-bottom:18px;
  line-height:1.3;
}
.contact-box .contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  font-size:13.5px;
}
.contact-box .contact-grid div{line-height:1.7}
.contact-box .contact-grid .lbl{
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.5);
  margin-bottom:4px;
}
.contact-box .contact-grid a{
  color:var(--butter);
  text-decoration:none;
  border-bottom:1px solid rgba(255,236,143,0.3);
  transition:border-color .18s;
}
.contact-box .contact-grid a:hover{border-color:var(--butter)}

/* Responsivo prose */
@media(max-width:680px){
  .prose{padding:0 22px 60px}
  .prose section h2{font-size:22px;flex-direction:column;gap:6px;align-items:flex-start}
  .toc-card{padding:22px}
  .toc-list{grid-template-columns:1fr}
  .data-row{grid-template-columns:1fr}
  .data-row .lbl{padding:10px 14px}
  .data-row .val{padding:12px 14px}
  .contact-box{padding:26px}
  .contact-box .contact-grid{grid-template-columns:1fr}
}

/* Hero genérico de páginas internas (privacidade, termos, etc) */
.page-hero{
  max-width:var(--max-narrow);
  margin:0 auto;
  padding:64px 28px 32px;
}
.page-hero h1{
  font-family:var(--serif);
  font-size:44px;
  font-weight:300;
  line-height:1.15;
  letter-spacing:-0.5px;
  margin-bottom:18px;
  color:var(--coal);
}
.page-hero .hero-sub{
  font-size:16px;
  color:var(--text-soft);
  max-width:640px;
  line-height:1.7;
}
.page-hero .meta-strip{
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid var(--border);
  display:flex;
  gap:32px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--text-muted);
}
.page-hero .meta-strip strong{color:var(--coal);font-weight:700;letter-spacing:0.3px}
.page-hero .eyebrow{margin-bottom:14px}

@media(max-width:680px){
  .page-hero{padding:40px 22px 24px}
  .page-hero h1{font-size:32px}
  .page-hero .meta-strip{gap:18px}
}

/* ============================================================
   BLOG / CONTEÚDO
   ============================================================ */

/* Hero da página de listagem */
.blog-hero{
  max-width:var(--max-content);
  margin:0 auto;
  padding:80px 28px 56px;
}
.blog-hero-inner{max-width:780px}
.blog-hero .eyebrow{margin-bottom:18px;display:block}
.blog-hero h1{
  font-family:var(--serif);
  font-size:clamp(36px, 4.6vw, 54px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-0.6px;
  color:var(--coal);
  margin-bottom:22px;
}
.blog-hero h1 em{font-style:italic;color:var(--tangerine);font-weight:300}
.blog-hero p{
  font-size:18px;
  color:var(--text-soft);
  line-height:1.65;
  max-width:660px;
}
@media(max-width:680px){
  .blog-hero{padding:48px 22px 40px}
}

/* Filtros / pilares editoriais */
.blog-pillars{
  max-width:var(--max-content);
  margin:0 auto;
  padding:0 28px 32px;
}
.blog-pillars-inner{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  border-top:1px solid var(--border);
  padding-top:24px;
}
.pillar-tag{
  padding:8px 14px;
  border:1.5px solid var(--border);
  border-radius:30px;
  font-size:12px;
  font-weight:600;
  color:var(--text-soft);
  text-decoration:none;
  background:var(--white);
  transition:border-color .18s, color .18s, background .18s;
}
.pillar-tag:hover, .pillar-tag.active{
  border-color:var(--tangerine);
  color:var(--tangerine);
  background:rgba(241,111,54,0.04);
}
@media(max-width:680px){
  .blog-pillars{padding:0 22px 24px}
}

/* Grid de posts */
.blog-grid{
  max-width:var(--max-content);
  margin:0 auto;
  padding:32px 28px 80px;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:32px;
}
.blog-grid.empty{
  padding:48px 28px 96px;
  text-align:center;
}
@media(max-width:780px){
  .blog-grid{grid-template-columns:1fr;gap:20px;padding:24px 22px 60px}
}

/* Card de post */
.post-card{
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.post-card:hover{
  transform:translateY(-4px);
  border-color:var(--tangerine);
  box-shadow:0 20px 40px -12px rgba(241,111,54,0.15);
}
.post-card-image{
  width:100%;
  aspect-ratio:16/9;
  background:linear-gradient(135deg, rgba(241,111,54,0.08), rgba(47,99,171,0.08));
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.post-card-image .placeholder-mark{
  font-family:var(--serif);
  font-size:48px;
  font-weight:300;
  font-style:italic;
  color:var(--tangerine);
  opacity:0.4;
}
.post-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-card-body{
  padding:24px 26px 26px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
.post-card-meta{
  display:flex;
  gap:12px;
  align-items:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--text-muted);
}
.post-card-meta .pillar{color:var(--tangerine);font-weight:800}
.post-card-meta .dot{
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--text-muted);
}
.post-card h2{
  font-family:var(--serif);
  font-size:22px;
  font-weight:400;
  line-height:1.25;
  color:var(--coal);
  letter-spacing:-0.2px;
}
.post-card .excerpt{
  font-size:14px;
  line-height:1.6;
  color:var(--text-soft);
  flex:1;
}
.post-card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:14px;
  border-top:1px solid var(--border);
  font-size:12px;
  color:var(--text-muted);
}
.post-card-footer .read-more{
  font-weight:700;
  color:var(--coal);
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:color .18s, gap .15s;
}
.post-card:hover .read-more{
  color:var(--tangerine);
  gap:8px;
}

/* Estado vazio (quando não tem posts) */
.empty-state{
  max-width:560px;
  margin:0 auto;
  padding:60px 30px;
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:20px;
  text-align:center;
}
.empty-state .icon{
  font-family:var(--serif);
  font-size:56px;
  font-weight:300;
  font-style:italic;
  color:var(--tangerine);
  line-height:1;
  margin-bottom:16px;
}
.empty-state h3{
  font-family:var(--serif);
  font-size:24px;
  font-weight:400;
  color:var(--coal);
  margin-bottom:10px;
}
.empty-state p{
  font-size:14px;
  color:var(--text-soft);
  line-height:1.6;
}

/* ============ POST INDIVIDUAL ============ */

/* Hero do post */
.post-hero{
  max-width:780px;
  margin:0 auto;
  padding:60px 28px 40px;
}
.post-hero-meta{
  display:flex;
  gap:14px;
  align-items:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:22px;
}
.post-hero-meta .pillar{color:var(--tangerine);font-weight:800}
.post-hero-meta .dot{
  width:3px;height:3px;border-radius:50%;
  background:var(--text-muted);
}
.post-hero h1{
  font-family:var(--serif);
  font-size:clamp(32px, 4.5vw, 48px);
  font-weight:300;
  line-height:1.15;
  letter-spacing:-0.5px;
  color:var(--coal);
  margin-bottom:22px;
}
.post-hero h1 em{font-style:italic;color:var(--tangerine);font-weight:300}
.post-hero .post-lead{
  font-family:var(--serif);
  font-size:20px;
  font-weight:400;
  line-height:1.55;
  color:var(--text-soft);
  margin-bottom:28px;
}
.post-hero-author{
  display:flex;
  gap:14px;
  align-items:center;
  padding-top:24px;
  border-top:1px solid var(--border);
}
.post-hero-author img{
  width:44px;
  height:44px;
  border-radius:50%;
  object-fit:cover;
}
.post-hero-author .author-info{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.post-hero-author .author-name{
  font-size:13px;
  font-weight:700;
  color:var(--coal);
}
.post-hero-author .author-role{
  font-size:11px;
  color:var(--text-muted);
  letter-spacing:0.3px;
}

/* Corpo do post */
.post-body{
  max-width:720px;
  margin:0 auto;
  padding:0 28px 60px;
}
.post-body > *{margin-bottom:22px}
.post-body p{
  font-size:17px;
  line-height:1.75;
  color:var(--coal);
}
.post-body p strong{font-weight:700;color:var(--coal)}
.post-body p em{
  font-style:italic;
  color:var(--text-soft);
}
.post-body h2{
  font-family:var(--serif);
  font-size:30px;
  font-weight:400;
  line-height:1.25;
  color:var(--coal);
  margin-top:48px;
  margin-bottom:18px;
  letter-spacing:-0.3px;
}
.post-body h3{
  font-family:var(--serif);
  font-size:22px;
  font-weight:400;
  line-height:1.3;
  color:var(--coal);
  margin-top:36px;
  margin-bottom:14px;
}
.post-body ul, .post-body ol{
  padding-left:0;
  list-style:none;
}
.post-body ul li, .post-body ol li{
  position:relative;
  padding-left:26px;
  margin-bottom:10px;
  font-size:17px;
  line-height:1.7;
  color:var(--coal);
}
.post-body ul li::before{
  content:'';
  position:absolute;
  left:6px;
  top:13px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--tangerine);
}
.post-body ol{counter-reset:ol-list}
.post-body ol li{counter-increment:ol-list}
.post-body ol li::before{
  content:counter(ol-list, decimal-leading-zero);
  position:absolute;
  left:0;
  top:1px;
  font-size:12px;
  font-weight:800;
  color:var(--tangerine);
  font-variant-numeric:tabular-nums;
}
.post-body blockquote{
  border-left:3px solid var(--tangerine);
  padding:6px 0 6px 26px;
  margin:32px 0;
  font-family:var(--serif);
  font-size:22px;
  font-weight:300;
  font-style:italic;
  line-height:1.45;
  color:var(--coal);
}
.post-body a{
  color:var(--tangerine);
  text-decoration:none;
  border-bottom:1px solid rgba(241,111,54,0.3);
}
.post-body a:hover{border-bottom-color:var(--tangerine)}
.post-body .stat{
  background:var(--white);
  border:1.5px solid var(--border);
  border-left:4px solid var(--tangerine);
  border-radius:10px;
  padding:18px 22px;
  margin:24px 0;
}
.post-body .stat .num{
  font-family:var(--serif);
  font-size:32px;
  font-weight:300;
  color:var(--tangerine);
  line-height:1;
  margin-bottom:6px;
  letter-spacing:-0.5px;
}
.post-body .stat p{
  font-size:14px;
  color:var(--text-soft);
  margin:0;
  line-height:1.5;
}
.post-body .source{
  font-size:13px;
  color:var(--text-muted);
  font-style:italic;
}

@media(max-width:680px){
  .post-hero{padding:40px 22px 28px}
  .post-body{padding:0 22px 48px}
  .post-body p, .post-body ul li, .post-body ol li{font-size:16px}
  .post-body h2{font-size:26px;margin-top:36px}
  .post-body blockquote{font-size:19px}
}

/* CTA newsletter no fim do post */
.post-newsletter{
  max-width:720px;
  margin:48px auto 0;
  padding:40px 32px;
  background:var(--coal);
  color:var(--white);
  border-radius:20px;
}
.post-newsletter .eyebrow{color:var(--butter);margin-bottom:14px;display:block}
.post-newsletter h3{
  font-family:var(--serif);
  font-size:26px;
  font-weight:300;
  color:var(--white);
  margin-bottom:12px;
  letter-spacing:-0.3px;
  line-height:1.25;
}
.post-newsletter p{
  font-size:14.5px;
  line-height:1.6;
  color:rgba(255,255,255,0.78);
  margin-bottom:24px;
}
.newsletter-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.newsletter-form input{
  flex:1;
  min-width:200px;
  padding:13px 18px;
  border-radius:10px;
  border:1.5px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06);
  color:var(--white);
  font-size:14px;
  font-family:var(--sans);
}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.45)}
.newsletter-form input:focus{
  outline:none;
  border-color:var(--butter);
  background:rgba(255,255,255,0.1);
}
.newsletter-form button{
  padding:13px 24px;
  background:var(--tangerine);
  color:var(--white);
  border:none;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.3px;
  cursor:pointer;
  transition:background .18s,transform .15s;
}
.newsletter-form button:hover{
  background:var(--tangerine-dark);
  transform:translateY(-1px);
}
.newsletter-helper{
  font-size:11px;
  color:rgba(255,255,255,0.5);
  margin-top:14px;
  line-height:1.5;
}
@media(max-width:680px){
  .post-newsletter{margin:32px auto 0;padding:30px 24px;border-radius:16px}
  .newsletter-form{flex-direction:column}
}

/* Próximos posts (rodapé) */
.related-posts{
  max-width:var(--max-content);
  margin:0 auto;
  padding:80px 28px 0;
}
.related-posts h3{
  font-family:var(--serif);
  font-size:24px;
  font-weight:400;
  color:var(--coal);
  margin-bottom:24px;
  text-align:center;
}
@media(max-width:680px){
  .related-posts{padding:48px 22px 0}
}

/* ============================================================
   SEÇÃO COMUNIDADE (home + sobre)
   ============================================================ */
.community-section{
  padding:80px 28px 60px;
  max-width:var(--max-content);
  margin:0 auto;
}
.community-card{
  background:var(--coal);
  color:var(--white);
  border-radius:24px;
  padding:64px 56px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:56px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.community-card::before{
  content:'';
  position:absolute;
  top:-100px;
  right:-100px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(241,111,54,0.18), transparent 70%);
  pointer-events:none;
}
.community-text{position:relative;z-index:1}
.community-text .eyebrow{color:var(--butter);margin-bottom:14px;display:block}
.community-text h2{
  font-family:var(--serif);
  font-size:clamp(28px, 3.5vw, 38px);
  font-weight:300;
  line-height:1.2;
  color:var(--white);
  letter-spacing:-0.4px;
  margin-bottom:16px;
}
.community-text h2 em{font-style:italic;color:var(--butter);font-weight:300}
.community-text p{
  font-size:16px;
  line-height:1.65;
  color:rgba(255,255,255,0.78);
  max-width:460px;
}
.community-form-wrap{position:relative;z-index:1}
.community-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.community-form input{
  width:100%;
  padding:15px 18px;
  border-radius:10px;
  border:1.5px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06);
  color:var(--white);
  font-size:14px;
  font-family:var(--sans);
  transition:border-color .15s, background .15s;
}
.community-form input::placeholder{color:rgba(255,255,255,0.45)}
.community-form input:focus{
  outline:none;
  border-color:var(--butter);
  background:rgba(255,255,255,0.1);
}
.community-form button{
  width:100%;
  padding:15px 24px;
  background:var(--tangerine);
  color:var(--white);
  border:none;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.3px;
  cursor:pointer;
  transition:background .18s,transform .15s,box-shadow .18s;
  margin-top:4px;
  box-shadow:0 8px 24px -6px rgba(241,111,54,0.4);
}
.community-form button:hover{
  background:var(--tangerine-dark);
  transform:translateY(-1px);
  box-shadow:0 12px 30px -6px rgba(241,111,54,0.5);
}
.community-helper{
  font-size:11.5px;
  color:rgba(255,255,255,0.45);
  margin-top:14px;
  line-height:1.5;
}
.community-helper a{
  color:var(--butter);
  text-decoration:none;
  border-bottom:1px solid rgba(255,236,143,0.3);
}

@media(max-width:880px){
  .community-section{padding:56px 22px 40px}
  .community-card{
    grid-template-columns:1fr;
    gap:36px;
    padding:44px 32px;
    border-radius:20px;
  }
}
@media(max-width:480px){
  .community-card{padding:36px 26px}
}
