:root {
  --article-current-bg: var(--article-bg, #080806);
  --article-current-surface: var(--article-surface, #161008);
  --article-current-border: var(--article-border, #2a1e0e);
  --article-current-brand: var(--article-brand, #c4943a);
  --article-current-brand-shadow: var(--article-brand-shadow, rgba(196, 148, 58, 0.25));
  --article-current-heading: var(--article-heading, #f2e8d4);
  --article-current-body: var(--article-body, #d8cbb2);
  --article-current-strong: var(--article-strong, var(--article-current-heading));
  --article-current-em: var(--article-em, var(--article-current-body));
  --article-current-muted: var(--article-muted, #b8aa93);
  --article-current-category: var(--article-category, #cf6a6a);
  --article-current-hero-em: var(--article-hero-em, var(--article-current-brand));
  --article-current-primary: var(--article-primary, #d3a05a);
  --article-current-secondary: var(--article-secondary, #cf6a6a);
  --article-current-synthesis: var(--article-synthesis, var(--article-current-heading));
  --article-current-subtitle: var(--article-subtitle, var(--article-current-muted));
  --article-current-note-surface: var(--article-note-surface, var(--article-current-surface));
  --article-current-note-border: var(--article-note-border, var(--article-current-primary));
  --article-current-note-label: var(--article-note-label, var(--article-current-primary));
  --article-current-note-text: var(--article-note-text, var(--article-current-muted));
  --article-current-note-strong: var(--article-note-strong, var(--article-current-heading));
  --article-current-quote-surface: var(--article-quote-surface, var(--article-current-surface));
  --article-current-quote-border: var(--article-quote-border, #7a1818);
  --article-current-quote-text: var(--article-quote-text, var(--article-current-heading));
  --article-current-golpe-bg: var(--article-golpe-bg, #7a1818);
  --article-current-golpe-text: var(--article-golpe-text, var(--article-current-heading));
  --article-current-orn: var(--article-orn, var(--article-current-muted));
  --article-current-section-number: var(--article-section-number, var(--article-current-border));
  --article-current-section-heading: var(--article-section-heading, var(--article-current-heading));
  --article-current-subheading: var(--article-subheading, var(--article-current-body));
  --article-current-subsection-heading: var(--article-subsection-heading, var(--article-current-body));
  --article-current-note-antit: var(--article-note-antit, var(--article-current-muted));
  --article-current-question-surface: var(--article-question-surface, var(--article-current-surface));
  --article-current-question-border: var(--article-question-border, var(--article-current-primary));
  --article-current-question-text: var(--article-question-text, var(--article-current-body));
  --article-current-question-strong: var(--article-question-strong, var(--article-current-primary));
  --article-current-resource-surface: var(--article-resource-surface, #0e0a04);
  --article-current-resource-border: var(--article-resource-border, var(--article-current-muted));
  --article-current-resource-label: var(--article-resource-label, var(--article-current-muted));
  --article-current-resource-text: var(--article-resource-text, var(--article-current-muted));
  --article-current-resource-strong: var(--article-resource-strong, var(--article-current-body));
  --article-current-table-head: var(--article-table-head, var(--article-current-muted));
  --article-current-table-text: var(--article-table-text, var(--article-current-body));
  --article-current-table-lead: var(--article-table-lead, var(--article-current-synthesis));
  --article-current-table-row-border: var(--article-table-row-border, var(--article-current-border));
  --article-current-tachado: var(--article-tachado, var(--article-current-muted));
  --article-current-cita-anon: var(--article-cita-anon, var(--article-current-muted));
  --article-current-cita-anon-author: var(--article-cita-anon-author, var(--article-current-muted));
  --article-current-footer-text: var(--article-footer-text, var(--article-current-muted));
  --article-current-focus: var(--article-focus, var(--article-current-primary));
}

html[data-theme="light"] {
  --article-current-bg: var(--article-light-bg, #f7efe2);
  --article-current-surface: var(--article-light-surface, #efe3d1);
  --article-current-border: var(--article-light-border, #dbcab2);
  --article-current-brand: var(--article-light-brand, #865713);
  --article-current-brand-shadow: var(--article-light-brand-shadow, var(--article-current-brand-shadow));
  --article-current-heading: var(--article-light-heading, #2f261c);
  --article-current-body: var(--article-light-body, #2f261c);
  --article-current-strong: var(--article-light-strong, #21170f);
  --article-current-em: var(--article-light-em, #74614e);
  --article-current-muted: var(--article-light-muted, #5d4c37);
  --article-current-category: var(--article-light-category, #8c3026);
  --article-current-hero-em: var(--article-light-hero-em, var(--article-light-primary, #8b5e1a));
  --article-current-primary: var(--article-light-primary, #8b5e1a);
  --article-current-secondary: var(--article-light-secondary, #9a3a3a);
  --article-current-synthesis: var(--article-light-synthesis, var(--article-current-heading));
  --article-current-subtitle: var(--article-light-subtitle, var(--article-current-muted));
  --article-current-note-surface: var(--article-light-note-surface, var(--article-current-surface));
  --article-current-note-border: var(--article-light-note-border, var(--article-current-primary));
  --article-current-note-label: var(--article-light-note-label, var(--article-current-primary));
  --article-current-note-text: var(--article-light-note-text, var(--article-current-muted));
  --article-current-note-strong: var(--article-light-note-strong, var(--article-current-strong));
  --article-current-quote-surface: var(--article-light-quote-surface, var(--article-current-surface));
  --article-current-quote-border: var(--article-light-quote-border, var(--article-current-secondary));
  --article-current-quote-text: var(--article-light-quote-text, var(--article-current-heading));
  --article-current-golpe-bg: var(--article-light-golpe-bg, #9a3028);
  --article-current-golpe-text: var(--article-light-golpe-text, #fff4ea);
  --article-current-orn: var(--article-light-orn, var(--article-current-muted));
  --article-current-section-number: var(--article-light-section-number, var(--article-current-primary));
  --article-current-section-heading: var(--article-light-section-heading, var(--article-current-heading));
  --article-current-subheading: var(--article-light-subheading, var(--article-current-heading));
  --article-current-subsection-heading: var(--article-light-subsection-heading, var(--article-current-heading));
  --article-current-note-antit: var(--article-light-note-antit, var(--article-current-muted));
  --article-current-question-surface: var(--article-light-question-surface, var(--article-current-note-surface));
  --article-current-question-border: var(--article-light-question-border, var(--article-current-primary));
  --article-current-question-text: var(--article-light-question-text, var(--article-current-muted));
  --article-current-question-strong: var(--article-light-question-strong, var(--article-current-primary));
  --article-current-resource-surface: var(--article-light-resource-surface, var(--article-current-note-surface));
  --article-current-resource-border: var(--article-light-resource-border, var(--article-current-muted));
  --article-current-resource-label: var(--article-light-resource-label, var(--article-current-primary));
  --article-current-resource-text: var(--article-light-resource-text, var(--article-current-muted));
  --article-current-resource-strong: var(--article-light-resource-strong, var(--article-current-strong));
  --article-current-table-head: var(--article-light-table-head, var(--article-current-muted));
  --article-current-table-text: var(--article-light-table-text, var(--article-current-heading));
  --article-current-table-lead: var(--article-light-table-lead, var(--article-current-synthesis));
  --article-current-table-row-border: var(--article-light-table-row-border, var(--article-current-border));
  --article-current-tachado: var(--article-light-tachado, var(--article-current-muted));
  --article-current-cita-anon: var(--article-light-cita-anon, var(--article-current-muted));
  --article-current-cita-anon-author: var(--article-light-cita-anon-author, var(--article-current-muted));
  --article-current-footer-text: var(--article-light-footer-text, var(--article-current-muted));
  --article-current-focus: var(--article-light-focus, var(--article-current-primary));
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  background: var(--article-current-bg) !important;
  scroll-behavior: smooth;
}

body {
  background: var(--article-current-bg) !important;
  color: var(--article-current-body);
  font-family: var(--f-cuerpo);
  font-size: clamp(17px, 2.2vw, 20px);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  min-height: 100vh;
}

nav.nav {
  background: var(--article-current-surface) !important;
  border-bottom: 1px solid var(--article-current-border);
  padding: 0.9rem clamp(1.2rem, 4vw, 2.5rem);
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  z-index: 200;
}

.nav-logo {
  font-family: var(--f-titulo);
  font-size: 1rem;
  font-style: italic;
  font-weight: bold;
  color: var(--article-current-brand);
  text-decoration: none;
  margin-right: auto;
  white-space: nowrap;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
}

.nav-logo-mark,
.brand-mark {
  width: 22px;
  height: 22px;
  display: block;
  flex-shrink: 0;
  filter: drop-shadow(0 0 2px var(--article-current-brand-shadow));
}

article {
  background: var(--article-current-bg) !important;
  padding-bottom: 5rem;
}

.hero {
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(3.5rem, 9vw, 6rem) clamp(1.4rem, 5vw, 2.5rem) 3rem;
  animation: fUp 0.8s ease both;
}

.cat {
  font-family: var(--f-mono);
  font-size: 0.58rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-category);
  margin-bottom: 2.2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cat::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--article-current-border);
}

h1 {
  font-family: var(--f-titulo);
  font-size: clamp(2.3rem, 7.5vw, 4.2rem);
  font-weight: bold;
  line-height: 1.07;
  color: var(--article-current-heading);
  margin-bottom: 1.5rem;
  letter-spacing: -0.025em;
}

h1 em {
  font-style: italic;
  color: var(--article-current-hero-em);
  display: block;
}

h1 .tachado {
  text-decoration: line-through;
  color: var(--article-current-tachado);
  font-size: 0.7em;
  display: block;
  font-weight: normal;
  font-style: normal;
}

.subtitulo {
  font-family: var(--f-titulo);
  font-size: clamp(1rem, 2.6vw, 1.22rem);
  font-style: italic;
  color: var(--article-current-subtitle);
  line-height: 1.6;
  max-width: 560px;
  border-left: 2px solid var(--article-current-category);
  padding-left: 1.5rem;
  margin-bottom: 2.2rem;
}

.aviso,
.umbral {
  background: var(--article-current-note-surface) !important;
  border: 1px solid var(--article-current-border);
  border-left: 3px solid var(--article-current-note-border);
  padding: 1.5rem 1.8rem;
  margin-bottom: 1.8rem;
}

.aviso-lbl,
.umbral-lbl {
  font-family: var(--f-mono);
  font-size: 0.54rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-note-label);
  display: block;
  margin-bottom: 0.7rem;
}

.aviso p,
.umbral p {
  font-size: 0.9rem;
  color: var(--article-current-note-text) !important;
  font-style: italic;
  line-height: 1.65;
  margin-bottom: 0.6rem !important;
}

.aviso p:last-child,
.umbral p:last-child {
  margin-bottom: 0 !important;
}

.aviso p strong,
.umbral p strong {
  color: var(--article-current-note-strong) !important;
}

.meta {
  font-family: var(--f-mono);
  font-size: 0.56rem;
  letter-spacing: 0.18em;
  color: var(--article-current-muted);
  text-transform: uppercase;
  display: block;
}

.cuerpo {
  max-width: 660px;
  margin: 0 auto;
  padding: 1rem clamp(1.4rem, 5vw, 2.5rem) 2rem;
  animation: fUp 0.9s 0.12s ease both;
}

.cuerpo p {
  margin-bottom: 1.55rem;
  color: var(--article-current-body);
  font-family: var(--f-cuerpo);
  font-size: clamp(17px, 2.2vw, 20px);
}

.cuerpo p strong {
  color: var(--article-current-strong);
  font-weight: 600;
}

.cuerpo p em {
  color: var(--article-current-em);
}

.orn {
  text-align: center;
  color: var(--article-current-orn);
  font-size: 0.85rem;
  letter-spacing: 0.8em;
  margin: 2.8rem 0;
  opacity: 0.78;
}

.bloque {
  margin: 3.5rem 0 1.5rem;
}

.bloque.antit,
.bloque.sintes {
  margin-top: 3.5rem;
}

.bloque-lbl {
  font-family: var(--f-mono);
  font-size: 0.54rem;
  letter-spacing: 0.52em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.65rem;
}

.tesis .bloque-lbl,
.tesis h2,
.cierre h3 {
  color: var(--article-current-primary);
}

.antit .bloque-lbl,
.antit h2,
.lista li::before {
  color: var(--article-current-secondary);
}

.sintes .bloque-lbl,
.sintes h2 {
  color: var(--article-current-synthesis);
}

.bloque h2,
.sec-titulo {
  font-family: var(--f-titulo);
  font-size: clamp(1.25rem, 3.2vw, 1.6rem);
  font-weight: bold;
  line-height: 1.22;
  margin-bottom: 0.8rem;
}

.sec-num {
  font-family: var(--f-titulo);
  font-size: 5rem;
  font-weight: bold;
  color: var(--article-current-section-number);
  line-height: 0.9;
  display: block;
  margin-bottom: 0.5rem;
}

.sec-titulo {
  color: var(--article-current-section-heading);
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--article-current-border);
  margin-bottom: 1.2rem;
}

.cuerpo h3,
.subseccion-titulo {
  font-family: var(--f-titulo);
  font-size: clamp(1.05rem, 2.5vw, 1.3rem);
  font-weight: bold;
  line-height: 1.3;
  margin: 2.5rem 0 0.9rem;
}

.cuerpo h3 {
  color: var(--article-current-subheading);
  font-style: italic;
}

.subseccion-titulo {
  color: var(--article-current-subsection-heading);
  font-style: normal;
  margin-top: 0;
}

.nota-antit {
  color: var(--article-current-note-antit);
  font-style: italic;
  font-size: 0.93rem;
  border-left: 1px solid var(--article-current-border);
  padding-left: 1.2rem;
  margin-bottom: 2rem;
}

.cita {
  background: var(--article-current-quote-surface) !important;
  border-left: 3px solid var(--article-current-quote-border);
  padding: 2rem 2rem 2rem 3rem;
  margin: 2.8rem 0;
  position: relative;
}

.cita::before {
  content: "\201C";
  font-family: var(--f-titulo);
  font-size: 5rem;
  color: var(--article-current-quote-border);
  position: absolute;
  top: -0.4rem;
  left: 0.7rem;
  opacity: 0.3;
  line-height: 1;
}

.cita p {
  font-family: var(--f-titulo);
  font-size: clamp(1.02rem, 2.6vw, 1.25rem);
  font-style: italic;
  color: var(--article-current-quote-text) !important;
  line-height: 1.55;
  margin: 0 !important;
}

.golpe {
  background: var(--article-current-golpe-bg) !important;
  color: var(--article-current-golpe-text) !important;
  padding: 1.9rem 2.2rem;
  margin: 2.8rem 0;
  font-style: italic;
  line-height: 1.68;
  font-family: var(--f-titulo);
  font-size: clamp(0.96rem, 2.3vw, 1.12rem);
}

.lista {
  list-style: none;
  margin: 1.8rem 0;
  padding: 0;
}

.lista li {
  padding: 0.88rem 0 0.88rem 2.4rem;
  border-bottom: 1px solid var(--article-current-border);
  color: var(--article-current-body);
  position: relative;
  font-size: 0.97rem;
  font-family: var(--f-cuerpo);
}

.lista li::before {
  content: "\2014";
  position: absolute;
  left: 0;
  font-family: var(--f-mono);
}

.pregunta {
  background: var(--article-current-question-surface) !important;
  border-left: 2px solid var(--article-current-question-border);
  padding: 1.2rem 1.5rem;
  margin: 1.2rem 0;
}

.pregunta p {
  color: var(--article-current-question-text) !important;
  margin: 0 !important;
  font-size: 0.97rem;
}

.pregunta strong {
  color: var(--article-current-question-strong);
}

.pregunta-final {
  font-family: var(--f-titulo);
  font-size: clamp(1.15rem, 3vw, 1.45rem);
  font-style: italic;
  color: var(--article-current-heading);
  line-height: 1.5;
  text-align: center;
  padding: 2.5rem 1rem;
  border-top: 1px solid var(--article-current-border);
  border-bottom: 1px solid var(--article-current-border);
  margin: 3rem 0;
}

.recursos {
  background: var(--article-current-resource-surface) !important;
  border: 1px solid var(--article-current-border);
  border-left: 3px solid var(--article-current-resource-border);
  padding: 1.6rem 1.8rem;
  margin: 3.5rem 0;
}

.recursos-lbl {
  font-family: var(--f-mono);
  font-size: 0.54rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-resource-label);
  display: block;
  margin-bottom: 0.7rem;
}

.recursos p {
  font-size: 0.9rem;
  color: var(--article-current-resource-text) !important;
  font-style: italic;
  line-height: 1.65;
  margin: 0 !important;
}

.recursos strong {
  color: var(--article-current-resource-strong);
}

.datos {
  background: var(--article-current-resource-surface) !important;
  border: 1px solid var(--article-current-border);
  border-left: 3px solid var(--article-current-primary);
  padding: 1.8rem 2rem;
  margin: 2.8rem 0;
}

.datos-lbl {
  font-family: var(--f-mono);
  font-size: 0.52rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-primary);
  display: block;
  margin-bottom: 1rem;
}

.datos p {
  font-size: 0.93rem !important;
  color: var(--article-current-body) !important;
  line-height: 1.7 !important;
  margin-bottom: 1rem !important;
}

.datos p:last-child {
  margin-bottom: 0 !important;
}

.tabla {
  width: 100%;
  border-collapse: collapse;
  margin: 2.2rem 0;
  font-size: 0.9rem;
  font-family: var(--f-cuerpo);
}

.tabla thead tr {
  border-bottom: 1px solid var(--article-current-border);
}

.tabla th {
  font-family: var(--f-mono);
  font-size: 0.52rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  padding: 0.6rem 0.9rem;
  text-align: left;
  color: var(--article-current-table-head);
}

.tabla td {
  padding: 0.82rem 0.9rem;
  border-bottom: 1px solid var(--article-current-table-row-border);
  vertical-align: top;
  line-height: 1.5;
  color: var(--article-current-table-text);
}

.tabla td:first-child {
  color: var(--article-current-table-lead);
  font-style: italic;
  width: var(--article-table-first-width, auto);
}

.notas {
  margin-top: 3.5rem;
  padding-top: 1.8rem;
  border-top: 1px solid var(--article-current-border);
}

.notas-lbl {
  font-family: var(--f-mono);
  font-size: 0.52rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-muted);
  display: block;
  margin-bottom: 1rem;
}

.notas ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: nota;
}

.notas ol li {
  counter-increment: nota;
  position: relative;
  padding: 0.4rem 0 0.4rem 2rem;
  font-size: 0.78rem;
  font-family: var(--f-mono);
  color: var(--article-current-muted);
  line-height: 1.55;
  border-bottom: 1px solid var(--article-current-border);
}

.notas ol li::before {
  content: counter(nota);
  position: absolute;
  left: 0;
  color: var(--article-current-primary);
  font-size: 0.7rem;
}

.notas ol li a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--article-current-border);
  transition: color 0.15s, border-color 0.15s;
  word-break: break-all;
}

.notas ol li a:hover {
  color: var(--article-current-body);
  border-color: var(--article-current-primary);
}

sup.nota {
  font-family: var(--f-mono);
  font-size: 0.6rem;
  color: var(--article-current-primary);
  vertical-align: super;
  line-height: 0;
  margin-left: 0.1em;
}

sup.nota a {
  color: inherit;
  text-decoration: none;
  border: 0;
}

.cierre {
  border-top: 1px solid var(--article-current-border);
  padding-top: 2.8rem;
  margin-top: 3.5rem;
}

.cierre h3 {
  font-family: var(--f-titulo);
  font-size: clamp(1.1rem, 2.8vw, 1.38rem);
  font-weight: bold;
  margin-bottom: 1.3rem;
}

.salida {
  background: var(--article-current-note-surface) !important;
  border: 1px solid var(--article-current-border);
  border-left: 3px solid var(--article-current-primary);
  padding: 1.5rem 1.8rem;
  margin-top: 2rem;
}

.salida-lbl {
  font-family: var(--f-mono);
  font-size: 0.52rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--article-current-primary);
  display: block;
  margin-bottom: 0.8rem;
}

.salida p {
  margin: 0 !important;
  color: var(--article-current-note-text) !important;
  font-size: 0.9rem !important;
  font-style: italic;
  line-height: 1.7;
}

.salida a {
  color: var(--article-current-note-strong);
}

.salida-actions {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 1.1rem;
}

.salida-btn {
  font-family: var(--f-mono);
  font-size: 0.54rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.8rem 1.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.salida-btn-primary {
  background: var(--article-current-primary);
  color: var(--article-current-bg) !important;
}

.salida-btn-secondary {
  border: 1px solid var(--article-current-border);
  color: var(--article-current-body) !important;
}

.cita-anon {
  font-family: var(--f-titulo);
  font-style: italic;
  color: var(--article-current-cita-anon);
  font-size: 0.9rem;
  text-align: right;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--article-current-border);
}

.cita-anon-autor {
  font-size: 0.8rem;
  color: var(--article-current-cita-anon-author);
  opacity: 0.9;
}

footer {
  background: var(--article-current-surface) !important;
  border-top: 1px solid var(--article-current-border);
  padding: 2.8rem 2rem;
  text-align: center;
}

footer .marca {
  font-family: var(--f-titulo);
  font-size: 1.15rem;
  font-style: italic;
  font-weight: bold;
  color: var(--article-current-brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  margin-bottom: 0.5rem;
}

footer p {
  font-family: var(--f-mono);
  font-size: 0.55rem;
  letter-spacing: 0.22em;
  color: var(--article-current-footer-text);
  text-transform: uppercase;
  margin: 0;
}

.nav-logo:focus-visible {
  outline: 2px solid var(--article-current-focus);
  outline-offset: 3px;
}

@keyframes fUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1024px) {
  nav.nav {
    padding: 0.84rem 1.3rem;
  }

  .hero {
    max-width: 740px;
    padding: 3rem 1.5rem 2.25rem;
  }

  .cuerpo {
    max-width: 700px;
    padding: 0.8rem 1.5rem 2.1rem;
  }

  .tabla {
    font-size: 0.88rem;
  }
}

@media (max-width: 768px) {
  nav.nav {
    padding: 0.8rem 1rem 0.9rem;
  }

  .salida {
    padding: 1.35rem 1.4rem;
  }

  .salida-actions {
    flex-direction: column;
  }

  .salida-btn {
    width: 100%;
  }

  .nav-logo {
    font-size: 0.95rem;
    gap: 0.55rem;
    white-space: normal;
  }

  .nav-logo-mark,
  .brand-mark {
    width: 19px;
    height: 19px;
  }

  .hero {
    padding: 2.7rem 1.1rem 1.95rem;
  }

  .cat {
    font-size: 0.52rem;
    letter-spacing: 0.28em;
    gap: 0.7rem;
    margin-bottom: 1.4rem;
  }

  h1 {
    font-size: clamp(2rem, 11vw, 3.1rem);
    line-height: 1.02;
    margin-bottom: 1.1rem;
  }

  h1 .tachado {
    font-size: 0.56em;
    margin-bottom: 0.3rem;
  }

  .subtitulo {
    max-width: none;
    padding-left: 1rem;
    margin-bottom: 1.55rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  .aviso,
  .umbral,
  .recursos,
  .datos {
    padding: 1.2rem 1.25rem;
    margin-bottom: 1.5rem;
  }

  .aviso-lbl,
  .umbral-lbl,
  .recursos-lbl,
  .datos-lbl,
  .bloque-lbl {
    font-size: 0.5rem;
    letter-spacing: 0.24em;
  }

  .aviso p,
  .umbral p,
  .recursos p,
  .datos p {
    font-size: 0.92rem;
    line-height: 1.58;
  }

  .meta {
    font-size: 0.5rem;
    letter-spacing: 0.14em;
  }

  .cuerpo {
    padding: 0.55rem 1.1rem 1.75rem;
  }

  .cuerpo p {
    font-size: clamp(16px, 4.4vw, 18px);
    margin-bottom: 1.35rem;
  }

  .sec-num {
    font-size: 3.7rem;
    margin-bottom: 0.35rem;
  }

  .sec-titulo,
  .bloque h2 {
    font-size: clamp(1.15rem, 5vw, 1.45rem);
  }

  .cuerpo h3,
  .subseccion-titulo {
    font-size: clamp(1rem, 4.6vw, 1.2rem);
    margin: 2rem 0 0.8rem;
  }

  .orn {
    margin: 2.2rem 0;
    letter-spacing: 0.55em;
  }

  .bloque {
    margin: 2.6rem 0 1.2rem;
  }

  .cita {
    padding: 1.35rem 1.2rem 1.35rem 1.75rem;
    margin: 2.2rem 0;
  }

  .cita::before {
    font-size: 3.7rem;
    top: -0.25rem;
    left: 0.45rem;
  }

  .cita p {
    font-size: clamp(0.98rem, 4vw, 1.12rem);
  }

  .golpe {
    padding: 1.35rem 1.25rem;
    margin: 2.2rem 0;
    font-size: clamp(0.94rem, 4vw, 1.02rem);
  }

  .lista li {
    padding: 0.75rem 0 0.75rem 1.9rem;
    font-size: 0.95rem;
  }

  .pregunta {
    padding: 1.05rem 1.15rem;
  }

  .pregunta p {
    font-size: 0.94rem;
  }

  .notas ol li {
    font-size: 0.74rem;
    padding-left: 1.7rem;
  }

  .tabla {
    display: block;
    overflow-x: auto;
    font-size: 0.86rem;
  }

  .tabla th,
  .tabla td {
    padding: 0.72rem 0.75rem;
  }

  .tabla td:first-child,
  .tabla th:first-child {
    min-width: var(--article-table-first-min-width, 8.5rem);
  }

  footer {
    padding: 2.2rem 1.2rem;
  }

  footer .marca {
    font-size: 1rem;
    gap: 0.55rem;
  }

  footer p {
    font-size: 0.5rem;
    letter-spacing: 0.16em;
  }
}

@media (max-width: 540px) {
  .hero {
    padding: 2.35rem 1rem 1.7rem;
  }

  .cat {
    letter-spacing: 0.22em;
  }

  h1 {
    font-size: clamp(1.9rem, 12vw, 2.6rem);
  }

  .subtitulo {
    font-size: 0.98rem;
  }

  .aviso,
  .umbral,
  .recursos,
  .datos {
    padding: 1rem 1rem 1rem 1.1rem;
  }

  .cuerpo {
    padding: 0.45rem 1rem 1.5rem;
  }

  .cita {
    padding: 1.2rem 1rem 1.2rem 1.5rem;
    margin: 2rem 0;
  }

  .golpe {
    padding: 1.2rem 1rem;
  }

  .sec-num {
    font-size: 3.2rem;
  }
}

@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  nav.nav {
    position: static;
  }

  .hero,
  .cuerpo {
    animation: none;
  }

  .golpe,
  .cita,
  .aviso,
  .umbral,
  .recursos,
  .datos {
    page-break-inside: avoid;
  }
}

@media (max-width: 380px) {
  nav.nav {
    padding: 0.75rem 0.9rem 0.85rem;
  }

  .nav-logo {
    font-size: 0.9rem;
  }

  h1 {
    letter-spacing: -0.015em;
  }

  .subtitulo {
    padding-left: 0.9rem;
  }

  .cita {
    padding-left: 1.35rem;
  }

  .sec-num {
    font-size: 2.8rem;
  }

  .tabla th,
  .tabla td {
    padding: 0.68rem 0.65rem;
  }
}
