/* ============================================================
   Cofradía del Cristo de la Providencia y María Santísima
   de la Súplica — Murcia
   CSS Principal · 2026
   ============================================================ */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cinzel+Decorative:wght@400;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap');

/* ── Variables ── */
:root {
  /* Paleta */
  --oro:         #C4A040;
  --oro-l:       #DFC070;
  --oro-d:       #8A6E1A;
  --burdeos:     #5C1212;
  --burdeos-l:   #7E2020;
  --burdeos-d:   #3C0A0A;
  --negro:       #0A0706;
  --negro-2:     #130C08;
  --gris:        #1A1008;
  --gris-2:      #221610;
  --crema:       #F2E8D4;
  --crema-2:     #E0D4B8;
  --crema-3:     #C0B090;
  --texto:       #B8A888;
  --texto-l:     #D8CEB4;

  /* Tipografías */
  --fnt-d:  'Cinzel Decorative', serif;
  --fnt-t:  'Cinzel', serif;
  --fnt-b:  'Cormorant Garamond', 'EB Garamond', Georgia, serif;

  /* Sombras */
  --sombra-oro:  0 4px 28px rgba(196,160,64,.22);
  --sombra-oscura: 0 8px 48px rgba(0,0,0,.6);
  --sombra-card: 0 4px 24px rgba(10,7,6,.5);

  /* Utilidades */
  --trans:  all .32s cubic-bezier(.4,0,.2,1);
  --rad:    2px;

  /* Layout */
  --max-w:  1240px;
  --pad-x:  6%;
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--fnt-b);
  background: var(--negro);
  color: var(--texto-l);
  line-height: 1.8;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: var(--trans);
}

ul { list-style: none; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }

/* ── Grano de fondo ── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.88' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.042'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9998;
  opacity: .65;
}

/* ── Tipografía ── */
h1, h2, h3, h4 {
  font-family: var(--fnt-t);
  line-height: 1.2;
  font-weight: 500;
}

h1 { font-size: clamp(1.9rem, 4.5vw, 3.4rem); }
h2 { font-size: clamp(1.45rem, 3vw, 2.2rem); }
h3 { font-size: clamp(1.1rem, 2.2vw, 1.5rem); }
h4 { font-size: 1.1rem; }

p {
  font-size: 1.06rem;
  margin-bottom: 1.2rem;
}

p:last-child { margin-bottom: 0; }
strong { font-weight: 600; color: var(--crema-2); }
em { font-style: italic; color: var(--crema-3); }

/* ============================================================
   COMPONENTES GLOBALES
   ============================================================ */

/* ── Badge ── */
.badge {
  display: inline-block;
  font-family: var(--fnt-t);
  font-size: .57rem;
  letter-spacing: .45em;
  text-transform: uppercase;
  color: var(--oro);
  padding: .28rem 1rem;
  border: 1px solid rgba(196,160,64,.32);
  margin-bottom: 1.2rem;
}

.badge--burdeos {
  color: var(--burdeos-l);
  border-color: rgba(92,18,18,.32);
}

/* ── Separador ornamental ── */
.sep-ornamental {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 2rem 0;
}

.sep-ornamental::before,
.sep-ornamental::after {
  content: '';
  flex: 1;
  height: 1px;
}

.sep-ornamental::before { background: linear-gradient(90deg, transparent, var(--oro)); }
.sep-ornamental::after  { background: linear-gradient(90deg, var(--oro), transparent); }

.sep-ornamental__icon {
  color: var(--oro);
  flex-shrink: 0;
  font-size: .95rem;
}

/* ── Botones ── */
.btn {
  display: inline-block;
  font-family: var(--fnt-t);
  font-size: .59rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  padding: .9rem 1.8rem;
  transition: var(--trans);
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.btn--oro {
  background: var(--oro);
  color: var(--negro);
}

.btn--oro:hover {
  background: var(--oro-l);
  transform: translateY(-2px);
  box-shadow: var(--sombra-oro);
}

.btn--contorno {
  background: transparent;
  color: var(--crema-3);
  border: 1px solid rgba(240,232,216,.22);
}

.btn--contorno:hover {
  border-color: var(--oro);
  color: var(--oro-l);
  background: rgba(196,160,64,.06);
  transform: translateY(-2px);
}

.btn--burdeos {
  background: var(--burdeos);
  color: var(--crema-2);
  border: 1px solid var(--burdeos-l);
}

.btn--burdeos:hover {
  background: var(--burdeos-d);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(92,18,18,.4);
}

/* ── Pull quote ── */
.pull-quote {
  border-left: 2px solid var(--oro);
  padding: 1.5rem 2rem;
  background: rgba(196,160,64,.04);
  margin: 2.5rem 0;
}

.pull-quote p {
  font-style: italic;
  font-size: 1.18rem;
  color: var(--crema);
  margin: 0;
}

.pull-quote cite {
  display: block;
  margin-top: .65rem;
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(196,160,64,.45);
  font-style: normal;
}

/* ── Ficha técnica ── */
.ficha {
  background: var(--gris);
  padding: 1.5rem 2rem;
  margin: 1.6rem 0;
}

.ficha__fila {
  display: flex;
  gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(196,160,64,.07);
  font-size: .92rem;
}

.ficha__fila:last-child { border-bottom: none; }

.ficha__k {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--oro);
  min-width: 115px;
  padding-top: .1rem;
  line-height: 1.5;
  flex-shrink: 0;
}

.ficha__v {
  color: var(--crema-3);
  flex: 1;
  line-height: 1.6;
}

/* ── Sección base ── */
.section {
  padding: 6rem var(--pad-x);
}

.section--oscura  { background: var(--negro-2); }
.section--gris    { background: var(--gris); }
.section--gris2   { background: var(--gris-2); }
.section--burdeos { background: var(--burdeos-d); }

.section--crema {
  background: var(--crema-2);
  color: var(--negro-2);
}

.section--crema h2,
.section--crema h3 { color: var(--negro-2); }

.section--crema .badge {
  color: var(--burdeos);
  border-color: rgba(92,18,18,.3);
}

.section__header {
  text-align: center;
  margin-bottom: 4rem;
}

.section__header h2  { color: var(--crema-2); margin-bottom: 1rem; }
.section__header p   { max-width: 560px; margin: 0 auto; opacity: .88; font-size: 1.05rem; line-height: 1.75; }

.section__inner {
  max-width: var(--max-w);
  margin: 0 auto;
}

/* ============================================================
   HEADER / NAVEGACIÓN
   ============================================================ */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: var(--trans);
}

.site-header--scrolled {
  background: rgba(10,7,6,.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(196,160,64,.15);
  box-shadow: 0 4px 32px rgba(0,0,0,.55);
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.05rem var(--pad-x);
  gap: 2rem;
}

/* Logo */
.nav__logo {
  display: flex;
  align-items: center;
  gap: .85rem;
  text-decoration: none;
  flex-shrink: 0;
}

/* ── Logo: igualdad visual Cristo y Virgen ── */
.nav__logo-text {
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.nav__logo-l1,
.nav__logo-l2 {
  display: block;
  font-family: var(--fnt-t);
  font-size: .82rem;
  font-weight: 600;
  color: #DFC070;
  letter-spacing: .05em;
  line-height: 1.22;
}

.nav__logo-lugar {
  display: block;
  font-family: var(--fnt-t);
  font-size: .44rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(196,160,64,.52);
  margin-top: .1rem;
}

@media (max-width: 1024px) {
  .nav__logo-l1,
  .nav__logo-l2 { font-size: .72rem; }
}

@media (max-width: 640px) {
  .nav__logo-l1,
  .nav__logo-l2 { font-size: .62rem; }
  .nav__logo-lugar { display: none; }
}


/* Responsive logo */
@media (max-width: 1024px) {
}

@media (max-width: 640px) {
}


.nav__logo-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(196,160,64,.42);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--oro);
  transition: var(--trans);
}

.nav__logo:hover .nav__logo-icon {
  border-color: var(--oro);
  background: rgba(196,160,64,.08);
}

/* Links */
.nav__links {
  display: flex;
  align-items: center;
  gap: .15rem;
}

.nav__link {
  font-family: var(--fnt-t);
  font-size: .57rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(242,232,212,.7);
  padding: .45rem .75rem;
  position: relative;
  transition: var(--trans);
}

.nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 1px;
  background: var(--oro);
  transition: var(--trans);
}

.nav__link:hover,
.nav__link--activo {
  color: var(--oro-l);
}

.nav__link:hover::after,
.nav__link--activo::after {
  width: 70%;
}

.nav__link--activo { color: var(--oro); }

/* CTA botón nav */
.nav__cta {
  font-family: var(--fnt-t);
  font-size: .55rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--negro);
  background: var(--oro);
  padding: .5rem 1.1rem;
  transition: var(--trans);
  border: none;
  cursor: pointer;
}

.nav__cta:hover {
  background: var(--oro-l);
  transform: translateY(-1px);
}

/* Hamburger */
.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 4px;
  background: none;
  border: none;
  cursor: pointer;
}

.nav__hamburger span {
  width: 23px;
  height: 1.5px;
  background: var(--crema-3);
  display: block;
  transition: var(--trans);
}

.nav__hamburger.is-open span:nth-child(1) { transform: rotate(45deg) translate(4.5px,4.5px); }
.nav__hamburger.is-open span:nth-child(2) { opacity: 0; transform: translateX(6px); }
.nav__hamburger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(4.5px,-4.5px); }

/* Nav móvil */
.nav__mobile {
  display: none;
  flex-direction: column;
  background: rgba(10,7,6,.98);
  border-top: 1px solid rgba(196,160,64,.12);
  padding: .5rem 0;
}

.nav__mobile.is-open { display: flex; }

.nav__mobile-link {
  font-family: var(--fnt-t);
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240,232,212,.65);
  padding: .85rem var(--pad-x);
  border-bottom: 1px solid rgba(196,160,64,.07);
  transition: var(--trans);
}

.nav__mobile-link:hover {
  color: var(--oro);
  background: rgba(196,160,64,.04);
  padding-left: calc(var(--pad-x) + .4rem);
}

/* ============================================================
   PAGE HERO (cabecera páginas interiores)
   ============================================================ */

.page-hero {
  min-height: 52vh;
  display: flex;
  align-items: flex-end;
  padding: 9.5rem var(--pad-x) 4.5rem;
  position: relative;
  overflow: hidden;
  background: var(--negro);
}

.page-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 110% 100% at 22% 50%, rgba(92,18,18,.55) 0%, transparent 58%),
    linear-gradient(180deg, rgba(10,7,6,.35) 0%, rgba(10,7,6,.92) 100%);
}

.page-hero__pattern {
  position: absolute;
  inset: 0;
  opacity: .03;
  background-image: repeating-linear-gradient(
    45deg,
    var(--oro) 0, var(--oro) 1px,
    transparent 1px, transparent 36px
  );
}

.page-hero__photo {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 45%;
  overflow: hidden;
}

.page-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  filter: brightness(.35) saturate(.8);
}

.page-hero__photo::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--negro) 0%, transparent 50%);
  z-index: 1;
}

.page-hero__content {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

.breadcrumb {
  display: flex;
  gap: .5rem;
  align-items: center;
  font-family: var(--fnt-t);
  font-size: .54rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(230,200,120,.88);
  margin-bottom: 1.2rem;
}

.breadcrumb a {
  color: rgba(196,160,64,.65);
  transition: var(--trans);
}

.breadcrumb a:hover { color: var(--oro); }
.breadcrumb__sep { color: rgba(196,160,64,.25); }

.page-hero__eyebrow {
  font-family: var(--fnt-t);
  font-size: .57rem;
  letter-spacing: .45em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: 1rem;
  display: block;
}

.page-hero h1   { color: var(--crema-2); margin-bottom: .8rem; }

.page-hero__desc {
  font-style: italic;
  font-size: 1.15rem;
  color: rgba(235,222,200,.92);
  max-width: 580px;
  line-height: 1.75;
}

/* ============================================================
   HERO INICIO
   ============================================================ */

.hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  overflow: hidden;
  background: var(--negro);
}

.hero__visual {
  position: relative;
  overflow: hidden;
}

.hero__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 12%;
  filter: brightness(.48) saturate(.85);
  transform: scale(1.04);
  transition: transform 12s ease;
}

.hero__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, var(--negro) 0%, transparent 60%),
              linear-gradient(180deg, rgba(10,7,6,.3) 0%, rgba(10,7,6,.5) 100%);
}

.hero__contenido {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 9.5rem var(--pad-x) 5rem 4%;
  position: relative;
  z-index: 2;
}

.hero__contenido::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 110% 80% at 0% 55%, rgba(92,18,18,.32) 0%, transparent 65%);
  pointer-events: none;
}

/* Partículas */
.hero__particulas {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.particula {
  position: absolute;
  width: 1.5px;
  height: 1.5px;
  background: var(--oro);
  border-radius: 50%;
  animation: particula-subir linear infinite;
  opacity: 0;
}

@keyframes particula-subir {
  0%   { transform: translateY(100vh); opacity: 0; }
  8%   { opacity: .65; }
  92%  { opacity: .2; }
  100% { transform: translateY(-8vh); opacity: 0; }
}

/* Escudo / logo hero */
.hero__escudo {
  position: relative;
  z-index: 3;
  width: 74px;
  height: 74px;
  border: 1px solid rgba(196,160,64,.45);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  background: radial-gradient(circle, rgba(92,18,18,.32), transparent);
  animation: escudo-latido 3.5s ease-in-out infinite;
}

.hero__escudo::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px solid rgba(196,160,64,.14);
}

.hero__escudo svg {
  width: 44px;
  height: 44px;
  color: var(--oro);
}

@keyframes escudo-latido {
  0%, 100% { box-shadow: 0 0 0 0 rgba(196,160,64,.32); }
  50%       { box-shadow: 0 0 0 18px rgba(196,160,64,0); }
}

/* Textos hero */
.hero__eyebrow {
  font-family: var(--fnt-t);
  font-size: .59rem;
  letter-spacing: .52em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: 1.8rem;
  position: relative;
  z-index: 3;
  animation: slide-up .9s .2s both;
}

.hero__titulo {
  font-family: var(--fnt-d);
  font-size: clamp(1.4rem, 3.5vw, 2.5rem);
  color: var(--crema);
  line-height: 1.25;
  position: relative;
  z-index: 3;
  animation: slide-up .9s .4s both;
}

.hero__titulo span { color: var(--oro-l); }

.hero__subtitulo {
  font-family: var(--fnt-t);
  font-size: clamp(.72rem, 1.5vw, .88rem);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(196,160,64,.52);
  margin: 1.3rem 0;
  position: relative;
  z-index: 3;
  animation: slide-up .9s .6s both;
}

.hero__divisor {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 1.6rem 0;
  position: relative;
  z-index: 3;
  animation: slide-up .9s .8s both;
}

.hero__divisor-linea {
  flex: 1;
  max-width: 80px;
  height: 1px;
}

.hero__divisor-linea--iz { background: linear-gradient(90deg, var(--oro), transparent); }
.hero__divisor-linea--de { background: linear-gradient(90deg, transparent, var(--oro)); }

.hero__lema {
  font-style: italic;
  font-size: clamp(.98rem, 1.8vw, 1.18rem);
  color: rgba(240,232,212,.65);
  max-width: 500px;
  line-height: 1.82;
  position: relative;
  z-index: 3;
  animation: slide-up .9s 1s both;
}

.hero__botones {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 2.5rem;
  position: relative;
  z-index: 3;
  animation: slide-up .9s 1.2s both;
}

/* Flecha scroll */
.hero__scroll {
  position: absolute;
  bottom: 2.2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  color: rgba(230,200,120,.88);
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  animation: flotar 2.3s ease-in-out infinite;
}

.hero__scroll-linea {
  width: 1px;
  height: 36px;
  background: linear-gradient(180deg, var(--oro), transparent);
}

@keyframes flotar {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(7px); }
}

@keyframes slide-up {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Estadísticas ── */
.stats {
  padding: 0;
  background: var(--burdeos-d);
}

.stats__fila {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: rgba(196,160,64,.08);
  border-top: 1px solid rgba(196,160,64,.12);
  border-bottom: 1px solid rgba(196,160,64,.12);
  max-width: var(--max-w);
  margin: 0 auto;
}

.stat {
  text-align: center;
  padding: 2.5rem 1rem;
  background: var(--burdeos-d);
  transition: var(--trans);
}

.stat:hover { background: rgba(92,18,18,.45); }

.stat__num {
  font-family: var(--fnt-d);
  font-size: 2.15rem;
  color: var(--oro-l);
  line-height: 1;
  display: block;
}

.stat__etq {
  font-family: var(--fnt-t);
  font-size: .48rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(196,160,64,.48);
  margin-top: .5rem;
  display: block;
}

/* ============================================================
   PRESENTACIÓN
   ============================================================ */

.presentacion {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 100%;
  align-items: stretch;
}

.presentacion__foto {
  position: relative;
  overflow: hidden;
  min-height: 580px;
}

.presentacion__foto img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 10%;
  filter: brightness(.68);
  transition: transform .8s ease;
}

.presentacion__foto:hover img { transform: scale(1.03); }

.presentacion__foto::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 55%, var(--negro-2) 100%);
}

.presentacion__texto {
  padding: 5.5rem 4.5rem 5.5rem 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--negro-2);
}

.presentacion__texto h2 { color: var(--crema-2); margin-bottom: 1.5rem; }
.presentacion__texto p  { color: rgba(185,170,140,.78); }

.datos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin: 2rem 0;
}

.dato {
  background: rgba(196,160,64,.05);
  border: 1px solid rgba(196,160,64,.13);
  padding: .9rem 1.05rem;
}

.dato__k {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .22rem;
}

.dato__v {
  font-size: .92rem;
  color: var(--crema-3);
  line-height: 1.5;
}

/* ============================================================
   TITULARES (split hero)
   ============================================================ */

.titulares-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.titular-panel {
  position: relative;
  overflow: hidden;
  min-height: 72vh;
  display: flex;
  align-items: flex-end;
  cursor: pointer;
}

.titular-panel__foto {
  position: absolute;
  inset: 0;
}

.titular-panel__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 12%;
  filter: brightness(.52) saturate(.88);
  transition: transform .8s ease, filter .8s ease;
}

.titular-panel:hover .titular-panel__foto img {
  transform: scale(1.04);
  filter: brightness(.62) saturate(.92);
}

.titular-panel__velo {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.titular-panel--cristo .titular-panel__velo {
  background: linear-gradient(180deg, transparent 30%, rgba(60,10,10,.82) 100%);
}

.titular-panel--virgen .titular-panel__velo {
  background: linear-gradient(180deg, transparent 30%, rgba(10,8,30,.85) 100%);
}

.titular-panel__texto {
  position: relative;
  z-index: 2;
  padding: 3.5rem;
  color: var(--crema);
}

.titular-panel__num {
  font-family: var(--fnt-d);
  font-size: .57rem;
  letter-spacing: .48em;
  color: var(--oro);
  margin-bottom: .75rem;
  display: block;
}

.titular-panel__nombre {
  font-family: var(--fnt-t);
  font-size: clamp(1.1rem, 2.2vw, 1.65rem);
  margin-bottom: .75rem;
  line-height: 1.22;
}

.titular-panel__desc {
  color: rgba(218,208,188,.58);
  font-size: .93rem;
  line-height: 1.68;
}

/* ── Titular detalle ── */
.titular-detalle {
  padding: 6rem var(--pad-x);
}

.titular-detalle__grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 5.5rem;
  max-width: var(--max-w);
  margin: 0 auto;
  align-items: start;
}

.titular-detalle__grid--inv {
  direction: rtl;
}

.titular-detalle__grid--inv > * {
  direction: ltr;
}

.titular-foto-marco {
  position: relative;
  overflow: hidden;
}

.titular-foto-marco img {
  width: 100%;
  display: block;
  filter: brightness(.82) saturate(.92);
}

.titular-foto-marco::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(196,160,64,.22);
  pointer-events: none;
}

.titular-foto-pie {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.1rem 1.2rem;
  background: linear-gradient(transparent, rgba(10,7,6,.92));
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--oro);
  text-align: center;
}

.titular-info h2 { color: var(--crema-2); margin-bottom: 1.5rem; }
.titular-info p  { color: rgba(185,170,140,.74); line-height: 1.9; font-size: 1.02rem; }

/* ============================================================
   EVENTOS
   ============================================================ */

.eventos-lista {
  max-width: 880px;
  margin: 0 auto;
}

.evento {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 2rem;
  align-items: start;
  padding: 1.85rem 0;
  border-bottom: 1px solid rgba(196,160,64,.1);
  transition: var(--trans);
}

.evento:hover { padding-left: .65rem; }
.evento:last-child { border-bottom: none; }

.evento__fecha {
  background: var(--burdeos);
  padding: .88rem;
  text-align: center;
  flex-shrink: 0;
}

.evento__dia {
  font-family: var(--fnt-d);
  font-size: 1.72rem;
  color: var(--oro-l);
  line-height: 1;
}

.evento__mes {
  font-family: var(--fnt-t);
  font-size: .48rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(240,230,210,.52);
  margin-top: .22rem;
}

.evento__titulo {
  font-family: var(--fnt-t);
  font-size: 1rem;
  color: var(--crema-3);
  margin-bottom: .32rem;
}

.evento__desc {
  font-size: .9rem;
  color: rgba(180,162,130,.55);
  margin-bottom: .4rem;
  line-height: 1.65;
}

.evento__hora {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--oro);
  display: flex;
  align-items: center;
  gap: .38rem;
}

/* ============================================================
   NOTICIAS
   ============================================================ */

.noticias-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.35rem;
  max-width: var(--max-w);
  margin: 0 auto;
}

.noticia-card {
  background: var(--negro-2);
  border: 1px solid rgba(196,160,64,.09);
  overflow: hidden;
  transition: var(--trans);
  cursor: pointer;
}

.noticia-card:hover {
  border-color: rgba(196,160,64,.32);
  transform: translateY(-4px);
  box-shadow: var(--sombra-card);
}

.noticia-card__img {
  height: 188px;
  overflow: hidden;
  position: relative;
}

.noticia-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  filter: brightness(.72) saturate(.88);
  transition: transform .5s ease;
}

.noticia-card:hover .noticia-card__img img {
  transform: scale(1.05);
}

.noticia-card__cuerpo { padding: 1.4rem; }

.noticia-card__cat {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--burdeos-l);
  margin-bottom: .4rem;
}

.noticia-card__titulo {
  font-family: var(--fnt-t);
  font-size: .93rem;
  color: var(--crema-3);
  margin-bottom: .58rem;
  line-height: 1.42;
}

.noticia-card__extracto {
  font-size: .88rem;
  color: rgba(200,185,155,.82);
  line-height: 1.68;
  margin-bottom: .78rem;
}

.noticia-card__meta {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,200,120,.88);
  display: flex;
  align-items: center;
  gap: .42rem;
}

/* Noticias layout (página noticias) */
.noticias-layout {
  display: grid;
  grid-template-columns: 1fr 295px;
  gap: 4.5rem;
  max-width: var(--max-w);
  margin: 0 auto;
}

.noticia-card--horizontal {
  display: grid;
  grid-template-columns: 230px 1fr;
  margin-bottom: 1.25rem;
}

.noticia-card--horizontal .noticia-card__img {
  height: auto;
  min-height: 185px;
}

/* Sidebar */
.sidebar-widget {
  background: var(--negro-2);
  border: 1px solid rgba(196,160,64,.1);
  padding: 1.5rem;
  margin-bottom: 1.35rem;
}

.sidebar-widget--crema {
  background: var(--crema-2);
  border-color: rgba(92,18,18,.12);
}

.sidebar-widget--burdeos {
  background: var(--burdeos-d);
  border-color: rgba(196,160,64,.12);
}

.sidebar__titulo {
  font-family: var(--fnt-t);
  font-size: .57rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  padding-bottom: .7rem;
  border-bottom: 1px solid rgba(196,160,64,.14);
  margin-bottom: 1.1rem;
}

.sidebar-widget .sidebar__titulo { color: var(--oro); }
.sidebar-widget--crema .sidebar__titulo { color: var(--burdeos); border-color: rgba(92,18,18,.12); }
.sidebar-widget--burdeos .sidebar__titulo { color: var(--oro); }

/* ============================================================
   GALERÍA
   ============================================================ */

.galeria-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: center;
  margin-bottom: 3.5rem;
}

.filtro-btn {
  font-family: var(--fnt-t);
  font-size: .54rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: .45rem 1.1rem;
  border: 1px solid rgba(196,160,64,.2);
  background: transparent;
  color: rgba(188,172,140,.62);
  transition: var(--trans);
  cursor: pointer;
}

.filtro-btn:hover,
.filtro-btn.is-activo {
  background: var(--oro);
  color: var(--negro);
  border-color: var(--oro);
}

.galeria-masonry {
  columns: 3;
  gap: .65rem;
  max-width: var(--max-w);
  margin: 0 auto;
}

.galeria-item {
  break-inside: avoid;
  margin-bottom: .65rem;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.galeria-item img {
  width: 100%;
  display: block;
  filter: brightness(.75) saturate(.88);
  transition: transform .5s ease, filter .5s ease;
}

.galeria-item:hover img {
  transform: scale(1.04);
  filter: brightness(.88) saturate(.95);
}

.galeria-item__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(10,7,6,.88) 100%);
  opacity: 0;
  transition: var(--trans);
  display: flex;
  align-items: flex-end;
  padding: 1.1rem;
}

.galeria-item:hover .galeria-item__overlay { opacity: 1; }

.galeria-item__label {
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--crema-3);
}

/* Lightbox */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(5,3,2,.96);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.lightbox.is-open {
  opacity: 1;
  pointer-events: all;
}

.lightbox__img {
  max-width: 92vw;
  max-height: 88vh;
  object-fit: contain;
  border: 1px solid rgba(196,160,64,.18);
}

.lightbox__cerrar {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  width: 44px;
  height: 44px;
  background: rgba(196,160,64,.9);
  border: none;
  color: var(--negro);
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--trans);
}

.lightbox__cerrar:hover { background: var(--oro-l); transform: scale(1.05); }

.lightbox__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(196,160,64,.14);
  border: 1px solid rgba(196,160,64,.35);
  color: var(--crema);
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--trans);
}

.lightbox__nav:hover { background: rgba(196,160,64,.38); }
.lightbox__nav--prev { left: 1.5rem; }
.lightbox__nav--next { right: 1.5rem; }

/* ============================================================
   PROCESIONES
   ============================================================ */

.procesion-poster {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 3.5rem;
  max-width: 1000px;
  margin: 0 auto 5rem;
  align-items: center;
  background: var(--gris);
  border: 1px solid rgba(196,160,64,.12);
  padding: 2.8rem;
}

.procesion-poster__img img {
  width: 100%;
  display: block;
  border: 1px solid rgba(196,160,64,.2);
}

.procesion-poster__titulo { font-family: var(--fnt-d); font-size: 1.2rem; color: var(--oro-l); display: block; margin: .8rem 0 .3rem; }
.procesion-poster__lugar  { font-family: var(--fnt-t); font-size: .57rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(196,160,64,.5); }
.procesion-poster__texto p { color: rgba(185,170,140,.7); line-height: 1.88; font-size: .98rem; margin-top: 1.2rem; }

.procesion-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
  max-width: var(--max-w);
  margin: 0 auto 5rem;
}

.procesion-card {
  background: var(--gris);
  border: 1px solid rgba(196,160,64,.1);
  overflow: hidden;
  transition: var(--trans);
}

.procesion-card:hover {
  border-color: rgba(196,160,64,.38);
  transform: translateY(-3px);
}

.procesion-card__cab {
  background: var(--burdeos);
  padding: 1.3rem 1.65rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.procesion-card__dia   { font-family: var(--fnt-d); font-size: .92rem; color: var(--crema); }
.procesion-card__fecha { font-family: var(--fnt-t); font-size: .53rem; letter-spacing: .18em; text-transform: uppercase; color: var(--oro); }

.procesion-card__cuerpo { padding: 1.45rem 1.65rem; }
.procesion-card__hora   { display: flex; align-items: center; gap: .42rem; font-family: var(--fnt-t); font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: var(--oro); margin-bottom: .82rem; }
.procesion-card__desc   { color: rgba(185,170,140,.6); font-size: .9rem; line-height: 1.72; }

/* Recorrido */
.recorrido {
  max-width: 800px;
  margin: 0 auto;
}

.recorrido h2 {
  font-family: var(--fnt-t);
  color: var(--crema-2);
  text-align: center;
  margin-bottom: 3rem;
}

.parada {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1.5rem;
  padding: 1.35rem 0;
  position: relative;
}

.parada:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 24px;
  top: 52px;
  bottom: 0;
  width: 1px;
  background: rgba(196,160,64,.16);
  transform: translateX(-50%);
}

.parada__num {
  width: 38px;
  height: 38px;
  background: var(--burdeos);
  border: 1px solid var(--oro);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fnt-t);
  font-size: .65rem;
  font-weight: 600;
  color: var(--oro);
  flex-shrink: 0;
}

.parada__lugar { font-family: var(--fnt-t); color: var(--crema-3); font-size: .92rem; margin-bottom: .2rem; }
.parada__nota  { color: rgba(185,170,140,.42); font-size: .82rem; }

.encuentro {
  background: var(--burdeos-d);
  border: 1px solid rgba(196,160,64,.18);
  padding: 3rem;
  max-width: 700px;
  margin: 4rem auto 0;
  text-align: center;
}

.encuentro h3 { color: var(--crema-2); margin-bottom: 1rem; }
.encuentro p  { color: rgba(196,176,140,.65); font-size: .98rem; line-height: 1.84; margin: 0; }
.encuentro p + p { margin-top: .75rem; }

/* ============================================================
   HISTORIA
   ============================================================ */

.historia-layout {
  display: grid;
  grid-template-columns: 1fr 2.25fr;
  gap: 5.5rem;
  align-items: start;
  max-width: var(--max-w);
  margin: 0 auto;
}

.historia-sidebar {
  position: sticky;
  top: 5.5rem;
}

.historia-ficha {
  background: rgba(196,160,64,.04);
  border: 1px solid rgba(196,160,64,.16);
  padding: 2rem;
}

.historia-ficha__titulo {
  font-family: var(--fnt-t);
  font-size: .57rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--oro);
  padding-bottom: .72rem;
  border-bottom: 1px solid rgba(196,160,64,.14);
  margin-bottom: 1.4rem;
}

.hf-fila {
  padding: .52rem 0;
  border-bottom: 1px solid rgba(196,160,64,.06);
}

.hf-fila:last-child { border-bottom: none; }

.hf-k {
  font-family: var(--fnt-t);
  font-size: .48rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(196,160,64,.48);
  margin-bottom: .15rem;
}

.hf-v {
  font-size: .9rem;
  color: var(--texto-l);
  line-height: 1.5;
}

.hf-v strong { color: var(--oro-l); }

/* Historia cuerpo */
.historia-cuerpo h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.2rem, 2.5vw, 1.75rem);
  color: var(--crema-2);
  margin-bottom: 1.8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(196,160,64,.12);
}

.historia-cuerpo h3 {
  font-family: var(--fnt-t);
  font-size: 1.05rem;
  color: var(--oro-l);
  margin: 2.4rem 0 .72rem;
}

.historia-cuerpo p {
  color: rgba(178,160,128,.78);
  line-height: 1.92;
  font-size: 1.03rem;
}

/* Línea del tiempo */
.linea-tiempo {
  position: relative;
  padding-left: 2.8rem;
  margin-top: 4rem;
}

.linea-tiempo::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, var(--oro), rgba(92,18,18,.35), transparent);
}

.lt-item {
  position: relative;
  padding-bottom: 2.75rem;
}

.lt-item::before {
  content: '';
  position: absolute;
  left: -3rem;
  top: .4rem;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--oro);
  box-shadow: 0 0 0 3px var(--negro-2), 0 0 0 5px rgba(196,160,64,.22);
}

.lt-anio  { font-family: var(--fnt-d); font-size: .95rem; color: var(--burdeos-l); margin-bottom: .22rem; }
.lt-evento{ font-family: var(--fnt-t); font-size: .86rem; color: var(--crema-3); margin-bottom: .22rem; }
.lt-desc  { font-size: .88rem; color: rgba(178,160,128,.52); }

/* ============================================================
   CONTACTO
   ============================================================ */

.contacto-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.5rem;
  max-width: var(--max-w);
  margin: 0 auto;
  align-items: start;
}

.form-grupo { margin-bottom: 1.35rem; }

.form-label {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .4rem;
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: .78rem .92rem;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(196,160,64,.18);
  color: var(--crema-2);
  font-family: var(--fnt-b);
  font-size: 1rem;
  transition: var(--trans);
  outline: none;
  appearance: none;
}

.form-input:focus,
.form-textarea:focus {
  border-color: var(--oro);
  background: rgba(196,160,64,.04);
}

.form-textarea {
  min-height: 130px;
  resize: vertical;
}

.form-fila-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.form-check {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1.4rem;
}

.form-check input[type="checkbox"] {
  margin-top: .3rem;
  accent-color: var(--oro);
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.form-check-label {
  font-size: .88rem;
  color: rgba(178,160,128,.55);
  line-height: 1.55;
}

.form-check-label a {
  color: var(--oro);
  border-bottom: 1px solid rgba(196,160,64,.35);
}

/* Contacto info */
.info-item {
  display: flex;
  gap: 1.15rem;
  margin-bottom: 1.8rem;
  align-items: flex-start;
}

.info-item__icono {
  width: 42px;
  height: 42px;
  background: var(--burdeos);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--oro);
  flex-shrink: 0;
  font-size: .95rem;
}

.info-item__etq {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .2rem;
}

.info-item__val {
  color: rgba(178,162,130,.72);
  font-size: .92rem;
  line-height: 1.55;
}

.redes-sociales {
  display: flex;
  gap: .65rem;
  margin-top: 1.8rem;
}

.red-link {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(196,160,64,.22);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--crema-3);
  font-size: .88rem;
  transition: var(--trans);
}

.red-link:hover {
  background: var(--oro);
  border-color: var(--oro);
  color: var(--negro);
  transform: translateY(-2px);
}

.cofrade-bloque {
  background: var(--burdeos);
  padding: 1.9rem;
  margin-top: 2.2rem;
}

.cofrade-bloque h3 { color: var(--crema-2); margin-bottom: .9rem; font-size: 1.05rem; }
.cofrade-bloque p  { color: rgba(185,170,140,.65); font-size: .88rem; margin-bottom: 1rem; line-height: 1.6; }

.pasos-lista {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-bottom: .9rem;
}

.paso {
  display: flex;
  align-items: flex-start;
  gap: .72rem;
}

.paso__num {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--oro);
  color: var(--negro);
  font-family: var(--fnt-t);
  font-size: .5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: .12rem;
}

.paso__texto {
  font-size: .88rem;
  color: rgba(188,172,140,.65);
  line-height: 1.55;
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer {
  background: var(--negro);
  border-top: 1px solid rgba(196,160,64,.1);
  padding: 4.5rem var(--pad-x) 2.5rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  max-width: var(--max-w);
  margin: 0 auto 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(196,160,64,.08);
}

.footer-marca h3 {
  font-family: var(--fnt-d);
  font-size: .88rem;
  color: var(--oro-l);
  margin-bottom: .9rem;
}

.footer-marca p {
  color: rgba(178,162,130,.42);
  font-size: .86rem;
  line-height: 1.78;
}

.footer-col h4 {
  font-family: var(--fnt-t);
  font-size: .54rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .88rem;
  padding-bottom: .48rem;
  border-bottom: 1px solid rgba(196,160,64,.13);
}

.footer-col li {
  margin-bottom: .38rem;
}

.footer-col li a {
  color: rgba(178,162,130,.42);
  font-size: .85rem;
  transition: var(--trans);
}

.footer-col li a:hover {
  color: var(--oro);
  padding-left: 4px;
}

.footer-base {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: var(--max-w);
  margin: 0 auto;
}

.footer-copy {
  font-family: var(--fnt-t);
  font-size: .48rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(196,160,64,.22);
}

/* ── Scroll-reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s ease, transform .65s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal--delay-1 { transition-delay: .1s; }
.reveal--delay-2 { transition-delay: .2s; }
.reveal--delay-3 { transition-delay: .3s; }
.reveal--delay-4 { transition-delay: .4s; }

/* ── CTA hermano ── */
.cta-hermano {
  text-align: center;
  max-width: 620px;
  margin: 0 auto;
}

.cta-hermano h2 { color: var(--crema-2); margin: 1rem 0; }
.cta-hermano p  { color: rgba(196,176,140,.72); font-size: 1.02rem; margin-bottom: 2.3rem; line-height: 1.87; }

.cta-botones {
  display: flex;
  gap: .9rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Nav logo — nombre largo ── */

/* Ajuste responsive logo */
@media (max-width: 1200px) {
  
}

@media (max-width: 900px) {
  
  
}

/* ══════════════════════════════════════════════════════════
   MEJORAS DE CONTRASTE Y LEGIBILIDAD — Auditoría V4
   ══════════════════════════════════════════════════════════ */

/* ── Texto base ── */
body {
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}

/* ── Párrafos y texto de cuerpo ── */
p, li {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--texto-l);
}

/* Secciones oscuras */
.section--oscura p,
.section--oscura li,
.section--gris p,
.section--gris li,
.section--gris2 p,
.section--gris2 li {
  color: #C8BCAA;
}

/* Secciones claras */
.section--crema p,
.section--crema li {
  color: #3A2010;
  font-size: 1rem;
}

/* ── Historia — contraste WCAG AA ── */
.historia-cuerpo p,
.historia-cuerpo li {
  color: #3A2010 !important;
  font-size: 1rem;
  line-height: 1.92;
}

.historia-cuerpo h2,
.historia-cuerpo h3 {
  color: #1A0808 !important;
}

.historia-ficha .hf-k { color: #5C1212; font-weight: 600; }
.historia-ficha .hf-v { color: #2A1008; }

/* Línea del tiempo */
.lt-item .lt-evento { color: #1A0808 !important; font-size: 1.05rem; }
.lt-item .lt-desc   { color: #4A2A10 !important; font-size: 0.95rem; }
.lt-item .lt-anio   { color: #5C1212 !important; }

/* ── Contraste hero sections ── */
.page-hero__eyebrow { color: rgba(245,230,200,.9) !important; }
.page-hero__desc    { color: rgba(242,228,205,.94) !important; font-size: 1.05rem !important; line-height: 1.8 !important; }
.breadcrumb a       { color: rgba(245,230,200,.92) !important; }
.breadcrumb span    { color: #F0E2C8 !important; }

/* ── Noticias ── */
.noticia-card__extracto {
  color: #4A3520 !important;
  font-size: 0.95rem;
  line-height: 1.72;
}

.noticia-card--horizontal .noticia-card__extracto {
  color: #4A3020 !important;
}

/* ── Contacto info items ── */
.info-item__val  { color: #D8CCBA; font-size: 1rem; }
.info-item__etq  { color: rgba(196,160,64,.75); font-size: .78rem; }

/* ── Galería caption ── */
.galeria-item__label {
  font-size: 0.88rem !important;
  color: rgba(245,235,215,.95) !important;
}

/* ── Velas texto dedicatoria ── */
.vela-dedicatoria { font-size: 0.9rem; color: #C8C0A8; }

/* ── Intenciones muro ── */
.intencion-texto {
  font-size: 1rem !important;
  color: var(--crema-3) !important;
  line-height: 1.78 !important;
}

/* ── Formularios ── */
.form-input,
.form-textarea,
.form-select {
  font-size: 1rem !important;
  color: #E8DCC8 !important;
}

.form-input::placeholder,
.form-textarea::placeholder {
  color: rgba(185,170,140,.5) !important;
}

.form-label {
  font-size: 0.78rem !important;
  color: rgba(196,160,64,.85) !important;
  letter-spacing: .12em !important;
}

/* ── Pull quotes ── */
.pull-quote p {
  color: #D8CCBA !important;
  font-size: 1.15rem !important;
  line-height: 1.75 !important;
}
.pull-quote cite { color: rgba(196,160,64,.7) !important; }

/* ── Botones más legibles ── */
.btn--oro {
  font-size: 0.78rem !important;
  letter-spacing: .14em !important;
  padding: .85rem 1.8rem !important;
}

.btn--contorno {
  font-size: 0.76rem !important;
  letter-spacing: .14em !important;
}

.btn--burdeos {
  font-size: 0.76rem !important;
}

/* ── Stats ── */
.stat__etq {
  font-size: 0.72rem !important;
  color: rgba(196,160,64,.65) !important;
  letter-spacing: .12em !important;
}

/* ── Nav links ── */
.nav__link {
  font-size: 0.72rem !important;
  letter-spacing: .12em !important;
}

/* ── Footer legibility ── */
.site-footer p    { color: rgba(185,170,140,.75) !important; font-size: .9rem; }
.site-footer a    { color: rgba(196,160,64,.8) !important; }
.site-footer h3   { font-size: 1rem; color: var(--crema-2); margin-bottom: .8rem; }
.site-footer h4   { font-size: .72rem; letter-spacing: .18em; color: var(--oro); margin-bottom: .8rem; }
.footer-copy      { font-size: .82rem !important; color: rgba(185,170,140,.55) !important; }

/* ── Mobile readability ── */
@media (max-width: 768px) {
  body  { font-size: 15px; }
  p, li { font-size: 0.97rem; line-height: 1.8; }
  h1    { font-size: clamp(1.5rem, 5vw, 2.2rem); }
  h2    { font-size: clamp(1.2rem, 4vw, 1.7rem); }

  .form-input,
  .form-textarea,
  .form-select { font-size: 16px !important; } /* Prevents iOS zoom */

  .noticia-card__extracto { font-size: 0.92rem; }
  .btn--oro, .btn--burdeos, .btn--contorno {
    font-size: 0.72rem !important;
    padding: .75rem 1.2rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HISTORIA — REDISEÑO PREMIUM
   Paleta: fondo #F7F0E4 (marfil cálido), texto #1A0C06 (casi negro)
   Todos los ratios superan WCAG AA (>4.5:1)
═══════════════════════════════════════════════════════════════ */

/* ── HERO ──────────────────────────────────────────────────── */
.hist-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.hist-hero__bg {
  position: absolute;
  inset: 0;
}

.hist-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}

.hist-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,7,6,.25) 0%,
    rgba(10,7,6,.55) 40%,
    rgba(10,7,6,.92) 100%
  );
}

.hist-hero__contenido {
  position: relative;
  z-index: 2;
  padding: 0 8% 6rem;
  max-width: 820px;
}

.hist-hero__eyebrow {
  display: block;
  font-family: var(--fnt-t);
  font-size: .62rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--oro-l);
  margin-bottom: 1.4rem;
}

.hist-hero__titulo {
  font-family: var(--fnt-d);
  font-size: clamp(2.2rem, 5.5vw, 4.2rem);
  color: #F5EDD8;
  line-height: 1.12;
  margin-bottom: 1.6rem;
}

.hist-hero__titulo em {
  font-style: italic;
  color: var(--oro-l);
}

.hist-hero__bajada {
  font-size: clamp(1rem, 1.8vw, 1.22rem);
  color: rgba(245,237,216,.88);
  line-height: 1.82;
  max-width: 560px;
}

.hist-hero__scroll {
  position: absolute;
  right: 5%;
  bottom: 2.5rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  font-family: var(--fnt-t);
  font-size: .44rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(245,237,216,.45);
}

.hist-hero__scroll-linea {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, transparent, rgba(196,160,64,.5));
  animation: scroll-pulse 2s ease-in-out infinite;
}

@keyframes scroll-pulse {
  0%,100% { opacity:.4; transform: scaleY(1); }
  50%      { opacity:1;  transform: scaleY(.7); }
}

/* ── FICHA + TEXTO INTRO ──────────────────────────────────── */
.hist-intro {
  background: #F7F0E4;
}

.hist-intro__inner {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 5rem;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding: 6rem 6%;
}

/* Ficha */
.hist-ficha {
  background: #fff;
  border: 1px solid rgba(92,18,18,.12);
  border-top: 4px solid var(--burdeos);
  box-shadow: 0 4px 32px rgba(0,0,0,.07);
  position: sticky;
  top: 5rem;
}

.hist-ficha__cab {
  padding: 1.8rem 2rem 1.4rem;
  border-bottom: 1px solid rgba(92,18,18,.08);
}

.hist-ficha__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--burdeos);
  margin-bottom: .4rem;
}

.hist-ficha__titulo {
  font-family: var(--fnt-t);
  font-size: 1.1rem;
  color: #1A0C06;
  margin: 0;
}

.hist-ficha__fila {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: .5rem;
  padding: .75rem 2rem;
  border-bottom: 1px solid rgba(0,0,0,.05);
  align-items: baseline;
}

.hist-ficha__fila:last-of-type {
  border-bottom: none;
}

.hist-ficha__clave {
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6A3A1A;
  font-weight: 600;
  white-space: nowrap;
}

.hist-ficha__valor {
  font-size: .95rem;
  color: #1A0C06;
  line-height: 1.55;
}

.hist-ficha__valor strong { color: #5C1212; }

.hist-ficha__contacto {
  padding: 1.2rem 2rem 1.8rem;
  border-top: 1px solid rgba(92,18,18,.08);
}

.hist-ficha__contacto a {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .1em;
  color: var(--burdeos);
  text-decoration: none;
  word-break: break-all;
}

.hist-ficha__contacto a:hover { color: var(--burdeos-l); }

/* Texto principal */
.hist-texto { padding-top: .5rem; }

.hist-texto__h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  color: #1A0C06;
  margin-bottom: 1.8rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(92,18,18,.15);
}

.hist-texto p {
  font-size: 1.08rem !important;
  line-height: 1.92 !important;
  color: #2A1408 !important;
  margin-bottom: 1.4rem;
}

/* Cita destacada — diseño premium */
.hist-cita {
  position: relative;
  background: #1A0C06;
  border-left: 4px solid var(--oro);
  padding: 2.8rem 2.8rem 2.2rem 3.2rem;
  margin: 3rem 0;
}

.hist-cita__icono {
  position: absolute;
  top: 1.4rem;
  left: 1.8rem;
  font-size: 2rem;
  color: var(--oro);
  opacity: .7;
  line-height: 1;
  font-family: Georgia, serif;
}

.hist-cita p {
  font-style: italic !important;
  font-size: 1.22rem !important;
  line-height: 1.78 !important;
  color: #F2E8D4 !important;
  margin-bottom: 1.2rem !important;
}

.hist-cita cite {
  display: block;
  font-family: var(--fnt-t);
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--oro);
  font-style: normal;
}

/* ── VISUAL MONASTERIO ─────────────────────────────────────── */
.hist-visual {
  background: var(--negro-2);
}

.hist-visual__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1200px;
  margin: 0 auto;
}

.hist-visual__figura {
  overflow: hidden;
  max-height: 520px;
}

.hist-visual__figura img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}

.hist-visual__figura:hover img {
  transform: scale(1.03);
}

.hist-visual__texto {
  padding: 5rem 5rem 5rem 4.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hist-visual__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: 1rem;
}

.hist-visual__titulo {
  font-family: var(--fnt-t);
  font-size: clamp(1.2rem, 2.5vw, 1.7rem);
  color: var(--crema-2);
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

.hist-visual__texto p {
  font-size: 1.02rem;
  line-height: 1.88;
  color: #C8BCAA;
  margin-bottom: 2rem;
}

.hist-visual__enlace {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--fnt-t);
  font-size: .56rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oro);
  text-decoration: none;
  border-bottom: 1px solid rgba(196,160,64,.35);
  padding-bottom: .2rem;
  transition: all .2s;
  width: fit-content;
}

.hist-visual__enlace:hover {
  color: var(--oro-l);
  border-color: var(--oro);
  gap: .8rem;
}

/* ── SECCIÓN TEXTO CLARA ────────────────────────────────────── */
.hist-seccion--clara {
  background: #F7F0E4;
}

.hist-seccion__inner {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 5rem;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding: 6rem 6%;
}

.hist-seccion__imagen {
  overflow: hidden;
  border: 1px solid rgba(92,18,18,.15);
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}

.hist-seccion__imagen img {
  width: 100%;
  display: block;
}

.hist-seccion__imagen figcaption {
  padding: .65rem 1rem;
  background: #DDD0B8;
  font-family: var(--fnt-t);
  font-size: .48rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #3A2010;
}

.hist-seccion__texto h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: #1A0C06;
  margin-bottom: 1.6rem;
  line-height: 1.3;
}

.hist-seccion__texto p {
  font-size: 1.06rem;
  line-height: 1.92;
  color: #2A1408;
  margin-bottom: 1.4rem;
}

/* Grupos */
.hist-grupos {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin: 2rem 0 2.5rem;
}

.hist-grupo {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  background: #fff;
  border: 1px solid rgba(92,18,18,.1);
}

.hist-grupo__icono {
  width: 38px;
  height: 38px;
  background: var(--burdeos);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--oro-l);
  font-size: .95rem;
}

.hist-grupo strong {
  display: block;
  font-family: var(--fnt-t);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #1A0C06;
  margin-bottom: .18rem;
}

.hist-grupo span {
  font-size: .88rem;
  color: #5A3A18;
}

/* ── INSTAGRAM CARD ─────────────────────────────────────────── */
.hist-instagram {
  background: var(--negro);
  border-top: 1px solid rgba(196,160,64,.1);
  border-bottom: 1px solid rgba(196,160,64,.1);
}

.hist-instagram__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 5rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 6%;
}

.hist-instagram__texto .hist-instagram__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .8rem;
}

.hist-instagram__texto h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: var(--crema-2);
  margin-bottom: 1.2rem;
}

.hist-instagram__texto p {
  font-size: 1.02rem;
  line-height: 1.85;
  color: #C8BCAA;
  margin-bottom: 2rem;
}

.hist-instagram__btn {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366);
  color: #fff;
  font-family: var(--fnt-t);
  font-size: .56rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: .85rem 1.8rem;
  text-decoration: none;
  transition: all .25s;
  margin-bottom: .8rem;
  display: inline-flex;
}

.hist-instagram__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220,39,67,.4);
}

.hist-instagram__btn i { font-size: 1rem; }

.hist-instagram__stats {
  font-family: var(--fnt-t);
  font-size: .5rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(196,160,64,.45) !important;
  margin: 0 !important;
}

.hist-instagram__card {
  position: relative;
}

.hist-instagram__preview {
  display: block;
  overflow: hidden;
  border: 2px solid rgba(196,160,64,.2);
  position: relative;
}

.hist-instagram__preview img {
  width: 100%;
  display: block;
  transition: transform .45s ease;
}

.hist-instagram__preview:hover img {
  transform: scale(1.04);
}

.hist-instagram__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10,7,6,.65);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  opacity: 0;
  transition: opacity .3s;
  color: #fff;
}

.hist-instagram__preview:hover .hist-instagram__overlay {
  opacity: 1;
}

.hist-instagram__overlay i    { font-size: 2.2rem; }
.hist-instagram__overlay span {
  font-family: var(--fnt-t);
  font-size: .56rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}

/* ── CRONOLOGÍA ─────────────────────────────────────────────── */
.hist-timeline {
  background: var(--negro-2);
  padding: 6rem 6%;
}

.hist-timeline__inner {
  max-width: 900px;
  margin: 0 auto;
}

.hist-timeline__cab {
  text-align: center;
  margin-bottom: 5rem;
}

.hist-timeline__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: .8rem;
}

.hist-timeline__cab h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--crema-2);
  margin-bottom: .8rem;
}

.hist-timeline__cab p {
  font-size: 1rem;
  color: #C0B090;
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.75;
}

/* Timeline items */
.hist-tl {
  list-style: none;
  position: relative;
}

.hist-tl::before {
  content: '';
  position: absolute;
  left: 130px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(196,160,64,.35) 8%, rgba(196,160,64,.35) 92%, transparent);
}

.hist-tl__item {
  display: grid;
  grid-template-columns: 120px 20px 1fr;
  gap: 0 1.8rem;
  align-items: start;
  padding-bottom: 3rem;
  position: relative;
}

.hist-tl__item:last-child { padding-bottom: 0; }

.hist-tl__anio {
  font-family: var(--fnt-t);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--oro);
  text-align: right;
  padding-top: .18rem;
  line-height: 1.4;
}

.hist-tl__punto {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--burdeos);
  border: 2px solid var(--oro);
  margin: .22rem auto 0;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.hist-tl__evento {
  display: block;
  font-family: var(--fnt-t);
  font-size: .85rem;
  color: var(--crema-2);
  margin-bottom: .5rem;
  line-height: 1.4;
}

.hist-tl__desc {
  font-size: .97rem !important;
  color: #B0A080 !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

/* ── CTA FINAL ──────────────────────────────────────────────── */
.hist-cta {
  background: var(--burdeos);
  padding: 6rem 6%;
  text-align: center;
}

.hist-cta__inner {
  max-width: 680px;
  margin: 0 auto;
}

.hist-cta h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  color: var(--crema-2);
  margin-bottom: 1rem;
}

.hist-cta p {
  font-size: 1.06rem;
  color: rgba(240,228,204,.82);
  line-height: 1.78;
  margin-bottom: 2.5rem;
}

.hist-cta__botones {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── HEADER LOGO — EQUILIBRIO VISUAL ────────────────────────── */

/* ── RESPONSIVE HISTORIA ────────────────────────────────────── */
@media (max-width: 1024px) {
  .hist-intro__inner    { grid-template-columns: 1fr; gap: 3rem; }
  .hist-ficha           { position: static; }
  .hist-visual__inner   { grid-template-columns: 1fr; }
  .hist-visual__figura  { max-height: 360px; }
  .hist-visual__texto   { padding: 3.5rem 6%; }
  .hist-seccion__inner  { grid-template-columns: 1fr; }
  .hist-seccion__imagen { max-width: 400px; }
  .hist-instagram__inner{ grid-template-columns: 1fr; }
  .hist-instagram__card { display: none; }
  .hist-tl::before      { left: 90px; }
  .hist-tl__item        { grid-template-columns: 80px 16px 1fr; gap: 0 1rem; }
}

@media (max-width: 640px) {
  .hist-hero__contenido { padding: 0 5% 4.5rem; }
  .hist-hero__titulo    { font-size: 2rem; }
  .hist-cita            { padding: 2rem 1.5rem 1.8rem 2rem; }
  .hist-cita p          { font-size: 1.08rem !important; }
  .hist-tl::before      { display: none; }
  .hist-tl__item        { grid-template-columns: 1fr; padding-bottom: 2rem; border-bottom: 1px solid rgba(196,160,64,.1); }
  .hist-tl__punto       { display: none; }
  .hist-tl__anio        { text-align: left; margin-bottom: .3rem; }
  .hist-ficha__fila     { grid-template-columns: 1fr; gap: .15rem; padding: .65rem 1.2rem; }
  .hist-intro__inner    { padding: 4rem 5%; }
  .hist-seccion__inner  { padding: 4rem 5%; }
  
  
}

/* ── Historia hero contrast fixes ── */
.hist-hero__titulo {
  font-style: normal;
  text-shadow: 0 2px 24px rgba(0,0,0,.6);
}

.hist-hero__titulo em {
  font-style: italic;
  color: #F5E8C0;
}

.hist-hero__bajada {
  text-shadow: 0 1px 12px rgba(0,0,0,.5);
}

.hist-hero__eyebrow {
  text-shadow: 0 1px 8px rgba(0,0,0,.4);
}

/* ── HISTORIA: secciones nuevas ── */

/* Divisor ornamental en texto */
.hist-divisor {
  text-align: center;
  margin: 2.5rem 0;
  color: rgba(92,18,18,.35);
  font-size: 1.2rem;
  letter-spacing: .5em;
}

/* Cita en sección clara (fondo marfil) */
.hist-cita--oscura {
  background: #1A0C06;
  border-left: 4px solid var(--oro);
}

.hist-cita--oscura p    { color: #F2E8D4 !important; }
.hist-cita--oscura cite { color: var(--oro); }

/* Bloque imágenes titulares */
.hist-imagenes {
  background: var(--negro);
  padding: 6rem 6%;
}

.hist-imagenes__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.hist-imagenes__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--oro);
  margin-bottom: 1rem;
}

.hist-imagenes__texto h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: var(--crema-2);
  margin-bottom: 1.5rem;
  line-height: 1.3;
}

.hist-imagenes__texto p {
  font-size: 1.02rem;
  color: #C8BCAA;
  line-height: 1.88;
  margin-bottom: 1.2rem;
}

.hist-imagenes__fotos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.hist-imagenes__fotos figure {
  overflow: hidden;
  border: 1px solid rgba(196,160,64,.18);
}

.hist-imagenes__fotos img {
  width: 100%;
  display: block;
  transition: transform .45s ease;
}

.hist-imagenes__fotos figure:hover img {
  transform: scale(1.04);
}

.hist-imagenes__fotos figcaption {
  padding: .55rem .8rem;
  background: rgba(196,160,64,.08);
  font-family: var(--fnt-t);
  font-size: .46rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(196,160,64,.55);
}

/* Bloque "el sentido hoy" */
.hist-sentido {
  background: #F7F0E4;
  padding: 6rem 6%;
}

.hist-sentido__inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 5rem;
  align-items: start;
}

.hist-sentido__pretitulo {
  display: block;
  font-family: var(--fnt-t);
  font-size: .52rem;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--burdeos);
  margin-bottom: .8rem;
}

.hist-sentido__cab h2 {
  font-family: var(--fnt-t);
  font-size: clamp(1.3rem, 3vw, 2rem);
  color: #1A0C06;
  line-height: 1.25;
  position: sticky;
  top: 5rem;
}

.hist-sentido__texto p {
  font-size: 1.08rem;
  color: #2A1408;
  line-height: 1.95;
  margin-bottom: 1.6rem;
}

.hist-sentido__cierre {
  font-style: italic;
  font-size: 1.15rem !important;
  color: #5C1212 !important;
  font-weight: 500;
}

/* Responsive nuevas secciones */
@media (max-width: 1024px) {
  .hist-imagenes__inner  { grid-template-columns: 1fr; }
  .hist-sentido__inner   { grid-template-columns: 1fr; gap: 2rem; }
  .hist-sentido__cab h2  { position: static; }
}

@media (max-width: 640px) {
  .hist-imagenes__fotos { grid-template-columns: 1fr; }
  .hist-imagenes         { padding: 4rem 5%; }
  .hist-sentido          { padding: 4rem 5%; }
}
