@font-face{font-family:"Source Serif 4";src:url('/assets/fonts/source-serif-4-latin-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-2015,U+2018-201F,U+2026,U+20AC}
@font-face{font-family:"Source Serif 4";src:url('/assets/fonts/source-serif-4-latin-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-2015,U+2018-201F,U+2026,U+20AC}
:root {
  --ink: #0a2540;
  --sea: #0c6478;
  --paper: #f7f5f0;
  --gold: #e8aa42;
  --muted: #526170;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font:
    16px/1.55 system-ui,
    sans-serif;
}
h1,h2{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-weight:600;hyphens:auto;overflow-wrap:break-word;text-wrap:balance}
.text-only h1,.text-only h2{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.news-head {
  background: var(--ink);
  padding: 14px max(5vw, 20px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.news-head img {
  object-fit: contain;
}
.news-head a {
  color: white;
}
main,
footer {
  max-width: 1180px;
  margin: auto;
  padding: 36px 20px;
}
.eyebrow,
.category {
  letter-spacing: 0.12em;
  font-size: 0.75rem;
  font-weight: 800;
}
.masthead {border-bottom:1px solid #b9c0c5;padding:2.5rem 0 2rem}
.masthead h1 {font-size:clamp(2.3rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.018em;max-width:950px;margin:.35rem 0 1rem}
.masthead a,.subscribe {color:var(--ink);font-weight:750}
.intro {
  max-width: 700px;
  font-size: 1.15rem;
}
.news-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 28px 0;
}
.news-tabs a,
.lane {
  padding: 7px 12px;
  border-radius: 999px;
  text-decoration: none;
}
.news-tabs a {
  border: 1px solid #789;
}
.news-tabs a[aria-current="page"] {
  background: var(--ink);
  color: white;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin: clamp(26px, 4vw, 44px) 0;
}
.news-card {
  background: white;
  border-top: 4px solid var(--ink);
  overflow: hidden;
}
.news-card figure {
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: #dfe4e6;
}
.news-card figure > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.image-credit {
  margin: 6px 12px;
  color: #42566a;
  font-size: 0.68rem;
  line-height: 1.3;
}
.news-body {
  padding: clamp(17px, 2.4vw, 24px);
}
.news-card h2 {
  line-height: 1.12;
}
.news-card header > h2 {
  font-size: 1.4rem;
}
.news-card h2 {font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.012em;margin:.65rem 0}
.summary {color:#273d51;margin:.6rem 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.news-card h2 a {
  color: var(--ink);
}
.news-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  border-top-width:6px;
  max-height: min(620px, calc(100svh - 150px));
}
.news-hero figure {aspect-ratio:auto;min-height:0;height:100%}
.news-hero .news-body {display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}
.news-hero h2 {
  font-size: clamp(1.7rem, 3.3vw, 2.75rem);
  line-height:1.1;
}
.news-hero .summary {font-size:1.08rem}
.news-meta {margin:0}
.lane {
  font-size: 0.7rem;
  color: white;
  background: var(--sea);
  margin-right: 8px;
}
.lane-normativo {
  background: #8b2e2e;
}
.lane-cuba {
  background: #6b4b16;
}
.lane-mundo {
  background: #156b54;
}
.news-source {
  font-size: 0.85rem;
  color: #42566a;
}
.piece-kind {align-self:flex-start;display:inline-block;background:#152333;color:white;font-size:.68rem;font-weight:800;letter-spacing:.09em;padding:.3rem .5rem;margin:0 0 .65rem}
.news-card:not(.news-hero) h2 {font-size:clamp(1.25rem,2vw,1.75rem)}
.source-rows {padding-left:1.2rem}.source-rows li{margin:.55rem 0;overflow-wrap:anywhere}
.norm-band {display:flex;gap:1rem;align-items:center;background:#7b2229;color:white;padding:12px 16px;margin:26px 0 20px}
.norm-band a {color:white;font-weight:700}
.news-pagination {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-top:1px solid #aeb7bd;padding:1rem 0;margin:1rem 0 2rem;font-size:.82rem;color:var(--muted)}
.news-pagination a {color:var(--ink);text-decoration:underline;text-underline-offset:.2em}
.news-pagination a:last-child {justify-self:end}
#news-sentinel {height:1px}
.news-empty {min-height:44vh;display:grid;align-content:center;max-width:760px;padding:5rem 0}
.news-empty h2 {font-size:clamp(2rem,5vw,4rem);line-height:1.02;letter-spacing:-.04em;margin:.4rem 0 1rem}
.news-empty p {font-size:1.1rem;color:var(--muted)}
.news-detail {max-width:820px;margin:auto}.news-detail>h1{font-size:clamp(2.2rem,6vw,4.7rem);line-height:1.08;letter-spacing:-.018em}.news-detail section>h2{line-height:1.14;letter-spacing:-.008em}.news-detail figure{margin:2rem 0 .5rem}.news-detail figure img{width:100%;height:auto}.news-detail section{border-top:1px solid #c8ced2;margin-top:2rem;padding-top:.8rem}.news-detail section p{font-size:1.12rem}.news-detail aside{border-left:4px solid var(--gold);padding:1rem;margin:2rem 0;background:white}
.news-source a {
  color: #174f7a;
}
.editorial-block {
  border-top: 1px solid #e4e0d8;
  margin-top: 16px;
  padding-top: 12px;
}
.editorial-block h2 {
  font-size: 1rem;
  margin: 0.2rem 0;
}
.editorial-block p {
  margin: 0.35rem 0;
}
.news-lock {
  border-left: 4px solid var(--gold);
  padding-left: 12px;
}
footer {
  border-top: 1px solid #bbb;
}
@media (max-width: 700px) {
  .news-hero {
    display: block;
    max-height:none;
  }
  .news-hero figure {aspect-ratio:16 / 9;height:auto}
  .news-hero h2 {font-size:clamp(1.65rem,8vw,2.25rem)}
  .news-hero .summary {font-size:1rem}
  .news-grid {grid-template-columns:1fr;gap:20px}
  .norm-band {display:block}.norm-band a{display:block;margin-top:.35rem}
  main {
    padding-top: 24px;
  }
}
@media (min-width:701px) and (max-width:900px) {
  .news-hero {grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);max-height:560px}
  .news-hero h2 {font-size:clamp(1.7rem,4.1vw,2.35rem)}
}
