/* ============================================================
   INVENTÁRIO EM BELO HORIZONTE — sistema editorial (jornal)
   On-brand H. G. Santos: P&B + bronze · ITC Blair (masthead) +
   Playfair Display (manchetes) + Source Serif (corpo) + Helvetica (rótulos)
   ============================================================ */
@font-face{
  font-family:'ITC Blair';
  src:url('fonts/ITCBlair-Light.ttf') format('truetype');
  font-weight:100 900;font-style:normal;font-display:swap;
}

:root{
  --paper:#ffffff;
  --ink:#0a0a0a;
  --ink-2:#222;
  --mut:#5f5f5f;
  --bronze:#8a7345;
  --bronze-line:#b39463;
  --hair:rgba(0,0,0,.14);
  --hair-2:rgba(0,0,0,.08);
  --rule:#000;

  --mast:'ITC Blair','Times New Roman',serif;       /* masthead / marca */
  --display:'Playfair Display',Georgia,'Times New Roman',serif; /* manchetes */
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;     /* corpo editorial */
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;           /* rótulos/nav/CTA */

  --maxw:1180px;
  --gut:clamp(1.1rem,4vw,2.6rem);
  --ease:cubic-bezier(.16,1,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:var(--serif);color:var(--ink);background:var(--paper);
  line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;width:100%;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.serif{font-family:var(--serif)}

/* textura jornal: leve creme/grão no fundo */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---------- rótulos / kicker ---------- */
.kicker,.label{font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.24em;font-size:.66rem;color:var(--bronze)}
.dateline{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;
  font-size:.64rem;color:var(--mut)}
.rule{height:1px;background:var(--rule);border:0}
.rule-bronze{height:2px;background:var(--bronze-line);border:0}
.hair{height:1px;background:var(--hair);border:0}

/* ================= TOPO / FAIXA DE DATA ================= */
.ribbon{border-bottom:1px solid var(--hair);background:var(--paper)}
.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;
  padding-block:.5rem;font-family:var(--sans);text-transform:uppercase;
  letter-spacing:.16em;font-size:.6rem;color:var(--mut)}
.ribbon b{color:var(--ink);font-weight:700}

/* ================= MASTHEAD ================= */
.masthead{text-align:center;padding:1.6rem var(--gut) 1.1rem;border-bottom:2px solid var(--ink)}
.masthead .eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.4em;
  font-size:.62rem;color:var(--bronze);margin-bottom:.7rem}
.masthead h1,.masthead .name{font-family:var(--mast);font-weight:400;text-transform:uppercase;
  letter-spacing:.1em;line-height:.98;font-size:clamp(1.6rem,5.6vw,3.4rem);color:var(--ink)}
.masthead .name .dot{color:var(--bronze)}
.masthead .strap{font-family:var(--serif);font-style:italic;color:var(--mut);
  font-size:.95rem;margin-top:.7rem}

/* ================= NAV ================= */
.topnav{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid var(--ink)}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:.6rem}
.topnav .brand{font-family:var(--mast);text-transform:uppercase;letter-spacing:.14em;
  font-size:.92rem;color:var(--ink);white-space:nowrap}
.topnav .brand .dot{color:var(--bronze)}
.topnav nav{display:flex;gap:1.5rem}
.topnav nav a{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;
  font-size:.66rem;font-weight:600;color:var(--ink);opacity:.72;transition:opacity .25s,border-color .25s;
  border-bottom:1px solid transparent;padding-bottom:2px}
.topnav nav a:hover,.topnav nav a.active{opacity:1;border-bottom-color:var(--bronze)}
.topnav .tel{font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;color:var(--bronze);font-weight:700}
@media(max-width:860px){.topnav nav{display:none}}

/* ================= HERO / MANCHETE DE CAPA ================= */
.lead-story{padding-block:clamp(1.8rem,4vw,3rem)}
.lead-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.4rem,4vw,3rem);align-items:center}
.lead-grid .figure{position:relative;background:#000;aspect-ratio:4/3;overflow:hidden;order:2}
.lead-grid .figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.28) brightness(.92)}
.lead-cap{font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);margin-top:.5rem}
.lead-head{font-family:var(--display);font-weight:800;line-height:1.04;letter-spacing:-.01em;
  font-size:clamp(2rem,5.2vw,3.7rem);margin:.6rem 0 1rem}
.lead-head em{font-style:italic;font-weight:700}
.lead-deck{font-size:1.08rem;color:var(--ink-2);line-height:1.55;max-width:46ch}
.lead-meta{margin-top:1rem}
@media(max-width:820px){.lead-grid{grid-template-columns:1fr}.lead-grid .figure{order:-1;aspect-ratio:16/10}}

/* ================= GRADE DE CHAMADAS (capa) ================= */
.section-bar{display:flex;align-items:center;gap:1rem;margin:2.4rem 0 1.3rem}
.section-bar .label{white-space:nowrap}
.section-bar .hair{flex:1}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.story-grid .card{padding:1.4rem 1.5rem;border-top:1px solid var(--ink);border-right:1px solid var(--hair)}
.story-grid .card:nth-child(3n){border-right:0}
.card .num{font-family:var(--mast);color:var(--bronze);font-size:1.1rem;letter-spacing:.08em}
.card .ttl{font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.14;margin:.5rem 0 .5rem}
.card p{font-size:.92rem;color:var(--mut);line-height:1.5}
.card .more{display:inline-block;margin-top:.7rem;font-family:var(--sans);text-transform:uppercase;
  letter-spacing:.16em;font-size:.62rem;font-weight:700;color:var(--ink);border-bottom:1px solid var(--bronze-line);padding-bottom:2px}
.card:hover .ttl{color:#000}
@media(max-width:780px){.story-grid{grid-template-columns:1fr}
  .story-grid .card{border-right:0}}

/* dois-em-linha (relacionados, listas) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:2px solid var(--ink)}
.duo .card{border-right:1px solid var(--hair)}
.duo .card:last-child{border-right:0}
@media(max-width:680px){.duo{grid-template-columns:1fr}.duo .card{border-right:0}}

/* ================= ARTIGO (corpo editorial) ================= */
.article{padding-block:clamp(1.4rem,3vw,2.4rem)}
.article-head{max-width:760px;margin-inline:auto;text-align:center;padding-bottom:1.4rem;border-bottom:1px solid var(--ink)}
.article-head .kicker{display:block;margin-bottom:.8rem}
.article-head h1{font-family:var(--display);font-weight:800;line-height:1.05;letter-spacing:-.01em;
  font-size:clamp(1.9rem,4.6vw,3.1rem)}
.article-head .deck{font-family:var(--serif);font-style:italic;color:var(--mut);font-size:1.12rem;
  margin-top:.9rem}
.article-head .meta{margin-top:1rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.figure-wide{margin:1.6rem auto;max-width:980px;background:#000;aspect-ratio:16/7;overflow:hidden}
.figure-wide img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.22) brightness(.95)}
.figcap{font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);text-align:center;margin-top:.5rem}

.prose{max-width:680px;margin-inline:auto}
.prose .answer{font-family:var(--serif);font-size:1.22rem;line-height:1.55;color:var(--ink);
  border-left:3px solid var(--bronze-line);padding-left:1.2rem;margin:1.6rem 0}
.prose .answer .first{font-weight:600}
.prose h2{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);
  line-height:1.16;margin:2.4rem 0 .9rem;padding-top:1.6rem;border-top:1px solid var(--hair)}
.prose h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  font-size:.95rem;margin:1.6rem 0 .6rem}
.prose p{font-size:1.06rem;line-height:1.72;margin-bottom:1.1rem;color:var(--ink-2)}
.prose p .lead-in{font-family:var(--mast);float:left;font-size:3.2rem;line-height:.82;
  padding:.05em .14em 0 0;color:var(--ink)}
.prose ul,.prose ol{margin:0 0 1.2rem 1.2rem}
.prose li{font-size:1.04rem;line-height:1.6;margin-bottom:.5rem;color:var(--ink-2)}
.prose strong{color:var(--ink);font-weight:600}
.prose a.intext{border-bottom:1px solid var(--bronze-line)}
.prose a.intext:hover{background:rgba(179,148,99,.12)}

/* tabela editorial */
.table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.98rem}
.table caption{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;
  color:var(--mut);text-align:left;margin-bottom:.6rem}
.table th{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;
  text-align:left;padding:.7rem .8rem;border-bottom:2px solid var(--ink);color:var(--ink)}
.table td{padding:.7rem .8rem;border-bottom:1px solid var(--hair);vertical-align:top;line-height:1.45}
.table tr td:first-child{font-weight:600}

/* destaque/quote */
.pull{font-family:var(--display);font-style:italic;font-weight:700;font-size:1.5rem;line-height:1.25;
  color:var(--ink);border-top:2px solid var(--bronze-line);border-bottom:2px solid var(--bronze-line);
  padding:1.2rem 0;margin:1.8rem 0;text-align:center}

/* barras de custo (ilustração própria, sem stock) */
.costbars{margin:1.4rem 0}
.costbars .row{display:grid;grid-template-columns:9rem 1fr auto;gap:.8rem;align-items:center;
  padding:.55rem 0;border-bottom:1px solid var(--hair-2);font-family:var(--sans);font-size:.78rem;letter-spacing:.03em}
.costbars .bar{height:10px;background:linear-gradient(90deg,#111,#333)}
.costbars .bar.b{background:linear-gradient(90deg,var(--bronze),var(--bronze-line))}
.costbars .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.costbars .val{font-weight:700;color:var(--ink)}

/* ================= CTAs ================= */
.btn-cta{display:inline-flex;align-items:center;gap:.8rem;background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-weight:600;font-size:.86rem;letter-spacing:.04em;
  padding:1rem 1.7rem;border:1px solid var(--bronze-line);cursor:pointer;text-align:left;transition:gap .35s var(--ease)}
.btn-cta .ico{color:var(--bronze-line);display:inline-flex;flex:none;transition:transform .35s var(--ease)}
.btn-cta .ico svg{width:17px;height:17px;display:block}
.btn-cta:hover{gap:1.1rem}.btn-cta:hover .ico{transform:translateX(5px)}
.btn-cta:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.btn-cta--ghost{background:transparent;color:var(--ink)}
.btn-cta--ghost .ico{color:var(--bronze)}
.btn-cta--ghost:hover{background:var(--ink);color:var(--paper)}
.cta-row{display:flex;justify-content:center;margin:1.8rem 0}
.cta-row.left{justify-content:flex-start}
@media(max-width:680px){.btn-cta{width:100%;justify-content:flex-start;padding:1.05rem 1.3rem}}

/* ================= BLOCO ATENDIMENTO (NAP+mapa) ================= */
.local{background:#0a0a0a;color:#fff;margin-top:2.4rem}
.local .wrap{padding-block:2.4rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.local .label{color:var(--bronze-line)}
.local h2{font-family:var(--display);font-weight:700;font-size:1.7rem;line-height:1.1;margin:.6rem 0 1rem;color:#fff}
.local .nap{font-family:var(--serif);font-size:.98rem;line-height:1.85;color:#e7e7e7}
.local .nap b{color:#fff}
.local .map{aspect-ratio:16/10;border:1px solid #333;filter:grayscale(1) contrast(1.05)}
.local .map iframe{width:100%;height:100%;border:0}
.local .btn-cta{margin-top:1.2rem;background:#fff;color:#0a0a0a}
.local .btn-cta:hover{background:#f0ece4}
@media(max-width:760px){.local .wrap{grid-template-columns:1fr}}

/* ================= RELACIONADOS ================= */
.related{padding-block:2rem}
.related a{display:block}

/* ================= RODAPÉ ================= */
.foot{border-top:2px solid var(--ink);background:var(--paper);padding-block:2.4rem;margin-top:0}
.foot .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot .mast{font-family:var(--mast);text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem}
.foot .mast .dot{color:var(--bronze)}
.foot p,.foot a{font-family:var(--serif);font-size:.86rem;line-height:1.7;color:var(--mut)}
.foot h4{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;
  font-weight:700;color:var(--ink);margin-bottom:.7rem}
.foot a:hover{color:var(--ink);border-bottom:1px solid var(--bronze-line)}
.foot .legal{border-top:1px solid var(--hair);margin-top:1.8rem;padding-top:1.2rem;
  font-family:var(--sans);font-size:.62rem;letter-spacing:.06em;line-height:1.7;color:var(--mut);text-transform:uppercase}
.foot .oab{color:var(--bronze);font-weight:700}
@media(max-width:760px){.foot .grid{grid-template-columns:1fr}}

/* ================= WIDGET FLUTUANTE ================= */
.wa-float{position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:200;
  width:56px;height:56px;border-radius:50%;background:#0a0a0a;border:1px solid var(--bronze-line);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .5s var(--ease),transform .5s var(--ease),background .3s}
.wa-float.show{opacity:1;transform:none;pointer-events:auto}
.wa-float:hover{background:#1a1a1a}
.wa-float svg{width:26px;height:26px;color:#fff}

@media (prefers-reduced-motion:reduce){.wa-float{transition:none}}

/* utilidades */
.center{text-align:center}
.mut{color:var(--mut)}
.updated{font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
