* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'IBM Plex Sans',Helvetica,sans-serif; color:#1a1917; background:#f7f5f1; min-height:100vh; -webkit-font-smoothing:antialiased; }
a { color:#1a1917; text-decoration:none; }
a:hover { color:#c0392b; }
::selection { background:#c0392b; color:#fff; }

/* Barra superior: provincia + clima */
.topbar { background:#141412; color:#e8e4dc; }
.topbar-inner { max-width:1320px; margin:0 auto; padding:0 28px; display:flex; align-items:stretch; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.topbar-left { display:flex; align-items:center; gap:14px; padding:10px 0; }
.label { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#8d8880; }
select#provincia { appearance:none; background:#232320; color:#f2efe9; border:1px solid #35342f; border-radius:3px; padding:6px 30px 6px 10px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:600; cursor:pointer; }
.divider { width:1px; height:20px; background:#35342f; }
.clima { display:flex; align-items:baseline; gap:7px; }
.temp { font-size:20px; font-weight:600; letter-spacing:-.02em; }
.cielo { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#8d8880; text-transform:uppercase; letter-spacing:.1em; }
.st-h { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#8d8880; }

/* Cotizaciones */
.cotiz { background:#fff; border-bottom:1px solid #e2ded6; }
.cotiz-inner { max-width:1320px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; gap:18px; }
.cotiz-title { display:flex; flex-direction:column; gap:2px; min-width:104px; }
.cotiz-title .label { font-size:10px; letter-spacing:.16em; }
.cotiz-title .act { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#b3ada3; }
.cotiz-grid { flex:1; display:grid; grid-template-columns:repeat(auto-fit,minmax(148px,1fr)); gap:1px; background:#e2ded6; border:1px solid #e2ded6; }
.cotiz-loading { grid-column:1/-1; background:#fff; padding:14px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:#8d8880; }
.cotiz-item { background:#fff; padding:9px 13px; display:flex; flex-direction:column; gap:5px; }
.cotiz-item .row1 { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cotiz-item .nombre { font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.cotiz-item .variacion { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; }
.cotiz-item .row2 { display:flex; gap:14px; }
.cotiz-item .col { display:flex; flex-direction:column; }
.cotiz-item .col-label { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:#9c968c; }
.cotiz-item .col-val { font-family:'IBM Plex Mono',monospace; font-size:14px; font-weight:500; }
.up { color:#3a7d44; }
.down { color:#c0392b; }
.flat { color:#9c968c; }

/* Header */
header { background:#f7f5f1; border-bottom:2px solid #1a1917; }
.header-top { max-width:1320px; margin:0 auto; padding:30px 28px 16px; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.logo-block { display:flex; flex-direction:column; gap:4px; }
h1.logo { font-family:'Instrument Serif',Georgia,serif; font-size:60px; line-height:.92; letter-spacing:-.02em; font-weight:400; }
.tagline { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#8d8880; }
.header-actions { display:flex; align-items:center; gap:10px; padding-bottom:6px; }
#buscar { border:1px solid #d7d2c8; background:#fff; border-radius:3px; padding:9px 13px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; width:190px; outline:none; color:#1a1917; }
.btn-suscribir { border:none; background:#1a1917; color:#f7f5f1; border-radius:3px; padding:10px 18px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:600; cursor:pointer; }
.btn-suscribir:hover { background:#c0392b; }
nav.secciones { max-width:1320px; margin:0 auto; padding:0 28px 12px; display:flex; gap:22px; flex-wrap:wrap; }
nav.secciones a { font-size:13px; font-weight:600; letter-spacing:.02em; color:#4a4740; border-bottom:2px solid transparent; padding-bottom:2px; }
nav.secciones a:hover { color:#1a1917; border-bottom-color:#c0392b; }

/* Main layout */
main { max-width:1320px; margin:0 auto; padding:28px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:36px; align-items:start; }
.col-main { display:flex; flex-direction:column; gap:30px; min-width:0; }
.section-title { display:flex; align-items:center; gap:12px; }
.section-title .label { font-size:11px; letter-spacing:.18em; color:#c0392b; font-weight:500; }
.section-title .label.dark { color:#1a1917; font-weight:600; }
.line { flex:1; height:1px; background:#dcd7ce; }
.hr { height:1px; background:#dcd7ce; }

.destacada { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:26px; align-items:start; }
.ph { background:#e9e5dd; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ph img { width:100%; height:100%; object-fit:cover; display:block; }
.ph span { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8d8880; }
.ph-main { aspect-ratio:16/10; }
.ph-caption { position:absolute; }
.destacada-body { display:flex; flex-direction:column; gap:12px; }
.kicker { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#c0392b; }
h2.titular { font-family:'Instrument Serif',Georgia,serif; font-size:42px; line-height:1.03; letter-spacing:-.015em; font-weight:400; }
p.bajada { font-size:15px; line-height:1.55; color:#4a4740; }
.meta { display:flex; gap:10px; align-items:center; font-family:'IBM Plex Mono',monospace; font-size:11px; color:#8d8880; }

.grid-secundarias { display:grid; grid-template-columns:repeat(auto-fit,minmax(228px,1fr)); gap:26px; }
.nota { display:flex; flex-direction:column; gap:10px; }
.ph-secundaria { aspect-ratio:3/2; }
.nota .kicker { font-size:10px; }
h3.titulo-sec { font-family:'Instrument Serif',Georgia,serif; font-size:23px; line-height:1.12; font-weight:400; }
p.bajada-sec { font-size:13.5px; line-height:1.5; color:#57534b; }
.hora-sec { font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:#9c968c; }

.two-col { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; }
.lista { display:flex; flex-direction:column; gap:16px; }
.item-ultima { display:grid; grid-template-columns:56px minmax(0,1fr); gap:14px; padding-bottom:14px; border-bottom:1px solid #e6e2da; }
.item-ultima .hora { font-family:'IBM Plex Mono',monospace; font-size:12px; color:#c0392b; padding-top:2px; }
.item-ultima h4 { margin:0; font-size:15px; line-height:1.3; font-weight:600; }
.item-ultima .seccion { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#9c968c; }
.item-leido { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; padding-bottom:14px; border-bottom:1px solid #e6e2da; }
.item-leido .n { font-family:'Instrument Serif',Georgia,serif; font-size:28px; line-height:.9; color:#c9c3b8; }
.item-leido h4 { margin:0; font-size:15px; line-height:1.3; font-weight:600; }

/* Sidebar */
aside { display:flex; flex-direction:column; gap:22px; position:sticky; top:20px; }
.ad-label { font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:#a8a29a; }
.ad-box { background:repeating-linear-gradient(135deg,#ece8e0 0 9px,#e4e0d7 9px 18px); border:1px solid #ddd8cf; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.ad-box span { font-family:'IBM Plex Mono',monospace; color:#8d8880; }
.ad-box .dim { font-size:11px; }
.ad-box .fmt { font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:#a8a29a; }
.newsletter { background:#141412; color:#e8e4dc; padding:20px; display:flex; flex-direction:column; gap:10px; }
.newsletter h4 { font-family:'Instrument Serif',Georgia,serif; font-size:24px; line-height:1.05; font-weight:400; }
.newsletter p { font-size:13px; line-height:1.5; color:#a9a49b; }
#form-newsletter { display:flex; flex-direction:column; gap:10px; }
#email { border:1px solid #35342f; background:#232320; color:#f2efe9; border-radius:3px; padding:9px 11px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; outline:none; }
.btn-nl { border:none; background:#c0392b; color:#fff; border-radius:3px; padding:10px; font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:600; cursor:pointer; }
.btn-nl:hover { background:#a3301f; }

footer { border-top:1px solid #dcd7ce; margin-top:20px; }
.footer-inner { max-width:1320px; margin:0 auto; padding:24px 28px 40px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-family:'IBM Plex Mono',monospace; font-size:11px; color:#8d8880; }

@media (max-width:900px) {
  main { grid-template-columns:1fr; }
  .destacada, .two-col { grid-template-columns:1fr; }
  h1.logo { font-size:44px; }
  h2.titular { font-size:32px; }
}
