/* ============================================================================
   AMM · Análises — shared theme (NAVY, matches the main site shell)
   Re-skinned to the live site UI: navy ink (#051c2c) on white, blue accent
   (#2b50d8), Newsreader (serif display) + Hanken Grotesk (sans). Aesthetic:
   "central bank annual report". Same class names as before so every analysis
   re-themes by importing this one file. Verdict traffic-light colours stay
   semantic (green/gold/orange/red); the primary brand accent is blue.
   ============================================================================ */

@import url('https://fonts.bunny.net/css?family=hanken-grotesk:400,500,600,700|newsreader:400,400i,500,600&display=swap');

:root{
  /* site shell tokens */
  --navy:#051c2c;
  --navy-2:#0a2a40;
  --bg:#ffffff;
  --ink:#051c2c;          /* headings / strong text */
  --ink-soft:#41525e;     /* body text */
  --ink-faint:#6b7a85;    /* captions / labels */
  --blue:#2b50d8;         /* primary accent */
  --blue-dark:#1f3eae;
  --blue-tint:#e9edfb;
  --gray:#eceef0;
  --gray-2:#f5f6f7;
  --line:#dfe3e7;
  --line-strong:#c9d0d6;

  /* legacy aliases (so existing class/chart references keep working) — remapped to navy */
  --paper:#ffffff;
  --paper-2:#f5f6f7;
  --rule:#dfe3e7;
  --rule-soft:#eceef0;
  --green:#2b50d8;        /* primary accent → blue (was green) */
  --green-soft:#5a78e0;   /* lighter blue */
  --brick:#9C2A23;        /* secondary categorical / negative / "me" highlight */
  --brick-soft:#C66048;
  --gold:#C9A227;         /* secondary categorical / surplus */
  --gold-deep:#9E7C12;
  --good:#1C6A45;         /* semantic positive (verdict green) */
  --shadow:rgba(5,28,44,.14);
  --maxw:1180px;

  /* verdict tones — semantic traffic light, tuned for white */
  --verde:#1C6A45;        /* 🟢 está melhor   */
  --amarelo:#9E7C12;      /* 🟡 está estagnado */
  --laranja:#B5611C;      /* 🟠 está mascarado */
  --vermelho:#9C2A23;     /* 🔴 está pior      */
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink-soft);
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
}
.wrap{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 48px;}
@media(max-width:720px){.wrap{padding:0 22px;}}
a{color:var(--blue);}

/* ---------- back link (to Análises index) ---------- */
.backlink{
  display:inline-flex;align-items:center;gap:8px;margin:26px 0 0;
  font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);text-decoration:none;
}
.backlink:hover{color:var(--blue);}
.backlink .arr{font-size:14px;}

/* ---------- masthead ---------- */
header.masthead{padding:30px 0 28px;border-bottom:1px solid var(--ink);position:relative;}
.kicker{
  font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue);display:flex;gap:14px;align-items:center;flex-wrap:wrap;
}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--blue);display:inline-block;}
.titlerow{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-start;margin:16px 0 0;}
h1{
  font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:clamp(34px,5.6vw,60px);
  line-height:1.04;letter-spacing:-.015em;margin:0;max-width:20ch;color:var(--ink);
}
h1 .em{font-style:italic;font-weight:500;color:var(--blue);}
.standfirst{
  font-size:clamp(17px,2vw,21px);color:var(--ink-soft);max-width:64ch;margin:18px 0 0;line-height:1.5;
}
.standfirst b{color:var(--ink);font-weight:600;}
.byline{
  margin-top:20px;font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;font-weight:500;color:var(--ink-faint);
  letter-spacing:.04em;display:flex;gap:18px;flex-wrap:wrap;align-items:center;
}
.byline .sep{width:18px;height:1px;background:var(--line-strong);}

/* ---------- verdict pill (🟢🟡🟠🔴) + structural/cyclical pill ---------- */
.tagrow{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin:20px 0 0;}
.verdict{
  display:inline-flex;align-items:flex-start;gap:10px;max-width:62ch;
  border:1px solid var(--line);border-left-width:5px;border-radius:4px;
  padding:11px 15px;background:var(--gray-2);
}
.verdict .v-dot{width:13px;height:13px;border-radius:50%;margin-top:4px;flex:none;}
.verdict .v-text{font-size:15px;line-height:1.4;color:var(--ink);}
.verdict .v-text b{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:600;}
.verdict.t-verde   {border-left-color:var(--verde);}    .verdict.t-verde   .v-dot{background:var(--verde);}    .verdict.t-verde   .v-text b{color:var(--verde);}
.verdict.t-amarelo {border-left-color:var(--amarelo);}  .verdict.t-amarelo .v-dot{background:var(--gold);}     .verdict.t-amarelo .v-text b{color:var(--amarelo);}
.verdict.t-laranja {border-left-color:var(--laranja);}  .verdict.t-laranja .v-dot{background:var(--laranja);}  .verdict.t-laranja .v-text b{color:var(--laranja);}
.verdict.t-vermelho{border-left-color:var(--vermelho);} .verdict.t-vermelho .v-dot{background:var(--vermelho);} .verdict.t-vermelho .v-text b{color:var(--vermelho);}

.struct-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fff;
}
.struct-pill .sp-dot{width:7px;height:7px;border-radius:2px;background:var(--ink-faint);}
.struct-pill.estrutural .sp-dot{background:var(--brick);}
.struct-pill.conjuntural .sp-dot{background:var(--blue);}
.struct-pill.misto .sp-dot{background:var(--gold);}

/* ---------- controls (unit / lang toggle) ---------- */
.controls{
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-end;
  padding:22px 0 8px;position:sticky;top:0;z-index:5;
  background:linear-gradient(var(--bg) 72%, transparent);
}
.ctrl-group{display:flex;flex-direction:column;gap:7px;}
.ctrl-label{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden;background:#fff;flex-wrap:wrap;}
.seg button{
  font-family:'Hanken Grotesk',sans-serif;font-size:13.5px;font-weight:600;
  padding:8px 14px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;
  border-right:1px solid var(--line);transition:background .18s,color .18s;white-space:nowrap;
}
.seg button:last-child{border-right:0;}
.seg button:hover{background:var(--gray-2);}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff;}
.seg.lang button[aria-pressed="true"]{background:var(--blue);}

/* ---------- legend ---------- */
.legend{display:flex;gap:18px 26px;flex-wrap:wrap;align-items:center;padding:14px 0 0;font-size:13px;color:var(--ink-soft);}
.legend .it{display:inline-flex;align-items:center;gap:8px;}
.swatch{width:14px;height:14px;border-radius:2px;display:inline-block;}
.swatch.g{background:var(--blue);}
.swatch.b{background:var(--brick);}
.swatch.au{background:var(--gold);}
.swatch.hatch{background:var(--ink-faint);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.85) 0 1.5px,transparent 1.5px 4px);}
.legend .star{font-weight:700;color:var(--brick);}

/* ---------- section headings ---------- */
.sec-head{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:54px 0 0;}
.sec-title{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:clamp(23px,3vw,32px);letter-spacing:-.01em;margin:8px 0 0;color:var(--ink);}
.sec-intro{font-size:15.5px;color:var(--ink-soft);max-width:64ch;margin:12px 0 0;line-height:1.6;}

/* ---------- stat cards ---------- */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0 0;}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c2{grid-template-columns:repeat(2,1fr);}
.card{background:var(--gray-2);border:1px solid var(--line);border-radius:5px;padding:18px 18px 16px;position:relative;overflow:hidden;}
.card .edge{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ink-faint);}
.card.good .edge{background:var(--good);}
.card.warn .edge{background:var(--brick);}
.card.gold .edge{background:var(--gold);}
.card .c-label{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.card .c-val{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:36px;line-height:1;margin:11px 0 3px;letter-spacing:-.01em;color:var(--ink);}
.card .c-val.sm{font-size:28px;}
.card .c-sub{font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;font-weight:500;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.card .c-note{font-size:12.5px;color:var(--ink-soft);line-height:1.45;margin:10px 0 0;}
.card .trend{font-family:'Hanken Grotesk',sans-serif;font-size:11.5px;font-weight:600;margin-top:7px;display:inline-flex;gap:5px;align-items:center;font-variant-numeric:tabular-nums;}
.trend.dn-good{color:var(--good);}
.trend.dn-warn{color:var(--brick);}
.trend.up-good{color:var(--good);}
.trend.up-warn{color:var(--brick);}

/* ---------- comparison panel (peer bars) ---------- */
.compare{margin:22px 0 0;border:1px solid var(--line);border-radius:6px;background:var(--gray-2);padding:20px 22px;}
.compare .cmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.compare .cmp-title{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:19px;color:var(--ink);}
.compare .cmp-unit{font-family:'Hanken Grotesk',sans-serif;font-size:11.5px;font-weight:500;color:var(--ink-faint);letter-spacing:.04em;}
.peer{display:grid;grid-template-columns:128px 1fr auto;gap:12px;align-items:center;margin:14px 0 0;}
.peer .p-name{font-size:14px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.peer.me .p-name{font-weight:700;color:var(--ink);}
.peer .p-track{height:18px;background:var(--gray);border-radius:2px;overflow:hidden;}
.peer .p-fill{display:block;height:100%;background:var(--blue);border-radius:2px;transition:width .6s cubic-bezier(.2,.7,.2,1);}
.peer.me .p-fill{background:var(--brick);}
.peer .p-val{font-family:'Hanken Grotesk',sans-serif;font-size:13.5px;font-weight:600;color:var(--ink);min-width:74px;text-align:right;font-variant-numeric:tabular-nums;}

/* ---------- tooltip (dark navy) ---------- */
.tip{
  position:fixed;z-index:50;pointer-events:none;opacity:0;transform:translateY(4px);
  transition:opacity .14s ease, transform .14s ease;
  max-width:330px;background:var(--navy);color:#fff;
  border-radius:4px;padding:14px 16px 13px;box-shadow:0 14px 40px rgba(5,28,44,.34);
}
.tip.show{opacity:1;transform:translateY(0);}
.tip .t-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between;}
.tip .t-name{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:17px;line-height:1.1;}
.tip .t-flag{font-family:'Hanken Grotesk',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:2px;white-space:nowrap;align-self:center;}
.tip .t-flag.v{background:rgba(90,120,224,.32);color:#cdd8ff;}
.tip .t-flag.a{background:rgba(201,162,39,.26);color:#F2D789;}
.tip .t-big{font-family:'Hanken Grotesk',sans-serif;font-size:25px;font-weight:700;margin:9px 0 2px;font-variant-numeric:tabular-nums;}
.tip .t-conv{font-family:'Hanken Grotesk',sans-serif;font-size:11.5px;color:#9fb0bd;line-height:1.5;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.tip .t-desc{font-size:13px;line-height:1.45;color:#dbe3ea;margin:10px 0 0;}
.tip .t-src{font-size:11px;color:#7d8c98;margin:9px 0 0;border-top:1px solid rgba(255,255,255,.13);padding-top:8px;line-height:1.4;}

/* ---------- prose: myth/fact + how-to ---------- */
.grid2{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;margin:40px 0 0;align-items:start;}
.mythfact{border:1px solid var(--ink);border-radius:6px;overflow:hidden;}
.mf-row{padding:20px 22px;}
.mf-row.myth{background:var(--gray-2);border-bottom:1px solid var(--line);}
.mf-tag{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}
.mf-tag.m{color:var(--brick);}
.mf-tag.f{color:var(--good);}
.mf-tag .mk{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:600;font-size:15px;}
.mf-text{margin:9px 0 0;font-size:16px;line-height:1.5;}
.mf-text.big{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:21px;line-height:1.34;color:var(--ink);}
.howto h3{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:24px;margin:0 0 4px;letter-spacing:-.01em;color:var(--ink);}
.howto p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin:14px 0 0;}
.howto p:first-of-type{margin-top:12px;}
.howto .term{font-weight:600;color:var(--ink);}
.howto .st{color:var(--brick);font-weight:700;}

/* ---------- sources footer ---------- */
footer.sources{margin:56px 0 70px;border-top:1px solid var(--ink);padding-top:26px;}
footer .s-head{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);}
footer ol{margin:18px 0 0;padding:0;list-style:none;counter-reset:s;display:grid;grid-template-columns:1fr 1fr;gap:13px 34px;}
footer ol li{counter-increment:s;font-size:13.5px;color:var(--ink-soft);line-height:1.45;padding-left:30px;position:relative;}
footer ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;color:var(--blue);font-weight:700;}
footer ol li b{color:var(--ink);font-weight:600;}
footer ol li a{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--line);}
footer ol li a:hover{border-color:var(--blue);}
.excl{margin:22px 0 0;font-size:12.5px;color:var(--ink-faint);line-height:1.5;}
.excl b{color:var(--ink-soft);}
.colophon{margin:20px 0 0;font-family:'Hanken Grotesk',sans-serif;font-size:11.5px;color:var(--ink-faint);letter-spacing:.02em;line-height:1.6;}

/* ---------- generic chart shell ---------- */
.chart-shell{margin:24px 0 0;}
.chart-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}
svg.chart{display:block;width:100%;height:auto;font-family:'Hanken Grotesk',sans-serif;}
.axis-eq{text-align:center;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;color:var(--ink-soft);margin:6px 0 0;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.axis-eq b{color:var(--ink);font-weight:700;}

/* approximate/estimated flag */
.star{color:var(--brick);font-weight:700;}

/* ---------- entrance animation ---------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.anim-up{opacity:0;animation:fadeUp .7s cubic-bezier(.2,.7,.2,1) forwards;}

@media (max-width:880px){
  .grid2{grid-template-columns:1fr;}
  .cards,.cards.c3,.cards.c2{grid-template-columns:repeat(2,1fr);}
  footer ol{grid-template-columns:1fr;}
  .controls{position:static;}
  .peer{grid-template-columns:104px 1fr auto;}
}
@media (max-width:520px){
  .cards,.cards.c3{grid-template-columns:1fr;}
  body{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){
  .anim-up{animation:none!important;opacity:1!important;}
  .peer .p-fill{transition:none!important;}
}
