/* Nodo — local-newspaper (infraestrutura digital, NÃO Node.js) */
:root{
  --primary:#1E3A8A;
  --accent:#06B6D4;
  --bg:#F0F7FF;
  --text:#0F172A;
  --muted:#334155;
  --line:#C7D6EE;
  --rule:#0F172A;
  --maxw:720px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;
  line-height:1.6;
}
h1,h2,h3,h4{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:800;line-height:1.2;margin:0 0 .4em;letter-spacing:-0.2px}
a{color:var(--primary);text-decoration:underline}
a:hover{color:var(--accent)}
img,svg{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}

/* ---- split header ---- */
.masthead{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:4px double var(--rule);background:var(--bg);max-width:var(--maxw);margin:0 auto;gap:10px}
.masthead .brand{font-weight:900;font-size:34px;letter-spacing:-1px;color:var(--primary);margin:0;line-height:1}
.masthead .brand .dot{color:var(--accent)}
.masthead .meta{text-align:right;font-size:12px;color:var(--muted);line-height:1.4}
.masthead .meta .city{font-weight:700;text-transform:uppercase;letter-spacing:1px}

/* drawer nav */
.menu-btn{background:var(--primary);color:#F0F7FF;border:none;padding:8px 14px;font-weight:700;cursor:pointer;font-size:14px;border-radius:3px}
.drawer{position:fixed;top:0;left:-280px;width:260px;height:100%;background:var(--text);color:#F0F7FF;padding:20px;transition:left .25s ease;z-index:200;overflow-y:auto}
.drawer.on{left:0}
.drawer h4{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 12px}
.drawer a{display:block;color:#F0F7FF;text-decoration:none;padding:9px 0;border-bottom:1px solid #1E3A8A;font-size:16px}
.drawer a:hover{color:var(--accent)}
.drawer .close{position:absolute;top:10px;right:14px;background:none;border:none;color:#F0F7FF;font-size:24px;cursor:pointer}
.overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:150;display:none}
.overlay.on{display:block}
.topnav{border-bottom:1px solid var(--line);background:#fff}
.topnav .wrap{display:flex;align-items:center;gap:14px;padding:8px 18px}
.topnav .date{font-size:12px;color:var(--muted);flex:1}

/* ---- carousel hero ---- */
.hero{margin:22px 0;border-top:2px solid var(--rule);border-bottom:2px solid var(--rule);padding:16px 0;background:#fff}
.hero-slide{display:none}
.hero-slide.on{display:block}
.hero-slide .cat{display:inline-block;background:var(--primary);color:#F0F7FF;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:3px 8px;margin-bottom:8px}
.hero-slide h2{font-size:28px;margin:0 0 6px}
.hero-slide .deck{color:var(--muted);margin:0 0 8px}
.hero-slide .by{font-size:13px;color:var(--muted)}
.hero-dots{display:flex;gap:10px;margin-top:12px}
.hero-dots button{background:none;border:1px solid var(--line);font-weight:700;font-size:13px;width:28px;height:28px;cursor:pointer;border-radius:3px;color:var(--primary)}
.hero-dots button.on{background:var(--accent);border-color:var(--accent);color:var(--text)}

/* ---- editorial-lines cards ---- */
.lines{margin:26px 0}
.lines .head{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--accent);border-bottom:2px solid var(--rule);padding-bottom:6px;margin:0 0 8px}
.line-item{padding:12px 0;border-bottom:1px solid var(--line)}
.line-item:last-child{border-bottom:none}
.line-item .cat{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--primary);letter-spacing:1px}
.line-item h3{font-size:19px;margin:2px 0 4px}
.line-item h3 a{color:var(--text);text-decoration:none}
.line-item h3 a:hover{color:var(--primary)}
.line-item p{font-size:14px;color:var(--muted);margin:0}
.line-item .by{font-size:12px;color:var(--muted);margin-top:3px}

/* two columns under hero */
.col2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
.col2 .blk{border-top:2px solid var(--rule);padding-top:8px}
.col2 h4{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 8px}

/* article */
article.post{margin:22px 0}
.post .cat-tag{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:12px}
.post h1{font-size:32px;margin:6px 0 4px}
.post .deck{font-size:18px;color:var(--muted);margin:0 0 16px;font-weight:400}
.byline{font-size:13px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin:14px 0;display:flex;align-items:center;gap:10px}
.byline img{width:34px;height:34px}
.post-body p{margin:0 0 16px}
.post-body h2{font-size:20px;margin:26px 0 8px;color:var(--primary)}
.factbox{background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);padding:14px;margin:20px 0}
.factbox strong{color:var(--primary)}

/* footer stacked */
footer.foot{border-top:4px double var(--rule);margin-top:40px;background:var(--bg);padding:24px 18px}
.foot .wrap{text-align:center}
.foot .brand{font-weight:900;font-size:22px;color:var(--primary);margin:0 0 6px}
.foot .links{margin:14px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:14px}
.foot .links a{color:var(--text);text-decoration:none}
.foot .links a:hover{text-decoration:underline;color:var(--primary)}
.foot .legal{font-size:12px;color:var(--muted);margin-top:14px}
.foot .legal a{color:var(--muted)}

/* top-strip cookie */
.cookiestrip{background:var(--text);color:#F0F7FF;padding:8px 18px;font-size:13px;text-align:center;display:none}
.cookiestrip.show{display:block}
.cookiestrip a{color:var(--accent)}
.cookiestrip button{background:var(--accent);color:var(--text);border:none;padding:4px 12px;font-weight:700;cursor:pointer;margin-left:8px;border-radius:3px}

@media(max-width:560px){
  .col2{grid-template-columns:1fr}
  .masthead .brand{font-size:28px}
}
