/* ==========================================================================
   site-style.css — karel-nobre-child (blog-theme-builder, etapa 7.7)
   Bloco 1: CSS extraido LITERALMENTE de site/index.html (etapas 3 a 7.6).
   Paleta e tipografia NAO foram reescritas: ouro #CCAE30 (so fundo),
   #7C691D (ouro como TEXTO sobre claro, 5.4:1), preto #000000, tinta #0C0407,
   Inter Tight (titulos) + Figtree (corpo), radius 40px.
   ========================================================================== */

:root{
  /* cores do template original + paleta da marca (palette-mapper 2026-07-29) */
  --bg:#FFFFFF;
  --surface:#FAFAFA;
  --white:#FFFFFF;
  --ink:#0C0407;
  --ink-2:#333333;
  --muted:#808080;
  --accent:#CCAE30;       /* paleta.primaria (ouro da logo) — SO como fundo */
  --accent-soft:#F3F1E7;  /* ouro clareado, superficies claras */
  --accent-deep:#000000;  /* paleta.fundo_escuro — canvas escuro */
  --accent-text:#7C691D;  /* ouro escurecido, unico uso seguro como TEXTO sobre claro (5.4:1) */
  --border:#E8E8E8;
  --border-soft:#EFEFEF;
  --chip-bg:#EFEFEF;

  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:40px;
  --radius-xl:40px;
  --radius-pill:100px;

  --container:1400px;

  --font-head:'Inter Tight','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:'Figtree','Inter',-apple-system,BlinkMacSystemFont,sans-serif;

  --sec-pad:100px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:none;background:none;cursor:pointer}

h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;letter-spacing:-0.02em;line-height:1.08}
/* G-05 — headline sem palavra orfa */
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word}

/* G-23 — bandas full-bleed: o wrapper global NAO leva max-width, o clamp fica no .container */
.wrap{max-width:none;width:100%;margin:0 auto}
.container{max-width:var(--container);margin:0 auto;padding:0 40px}

/* ---------- componentes utilitarios ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-pill);
  padding:8px 20px 8px 8px;
}
.eyebrow-ico{
  width:28px;height:28px;border-radius:50%;
  background:var(--accent);color:var(--ink);
  display:flex;align-items:center;justify-content:center;flex:0 0 28px;
}
.eyebrow-ico svg{width:15px;height:15px}
.eyebrow span{
  font-family:var(--font-head);
  font-size:14px;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink);
}
.eyebrow.on-dark{background:rgba(255,255,255,.07);border-color:rgba(204,174,48,.42)}
.eyebrow.on-dark span{color:#FFFFFB}

.btn{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--accent);color:var(--ink);
  font-family:var(--font-head);font-size:15px;font-weight:600;
  padding:16px 30px;border-radius:var(--radius-pill);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(204,174,48,.28)}
.btn svg{width:19px;height:19px;flex:0 0 19px}
.btn-sm{padding:13px 24px;font-size:14px}
.btn-ghost-dark{background:transparent;color:#FFFFFB;border:1px solid rgba(255,255,251,.38)}
.btn-ghost-dark:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}

.sec{padding:var(--sec-pad) 0}
#servicos,#situacoes{padding:60px 0}
#contato{padding:20px 0}
.sec-head{text-align:center;max-width:900px;margin:0 auto}
.sec-head h2{font-size:44px;margin:22px 0 0}
.sec-head p{color:var(--ink-2);margin-top:20px;font-size:17px}

/* nota de build — remover antes do deploy */
.build-note{background:var(--accent-deep);color:#F4E9B8;font-family:var(--font-head);font-size:13px;line-height:1.55;padding:12px 24px;border-bottom:2px dashed var(--accent)}
.build-note b{color:var(--accent)}
.falta{display:inline-block;background:#FFF4CC;color:#6B5300;border:1px dashed #B99A15;border-radius:6px;padding:3px 9px;font-family:var(--font-head);font-size:13px;font-weight:600;line-height:1.45}
.falta-block{display:block;margin-top:14px}

/* animacoes */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.scale-in{opacity:0;transform:scale(.96);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.scale-in.visible{opacity:1;transform:scale(1)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

/* micro-interacao — links in-prose (etapa 6, motion-designer): underline animado discreto.
   Escopo por estrutura (link dentro de p/li), nao por classe de secao especifica — cobre os
   links da 7.6 (situacoes, materias tecnicas, respostas de FAQ) nas 13 paginas de uma vez.
   :not(.btn) exclui CTAs, que ja tem hover proprio (translateY + sombra). */
p a:not(.btn),li a:not(.btn){
  color:var(--accent-text);font-weight:600;text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;
  transition:background-size .35s cubic-bezier(.22,1,.36,1);
}
p a:not(.btn):hover,li a:not(.btn):hover,
p a:not(.btn):focus-visible,li a:not(.btn):focus-visible{background-size:100% 1px}

/* ---------- header ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:var(--white);
  border-bottom:1px solid var(--border-soft);
}
.header-in{
  max-width:var(--container);margin:0 auto;padding:0 40px;
  height:77px;display:flex;align-items:center;justify-content:space-between;gap:40px;
}
.logo{display:flex;align-items:center;gap:12px}
.logo img{width:34px;height:auto;flex:0 0 34px}
.logo-txt{font-family:var(--font-head);font-size:25px;font-weight:700;letter-spacing:-0.03em;line-height:1}
.logo-txt small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-top:4px}
.nav{display:flex;align-items:center;gap:34px}
.nav a{font-size:16px;font-weight:500;color:var(--ink);transition:color .25s;white-space:nowrap}
.nav a:hover{color:var(--accent-text)}
.header-right{display:flex;align-items:center;gap:22px}
.burger{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.burger i{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s}
.burger.open i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open i:nth-child(2){opacity:0}
.burger.open i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.mnav{
  position:fixed;inset:77px 0 auto 0;z-index:99;
  padding:0 20px 20px;
  background:var(--white);
  transform:translateY(-12px);opacity:0;pointer-events:none;
  transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.mnav.open{opacity:1;transform:translateY(0);pointer-events:auto}
.mnav-card{background:var(--accent-deep);border-radius:var(--radius-lg);padding:34px 30px}
.mnav-card a{
  display:block;font-family:var(--font-head);font-size:26px;font-weight:700;
  color:var(--white);padding:11px 0;letter-spacing:-0.02em;
}
.mnav-cta{margin-top:18px;justify-content:center;width:100%}
.mnav-meta{color:rgba(255,255,255,.55);font-size:13px;margin-top:20px;line-height:1.5}

/* ---------- hero canonico full-bleed (G-21 / pipeline/hero-canonico.md) ---------- */
.hero{position:relative;overflow:hidden}
.hero--fullbleed{padding:0;min-height:724px;display:flex;align-items:center;background:var(--ink)}
.hero--fullbleed .hero-bgphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;z-index:0}
.hero--fullbleed .hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,
  rgba(12,4,7,.95) 0%,rgba(12,4,7,.88) 26%,rgba(12,4,7,.62) 48%,rgba(12,4,7,.14) 70%,rgba(12,4,7,.32) 100%)}
.hero--fullbleed .hero-inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,880px);justify-content:start;padding-top:84px;padding-bottom:96px}
.hero--fullbleed h1{font-size:64px;font-weight:700;letter-spacing:-0.035em;line-height:1.08;margin:30px 0 0;max-width:860px;color:#FFFFFB;text-wrap:wrap;text-wrap:pretty}
.hero--fullbleed .hero-lead{color:rgba(255,255,251,.86);margin-top:26px;max-width:680px;font-size:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:34px;color:rgba(255,255,251,.66);font-size:14.5px}
.hero-foot span{display:inline-flex;align-items:center;gap:9px}
.hero-foot i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}

/* ---------- faixa de sinais (adaptada do marquee) ---------- */
.marquee-sec{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:52px 0;background:var(--white)}
.marquee-title{
  text-align:center;font-family:var(--font-head);
  font-size:13px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
}
.marquee{overflow:hidden;margin-top:28px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;align-items:center;gap:56px;width:max-content;animation:slide 38s linear infinite}
.mq-item{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-head);font-size:19px;font-weight:600;letter-spacing:-0.01em;color:var(--ink);white-space:nowrap}
.mq-item::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 9px}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* faixa de sinais: loop infinito, sem interacao de hover (pedido Gustavo 2026-07-29) */
.marquee-track:hover,.marquee:hover .marquee-track{animation-play-state:running}
.mq-item,.mq-item:hover{transition:none;transform:none;cursor:default}

/* ---------- sobre ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:58px}
.about-media img{width:100%;height:560px;object-fit:cover;object-position:center 20%;border-radius:var(--radius-xl)}
.about-body p{color:var(--ink-2)}
.about-body p+p{margin-top:20px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.stat{padding:12px 0}
.stat b{font-family:var(--font-head);font-size:52px;font-weight:700;letter-spacing:-0.03em;display:block;line-height:1}
.stat span{color:var(--ink-2);font-size:17px;line-height:1.3;display:block;margin-top:14px}
.about-body .btn{margin-top:36px}

/* ---------- servicos ---------- */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.svc-left{position:sticky;top:120px}
.svc-left h2{font-size:44px;margin:22px 0 0}
.svc-left p{color:var(--ink-2);margin-top:22px}
.svc-left .btn{margin-top:34px}
.svc-list{display:flex;flex-direction:column;gap:24px}
.svc-card{
  display:block;
  border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:36px;background:var(--white);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s;
}
.svc-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.06);border-color:var(--accent)}
.svc-ico{
  width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.svc-ico svg{width:26px;height:26px}
.svc-card h3{font-size:26px;margin:26px 0 0}
.svc-card p{color:var(--ink-2);font-size:16px;margin-top:14px}
.svc-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--font-head);font-size:14.5px;font-weight:600;color:var(--accent-text)}
.svc-more svg{width:16px;height:16px}

/* ---------- diferenciais (doador: about-grid + numeral do faq) ---------- */
.dif-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;margin-top:56px}
/* foto a direita, lista a esquerda (pedido Gustavo 2026-07-29) */
.dif-media{order:2}
.dif-body{order:1}
.dif-media img{width:100%;height:640px;object-fit:cover;object-position:center 15%;border-radius:var(--radius-xl)}
.dif-item{padding:26px 0;border-bottom:1px solid var(--border-soft);display:flex;gap:24px}
.dif-item:first-child{border-top:1px solid var(--border-soft)}
.dif-num{font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent-text);flex:0 0 38px;padding-top:6px}
.dif-item h3{font-size:22px}
.dif-item p{color:var(--ink-2);font-size:16px;margin-top:10px}

/* ---------- processo (doador: grid de projetos + card de servico + numeral do faq) ---------- */
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.proc-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;background:var(--white);position:relative;overflow:hidden}
.proc-card::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:linear-gradient(180deg,rgba(204,174,48,.18),rgba(204,174,48,0));pointer-events:none}
.proc-num{font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent-text)}
.proc-card h3{font-size:24px;margin-top:18px}
.proc-card p{color:var(--ink-2);font-size:16px;margin-top:14px}
.proc-note{margin-top:26px;text-align:center}

/* ---------- situacoes (compliance-swap do bloco de depoimentos) ---------- */
.dor-list{margin-top:52px}
.dor{border-bottom:1px solid var(--border-soft)}
.dor:first-child{border-top:1px solid var(--border-soft)}
.dor-q{display:flex;align-items:center;gap:22px;padding:20px 0;width:100%;text-align:left}
.dor-idx{
  width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--ink);
  display:flex;align-items:center;justify-content:center;flex:0 0 56px;
  font-family:var(--font-head);font-size:17px;font-weight:700;letter-spacing:-0.01em;
}
.dor-id{flex:1}
.dor-id h3{font-size:21px}
.toggle{
  width:42px;height:42px;border-radius:50%;background:var(--chip-bg);
  display:flex;align-items:center;justify-content:center;flex:0 0 42px;
  transition:background .25s,transform .35s cubic-bezier(.22,1,.36,1);
}
.toggle svg{width:20px;height:20px}
.dor-q:hover .toggle,.faq-q:hover .toggle{background:var(--accent);color:var(--ink)}
.dor-body,.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .4s;
  opacity:0;color:var(--ink-2);
}
.dor.open .dor-body,.faq.open .faq-a{max-height:420px;opacity:1}
.dor.open .toggle,.faq.open .toggle{background:var(--accent);color:var(--ink);transform:rotate(180deg)}
.dor-body p{padding:0 0 24px 78px;font-size:16px}
.dor-body a{color:var(--accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.faq-a p{padding:0 62px 26px 62px}

/* ---------- empresas (doador: about-grid invertido) ---------- */
.emp-sec{background:var(--surface)}
.emp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.emp-media img{width:100%;height:470px;object-fit:cover;object-position:center 22%;border-radius:var(--radius-xl)}
.emp-body h2{font-size:44px;margin:22px 0 0}
.emp-body p{color:var(--ink-2);margin-top:20px}
.emp-body .btn{margin-top:30px}

/* ---------- localizacao (G-14) ---------- */
.loc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:stretch;margin-top:56px}
.loc-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);min-height:520px;background:var(--surface);height:100%;display:flex}
.loc-map iframe{width:100%;flex:1;border:0;display:block}
.loc-card{background:var(--accent-deep);border-radius:var(--radius-lg);padding:44px 40px;height:100%;color:#FFFFFB}
.loc-card h3{font-size:24px;color:#FFFFFB}
.loc-row{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.loc-row:last-of-type{border-bottom:0}
.loc-row b{display:block;font-family:var(--font-head);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.loc-row p{margin-top:8px;color:rgba(255,255,251,.82);font-size:16px}
.loc-card .btn{margin-top:26px}

/* ---------- faq ---------- */
.faq-list{margin-top:52px}
.faq{border-bottom:1px solid var(--border-soft)}
.faq:first-child{border-top:1px solid var(--border-soft)}
.faq-q{display:flex;align-items:center;gap:24px;padding:22px 0;width:100%;text-align:left}
.faq-num{font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent-text);flex:0 0 38px}
.faq-q h3{font-size:21px;flex:1}

/* ---------- cta final ---------- */
.cta-block{
  position:relative;overflow:hidden;
  background:var(--accent-deep);border-radius:var(--radius-lg);
  padding:74px 40px;text-align:center;
}
.cta-logo{display:block;width:88px;height:auto;margin:0 auto 26px}
.cta-block .cta-inner{position:relative;z-index:1}
.cta-block h2{font-size:52px;margin:24px auto 0;max-width:840px;color:var(--white)}
.cta-block .btn{margin-top:34px}
.cta-note{margin-top:22px;color:rgba(255,255,255,.62);font-size:15px}

/* ---------- footer ---------- */
.footer{padding:110px 0 0}
.footer-grid{display:grid;grid-template-columns:2.65fr 1fr 1.5fr;gap:60px}
.footer-brand p{color:var(--ink-2);margin-top:22px;max-width:410px;font-size:16px}
.footer-col{display:flex;flex-direction:column;gap:20px}
.footer-col a,.footer-col span.fcol-t{font-family:var(--font-head);font-size:20px;font-weight:600;letter-spacing:-0.02em;transition:color .25s}
.footer-col a:hover{color:var(--accent-text)}
.footer-social a,.footer-social span{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 0;border-bottom:1px solid var(--border-soft);
}
.footer-social a:first-child,.footer-social span:first-child{border-top:1px solid var(--border-soft)}
.footer-social span.fcol-t{color:var(--muted)}
.footer-social svg{width:17px;height:17px;flex:0 0 17px}
.footer-legal{margin-top:52px;padding-top:26px;border-top:1px solid var(--border-soft);color:var(--ink-2);font-size:14.5px;max-width:920px}
.footer-bottom{
  margin-top:30px;padding:26px 0;border-top:1px solid var(--border-soft);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  color:var(--ink-2);font-size:15px;
}
.footer-bottom .sep{color:var(--border)}
.footer-bottom a{color:var(--accent-text);font-weight:600}

/* ---------- G-10 WhatsApp flutuante ---------- */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;
  width:60px;height:60px;
  background:#25D366;color:#fff;
  border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(0,0,0,.18),0 2px 8px rgba(37,211,102,.32);
  z-index:999;
  transition:transform .25s ease;
}
.whatsapp-float:hover{transform:scale(1.06)}
.whatsapp-float svg{width:32px;height:32px;fill:currentColor}
.whatsapp-float::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  background:rgba(37,211,102,.32);animation:wa-pulse 2.4s ease-out infinite;z-index:-1;
}
@keyframes wa-pulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.6);opacity:0}}

/* ---------- responsivo ---------- */
/* G-07 — faixa notebook 1025-1440 */
@media (min-width:1025px) and (max-width:1440px){
  .hero.hero--fullbleed{min-height:640px}
  .hero--fullbleed .hero-bgphoto{object-position:66% center}
  .hero--fullbleed h1{font-size:56px;max-width:740px}
  .hero--fullbleed .hero-inner{grid-template-columns:minmax(0,760px)}
  .sec-head h2,.svc-left h2,.cta-block h2{font-size:46px}
  .about-media img{height:500px}
  .dif-media img{height:560px}
  .nav{gap:26px}
  .nav a{font-size:15px}
}
/* G-04/tipografia-canonica — resto do desktop FHD (1441-1919), teto 64/48 respeitado */
@media (min-width:1441px) and (max-width:1919px){
  .hero--fullbleed h1{font-size:58px}
  .sec-head h2,.svc-left h2,.cta-block h2{font-size:40px}
}
@media (max-width:1024px){
  :root{--sec-pad:80px}
  .container,.header-in{padding:0 24px}
  .nav{display:none}
  .header-right .btn-sm{display:none}
  .burger{display:flex}
  .about-grid,.svc-grid,.dif-grid,.emp-grid,.loc-grid,.footer-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:1fr}
  .hero.hero--fullbleed{min-height:600px}
  .hero--fullbleed h1{font-size:42px;max-width:100%}
  .hero--fullbleed .hero-inner{grid-template-columns:minmax(0,100%);padding-top:70px;padding-bottom:76px}
  .sec-head h2,.svc-left h2,.cta-block h2{font-size:38px}
  .emp-body h2{font-size:34px}
  .about-media img,.dif-media img,.emp-media img{height:420px}
  .svc-left{position:static}
  .svc-card h3{font-size:20px}
  .stat b{font-size:38px}
  .cta-block{padding:64px 24px}
  .loc-map{min-height:340px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .dor-body p{padding-left:0}
  .faq-a p{padding:0 0 26px}
}
@media (max-width:768px){
  /* hero canonico mobile: foto em bloco no topo, texto no escuro abaixo */
  .hero.hero--fullbleed{display:block;min-height:auto;padding:0;background:var(--ink)}
  .hero--fullbleed .hero-scrim{display:none}
  .hero--fullbleed picture{display:block;line-height:0;position:relative;margin:0}
  .hero--fullbleed picture::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;
    background:linear-gradient(180deg,rgba(12,4,7,0) 0%,rgba(12,4,7,.45) 45%,rgba(12,4,7,.85) 76%,var(--ink) 100%)}
  .hero--fullbleed .hero-bgphoto{position:static;display:block;width:100%;height:auto;aspect-ratio:10/11;object-fit:cover;object-position:center top;margin:0}
  .hero--fullbleed .hero-inner{padding:0 22px 52px;margin-top:-96px}
}
/* G-06 — centralizacao total no telefone */
@media (max-width:640px){
  .container,.header-in{padding:0 22px}
  h1,h2,h3,h4{text-wrap:wrap;text-wrap:pretty}
  /* o tagline da marca quebra em 2 linhas e estoura os 77px do header no telefone */
  .header .logo-txt{font-size:22px}
  .header .logo-txt small{display:none}
  .footer .logo-txt small{font-size:9px;letter-spacing:.12em}
  .hero--fullbleed h1{font-size:37px}
  .hero--fullbleed .hero-inner,.hero-copy{text-align:center}
  .hero--fullbleed .hero-lead{margin-left:auto;margin-right:auto}
  .hero-cta,.hero-foot{justify-content:center;flex-direction:column;align-items:center}
  .hero-cta .btn{width:100%;justify-content:center}
  /* G-responsive-3c — CTAs full-width no telefone (nao so o hero) */
  .about-body .btn,.svc-left .btn,.emp-body .btn,.cta-block .btn,.loc-card .btn{width:100%;justify-content:center}
  .sec-head h2,.svc-left h2,.cta-block h2{font-size:30px}
  .emp-body h2{font-size:28px}
  .svc-left,.about-body,.dif-body,.emp-body,.proc-card,.svc-card{text-align:center}
  .svc-ico,.eyebrow{margin-left:auto;margin-right:auto}
  .eyebrow span{font-size:12px}
  .svc-more{justify-content:center}
  .stats{grid-template-columns:1fr;gap:10px;text-align:center}
  .stat b{font-size:32px}
  .svc-card,.proc-card{padding:22px}
  .dif-item{flex-direction:column;align-items:center;text-align:center;gap:8px}
  .dif-num{flex:none;padding-top:0}
  .dor-q{flex-direction:column;align-items:center;text-align:center;gap:14px}
  .dor-idx{margin-left:auto;margin-right:auto}
  .dor-body p{padding:0 0 22px;text-align:center}
  .svc-card p,.dif-item p,.dor-body p,.loc-row p,.proc-card p{font-size:14px}
  .faq-q{flex-direction:column;align-items:center;text-align:center;gap:12px}
  .faq-q h3{flex:none}
  .faq-num{flex:none}
  .proc-card h3,.loc-card h3{font-size:20px}
  .loc-card{padding:34px 24px;text-align:center}
  .loc-card .btn{width:100%;justify-content:center}
  .footer-grid{text-align:center}
  .footer-brand .logo{justify-content:center}
  .footer-brand p{margin-left:auto;margin-right:auto}
  .footer-col{align-items:center}
  .footer-social a,.footer-social span{width:100%;justify-content:center;gap:10px}
  .footer-legal{margin-left:auto;margin-right:auto;text-align:center}
  .footer-bottom{align-items:center;text-align:center}
  .whatsapp-float{width:54px;height:54px;bottom:18px;right:18px}
  .whatsapp-float svg{width:28px;height:28px}
}
@media (prefers-reduced-motion:reduce){
  .reveal,.scale-in{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
  p a:not(.btn),li a:not(.btn){transition:none}
}

/* ---------- bloco 2: materias tecnicas (etapa 7.5) ---------- */
/* ---------- materias tecnicas (etapa 7.5, G-25) ----------
   Bloco de referencia, nao secao de vitrine: sem banda de fundo propria, sem card,
   sem sombra. Herda o fundo da pagina e se resolve com as mesmas linhas finas do FAQ.
   O texto NAO encolhe e nasce inteiro no HTML: acordeao details/summary nativo, sem JS.
   Cor de texto: --ink-2 (#333333) sobre fundo claro, 12,6:1. Nao usar --muted aqui (3,5:1, reprova AA). */
.mat-sec{padding:0 0 var(--sec-pad)}
.mat-wrap{max-width:880px;margin:0 auto}
.mat-head h2{font-size:22px;line-height:1.3;color:var(--ink-2);margin:0 0 10px}
.mat-head p{font-size:15px;line-height:1.6;color:var(--ink-2);max-width:680px;margin:0 0 26px}
.mat{border-bottom:1px solid var(--border-soft)}
.mat:first-of-type{border-top:1px solid var(--border-soft)}
.mat>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;padding:20px 0}
.mat>summary::-webkit-details-marker{display:none}
.mat>summary h3{font-size:18px;line-height:1.35;flex:1}
.mat>summary:hover .toggle{background:var(--accent);color:var(--ink)}
.mat[open]>summary .toggle{background:var(--accent);color:var(--ink);transform:rotate(180deg)}
.mat-body{padding:0 0 30px;color:var(--ink-2)}
.mat-body h4{font-size:16.5px;line-height:1.35;margin:24px 0 10px;color:var(--ink)}
.mat-body h4:first-child{margin-top:0}
.mat-body p{font-size:15.5px;line-height:1.72;margin:0 0 14px}
.mat-body ul{margin:0 0 18px;padding-left:20px}
.mat-body li{font-size:15.5px;line-height:1.7;margin-bottom:9px}
.mat-body li::marker{color:var(--accent-text)}
@media (max-width:1024px){.mat-wrap{max-width:100%}}
@media (max-width:640px){
  .mat-head{text-align:center}
  .mat-head p{margin-left:auto;margin-right:auto}
  .mat>summary{flex-direction:column;align-items:center;text-align:center;gap:12px}
  .mat>summary h3{flex:none;font-size:17px}
  .mat-body h4{text-align:center}
  .mat-body p,.mat-body li{font-size:15px}
}

/* ==========================================================================
   BLOG (child theme Hello Elementor) — blog-theme-builder, etapa 7.7
   Paleta EXTRAIDA do :root acima, nunca chutada:
     --ink #0C0407 (tinta)   --ink-2 #333333 (texto secundario em fundo claro)
     --accent #CCAE30 (ouro: SO como fundo; o que fica por cima e --ink)
     --accent-text #7C691D (unico uso do ouro como TEXTO sobre claro, 5.4:1)
     --accent-deep #000000 (canvas escuro da marca)   --bg #FFFFFF
   Regra dura deste cliente: titulo em --ink (preto) ou branco sobre preto.
   O ouro fica na badge de categoria, no marcador de lista e no sublinhado dos
   links. Titulo NUNCA recebe cor de destaque.
   ========================================================================== */

.karel-blog-main{background:var(--bg);min-height:60vh}

/* --- POST (single) ------------------------------------------------------ */
.post-single{padding-bottom:8px}
.post-hero{width:100%;background:var(--accent-deep);padding:72px 40px 56px}
/* MEDIDA DE LEITURA (padrao matias 820 / ceres 760; 800 neste cliente):
   titulo, capa e corpo do post na MESMA coluna de 800px, alinhados entre si. */
.post-hero-inner{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:800px;margin-inline:auto}
.post-back{display:inline-flex;align-items:center;gap:8px;width:max-content;font-family:var(--font-body);font-size:15px;font-weight:500;color:rgba(255,255,251,.66);transition:color .25s ease}
.post-back:hover{color:#FFFFFB}
.post-cat-badge{display:inline-flex;align-items:center;background:var(--accent);color:var(--ink);font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 15px;border-radius:var(--radius-pill)}
.post-title{font-family:var(--font-head);font-weight:700;font-size:44px;line-height:1.12;letter-spacing:-0.03em;color:#FFFFFB;margin:2px 0 0;text-wrap:balance}
.post-meta{font-family:var(--font-body);font-size:15px;line-height:1.6;color:rgba(255,255,251,.66)}
.post-meta-sep{margin:0 8px;opacity:.6}

/* CAPA amarrada a largura do corpo (padrao matias/ceres em producao).
   A imagem real nao leva aspect-ratio: a altura vem do max-height + object-fit.
   O que resolve a "imagem gigante" e o max-width igual ao do .post-body-wrap. */
.post-media{width:100%;margin-top:36px}
.post-featured{width:100%;max-width:800px;margin:0 auto;max-height:440px;object-fit:cover;border-radius:var(--radius-lg);display:block}
.post-featured-fallback{width:100%;max-width:800px;margin:0 auto;aspect-ratio:16/7;max-height:440px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent-deep) 0%,#4A3D10 55%,var(--accent) 100%);display:flex;align-items:center;justify-content:center;color:rgba(255,255,251,.78)}
.post-featured-fallback svg{width:72px;height:72px}
@media (max-width:640px){
  .post-featured,.post-featured-fallback{max-height:240px}
  .post-featured-fallback svg{width:52px;height:52px}
}

.post-body-wrap{max-width:800px;margin:0 auto;padding:46px 0 80px}
/* Colisao com o .container do hello-elementor (padrao ceres-vieira): o pai tem
   max-width proprio e sobrepoe. Kill explicito nas TRES caixas da coluna. */
.post-hero-inner.container,.post-media.container,.post-body-wrap.container{max-width:800px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
@media (max-width:880px){
  .post-media.container,.post-body-wrap.container{max-width:none!important;padding-left:24px!important;padding-right:24px!important}
}

.post-body{font-family:var(--font-body);font-size:18px;line-height:1.72;color:var(--ink-2)}
.post-body>*:first-child{margin-top:0}
.post-body h2{font-family:var(--font-head);font-weight:600;font-size:32px;line-height:1.16;letter-spacing:-0.02em;color:var(--ink);margin:46px 0 16px}
.post-body h3{font-family:var(--font-head);font-weight:600;font-size:23px;line-height:1.3;letter-spacing:-0.02em;color:var(--ink);margin:34px 0 12px}
.post-body p{margin:0 0 20px}
.post-body ul,.post-body ol{margin:0 0 24px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.post-body ol{counter-reset:kpost}
.post-body li{position:relative;padding-left:32px;font-size:17px;line-height:1.65;color:var(--ink-2)}
.post-body ul li::before{content:"";position:absolute;left:6px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(204,174,48,.18)}
.post-body ol li{counter-increment:kpost}
.post-body ol li::before{content:counter(kpost);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--font-head);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.post-body a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.post-body a:hover{color:var(--accent-text)}
.post-body strong{color:var(--ink);font-weight:600}
.post-body blockquote{margin:32px 0;padding:24px 28px;background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;font-family:var(--font-head);font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-0.02em;color:var(--ink)}
.post-body blockquote p{margin:0}
.post-body blockquote cite{display:block;margin-top:12px;font-family:var(--font-body);font-style:normal;font-size:14px;font-weight:600;letter-spacing:0;color:var(--ink-2)}
.post-body .post-legal{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:var(--radius-md);padding:18px 22px;font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 22px}
.post-body img{border-radius:var(--radius-md);margin:8px 0 22px}
.post-body table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:16px}
.post-body th,.post-body td{border:1px solid var(--border);padding:12px 14px;text-align:left;color:var(--ink-2)}
.post-body th{background:var(--surface);color:var(--ink);font-weight:600}

.post-footer-cta{margin-top:44px;background:var(--accent-deep);border-radius:var(--radius-lg);padding:44px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.post-footer-cta h3{font-family:var(--font-head);font-weight:600;font-size:28px;line-height:1.16;letter-spacing:-0.02em;color:#FFFFFB;margin:0}
.post-footer-cta p{font-size:17px;line-height:1.6;color:rgba(255,255,251,.78);margin:0 auto 24px 0;max-width:52ch}
.btn-post-cta{background:var(--accent);color:var(--ink)}
.btn-post-cta:hover{background:#E2CB51;color:var(--ink)}
.post-footer-legal{font-size:14px!important;color:rgba(255,255,251,.62);margin:14px 0 0!important}
.post-back-bottom{display:inline-flex;margin-top:32px;color:var(--ink-2)}
.post-back-bottom:hover{color:var(--ink)}

/* --- ARCHIVE (/blog/) --------------------------------------------------- */
.blog-archive-hero{width:100%;background:var(--accent-deep);padding:72px 40px 64px}
/* o pill usa a variante on-dark que JA existe no CSS do site (a mesma do hero
   da home), em vez de uma regra nova: parity garantida, zero divergencia */
.blog-archive-hero .eyebrow{margin-bottom:18px}
.blog-archive-inner{max-width:900px;margin-inline:auto}
.blog-archive-title{font-family:var(--font-head);font-weight:700;font-size:48px;line-height:1.08;letter-spacing:-0.03em;color:#FFFFFB;margin:0 0 16px;text-wrap:balance}
.blog-archive-sub{font-size:18px;line-height:1.6;color:rgba(255,255,251,.78);max-width:68ch}
.blog-archive-wrap{padding:64px 0 96px}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.blog-card{display:flex;flex-direction:column;overflow:hidden;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .3s ease,box-shadow .3s ease}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.06)}
.blog-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--border)}
.blog-card-img{width:100%;height:100%;object-fit:cover}
.blog-card-fallback{width:100%;height:100%;background:linear-gradient(135deg,var(--accent-deep) 0%,#4A3D10 55%,var(--accent) 100%);display:flex;align-items:center;justify-content:center;color:rgba(255,255,251,.78)}
.blog-card-fallback svg{width:48px;height:48px}
.blog-card-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--ink);font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:var(--radius-pill)}
.blog-card-body{padding:26px;display:flex;flex-direction:column;flex:1;gap:12px}
.blog-card-title{font-family:var(--font-head);font-weight:600;font-size:21px;line-height:1.22;letter-spacing:-0.02em;color:var(--ink);margin:0}
.blog-card-excerpt{font-size:16px;line-height:1.6;color:var(--ink-2);flex:1;margin:0}
.blog-card-date{font-size:14px;color:var(--muted);font-weight:500}
.blog-pagination{margin-top:44px}
.blog-pagination .nav-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.blog-pagination a,.blog-pagination .current{padding:10px 18px;border-radius:var(--radius-pill);border:1px solid var(--border);font-size:16px;font-weight:500;color:var(--ink-2)}
.blog-pagination .current{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.blog-empty{text-align:center;color:var(--ink-2);font-size:17px;padding:64px 0}

@media (max-width:1024px){.post-hero,.blog-archive-hero{padding-left:24px;padding-right:24px}}
@media (max-width:860px){
  .post-title{font-size:34px}
  .blog-archive-title{font-size:36px}
  .post-body,.post-body p{font-size:17px}
  .post-body h2{font-size:27px}
  .post-body h3{font-size:21px}
  .post-footer-cta{padding:30px 24px}
  .blog-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .post-hero,.blog-archive-hero{padding-top:56px;padding-bottom:44px}
  .post-footer-cta .btn,.post-footer-cta .btn-post-cta{width:100%;justify-content:center}
}

/* ==========================================================================
   KIT-PROOF do blog (memoria feedback_blog_theme_precisa_bloco_kit_proof_da_home
   + feedback_blog_header_classes_colidem_hello_elementor).
   O tema NAO tem wrapper de escopo: cada default do hello-elementor
   (a{#CC3366}, .site-header clampado, button:hover magenta, white-space:nowrap
   em <button>) e cada heranca do Elementor Global Kit precisa de kill explicito.
   ========================================================================== */

/* heranca de body */
body{color:var(--ink)!important;background:var(--bg)!important;word-spacing:normal!important;line-height:1.55!important;font-family:var(--font-body)!important}

/* bandas em 100%: o hello-elementor clampa header/footer/main */
header.header,footer.footer,main.karel-blog-main,.post-hero,.blog-archive-hero,.post-media{width:100%!important;max-width:none!important;float:none!important}
header.header{position:sticky!important;top:0!important;z-index:100!important;background:var(--white)!important;border-bottom:1px solid var(--border-soft)!important;padding:0!important}
footer.footer{background:var(--white)!important;padding:80px 0 0!important}
.container{max-width:var(--container)!important;margin-left:auto!important;margin-right:auto!important;padding-left:40px!important;padding-right:40px!important}
@media (max-width:640px){.container{padding-left:24px!important;padding-right:24px!important}}
.post-hero .container,.blog-archive-hero .container{padding-left:0!important;padding-right:0!important}

/* links por contexto (o kit pinta <a> herdado de magenta) */
.nav a,.nav a:link,.nav a:visited{color:var(--ink)!important}
.nav a:hover{color:var(--accent-text)!important}
.mnav-card a,.mnav-card a:link,.mnav-card a:visited{color:#FFFFFF!important}
.mnav-card a.btn,.mnav-card a.btn:link,.mnav-card a.btn:visited{color:var(--ink)!important}
.footer-col a,.footer-col a:link,.footer-col a:visited,.footer-social a,.footer-social a:link,.footer-social a:visited{color:var(--ink-2)!important}
.footer-col a:hover,.footer-social a:hover{color:var(--accent-text)!important}
.footer-legal,.footer-bottom,.footer-bottom span{color:var(--muted)!important}
.footer-bottom a,.footer-bottom a:link,.footer-bottom a:visited{color:var(--muted)!important}
.footer-bottom a:hover{color:var(--accent-text)!important}
.logo,.logo:link,.logo:visited,.logo-txt{color:var(--ink)!important}
.footer-brand p{color:var(--ink-2)!important}

/* botoes: ouro e FUNDO, texto sempre --ink (regra deste cliente, 9.3:1).
   CORRIGIDO pelo elementor-prep (7.9) em 2026-07-30 - ARMADILHA B1 / incidente
   gilberto-parada 2026-07-16: a versao anterior tinha `.btn,.btn:link,.btn:visited{
   background:var(--accent)!important;color:var(--ink)!important;border:none!important}`
   na CLASSE BASE. `.btn:link` soma especificidade (0,1,1) e o !important vence
   QUALQUER regra normal - a variante `.btn-ghost-dark{background:transparent;
   color:#FFFFFB;border:1px solid}` (0,1,0, normal, linha 93) perdia e todo botao
   ghost sairia OURO com texto escuro em cima de fundo preto. Agora e POR VARIANTE. */
.btn:not(.btn-ghost-dark),.btn:not(.btn-ghost-dark):link,.btn:not(.btn-ghost-dark):visited{background:var(--accent)!important;color:var(--ink)!important;border:none!important;box-shadow:none!important}
.btn:not(.btn-ghost-dark):hover{background:var(--accent)!important;color:var(--ink)!important;box-shadow:0 10px 26px rgba(204,174,48,.28)!important}
.btn.btn-ghost-dark,.btn.btn-ghost-dark:link,.btn.btn-ghost-dark:visited{background:transparent!important;color:#FFFFFB!important;border:1px solid rgba(255,255,251,.38)!important;box-shadow:none!important}
.btn.btn-ghost-dark:hover{background:transparent!important;color:var(--accent)!important;border-color:var(--accent)!important;box-shadow:none!important}
.btn-post-cta,.btn-post-cta:link,.btn-post-cta:visited{background:var(--accent)!important;color:var(--ink)!important}
.btn-post-cta:hover{background:#E2CB51!important;color:var(--ink)!important}

/* <button> custom: o reset do hello pinta button:hover de magenta e forca nowrap */
.burger,.burger:hover,.burger:focus,.toggle,.toggle:hover{border:none!important;box-shadow:none!important;white-space:normal!important;color:var(--ink)!important}
.burger,.burger:hover,.burger:focus{background:transparent!important}
.burger i{background:var(--ink)!important}
.toggle{background:var(--chip-bg)!important}
.toggle:hover{background:var(--accent)!important;color:var(--ink)!important}

/* menu mobile: painel no topo da pilha, imune a stacking context do Elementor */
.mnav{position:fixed!important;z-index:99999!important;background:var(--white)!important}
.mnav:not(.open){opacity:0!important;pointer-events:none!important}
.mnav.open{opacity:1!important;pointer-events:auto!important}
.mnav-card{background:var(--accent-deep)!important}

/* pseudo parasita do kit em <a> (a seta fantasma).
   ACRESCENTADO pelo elementor-prep (7.9) 2026-07-30: .whatsapp-float e filho DIRETO
   do <body> (fica FORA de header/footer/main/mnav) e escapava da lista - o harness
   pegou a seta "->" colada no botao verde. Mesmo padrao do incidente gilberto B5d:
   blindar o elemento lembrado em vez de enumerar todos. */
header.header a::after,footer.footer a::after,.karel-blog-main a::after,.mnav a::after,
.whatsapp-float::after,a.post-back::after,a.post-back-bottom::after{content:none!important}

/* WhatsApp flutuante: o kit herda cor no fill:currentColor */
.whatsapp-float{background:#25D366!important;color:#fff!important}
.whatsapp-float svg{fill:#fff!important}

/* <img> com tamanho controlado no ambiente Elementor (B3/G-08) */
.logo img{width:34px!important;height:auto!important;max-width:none!important}
.blog-card-img{width:100%!important;height:100%!important;object-fit:cover!important}
.post-featured{width:100%!important;max-width:800px!important;height:auto!important;max-height:440px!important;object-fit:cover!important;margin-left:auto!important;margin-right:auto!important;display:block!important}
.post-featured-fallback{max-width:800px!important;margin-left:auto!important;margin-right:auto!important}

/* TIPOGRAFIA dos artigos TRAVADA (vence body.elementor-kit-XX) */
.post-body{font-size:18px!important;line-height:1.72!important;font-family:var(--font-body)!important;color:var(--ink-2)!important}
.post-body p{font-size:18px!important;line-height:1.72!important;font-family:var(--font-body)!important}
.post-body li{font-size:17px!important;line-height:1.65!important;font-family:var(--font-body)!important}
.post-body h2{font-size:32px!important;line-height:1.16!important;font-family:var(--font-head)!important;color:var(--ink)!important}
.post-body h3{font-size:23px!important;line-height:1.3!important;font-family:var(--font-head)!important;color:var(--ink)!important}
.post-body a,.post-body a:link,.post-body a:visited{color:var(--ink)!important;text-decoration:underline!important;text-decoration-color:var(--accent)!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:600!important}
.post-body a:hover{color:var(--accent-text)!important}
.post-body blockquote{color:var(--ink)!important;background:var(--accent-soft)!important}
/* ACRESCENTADO pelo elementor-prep (7.9) 2026-07-30: o pull-quote dos 5 artigos e
   <blockquote><p>...</p><cite>...</cite></blockquote>. O lock `.post-body p{font-size:18px
   !important;font-family:var(--font-body)!important}` acima batia no <p> DE DENTRO e o
   quote saia 18px Figtree em vez de 20px Inter Tight (regressao do proprio kit-proof da
   7.7, achada pelo harness da 7.9). Re-emitido com seletor mais especifico.
   Sem override no <=860: a enfase do quote e proposital (20px sobre corpo de 17px). */
.post-body blockquote,.post-body blockquote p{font-size:20px!important;line-height:1.45!important;font-family:var(--font-head)!important;font-weight:500!important;letter-spacing:-0.02em!important;color:var(--ink)!important}
.post-body blockquote cite{font-size:14px!important;line-height:1.5!important;font-family:var(--font-body)!important;font-weight:600!important;letter-spacing:0!important;color:var(--ink-2)!important}
.post-title{font-size:44px!important;line-height:1.12!important;font-family:var(--font-head)!important;color:#FFFFFB!important}
.blog-archive-title{font-size:48px!important;line-height:1.08!important;font-family:var(--font-head)!important;color:#FFFFFB!important}
.blog-card-title{font-size:21px!important;line-height:1.22!important;font-family:var(--font-head)!important;color:var(--ink)!important}
.post-cat-badge,.blog-card-badge{background:var(--accent)!important;color:var(--ink)!important}
.post-hero .post-back,.post-hero .post-back:link,.post-hero .post-back:visited{color:rgba(255,255,251,.66)!important}
.post-hero .post-back:hover{color:#FFFFFB!important}
/* ACRESCENTADO pelo elementor-prep (7.9) 2026-07-30: o single.php tem DOIS "Todos os
   artigos" - o do hero (coberto acima) e o do fim do post (.post-back-bottom), que
   fica FORA do .post-hero e saia AZUL do kit. Cor base: var(--ink-2) (linha 580). */
.post-back-bottom,.post-back-bottom:link,.post-back-bottom:visited{color:var(--ink-2)!important}
.post-back-bottom:hover{color:var(--ink)!important}
.post-meta,.blog-archive-sub{color:rgba(255,255,251,.78)!important}
.post-footer-cta h3{color:#FFFFFB!important}
.post-footer-cta p{color:rgba(255,255,251,.78)!important}
a.blog-card,a.blog-card:link,a.blog-card:visited{color:var(--ink)!important}
.blog-card-excerpt{color:var(--ink-2)!important}
.blog-card-date{color:var(--muted)!important}
.blog-pagination a,.blog-pagination a:link,.blog-pagination a:visited{color:var(--ink-2)!important}
.blog-pagination .current{color:var(--ink)!important}
@media (max-width:860px){
  .post-title{font-size:34px!important}
  .blog-archive-title{font-size:36px!important}
  .post-body,.post-body p{font-size:17px!important}
  .post-body h2{font-size:27px!important}
  .post-body h3{font-size:21px!important}
}

/* o <header class="post-hero"> do single nao pode herdar o position:sticky do
   header do site (incidente arakem 2026-07-28) */
.post-single header.post-hero{position:static!important;transform:none!important;opacity:1!important;pointer-events:auto!important}
