/*
Theme Name: CONSUMIDORES.info
Description: Diario digital de FACUA. Diseño editorial con portada modular, noticias completas y cabecera de marca.
Version: 0.4.13
Author: FACUA
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: consumidores-info
Tags: news, two-columns, custom-menu, featured-images, translation-ready
*/
/*
 * MAPA DE MANTENIMIENTO
 * 1. Fuentes locales y variables de marca (--green, --paper, --serif, --sans).
 * 2. Cabeceras, navegación, portada, archivos y cuerpo de noticia.
 * 3. Banners: variantes de entrada, ventana fija entre contenidos y lateral sticky.
 * 4. Ajustes responsive y correcciones específicas de campaña.
 *
 * La cascada conserva ajustes históricos: los bloques finales prevalecen cuando
 * su especificidad lo permite. Antes de cambiar un selector, comprobar sus reglas
 * posteriores y probar escritorio, móvil, barra de administración y scroll.
 * No aplicar width/height global de imágenes a logos internos de las creatividades.
 * El formato reveal usa clip-path en el hueco y position:fixed en la creatividad;
 * cambiarlo a relative elimina el comportamiento solicitado (excepto accesibilidad).
 * Los dos colores del titular de luz pertenecen a cada .luz-title-line.
 * Esta entrega documenta el código: no consolida ni elimina reglas históricas.
 */

@font-face {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-1.woff2) format("truetype");
}
@font-face {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-2.woff2) format("truetype");
}
@font-face {
  font-family: "Roboto Slab";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/font-3.woff2) format("truetype");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-4.woff2) format("truetype");
}
* {
  box-sizing: border-box;
}
:root {
  --green: #007948;
  --paper: #fbfaf7;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: "Roboto Condensed", Arial, sans-serif;
}
body {
  margin: 0;
  background: var(--paper);
  color: #060606;
  font-family: var(--sans);
}
button,
input {
  font: inherit;
}
button,
a {
  color: inherit;
}
button {
  cursor: pointer;
}
a {
  text-decoration: none;
}
a:hover h2,
a:hover h3,
a.headline:hover,
a.story-note:hover,
a.story-note:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 4px;
}
[hidden] {
  display: none !important;
}
header,
main,
footer {
  max-width: 1365px;
  padding: 0 32px;
  margin: auto;
}
header {
  padding-top: 68px;
}
.utility {
  height: 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 15px;
  font-size: 15px;
}
.utility a {
  text-decoration: underline;
}
.utility .black-link {
  background: #050505;
  color: white;
  font-family: var(--serif);
  font-weight: 700;
  padding: 0 8px;
  font-size: 16px;
}
.masthead {
  font-size: clamp(40px, 7.7vw, 119px);
  padding: 25px 0 21px;
}
.brand-lockup {
  display: flex;
  gap: 0.045em;
  align-items: baseline;
}
.masthead h1 {
  font-kerning: normal;
  paint-order: stroke fill;
  white-space: nowrap;
}
.kern-tight {
  display: inline-block;
  margin-left: -0.022em;
}
.kern-soft {
  display: inline-block;
  margin-left: -0.012em;
}
.kern-mi {
  display: inline-block;
  margin-left: 0.012em;
}
.kern-on {
  display: inline-block;
  margin-left: -0.048em;
}
.kern-or {
  display: inline-block;
  margin-left: -0.045em;
}
.kern-ns {
  display: inline-block;
  margin-left: -0.03em;
}
.kern-es {
  display: inline-block;
  margin-left: -0.035em;
}
.logo-box {
  position: relative;
  top: -0.072em;
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-start;
  background: var(--green);
  color: white;
  box-sizing: border-box;
  aspect-ratio: 1/1;
  width: 1.95em;
  height: 1.95em;
  padding-left: 0.12em;
  flex-shrink: 0;
  font: 700 0.4em/1 var(--sans);
  letter-spacing: 0;
}
.masthead h1 {
  font-family: "Roboto Slab", Georgia, serif;
  font-weight: 900;
  font-size: 1em;
  letter-spacing: 0;
  margin: 0;
  line-height: 1;
  -webkit-text-stroke: 0.008em #000;
}
.navigation {
  border-top: 12px solid var(--green);
  display: flex;
  align-items: center;
  gap: 21px;
  min-height: 48px;
}
nav {
  display: flex;
  flex: 1;
  gap: 25px;
  align-items: center;
  flex-wrap: wrap;
  max-height: 43px;
  overflow: hidden;
}
nav button {
  font-size: 15px;
  letter-spacing: 1.1px;
  white-space: nowrap;
  text-transform: uppercase;
  background: none;
  border: 0;
  padding: 10px 0;
  font-weight: 600;
}
nav button:hover,
nav button.active {
  color: #007948;
}
nav.expanded {
  max-height: none;
  padding-bottom: 12px;
}
#menu,
#search-toggle {
  font-size: 15px;
  letter-spacing: 1px;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 0;
}
#search-panel {
  padding: 15px 0;
}
#search-panel input {
  width: 100%;
  background: none;
  border: 1px solid #aaa;
  padding: 15px;
  font-size: 20px;
}
.compact-header {
  position: fixed;
  inset: 0 0 auto;
  background: var(--paper);
  height: 55px;
  border-bottom: 1px solid #ddd;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  transform: translateY(-100%);
  transition: transform 0.15s;
}
.scrolled .compact-header {
  transform: translateY(0);
}
.compact-logo {
  font:
    900 19px/1 "Roboto Slab",
    Georgia;
  letter-spacing: 0;
}
.footer-logo {
  font:
    900 23px/1 "Roboto Slab",
    Georgia;
  letter-spacing: 0;
}
.footer-word,
.compact-word {
  font-kerning: normal;
  paint-order: stroke fill;
  -webkit-text-stroke: 0.008em #000;
  white-space: nowrap;
}
.compact-actions {
  display: flex;
  gap: 22px;
  align-items: center;
  font-size: 15px;
}
.compact-actions a:first-child {
  background: #111;
  color: white;
  padding: 0 7px;
  font-family: var(--serif);
  font-weight: 700;
}
.compact-actions button {
  border: 0;
  background: none;
  font-size: 15px;
  letter-spacing: 1px;
}
.ad-slot {
  width: 994px;
  max-width: 90%;
  height: 244px;
  background: #efede8;
  padding: 32px;
  margin: 43px auto 80px;
  position: relative;
}
.house-ad {
  height: 181px;
  background: #242424;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 38px;
  gap: 25px;
}
.house-ad strong {
  font: 700 41px/0.98 var(--sans);
  display: block;
  max-width: 500px;
  text-transform: uppercase;
  letter-spacing: -0.8px;
}
.house-ad small {
  display: block;
  font: 700 15px var(--sans);
  margin-top: 10px;
}
.house-ad .ad-right {
  text-align: right;
}
.house-ad .ad-right b {
  font:
    900 28px "Roboto Slab",
    Georgia;
}
.house-ad .ad-right span {
  display: block;
  font-size: 13px;
  margin-top: 6px;
}
.ad-caption {
  position: absolute;
  bottom: 7px;
  left: 0;
  right: 0;
  text-align: center;
  color: #999;
  font-size: 10px;
}
.statusbar {
  display: none;
}
.alert-band {
  background: #e8b47c;
  padding: 32px;
  margin: 0 -32px 56px;
}
.eyebrow {
  font: 700 12px/1.15 var(--sans);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 13px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 8px;
}
.eyebrow:before {
  content: "";
  height: 15px;
  border-left: 2px solid #aaa;
  display: inline-block;
}
.eyebrow .dot {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: var(--green);
  flex-shrink: 0;
}
.alert-band .eyebrow:before {
  display: none;
}
.alert-band h2 {
  font: 700 51px/1.05 var(--serif);
  letter-spacing: -1.6px;
  margin: 0 0 20px;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.related-line {
  font: 600 24px/1.16 var(--serif);
  margin: 14px 0 0;
  padding: 5px 0 5px 9px;
  border-left: 2px solid #111;
  display: block;
}
.big-text {
  margin: 0 0 76px;
}
.big-text .eyebrow .flag {
  background: var(--green);
  color: #fff;
  padding: 5px 8px;
}
.big-text h2 {
  font: 700 55px/1.02 var(--serif);
  letter-spacing: -1.4px;
  margin: 10px 0 0;
  max-width: 1120px;
}
.newsroom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 208px;
  gap: 24px;
}
.main-stage {
  min-width: 0;
}
.first-row {
  display: grid;
  grid-template-columns: 2.15fr 1fr;
  gap: 24px;
}
.story {
  min-width: 0;
}
.story .eyebrow {
  font-size: 12px;
  margin: 3px 0 12px;
}
.story h2,
.story h3 {
  font: 700 43px/1.06 var(--serif);
  letter-spacing: -1px;
  margin: 0 0 18px;
}
.story img {
  display: block;
  width: 76%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  aspect-ratio: 1.5;
  background: #f1efe9;
}
.story .story-note {
  display: block;
  font: 600 22px/1.2 var(--serif);
  border-left: 2px solid #111;
  padding: 4px 0 4px 8px;
  margin: 16px 0 0;
}
.side-stack {
  border-left: 1px solid #999;
  padding-left: 23px;
}
.side-stack .story + .story {
  border-top: 1px solid #999;
  margin-top: 25px;
  padding-top: 21px;
}
.side-stack .story h3 {
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: -0.4px;
  margin-bottom: 17px;
}
.side-stack .story img {
  width: 76%;
}
.latest-rail h2,
.rail-box h2 {
  font: 700 17px/1.1 var(--sans);
  letter-spacing: 1.2px;
  margin: 0 0 18px;
  padding-left: 8px;
  border-left: 2px solid #111;
}
.latest-list {
  border-left: 1px solid #111;
  margin-left: 4px;
  padding-left: 14px;
}
.latest-list article {
  position: relative;
  margin-bottom: 21px;
}
.latest-list article:before {
  content: "";
  background: #111;
  border-radius: 100%;
  width: 9px;
  height: 9px;
  position: absolute;
  left: -19px;
  top: 3px;
}
.latest-list .eyebrow {
  font-size: 10px;
  letter-spacing: 1px;
  margin: 0 0 7px;
}
.latest-list .eyebrow:before {
  display: none;
}
.latest-list h3 {
  font: 600 17px/1.15 var(--serif);
  letter-spacing: -0.3px;
  margin: 0;
}
.all-news {
  font-size: 14px;
  display: block;
  text-align: right;
  margin: 24px 0;
}
.rail-box {
  background: #efede8;
  padding: 20px 22px;
  margin-top: 25px;
}
.rail-box article + article {
  border-top: 1px solid #111;
  margin-top: 20px;
  padding-top: 18px;
}
.rail-box h3 {
  font: 600 17px/1.15 var(--serif);
  margin: 0;
}
.duo-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 48px 0 60px;
}
.duo-row > .story + .story {
  border-left: 1px solid #999;
  padding-left: 23px;
}
.duo-row .story img {
  width: 76%;
}
.duo-row h3 {
  font-size: 43px;
}
.inline-banner {
  margin: 60px 0 80px;
}
.inline-banner h2 {
  font: 700 55px/1.03 var(--serif);
  letter-spacing: -1.4px;
  margin: 14px 0 0;
}
.triple-row {
  display: grid;
  grid-template-columns: 1fr 2.2fr 1fr;
  gap: 24px;
  margin: 0 0 90px;
}
.triple-row > .story {
  border-left: 1px solid #999;
  padding-left: 23px;
}
.triple-row > .story h3 {
  font-size: 28px;
}
.triple-row > .story.main-feature h3 {
  font-size: 43px;
}
.triple-row > .story img {
  width: 76%;
}
.blue-card {
  background: var(--green);
  color: white;
  padding: 18px 16px 22px;
  align-self: start;
}
.blue-card .eyebrow {
  color: white;
}
.blue-card h3 {
  font: 700 28px/1.06 var(--serif);
  letter-spacing: -0.6px;
  margin: 18px 0;
}
.blue-card img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}
.arrow {
  font: 400 67px/0.7 Arial;
  display: block;
  margin-top: 23px;
}
.ribbon-section {
  margin: 80px 0 90px;
}
.section-label {
  font: 700 20px/1 var(--sans);
  letter-spacing: 1.4px;
  margin: 0 0 22px;
  padding-left: 8px;
  border-left: 2px solid #111;
  text-transform: uppercase;
}
.ribbon {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 12px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.ribbon.is-dragging,
.ribbon.is-wheeling {
  scroll-snap-type: none;
}
.ribbon.is-dragging {
  cursor: grabbing;
}
.ribbon img {
  -webkit-user-drag: none;
  user-select: none;
}
.ribbon::-webkit-scrollbar {
  display: none;
}
.ribbon-card {
  position: relative;
  min-width: 240px;
  width: 240px;
  height: 425px;
  overflow: hidden;
  border-radius: 7px;
  scroll-snap-align: start;
  background: #222;
}
.ribbon-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ribbon-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9), transparent 80%);
}
.ribbon-card .ribbon-copy {
  position: absolute;
  bottom: 20px;
  left: 16px;
  right: 16px;
  z-index: 1;
  color: white;
}
.ribbon-card h3 {
  font: 700 23px/1.08 var(--serif);
  letter-spacing: -0.5px;
  margin: 8px 0 0;
}
.ribbon-card .eyebrow {
  color: white;
  font-size: 10px;
}
.ribbon-card .eyebrow:before {
  display: none;
}
.ribbon-card .round-arrow {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #0008;
  color: white;
  border-radius: 100%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  font-size: 25px;
  z-index: 1;
}
.six-grid {
  background: #efede8;
  padding: 24px;
  margin: 80px 0;
}
.six-grid .section-label {
  font-size: 18px;
}
.six-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.six-items article {
  display: flex;
  gap: 16px;
  padding: 15px 19px 30px 0;
}
.six-items article:nth-child(3n + 2),
.six-items article:nth-child(3n + 3) {
  border-left: 1px solid #111;
  padding-left: 18px;
}
.six-items article:nth-child(n + 4) {
  border-top: 1px solid #111;
  padding-top: 18px;
  padding-bottom: 16px;
}
.six-items b {
  font: 600 49px/0.9 var(--sans);
}
.six-items h3 {
  font: 600 21px/1.12 var(--serif);
  letter-spacing: -0.4px;
  margin: 0;
}
.feature-center {
  display: grid;
  grid-template-columns: 1fr 2.2fr 1fr;
  gap: 24px;
  margin: 80px 0;
}
.feature-center .center {
  border-left: 1px solid #999;
  border-right: 1px solid #999;
  padding: 0 23px;
}
.feature-center .center h3 {
  font-size: 43px;
}
.feature-center .center img {
  width: 76%;
  aspect-ratio: 1;
  object-fit: cover;
}
.feature-center aside .story h3 {
  font-size: 25px;
  line-height: 1.06;
}
.feature-center aside .story + .story {
  border-top: 1px solid #999;
  margin-top: 24px;
  padding-top: 20px;
}
.guide-module {
  border-bottom: 1px solid #999;
  padding: 0 0 26px;
  margin-bottom: 24px;
}
.guide-module .guide-symbol {
  font: 900 140px/1.1 "Roboto Slab";
  color: var(--green);
  text-align: center;
  margin: 18px 0;
}
.guide-module p {
  font: 21px/1.2 var(--sans);
}
.black-link {
  background: #111;
  color: #fff;
  padding: 1px 6px;
  font: 700 20px var(--serif);
  text-decoration: underline;
}
.wide-panel {
  display: grid;
  grid-template-columns: 34% 1fr;
  gap: 32px;
  background: #efede8;
  padding: 64px 32px;
  margin: 85px 0;
}
.wide-panel img {
  width: 100%;
  height: 265px;
  object-fit: cover;
}
.wide-panel .eyebrow {
  margin-top: 30px;
}
.wide-panel h2 {
  font: 400 44px/1.15 var(--sans);
  letter-spacing: -1px;
  margin: 20px 0;
}
.bottom-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 24px;
  margin: 80px 0;
}
.bottom-columns > .stack + .stack {
  border-left: 1px solid #999;
  padding-left: 23px;
}
.stack .story h3 {
  font-size: 27px;
}
.stack .story + .story {
  border-top: 1px solid #999;
  padding-top: 24px;
  margin-top: 24px;
}
.stack .story img {
  width: 76%;
}
.topic-feature {
  text-align: center;
}
.topic-feature .section-label {
  background: #efede8;
  padding: 28px;
  border: 0;
  font-size: 16px;
  margin: 0 0 20px;
}
.topic-feature img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}
.topic-feature h2 {
  background: #efede8;
  font: 700 43px/1.08 var(--serif);
  padding: 35px 28px;
  margin: 20px 0;
  letter-spacing: -1px;
}
.topic-feature .arrow {
  padding-bottom: 24px;
}
.dark-panel {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 70px;
  background: #1b1b1b;
  color: var(--paper);
  padding: 50px 60px;
  margin: 80px 28px;
}
.dark-panel img {
  width: 100%;
  height: 410px;
  object-fit: cover;
  filter: grayscale(1);
}
.dark-panel .eyebrow {
  color: white;
  margin: 35px 0 28px;
}
.dark-panel h2 {
  font: 700 49px/1.1 var(--serif);
  margin: 0;
  letter-spacing: -1px;
}
.dark-panel .arrow {
  margin-top: 35px;
}
.final-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin: 70px 0;
}
.final-grid .story h3 {
  font-size: 27px;
}
.final-grid .story + .story {
  border-left: 1px solid #999;
  padding-left: 23px;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px 25px;
  margin: 35px 0;
}
.news-grid .card img {
  width: 76%;
  aspect-ratio: 1.5;
  object-fit: cover;
}
.card h3 {
  font: 700 28px/1.1 var(--serif);
  letter-spacing: -0.5px;
  margin: 12px 0;
}
.kicker {
  font: 700 12px var(--sans);
  text-transform: uppercase;
  color: #555;
  letter-spacing: 1px;
}
.credit {
  font: 11px var(--sans);
  color: #777;
}
.more {
  width: 100%;
  padding: 18px;
  text-align: left;
  background: transparent;
  border: 1px solid #aaa;
  font: 15px var(--sans);
  margin: 30px 0;
}
.more span {
  float: right;
}
.empty {
  padding: 70px;
  text-align: center;
}
#sectionbar {
  margin: 35px 0;
}
#section {
  font: 700 44px var(--serif);
}
footer {
  border-top: 1px solid #999;
  padding-top: 35px;
  padding-bottom: 40px;
  display: flex;
  justify-content: space-between;
  gap: 70px;
  margin-top: 90px;
}
footer strong {
  font: 900 23px "Roboto Slab";
  letter-spacing: 0;
}
footer p {
  font: 13px/1.6 var(--sans);
  max-width: 540px;
  color: #666;
}
.article-document .ad-slot {
  display: none;
}
.article-document header {
  padding-top: 35px;
}
@media (max-width: 1100px) {
  header,
  main,
  footer {
    padding-left: 25px;
    padding-right: 25px;
  }
  .masthead h1 {
    font-size: 1em;
    letter-spacing: 0;
  }
  .navigation {
    gap: 14px;
  }
  nav {
    gap: 18px;
  }
  nav button {
    font-size: 12px;
  }
  .newsroom {
    grid-template-columns: minmax(0, 1fr) 170px;
    gap: 20px;
  }
  .story h2,
  .story h3,
  .duo-row h3 {
    font-size: 35px;
  }
  .side-stack .story h3 {
    font-size: 24px;
  }
  .story img {
    width: 90%;
  }
  .duo-row .story img {
    width: 90%;
  }
  .latest-list h3 {
    font-size: 15px;
  }
  .triple-row {
    grid-template-columns: 1fr 2fr 1fr;
    gap: 20px;
  }
  .triple-row > .story.main-feature h3,
  .feature-center .center h3 {
    font-size: 35px;
  }
  .triple-row > .story h3,
  .blue-card h3 {
    font-size: 25px;
  }
  .triple-row > .story {
    padding-left: 19px;
  }
  .alert-band {
    margin-left: -25px;
    margin-right: -25px;
  }
  .alert-band h2,
  .big-text h2,
  .inline-banner h2 {
    font-size: 45px;
  }
  .related-line {
    font-size: 21px;
  }
  .wide-panel h2 {
    font-size: 38px;
  }
  .dark-panel h2 {
    font-size: 40px;
  }
  .house-ad strong {
    font-size: 35px;
  }
}
@media (max-width: 750px) {
  header {
    padding-top: 25px;
  }
  .utility {
    font-size: 12px;
    gap: 10px;
  }
  .utility .black-link {
    font-size: 12px;
  }
  .masthead {
    font-size: 7.8vw;
    padding: 24px 0 20px;
  }
  .masthead h1 {
    font-size: 1em;
    letter-spacing: 0;
    -webkit-text-stroke: 0.008em #000;
  }
  .navigation {
    border-top-width: 8px;
  }
  nav button {
    font-size: 12px;
  }
  nav {
    gap: 18px;
  }
  #menu,
  #search-toggle {
    font-size: 12px;
  }
  .newsroom {
    display: block;
  }
  .latest-rail {
    display: none;
  }
  .first-row {
    grid-template-columns: 2fr 1fr;
    gap: 18px;
  }
  .story h2,
  .story h3 {
    font-size: 33px;
  }
  .side-stack {
    padding-left: 17px;
  }
  .side-stack .story h3 {
    font-size: 24px;
  }
  .alert-band h2,
  .big-text h2 {
    font-size: 39px;
  }
  .inline-banner h2 {
    font-size: 39px;
  }
  .triple-row {
    grid-template-columns: 1fr 2fr;
  }
  .triple-row > .story:last-child {
    display: none;
  }
  .feature-center {
    grid-template-columns: 1fr 2fr;
  }
  .feature-center > aside:last-child {
    display: none;
  }
  .feature-center .center {
    border-right: 0;
    padding-right: 0;
  }
  .six-items {
    grid-template-columns: 1fr 1fr;
  }
  .six-items article:nth-child(n) {
    border: 0;
    padding: 18px 15px 20px 0;
    border-bottom: 1px solid #999;
  }
  .six-items article:nth-child(2n) {
    border-left: 1px solid #999;
    padding-left: 15px;
  }
  .six-items article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
  .bottom-columns {
    grid-template-columns: 1fr 1fr;
  }
  .topic-feature {
    grid-column: span 2;
  }
  .dark-panel {
    gap: 30px;
    padding: 30px;
    margin-left: 0;
    margin-right: 0;
  }
  .dark-panel h2 {
    font-size: 34px;
  }
  .dark-panel img {
    height: 360px;
  }
  .ad-slot {
    max-width: 95%;
    height: 200px;
    padding: 22px;
    margin: 30px auto 55px;
  }
  .house-ad {
    height: 150px;
    padding: 20px;
  }
  .house-ad strong {
    font-size: 29px;
  }
  .house-ad .ad-right b {
    font-size: 20px;
  }
  .house-ad small {
    font-size: 12px;
  }
  .wide-panel {
    padding: 35px 25px;
    gap: 25px;
  }
  .wide-panel h2 {
    font-size: 33px;
  }
  .wide-panel img {
    height: 250px;
  }
  .compact-header {
    padding: 0 20px;
  }
  .compact-actions a:first-child {
    display: none;
  }
}
@media (max-width: 500px) {
  header,
  main,
  footer {
    padding-left: 16px;
    padding-right: 16px;
  }
  .utility {
    justify-content: flex-end;
    height: 18px;
  }
  .utility > a:first-child {
    display: none;
  }
  .masthead h1 {
    font-size: 1em;
    letter-spacing: 0;
    -webkit-text-stroke: 0.008em #000;
  }
  .navigation {
    gap: 15px;
    min-height: 44px;
  }
  nav {
    gap: 18px;
  }
  nav button {
    font-size: 11px;
  }
  #search-toggle {
    font-size: 11px;
  }
  #menu {
    font-size: 11px;
  }
  .ad-slot {
    max-width: 100%;
    height: 166px;
    padding: 15px;
    margin-top: 25px;
    margin-bottom: 45px;
  }
  .house-ad {
    height: 128px;
    padding: 17px;
    gap: 15px;
  }
  .house-ad strong {
    font-size: 25px;
    max-width: 230px;
  }
  .house-ad small {
    font-size: 10px;
  }
  .house-ad .ad-right b {
    font-size: 17px;
  }
  .house-ad .ad-right span {
    font-size: 10px;
  }
  .ad-caption {
    font-size: 9px;
    bottom: 4px;
  }
  .alert-band {
    padding: 23px 16px;
    margin: 0 -16px 36px;
  }
  .alert-band h2 {
    font-size: 33px;
    letter-spacing: -0.9px;
    margin-bottom: 16px;
  }
  .related-line {
    font-size: 19px;
    margin-top: 10px;
  }
  .eyebrow {
    font-size: 10px;
  }
  .big-text {
    margin-bottom: 40px;
  }
  .big-text h2 {
    font-size: 35px;
    letter-spacing: -0.9px;
  }
  .first-row {
    display: block;
  }
  .story h2,
  .story h3 {
    font-size: 33px;
    line-height: 1.04;
  }
  .story img {
    width: 100%;
    max-height: 400px;
  }
  .story .story-note {
    font-size: 20px;
  }
  .side-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 0;
    padding: 0;
    margin-top: 32px;
    gap: 18px;
  }
  .side-stack .story + .story {
    border: 0;
    margin: 0;
    padding: 0;
  }
  .side-stack .story h3 {
    font-size: 24px;
  }
  .side-stack .story img {
    width: 100%;
  }
  .duo-row {
    gap: 18px;
    margin-top: 40px;
    margin-bottom: 35px;
  }
  .duo-row h3 {
    font-size: 26px;
  }
  .duo-row > .story + .story {
    padding-left: 17px;
  }
  .duo-row .story img {
    width: 100%;
  }
  .inline-banner {
    margin: 40px 0 45px;
  }
  .inline-banner h2 {
    font-size: 35px;
    letter-spacing: -0.8px;
  }
  .triple-row {
    gap: 18px;
    margin-bottom: 50px;
    grid-template-columns: 1fr 1.7fr;
  }
  .triple-row > .story {
    padding-left: 17px;
  }
  .triple-row > .story.main-feature h3 {
    font-size: 28px;
    line-height: 1.05;
  }
  .triple-row > .story img {
    width: 100%;
  }
  .blue-card {
    padding: 13px 12px;
  }
  .blue-card h3 {
    font-size: 23px;
  }
  .arrow {
    font-size: 50px;
  }
  .ribbon-section {
    margin: 45px 0;
  }
  .ribbon-card {
    width: 210px;
    min-width: 210px;
    height: 350px;
  }
  .ribbon-card h3 {
    font-size: 23px;
  }
  .section-label {
    font-size: 17px;
  }
  .six-grid {
    padding: 18px;
    margin: 45px 0;
  }
  .six-items {
    display: block;
  }
  .six-items article:nth-child(n) {
    padding: 17px 0;
    border-left: 0;
    border-bottom: 1px solid #999;
  }
  .six-items article:last-child {
    border: 0;
  }
  .six-items h3 {
    font-size: 21px;
  }
  .six-items b {
    font-size: 39px;
  }
  .feature-center {
    display: block;
    margin: 45px 0;
  }
  .feature-center > aside:first-child {
    display: none;
  }
  .feature-center .center {
    border: 0;
    padding: 0;
  }
  .feature-center .center h3 {
    font-size: 35px;
  }
  .feature-center .center img {
    width: 100%;
    aspect-ratio: 1.2;
  }
  .wide-panel {
    display: block;
    padding: 22px;
    margin: 45px 0;
  }
  .wide-panel img {
    height: 220px;
  }
  .wide-panel h2 {
    font-size: 31px;
  }
  .wide-panel .eyebrow {
    margin-top: 23px;
  }
  .bottom-columns {
    gap: 18px;
    margin: 45px 0;
  }
  .bottom-columns > .stack + .stack {
    padding-left: 17px;
  }
  .stack .story h3 {
    font-size: 24px;
  }
  .stack .story img {
    width: 100%;
  }
  .topic-feature h2 {
    font-size: 34px;
    padding: 25px 20px;
  }
  .topic-feature {
    margin-top: 35px;
  }
  .dark-panel {
    display: block;
    padding: 25px;
    margin: 50px 0;
  }
  .dark-panel img {
    height: 300px;
  }
  .dark-panel h2 {
    font-size: 35px;
  }
  .dark-panel .eyebrow {
    margin: 25px 0 18px;
  }
  .final-grid {
    display: block;
  }
  .final-grid .story + .story {
    border-left: 0;
    padding: 25px 0 0;
    margin-top: 25px;
    border-top: 1px solid #999;
  }
  .final-grid .story img {
    width: 76%;
  }
  .news-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 18px;
  }
  .card h3 {
    font-size: 24px;
  }
  .news-grid .card img {
    width: 100%;
  }
  .compact-logo {
    font-size: 16px;
  }
  .compact-header {
    height: 48px;
    padding: 0 16px;
  }
  .compact-actions {
    font-size: 12px;
  }
  .compact-actions button {
    font-size: 12px;
  }
  footer {
    display: block;
    margin-top: 50px;
  }
  .article-head h1 {
    font-size: 35px;
  }
  footer strong {
    font-size: 22px;
  }
  .footer-logo {
    font-size: 22px;
  }
}
.article-head {
  max-width: 920px;
  margin: 42px auto 32px;
  text-align: center;
}
.article-head h1 {
  font:
    700 57px/1.04 Georgia,
    serif;
  letter-spacing: -1.8px;
  margin: 22px 0;
}
.article-deck {
  font:
    21px/1.45 Georgia,
    serif;
  color: #555;
  max-width: 800px;
  margin: 22px auto;
}
.article-meta {
  font-size: 11px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  margin-top: 28px;
}
.article-photo {
  margin: 35px 0;
}
.article-photo img {
  width: 100%;
  max-height: 650px;
  object-fit: contain;
  background: #f5f5f5;
}
.article-photo figcaption {
  font-size: 10px;
  color: #888;
  margin-top: 10px;
}
.reading-layout {
  display: grid;
  grid-template-columns: 140px minmax(0, 670px) 1fr;
  gap: 35px;
}
.reading-body {
  font:
    20px/1.7 Georgia,
    serif;
}
.reading-body p {
  margin: 0 0 25px;
}
.reading-side {
  font-size: 10px;
  line-height: 1.6;
  color: #888;
  border-top: 2px solid #111;
  padding-top: 14px;
}
.reading-side strong {
  color: #111;
  display: block;
  margin-bottom: 5px;
}
.reading-notice {
  font:
    14px/1.6 Arial,
    sans-serif;
  background: #f3f3f3;
  border-top: 3px solid var(--green);
  padding: 24px;
  margin: 32px 0;
}
.reading-notice a {
  text-decoration: underline;
  color: #007948;
}
.back {
  font:
    11px Arial,
    sans-serif;
  color: #777;
}
.article-related {
  margin-top: 65px;
}
.article-related .news-grid {
  grid-template-columns: repeat(3, 1fr);
}
.article-related .card:nth-child(n) {
  grid-column: auto;
}
.article-related .card:nth-child(n) h3 {
  font-size: 25px;
}
.article-related .card:nth-child(n) img {
  aspect-ratio: 1.6;
}
.share-button {
  border: 1px solid #ccc;
  background: white;
  padding: 8px 13px;
  margin-top: 12px;
  font-size: 11px;
}
.article-brand {
  cursor: pointer;
}
@media (max-width: 900px) {
  .reading-layout {
    grid-template-columns: 100px minmax(0, 1fr);
  }
  .reading-layout > div:last-child {
    display: none;
  }
  .article-head h1 {
    font-size: 46px;
  }
}
@media (max-width: 600px) {
  .article-head {
    margin-top: 25px;
  }
  .article-head h1 {
    font-size: 35px;
    letter-spacing: -1px;
  }
  .article-deck {
    font-size: 19px;
  }
  .article-meta {
    font-size: 9px;
    gap: 15px;
  }
  .reading-layout {
    display: block;
  }
  .reading-side {
    border: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
  }
  .reading-side strong {
    margin: 0;
  }
  .reading-side .source-label {
    display: none;
  }
  .share-button {
    margin: 0;
  }
  .reading-body {
    font-size: 19px;
  }
  .article-related .news-grid {
    grid-template-columns: 1fr;
  }
  .article-photo {
    margin: 25px 0;
  }
}

/* Preserve the complete artwork of this text-bearing poster. */
.story img[src*="99fraudes-social-card-v1069.jpg"],
.card img[src*="99fraudes-social-card-v1069.jpg"] {
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}
.ribbon-card img[src*="99fraudes-social-card-v1069.jpg"] {
  object-fit: contain;
}
.article-document .compact-header {
  transform: none;
  height: 74px;
  padding: 0 45px;
  justify-content: flex-start;
  gap: 18px;
}
.article-document header {
  display: none;
  padding-top: 74px;
}
.article-document.article-menu-open header {
  display: block;
}
.article-document.article-menu-open header .utility,
.article-document.article-menu-open header .masthead {
  display: none;
}
.article-document .compact-actions {
  margin-left: auto;
  gap: 24px;
}
.article-document .compact-actions button {
  font: 500 14px var(--sans);
  letter-spacing: 1px;
  padding: 8px 0;
}
.reading-bar-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  border-left: 1px solid #111;
  padding-left: 18px;
  text-transform: uppercase;
  font: 700 16px var(--sans);
  letter-spacing: 1px;
}
.reading-date {
  display: block;
  font: 400 13px/1.5 var(--sans);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.article-document main {
  padding-top: 74px;
}
.article-document .ad-slot {
  display: block;
  margin: 48px auto 30px;
}
.article-document #sectionbar {
  display: none;
}
.article-head {
  max-width: 1120px;
  margin: 0 0 34px;
  text-align: left;
}
.article-deck {
  font: 400 25px/1.16 var(--sans);
  color: #111;
  max-width: 1000px;
  margin: 0 0 18px;
}
.article-head h1 {
  font: 700 64px/1.04 var(--serif);
  letter-spacing: -1.3px;
  margin: 0;
}
.article-photo {
  position: relative;
  width: 66%;
  margin: 34px 0 60px 17%;
}
.article-photo img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  display: block;
  background: transparent;
}
.article-photo figcaption {
  position: absolute;
  left: 100%;
  bottom: 0;
  width: 185px;
  padding: 8px 16px;
  border-left: 1px solid #999;
  margin: 0 0 0 16px;
  font: 400 14px/1.3 var(--sans);
  color: #888;
}
.reading-layout {
  display: grid;
  grid-template-columns: 22% minmax(0, 50%) 1fr;
  gap: 30px;
  align-items: start;
}
.reading-byline {
  text-align: right;
  padding-top: 32px;
  font: 400 14px/1.25 var(--sans);
}
.reading-byline strong {
  font-weight: 700;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 5px;
}
.reading-byline span {
  color: #555;
}
.reading-body {
  font: 400 21px/1.45 var(--serif);
}
.reading-body p {
  margin: 0 0 27px;
  color: #222;
}

.audio-toolbar {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0 0 32px;
  padding-bottom: 15px;
  border-bottom: 1px solid #111;
  font: 400 13px var(--sans);
}
.audio-toolbar button {
  border: 0;
  background: transparent;
  padding: 4px 0;
  font: 700 14px var(--sans);
  letter-spacing: 0.7px;
  cursor: pointer;
}
.reading-details {
  font: 400 14px/1.5 var(--sans);
  padding-top: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.reading-details strong {
  display: block;
  font: 700 14px var(--sans);
  margin-bottom: 6px;
  color: #555;
}
.reading-details button {
  margin-top: 22px;
  border: 0;
  background: none;
  padding: 4px 0;
  font: 700 14px var(--sans);
  color: #666;
  letter-spacing: 0.7px;
  text-align: left;
  cursor: pointer;
}
.reading-source {
  font: 400 12px var(--sans);
  color: #777;
  margin-top: 35px;
}
.reading-notice {
  margin: 30px 0;
  padding: 20px 0;
  border: 0;
  border-top: 1px solid #ccc;
  background: none;
  font: 400 15px/1.5 var(--sans);
  color: #777;
}
.article-related {
  margin-top: 95px;
}
@media (max-width: 1100px) {
  .article-head h1 {
    font-size: 56px;
  }
  .article-photo {
    width: 72%;
    margin-left: 12%;
  }
  .article-photo figcaption {
    position: static;
    width: auto;
    border: 0;
    margin: 10px 0 0;
    padding: 0;
  }
  .reading-layout {
    grid-template-columns: 17% minmax(0, 58%) 1fr;
    gap: 22px;
  }
  .reading-bar-meta .reading-date {
    display: none;
  }
  .article-document .compact-header {
    padding: 0 25px;
    gap: 12px;
  }
  .reading-bar-meta {
    font-size: 13px;
    padding-left: 12px;
  }
}
@media (max-width: 750px) {
  .article-document .compact-header {
    height: 58px;
    padding: 0 20px;
  }
  .article-document main {
    padding-top: 58px;
  }
  .article-document header {
    padding-top: 58px;
  }
  .reading-bar-meta {
    display: none;
  }
  .article-document .compact-actions {
    gap: 18px;
  }
  .article-document .compact-actions button {
    font-size: 11px;
  }
  .article-document .ad-slot {
    margin: 30px auto;
  }
  .article-head h1 {
    font-size: 43px;
  }
  .article-deck {
    font-size: 22px;
  }
  .article-photo {
    width: 90%;
    margin: 28px auto 35px;
  }
  .reading-layout {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 20px;
  }
  .reading-details {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 20px;
  }
  .reading-body {
    grid-column: 2;
    grid-row: 2;
    font-size: 20px;
  }
  .reading-byline {
    grid-column: 1;
    grid-row: 2;
    padding-top: 5px;
  }
  .reading-details button {
    margin-top: 10px;
  }
  .article-related .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 500px) {
  .article-document .compact-header {
    padding: 0 16px;
  }
  .article-document .compact-logo {
    font-size: 15px;
  }
  .article-document .compact-actions {
    gap: 15px;
  }
  .article-document .compact-actions #share {
    font-size: 10px;
    letter-spacing: 0.2px;
    max-width: 100px;
    text-align: right;
  }
  .article-head {
    margin-bottom: 25px;
  }
  .article-head h1 {
    font-size: 36px;
    letter-spacing: -0.8px;
  }
  .article-deck {
    font-size: 21px;
    margin-bottom: 15px;
  }
  .article-document .ad-slot {
    margin: 25px auto 28px;
  }
  .article-photo {
    width: 100%;
    margin: 25px 0 28px;
  }
  .article-photo figcaption {
    font-size: 12px;
  }
  .reading-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .reading-byline {
    order: 0;
    text-align: left;
    padding: 0;
    font-size: 12px;
    margin-bottom: 15px;
  }
  .reading-byline strong {
    display: inline;
    margin-right: 8px;
  }
  .reading-details {
    order: 1;
    margin: 0 0 24px;
    font-size: 12px;
  }
  .reading-details button {
    margin-top: 8px;
    font-size: 12px;
  }
  .reading-body {
    order: 2;
    font-size: 20px;
  }
  .audio-toolbar {
    margin-bottom: 26px;
  }
  .article-related .news-grid {
    grid-template-columns: 1fr;
  }
  .article-related {
    margin-top: 55px;
  }
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-5.woff2) format("truetype");
}

.reading-body,
#article-text,
#article-text p {
  font-weight: 400;
  font-synthesis: none;
}
.headline-prefix {
  color: var(--green);
  font-style: italic;
}
.alert-band .headline-prefix,
.blue-card .headline-prefix,
.rail-box .headline-prefix,
.six-grid .headline-prefix,
.wide-panel .headline-prefix,
.topic-feature .headline-prefix,
.ribbon-card .headline-prefix {
  color: inherit;
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/font-6.woff2) format("truetype");
}
.house-ad {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(
    115deg,
    #171b19 0%,
    #063d2b 35%,
    #007948 68%,
    #153a2c 100%
  );
  background-size: 240% 240%;
  animation: ad-gradient 10s ease-in-out infinite;
  box-shadow: inset 4px 0 #e8b47c;
}
.house-ad > div {
  position: relative;
  z-index: 1;
}
.house-ad:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 90% 0%, #ffffff12, transparent 65%);
}
.house-ad strong {
  position: relative;
}
.ad-title-live {
  position: absolute;
  inset: 0;
  display: none;
}
.ad-title-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.house-ad.is-typing .ad-title-static {
  visibility: hidden;
}
.house-ad.is-typing .ad-title-live {
  display: block;
}
.ad-type-letter {
  opacity: 0;
  animation: ad-type-letter 0.001s step-end forwards;
}
.ad-title-live:after {
  content: "";
  display: inline-block;
  height: 0.8em;
  width: 2px;
  background: currentColor;
  margin-left: 4px;
  vertical-align: baseline;
  animation: ad-caret 0.65s step-end infinite;
}
.house-ad:hover {
  filter: brightness(1.06);
}
@keyframes ad-gradient {
  0%,
  100% {
    background-position: 0% 45%;
  }
  50% {
    background-position: 100% 55%;
  }
}
@keyframes ad-type-letter {
  to {
    opacity: 1;
  }
}
@keyframes ad-caret {
  50% {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .house-ad {
    animation: none;
    background-position: 60% 50%;
  }
  .house-ad.is-typing .ad-title-static {
    visibility: visible;
  }
  .house-ad.is-typing .ad-title-live {
    display: none;
  }
  .ad-type-letter,
  .ad-title-live:after {
    animation: none;
  }
}
.story img[src*="social-card-bombillas"],
.card img[src*="social-card-bombillas"] {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
}
/* WordPress integration */
html {
  scroll-padding-top: 70px;
}
body.admin-bar .compact-header {
  top: 32px;
}
.screen-reader-text,
.skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.skip-link:focus {
  position: fixed;
  z-index: 9999;
  background: white;
  padding: 15px;
  top: 0;
  left: 0;
}
nav a {
  font: 700 14px var(--sans);
  text-transform: uppercase;
  white-space: nowrap;
}
nav ul {
  list-style: none;
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
}
nav li {
  margin: 0;
}
.reading-body p,
.reading-body li {
  font-weight: 400;
}
.reading-body h2 {
  font: 700 30px/1.2 var(--serif);
  margin: 1.5em 0 0.6em;
}
.reading-body h3 {
  font: 700 25px/1.25 var(--serif);
}
.reading-body figure {
  margin: 1.5em 0;
}
.reading-body img {
  height: auto;
  max-width: 100%;
}
.reading-body a {
  text-decoration: underline;
  text-decoration-color: var(--green);
  text-underline-offset: 3px;
}
.reading-body blockquote {
  border-left: 4px solid var(--green);
  padding-left: 20px;
  margin-left: 0;
}
.reading-body table {
  width: 100%;
  border-collapse: collapse;
}
.reading-body td,
.reading-body th {
  border: 1px solid #ccc;
  padding: 8px;
}
.reading-body iframe {
  max-width: 100%;
}
.reading-body .alignwide,
.reading-body .alignfull {
  width: 100%;
  margin-left: 0;
}
.reading-body ul,
.reading-body ol {
  padding-left: 1.4em;
}
.reading-body strong {
  font-weight: 700;
}
.article-photo img {
  height: auto;
  object-fit: contain;
}
.entry-page {
  max-width: 780px;
  margin: 60px auto;
}
.entry-page h1 {
  font: 700 50px/1.1 var(--serif);
}
.pagination {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 40px 0;
}
.pagination .current {
  color: var(--green);
  font-weight: 700;
}
.wp-search {
  display: flex;
  gap: 12px;
}
.wp-search input {
  flex: 1;
  padding: 12px;
  border: 1px solid #aaa;
  background: transparent;
}
.wp-search button,
.wp-element-button {
  background: var(--green);
  color: #fff;
  padding: 12px 20px;
  border: 0;
}
.site-footer-links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.compact-word[aria-label],
.footer-word[aria-label] {
  white-space: nowrap;
}
.masthead .brand-name {
  font-size: 1em;
  line-height: 0.9;
  margin: 0;
  letter-spacing: 0;
  font-weight: 900;
  font-family: "Roboto Slab", serif;
  -webkit-text-stroke: 0.008em currentColor;
}
.empty {
  padding: 60px 0;
}
footer .footer-note {
  max-width: 420px;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
}
.wp-caption-text {
  font: 400 13px/1.5 var(--sans);
}
@media (max-width: 782px) {
  body.admin-bar .compact-header {
    top: 46px;
  }
  nav ul {
    flex-wrap: wrap;
    gap: 15px;
  }
  .masthead .brand-name {
    font-size: 1em;
  }
}
@media (max-width: 600px) {
  body.admin-bar .compact-header {
    top: 0;
  }
  .reading-body h2 {
    font-size: 25px;
  }
  .entry-page h1 {
    font-size: 38px;
  }
}

/* Reserve the banner's full text height throughout the typing effect. */
.house-ad {
  min-height: 181px;
  height: auto;
}
.house-ad > div:first-child {
  flex: 1;
  min-width: 0;
}
.house-ad .ad-right {
  flex: 0 0 auto;
  max-width: 30%;
}
.house-ad strong {
  max-width: none;
  font-size: clamp(24px, 3vw, 41px);
  line-height: 1.1;
  letter-spacing: -0.6px;
}
.ad-title-static {
  display: block;
  white-space: nowrap;
}
.ad-title-live {
  white-space: nowrap;
}
.ad-type-letter {
  white-space: pre;
}
.ad-title-live:after {
  display: none;
}
.house-ad small {
  position: static;
  line-height: 1.3;
  margin-top: 14px;
}
@media (max-width: 700px) {
  .house-ad {
    min-height: 150px;
    padding: 20px;
  }
  .house-ad strong {
    font-size: clamp(22px, 4.6vw, 29px);
  }
  .house-ad .ad-right {
    display: none;
  }
}

/* Keep the article intro clear of the fixed navigation and editorial banner. */
.article-document .ad-slot {
  margin-top: 48px;
  margin-bottom: 42px;
}
.article-document .article-head {
  padding-top: 0;
}
@media (max-width: 700px) {
  .article-document .ad-slot {
    margin-top: 28px;
    margin-bottom: 30px;
  }
}
/* Text selection uses the same green as the masthead. */
::selection {
  background: var(--green, #007948);
  color: #fff;
}
::-moz-selection {
  background: var(--green, #007948);
  color: #fff;
}

/* Lower homepage: varied newspaper columns, generous space and fine rules. */
.lower-home {
  margin-top: 68px;
}
.editorial-row {
  display: grid;
  gap: 0;
  margin: 0 0 76px;
  align-items: start;
}
.editorial-center {
  grid-template-columns: 1fr 2.05fr 1fr;
}
.editorial-left {
  grid-template-columns: 2.05fr 1fr 1fr;
}
.editorial-right {
  grid-template-columns: 1fr 1fr 2.05fr;
}
.editorial-row > div {
  min-width: 0;
  padding: 0 23px;
  border-left: 1px solid #9c9a94;
}
.editorial-row > div:first-child {
  padding-left: 0;
  border-left: 0;
}
.editorial-row > div:last-child {
  padding-right: 0;
}
.lower-story + .lower-story {
  border-top: 1px solid #aaa8a1;
  padding-top: 23px;
  margin-top: 26px;
}
.lower-story .eyebrow,
.lower-major .eyebrow {
  border-left: 2px solid var(--green);
  padding-left: 8px;
  margin: 0 0 13px;
}
.lower-story h3 {
  font: 700 25px/1.12 var(--serif);
  letter-spacing: -0.35px;
  margin: 0 0 17px;
}
.lower-story img {
  display: block;
  width: 76%;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.lower-major h2 {
  font: 700 clamp(32px, 3.5vw, 50px) / 1.05 var(--serif);
  letter-spacing: -1.05px;
  margin: 0 0 23px;
}
.lower-major img {
  display: block;
  width: 86%;
  height: auto;
  object-fit: contain;
}
.editorial-triptych {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 78px;
}
.editorial-topic {
  min-width: 0;
  padding: 25px 25px 21px;
  border-right: 1px solid #aaa8a1;
}
.editorial-topic:last-child {
  border-right: 0;
}
.topic-tone-0 {
  background: #efede8;
  margin-right: 23px;
}
.topic-tone-1 {
  background: #1b1b1b;
  color: white;
  margin: 0 23px 0 0;
}
.topic-tone-2 {
  padding-top: 3px;
  padding-right: 0;
}
.editorial-topic img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 25px 0 20px;
}
.editorial-topic h3 {
  font: 700 29px/1.1 var(--serif);
  letter-spacing: -0.6px;
  margin: 0 0 22px;
}
.editorial-topic .headline-prefix {
  color: inherit;
}
.editorial-topic.topic-tone-1 .headline-prefix,
.editorial-topic.topic-tone-2 .headline-prefix {
  color: var(--green);
}
.editorial-arrow {
  font: 400 42px/1 var(--sans);
}
.lower-manifesto {
  background: var(--green);
  color: #fff;
  padding: 32px 42px;
  margin: 0 0 80px;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 30px;
  align-items: end;
}
.lower-manifesto > .eyebrow {
  grid-column: 1/-1;
  color: white;
  margin: 0 0 16px;
}
.lower-manifesto p {
  font: 700 37px/1.08 var(--serif);
  letter-spacing: -0.7px;
  margin: 0;
}
.lower-manifesto a {
  font: 700 15px var(--sans);
  border-bottom: 1px solid #ffffff90;
  padding-bottom: 7px;
}
.lower-manifesto a span {
  font-size: 29px;
  margin-left: 12px;
}
.closing-headline {
  margin: 0 0 64px;
}
.closing-headline h2 {
  font: 700 clamp(34px, 4.2vw, 62px) / 1.03 var(--serif);
  letter-spacing: -1.25px;
  margin: 16px 0 0;
}
.closing-lists {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 23px;
  margin: 0 0 52px;
  scroll-margin-top: 90px;
}
.closing-list {
  padding: 25px 23px;
}
.closing-tone-0 {
  background: #1b1b1b;
  color: white;
}
.closing-tone-1 {
  background: #efede8;
}
.closing-tone-2 {
  border-left: 1px solid #aaa8a1;
}
.closing-list h2 {
  font: 700 15px/1.2 var(--sans);
  letter-spacing: 0.9px;
  text-transform: uppercase;
  margin: 0 0 22px;
}
.closing-list ol {
  list-style: none;
  counter-reset: closing;
  padding: 0;
  margin: 0;
}
.closing-list li {
  counter-increment: closing;
  position: relative;
  padding: 0 0 19px 36px;
  margin: 0 0 20px;
  border-bottom: 1px solid #9c9a94;
}
.closing-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.closing-list li:before {
  content: counter(closing);
  position: absolute;
  left: 0;
  top: -3px;
  font: 700 35px/1 var(--sans);
}
.closing-list a {
  font: 700 22px/1.14 var(--serif);
  letter-spacing: -0.3px;
}
.closing-tone-1 .headline-prefix {
  color: inherit;
}
.closing-list a:hover,
.closing-list a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.closing-briefs {
  columns: 3;
  column-gap: 46px;
  margin: 0 0 45px;
}
.closing-briefs article {
  break-inside: avoid;
  border-top: 1px solid #aaa8a1;
  padding: 20px 0;
  margin-bottom: 10px;
}
.closing-briefs h3 {
  font: 700 23px/1.14 var(--serif);
  margin: 10px 0 0;
}
.all-news-link {
  margin-bottom: 45px;
}
@media (max-width: 1000px) {
  .editorial-row > div {
    padding-left: 16px;
    padding-right: 16px;
  }
  .lower-story h3 {
    font-size: 22px;
  }
  .lower-major h2 {
    font-size: 36px;
  }
  .editorial-topic {
    padding-left: 18px;
    padding-right: 18px;
  }
  .editorial-topic h3 {
    font-size: 25px;
  }
  .closing-list {
    padding-left: 17px;
    padding-right: 17px;
  }
  .closing-list a {
    font-size: 20px;
  }
}
@media (max-width: 700px) {
  .lower-home {
    margin-top: 40px;
  }
  .editorial-row {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 46px;
  }
  .editorial-row > .editorial-main {
    grid-column: 1/-1;
    grid-row: 1;
    border: 0;
    padding: 0 0 25px;
    margin-bottom: 24px;
    border-bottom: 1px solid #aaa8a1;
  }
  .editorial-row > .editorial-stack {
    padding: 0 15px 0 0;
    border: 0;
  }
  .editorial-row > .editorial-stack:last-child {
    padding: 0 0 0 15px;
    border-left: 1px solid #aaa8a1;
  }
  .lower-major h2 {
    font-size: 36px;
  }
  .lower-major img {
    width: 100%;
  }
  .lower-story img {
    width: 100%;
  }
  .lower-story h3 {
    font-size: 22px;
  }
  .editorial-triptych {
    grid-template-columns: 1fr;
    margin-bottom: 46px;
    gap: 22px;
  }
  .editorial-topic {
    margin: 0;
    border: 0;
    padding: 23px;
  }
  .editorial-topic h3 {
    font-size: 28px;
  }
  .editorial-topic img {
    max-width: 420px;
  }
  .topic-tone-2 {
    padding-left: 0;
    padding-right: 0;
    border-top: 1px solid #aaa8a1;
    padding-top: 23px;
  }
  .lower-manifesto {
    grid-template-columns: 1fr;
    padding: 26px 23px;
    margin-bottom: 48px;
    gap: 15px;
  }
  .lower-manifesto p {
    font-size: 30px;
  }
  .lower-manifesto a {
    justify-self: start;
    margin-top: 10px;
  }
  .closing-headline {
    margin-bottom: 40px;
  }
  .closing-headline h2 {
    font-size: 36px;
    letter-spacing: -0.7px;
  }
  .closing-lists {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .closing-tone-2 {
    border-left: 0;
    border-top: 1px solid #aaa8a1;
  }
  .closing-list a {
    font-size: 23px;
  }
  .closing-briefs {
    columns: 1;
  }
}
.site-footer {
  display: block;
  padding: 35px 0 22px;
  margin-top: 30px;
  border-top: 1px solid #8d8b85;
}
.footer-masthead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 38px;
}
.site-footer .footer-logo {
  font-size: clamp(26px, 3.9vw, 56px);
  line-height: 1;
}
.site-footer .footer-masthead p {
  font: 400 18px/1.2 var(--sans);
  margin: 13px 0 0;
}
.footer-search {
  width: 280px;
}
.footer-search .wp-search {
  border-bottom: 1px solid #888;
  gap: 6px;
}
.footer-search .wp-search input {
  border: 0;
  padding: 8px 0;
  min-width: 0;
  font-size: 15px;
}
.footer-search .wp-search button {
  background: none;
  color: #111;
  padding: 8px 0 8px 8px;
  font-size: 14px;
}
.footer-directory {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap: 38px;
  margin-bottom: 36px;
}
.footer-directory h2 {
  font: 700 18px/1.2 var(--sans);
  margin: 0 0 15px;
}
.footer-directory p,
.footer-directory a {
  font: 400 16px/1.4 var(--sans);
}
.footer-directory p {
  margin: 0 0 14px;
}
.footer-directory ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-directory li {
  margin: 0 0 7px;
}
.footer-directory a:hover,
.footer-directory a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-back {
  margin-top: 22px !important;
}
.footer-bottom {
  border-top: 1px solid #c3c1ba;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font: 400 12px var(--sans);
  color: #555;
}
@media (max-width: 900px) {
  .footer-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }
  .footer-masthead {
    align-items: start;
    flex-direction: column;
    gap: 23px;
  }
  .footer-search {
    width: 100%;
    max-width: 360px;
  }
}
@media (max-width: 600px) {
  .site-footer .footer-logo {
    font-size: clamp(22px, 5.7vw, 34px);
  }
  .footer-directory {
    gap: 26px 20px;
  }
  .footer-directory a,
  .footer-directory p {
    font-size: 15px;
  }
  .footer-masthead {
    margin-bottom: 30px;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 9px;
  }
}

.footer-directory {
  grid-template-columns: 1.3fr 1fr 1fr;
}
@media (max-width: 900px) {
  .footer-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .footer-directory {
    grid-template-columns: 1fr 1fr;
  }
  .footer-directory > div:first-child {
    grid-column: 1/-1;
  }
}

/* Mobile masthead and sections drawer. */
@media (max-width: 750px) {
  header,
  main,
  footer {
    min-width: 0;
    padding-left: 16px;
    padding-right: 16px;
  }
  header {
    padding-top: 20px;
  }
  .masthead {
    font-size: 7.5vw;
    padding: 20px 0;
    width: 100%;
  }
  .masthead > .brand-lockup {
    width: 100%;
    white-space: nowrap;
  }
  .brand-name,
  .compact-word {
    flex-shrink: 0;
  }
  .navigation {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
    min-height: 48px;
  }
  header #nav {
    display: none;
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    max-height: none;
    overflow: visible;
    padding: 0;
  }
  header #nav.expanded {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 8px 0 16px;
    gap: 0;
  }
  #nav ul {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
  }
  #nav a {
    display: block;
    padding: 13px 0;
    white-space: normal;
    border-bottom: 1px solid #ddd;
  }
  #menu,
  #search-toggle {
    min-height: 44px;
    padding: 10px 0;
    font-size: 13px;
  }
  .compact-header,
  .article-document .compact-header {
    height: 96px;
    padding: 14px 16px 8px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    justify-content: space-between;
    gap: 8px;
  }
  .compact-header > .brand-lockup {
    width: 100%;
    font-size: 7.5vw;
  }
  .compact-header .compact-actions,
  .article-document .compact-actions {
    width: 100%;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    gap: 22px;
  }
  .compact-actions button,
  .article-document .compact-actions button {
    min-height: 32px;
    padding: 4px 0;
    font-size: 12px;
  }
  .article-document main {
    padding-top: 96px;
  }
  .article-document header {
    padding-top: 96px;
  }
  .reading-bar-meta {
    display: none;
  }
  .scrolled.mobile-menu-open header .navigation,
  .article-document.mobile-menu-open header .navigation {
    position: fixed;
    top: 96px;
    left: 0;
    right: 0;
    padding: 0 16px;
    background: var(--paper);
    z-index: 19;
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
    border-top-width: 4px;
    box-shadow: 0 8px 12px #0001;
  }
  .scrolled.mobile-menu-open header .navigation > #menu,
  .scrolled.mobile-menu-open header .navigation > #search-toggle,
  .article-document.mobile-menu-open header .navigation > #menu,
  .article-document.mobile-menu-open header .navigation > #search-toggle {
    display: none;
  }
  main > * {
    min-width: 0;
  }
  .story,
  .card,
  .reading-body,
  .article-head {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .reading-body table {
    display: block;
    overflow-x: auto;
  }
  .wp-search input {
    min-width: 0;
  }
  .article-head h1 {
    font-size: clamp(32px, 7vw, 43px);
  }
  .article-deck {
    font-size: 21px;
  }
  .reading-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .reading-body {
    width: 100%;
    font-size: 19px;
    line-height: 1.55;
  }
  .reading-byline {
    text-align: left;
    padding: 0;
  }
  .reading-details {
    margin: 0;
  }
  .article-photo {
    width: 100%;
    margin: 26px 0 34px;
  }
  .article-photo figcaption {
    position: static;
    width: auto;
    margin: 10px 0 0;
    padding: 0;
    border: 0;
  }
  .alert-band {
    margin-left: -16px;
    margin-right: -16px;
  }
}
@media (max-width: 500px) {
  .side-stack,
  .duo-row,
  .triple-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .side-stack .story h3,
  .duo-row h3,
  .triple-row > .story h3,
  .blue-card h3 {
    font-size: 29px;
  }
  .duo-row > .story + .story,
  .triple-row > .story {
    padding-left: 0;
    border-left: 0;
  }
  .triple-row > .story:last-child {
    display: block;
  }
  .alert-band h2,
  .big-text h2 {
    font-size: clamp(29px, 8.2vw, 38px);
  }
  .house-ad {
    gap: 10px;
  }
  .house-ad .ad-right {
    max-width: 34%;
  }
  .house-ad strong {
    font-size: clamp(19px, 5.6vw, 27px);
  }
}

/* Compact masthead mark in the editorial banner. */
.house-ad .ad-right .banner-brand {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  color: #fff;
  font:
    900 46px/0.9 "Roboto Slab",
    Georgia,
    serif;
  white-space: nowrap;
}
.house-ad .ad-right .banner-brand-c {
  display: block;
  margin: 0;
  font: inherit;
  letter-spacing: 0;
}
.house-ad .ad-right .banner-brand-info {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin: 0;
  padding: 0 2px 2px;
  background: var(--green);
  color: #fff;
  width: 38px;
  height: 38px;
  aspect-ratio: 1;
  flex: 0 0 38px;
  font: 700 17px/1 var(--sans);
}
@media (max-width: 750px) {
  .house-ad .ad-right .banner-brand {
    font-size: 34px;
  }
  .house-ad .ad-right .banner-brand-info {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    font-size: 13px;
  }
}

/* Mobile newspaper rhythm, based on the supplied reference screens. */
.mobile-lead-image {
  display: none;
}
@media (max-width: 750px) {
  header {
    position: relative;
    padding-top: 52px;
  }
  .utility {
    display: none;
  }
  .masthead {
    padding: 12px 0 14px;
  }
  .navigation {
    min-height: 0;
    border-top: 3px solid var(--green);
  }
  header > .navigation > #menu,
  header > .navigation > #search-toggle {
    position: absolute;
    top: 10px;
    min-height: 36px;
    font-size: 12px;
  }
  header > .navigation > #menu {
    right: 16px;
  }
  header > .navigation > #search-toggle {
    right: 100px;
  }
  header #nav.expanded {
    padding: 8px 0 16px;
  }
  .compact-header .compact-actions {
    order: -1;
  }
  .compact-header > .brand-lockup {
    order: 1;
  }
  .article-document .compact-actions {
    order: -1;
  }
  .ad-slot {
    height: auto;
    min-height: 0;
    padding: 0;
    margin: 22px auto 30px;
    max-width: 100%;
  }
  .house-ad {
    height: auto;
    min-height: 100px;
    padding: 18px 20px;
  }
  .house-ad strong {
    font-size: clamp(20px, 5.5vw, 29px);
  }
  .house-ad small {
    font-size: 10px;
    margin-top: 10px;
  }
  .ad-caption {
    position: static;
    display: block;
    text-align: center;
    margin-top: 6px;
  }
  .alert-band {
    background: transparent;
    padding: 0;
    margin: 0 0 32px;
  }
  .alert-band h2 {
    font-size: clamp(34px, 9.2vw, 57px);
    line-height: 1.02;
    letter-spacing: -1px;
    text-decoration: none;
    margin: 15px 0 20px;
  }
  .alert-band .headline-prefix {
    color: var(--green);
  }
  .mobile-lead-image {
    display: block;
    margin: 0 -16px 22px;
  }
  .mobile-lead-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .alert-band .related-line {
    display: block;
    font: 700 20px/1.16 var(--serif);
    border-left: 1px solid #111;
    border-top: 0;
    padding: 0 0 0 9px;
    margin: 16px 0;
  }
  .big-text {
    margin: 0 0 28px;
    padding-top: 24px;
    border-top: 1px solid #aaa8a1;
  }
  .big-text h2 {
    font-size: clamp(32px, 8.7vw, 48px);
    line-height: 1.06;
    letter-spacing: -0.7px;
  }
  .eyebrow {
    font-size: 11px;
    letter-spacing: 1px;
    line-height: 1.3;
  }
  .first-row {
    display: block;
  }
  .first-row > .lead {
    margin-bottom: 28px;
  }
  .story.lead h3 {
    font-size: clamp(32px, 8.5vw, 46px);
    line-height: 1.05;
  }
  .story.lead img {
    width: 76%;
    height: auto;
    max-height: none;
  }
  .side-stack,
  .duo-row {
    display: block;
    padding: 0;
    border: 0;
    margin: 0 0 26px;
  }
  .side-stack .story,
  .duo-row .story {
    border: 0 !important;
    border-top: 1px solid #aaa8a1 !important;
    margin: 0 !important;
    padding: 24px 0 !important;
  }
  .side-stack .story > a,
  .duo-row .story > a,
  .lower-story > a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24%;
    column-gap: 15px;
    align-items: start;
  }
  .side-stack .story .eyebrow,
  .duo-row .story .eyebrow,
  .lower-story .eyebrow {
    grid-column: 1;
    margin: 0 0 9px;
  }
  .side-stack .story h3,
  .duo-row .story h3,
  .lower-story h3 {
    grid-column: 1;
    font: 700 22px/1.12 var(--serif);
    letter-spacing: -0.25px;
    margin: 0;
  }
  .side-stack .story img,
  .duo-row .story img,
  .lower-story img {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
    object-fit: contain;
    aspect-ratio: auto;
  }
  .newsroom {
    margin-bottom: 32px;
  }
  .latest-rail {
    display: block;
    border: 0;
    border-top: 1px solid #aaa8a1;
    padding: 24px 0 0;
    margin: 6px 0 30px;
  }
  .latest-rail > h2 {
    font: 700 17px/1.2 var(--sans);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px;
    border-left: 2px solid #111;
    padding-left: 8px;
  }
  .latest-list {
    margin: 0 0 0 3px;
    padding-left: 15px;
  }
  .latest-list article {
    margin-bottom: 18px;
  }
  .latest-list article:nth-child(n + 4) {
    display: none;
  }
  .latest-list article:before {
    border-radius: 0;
    background: var(--green);
    width: 7px;
    height: 7px;
    left: -19px;
    top: 2px;
  }
  .latest-list h3 {
    font: 700 19px/1.15 var(--serif);
  }
  .latest-list .eyebrow {
    font-size: 10px;
    margin-bottom: 5px;
  }
  .all-news {
    display: block;
    text-align: right;
    font-size: 14px;
    margin-top: 18px;
  }
  .triple-row {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0 0 34px;
  }
  .triple-row > .story:last-child {
    display: block;
  }
  .triple-row > .story {
    padding: 24px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #aaa8a1;
  }
  .triple-row > .story h3 {
    font-size: 27px;
  }
  .triple-row > .story img {
    width: 76%;
    height: auto;
    margin-top: 15px;
  }
  .blue-card {
    padding: 24px;
    background: #e8b47c;
  }
  .blue-card h3 {
    font-size: 29px;
  }
  .blue-card img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .ribbon-section {
    margin: 34px 0;
  }
  .ribbon {
    gap: 14px;
  }
  .ribbon-card {
    width: 77vw;
    min-width: 77vw;
    max-width: 360px;
    height: auto;
    min-height: 330px;
  }
  .ribbon-card h3 {
    font-size: 25px;
  }
  .six-grid {
    background: #efede8;
    padding: 22px;
    margin: 34px 0;
  }
  .six-items {
    display: block;
  }
  .six-items article:nth-child(n) {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid #555;
  }
  .six-items article:last-child {
    border-bottom: 0;
  }
  .six-items b {
    font: 700 46px/1 var(--sans);
    min-width: 28px;
  }
  .six-items h3 {
    font: 700 20px/1.16 var(--serif);
    letter-spacing: -0.2px;
  }
  .lower-home {
    margin-top: 30px;
  }
  .editorial-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 34px;
  }
  .editorial-row > .editorial-main {
    order: -1;
    padding: 24px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid #aaa8a1 !important;
    width: 100%;
  }
  .editorial-row > .editorial-stack {
    padding: 0 !important;
    border: 0 !important;
    width: 100%;
  }
  .lower-major h2 {
    font: 700 clamp(31px, 8.4vw, 46px) / 1.07 var(--serif);
    letter-spacing: -0.7px;
    margin-bottom: 15px;
  }
  .lower-major img {
    width: 76%;
  }
  .lower-story,
  .lower-story + .lower-story {
    padding: 24px 0 !important;
    margin: 0 !important;
    border-top: 1px solid #aaa8a1;
  }
  .lower-story .eyebrow,
  .lower-major .eyebrow {
    border-left: 1px solid #999;
    padding-left: 7px;
  }
  .editorial-triptych {
    gap: 24px;
    margin-bottom: 34px;
  }
  .editorial-topic {
    padding: 24px;
  }
  .editorial-topic h3 {
    font-size: 29px;
  }
  .editorial-topic.topic-tone-2 {
    padding: 24px 0;
  }
  .lower-manifesto {
    margin-bottom: 34px;
  }
  .lower-manifesto p {
    font-size: 30px;
  }
  .closing-headline {
    padding-top: 24px;
    border-top: 1px solid #aaa8a1;
    margin-bottom: 34px;
  }
  .closing-headline h2 {
    font-size: clamp(33px, 8.6vw, 48px);
  }
  .closing-list {
    padding: 24px;
  }
  .closing-list li {
    padding: 0 0 22px 42px;
    margin-bottom: 22px;
  }
  .closing-list li:before {
    font-size: 44px;
  }
  .closing-list a {
    font-size: 21px;
  }
  .closing-list h2 {
    font-size: 16px;
    border-left: 2px solid currentColor;
    padding-left: 7px;
  }
  .site-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
  .site-footer .footer-logo {
    font-size: clamp(22px, 5.7vw, 38px);
  }
}
/* Visible mobile section strip; full list remains available from MENU. */
@media (max-width: 750px) {
  header #nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    max-height: none;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  header #nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  header #nav:not(.expanded) ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 21px;
    width: max-content;
    min-width: 100%;
    padding: 0;
    margin: 0;
  }
  header #nav:not(.expanded) li {
    flex: 0 0 auto;
  }
  header #nav:not(.expanded) a {
    padding: 14px 0;
    white-space: nowrap;
    border: 0;
    font: 700 13px/1.2 var(--sans);
    letter-spacing: 0.8px;
  }
  header #nav.expanded {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 70dvh;
  }
  header #nav.expanded ul {
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
  header #nav.is-dragging {
    cursor: grabbing;
    user-select: none;
  }
}

/* Social widgets keep their own typography and fit the reading column. */
#article-text .twitter-tweet,
#article-text .twitter-video,
#article-text .instagram-media,
#article-text .tiktok-embed {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
  margin: 28px 0 !important;
}
#article-text .twitter-tweet-rendered,
#article-text .twitter-tweet iframe,
#article-text .instagram-media iframe {
  max-width: 100% !important;
}
#article-text .ci-social-frame {
  width: 100%;
  margin: 28px 0;
  overflow: hidden;
}
#article-text .ci-social-frame iframe,
#article-text .ci-facebook-frame {
  display: block;
  border: 0;
  width: 100%;
  max-width: 100%;
  background: #fff;
}
#article-text .ci-social-frame:not(.ci-social-portrait) iframe {
  aspect-ratio: 16/9;
  height: auto;
  min-height: 200px;
}
#article-text .ci-social-fallback {
  display: inline-block;
  font: 400 13px/1.4 var(--sans);
  margin-top: 8px;
}
#article-text .fb-post,
#article-text .fb-video {
  max-width: 100%;
  overflow: hidden;
  margin: 28px 0;
}
/* Header controls occupy a real row, never the horizontal section strip. */
.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.header-top .utility {
  height: auto;
  justify-content: flex-start;
}
.header-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
  margin-left: auto;
}
.header-tools button {
  position: static !important;
  min-height: 36px;
  font: 400 13px/1 var(--sans);
  background: none;
  border: 0;
  padding: 8px 0;
  white-space: nowrap;
}
#nav a:hover,
#nav a:focus-visible,
#nav a[aria-current],
#nav .current-menu-item > a,
#nav .current-menu-parent > a,
#nav .current-menu-ancestor > a,
#nav .current-cat > a {
  color: var(--green);
}
.article-document header .header-top {
  display: none;
}
.search-open.article-document header {
  display: block;
}
.search-open.article-document header .masthead {
  display: none;
}
.search-open.article-document:not(.article-menu-open) header .navigation {
  display: none;
}
.scrolled.search-open #search-panel,
.article-document.search-open #search-panel {
  position: fixed;
  top: 74px;
  left: 0;
  right: 0;
  background: var(--paper);
  padding: 18px max(16px, calc((100vw - 1300px) / 2));
  z-index: 22;
  border-bottom: 1px solid #aaa;
}
.floating-share {
  position: fixed;
  right: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  font-family: var(--sans);
}
.floating-share-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--green);
  color: #fff;
  border: 0;
  min-height: 46px;
  padding: 12px 16px;
  font: 700 14px/1 var(--sans);
  box-shadow: 0 3px 16px #0002;
  cursor: pointer;
}
.floating-share-toggle:hover {
  background: #005e38;
}
.share-options {
  position: absolute;
  right: 0;
  bottom: 58px;
  width: 250px;
  max-width: calc(100vw - 32px);
  padding: 17px;
  background: var(--paper);
  color: #111;
  border: 1px solid #bbb;
  box-shadow: 0 6px 24px #0002;
  max-height: 70dvh;
  overflow: auto;
}
.share-options-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 9px;
}
.share-options-head strong {
  font-size: 17px;
}
.share-close {
  background: none;
  border: 0;
  font-size: 25px;
  line-height: 1;
  padding: 4px 6px;
}
.share-options > a,
.share-copy {
  display: block;
  width: 100%;
  padding: 11px 0;
  border: 0;
  border-top: 1px solid #ddd;
  background: none;
  text-align: left;
  font: 400 16px/1.2 var(--sans);
  text-decoration: none;
  cursor: pointer;
}
.share-options > a:hover,
.share-copy:hover {
  color: var(--green);
  text-decoration: underline;
}
.share-feedback {
  font: 400 13px/1.4 var(--sans);
  margin: 10px 0 0;
  overflow-wrap: anywhere;
}
.share-feedback:empty {
  display: none;
}
body {
  padding-bottom: 75px;
}
@media (max-width: 750px) {
  header {
    padding-top: 13px;
  }
  .header-top {
    min-height: 34px;
    gap: 0;
  }
  .header-tools {
    gap: 21px;
  }
  .header-top .utility {
    display: none;
  }
  .masthead {
    padding-top: 12px;
  }
  .header-tools #menu,
  .header-tools #search-toggle {
    font-size: 12px;
    min-height: 34px;
    padding: 6px 0;
  }
  .compact-actions #share {
    font-size: 10px;
    letter-spacing: 0;
    max-width: none;
  }
  .compact-actions #compact-search {
    font-size: 11px;
  }
  .compact-actions #compact-menu {
    font-size: 11px;
  }
  .compact-header .compact-actions,
  .article-document .compact-actions {
    gap: 16px;
  }
  .scrolled.search-open #search-panel,
  .article-document.search-open #search-panel {
    top: 96px;
  }
  .floating-share {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .floating-share-toggle {
    min-height: 44px;
    padding: 11px 13px;
  }
}
/* Breathing room below the fixed masthead while reading. */
.scrolled .compact-header {
  height: 70px;
  padding-bottom: 14px;
}
.article-document .compact-header {
  height: 88px;
  padding-bottom: 14px;
}
.article-document main,
.article-document header {
  padding-top: 88px;
}
html {
  scroll-padding-top: 100px;
}
.scrolled.search-open #search-panel {
  top: 70px;
}
.article-document.search-open #search-panel {
  top: 88px;
}
@media (max-width: 750px) {
  .scrolled .compact-header,
  .article-document .compact-header {
    height: 112px;
    padding-bottom: 22px;
  }
  .article-document main,
  .article-document header {
    padding-top: 112px;
  }
  .scrolled.mobile-menu-open header .navigation,
  .article-document.mobile-menu-open header .navigation {
    top: 112px;
    max-height: calc(100dvh - 112px);
  }
  .scrolled.search-open #search-panel,
  .article-document.search-open #search-panel {
    top: 112px;
  }
  html {
    scroll-padding-top: 128px;
  }
}
/* Article entrance uses the same full masthead as the homepage. */
.article-document .compact-header {
  transform: translateY(-100%);
}
.article-document.scrolled .compact-header {
  transform: translateY(0);
}
.article-document header {
  display: block;
  padding-top: 68px;
}
.article-document main {
  padding-top: 0;
}
.article-document header .header-top {
  display: flex;
}
.article-document.article-menu-open header .masthead,
.article-document.search-open header .masthead {
  display: block;
}
.article-document.article-menu-open header .utility {
  display: flex;
}
.article-document.search-open:not(.article-menu-open) header .navigation {
  display: flex;
}
.article-section-strip {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 0;
  border-bottom: 1px solid #ccc;
  font: 700 12px/1.25 var(--sans);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}
.article-section-strip::-webkit-scrollbar {
  display: none;
}
.article-section-strip a:hover {
  color: var(--green);
}
.article-section-strip time {
  font-weight: 400;
}
.article-document:not(.scrolled).search-open #search-panel {
  position: static;
  padding: 15px 0;
  background: none;
}
@media (max-width: 750px) {
  .article-document header {
    padding-top: 13px;
  }
  .article-document.article-menu-open header .utility {
    display: none;
  }
  .article-document main {
    padding-top: 0;
  }
  .article-document:not(.scrolled).mobile-menu-open header .navigation {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    padding: 0;
    max-height: none;
    overflow: visible;
    box-shadow: none;
    border-top-width: 3px;
  }
  .article-section-strip {
    gap: 12px;
    font-size: 11px;
    padding: 13px 0;
  }
  .article-document .ad-slot {
    margin-top: 24px;
  }
}
/* Official FACUA campaign: preserve its own black, white and red artwork. */
.campaign-banner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 200px;
  align-items: center;
  gap: 30px;
  padding: 32px;
  background: #000;
  color: #fff;
  margin: 36px 0 48px;
  text-decoration: none;
}
.campaign-banner img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.campaign-symbol {
  width: 180px;
}
.campaign-date {
  width: 260px;
  margin-bottom: 18px;
}
.campaign-title {
  max-width: 460px;
}
.campaign-title img + img {
  margin-top: 5px;
}
.campaign-message p {
  font: 400 17px/1.3 var(--sans);
  margin: 17px 0 0;
  color: white;
}
.campaign-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.campaign-action > img {
  width: 170px;
}
.campaign-action > span {
  display: block;
  border: 1px solid #fff;
  padding: 13px 15px;
  font: 700 15px/1.2 var(--sans);
  text-align: center;
  white-space: nowrap;
}
.campaign-action b {
  margin-left: 9px;
  font-size: 20px;
}
.campaign-banner:hover .campaign-action > span,
.campaign-banner:focus-visible .campaign-action > span {
  background: #fff;
  color: #000;
}
.campaign-banner:focus-visible {
  outline-color: #007948;
}
@media (max-width: 900px) {
  .campaign-banner {
    grid-template-columns: 120px minmax(0, 1fr) 150px;
    gap: 20px;
    padding: 25px;
  }
  .campaign-action > span {
    font-size: 13px;
    padding: 12px;
  }
  .campaign-message p {
    font-size: 15px;
  }
  .campaign-date {
    width: 220px;
  }
}
@media (max-width: 600px) {
  .campaign-banner {
    grid-template-columns: 75px minmax(0, 1fr);
    gap: 18px;
    padding: 24px 20px;
    margin: 30px 0 36px;
  }
  .campaign-symbol {
    width: 75px;
  }
  .campaign-date {
    width: 180px;
    margin-bottom: 13px;
  }
  .campaign-title img + img {
    margin-top: 3px;
  }
  .campaign-message p {
    font-size: 13px;
    margin-top: 13px;
  }
  .campaign-action {
    grid-column: 1/-1;
    flex-direction: row;
    justify-content: space-between;
    gap: 14px;
    padding-top: 5px;
  }
  .campaign-action > img {
    width: 115px;
  }
  .campaign-action > span {
    font-size: 12px;
    padding: 10px;
  }
  .campaign-action b {
    font-size: 17px;
    margin-left: 5px;
  }
}

/* Banner inventory is managed in the Banners section. */
.ci-banner-slot {
  margin: 26px 0 38px;
  width: 100%;
}
.ci-banner-link,
.ci-banner-link picture {
  display: block;
}
.ci-banner-link img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
.ci-banner-link:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 4px;
}
@media (max-width: 600px) {
  .ci-banner-slot {
    margin: 22px 0 28px;
  }
}

/* Entrance advertising in articles sits above the masthead, edge to edge. */
body > .ci-banner-slot[data-place="article-top"] {
  margin: 0;
  width: 100%;
  max-width: none;
  background: #000;
  padding: 0 0 16px;
}
.ci-banner-down {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 10px auto 0;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font: 400 30px/1 var(--sans);
  text-decoration: none;
}
.ci-banner-down:hover {
  background: #efede8;
  color: var(--green);
}
body > .ci-banner-slot[data-place="article-top"] + .compact-header + header {
  padding-top: 28px;
}
@media (min-width: 751px) {
  body > .ci-banner-slot[data-place="article-top"] .ci-banner-link {
    max-width: 1920px;
    margin: auto;
  }
}
@media (max-width: 750px) {
  body > .ci-banner-slot[data-place="article-top"] + .compact-header + header {
    padding-top: 13px;
  }
  .ci-banner-down {
    width: 38px;
    height: 38px;
    font-size: 26px;
    margin-top: 8px;
  }
}

/* A full-screen campaign enters, holds briefly, and leaves with native scrolling. */
.ci-banner-slot.ci-banner-fullscreen {
  position: relative;
  height: 125svh;
  min-height: 600px;
  width: var(--ci-viewport-width, 100%);
  margin-left: calc(50% - var(--ci-viewport-width, 100%) / 2);
  margin-right: calc(50% - var(--ci-viewport-width, 100%) / 2);
  background: #000;
  padding: 0;
}
.ci-banner-fullscreen .ci-banner-link {
  position: sticky;
  top: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(100svh - 70px);
  min-height: 450px;
  background: #000;
}
.ci-banner-fullscreen .ci-banner-link picture {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.ci-banner-fullscreen .ci-banner-link img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: 120svh;
  padding: 0;
  margin: 0;
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-link {
  top: 0;
  height: 100svh;
  max-width: none;
}
.ci-banner-fullscreen .ci-banner-down {
  position: absolute;
  bottom: 12px;
  left: calc(50% - 22px);
  z-index: 1;
  margin: 0;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen {
    min-height: 520px;
    height: 120svh;
  }
  .ci-banner-fullscreen .ci-banner-link {
    top: 112px;
    height: calc(100svh - 112px);
    min-height: 380px;
  }
  body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-link {
    height: 100svh;
    top: 0;
  }
  .ci-banner-fullscreen .ci-banner-down {
    left: calc(50% - 19px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-slot.ci-banner-fullscreen,
  body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
    height: auto;
    min-height: 0;
  }
  .ci-banner-fullscreen .ci-banner-link,
  body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-link {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
  }
  .ci-banner-fullscreen .ci-banner-down {
    position: static;
    margin: 12px auto;
    left: auto;
  }
  .ci-banner-fullscreen .ci-banner-link img {
    height: auto;
  }
}
@media (min-width: 751px) {
  .compact-header .compact-logo {
    font-size: 22px;
  }
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-down {
  top: calc(100svh - 60px);
  bottom: auto;
}
@media (min-width: 751px) and (max-width: 1000px) {
  .compact-header .reading-bar-meta {
    display: none;
  }
}
/* Section identity: the publication mark, a separator, and the section title. */
.section-masthead {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}
.section-brand {
  flex: 0 0 auto;
}
.section-brand .compact-logo {
  font:
    900 28px/1 "Roboto Slab",
    Georgia,
    serif;
}
.section-divider {
  font: 400 56px/1 var(--sans);
  color: #111;
}
.masthead .section-masthead .section-name {
  font:
    900 clamp(34px, 4vw, 58px) / 1.02 "Roboto Slab",
    Georgia,
    serif;
  letter-spacing: -0.7px;
  text-transform: uppercase;
  white-space: normal;
  margin: 0;
  overflow-wrap: anywhere;
  -webkit-text-stroke: 0;
}
.ci-banner-slot[data-place="home-top"],
.ci-banner-slot.ci-banner-fullscreen[data-place="home-top"] {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  max-width: 1050px;
  margin: 26px auto 38px;
  padding: 0;
  background: transparent;
}
.ci-banner-slot[data-place="home-top"] .ci-banner-link {
  position: static;
  top: auto;
  height: auto;
  min-height: 0;
}
.ci-banner-slot[data-place="home-top"] picture {
  display: block;
  height: auto;
}
.ci-banner-slot[data-place="home-top"] img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: contain;
}
@media (max-width: 750px) {
  .section-masthead {
    flex-wrap: wrap;
    gap: 10px 12px;
  }
  .section-brand {
    flex-basis: 100%;
  }
  .section-brand .compact-logo {
    font-size: clamp(22px, 6.2vw, 30px);
  }
  .section-divider {
    font-size: 34px;
  }
  .masthead .section-masthead .section-name {
    flex: 1;
    font-size: clamp(26px, 7vw, 36px);
    letter-spacing: -0.3px;
  }
  .ci-banner-slot[data-place="home-top"] img {
    max-height: 140px;
  }
}

/* Campaign retains its original artwork and Arial uppercase supporting slogan. */
.ci-banner-link.ci-is-campaign > picture {
  display: none;
}
.ci-campaign-content[hidden] {
  display: none !important;
}
.ci-campaign-content {
  width: 100%;
}
.ci-campaign-content .campaign-banner {
  margin: 0;
  border: 0;
  box-sizing: border-box;
}
.campaign-slogan {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  min-height: 3em;
}
.campaign-slogan span {
  color: #ff0018;
}
.ci-banner-fullscreen .ci-campaign-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: #000;
}
.ci-banner-fullscreen .campaign-banner {
  width: min(1200px, 100%);
}
/* Entrance creative scrolls away with the page; the arrow skips to its header. */
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: 100svh;
  min-height: 0;
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-link {
  position: relative;
  top: 0;
  height: 100%;
  min-height: 0;
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-down {
  top: auto;
  bottom: 20px;
}
@media (max-width: 600px) {
  .ci-banner-fullscreen .campaign-banner {
    display: flex;
    flex-direction: column;
    gap: 22px;
    text-align: center;
    padding: 25px 20px 75px;
  }
  .ci-banner-fullscreen .campaign-symbol {
    width: min(38vw, 24svh);
  }
  .ci-banner-fullscreen .campaign-message {
    width: min(85vw, 450px);
  }
  .ci-banner-fullscreen .campaign-date {
    margin: 0 auto 18px;
    width: 65%;
  }
  .ci-banner-fullscreen .campaign-action {
    padding: 0;
  }
  .ci-banner-fullscreen .campaign-action > img {
    width: 130px;
  }
  .campaign-slogan {
    letter-spacing: 0.5px;
  }
}

.campaign-slogan {
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.6 !important;
}
.campaign-slogan span {
  display: block;
  min-height: 1.6em;
  color: #ff0717;
}

/* One type scale for the publication name and section title. */
.section-masthead {
  --section-type-size: clamp(22px, 2.6vw, 42px);
}
.section-brand .compact-logo,
.masthead .section-masthead .section-name {
  font-size: var(--section-type-size);
}
.section-divider {
  font-size: calc(var(--section-type-size) * 1.15);
}
@media (max-width: 750px) {
  .section-masthead {
    --section-type-size: clamp(26px, 7vw, 36px);
  }
}

/* Keep the complete arrow within the visible viewport, including browser UI. */
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: var(--ci-viewport-height, 100svh);
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-down {
  top: auto;
  bottom: calc(36px + env(safe-area-inset-bottom, 0px));
  z-index: 3;
  margin: 0;
  transform: none;
}
body.admin-bar
  > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: calc(var(--ci-viewport-height, 100svh) - 32px);
}
@media (max-width: 782px) {
  body.admin-bar
    > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
    height: calc(var(--ci-viewport-height, 100svh) - 46px);
  }
}

/* A stronger arrow with a gentle floating cue, within the safe bottom margin. */
.ci-banner-down svg {
  display: block;
  flex: none;
  width: 26px;
  height: 26px;
}
.ci-banner-down {
  animation: ci-arrow-float 2.4s ease-in-out infinite;
}
@keyframes ci-arrow-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}
.ci-banner-down:hover,
.ci-banner-down:focus-visible {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-down {
    animation: none;
  }
}

/* Desktop campaign follows the poster hierarchy: large symbol/title, smaller date. */
@media (min-width: 751px) {
  .ci-banner-fullscreen .ci-campaign-content .campaign-banner {
    width: min(1480px, 94vw);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    grid-template-rows: auto auto;
    gap: 24px 5vw;
    padding: 32px 30px 85px;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-symbol {
    grid-column: 1;
    grid-row: 1/3;
    width: min(100%, 62svh);
    max-height: 65svh;
    justify-self: center;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-message {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-date {
    width: 62%;
    margin: 0 0 28px;
    max-height: 8svh;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-title {
    width: 100%;
    max-width: none;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-title img {
    width: 100%;
    max-height: 16svh;
    object-position: left center;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-slogan {
    font-size: clamp(15px, 1.2vw, 22px);
    margin-top: 24px;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-action {
    grid-column: 2;
    grid-row: 2;
    align-items: flex-start;
    padding: 0;
  }
  .ci-banner-fullscreen .ci-campaign-content .campaign-action > img {
    width: clamp(140px, 13vw, 220px);
    max-height: 11svh;
    object-position: left center;
  }
}

/* Homepage reveal: a fixed-height window clips a viewport-fixed creative. */
.ci-banner-slot.ci-banner-fullscreen[data-place="home-body"] {
  height: 560px;
  min-height: 0;
  overflow: hidden;
  clip-path: inset(0);
  isolation: isolate;
}
.ci-banner-fullscreen[data-place="home-body"] .ci-banner-link {
  position: fixed;
  inset: 0;
  top: 0;
  width: 100%;
  height: var(--ci-viewport-height, 100svh);
  min-height: 0;
  z-index: 0;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen[data-place="home-body"] {
    height: 390px;
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-fullscreen[data-place="home-body"] .ci-banner-link {
    position: relative;
    inset: auto;
    height: 100%;
  }
  .ci-banner-fullscreen[data-place="home-body"] .ci-campaign-content {
    height: 100%;
  }
}

/* Section identity follows the masthead into the reading bar. */
.compact-section-brand {
  --compact-section-size: 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.compact-header .compact-section-brand .compact-logo,
.compact-section-name {
  font:
    900 var(--compact-section-size) / 1.02 "Roboto Slab",
    Georgia,
    serif;
}
.compact-section-name {
  text-transform: uppercase;
  letter-spacing: -0.3px;
}
.compact-section-divider {
  font: 400 calc(var(--compact-section-size) * 1.15) / 1 var(--sans);
}
.compact-header.has-section .compact-actions > a {
  display: none;
}
@media (min-width: 751px) and (max-width: 1100px) {
  .compact-section-brand {
    --compact-section-size: 18px;
    gap: 12px;
  }
}
@media (max-width: 750px) {
  .compact-header.has-section .compact-section-brand {
    --compact-section-size: 18px;
    flex-wrap: wrap;
    gap: 7px 10px;
    width: 100%;
  }
  .compact-header.has-section .compact-logo {
    width: auto;
    flex: none;
  }
  .compact-section-name {
    flex: 1;
    min-width: 120px;
  }
  .compact-header.has-section {
    min-height: 112px;
    height: auto;
    padding-bottom: 18px;
  }
}

/* Give the article introduction breathing room beneath the section navigation. */
.article-document main {
  padding-top: 42px;
}
@media (max-width: 750px) {
  .article-document main {
    padding-top: 30px;
  }
}

.compact-section-brand a.compact-section-name {
  color: inherit;
  text-decoration: none;
}
.compact-section-brand a.compact-section-name:hover,
.compact-section-brand a.compact-section-name:focus-visible {
  color: inherit;
  text-decoration: none;
}

/* The reading-bar menu must open within the desktop viewport too. */
@media (min-width: 751px) {
  .mobile-menu-open header .navigation #nav.expanded {
    display: block;
    width: 100%;
  }
  .mobile-menu-open #nav.expanded ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    white-space: normal;
  }
  .scrolled.mobile-menu-open header .navigation {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    z-index: 25;
    margin: 0;
    padding: 25px 32px;
    background: var(--paper);
    border-top: 3px solid var(--green);
    box-shadow: 0 8px 18px #0002;
    max-height: calc(100dvh - 70px);
    overflow-y: auto;
  }
  .article-document.scrolled.mobile-menu-open header .navigation {
    top: 88px;
    max-height: calc(100dvh - 88px);
  }
  .admin-bar .scrolled.mobile-menu-open header .navigation {
    top: 102px;
  }
  .admin-bar .article-document.scrolled.mobile-menu-open header .navigation {
    top: 120px;
  }
  html.scrolled.mobile-menu-open:has(body.admin-bar) header .navigation {
    top: 102px;
  }
  html.article-document.scrolled.mobile-menu-open:has(body.admin-bar)
    header
    .navigation {
    top: 120px;
  }
}

@font-face {
  font-family: "Roboto Slab";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/roboto-slab-regular.ttf) format("truetype");
}
.masthead .section-masthead .section-name,
.compact-section-name,
.compact-section-brand a.compact-section-name {
  font-weight: 400;
}

/* Reserve visible space for the publication masthead below article entrance ads. */
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  --ci-entry-reserve: 230px;
  --ci-entry-height: max(
    260px,
    calc(var(--ci-viewport-height, 100svh) - var(--ci-entry-reserve))
  );
  height: var(--ci-entry-height);
}
body.admin-bar
  > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: calc(var(--ci-entry-height) - 32px);
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-banner {
  width: min(1280px, 92vw);
  padding: 24px 30px 80px;
  gap: 16px 4vw;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-symbol {
  max-height: calc(var(--ci-entry-height) - 120px);
  width: auto;
  max-width: 100%;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-date {
  margin-bottom: 18px;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-title
  img {
  max-height: 12svh;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-slogan {
  margin-top: 16px;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-action
  > img {
  max-height: 8svh;
}
@media (max-width: 750px) {
  body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
    --ci-entry-reserve: 155px;
  }
  body.admin-bar
    > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
    height: calc(var(--ci-entry-height) - 46px);
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-banner {
    padding: 18px 18px 65px;
    gap: 12px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-symbol {
    width: min(30vw, 17svh);
    height: auto;
    max-height: 17svh;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-message {
    width: min(66vw, 300px);
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-date {
    width: 65%;
    margin: 0 auto 12px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-slogan {
    font-size: 12px;
    margin-top: 10px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-action
    > img {
    width: 100px;
    max-height: 6svh;
  }
}

/* Optical balance: regular section capitals should not overpower the heavy brand. */
.masthead .section-masthead .section-name {
  font-size: calc(var(--section-type-size) * 0.94);
}
.compact-section-name,
.compact-section-brand a.compact-section-name {
  font-size: calc(var(--compact-section-size) * 0.94);
}

/* Article entrance is deliberately shorter than the screen: keep the masthead visible. */
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"],
body.admin-bar
  > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: min(60svh, calc(100svh - 290px)) !important;
  min-height: 0 !important;
  overflow: hidden;
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-link {
  height: 100% !important;
  min-height: 0 !important;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-banner {
  width: min(1080px, 90vw);
  padding: 20px 25px 70px;
  gap: 12px 4vw;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-symbol {
  width: auto;
  max-width: 100%;
  max-height: 38svh;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-date {
  width: 58%;
  max-height: 5svh;
  margin-bottom: 12px;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-title
  img {
  max-height: 9svh;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-slogan {
  font-size: 15px;
  margin-top: 10px;
}
body
  > .ci-banner-fullscreen[data-place="article-top"]
  .ci-campaign-content
  .campaign-action
  > img {
  width: 140px;
  max-height: 6svh;
}
body > .ci-banner-fullscreen[data-place="article-top"] .ci-banner-down {
  bottom: 20px;
}
@media (max-width: 750px) {
  body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"],
  body.admin-bar
    > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
    height: calc(100svh - 190px) !important;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-banner {
    padding: 12px 16px 65px;
    gap: 9px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-symbol {
    width: min(26vw, 14svh);
    max-height: 14svh;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-message {
    width: min(60vw, 280px);
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-date {
    margin: 0 auto 10px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-slogan {
    font-size: 11px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-action
    > img {
    width: 90px;
    max-height: 5svh;
  }
}

/* Do not show the floating share control before the entrance campaign has passed. */
body:has(> .ci-banner-slot[data-place="article-top"]:not([hidden]))
  .floating-share[hidden] {
  display: none !important;
}

/* Match the visual weight of the desktop masthead rule at mobile sizes. */
@media (max-width: 750px) {
  header .navigation {
    border-top-width: clamp(5px, 0.92vw, 7px);
  }
  .article-document:not(.scrolled).mobile-menu-open header .navigation {
    border-top-width: clamp(5px, 0.92vw, 7px);
  }
}

/* Article entrance banner: agreed 80% screen height. */
body > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"],
body.admin-bar
  > .ci-banner-slot.ci-banner-fullscreen[data-place="article-top"] {
  height: 80svh !important;
}

/* Rebalance the campaign artwork within the agreed 80% entrance area. */
@media (min-width: 751px) {
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-banner {
    width: min(1400px, 94vw);
    padding: 28px 32px 85px;
    gap: 28px 5vw;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-symbol {
    max-height: 53svh;
    width: min(100%, 53svh);
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-date {
    width: 58%;
    max-height: 6svh;
    margin-bottom: 26px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-title
    img {
    max-height: 12svh;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-title
    img
    + img {
    margin-top: 10px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-slogan {
    font-size: clamp(16px, 1.2vw, 21px);
    margin-top: 26px;
    gap: 5px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-action
    > img {
    width: 190px;
    max-height: 9svh;
  }
}
@media (max-width: 750px) {
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-banner {
    height: 100%;
    width: 100%;
    padding: 22px 20px 78px;
    justify-content: space-evenly;
    gap: 18px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-symbol {
    width: min(40vw, 21svh);
    max-height: 21svh;
    flex-shrink: 0;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-message {
    width: min(80vw, 360px);
    flex-shrink: 0;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-date {
    width: 65%;
    max-height: 5svh;
    margin: 0 auto 20px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-title
    img {
    max-height: 10svh;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-title
    img
    + img {
    margin-top: 7px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-slogan {
    font-size: 12px;
    margin-top: 20px;
    gap: 4px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-action {
    flex-shrink: 0;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-action
    > img {
    width: 115px;
    max-height: 7svh;
  }
}
@media (max-width: 750px) and (max-height: 650px) {
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-banner {
    padding-top: 12px;
    gap: 10px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-symbol {
    width: 16svh;
    max-height: 16svh;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-date {
    margin-bottom: 12px;
  }
  body
    > .ci-banner-fullscreen[data-place="article-top"]
    .ci-campaign-content
    .campaign-slogan {
    margin-top: 12px;
  }
}

/* Section front: wide lead and two editorial stacks. */
.section-opening {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 26px;
  margin: 42px 0 55px;
  align-items: start;
}
.section-opening article,
.section-opening-stack {
  min-width: 0;
}
.section-opening h2 {
  font: 700 28px/1.08 var(--serif);
  letter-spacing: -0.5px;
  margin: 12px 0 18px;
}
.section-opening.has-prominent-lead .section-opening-lead h2 {
  font-size: 42px;
  line-height: 1.08;
}
.section-opening .eyebrow {
  margin: 0;
  border-left: 2px solid #aaa;
  padding-left: 8px;
}
.section-opening .section-opening-lead img {
  display: block;
  width: 76%;
  height: auto;
  margin-top: 18px;
}
.section-opening-stack {
  border-left: 1px solid #999;
  padding-left: 24px;
}
.section-opening-stack .section-opening-story + .section-opening-story {
  border-top: 1px solid #999;
  padding-top: 24px;
  margin-top: 24px;
}
.section-opening-story img {
  display: block;
  width: 100%;
  height: auto;
  margin: 15px 0;
}
.section-opening-story.image-first h2 {
  margin-top: 14px;
}
.section-opening-deck {
  border-left: 2px solid #111;
  padding-left: 10px;
  font: 600 22px/1.3 var(--serif);
  margin: 17px 0 0;
}
@media (max-width: 1000px) and (min-width: 751px) {
  .section-opening {
    gap: 18px;
  }
  .section-opening-stack {
    padding-left: 18px;
  }
  .section-opening h2 {
    font-size: 24px;
  }
  .section-opening.has-prominent-lead .section-opening-lead h2 {
    font-size: 34px;
  }
}
@media (max-width: 750px) {
  .section-opening {
    display: block;
    margin: 28px 0 35px;
  }
  .section-opening.has-prominent-lead .section-opening-lead h2 {
    font-size: 34px;
  }
  .section-opening .section-opening-lead img {
    width: 100%;
  }
  .section-opening-stack {
    border-left: 0;
    padding-left: 0;
    margin-top: 28px;
  }
  .section-opening-stack .section-opening-story,
  .section-opening-stack .section-opening-story + .section-opening-story {
    border-top: 1px solid #aaa;
    padding-top: 22px;
    margin-top: 22px;
  }
  .section-opening h2 {
    font-size: 27px;
  }
  .section-opening-story img {
    max-width: 100%;
    width: 76%;
  }
  .section-opening-deck {
    font-size: 20px;
  }
}

/* Section rhythm: dark photo feature followed by a compact news strip. */
.section-spotlight {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  background: #151515;
  color: #fff;
  margin: 65px 0 65px 28px;
  padding: 44px 38px 44px 0;
}
.section-spotlight-photo {
  display: block;
  margin-left: -28px;
}
.section-spotlight-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.section-spotlight-copy {
  min-width: 0;
  padding: 12px 0;
}
.section-spotlight-copy .eyebrow {
  color: #fff;
  margin: 0 0 20px;
}
.section-spotlight h2 {
  font: 700 clamp(30px, 3.3vw, 47px) / 1.08 var(--serif);
  letter-spacing: -0.7px;
  margin: 0;
}
.section-spotlight-arrow {
  display: block;
  font-size: 38px;
  margin-top: 22px;
  line-height: 1;
}
.section-news-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0;
  margin: 45px 0 70px;
  align-items: start;
}
.section-news-strip article {
  min-width: 0;
  padding: 0 20px;
  border-left: 1px solid #999;
}
.section-news-strip article:first-child {
  padding-left: 0;
  border-left: 0;
}
.section-news-strip .eyebrow {
  font-size: 11px;
  line-height: 1.3;
  margin: 0 0 12px;
}
.section-news-strip h3 {
  font: 600 22px/1.12 var(--serif);
  letter-spacing: -0.2px;
  margin: 0 0 18px;
}
.section-news-strip img {
  display: block;
  max-width: 100%;
  width: 80%;
  height: auto;
}
@media (max-width: 750px) {
  .section-spotlight {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 36px 0;
    padding: 0;
  }
  .section-spotlight-photo {
    margin: 0;
    width: 100%;
  }
  .section-spotlight-copy {
    padding: 26px 22px 28px;
  }
  .section-spotlight h2 {
    font-size: 32px;
  }
  .section-news-strip {
    display: block;
    margin: 30px 0 45px;
  }
  .section-news-strip article,
  .section-news-strip article:first-child {
    padding: 22px 0;
    border-left: 0;
    border-top: 1px solid #aaa;
  }
  .section-news-strip h3 {
    font-size: 26px;
  }
  .section-news-strip img {
    width: 76%;
  }
}

/* Mobile section identity gets its own full-width line. */
@media (max-width: 750px) {
  .section-masthead {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px 12px;
    align-items: center;
  }
  .section-masthead .section-brand {
    grid-column: 1/-1;
    min-width: 0;
    width: 100%;
  }
  .section-brand .compact-logo {
    width: 100%;
    font-size: clamp(26px, 7vw, 36px);
  }
  .masthead .section-masthead .section-name {
    min-width: 0;
    white-space: nowrap;
    overflow-wrap: normal;
    font-size: clamp(20px, 5.6vw, 30px);
    line-height: 1.15;
    letter-spacing: 0;
  }
  .section-masthead .section-divider {
    font-size: 28px;
  }
}

/* Mobile section fronts prioritise the section name over the publication mark. */
@media (max-width: 750px) {
  .section-masthead {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  .section-masthead .section-brand {
    display: flex;
    justify-content: center;
    width: 100%;
    flex-basis: auto;
  }
  .section-masthead .section-brand .compact-logo {
    width: auto;
    font-size: clamp(21px, 5.5vw, 27px);
  }
  .section-masthead .section-divider {
    display: none;
  }
  .masthead .section-masthead .section-name {
    width: 100%;
    flex: none;
    text-align: center;
    font-size: clamp(24px, 6.5vw, 44px);
    line-height: 1.12;
    white-space: nowrap;
    letter-spacing: 0;
  }
}

.article-listen {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 18px 0;
  margin: 28px auto;
  max-width: 980px;
}
.listen-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}
.listen-controls button,
.listen-controls select {
  border: 1px solid #aaa;
  background: var(--paper);
  padding: 9px 12px;
  color: #111;
}
.listen-controls .listen-play {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  font-weight: 700;
}
.listen-controls label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
}
.listen-controls select {
  max-width: 280px;
}
.listen-controls button:disabled {
  opacity: 0.5;
  cursor: default;
}
.listen-status {
  font: 400 14px/1.4 var(--sans);
  margin: 12px 0 0;
}
.listen-status:empty {
  display: none;
}
.listen-note {
  font: 400 12px/1.4 var(--sans);
  color: #666;
  margin: 10px 0 0;
}
@media (max-width: 750px) {
  .listen-controls {
    gap: 12px;
  }
  .listen-controls label:last-child {
    width: 100%;
  }
  .listen-voice {
    flex: 1;
    min-width: 0;
    max-width: 100%;
  }
}

#copy-article-status {
  display: block;
  font: 400 13px/1.4 var(--sans);
  margin-top: 8px;
}
#copy-article-status:empty {
  display: none;
}
#copy-article-fallback {
  max-width: 100%;
  width: 100%;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid #aaa;
  background: var(--paper);
  font: 400 13px var(--sans);
}

/* Campaign rail to the left of the article body. */
.article-left-banner {
  text-align: left;
  margin-top: 28px;
}
.article-left-banner .ci-banner-slot {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #000;
}
.article-left-banner .ci-banner-link {
  display: block;
  position: relative;
  top: auto;
  height: auto;
  min-height: 0;
}
.article-left-banner .ci-campaign-content .campaign-banner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 26px 18px;
  width: 100%;
  text-align: center;
}
.article-left-banner .ci-campaign-content .campaign-symbol {
  width: 72%;
  height: auto;
}
.article-left-banner .ci-campaign-content .campaign-message {
  width: 100%;
}
.article-left-banner .ci-campaign-content .campaign-date {
  width: 80%;
  margin: 0 auto 20px;
}
.article-left-banner .ci-campaign-content .campaign-title {
  width: 100%;
  max-width: none;
}
.article-left-banner .ci-campaign-content .campaign-title img {
  width: 100%;
  height: auto;
}
.article-left-banner .ci-campaign-content .campaign-slogan {
  font-size: 12px;
  margin-top: 22px;
  letter-spacing: 0.3px;
}
.article-left-banner .ci-campaign-content .campaign-action {
  padding: 0;
  display: block;
}
.article-left-banner .ci-campaign-content .campaign-action > img {
  width: 135px;
  height: auto;
}
@media (max-width: 1000px) {
  .article-left-banner {
    display: none;
  }
}

/* Desktop article rail: 300×600 creative in a quiet grey surround. */
@media (min-width: 1251px) {
  .reading-layout {
    grid-template-columns: 348px minmax(0, 1fr) 170px;
    gap: 32px;
  }
}
@media (min-width: 1001px) and (max-width: 1250px) {
  .reading-layout {
    grid-template-columns: 286px minmax(0, 1fr) 130px;
    gap: 24px;
  }
}
@media (min-width: 1001px) {
  .reading-byline {
    padding-top: 0;
  }
  .article-left-banner {
    margin-top: 24px;
    width: 100%;
  }
  .article-left-banner .ci-banner-slot {
    padding: 24px;
    background: #efede8;
  }
  .article-left-banner .ci-campaign-content .campaign-banner {
    min-height: 600px;
    justify-content: space-evenly;
    gap: 26px;
    padding: 28px 18px;
  }
  .article-left-banner .ci-campaign-content .campaign-symbol {
    width: 78%;
  }
  .article-left-banner .ci-campaign-content .campaign-date {
    width: 83%;
    margin-bottom: 25px;
  }
  .article-left-banner .ci-campaign-content .campaign-slogan {
    margin-top: 26px;
    font-size: 13px;
    min-height: 4.8em;
  }
  .article-left-banner .ci-campaign-content .campaign-action > img {
    width: 145px;
  }
}

@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/source-serif-italic-regular.ttf) format("truetype");
}

.reading-details .article-credit {
  font: 700 14px/1.35 var(--sans);
  letter-spacing: 0.5px;
  margin: 0 0 18px;
  overflow-wrap: anywhere;
}
.article-left-banner {
  margin-top: 0;
}
@media (max-width: 1000px) {
  .reading-byline:has(.article-left-banner:only-child) {
    display: none;
  }
}

/* Keep the campaign rail visible only for the height of the article body. */
@media (min-width: 1001px) {
  .reading-layout > .reading-byline {
    align-self: stretch;
    position: relative;
    min-height: 0;
  }
  .reading-byline > .article-left-banner {
    position: sticky;
    top: 110px;
    margin-top: 0;
  }
  body.admin-bar .reading-byline > .article-left-banner {
    top: 142px;
  }
}

/* FACUA electricity comparator: original photography, palette and type. */
@font-face {
  font-family: "Nunito Luz";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(assets/luz/nunito-sans.woff2) format("woff2");
}
.luz-creative {
  display: none;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 360px;
  background: #063d2b url(assets/luz/bombillas.webp) right center/cover
    no-repeat;
  color: white;
  font-family: "Nunito Luz", Arial, sans-serif;
  flex-direction: column;
  justify-content: space-between;
}
.ci-banner-luz .ci-campaign-content > .campaign-banner {
  display: none !important;
}
.ci-banner-luz .ci-campaign-content > .luz-creative {
  display: flex;
}
.luz-banner-copy {
  padding: clamp(30px, 5vw, 75px);
  max-width: 900px;
  text-align: left;
  background: linear-gradient(90deg, #063d2bf0, #063d2b80, transparent);
}
.luz-banner-domain {
  font:
    800 16px/1.2 "Nunito Luz",
    Arial,
    sans-serif;
  letter-spacing: 2px;
  color: #abe9c0;
}
.luz-banner-copy h2 {
  font:
    900 clamp(40px, 5vw, 76px) / 1.05 "Nunito Luz",
    Arial,
    sans-serif;
  margin: 24px 0;
  letter-spacing: -1.5px;
  color: white;
}
.luz-banner-copy h2 span {
  color: #abe9c0;
}
.luz-banner-copy p {
  font:
    400 clamp(18px, 1.6vw, 24px) / 1.4 "Nunito Luz",
    Arial,
    sans-serif;
  margin: 0 0 25px;
  max-width: 540px;
}
.luz-banner-cta {
  display: inline-block;
  padding: 13px 22px;
  border-radius: 5px;
  background: white;
  color: #007948;
  font:
    800 19px/1.2 "Nunito Luz",
    Arial,
    sans-serif;
}
.luz-banner-cta b {
  margin-left: 18px;
}
.luz-banner-copy small {
  display: block;
  font:
    600 14px/1.45 "Nunito Luz",
    Arial,
    sans-serif;
  max-width: 480px;
  margin-top: 24px;
}
.luz-banner-brand {
  background: #fff;
  padding: 14px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ci-banner-slot .luz-banner-brand img {
  width: 170px;
  height: 65px;
  object-fit: contain;
}
.ci-banner-fullscreen.ci-banner-luz .ci-campaign-content {
  height: 100%;
  width: 100%;
}
.ci-banner-fullscreen.ci-banner-luz .luz-creative {
  padding-bottom: 65px;
  position: relative;
  min-height: 0;
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  padding: 8px 20px;
}
.ci-banner-fullscreen.ci-banner-luz .ci-banner-down {
  background: #007948;
  color: white;
}
.article-left-banner .luz-creative {
  min-height: 600px;
  background-position: 65% center;
}
.article-left-banner .luz-banner-copy {
  padding: 30px 20px;
  background: linear-gradient(#063d2bd9, #063d2be6);
}
.article-left-banner .luz-banner-copy h2 {
  font-size: 38px;
  margin: 28px 0;
}
.article-left-banner .luz-banner-copy p {
  font-size: 19px;
}
.article-left-banner .luz-banner-domain {
  font-size: 13px;
}
.article-left-banner .luz-banner-cta {
  font-size: 17px;
  padding: 12px;
}
.article-left-banner .luz-banner-cta b {
  margin-left: 8px;
}
.article-left-banner .luz-banner-copy small {
  font-size: 12px;
}
.article-left-banner .luz-banner-brand {
  padding: 14px;
}
@media (max-width: 750px) {
  .luz-banner-copy {
    padding: 26px 24px;
    background: linear-gradient(90deg, #063d2bf0, #063d2b99);
  }
  .luz-banner-copy h2 {
    font-size: clamp(37px, 9vw, 54px);
    margin: 20px 0;
  }
  .luz-banner-copy p {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .luz-banner-copy small {
    font-size: 12px;
    margin-top: 20px;
  }
  .luz-banner-domain {
    font-size: 13px;
  }
  .luz-banner-cta {
    font-size: 17px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
    height: 70px;
  }
  .ci-banner-slot .luz-banner-brand img {
    height: 50px;
    width: 150px;
  }
}
/* The same clipped, fixed creative used on the homepage, after article rankings. */
.ci-banner-slot.ci-banner-fullscreen[data-place="article-body"] {
  height: 560px;
  min-height: 0;
  overflow: hidden;
  clip-path: inset(0);
  isolation: isolate;
}
.ci-banner-fullscreen[data-place="article-body"] .ci-banner-link {
  position: fixed;
  inset: 0;
  top: 0;
  width: 100%;
  height: var(--ci-viewport-height, 100svh);
  min-height: 0;
  z-index: 0;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen[data-place="article-body"] {
    height: 390px;
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-fullscreen[data-place="article-body"] .ci-banner-link {
    position: relative;
    inset: auto;
    height: 100%;
  }
}
/* Article most-read: six real ranked headlines in a restrained 3×2 panel. */
.article-popular {
  background: #efede8;
  padding: 28px 24px;
  margin: 55px 0 40px;
}
.article-popular h2 {
  font: 700 18px/1.3 var(--sans);
  letter-spacing: 1px;
  border-left: 2px solid #111;
  padding-left: 8px;
  margin: 0 0 20px;
}
.article-popular ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  counter-reset: popular;
  margin: 0;
  padding: 0;
}
.article-popular li {
  counter-increment: popular;
  display: flex;
  gap: 16px;
  padding: 18px;
  border-left: 1px solid #777;
  min-width: 0;
}
.article-popular li:nth-child(3n + 1) {
  border-left: 0;
  padding-left: 0;
}
.article-popular li:nth-child(n + 4) {
  border-top: 1px solid #777;
}
.article-popular li:before {
  content: counter(popular);
  font: 700 46px/1 var(--sans);
  flex: none;
}
.article-popular a {
  font: 600 22px/1.2 var(--serif);
}
.article-popular a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 750px) {
  .article-popular {
    padding: 24px 20px;
    margin-top: 35px;
  }
  .article-popular ol {
    display: block;
  }
  .article-popular li,
  .article-popular li:nth-child(3n + 1) {
    border-left: 0;
    border-top: 1px solid #888;
    padding: 18px 0;
  }
  .article-popular li:first-child {
    border-top: 0;
  }
  .article-popular a {
    font-size: 23px;
  }
}

.ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
  justify-content: flex-start;
  padding-left: 30px;
}

/* One continuous photo background: fade the shading, integrate the white FACUA mark. */
.luz-creative {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.luz-creative:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, #063d2bed 0%, #063d2b99 58%, #063d2b25 100%),
    linear-gradient(180deg, #063d2b20 45%, #063d2b80 100%);
  pointer-events: none;
}
.ci-banner-slot .luz-banner-copy,
.article-left-banner .luz-banner-copy {
  position: relative;
  z-index: 1;
  background: none;
}
.ci-banner-slot .luz-banner-copy small {
  font-size: 18px;
  line-height: 1.5;
  max-width: 540px;
  margin-top: 26px;
}
.ci-banner-slot .luz-banner-brand,
.ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
  position: relative;
  inset: auto;
  z-index: 1;
  background: transparent;
  height: auto;
  padding: 10px 36px 28px;
  justify-content: flex-start;
}
.ci-banner-slot .luz-banner-brand img {
  filter: brightness(0) invert(1);
  width: 180px;
  height: auto;
  max-height: 75px;
  object-fit: contain;
}
.article-left-banner .luz-banner-copy {
  padding: 30px 20px 24px;
}
.article-left-banner .luz-banner-copy small {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 25px;
}
.article-left-banner .luz-banner-brand {
  padding: 10px 20px 28px;
}
.article-left-banner .luz-banner-brand img {
  width: 160px;
  height: auto;
}
.article-left-banner .luz-banner-domain {
  color: #abe9c0;
}
@media (max-width: 750px) {
  .ci-banner-slot .luz-banner-copy small {
    font-size: 15px;
    line-height: 1.45;
    margin-top: 22px;
  }
  .ci-banner-slot .luz-banner-brand,
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
    padding: 8px 24px 20px;
  }
  .ci-banner-slot .luz-banner-brand img {
    width: 150px;
    height: auto;
    max-height: 60px;
  }
}

.ci-banner-slot .luz-banner-domain,
.reading-byline .luz-banner-domain {
  display: block;
  color: #c1f0d2;
  font:
    800 17px/1.3 "Nunito Luz",
    Arial,
    sans-serif;
  letter-spacing: 0.5px;
  text-transform: none;
  opacity: 1;
}
.article-left-banner .luz-banner-domain {
  font-size: 16px;
}

/* Comparator banners are whole clickable creatives, without headline underlines. */
.ci-banner-slot.ci-banner-luz .ci-banner-link:hover h2,
.ci-banner-slot.ci-banner-luz .ci-banner-link:focus-visible h2 {
  text-decoration: none;
}
/* Large creative: centred message and logo; bulbs remain a right-hand accent. */
.ci-banner-fullscreen.ci-banner-luz .luz-creative {
  align-items: center;
  text-align: center;
  background-position: right center;
}
.ci-banner-fullscreen.ci-banner-luz .luz-creative:before {
  background: linear-gradient(
    90deg,
    #063d2be6 0%,
    #063d2bd9 48%,
    #063d2b55 82%,
    #063d2b20 100%
  );
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy {
  width: 100%;
  max-width: 1060px;
  text-align: center;
  padding: clamp(24px, 3vw, 44px) 40px 12px;
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
  font-size: clamp(40px, 4.7vw, 68px);
  margin: 20px 0;
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
  max-width: 850px;
  margin: 0 auto 22px;
  font-size: clamp(18px, 1.6vw, 24px);
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy small {
  max-width: 750px;
  margin: 24px auto 0;
}
.ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
  width: 100%;
  justify-content: center;
  padding: 12px 30px 25px;
}
.article-left-banner .luz-creative {
  min-height: 600px;
}
.article-left-banner .luz-banner-copy p {
  font-size: 18px;
  line-height: 1.4;
}
@media (max-width: 750px) {
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy {
    padding: 22px 24px 10px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(34px, 8vw, 48px);
    margin: 16px 0;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
    font-size: 16px;
    line-height: 1.35;
    margin-bottom: 18px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy small {
    font-size: 14px;
    margin-top: 18px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-brand {
    padding: 8px 24px 18px;
  }
}

/* Scale the comparator message to both width and available screen height. */
@media (min-width: 751px) {
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy {
    max-width: 1240px;
    padding: clamp(20px, 3svh, 38px) 40px 12px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-domain {
    font-size: clamp(18px, 1.4vw, 23px);
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(48px, min(6vw, 10svh), 96px);
    line-height: 1.04;
    margin: 20px 0 24px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
    font-size: clamp(21px, min(2vw, 3.5svh), 30px);
    line-height: 1.35;
    max-width: 1000px;
    margin-bottom: 24px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-cta {
    font-size: clamp(20px, 1.5vw, 25px);
    padding: 15px 26px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy small {
    font-size: clamp(18px, min(1.6vw, 2.8svh), 24px);
    line-height: 1.4;
    max-width: 950px;
    margin-top: 24px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-brand img {
    width: 210px;
    max-height: 80px;
  }
}
.article-left-banner .luz-banner-copy p {
  font-size: 19px;
}
.article-left-banner .luz-banner-copy small {
  font-size: 16px;
}
@media (max-width: 750px) and (min-height: 800px) {
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(38px, 9vw, 54px);
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
    font-size: 18px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-copy small {
    font-size: 16px;
  }
  .ci-banner-fullscreen.ci-banner-luz .luz-banner-domain {
    font-size: 18px;
  }
}

/* Reveal slots: keep the complete message inside the window, reveal the photo behind it. */
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .ci-banner-link {
  position: relative;
  inset: auto;
  top: auto;
  height: 100%;
  min-height: 0;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-creative {
  height: 100%;
  padding: 26px 24px;
  justify-content: center;
  background-attachment: fixed;
  gap: 16px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-copy {
  padding: 0;
  max-width: 1100px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-domain {
  font-size: 17px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-copy
  h2 {
  font-size: 54px;
  line-height: 1.04;
  margin: 16px 0 18px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-copy
  p {
  font-size: 22px;
  line-height: 1.3;
  max-width: 1050px;
  margin: 0 auto 18px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-cta {
  font-size: 19px;
  padding: 12px 22px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-copy
  small {
  font-size: 18px;
  line-height: 1.35;
  margin-top: 18px;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-brand {
  padding: 0;
  flex: none;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-banner-brand
  img {
  width: 150px;
  height: 54px;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    ) {
    height: 520px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-creative {
    padding: 24px;
    gap: 18px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: 36px;
    margin: 14px 0 18px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    p {
    font-size: 16px;
    line-height: 1.35;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    small {
    font-size: 14px;
    line-height: 1.35;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-cta {
    font-size: 17px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-brand
    img {
    width: 135px;
    height: 46px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-fullscreen.ci-banner-luz .luz-creative {
    background-attachment: scroll;
  }
}

.ci-banner-slot .luz-banner-brand img {
  filter: none;
}

.ci-banner-slot .luz-banner-brand img {
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
}

.ci-banner-slot .luz-banner-brand img {
  filter: url(#ci-facua-transparent);
}

/* All reveal campaigns share the same fixed creative behind the scrolling window. */
.ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  ) {
  height: 560px;
  min-height: 0;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .ci-banner-link {
  position: fixed;
  inset: 0;
  top: 0;
  width: 100%;
  height: var(--ci-viewport-height, 100svh);
  min-height: 0;
  z-index: 0;
}
.ci-banner-fullscreen.ci-banner-luz:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .luz-creative {
  background-attachment: scroll;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    ) {
    height: 390px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .ci-banner-link {
    position: relative;
    inset: auto;
    height: 100%;
  }
}

/* Larger desktop comparator message in the scrolling reveal placements. */
@media (min-width: 751px) {
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-domain {
    font-size: 19px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(58px, 4.5vw, 72px);
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    p {
    font-size: 24px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-cta {
    font-size: 21px;
  }
  .ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    small {
    font-size: 20px;
  }
}

/* Membership campaign: live typography over a gently moving demonstration image. */
.unete-creative {
  display: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 500px;
  background: #004b30;
  color: #fff;
}
.ci-banner-unete .unete-creative {
  display: flex;
  align-items: center;
}
.ci-banner-unete .campaign-banner,
.ci-banner-unete .luz-creative {
  display: none !important;
}
.unete-photo {
  position: absolute;
  inset: -3%;
  z-index: -2;
  background: url("assets/unete/consumidores-cartel.webp") center right/cover
    no-repeat;
  animation: ci-unete-photo 18s ease-in-out infinite alternate;
}
.unete-creative:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    #003d2af5 0%,
    #003d2ad9 32%,
    #003d2a50 63%,
    #003d2a15 100%
  );
}
.unete-copy {
  padding: 40px clamp(28px, 6vw, 110px);
  width: 62%;
  box-sizing: border-box;
  text-align: left;
  font-family: "Nunito Luz", Arial, sans-serif;
}
.unete-eyebrow {
  display: block;
  font-size: clamp(22px, 2.4vw, 36px);
  font-weight: 750;
  line-height: 1.15;
  max-width: 530px;
}
.ci-banner-unete .unete-copy h2 {
  font:
    900 clamp(64px, min(8vw, 13svh), 130px) / 0.96 "Nunito Luz",
    Arial,
    sans-serif;
  margin: 22px 0 28px;
  color: #fff;
  letter-spacing: -2px;
  text-decoration: none !important;
}
.unete-copy h2 strong {
  color: #b8f3cb;
  font-weight: 1000;
}
.unete-action {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  padding: 13px 22px;
  border: 2px solid #fff;
  font-size: 21px;
  font-weight: 800;
}
.unete-logo {
  display: block;
  width: 200px;
  height: auto;
  margin-top: 22px;
  filter: url(#ci-facua-transparent);
}
.ci-banner-unete .ci-banner-link:hover .unete-action {
  background: #fff;
  color: #004b30;
}
@keyframes ci-unete-photo {
  from {
    transform: scale(1) translateX(0);
  }
  to {
    transform: scale(1.06) translateX(-1%);
  }
}
.article-left-banner .unete-creative {
  min-height: 600px;
  align-items: flex-end;
}
.article-left-banner .unete-photo {
  background-position: 65% center;
}
.article-left-banner .unete-creative:before {
  background: linear-gradient(
    0deg,
    #003d2afa 0%,
    #003d2adc 48%,
    #003d2a10 100%
  );
}
.article-left-banner .unete-copy {
  width: 100%;
  padding: 26px 22px;
}
.article-left-banner .unete-eyebrow {
  font-size: 26px;
}
.article-left-banner .unete-copy h2 {
  font-size: 58px;
  margin: 18px 0 24px;
}
.article-left-banner .unete-action {
  font-size: 18px;
  gap: 22px;
}
.article-left-banner .unete-logo {
  width: 170px;
}
@media (max-width: 750px) {
  .ci-banner-unete .unete-creative {
    min-height: 0;
    height: 100%;
    align-items: flex-end;
  }
  .unete-photo {
    background-position: 63% center;
  }
  .unete-creative:before {
    background: linear-gradient(
      0deg,
      #003d2afa 0%,
      #003d2ae6 35%,
      #003d2a30 80%
    );
  }
  .unete-copy {
    width: 100%;
    padding: 28px 26px 46px;
    text-align: center;
  }
  .unete-eyebrow {
    font-size: clamp(23px, 6vw, 30px);
    margin: auto;
  }
  .ci-banner-unete .unete-copy h2 {
    font-size: clamp(58px, min(18vw, 11svh), 85px);
    margin: 18px 0 22px;
  }
  .unete-action {
    font-size: 19px;
    padding: 11px 20px;
  }
  .unete-logo {
    width: 160px;
    margin: 18px auto 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .unete-photo {
    animation: none;
  }
}

/* Mobile header keeps only search and menu; sharing uses the floating control. */
@media (max-width: 750px) {
  .compact-actions #share {
    display: none;
  }
}

/* Crisp vector membership logo and a readable, uppercase campaign message. */
.ci-banner-unete .unete-logo {
  filter: none;
  width: 200px;
  height: auto;
}
.ci-banner-unete .unete-eyebrow {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height: 1.2;
  text-wrap: balance;
  text-shadow: 0 2px 14px #002b1e;
}
.ci-banner-unete .unete-creative:before {
  background: linear-gradient(
    90deg,
    #003d2afa 0%,
    #003d2ae8 35%,
    #003d2a60 68%,
    #003d2a20 100%
  );
}
.article-left-banner.ci-banner-unete .unete-creative:before {
  background: linear-gradient(
    0deg,
    #003d2aff 0%,
    #003d2af2 52%,
    #003d2a25 100%
  );
}
.article-left-banner.ci-banner-unete .unete-logo {
  width: 170px;
}
@media (max-width: 750px) {
  .ci-banner-unete .unete-creative:before {
    background: linear-gradient(
      0deg,
      #003d2aff 0%,
      #003d2af2 42%,
      #003d2aa6 68%,
      #003d2a20 100%
    );
  }
  .ci-banner-unete .unete-eyebrow {
    font-size: clamp(25px, 6.5vw, 32px);
    max-width: 420px;
    margin: 0 auto 22px;
  }
  .ci-banner-unete .unete-logo {
    width: 180px;
    margin: 24px auto 0;
  }
}

/* Original FACUA PNG: preserve its RGB colours and gradient; only mask the dark background. */
.ci-banner-unete .unete-logo {
  filter: url(#ci-facua-transparent);
  mix-blend-mode: normal;
  opacity: 1;
  width: 170px;
  height: auto;
}
.ci-banner-unete .unete-copy h2 {
  animation: ci-unete-invite 4s ease-in-out infinite;
  transform-origin: center;
  will-change: transform;
  text-shadow: 0 3px 22px #00332280;
}
@keyframes ci-unete-invite {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-5px) scale(1.025);
  }
}
@media (max-width: 750px) {
  .ci-banner-unete .unete-logo {
    width: 160px;
    margin: 26px auto 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-unete .unete-copy h2 {
    animation: none;
    will-change: auto;
  }
}

/* Smaller original membership logo across placements. */
.ci-banner-unete .unete-logo,
.article-left-banner.ci-banner-unete .unete-logo {
  width: 135px;
  height: auto;
}
@media (max-width: 750px) {
  .ci-banner-unete .unete-logo {
    width: 125px;
  }
}

/* Display the supplied FACUA logo exactly: no alpha mask, recolouring or blending. */
.ci-banner-slot.ci-banner-unete img.unete-logo,
.article-left-banner.ci-banner-unete img.unete-logo {
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
  transform: none;
  animation: none;
}

/* A staged reveal and travelling highlight give the invitation more presence. */
.ci-banner-unete .unete-copy h2 {
  animation: none;
  transform: none;
  will-change: auto;
}
.ci-banner-unete .unete-title-line {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: #fff;
  background: linear-gradient(
    110deg,
    #fff 0%,
    #fff 34%,
    #a5f4c4 43%,
    #fff 48%,
    #a5f4c4 53%,
    #fff 62%,
    #fff 100%
  );
  background-size: 300% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation:
    ci-unete-reveal 0.85s cubic-bezier(0.16, 1, 0.3, 1) both,
    ci-unete-shine 4.5s ease-in-out 1.2s infinite;
  text-shadow: none;
}
.ci-banner-unete strong.unete-title-line {
  background-image: linear-gradient(
    110deg,
    #b8f3cb 0%,
    #b8f3cb 34%,
    #fff 46%,
    #fff 50%,
    #b8f3cb 62%,
    #b8f3cb 100%
  );
  animation-delay: 0.2s, 1.45s;
}
@keyframes ci-unete-reveal {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.94);
    clip-path: inset(100% 0 0);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    clip-path: inset(0);
  }
}
@keyframes ci-unete-shine {
  0%,
  15% {
    background-position: 100% 0;
  }
  65%,
  100% {
    background-position: 0% 0;
  }
}
@media (max-width: 750px) {
  .ci-banner-unete .unete-title-line {
    margin-inline: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-unete .unete-title-line {
    animation: none;
    transform: none;
    opacity: 1;
    clip-path: none;
    background: none;
    -webkit-text-fill-color: currentColor;
  }
  .ci-banner-unete strong.unete-title-line {
    color: #b8f3cb;
  }
}

/* Override fullscreen image sizing for the original membership logo itself. */
.ci-banner-slot.ci-banner-unete .ci-banner-link img.unete-logo {
  width: 100px;
  height: auto;
  max-width: 100px;
  max-height: none;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
  opacity: 1;
  flex: none;
  transform: none;
  animation: none;
}

/* Give the electricity campaign headline more of the available canvas. */
@media (min-width: 751px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(66px, min(7.5vw, 12svh), 118px);
    line-height: 1;
    letter-spacing: -1.5px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(66px, min(6.5vw, 12svh), 100px);
    line-height: 1;
    margin: 14px 0 20px;
  }
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy {
    padding-left: 20px;
    padding-right: 20px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(44px, min(12vw, 8.5svh), 66px);
    line-height: 1.02;
    letter-spacing: -1px;
    margin: 16px 0 20px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(44px, min(12vw, 8.5svh), 62px);
    line-height: 1.02;
  }
}
.article-left-banner.ci-banner-luz .luz-banner-copy h2 {
  font-size: clamp(36px, 3vw, 44px);
  line-height: 1.02;
}

/* Remove only the supplied PNG's dark backdrop; retain original RGB and gradient. */
.ci-banner-slot.ci-banner-unete .ci-banner-link img.unete-logo {
  filter: url(#ci-facua-transparent);
  width: 100px;
  height: auto;
  max-width: 100px;
  max-height: none;
}
/* The entrance arrow gets its own clear space below the copy and logo. */
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete[data-place="article-top"]
  .unete-copy {
  padding-bottom: 110px;
  box-sizing: border-box;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete[data-place="article-top"]
  .ci-banner-down {
  bottom: 20px;
}
@media (prefers-reduced-motion: reduce) {
  body
    > .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete[data-place="article-top"]
    .unete-copy {
    padding-bottom: 32px;
  }
}

/* Reuse exactly the complete logo artwork used by the shopping-strike campaign. */
.ci-banner-slot.ci-banner-unete .ci-banner-link img.unete-logo {
  filter: none;
  width: 100px;
  height: auto;
  max-width: 100px;
  max-height: none;
  mix-blend-mode: normal;
  opacity: 1;
}

/* Match the campaign site's rotating symbol and staggered rising title. */
.ci-banner-slot.ci-campaign-visible:not(.ci-banner-luz):not(.ci-banner-unete)
  .campaign-symbol {
  animation: ci-strike-symbol 1.05s cubic-bezier(0.18, 0.85, 0.23, 1) 0.15s both;
}
.ci-banner-slot.ci-campaign-visible:not(.ci-banner-luz):not(.ci-banner-unete)
  .campaign-title
  img {
  animation: ci-strike-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.6s both;
}
.ci-banner-slot.ci-campaign-visible:not(.ci-banner-luz):not(.ci-banner-unete)
  .campaign-title
  img
  + img {
  animation-delay: 0.82s;
}
@keyframes ci-strike-symbol {
  from {
    opacity: 0;
    transform: scale(0.65) rotate(-16deg);
  }
  to {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}
@keyframes ci-strike-rise {
  from {
    opacity: 0;
    transform: translateY(35px);
    clip-path: inset(100% 0 0);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-slot.ci-campaign-visible .campaign-symbol,
  .ci-banner-slot.ci-campaign-visible .campaign-title img {
    animation: none !important;
  }
}

/* Leave accent marks room outside the tight display line box. */
.ci-banner-unete .unete-title-line {
  padding-top: 0.18em;
  padding-bottom: 0.04em;
  line-height: 1.08;
  margin-top: -0.1em;
}
.ci-banner-unete .unete-copy h2 {
  overflow: visible;
  line-height: 1.08;
}
.luz-title-line {
  display: block;
  padding-top: 0.1em;
  padding-bottom: 0.04em;
  line-height: 1.08;
}
.ci-banner-slot.ci-campaign-visible.ci-banner-luz .luz-title-line {
  animation: ci-luz-title-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}
.ci-banner-slot.ci-campaign-visible.ci-banner-luz
  .luz-title-line
  + .luz-title-line {
  animation-delay: 0.4s;
}
@keyframes ci-luz-title-in {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.94);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ci-banner-slot.ci-campaign-visible.ci-banner-luz .luz-title-line {
    animation: none;
  }
}

/* Compact invitation lines; accent clearance belongs above the first line only. */
.ci-banner-unete .unete-title-line {
  padding: 0;
  line-height: 0.98;
  margin-top: 0;
}
.ci-banner-unete .unete-title-line:first-child {
  padding-top: 0.16em;
}
.ci-banner-unete .unete-copy h2 {
  line-height: 0.98;
}
/* Keep the original two-tone electricity headline after splitting animated lines. */
.ci-banner-luz .luz-banner-copy h2 .luz-title-line:first-child {
  color: #fff;
}
.ci-banner-luz .luz-banner-copy h2 .luz-title-line + .luz-title-line {
  color: #abe9c0;
}

/* Balance the article entrance vertically instead of grouping all copy at its top. */
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-creative {
  padding: 24px 24px 92px;
  gap: 20px;
  justify-content: center;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  flex: 1 1 auto;
  gap: 18px;
  padding: 0;
  width: 100%;
  min-height: 0;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-copy
  h2,
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-copy
  p,
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-copy
  small {
  margin: 0;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-brand {
  flex: none;
  padding: 0;
  height: auto;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-brand
  img {
  width: 150px;
  height: auto;
  max-height: 62px;
}
@media (max-width: 750px) {
  body
    > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
    .luz-creative {
    padding: 20px 20px 90px;
    gap: 18px;
  }
  body
    > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
    .luz-banner-copy {
    gap: 16px;
  }
  body
    > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
    .luz-banner-brand
    img {
    width: 135px;
    max-height: 54px;
  }
}

/* Slightly larger comparator headline, preserving both colours and balanced spacing. */
@media (min-width: 751px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(70px, min(8vw, 12.6svh), 124px);
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(70px, min(6.9vw, 12.6svh), 106px);
  }
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2 {
    font-size: clamp(47px, min(12.6vw, 9svh), 70px);
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(47px, min(12.6vw, 9svh), 66px);
  }
}
/* Start concealed before the visibility observer runs: avoid the pre-animation flash. */
@media (prefers-reduced-motion: no-preference) {
  .ci-banner-slot:not(.ci-banner-luz):not(.ci-banner-unete):not(
      .ci-campaign-visible
    )
    .campaign-symbol,
  .ci-banner-slot:not(.ci-banner-luz):not(.ci-banner-unete):not(
      .ci-campaign-visible
    )
    .campaign-title
    img {
    opacity: 0;
  }
}

.luz-independence-line {
  display: block;
}
@media (prefers-reduced-motion: no-preference) {
  .ci-banner-slot.ci-banner-luz:not(.ci-campaign-visible) .luz-title-line {
    opacity: 0;
  }
  .ci-banner-slot.ci-campaign-visible.ci-banner-luz .luz-title-line {
    animation-delay: 0.55s;
  }
  .ci-banner-slot.ci-campaign-visible.ci-banner-luz
    .luz-title-line
    + .luz-title-line {
    animation-delay: 0.8s;
  }
}

/* A shorter proposition and a distinct independence statement, without a second button. */
.ci-banner-slot.ci-banner-luz .luz-banner-copy small {
  position: relative;
  padding: 22px 24px;
  background: #003a2ac7;
  border: 1px solid #abe9c04d;
  border-radius: 2px;
  max-width: 660px;
  color: #fff;
  box-sizing: border-box;
}
.ci-banner-slot.ci-banner-luz .luz-banner-copy small:before {
  content: "";
  display: block;
  width: 54px;
  height: 3px;
  background: #abe9c0;
  margin: 0 auto 15px;
}
.ci-banner-luz .luz-independence-line:first-child {
  font-weight: 900;
  color: #abe9c0;
}
.ci-banner-luz .luz-independence-line + .luz-independence-line {
  margin-top: 5px;
}
.ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
  max-width: 680px;
  font-weight: 600;
}
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-luz .luz-banner-copy small {
    padding: 18px 14px;
    font-size: 16px;
    line-height: 1.35;
    width: 100%;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy p {
    font-size: 22px;
    line-height: 1.25;
    max-width: 340px;
  }
}
.article-left-banner.ci-banner-luz .luz-banner-copy small {
  padding: 16px 10px;
  font-size: 14px;
}

.ci-banner-luz .luz-independence-line:first-child {
  font-weight: 600;
  color: #fff;
}
.ci-banner-luz .luz-independence-line:first-child strong {
  font-weight: 900;
  color: #abe9c0;
}

/* A quicker invitation: immediate first line, FACUA follows almost at once. */
.ci-banner-unete .unete-title-line {
  animation-duration: 0.4s, 3.5s;
  animation-delay: 0s, 0.45s;
}
.ci-banner-unete strong.unete-title-line {
  animation-delay: 0.07s, 0.55s;
}

/* Keep each intended headline line intact on narrow banner canvases. */
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-banner-copy h2,
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy
    h2 {
    font-size: clamp(28px, 10.5vw, 46px);
    letter-spacing: -1px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz .luz-title-line {
    white-space: nowrap;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-creative {
    padding-left: 18px;
    padding-right: 18px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .luz-banner-copy {
    padding-left: 0;
    padding-right: 0;
  }
}
.article-left-banner.ci-banner-luz .luz-banner-copy h2 {
  font-size: clamp(28px, 2.5vw, 34px);
}
.article-left-banner.ci-banner-luz .luz-title-line {
  white-space: nowrap;
}

.ci-banner-slot.ci-banner-luz .luz-banner-copy h2 {
  width: 100%;
  box-sizing: border-box;
}

/* Keep the clipped fixed creative: the document passes over it as with other campaigns. */
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    ) {
    height: 460px;
    min-height: 0;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .ci-banner-link {
    position: fixed;
    inset: 0;
    top: 0;
    width: 100%;
    height: var(--ci-viewport-height, 100svh);
    min-height: 0;
    z-index: 0;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-creative {
    height: 100%;
    min-height: 0;
    align-items: center;
    justify-content: center;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-photo {
    inset: -3%;
    background-position: 69% center;
    background-size: cover;
    transform-origin: 69% center;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-creative:before {
    background: linear-gradient(
      0deg,
      #003d2aff 0%,
      #003d2aee 32%,
      #003d2a25 58%,
      transparent 75%
    );
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-copy {
    position: absolute;
    top: calc(50% + 28px);
    padding: 0 20px 20px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-copy
    h2 {
    font-size: 48px;
    line-height: 0.98;
    margin: 0 0 10px;
  }
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .unete-logo {
    margin: 12px auto 0;
  }
}
@media (max-width: 750px) and (prefers-reduced-motion: reduce) {
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-unete:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .ci-banner-link {
    position: relative;
    inset: auto;
    height: 100%;
  }
}

/* One reveal navigation rule for every campaign and uploaded artwork. */
body
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-slot:is(
    [data-place="home-body"],
    [data-place="article-body"]
  ) {
  height: 560px;
  min-height: 0;
  overflow: hidden;
  clip-path: inset(0);
  isolation: isolate;
}
body
  .ci-banner-slot.ci-banner-fullscreen.ci-banner-slot:is(
    [data-place="home-body"],
    [data-place="article-body"]
  )
  .ci-banner-link {
  position: fixed;
  inset: 0;
  top: 0;
  width: 100%;
  height: var(--ci-viewport-height, 100svh);
  min-height: 0;
  z-index: 0;
}
@media (max-width: 750px) {
  body
    .ci-banner-slot.ci-banner-fullscreen.ci-banner-slot:is(
      [data-place="home-body"],
      [data-place="article-body"]
    ) {
    height: 460px;
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  body
    .ci-banner-slot.ci-banner-fullscreen.ci-banner-slot:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .ci-banner-link {
    position: relative;
    inset: auto;
    height: 100%;
  }
}

/* Compact shopping-strike composition inside the fixed mobile reveal creative. */
@media (max-width: 750px) {
  .ci-banner-slot.ci-banner-fullscreen:not(.ci-banner-luz):not(
      .ci-banner-unete
    ):is([data-place="home-body"], [data-place="article-body"])
    .campaign-banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 380px;
    height: 430px;
    min-height: 0;
    padding: 10px 24px;
    box-sizing: border-box;
    text-align: center;
  }
  .ci-banner-slot.ci-banner-fullscreen:not(.ci-banner-luz):not(
      .ci-banner-unete
    ):is([data-place="home-body"], [data-place="article-body"])
    img.campaign-symbol {
    width: 112px;
    height: 114px;
    max-height: 114px;
    flex: none;
    object-fit: contain;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-message {
    width: 100%;
    max-width: 310px;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    img.campaign-date {
    width: 230px;
    height: auto;
    max-height: 32px;
    margin: 0 auto 12px;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-title {
    width: 100%;
    max-width: 285px;
    margin: auto;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-title
    img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-slogan {
    font-size: 13px;
    line-height: 1.25;
    min-height: 2.5em;
    margin: 12px 0 0;
    letter-spacing: 0.5px;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-action {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .ci-banner-slot.ci-banner-fullscreen:is(
      [data-place="home-body"],
      [data-place="article-body"]
    )
    .campaign-action
    > img {
    width: 100px;
    height: auto;
    max-height: 48px;
    object-fit: contain;
  }
}

/* The sidebar's byline grey must never override the banner's independence statement. */
.reading-byline .article-left-banner.ci-banner-luz .luz-banner-copy small {
  font:
    600 16px/1.4 "Nunito Luz",
    Arial,
    sans-serif;
  padding: 18px 14px;
  background: #003a2aef;
  color: #fff;
}
.reading-byline
  .article-left-banner.ci-banner-luz
  .luz-banner-copy
  .luz-independence-line {
  color: #fff;
  opacity: 1;
}
.reading-byline
  .article-left-banner.ci-banner-luz
  .luz-banner-copy
  .luz-independence-line
  strong {
  color: #abe9c0;
  font-weight: 900;
  letter-spacing: 0;
}

/* Do not compress the entrance copy below its contents and into the FACUA mark. */
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-copy {
  flex: 0 0 auto;
  justify-content: center;
  gap: 18px;
}
body
  > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
  .luz-banner-brand {
  margin-top: 8px;
  flex: 0 0 auto;
}
@media (min-width: 751px) {
  body
    > .ci-banner-slot.ci-banner-fullscreen.ci-banner-luz[data-place="article-top"]
    .luz-banner-copy
    h2 {
    font-size: clamp(54px, 11svh, 110px);
  }
}

/* Apply to the creative itself; the sidebar wrapper is outside the banner slot. */
.ci-banner-slot.ci-banner-luz .luz-banner-copy small .luz-independence-line {
  color: #fff;
  opacity: 1;
  -webkit-text-fill-color: #fff;
}
.ci-banner-slot.ci-banner-luz
  .luz-banner-copy
  small
  .luz-independence-line
  strong {
  color: #abe9c0;
  -webkit-text-fill-color: #abe9c0;
}
.article-left-banner .ci-banner-slot.ci-banner-luz .luz-banner-copy small {
  font:
    600 16px/1.4 "Nunito Luz",
    Arial,
    sans-serif;
  background: #003a2a;
  color: #fff;
  padding: 18px 14px;
}
