/* TI & Afins News — identidade derivada de tieafins.com.br
   ver docs/identidade-visual.md */

@font-face{font-family:Orbitron;src:url(fonts/Orbitron-700.woff2)format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Orbitron;src:url(fonts/Orbitron-900.woff2)format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-400.woff2)format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-500.woff2)format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-600.woff2)format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Rajdhani;src:url(fonts/Rajdhani-700.woff2)format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Space Mono';src:url(fonts/SpaceMono-400.woff2)format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Mono';src:url(fonts/SpaceMono-700.woff2)format('woff2');font-weight:700;font-display:swap}

:root{
  --bg:#020617; --surface:#0f172a; --border:#1e293b;
  --cyan:#22d3ee; --cyan-dark:#06b6d4; --cyan-light:#67e8f9; --purple:#c084fc;
  /* gradiente da logo oficial (</> ciano para verde) */
  --brand-a:#0891b2; --brand-b:#06d6a0;
  --t1:#f1f5f9; --t2:#cbd5e1; --t3:#94a3b8;
  --wrap:760px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--t2);
  font-family:Rajdhani,system-ui,sans-serif;font-size:20px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(34,211,238,.35)}
a:hover{border-bottom-color:var(--cyan)}
a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ---------- topo ---------- */
header.top{border-bottom:1px solid var(--border);background:rgba(2,6,23,.9);
  position:sticky;top:0;backdrop-filter:blur(8px);z-index:10}
/* faixa fina com o gradiente da logo, no topo de tudo */
header.top::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--brand-a) 0%,var(--brand-b) 38%,transparent 100%)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;
  padding-top:18px;padding-bottom:18px;gap:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:13px;
  font-family:Orbitron,sans-serif;font-weight:700;font-size:19px;
  letter-spacing:.13em;color:var(--t1);border:0}
.logo img{width:38px;height:38px;display:block;flex-shrink:0}
.logo i{font-style:normal;color:var(--cyan)}
.logo b{font-weight:700}
.logo span{display:block;font-family:'Space Mono',monospace;font-size:11px;
  letter-spacing:.22em;color:var(--t3);margin-top:4px;font-weight:400}
nav a{font-family:'Space Mono',monospace;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--t3);border:0;margin-left:22px}
nav a:hover{color:var(--cyan)}

/* ---------- hero ---------- */
.hero{padding:72px 0 56px;border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(34px,6vw,52px);font-weight:700;color:var(--t1);
  line-height:1.08;letter-spacing:-.015em;max-width:16ch}
.hero p{font-size:21px;margin-top:22px;max-width:56ch}
.hero .kicker{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:20px}

/* ---------- lista de notícias ---------- */
.feed{padding:56px 0 80px}
.feed h2{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--t3);margin-bottom:28px}
.card{display:block;border:1px solid var(--border);border-left:3px solid var(--cyan);
  background:var(--surface);padding:28px 30px;margin-bottom:20px;color:inherit}
.card:hover{border-color:var(--cyan);border-left-color:var(--cyan);background:#111d33}
.card .meta{font-family:'Space Mono',monospace;font-size:13px;color:var(--t3);
  letter-spacing:.08em;margin-bottom:12px}
.card .meta b{color:var(--cyan);font-weight:400}
.card h3{font-size:27px;font-weight:700;color:var(--t1);line-height:1.2;margin-bottom:10px}
.card p{font-size:19px;color:var(--t2)}

/* ---------- artigo ---------- */
article{padding:56px 0 80px}
article .meta{font-family:'Space Mono',monospace;font-size:13px;color:var(--t3);
  letter-spacing:.08em;margin-bottom:22px}
article h1{font-size:clamp(32px,5.5vw,46px);font-weight:700;color:var(--t1);
  line-height:1.1;letter-spacing:-.015em;margin-bottom:20px}
article .lead{font-size:23px;color:var(--t2);border-left:3px solid var(--cyan);
  padding-left:22px;margin-bottom:44px}
article h2{font-size:29px;font-weight:700;color:var(--t1);margin:48px 0 18px;
  line-height:1.2}
article h2 .num{font-family:'Space Mono',monospace;font-size:15px;color:var(--cyan);
  display:block;letter-spacing:.16em;margin-bottom:8px;font-weight:400}
article h3{font-size:22px;font-weight:700;color:var(--t1);margin:32px 0 10px}
article p{margin-bottom:18px}
article strong{color:var(--t1);font-weight:600}
article ul{margin:0 0 20px 22px}
article li{margin-bottom:10px}

/* tabela de valores */
.tbl{width:100%;border-collapse:collapse;margin:26px 0;font-size:18px}
.tbl th{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--t3);text-align:left;font-weight:400;
  padding:12px 14px;border-bottom:1px solid var(--border)}
.tbl td{padding:14px;border-bottom:1px solid var(--border);vertical-align:top}
.tbl td:first-child{color:var(--t1);font-weight:500}
.tbl .val{font-family:'Space Mono',monospace;white-space:nowrap;font-size:16px}
.tbl .old{color:var(--t3)}
.tbl .pct{font-weight:700;color:var(--cyan);white-space:nowrap}
.tbl tr:hover td{background:rgba(15,23,42,.6)}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* caixas */
.box{background:var(--surface);border:1px solid var(--border);
  border-top:3px solid var(--cyan);padding:24px 26px;margin:28px 0}
.box.warn{border-top-color:var(--purple)}
.box .lbl{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.box.warn .lbl{color:var(--purple)}
.box p+p{margin-top:19px}
.box p:last-child{margin-bottom:0}

/* fontes */
.sources{margin-top:52px;padding-top:32px;border-top:1px solid var(--border)}
.sources h2{margin-top:0}
.sources ol{margin-left:20px;font-size:18px}
.sources li{margin-bottom:16px;color:var(--t2)}
.sources .kind{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--t3);display:block;margin-bottom:4px}

/* nota de correção */
.correction{font-size:17px;color:var(--t3);border-left:3px solid var(--purple);
  padding-left:18px;margin-top:36px}

/* ---------- rodapé ---------- */
footer{border-top:1px solid var(--border);padding:40px 0;
  font-family:'Space Mono',monospace;font-size:13px;color:var(--t3);
  letter-spacing:.06em}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:var(--t3);border:0}
footer a:hover{color:var(--cyan)}

@media (max-width:640px){
  body{font-size:19px}
  .hero{padding:48px 0 40px}
  article{padding:40px 0 60px}
  nav a{margin-left:0;margin-right:18px}
  header.top .wrap{padding-top:16px;padding-bottom:16px}
}
