:root {
  --color-primary: #146b70;
  --color-primary-dark: #0d4f54;
  --color-primary-soft: #e7f4f3;
  --color-accent: #73b743;
  --color-accent-dark: #4d8f27;
  --color-ink: #143033;
  --color-muted: #5d7174;
  --color-border: #dbe7e8;
  --color-surface: #ffffff;
  --color-surface-alt: #f4f8f8;
  --color-footer: #0f383c;
  --shadow-card: 0 18px 45px rgba(20, 48, 51, 0.10);
  --font-sans: Arial, Helvetica, sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --container: 1160px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

.section[id],
.hero[id] {
  scroll-margin-top: 96px;
}

body {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-sans);
  line-height: 1.6;
  background: var(--color-surface);
}

body.nav-open {
  overflow: hidden;
}

/* Visor común para imágenes ampliables */
.image-lightbox-trigger { position: relative; }
.image-lightbox-trigger::after { content: "+"; position: absolute; top: 50%; left: 50%; z-index: 3; display: grid; width: 50px; height: 50px; place-items: center; color: #fff; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(9,43,48,.58); box-shadow: 0 8px 22px rgba(0,0,0,.2); font-size: 1.9rem; font-weight: 400; line-height: 1; pointer-events: none; transform: translate(-50%,-50%); transition: transform 160ms ease,background-color 160ms ease; }
.image-lightbox-trigger:hover::after,.image-lightbox-trigger:focus-visible::after { background: rgba(20,107,112,.9); transform: translate(-50%,-50%) scale(1.08); }
.site-image-lightbox { width: min(94vw,1100px); max-height: 92vh; padding: 0; overflow: visible; border: 0; border-radius: 16px; background: #102f37; box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.site-image-lightbox::backdrop { background: rgba(4,22,28,.84); backdrop-filter: blur(3px); }
.site-image-lightbox img { width: 100%; max-height: 86vh; object-fit: contain; border-radius: 16px; }
.site-image-lightbox-close { position: absolute; top: -.9rem; right: -.9rem; z-index: 4; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; color: #fff; border: 2px solid #fff; border-radius: 50%; background: var(--color-primary-dark); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.site-image-lightbox-caption { position: absolute; right: 0; bottom: 0; left: 0; margin: 0; padding: 2.5rem 1rem .8rem; color: #fff; border-radius: 0 0 16px 16px; background: linear-gradient(transparent,rgba(4,22,28,.88)); font-size: .84rem; text-align: center; pointer-events: none; }

img,
svg {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

p,
h1,
h2,
h3 {
  margin-top: 0;
}

p {
  color: var(--color-muted);
}

.container {
  width: min(100% - 2rem, var(--container));
  margin-inline: auto;
}

.section {
  padding: var(--space-2xl) 0;
}

.section-heading {
  margin-bottom: var(--space-xl);
}

.section-heading h2 {
  max-width: 760px;
  margin-bottom: 0;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.15;
}

.section-heading.centered {
  text-align: center;
}

.section-heading.centered h2 {
  margin-inline: auto;
}

.section-heading.centered p {
  max-width: 680px;
  margin: var(--space-md) auto 0;
}

.section-heading.split {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-lg);
}

.eyebrow {
  margin-bottom: var(--space-sm);
  color: var(--color-primary);
  font-size: clamp(0.82rem, 0.8vw, 0.95rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.78rem 1.1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  font-weight: 700;
  line-height: 1.2;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.btn:hover,
.btn:focus-visible {
  transform: translateY(-1px);
}

.btn-primary {
  color: #ffffff;
  background: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--color-primary-dark);
}

.btn-secondary {
  color: var(--color-primary-dark);
  border-color: var(--color-border);
  background: #ffffff;
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  border-color: var(--color-primary);
}

.btn-ghost {
  color: var(--color-primary-dark);
  background: var(--color-primary-soft);
}

.btn-small {
  min-height: 38px;
  padding: 0.58rem 0.85rem;
  color: #ffffff;
  background: var(--color-primary);
  font-size: 0.92rem;
}

.btn-small-outline {
  color: var(--color-primary);
  background: #ffffff;
  border-color: var(--color-border);
}

.btn-small-outline:hover,
.btn-small-outline:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
}

.text-link {
  color: var(--color-primary);
  font-weight: 700;
}

.text-link:hover,
.text-link:focus-visible {
  color: var(--color-primary-dark);
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(14px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  gap: var(--space-lg);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}

.brand-mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  flex: 0 0 auto;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent-dark));
  border-radius: 50%;
  font-weight: 800;
}

.brand-text {
  display: grid;
  line-height: 1.15;
}

.brand-text strong {
  font-size: 1.15rem;
}

.brand-text small {
  max-width: 260px;
  color: var(--color-muted);
  font-size: 0.75rem;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  color: var(--color-ink);
  font-size: 0.95rem;
  font-weight: 700;
}

.main-nav a:not(.nav-cta):hover,
.main-nav a:not(.nav-cta):focus-visible {
  color: var(--color-primary);
}

.nav-cta {
  padding: 0.68rem 0.95rem;
  color: #ffffff;
  background: var(--color-primary);
  border-radius: var(--radius-sm);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #ffffff;
}

.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: var(--color-ink);
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-toggle.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Hero */
.hero {
  padding: 5.5rem 0 4.5rem;
  background:
    radial-gradient(circle at top right, rgba(115, 183, 67, 0.18), transparent 34rem),
    linear-gradient(135deg, #eef7f6 0%, #ffffff 55%, #eef6ef 100%);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.hero h1:not(.hero-title) {
  max-width: 800px;
  margin-bottom: var(--space-lg);
  font-size: clamp(2.25rem, 5vw, 4.4rem);
  line-height: 1.03;
}

.hero-lead {
  max-width: 680px;
  margin-bottom: var(--space-xl);
  font-size: 1.12rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.hero-panel {
  padding: var(--space-lg);
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.hero-panel-header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
  color: var(--color-primary-dark);
  font-weight: 800;
}

.status-dot {
  width: 0.72rem;
  height: 0.72rem;
  background: var(--color-accent);
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(115, 183, 67, 0.16);
}

.hero-stat {
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-border);
}

.hero-stat strong,
.hero-stat span {
  display: block;
}

.hero-stat span {
  margin-top: 0.2rem;
  color: var(--color-muted);
}

/* Cards */
.card-grid {
  display: grid;
  gap: var(--space-lg);
}

.quick-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.access-card,
.benefit-card,
.activity-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 12px 32px rgba(20, 48, 51, 0.06);
}

.access-card {
  display: grid;
  gap: var(--space-sm);
  min-height: 190px;
  padding: var(--space-lg);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.access-card:hover,
.access-card:focus-visible {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-card);
  transform: translateY(-3px);
}

.access-card strong,
.benefit-card h3,
.activity-card h3 {
  color: var(--color-ink);
}

.access-card span:last-child {
  color: var(--color-muted);
}

.card-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--color-primary-dark);
  background: var(--color-primary-soft);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 800;
}

/* Benefits */
.benefits {
  background: var(--color-surface-alt);
}

.benefits-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.benefit-card {
  padding: var(--space-lg);
}

.benefit-card h3 {
  margin: var(--space-md) 0 var(--space-sm);
  font-size: 1.12rem;
}

.benefit-card p {
  margin-bottom: 0;
}

/* Activities */
.activity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.activity-grid-open {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-activities-carousel { position: relative; }
.home-activities-carousel #home-activities-list { transition: opacity 120ms ease, transform 120ms ease; }
.home-activities-carousel #home-activities-list.is-changing { opacity: 0; transform: translateY(5px); }
.home-carousel-controls { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-top: 1.25rem; }
.home-carousel-controls[hidden] { display: none; }
.home-carousel-arrow { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; color: var(--color-primary); border: 1px solid var(--color-border); border-radius: 50%; background: #fff; font-size: 1rem; font-weight: 900; cursor: pointer; }
.home-carousel-arrow:hover,.home-carousel-arrow:focus-visible { color: #fff; border-color: var(--color-primary); background: var(--color-primary); }
.home-carousel-dots { display: flex; align-items: center; gap: .42rem; }
.home-carousel-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #b8cbcc; cursor: pointer; transition: width 160ms ease,background-color 160ms ease,border-radius 160ms ease; }
.home-carousel-dots button.is-current { width: 24px; border-radius: 999px; background: var(--color-primary); }

.activity-card {
  display: grid;
  grid-template-columns: 82px 1fr;
  overflow: hidden;
}

.activity-date {
  display: grid;
  align-content: center;
  justify-items: center;
  color: #ffffff;
  background: var(--color-primary);
}

.activity-date span {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.activity-date small {
  margin-top: 0.3rem;
  font-weight: 700;
  text-transform: uppercase;
}

.activity-content {
  padding: var(--space-lg);
}

.activity-category {
  margin-bottom: var(--space-xs);
  color: var(--color-accent-dark);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.activity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: var(--space-sm);
}

.activity-meta span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.18rem 0.52rem;
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.activity-meta .activity-meta-category {
  color: var(--color-accent-dark);
  background: rgba(217, 75, 37, 0.1);
  border-color: rgba(217, 75, 37, 0.16);
}

.activity-meta .activity-meta-modality {
  color: #0b645f;
  background: #dff5f1;
  border-color: #87cec3;
}

.activity-meta .activity-meta-aadi {
  color: #15588c;
  background: #e2f0fb;
  border-color: #8dbce0;
}

.activity-full-date {
  margin-bottom: var(--space-xs);
  color: var(--color-muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.activity-content h3 {
  margin-bottom: var(--space-sm);
  font-size: 1.18rem;
  line-height: 1.25;
}

.activity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.activities-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: var(--space-lg);
  color: var(--color-muted);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.section-action {
  display: flex;
  justify-content: center;
  margin-top: var(--space-xl);
}

/* Institutional */
.institutional {
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
}

.institutional-block {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: var(--space-xl);
  align-items: center;
  color: #ffffff;
}

.institutional .eyebrow,
.institutional p {
  color: rgba(255, 255, 255, 0.82);
}

.institutional h2 {
  margin-bottom: 0;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.16;
}

.institutional .btn {
  margin-top: var(--space-md);
}

/* Footer */
.site-footer {
  color: #dcebec;
  background: var(--color-footer);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.75fr 0.9fr 0.55fr;
  gap: var(--space-xl);
  padding: var(--space-2xl) 0 var(--space-xl);
}

.footer-logo .brand-mark {
  background: #ffffff;
  color: var(--color-primary-dark);
}

.footer-logo .brand-text small,
.footer-brand p,
.site-footer address {
  color: rgba(255, 255, 255, 0.72);
}

.footer-brand p {
  max-width: 420px;
  margin: var(--space-md) 0 0;
}

.site-footer h2 {
  margin-bottom: var(--space-md);
  color: #ffffff;
  font-size: 1rem;
}

.footer-links {
  display: grid;
  gap: var(--space-xs);
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: #ffffff;
}

.site-footer address {
  font-style: normal;
}

.social-links {
  display: flex;
  gap: var(--space-sm);
}

.social-links a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: var(--radius-sm);
  font-weight: 800;
}

.social-links a[aria-label="Instagram"] {
  color: #ffffff;
  background: linear-gradient(135deg, #f58529, #dd2a7b 45%, #8134af 72%, #515bd4);
  border-color: transparent;
}

.social-links a[aria-label="Facebook"] {
  color: #ffffff;
  background: #1877f2;
  border-color: transparent;
}

.social-links a[aria-label="X"] {
  color: #000000;
  background: #ffffff;
  border-color: transparent;
}

.social-links svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.social-links a[aria-label="Facebook"] svg {
  fill: currentColor;
  stroke: none;
}

.social-links a:hover,
.social-links a:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.footer-bottom {
  padding: var(--space-lg) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.68);
}

.footer-bottom small {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.footer-bottom a {
  color: #ffffff;
  font-weight: 800;
}

.heart-icon {
  width: 16px;
  height: 16px;
  fill: var(--color-accent);
}

/* Responsive */
@media (max-width: 980px) {
  .nav-toggle {
    display: block;
  }

  .main-nav {
    position: fixed;
    inset: 78px 1rem auto 1rem;
    display: grid;
    gap: 0;
    padding: var(--space-sm);
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-card);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease, transform 160ms ease;
  }

  .main-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .main-nav a {
    padding: 0.9rem 0.75rem;
    border-radius: var(--radius-sm);
  }

  .main-nav a:hover,
  .main-nav a:focus-visible {
    background: var(--color-primary-soft);
  }

  .nav-cta {
    margin-top: var(--space-xs);
    text-align: center;
  }

  .hero-grid,
  .institutional-block {
    grid-template-columns: 1fr;
  }

  .quick-grid,
  .activity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .benefits-grid,
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .container {
    width: min(100% - 1.25rem, var(--container));
  }

  .section {
    padding: 3rem 0;
  }

  .header-inner {
    min-height: 70px;
  }

  .brand-text small {
    display: none;
  }

  .main-nav {
    top: 70px;
  }

  .hero {
    padding: 4rem 0 3rem;
  }

  .hero h1:not(.hero-title) {
    font-size: 2.25rem;
  }

  .hero-actions,
  .hero-actions .btn {
    width: 100%;
  }

  .section-heading.split {
    display: grid;
    align-items: start;
  }

  .quick-grid,
  .benefits-grid,
  .activity-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .activity-card {
    grid-template-columns: 70px 1fr;
  }

  .activity-content {
    padding: var(--space-md);
  }
}

/* Home: census, sponsors and persistent contact */
.section-action .agenda-complete-btn {
  color: #ffffff;
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.section-action .agenda-complete-btn:hover,
.section-action .agenda-complete-btn:focus-visible {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: #ffffff;
}

.census {
  position: relative;
  display: grid;
  min-height: 330px;
  place-items: center;
  overflow: hidden;
  color: #ffffff;
  background: url("../img/sliders/AADI_banner2.png") center / cover no-repeat;
}

.census::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 31, 57, 0.18), rgba(15, 42, 80, 0.06));
}

.census-content {
  position: relative;
  z-index: 1;
  text-align: center;
}

.census .eyebrow {
  color: #ff9a72;
}

.census h2 {
  margin-bottom: var(--space-sm);
  color: #ffffff;
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1.15;
}

.census p:not(.eyebrow) {
  margin: 0 auto var(--space-lg);
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.08rem;
}

.census-btn {
  color: #ffffff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  border-radius: 999px;
}

.census-btn:hover,
.census-btn:focus-visible {
  color: var(--color-accent);
  background: #ffffff;
  border-color: #ffffff;
}

.sponsors {
  background: linear-gradient(180deg, #f4f6f9 0%, #ffffff 100%);
}

.sponsors .section-heading {
  margin-bottom: var(--space-xl);
}

.sponsors .section-heading h2 {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}

.institutional-page .inner-hero-content {
  display: block;
}

.institutional-copy {
  max-width: 920px;
}

.institutional-copy > p {
  margin-bottom: 1.15rem;
  line-height: 1.75;
}

.institutional-highlight {
  margin-top: var(--space-xl);
  padding: var(--space-lg);
  background: linear-gradient(135deg, var(--color-primary-soft), #ffffff);
  border-left: 4px solid var(--color-accent);
  border-radius: var(--radius-md);
}

.institutional-highlight h3,
.institutional-highlight p {
  margin-bottom: 0;
}

.institutional-highlight h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
}

.directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
}

#comision {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(10, 31, 56, 0.7), rgba(15, 42, 80, 0.76)),
    url("../img/sliders/AADI_fotoquienessomos.png") center 57% / cover no-repeat;
}

#comision .container {
  position: relative;
  z-index: 1;
}

#comision .section-heading h2 {
  color: #ffffff;
}

#comision .eyebrow {
  color: #ff9a72;
}

#comision .document-card h3 {
  color: var(--color-accent);
}

#quienes-somos .eyebrow {
  color: var(--color-accent);
}

#quienes-somos .btn-secondary {
  color: #ffffff;
  border-color: var(--color-accent);
  background: var(--color-accent);
}

#quienes-somos .btn-secondary:hover,
#quienes-somos .btn-secondary:focus-visible {
  color: #ffffff;
  border-color: var(--color-accent-dark);
  background: var(--color-accent-dark);
}

.directory-grid .document-card {
  height: 100%;
}

.directory-grid .document-card p:last-child {
  margin-bottom: 0;
}

.treasury-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-xl);
}

.institutional-signature {
  margin-top: var(--space-xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border);
}

/* Filiales */
.branches-hero {
  background:
    linear-gradient(110deg, rgba(15, 42, 80, 0.94), rgba(24, 61, 113, 0.76)),
    url("../img/sliders/slider04.jpg") center 48% / cover no-repeat;
}

.branches-section {
  background: linear-gradient(180deg, #f3f6fa 0%, #ffffff 24rem);
}

.branches-heading p:not(.eyebrow) {
  max-width: 690px;
  margin-inline: auto;
}

.branches-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.branch-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.14);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.branch-card:hover,
.branch-card:focus-within {
  border-color: rgba(24, 61, 113, 0.38);
  box-shadow: 0 24px 48px rgba(24, 61, 113, 0.16);
  transform: translateY(-5px);
}

.branch-card-central {
  border: 3px solid var(--color-accent);
  box-shadow: 0 20px 44px rgba(24, 61, 113, 0.2);
}

.branch-card-central:hover,
.branch-card-central:focus-within {
  border-color: var(--color-accent-dark);
  box-shadow: 0 26px 52px rgba(24, 61, 113, 0.28);
}

.branch-header {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: var(--space-md);
  align-items: center;
  min-height: 118px;
  padding: var(--space-md) var(--space-lg);
  background: linear-gradient(135deg, #dce8f6 0%, #edf3fa 58%, #ffffff 100%);
  border-bottom: 1px solid var(--color-border);
}

.branch-card:nth-child(even) .branch-header {
  background: linear-gradient(135deg, #dce8f6 0%, #edf3fa 58%, #ffffff 100%);
}

.branch-header img {
  width: 82px;
  height: 74px;
  object-fit: contain;
}

.branch-header span {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--color-accent);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.branch-header h3 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.15;
}

.branch-body {
  display: grid;
  grid-template-columns: 1fr;
}

.branch-authorities,
.branch-contact {
  min-width: 0;
  padding: var(--space-lg);
}

.branch-contact {
  border-top: 1px solid var(--color-border);
  font-style: normal;
}

.branch-card h4 {
  margin: 0 0 var(--space-md);
  color: var(--color-accent);
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.branch-card dl,
.branch-card dd,
.branch-card p {
  margin: 0;
}

.branch-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.72rem;
}

.branch-card dt {
  color: var(--color-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.branch-card dd {
  color: var(--color-ink);
  font-weight: 700;
  line-height: 1.35;
}

.branch-contact {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: baseline;
  gap: 0.45rem 1rem;
}

.branch-contact h4 {
  flex: 0 0 100%;
  margin-bottom: 0.15rem;
}

.branch-contact a {
  color: var(--color-primary);
  font-weight: 700;
}

.branch-contact > a[href^="mailto:"] {
  flex: 0 0 100%;
  overflow-wrap: anywhere;
}

.branch-contact a:hover,
.branch-contact a:focus-visible {
  color: var(--color-accent-dark);
  text-decoration: underline;
}

.branches-coming {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
  margin-top: var(--space-xl);
  padding: var(--space-lg);
  background: var(--color-primary-dark);
  border-radius: 18px;
}

.branches-coming .eyebrow {
  margin-bottom: var(--space-xs);
}

.branches-coming h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.coming-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.coming-list span {
  padding: 0.55rem 0.9rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .branches-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 580px) {
  .branch-header {
    grid-template-columns: 72px 1fr;
    padding-inline: var(--space-md);
  }

  .branch-header img {
    width: 68px;
    height: 62px;
  }

  .branch-body {
    grid-template-columns: 1fr;
  }

  .branch-card dl {
    grid-template-columns: 1fr;
  }

  .branch-authorities,
  .branch-contact {
    padding: var(--space-md);
  }

  .branch-contact {
    border-top: 1px solid var(--color-border);
  }
}

/* CO.NA.RI. */
.conari-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(197, 73, 35, 0.24), transparent 24rem),
    linear-gradient(135deg, #0f2a50, #225786);
}

.conari-authorities {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
}

.conari-authorities article {
  padding: var(--space-lg);
  background: linear-gradient(145deg, #e8f0f9, #ffffff);
  border: 1px solid rgba(24, 61, 113, 0.14);
  border-radius: 16px;
  box-shadow: 0 14px 32px rgba(24, 61, 113, 0.08);
}

.conari-authorities span,
.conari-email span {
  display: block;
  margin-bottom: var(--space-sm);
  color: var(--color-accent);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.conari-authorities h3 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: 1.08rem;
  line-height: 1.5;
}

.conari-email {
  display: block;
  width: fit-content;
  margin-top: var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-primary);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  font-weight: 800;
}

.conari-email span {
  margin-bottom: 0.15rem;
}

.conari-definition-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.conari-definition-grid h2 {
  color: var(--color-primary-dark);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.conari-definition-grid blockquote {
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
  border-left: 5px solid var(--color-accent);
  border-radius: 16px;
  box-shadow: 0 18px 42px rgba(24, 61, 113, 0.2);
}

.conari-definition-grid blockquote strong {
  color: #ffad8f;
  text-transform: uppercase;
}

.conari-definition-grid blockquote p {
  margin: var(--space-sm) 0 var(--space-md);
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
}

.conari-definition-grid blockquote footer {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.92rem;
}

.requirements-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: var(--space-xl);
  align-items: start;
}

.requirements-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  padding: 0;
  margin: 0;
  list-style: none;
}

.requirements-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: var(--space-sm);
  align-items: start;
  padding: var(--space-md);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.requirements-list span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #ffffff;
  background: var(--color-primary);
  border-radius: 50%;
  font-size: 0.76rem;
  font-weight: 800;
}

.requirements-list p {
  margin: 0;
  color: var(--color-ink);
}

.requirements-note {
  padding: var(--space-lg);
  background: linear-gradient(145deg, #fff1eb, #ffffff);
  border: 1px solid rgba(197, 73, 35, 0.18);
  border-radius: 16px;
}

.requirements-note h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-accent-dark);
}

.requirements-note p:not(:last-child) {
  margin-bottom: var(--space-lg);
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.score-card {
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-top: 5px solid var(--color-primary);
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(24, 61, 113, 0.08);
}

.score-card > strong {
  color: var(--color-primary);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1;
}

.score-card h3 {
  margin: var(--space-md) 0 var(--space-sm);
  color: var(--color-primary-dark);
}

.score-card p {
  margin: 0;
}

.score-direct {
  border-top-color: #2a8b5d;
}

.score-direct > strong {
  color: #2a8b5d;
}

.score-exam {
  border-top-color: var(--color-accent);
}

.score-exam > strong {
  color: var(--color-accent);
}

.evaluation-notes {
  display: grid;
  gap: var(--space-sm);
  margin-top: var(--space-xl);
  padding: var(--space-lg);
  background: var(--color-primary-soft);
  border-radius: 14px;
}

.evaluation-notes p {
  margin: 0;
}

.evaluation-notes strong {
  color: var(--color-primary-dark);
}

.conari-downloads {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
}

.conari-downloads a {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 0.15rem var(--space-md);
  align-items: center;
  padding: var(--space-md);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.conari-downloads a:hover,
.conari-downloads a:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 14px 28px rgba(24, 61, 113, 0.12);
  transform: translateY(-3px);
}

.conari-downloads span {
  grid-row: 1 / 3;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #ffffff;
  background: var(--color-accent);
  border-radius: 10px;
  font-size: 0.72rem;
  font-weight: 900;
}

.conari-downloads strong {
  color: var(--color-primary-dark);
  line-height: 1.25;
}

.conari-downloads small {
  color: var(--color-muted);
}

@media (max-width: 980px) {
  .conari-authorities,
  .conari-downloads {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .requirements-layout,
  .conari-definition-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .conari-authorities,
  .requirements-list,
  .score-grid,
  .conari-downloads {
    grid-template-columns: 1fr;
  }

  .conari-email {
    width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 980px) {
  .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .directory-grid,
  .treasury-grid {
    grid-template-columns: 1fr;
  }
}

.sponsors-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
  width: min(100%, 790px);
  margin-inline: auto;
}

.sponsor-logo {
  display: grid;
  min-height: 130px;
  place-items: center;
  padding: var(--space-lg);
}

.sponsor-logo img {
  width: auto;
  max-width: 100%;
  max-height: 105px;
  object-fit: contain;
}

.whatsapp-float {
  position: fixed;
  right: clamp(1rem, 2.4vw, 2rem);
  bottom: clamp(1rem, 2.4vw, 2rem);
  z-index: 40;
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  background: transparent;
  box-shadow: none;
  transform: translateY(-3px) scale(1.04);
}

.whatsapp-float img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 680px) {
  .census {
    min-height: 300px;
  }

  .sponsors-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .sponsor-logo {
    min-height: 100px;
    padding: var(--space-md);
  }

  .sponsor-logo img {
    max-height: 82px;
  }

  .whatsapp-float {
    width: 72px;
    height: 72px;
  }
}

/* AADI identity refresh */
:root {
  --color-primary: #183d71;
  --color-primary-dark: #0f2a50;
  --color-primary-soft: #eaf0f8;
  --color-accent: #c54923;
  --color-accent-dark: #9f3518;
  --color-ink: #172333;
  --color-muted: #627083;
  --color-border: #d8e0ea;
  --color-surface-alt: #f3f6fa;
  --color-footer: #102745;
  --shadow-card: 0 14px 34px rgba(24, 61, 113, 0.12);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 8px;
}

.site-header {
  position: absolute;
  left: 0;
  right: 0;
  color: #ffffff;
  background: rgba(16, 39, 69, 0.82);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
}

.brand-mark {
  min-width: 72px;
  height: 38px;
  width: auto;
  padding: 0 0.65rem;
  color: #ffffff;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.brand-text strong {
  color: #ffffff;
  letter-spacing: 0.04em;
}

.brand-text small {
  color: rgba(255, 255, 255, 0.78);
}

.main-nav {
  color: #ffffff;
}

.main-nav a:not(.nav-cta):hover,
.main-nav a:not(.nav-cta):focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: var(--color-accent);
  text-underline-offset: 0.35rem;
}

.nav-cta,
.btn-primary {
  color: #ffffff;
  background: var(--color-accent);
}

.nav-cta:hover,
.nav-cta:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--color-accent-dark);
}

.nav-toggle {
  border-color: rgba(255, 255, 255, 0.38);
  background: rgba(255, 255, 255, 0.08);
}

.nav-toggle span {
  background: #ffffff;
}

.hero {
  position: relative;
  min-height: 680px;
  display: grid;
  align-items: center;
  padding: 8.5rem 0 5rem;
  color: #ffffff;
  background-image: url("../img/sliders/slider02_azul.jpg");
  background-position: center;
  background-size: cover;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(11, 29, 55, 0.9) 0%, rgba(24, 61, 113, 0.68) 45%, rgba(24, 61, 113, 0.2) 100%),
    linear-gradient(180deg, rgba(16, 39, 69, 0.32), rgba(16, 39, 69, 0.12));
}

.hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: end;
}

.hero h1:not(.hero-title) {
  max-width: 800px;
  color: #ffffff;
  font-size: clamp(2.75rem, 6vw, 5rem);
  line-height: 0.98;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.hero .eyebrow {
  color: #ffffff;
  font-size: clamp(0.88rem, 0.9vw, 1rem);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

.hero-lead {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.16rem;
}

.hero-callout {
  margin-bottom: var(--space-md);
  color: var(--color-accent);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hero .btn-secondary {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.08);
}

.hero .btn-secondary:hover,
.hero .btn-secondary:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.hero .btn-ghost {
  color: var(--color-primary);
  background: #ffffff;
}

.hero-panel {
  display: grid;
  padding: 0;
  overflow: hidden;
  color: #ffffff;
  background: rgba(16, 39, 69, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-md);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
}

.hero-panel a {
  display: grid;
  gap: 0.2rem;
  padding: var(--space-lg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.hero-panel a:last-child {
  border-bottom: 0;
}

.hero-panel strong {
  color: #ffffff;
  font-size: 1.05rem;
}

.hero-panel span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.93rem;
}

.hero-panel a:hover,
.hero-panel a:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

.section-heading h2,
.access-card strong,
.benefit-card h3,
.activity-card h3 {
  color: var(--color-primary-dark);
}

.access-card {
  min-height: 178px;
  border-top: 4px solid var(--color-primary);
}

.access-card:hover,
.access-card:focus-visible {
  border-top-color: var(--color-accent);
}

.card-icon {
  color: #ffffff;
  background: var(--color-primary);
  font-weight: 900;
}

.benefit-card .card-icon {
  background: var(--color-accent);
}

.activity-category,
.text-link,
.eyebrow {
  color: var(--color-accent);
}

.activity-date,
.btn-small {
  background: var(--color-primary);
}

.institutional {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(15, 42, 80, 0.84), rgba(24, 61, 113, 0.88)),
    url("../img/sliders/slider05.jpg") center 56% / cover no-repeat;
}

.institutional::before {
  content: "";
  position: absolute;
  inset: -12px;
  background: inherit;
  filter: blur(3px);
  transform: scale(1.03);
}

.institutional-block {
  position: relative;
  z-index: 1;
}

.institutional h2 {
  color: #ffffff;
}

.institutional .btn-secondary {
  color: var(--color-primary);
  background: #ffffff;
}

@media (max-width: 980px) {
  .site-header {
    position: fixed;
  }

  .main-nav {
    color: var(--color-primary-dark);
    background: #ffffff;
  }

  .main-nav a:hover,
  .main-nav a:focus-visible {
    color: var(--color-primary);
    text-decoration: none;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hero-panel a {
    border-right: 1px solid rgba(255, 255, 255, 0.14);
    border-bottom: 0;
  }

  .hero-panel a:last-child {
    border-right: 0;
  }
}

@media (max-width: 680px) {
  .brand-mark {
    min-width: 62px;
    height: 34px;
    font-size: 0.78rem;
  }

  .hero {
    min-height: 620px;
    padding: 7.5rem 0 3rem;
    background-position: 58% center;
  }

  .hero h1:not(.hero-title) {
    font-size: 2.55rem;
  }

  .hero-panel {
    grid-template-columns: 1fr;
  }

  .hero-panel a {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
}

/* Hero conversion focus */
.site-header {
  position: fixed;
}

.brand-logo {
  display: block;
  width: clamp(128px, 13vw, 176px);
  height: auto;
}

.brand .brand-mark {
  display: none;
}

.brand-logo + .brand-text {
  display: none;
}

.hero {
  background-image: url("../img/sliders/slider04.jpg");
  background-position: center;
}

.hero-overlay {
  background:
    linear-gradient(90deg, rgba(11, 29, 55, 0.92) 0%, rgba(24, 61, 113, 0.74) 43%, rgba(24, 61, 113, 0.24) 100%),
    linear-gradient(180deg, rgba(16, 39, 69, 0.34), rgba(16, 39, 69, 0.16));
}

.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  align-items: center;
}

.hero h1:not(.hero-title) {
  max-width: 760px;
  font-size: clamp(2.25rem, 4.7vw, 4.2rem);
  line-height: 1.04;
}

.hero-lead {
  max-width: 610px;
}

.btn-event {
  color: #ffffff;
  background: var(--color-primary);
  border-color: rgba(255, 255, 255, 0.28);
}

.btn-event:hover,
.btn-event:focus-visible {
  background: #244f87;
}

.btn-campus {
  color: rgba(255, 255, 255, 0.84);
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.06);
}

.btn-campus:hover,
.btn-campus:focus-visible {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
}

.conversion-panel {
  gap: var(--space-md);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.conversion-card {
  padding: var(--space-lg);
  color: var(--color-ink);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
}

.conversion-card h2 {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.15;
}

.conversion-card p {
  margin-bottom: var(--space-md);
  color: var(--color-muted);
}

.conversion-card .conversion-label {
  margin-bottom: var(--space-xs);
  color: var(--color-accent);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.conversion-card .btn {
  display: inline-flex;
  width: 100%;
  border-right: 1px solid transparent;
  border-bottom: 1px solid transparent;
  padding: 0.78rem 1.15rem;
}

.conversion-card .btn-event {
  background: var(--color-primary);
}

@media (max-width: 980px) {
  .brand-logo {
    width: 138px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .conversion-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .brand-logo {
    width: 118px;
  }

  .hero {
    background-position: 54% center;
  }

  .hero h1:not(.hero-title) {
    font-size: 2.25rem;
  }

  .hero-actions .btn-campus {
    width: auto;
    min-width: 100%;
  }

  .conversion-panel {
    grid-template-columns: 1fr;
  }

  .conversion-card {
    padding: var(--space-md);
  }
}

/* Hero hierarchy refinement */
.hero h1:not(.hero-title) {
  max-width: 780px;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  line-height: 1.05;
}

.hero-callout {
  display: none;
}

.hero-actions {
  margin-top: var(--space-xl);
}

.conversion-panel {
  gap: var(--space-lg);
}

.conversion-card {
  color: #ffffff;
  background: rgba(16, 39, 69, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 16px 34px rgba(3, 15, 32, 0.24);
  backdrop-filter: blur(12px);
}

.conversion-card:first-child {
  background: rgba(24, 61, 113, 0.82);
  border-color: rgba(197, 73, 35, 0.7);
  box-shadow: 0 20px 44px rgba(3, 15, 32, 0.3);
}

.conversion-card h2 {
  color: #ffffff;
}

.conversion-card p,
.conversion-card .hero-events p {
  color: rgba(255, 255, 255, 0.8);
}

.conversion-card .conversion-label {
  color: #f18b67;
}

.hero-events {
  display: grid;
  gap: 0.85rem;
  margin-bottom: var(--space-md);
}

.hero-event-item {
  display: grid;
  gap: 0.18rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.hero-event-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hero-event-item strong {
  color: #ffffff;
  font-size: 0.98rem;
  line-height: 1.25;
}

.hero-event-item span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
}

@media (max-width: 680px) {
  .hero h1:not(.hero-title) {
    font-size: clamp(2.35rem, 12vw, 3.1rem);
  }

  .hero-actions {
    margin-top: var(--space-lg);
  }
}

/* Hero final panel refinement */
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
}

.hero h1:not(.hero-title) {
  max-width: 820px;
  font-size: clamp(2.5rem, 4.2vw, 4.2rem);
  line-height: 1.05;
}

.hero-side-panel {
  display: grid;
  gap: var(--space-lg);
  padding: var(--space-lg);
  color: var(--color-primary-dark);
  background: rgba(245, 248, 252, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: var(--radius-md);
  box-shadow: 0 16px 40px rgba(7, 24, 50, 0.18);
  backdrop-filter: blur(12px);
}

.hero-side-block {
  display: grid;
  gap: var(--space-sm);
}

.hero-side-block h2 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: 1.34rem;
  line-height: 1.18;
}

.hero-side-block p {
  margin: 0;
  color: #4a5b70;
}

.hero-side-block-primary {
  padding: var(--space-md);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: var(--radius-md);
}

.hero-side-divider {
  height: 1px;
  background: rgba(24, 61, 113, 0.14);
}

.hero-panel-label {
  margin: 0;
  color: var(--color-accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-featured-event {
  display: grid;
  gap: 0.85rem;
}

.hero-event-item {
  display: grid;
  gap: 0.4rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(24, 61, 113, 0.12);
}

.hero-event-item:first-child {
  padding-top: 0;
}

.hero-event-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hero-event-item strong {
  color: var(--color-primary-dark);
  font-size: 0.98rem;
  line-height: 1.25;
}

.hero-event-item span {
  color: #5a6b80;
  font-size: 0.9rem;
}

.hero-event-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.hero-event-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.18rem 0.48rem;
  color: var(--color-primary);
  background: rgba(24, 61, 113, 0.1);
  border: 1px solid rgba(24, 61, 113, 0.14);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}

.hero-event-badge-featured {
  color: var(--color-accent);
  background: rgba(197, 73, 35, 0.1);
  border-color: rgba(197, 73, 35, 0.2);
}

.hero-side-panel .btn {
  width: fit-content;
  margin-top: 0.35rem;
}

@media (max-width: 980px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-side-panel {
    grid-template-columns: 1fr 1px 1fr;
    align-items: stretch;
  }

  .hero-side-divider {
    width: 1px;
    height: auto;
  }
}

@media (max-width: 680px) {
  .hero h1:not(.hero-title) {
    font-size: clamp(2.15rem, 10vw, 2.8rem);
  }

  .hero-side-panel {
    grid-template-columns: 1fr;
    padding: var(--space-md);
  }

  .hero-side-divider {
    width: auto;
    height: 1px;
  }

  .hero-side-panel .btn {
    width: 100%;
  }
}

/* Hero cards final design */
.hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 390px);
  gap: clamp(2rem, 4vw, 4rem);
}

.hero .hero-title {
  max-width: 720px;
  margin-bottom: var(--space-lg);
  color: #ffffff;
  font-size: clamp(2.3rem, 3.8vw, 3.9rem);
  line-height: 1.08;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.hero-side {
  display: grid;
  gap: 1.25rem;
}

.hero-card {
  display: grid;
  gap: var(--space-sm);
  padding: var(--space-lg);
  color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(5, 19, 42, 0.22);
}

.hero-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: 1.38rem;
  line-height: 1.18;
}

.hero-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
}

.hero-card-primary {
  background: linear-gradient(135deg, rgba(61, 121, 182, 0.92), rgba(18, 52, 86, 0.92));
}

.hero-card-events {
  background: rgba(13, 39, 68, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(10px);
}

.hero-card-label {
  color: #f1a17f;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-card .btn {
  width: fit-content;
  margin-top: 0.35rem;
}

.hero-card-primary .btn-primary {
  background: var(--color-accent);
}

.hero-featured-event {
  display: grid;
  gap: 0.85rem;
}

.hero-featured-event > p {
  color: rgba(255, 255, 255, 0.78);
}

.hero-event-item {
  display: grid;
  gap: 0.42rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.hero-event-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hero-event-item strong {
  color: #ffffff;
  font-size: 0.98rem;
  line-height: 1.25;
}

.hero-event-item span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
}

.hero-event-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.hero-event-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.16rem 0.45rem;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
}

.hero-event-badge-featured {
  color: #ffd4c1;
  background: rgba(197, 73, 35, 0.34);
  border-color: rgba(197, 73, 35, 0.34);
}

@media (max-width: 980px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero .hero-title {
    max-width: 760px;
  }

  .hero-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .hero .hero-title {
    font-size: clamp(2rem, 9vw, 2.65rem);
  }

  .hero-side {
    grid-template-columns: 1fr;
  }

  .hero-card {
    padding: var(--space-md);
  }

  .hero-card .btn {
    width: 100%;
  }
}

/* Hero color and hierarchy polish */
:root {
  --color-aadi-blue: #3d79b6;
  --color-navy: #143a5f;
  --color-accent: #df6b48;
  --color-accent-dark: #c65332;
}

.site-header {
  background: linear-gradient(90deg, #143a5f 0%, #1f5f97 100%);
}

.hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(9, 35, 65, 0.88) 0%,
    rgba(13, 58, 99, 0.72) 48%,
    rgba(9, 87, 125, 0.62) 100%
  );
}

.hero .hero-title {
  max-width: 720px;
  font-size: clamp(2.3rem, 3.7vw, 3.8rem);
  line-height: 1.08;
}

.hero-actions {
  align-items: center;
}

.hero-campus-link {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  color: rgba(255, 255, 255, 0.86);
  font-weight: 800;
}

.hero-campus-link:hover,
.hero-campus-link:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.35rem;
}

.hero-card-events {
  background: linear-gradient(135deg, rgba(61, 121, 182, 0.88), rgba(22, 73, 120, 0.92));
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 16px 38px rgba(5, 19, 42, 0.2);
  backdrop-filter: blur(10px);
}

.hero-event-badge {
  padding: 0.14rem 0.42rem;
  color: rgba(224, 238, 249, 0.9);
  background: rgba(210, 232, 247, 0.12);
  border-color: rgba(210, 232, 247, 0.18);
  font-size: 0.68rem;
  font-weight: 600;
}

.hero-event-badge-featured {
  color: #ffd7c7;
  background: rgba(217, 75, 37, 0.26);
  border-color: rgba(217, 75, 37, 0.34);
  font-weight: 700;
}

@media (max-width: 680px) {
  .hero .hero-title {
    font-size: clamp(2rem, 8.6vw, 2.55rem);
  }

  .hero-campus-link {
    justify-content: center;
    width: 100%;
  }
}

/* Hero simplification and association benefits */
.nav-campus {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.nav-campus:hover,
.nav-campus:focus-visible {
  background: rgba(255, 255, 255, 0.2);
}

.hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 400px);
}

.hero .hero-title {
  max-width: 720px;
  font-size: clamp(2.3rem, 3.7vw, 3.8rem);
  line-height: 1.08;
}

.hero-side {
  align-self: center;
  grid-template-columns: 1fr;
}

.hero-card-events {
  padding: clamp(1.35rem, 2.5vw, 2rem);
  background: linear-gradient(135deg, rgba(61, 121, 182, 0.92), rgba(18, 52, 86, 0.94));
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 18px 42px rgba(5, 19, 42, 0.24);
}

.hero-card-events .btn-event {
  justify-self: center;
  margin-top: var(--space-md);
  background: var(--color-accent);
}

.hero-card-events .btn-event:hover,
.hero-card-events .btn-event:focus-visible {
  background: var(--color-accent-dark);
}

.associate-benefits {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #f3f6fa 0%, #ffffff 100%);
}

.associate-benefits::before {
  content: "";
  position: absolute;
  inset: 4rem auto auto 50%;
  width: min(52rem, 80vw);
  height: min(52rem, 80vw);
  background: radial-gradient(circle, rgba(61, 121, 182, 0.12), transparent 62%);
  transform: translateX(-10%);
  pointer-events: none;
}

.associate-benefits .container {
  position: relative;
  z-index: 1;
}

.associate-benefits-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) repeat(2, minmax(0, 0.78fr));
  grid-auto-rows: 1fr;
  gap: var(--space-lg);
}

.associate-benefit-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: var(--space-md);
  min-height: 250px;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  overflow: hidden;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.associate-benefit-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  width: 3.4rem;
  height: 4px;
  background: var(--color-accent);
  border-radius: 0 0 999px 999px;
}

.associate-benefit-card:hover,
.associate-benefit-card:focus-within {
  border-color: rgba(217, 75, 37, 0.32);
  box-shadow: 0 22px 44px rgba(24, 61, 113, 0.13);
  transform: translateY(-4px);
}

.associate-benefit-featured {
  grid-row: span 2;
  align-content: start;
  min-height: 520px;
  color: #ffffff;
  background:
    radial-gradient(circle at 72% 18%, rgba(99, 165, 220, 0.28), transparent 17rem),
    radial-gradient(circle at top right, rgba(217, 75, 37, 0.18), transparent 18rem),
    linear-gradient(135deg, #173f67 0%, #1f5f97 56%, #24476f 100%);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 22px 50px rgba(16, 39, 69, 0.2);
}

.associate-benefit-featured::before {
  left: clamp(1.25rem, 2vw, 1.75rem);
  width: 4.5rem;
  height: 5px;
  background: var(--color-accent);
}

.associate-benefit-featured::after {
  content: "";
  position: absolute;
  right: -4.5rem;
  top: -4.5rem;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
}

.benefit-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--color-accent);
  background: rgba(217, 75, 37, 0.1);
  border: 1px solid rgba(217, 75, 37, 0.16);
  border-radius: 16px;
}

.benefit-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.associate-benefit-featured .benefit-icon {
  width: 64px;
  height: 64px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 20px;
}

.associate-benefit-card h3 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: clamp(1.16rem, 1.8vw, 1.42rem);
  line-height: 1.25;
}

.associate-benefit-card p {
  margin-bottom: 0;
}

.associate-benefit-featured h3 {
  color: #ffffff;
  font-size: clamp(1.75rem, 2.45vw, 2.2rem);
  line-height: 1.07;
}

.associate-benefit-featured p {
  color: rgba(255, 255, 255, 0.82);
}

.associate-benefit-featured > div {
  display: grid;
  gap: 0.9rem;
}

.benefit-kicker {
  margin-bottom: 0.1rem;
  color: var(--color-accent);
  font-size: clamp(0.82rem, 0.8vw, 0.95rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.benefit-list {
  display: grid;
  gap: 0.64rem;
  padding: 0;
  margin: 1.35rem 0 0;
  list-style: none;
}

.benefit-list li {
  position: relative;
  padding-left: 1.85rem;
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.42;
}

.benefit-list li::before {
  content: "";
  position: absolute;
  left: 0.12rem;
  top: 0.48rem;
  width: 0.58rem;
  height: 0.3rem;
  border-left: 3px solid #ff6a32;
  border-bottom: 3px solid #ff6a32;
  transform: rotate(-45deg);
}

.associate-benefits-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
  margin-top: var(--space-lg);
  padding: var(--space-lg);
  background: linear-gradient(135deg, #dcecff 0%, #edf6ff 48%, #ffffff 100%);
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(24, 61, 113, 0.08);
}

.activities {
  padding-top: var(--space-xl);
}

.activity-actions .btn-small-outline {
  color: #ffffff;
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.activity-actions .btn-small-outline:hover,
.activity-actions .btn-small-outline:focus-visible {
  color: #ffffff;
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.activity-actions .btn-small-register {
  color: #ffffff;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.activity-actions .btn-small-register:hover,
.activity-actions .btn-small-register:focus-visible {
  color: #ffffff;
  background: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}

.associate-benefits-cta p {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: clamp(1.05rem, 1.4vw, 1.35rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.associate-benefits-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.associate-benefits-actions .btn-secondary {
  color: #ffffff;
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.associate-benefits-actions .btn-secondary:hover,
.associate-benefits-actions .btn-secondary:focus-visible {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: #ffffff;
}

.section-action .agenda-complete-btn {
  color: #ffffff;
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.section-action .agenda-complete-btn:hover,
.section-action .agenda-complete-btn:focus-visible {
  color: var(--color-primary);
  border-color: var(--color-primary);
  background: #ffffff;
}

.quick-access {
  background: #ffffff;
}

.quick-access .section-heading {
  margin-bottom: var(--space-lg);
}

.quick-grid .access-card {
  min-height: 142px;
  padding: var(--space-md);
  gap: 0.55rem;
  border-top-width: 3px;
}

.quick-grid .card-icon {
  width: 40px;
  height: 40px;
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

.quick-grid .access-card:nth-child(even) .card-icon {
  color: var(--color-accent);
  background: rgba(197, 73, 35, 0.1);
}

.quick-grid .card-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quick-grid .access-card strong {
  font-size: 1rem;
  line-height: 1.25;
}

.quick-grid .access-card span:last-child {
  font-size: 0.92rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .hero-grid,
  .associate-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .associate-benefit-featured {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: auto;
  }

  .hero-content {
    grid-column: 1 / -1;
  }

  .hero-side {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .hero-grid,
  .associate-benefits-grid {
    grid-template-columns: 1fr;
  }

  .associate-benefit-card,
  .associate-benefit-featured {
    grid-column: auto;
    min-height: auto;
    border-radius: 16px;
  }

  .associate-benefits-cta,
  .associate-benefits-actions,
  .associate-benefits-cta .btn {
    width: 100%;
  }

  .hero .hero-title {
    font-size: clamp(2rem, 8.6vw, 2.55rem);
  }
}

/* Hero events card compact glass style */
.hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 400px);
}

.hero .hero-title {
  max-width: 720px;
  font-size: clamp(2.3rem, 3.7vw, 3.8rem);
  line-height: 1.08;
}

.hero-side {
  justify-self: end;
  width: min(100%, 400px);
}

.hero-card-events {
  gap: 0.75rem;
  max-width: 400px;
  padding: 1.15rem;
  background: rgba(25, 82, 132, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
}

.hero-card-events h2 {
  font-size: 1.24rem;
}

.hero-card-events .hero-card-label {
  font-size: 0.7rem;
}

.hero-featured-event {
  gap: 0.55rem;
}

.hero-event-item {
  gap: 0.25rem;
  padding-bottom: 0.62rem;
}

.hero-event-item strong {
  font-size: 0.92rem;
  line-height: 1.24;
}

.hero-event-item span {
  color: rgba(232, 243, 250, 0.74);
  font-size: 0.82rem;
}

.hero-event-badges {
  gap: 0.3rem;
}

.hero-event-badge {
  padding: 0.1rem 0.36rem;
  color: rgba(255, 219, 205, 0.92);
  background: rgba(217, 75, 37, 0.18);
  border-color: rgba(217, 75, 37, 0.26);
  font-size: 0.64rem;
  font-weight: 500;
}

.hero-card-events .btn-event {
  justify-self: center;
  margin-top: 0.35rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(217, 75, 37, 0.55);
}

.hero-card-events .btn-event:hover,
.hero-card-events .btn-event:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(217, 75, 37, 0.78);
}

@media (max-width: 980px) {
  .hero-side {
    justify-self: stretch;
    width: 100%;
  }

  .hero-card-events {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .hero .hero-title {
    font-size: clamp(2rem, 8.6vw, 2.55rem);
  }

  .hero-card-events {
    padding: var(--space-md);
  }
}

/* Hero events card glass refinement */
.hero-side {
  justify-self: end;
  width: min(100%, 460px);
}

.hero-card-events {
  position: relative;
  gap: 1rem;
  width: 100%;
  max-width: 460px;
  padding: clamp(1.45rem, 2.4vw, 1.9rem);
  overflow: hidden;
  background: linear-gradient(
    135deg,
    rgba(61, 121, 182, 0.36),
    rgba(13, 39, 68, 0.58)
  );
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(12px);
}

.hero-card-events::before {
  content: "";
  width: 44px;
  height: 3px;
  background: var(--color-accent);
  border-radius: 999px;
}

.hero-card-events .hero-card-label {
  color: #ffb393;
  font-size: 0.72rem;
}

.hero-card-events h2 {
  font-size: 1.36rem;
}

.hero-featured-event {
  gap: 0.8rem;
}

.hero-event-item {
  gap: 0.32rem;
  padding-bottom: 0.8rem;
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

.hero-event-item strong {
  font-size: 0.98rem;
}

.hero-event-item span {
  color: rgba(235, 246, 252, 0.78);
  font-size: 0.86rem;
}

.hero-event-badge {
  padding: 0.12rem 0.42rem;
  color: #ffe0d2;
  background: rgba(217, 75, 37, 0.22);
  border-color: rgba(217, 75, 37, 0.32);
  font-size: 0.64rem;
  font-weight: 500;
}

.hero-card-events .btn-event {
  justify-self: center;
  margin-top: 0.55rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(217, 75, 37, 0.64);
}

.hero-card-events .btn-event:hover,
.hero-card-events .btn-event:focus-visible {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(217, 75, 37, 0.9);
}

@media (max-width: 980px) {
  .hero-side {
    justify-self: stretch;
    width: 100%;
  }

  .hero-card-events {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .hero-card-events {
    padding: var(--space-lg);
  }
}

/* Hero events badges and agenda link */
.hero-event-badges {
  gap: 0.34rem;
}

.hero-event-badge {
  padding: 0.12rem 0.42rem;
  color: rgba(229, 244, 252, 0.86);
  background: rgba(185, 220, 242, 0.14);
  border: 1px solid rgba(185, 220, 242, 0.18);
  font-size: 0.64rem;
  font-weight: 500;
}

.hero-event-badge-featured {
  color: #ffe0d2;
  background: rgba(217, 75, 37, 0.2);
  border-color: rgba(217, 75, 37, 0.3);
}

.hero-agenda-link {
  justify-self: center;
  margin-top: 0.45rem;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.28);
  text-underline-offset: 0.35rem;
}

.hero-agenda-link:hover,
.hero-agenda-link:focus-visible {
  color: #ffb393;
  text-decoration-color: rgba(255, 179, 147, 0.76);
}

/* Hero event card final accents */
.hero .eyebrow,
.hero-card-events .hero-card-label {
  color: var(--color-accent);
}

.hero .hero-title {
  max-width: 720px;
  font-size: clamp(2.15rem, 3.35vw, 3.45rem);
  line-height: 1.08;
}

.hero-card-events::before {
  display: none;
}

.hero-card-events h2 {
  color: #ffffff;
}

.hero-event-item {
  border-bottom: 0;
  background-image: linear-gradient(90deg, rgba(217, 75, 37, 0.34), rgba(217, 75, 37, 0));
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

.hero-event-item:last-child {
  background-size: 0 0;
}

.hero-event-badge {
  color: rgba(229, 244, 252, 0.9);
  background: rgba(185, 220, 242, 0.13);
  border-color: rgba(185, 220, 242, 0.2);
}

.hero-event-badge-featured {
  color: #ffd4c1;
  background: rgba(217, 75, 37, 0.3);
  border-color: rgba(217, 75, 37, 0.46);
}

.hero-agenda-link {
  color: #ffffff;
}

.hero-agenda-link:hover,
.hero-agenda-link:focus-visible {
  color: var(--color-accent);
  text-decoration-color: rgba(217, 75, 37, 0.8);
}

@media (max-width: 680px) {
  .hero .hero-title {
    font-size: clamp(1.95rem, 8.2vw, 2.45rem);
  }
}

/* Hero events micro-interactions */
.hero .eyebrow {
  color: #ffffff;
}

.hero-card-events {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hero-card-events:hover,
.hero-card-events:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 26px 58px rgba(0, 0, 0, 0.24);
  border-color: rgba(255, 255, 255, 0.32);
}

.hero-card-events .hero-card-label {
  font-size: 0.86rem;
}

.hero-event-item {
  background-image: linear-gradient(90deg, rgba(217, 75, 37, 0.68), rgba(217, 75, 37, 0));
}

.hero-agenda-link {
  font-weight: 500;
}

/* Hero event card detail polish */
.hero-card-events .hero-card-label {
  color: var(--color-accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.hero-event-item {
  gap: 0.38rem;
}

.hero-event-title {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
}

a.hero-event-title:hover,
a.hero-event-title:focus-visible {
  color: #cfe7f8;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.hero-event-item span {
  color: rgba(235, 246, 252, 0.76);
  font-size: 0.84rem;
}

.hero-event-badges {
  gap: 0.32rem;
}

.hero-event-badge {
  padding: 0.1rem 0.38rem;
  color: rgba(229, 244, 252, 0.88);
  background: rgba(185, 220, 242, 0.13);
  border-color: rgba(185, 220, 242, 0.2);
  font-size: 0.63rem;
  font-weight: 500;
}

.hero-event-badge-featured {
  color: #ffd4c1;
  background: rgba(217, 75, 37, 0.28);
  border-color: rgba(217, 75, 37, 0.42);
}

.hero-agenda-link {
  justify-self: start;
  color: #ffffff;
  font-weight: 500;
}

.hero-events-more {
  margin: 0;
  color: rgba(235, 246, 252, 0.72);
  font-size: 0.82rem;
}

.hero-card-events .hero-card-label {
  font-weight: 800;
}

.hero-agenda-link {
  justify-self: end;
}

@media (max-width: 680px) {
  .associate-benefits-grid {
    grid-template-columns: 1fr;
  }

  .associate-benefit-card:last-child {
    grid-column: auto;
  }

  .associate-benefits .section-heading h2 {
    font-size: clamp(1.95rem, 8vw, 2.35rem);
  }

  .associate-benefit-featured h3 {
    font-size: clamp(1.55rem, 6.4vw, 1.85rem);
    line-height: 1.1;
  }

  .associate-benefit-featured p,
  .benefit-list li {
    font-size: 0.96rem;
  }

  .benefit-list li {
    padding-left: 1.55rem;
  }
}

/* Eyebrow scale refresh */
.eyebrow,
.hero-card-label,
.benefit-kicker {
  font-size: clamp(0.82rem, 0.8vw, 0.95rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eyebrow,
.hero .eyebrow,
.hero-card-label,
.benefit-kicker {
  color: var(--color-accent);
}

.hero .eyebrow {
  font-size: clamp(0.88rem, 0.9vw, 1rem);
}

.hero-card-events .hero-card-label,
.associate-benefit-featured .benefit-kicker {
  color: var(--color-accent);
  font-size: clamp(0.82rem, 0.8vw, 0.95rem);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Inner socios page */
.inner-page .site-header {
  position: fixed;
}

/* Eventos activos */
.events-list-section {
  background: linear-gradient(180deg, #ffffff 0%, var(--color-surface-alt) 100%);
}

.events-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-xl);
}

.events-heading > div > p:last-child {
  max-width: 680px;
  margin: var(--space-md) 0 0;
}

.events-count {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.55rem 0.9rem;
  color: var(--color-primary-dark);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
}

.events-page-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.events-empty {
  display: grid;
  gap: 0.35rem;
  padding: 2rem;
  text-align: center;
}

.events-empty strong {
  color: var(--color-ink);
  font-size: 1.1rem;
}

.events-empty span {
  color: var(--color-muted);
}

@media (max-width: 680px) {
  .events-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-md);
  }

  .events-page-grid {
    grid-template-columns: 1fr;
  }
}

/* Histórico de Eventos */
.history-list-section {
  background: var(--color-surface-alt);
}

.history-intro p:last-child {
  max-width: 720px;
  margin: var(--space-md) 0 0;
}

.history-filters {
  display: grid;
  grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(150px, 1fr)) auto;
  gap: var(--space-md);
  align-items: end;
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(20, 48, 51, 0.06);
}

.history-filters label {
  display: grid;
  gap: 0.4rem;
  color: var(--color-ink);
  font-size: 0.86rem;
  font-weight: 700;
}

.history-filters input,
.history-filters select {
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 0.85rem;
  color: var(--color-ink);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #ffffff;
  font: inherit;
  font-weight: 400;
}

.history-filters input:focus,
.history-filters select:focus {
  outline: 3px solid rgba(20, 107, 112, 0.14);
  border-color: var(--color-primary);
}

.history-results-bar {
  display: flex;
  justify-content: flex-end;
  padding: var(--space-lg) 0 var(--space-md);
}

.history-results-bar p {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
}

.history-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.history-card {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(20, 48, 51, 0.07);
}

.history-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
}

.history-card-meta span,
.history-modality {
  color: var(--color-primary-dark);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.history-card-meta time {
  color: var(--color-muted);
  font-size: 0.82rem;
}

.history-card h3 {
  margin-bottom: var(--space-sm);
  font-size: 1.2rem;
  line-height: 1.3;
}

.history-card p {
  margin-bottom: var(--space-lg);
}

.history-modality {
  margin-top: auto;
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border);
}

@media (max-width: 980px) {
  .history-filters {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .history-clear {
    grid-column: 1 / -1;
  }

  .history-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .history-filters,
  .history-grid {
    grid-template-columns: 1fr;
  }
}

.inner-hero {
  padding: 9rem 0 4.5rem;
  color: #ffffff;
  background:
    radial-gradient(circle at 82% 18%, rgba(217, 75, 37, 0.18), transparent 24rem),
    linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
}

.inner-hero-compact {
  padding: 7.4rem 0 3.2rem;
}

.inner-hero-content {
  max-width: 860px;
}

.inner-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}

.inner-hero h1 {
  max-width: 760px;
  margin-bottom: var(--space-lg);
  color: #ffffff;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1.04;
}

.inner-hero-compact h1 {
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  margin-bottom: var(--space-md);
}

.inner-hero p {
  max-width: 680px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.08rem;
}

.inner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

.inner-hero .btn-secondary {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.08);
}

.inner-hero .btn-secondary:hover,
.inner-hero .btn-secondary:focus-visible {
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.16);
}

.inner-hero-card,
.info-card,
.document-card,
.notice-card,
.benefit-summary article,
.accordion-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.inner-hero-card {
  padding: var(--space-lg);
  color: var(--color-primary-dark);
  background: rgba(255, 255, 255, 0.94);
  border-color: rgba(255, 255, 255, 0.24);
}

.inner-hero-card h2,
.info-card h3,
.document-card h3,
.notice-card h3,
.benefit-summary h3,
.accordion-card summary {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
  line-height: 1.2;
}

.inner-anchor-nav {
  position: sticky;
  top: 78px;
  z-index: 12;
  padding: var(--space-lg) 0;
  background: #ffffff;
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 10px 26px rgba(24, 61, 113, 0.06);
}

.anchor-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.anchor-list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0.55rem 0.8rem;
  color: var(--color-primary);
  background: var(--color-primary-soft);
  border: 1px solid rgba(24, 61, 113, 0.1);
  border-radius: 999px;
  font-weight: 800;
}

.anchor-list a:hover,
.anchor-list a:focus-visible {
  color: #ffffff;
  background: var(--color-primary);
}

.inner-section {
  scroll-margin-top: 178px;
}

.inner-page .inner-section[id] {
  scroll-margin-top: 196px;
}

.inner-section.alt {
  background: var(--color-surface-alt);
}

.inner-section-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: var(--space-xl);
  align-items: start;
}

.info-card-grid,
.benefit-summary,
.insurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.info-card,
.document-card,
.notice-card,
.benefit-summary article,
.accordion-card,
.insurance-card,
.payment-card {
  padding: var(--space-lg);
}

.payment-card,
.insurance-card {
  min-width: 0;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.payment-stack {
  display: grid;
  gap: var(--space-lg);
}

.payment-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.payment-columns > div,
.highlight-notice,
.notice-card,
.insurance-card,
.document-card {
  min-width: 0;
}

.payment-columns h3,
.insurance-card h3 {
  margin-bottom: var(--space-md);
  color: var(--color-primary-dark);
}

.data-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.data-list div {
  display: grid;
  gap: 0.12rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border);
}

.data-list dt {
  color: var(--color-muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.data-list dd {
  margin: 0;
  color: var(--color-primary-dark);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.highlight-notice {
  margin-top: var(--space-xl);
  padding: var(--space-lg);
  background: var(--color-primary-soft);
  border-left: 4px solid var(--color-accent);
  border-radius: 14px;
}

.highlight-notice strong {
  display: block;
  margin-bottom: var(--space-xs);
  color: var(--color-primary-dark);
}

.highlight-notice p {
  margin: 0;
}

.highlight-notice a,
.notice-card a,
.advisor-contact a {
  color: var(--color-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.notice-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-lg);
}

.notice-card-accent {
  border-color: rgba(217, 75, 37, 0.18);
  background: rgba(217, 75, 37, 0.06);
}

.compact-list {
  margin: var(--space-md) 0;
}

.document-stack {
  display: grid;
  gap: var(--space-lg);
}

.document-card-wide {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-lg);
}

.download-list {
  display: grid;
  gap: var(--space-sm);
}

.download-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: 0.85rem 0;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-border);
  font-weight: 800;
}

.download-list a::after {
  content: "Descargar";
  color: var(--color-accent);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.download-list a:hover,
.download-list a:focus-visible {
  color: var(--color-primary-dark);
}

.accordion-card {
  align-self: start;
}

.accordion-card summary {
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 800;
}

.accordion-card p,
.accordion-card .check-list {
  margin-top: var(--space-md);
}

.insurance-card p:last-child,
.insurance-card .check-list:last-child {
  margin-bottom: 0;
}

.advisor-contact {
  margin-top: var(--space-md);
  color: var(--color-muted);
  font-style: normal;
  line-height: 1.7;
}

.info-card span {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: var(--space-md);
  place-items: center;
  color: #ffffff;
  background: var(--color-primary);
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 900;
}

.check-list {
  display: grid;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 1.65rem;
  color: var(--color-muted);
}

.check-list li::before {
  content: "";
  position: absolute;
  left: 0.1rem;
  top: 0.55rem;
  width: 0.55rem;
  height: 0.28rem;
  border-left: 2px solid var(--color-accent);
  border-bottom: 2px solid var(--color-accent);
  transform: rotate(-45deg);
}

#documentacion .document-card:first-child .check-list li::before {
  border-left-color: #f05a28;
  border-bottom-color: #f05a28;
  border-left-width: 3px;
  border-bottom-width: 3px;
}

@media (max-width: 980px) {
  .inner-hero-grid,
  .inner-section-grid {
    grid-template-columns: 1fr;
  }

  .info-card-grid,
  .benefit-summary,
  .insurance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .steps-grid,
  .payment-columns,
  .notice-grid,
  .document-card-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .inner-anchor-nav {
    top: 70px;
  }

  .inner-hero {
    padding: 7.5rem 0 3.5rem;
  }

  .inner-hero-compact {
    padding: 6.5rem 0 2.6rem;
  }

  .inner-hero h1 {
    font-size: clamp(2.05rem, 10vw, 2.8rem);
  }

  .inner-hero-actions,
  .inner-hero-actions .btn {
    width: 100%;
  }

  .anchor-list {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.2rem;
    scrollbar-width: thin;
  }

  .anchor-list a {
    flex: 0 0 auto;
    width: auto;
  }

  .info-card-grid,
  .benefit-summary,
  .insurance-grid,
  .steps-grid,
  .payment-columns,
  .notice-grid,
  .document-card-wide {
    grid-template-columns: 1fr;
  }

  .download-list a {
    display: grid;
  }
}

/* Socios editorial redesign */
.association-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
  padding-top: 1.2rem;
}

#como-asociarse .inner-section-grid,
#medios-pago .inner-section-grid,
#beneficios .inner-section-grid,
#documentacion .inner-section-grid {
  grid-template-columns: 1fr;
}

#como-asociarse .section-heading,
#medios-pago .section-heading,
#beneficios .section-heading,
#documentacion .section-heading {
  max-width: 760px;
}

.association-timeline::before {
  content: "";
  position: absolute;
  top: 2.35rem;
  left: 2rem;
  right: 2rem;
  height: 2px;
  background: linear-gradient(90deg, var(--color-accent) 0 76%, var(--color-primary) 100%);
}

.timeline-step {
  position: relative;
  display: grid;
  gap: var(--space-md);
  min-width: 0;
}

.timeline-step span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: #ffffff;
  background: var(--color-primary);
  border: 4px solid #ffffff;
  border-radius: 50%;
  box-shadow:
    0 12px 26px rgba(24, 61, 113, 0.18),
    0 0 0 0 rgba(24, 61, 113, 0.32);
  font-size: 0.86rem;
  font-weight: 900;
  animation: timelinePulse 2.8s ease-in-out infinite;
}

.timeline-step:nth-child(2) span {
  animation-delay: 0.18s;
}

.timeline-step:nth-child(3) span {
  animation-delay: 0.36s;
}

.timeline-step:nth-child(4) span {
  animation-delay: 0.54s;
}

@keyframes timelinePulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 12px 26px rgba(24, 61, 113, 0.18),
      0 0 0 0 rgba(24, 61, 113, 0.3);
  }

  50% {
    transform: translateY(-2px) scale(1.06);
    box-shadow:
      0 16px 32px rgba(24, 61, 113, 0.22),
      0 0 0 10px rgba(24, 61, 113, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .timeline-step span {
    animation: none;
  }
}

.timeline-step h3 {
  margin-bottom: var(--space-xs);
  color: var(--color-primary-dark);
  line-height: 1.2;
}

.timeline-step p {
  margin: 0;
}

.payment-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: var(--space-xl);
  align-items: start;
}

.payment-left,
.payment-mini-notices {
  display: grid;
  gap: var(--space-lg);
}

.online-association-panel,
.payment-data-panel,
.mini-notice {
  min-width: 0;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.online-association-panel {
  border-top: 4px solid var(--color-accent);
}

.online-association-panel h3,
.payment-data-panel h3,
.mini-notice h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
}

.online-association-panel .btn {
  margin-top: var(--space-md);
}

.payment-data-panel {
  background:
    linear-gradient(180deg, rgba(24, 61, 113, 0.04), rgba(255, 255, 255, 0)),
    #ffffff;
}

.payment-data-panel > h3 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.payment-columns h4 {
  margin: 0 0 var(--space-md);
  color: var(--color-primary);
  font-size: 1.05rem;
}

.benefit-rows {
  display: grid;
  gap: var(--space-md);
}

.benefit-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-left: 4px solid transparent;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(24, 61, 113, 0.07);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.benefit-row:hover,
.benefit-row:focus-within {
  border-left-color: var(--color-accent);
  box-shadow: 0 18px 40px rgba(24, 61, 113, 0.12);
  transform: translateY(-2px);
}

.benefit-row-icon {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  color: var(--color-accent);
  background: rgba(217, 75, 37, 0.1);
  border: 1px solid rgba(217, 75, 37, 0.16);
  border-radius: 16px;
  font-size: 0.82rem;
  font-weight: 900;
}

.benefit-row h3 {
  margin-bottom: var(--space-xs);
  color: var(--color-primary-dark);
}

.benefit-row p:last-child {
  margin-bottom: 0;
}

.benefit-row-detail {
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border);
  font-size: 0.95rem;
}

.benefit-row-detail a {
  color: var(--color-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

#documentacion .document-card-wide {
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

#documentacion .document-card {
  box-shadow: none;
  border-color: rgba(24, 61, 113, 0.1);
}

.morosity-section {
  background:
    radial-gradient(circle at 82% 18%, rgba(61, 121, 182, 0.12), transparent 24rem),
    #edf3f8;
}

.morosity-card {
  border-left: 4px solid var(--color-accent);
}

.morosity-card a {
  color: var(--color-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.insurance-section-grid {
  grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1.38fr);
}

.insurance-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  padding: var(--space-lg);
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: 18px;
}

.insurance-block {
  min-width: 0;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.1);
  border-radius: 14px;
}

.insurance-block-featured {
  grid-column: 1 / -1;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  border-color: rgba(255, 255, 255, 0.14);
}

.insurance-block h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
}

.insurance-block-featured h3,
.insurance-block-featured p {
  color: #ffffff;
}

.insurance-block .check-list {
  margin-top: 0;
}

@media (max-width: 1120px) {
  .association-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .association-timeline::before {
    display: none;
  }

  .timeline-step {
    grid-template-columns: 52px minmax(0, 1fr);
  }
}

@media (max-width: 980px) {
  .payment-layout,
  .insurance-section-grid {
    grid-template-columns: 1fr;
  }

  .payment-data-panel {
    order: 2;
  }

  .payment-left {
    order: 1;
  }
}

@media (max-width: 680px) {
  .association-timeline {
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .timeline-step {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: var(--space-md);
  }

  .timeline-step span {
    width: 48px;
    height: 48px;
    border-width: 3px;
  }

  .benefit-row {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .insurance-panel {
    grid-template-columns: 1fr;
    padding: var(--space-md);
  }
}

/* Socios panel refinements */
.inner-hero-compact {
  padding: 6.8rem 0 2.8rem;
}

.inner-hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xl);
  align-items: center;
  max-width: var(--container);
}

.inner-hero-content > :not(.inner-hero-actions) {
  grid-column: 1;
}

.inner-hero-actions {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  justify-self: end;
  margin-top: 0;
}

.process-cta {
  display: flex;
  justify-content: center;
  margin-top: var(--space-xl);
}

.inner-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.inner-section .section-heading {
  margin-bottom: 2rem;
}

.payment-info-panel {
  display: grid;
  gap: var(--space-lg);
  min-width: 0;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-top: 4px solid var(--color-accent);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.payment-info-panel .online-association-panel {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.payment-info-panel .highlight-notice {
  margin-top: 0;
}

.payment-layout {
  grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.08fr);
  gap: var(--space-xl);
}

.payment-left,
.payment-right {
  display: grid;
  gap: var(--space-md);
  min-width: 0;
}

.payment-left .online-association-panel,
.payment-right .payment-data-panel {
  height: 100%;
}

.payment-left .highlight-notice,
.mini-notice-presencial {
  margin-top: 0;
}

.payment-left .online-association-panel,
.payment-left .highlight-notice,
.payment-left .mini-notice,
.payment-right .payment-data-panel,
.payment-right .mini-notice {
  min-width: 0;
}

.payment-mini-notices {
  display: grid;
  gap: var(--space-sm);
}

.mini-notice {
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border);
}

.mini-notice h3 {
  margin-bottom: 0.35rem;
  color: var(--color-primary-dark);
  font-size: 1rem;
}

.mini-notice p {
  margin: 0;
  font-size: 0.95rem;
}

.mini-notice a {
  color: var(--color-primary);
  font-weight: 800;
}

.mini-notice-presencial {
  padding: var(--space-md) var(--space-lg);
  background: rgba(217, 75, 37, 0.06);
  border: 1px solid rgba(217, 75, 37, 0.16);
  border-left: 4px solid var(--color-accent);
  border-radius: 14px;
}

.mini-notice-filiales {
  padding-top: var(--space-md);
}

.benefit-rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.benefit-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: var(--space-md);
  padding: var(--space-lg);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.benefit-row:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.benefit-row:nth-child(odd) {
  border-right: 1px solid var(--color-border);
}

.benefit-row:hover,
.benefit-row:focus-within {
  background: var(--color-surface-alt);
  border-left-color: transparent;
  box-shadow: none;
  transform: none;
}

.benefit-row-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

.morosity-panel {
  max-width: 980px;
  margin-inline: 0;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(24, 61, 113, 0.1);
}

.morosity-heading {
  max-width: 760px;
}

.morosity-heading h2 {
  color: var(--color-primary-dark);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.14;
}

.morosity-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-border);
  color: var(--color-primary-dark);
  font-weight: 800;
}

.morosity-contact a {
  color: var(--color-primary);
  overflow-wrap: anywhere;
}

.insurance-heading {
  max-width: 780px;
}

.insurance-panel {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-xl);
}

.insurance-block-featured {
  grid-column: 1 / -1;
}

@media (max-width: 980px) {
  .inner-hero-content {
    grid-template-columns: 1fr;
  }

  .inner-hero-actions {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: var(--space-md);
  }

  .insurance-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .insurance-block-featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .inner-hero-compact {
    padding: 6.4rem 0 2.3rem;
  }

  .inner-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .inner-section .section-heading {
    margin-bottom: 1.5rem;
  }

  .process-cta,
  .process-cta .btn {
    width: 100%;
  }

  .payment-info-panel {
    padding: var(--space-md);
  }

  .payment-layout {
    display: grid;
    grid-template-columns: 1fr;
  }

  .payment-left,
  .payment-right {
    display: contents;
  }

  .online-association-panel {
    order: 1;
  }

  .highlight-notice {
    order: 2;
  }

  .payment-data-panel {
    order: 3;
  }

  .mini-notice-presencial {
    order: 4;
  }

  .mini-notice-filiales {
    order: 5;
  }

  .highlight-notice,
  .payment-data-panel,
  .mini-notice-presencial,
  .mini-notice-filiales {
    max-width: 100%;
  }

  .benefit-rows {
    grid-template-columns: 1fr;
    padding: 0.35rem;
  }

  .benefit-row,
  .benefit-row:nth-child(odd),
  .benefit-row:nth-last-child(-n + 2) {
    grid-template-columns: 44px minmax(0, 1fr);
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .benefit-row:last-child {
    border-bottom: 0;
  }

  .insurance-panel {
    grid-template-columns: 1fr;
  }
}

/* Asociarse final compact pass */
.main-nav {
  gap: 1rem;
  font-size: 0.9rem;
  font-weight: 600;
}

.nav-cta {
  padding: 0.58rem 0.82rem;
  font-weight: 700;
}

.inner-hero-compact {
  padding: 6.15rem 0 2.25rem;
}

.inner-hero-compact h1 {
  font-size: clamp(2rem, 3.4vw, 3rem);
}

.inner-hero-content {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(1.5rem, 4vw, 3rem);
}

.inner-hero-actions {
  display: flex;
  justify-content: flex-end;
}

.section-heading-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xl);
  align-items: end;
}

.section-heading-action .btn {
  margin-bottom: 0.2rem;
}

.payment-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.82fr);
  gap: var(--space-lg);
  align-items: stretch;
}

.payment-alternative-panel,
.online-association-panel {
  min-width: 0;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(24, 61, 113, 0.08);
}

.payment-alternative-panel {
  border-top: 4px solid var(--color-primary);
}

.online-association-panel {
  border-top: 4px solid var(--color-accent);
}

.payment-alternative-panel h3,
.online-association-panel h3 {
  margin-bottom: var(--space-sm);
  color: var(--color-primary-dark);
}

.payment-alternative-panel .btn,
.online-association-panel .btn {
  margin-top: var(--space-md);
}

.payment-alternative-panel .btn-secondary {
  background: var(--color-primary-soft);
  border-color: rgba(24, 61, 113, 0.18);
}

.payment-alternative-panel .btn-secondary:hover,
.payment-alternative-panel .btn-secondary:focus-visible {
  background: rgba(61, 121, 182, 0.18);
}

.payment-modal {
  position: fixed;
  inset: 50% auto auto 50%;
  z-index: 300;
  width: min(100% - 2rem, 920px);
  max-height: min(82vh, 760px);
  padding: 0;
  color: var(--color-ink);
  background: #ffffff;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 26px 70px rgba(16, 39, 69, 0.32);
  transform: translate(-50%, -50%);
}

.payment-modal::backdrop {
  background: rgba(9, 35, 65, 0.58);
  backdrop-filter: blur(4px);
}

.payment-modal:not([open]) {
  display: none;
}

.payment-modal.is-open {
  display: block;
}

body.payment-modal-open {
  overflow: hidden;
}

body.payment-modal-open::before {
  position: fixed;
  inset: 0;
  z-index: 250;
  content: "";
  background: rgba(9, 35, 65, 0.58);
  backdrop-filter: blur(4px);
}

.payment-modal-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-lg);
  padding: var(--space-lg);
  border-bottom: 1px solid var(--color-border);
}

.payment-modal-header h3 {
  margin: 0;
  color: var(--color-primary-dark);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.modal-close {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  flex: 0 0 auto;
  color: var(--color-primary-dark);
  background: var(--color-primary-soft);
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: 50%;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.payment-modal-body {
  display: grid;
  gap: var(--space-lg);
  max-height: calc(min(82vh, 760px) - 102px);
  padding: var(--space-lg);
  overflow: auto;
}

.modal-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}

.modal-side-notices {
  display: grid;
  gap: var(--space-md);
}

.payment-modal .highlight-notice,
.payment-modal .mini-notice {
  min-width: 0;
  margin: 0;
  padding: var(--space-md);
  border-radius: 14px;
}

.payment-modal .mini-notice {
  border: 1px solid var(--color-border);
}

.benefit-row-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 980px) {
  .inner-hero-content,
  .section-heading-action,
  .payment-summary-grid {
    grid-template-columns: 1fr;
  }

  .inner-hero-actions {
    justify-content: flex-start;
  }

  .modal-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .main-nav {
    font-size: 0.95rem;
  }

  .inner-hero-compact {
    padding: 6rem 0 2rem;
  }

  .inner-hero-actions,
  .inner-hero-actions .btn,
  .section-heading-action .btn {
    width: 100%;
  }

  .payment-summary-grid {
    gap: var(--space-md);
  }

  .payment-alternative-panel,
  .online-association-panel {
    padding: var(--space-md);
  }

  .payment-modal {
    width: min(100% - 1rem, 920px);
    max-height: 88vh;
    border-radius: 14px;
  }

  .payment-modal-header,
  .payment-modal-body {
    padding: var(--space-md);
  }

  .payment-modal .payment-columns {
    grid-template-columns: 1fr;
  }
}

/* Asociarse final spacing polish */
.inner-page .main-nav {
  gap: clamp(0.75rem, 1.35vw, 1.25rem);
  font-size: clamp(0.84rem, 0.78vw, 0.92rem);
  font-weight: 500;
  letter-spacing: 0.01em;
}

.inner-page .main-nav a:not(.nav-cta) {
  opacity: 0.92;
}

.inner-page .main-nav a:not(.nav-cta):hover,
.inner-page .main-nav a:not(.nav-cta):focus-visible {
  opacity: 1;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35em;
}

.inner-page .nav-cta {
  padding: 0.52rem 0.78rem;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.inner-page .inner-hero-compact {
  padding: 6rem 0 1.75rem;
}

.inner-page .inner-hero-content {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(1.25rem, 3vw, 2.25rem);
  row-gap: 0.35rem;
  align-items: center;
}

.inner-page .inner-hero .eyebrow {
  margin-bottom: 0.45rem;
}

.inner-page .inner-hero-compact h1 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.9rem, 3.05vw, 2.72rem);
  line-height: 1.03;
}

.inner-page .inner-hero p:not(.eyebrow) {
  margin: 0;
  max-width: 660px;
  line-height: 1.55;
}

.inner-page .inner-hero-actions {
  flex-wrap: nowrap;
  gap: 0.75rem;
  align-self: center;
  justify-content: flex-end;
  min-width: max-content;
  transform: translateY(-0.35rem);
}

.inner-page .inner-hero-actions .btn {
  white-space: nowrap;
}

.inner-page .inner-section {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
}

.inner-page .inner-section .section-heading {
  margin-bottom: 0.85rem;
}

.inner-page .section-heading h2 {
  margin-bottom: 0.35rem;
}

.inner-page .section-heading p:not(.eyebrow) {
  margin-top: 0.35rem;
}

.inner-page .section-heading-action {
  gap: clamp(1rem, 2.4vw, 2rem);
  align-items: center;
  margin-bottom: 0.6rem;
}

.inner-page .section-heading-action .btn {
  align-self: center;
  margin-bottom: 0;
  white-space: nowrap;
}

.inner-page .association-timeline {
  margin-top: 0;
}

.inner-page #como-asociarse .inner-section-grid {
  gap: 0;
}

.inner-page #documentacion .document-card:first-child h3 {
  margin-bottom: 1.45rem;
}

.inner-page #medios-pago .section-heading,
.inner-page #beneficios .section-heading,
.inner-page #documentacion .section-heading {
  margin-bottom: 0.15rem;
}

.inner-page #medios-pago .section-heading p:not(.eyebrow),
.inner-page #beneficios .section-heading p:not(.eyebrow),
.inner-page #documentacion .section-heading p:not(.eyebrow) {
  margin-bottom: 0;
}

.inner-page #documentacion .document-card-wide {
  gap: var(--space-md);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.inner-page #documentacion .document-card {
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.12);
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(24, 61, 113, 0.07);
}

@media (max-width: 980px) {
  .inner-page .inner-hero-content {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .inner-page .inner-hero-actions {
    justify-content: flex-start;
    min-width: 0;
    transform: none;
  }

  .inner-page .section-heading-action {
    align-items: start;
  }
}

@media (max-width: 680px) {
  .inner-page .main-nav {
    gap: 0.2rem;
    font-size: 0.94rem;
  }

  .inner-page .nav-cta {
    font-size: 0.92rem;
  }

  .inner-page .inner-hero-compact {
    padding: 5.65rem 0 1.65rem;
  }

  .inner-page .inner-hero-actions {
    flex-wrap: wrap;
    transform: none;
  }

  .inner-page .inner-section {
    padding-top: 2.45rem;
    padding-bottom: 2.45rem;
  }

  .inner-page .inner-section .section-heading,
  .inner-page .section-heading-action {
    margin-bottom: 0.75rem;
  }
}

/* Main navigation dropdown */
.main-nav .nav-dropdown {
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
}

/* Federación Latinoamericana y Auspicios */
.federation-hero {
  background:
    radial-gradient(circle at 82% 22%, rgba(197, 73, 35, 0.25), transparent 22rem),
    linear-gradient(135deg, #102f56, #28628d);
}

.federation-mission-grid,
.endorsement-intro-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.federation-mission h2,
.endorsement-intro h2 {
  color: var(--color-primary-dark);
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  line-height: 1.15;
}

.federation-mission blockquote {
  margin: 0;
  padding: clamp(1.6rem, 4vw, 3rem);
  background: linear-gradient(145deg, rgba(15, 42, 80, 0.76), rgba(24, 61, 113, 0.68));
  border-left: 5px solid var(--color-accent);
  border-radius: 18px;
  box-shadow: 0 20px 44px rgba(24, 61, 113, 0.2);
}

.federation-mission blockquote p {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.45;
}

.federation-pillars,
.endorsement-requirements {
  background: var(--color-surface-alt);
}

.federation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg);
}

.federation-grid article {
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 14px 32px rgba(24, 61, 113, 0.08);
}

.federation-grid span {
  color: var(--color-accent);
  font-size: 0.82rem;
  font-weight: 900;
}

.federation-grid h3 {
  margin: var(--space-md) 0 var(--space-sm);
  color: var(--color-primary-dark);
}

.federation-grid p {
  margin: 0;
}

.federation-documents {
  background: linear-gradient(180deg, #ffffff, #edf3fa);
}

.federation-downloads {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.federation-downloads a {
  display: flex;
  gap: var(--space-md);
  align-items: center;
  padding: var(--space-lg);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(24, 61, 113, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.federation-downloads a:hover,
.federation-downloads a:focus-visible {
  border-color: var(--color-primary);
  box-shadow: 0 18px 34px rgba(24, 61, 113, 0.14);
  transform: translateY(-3px);
}

.federation-downloads span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--color-accent);
  border-radius: 12px;
  font-size: 0.76rem;
  font-weight: 900;
}

.federation-downloads strong,
.federation-downloads small {
  display: block;
}

.federation-downloads strong {
  color: var(--color-primary-dark);
}

.federation-downloads small {
  margin-top: 0.2rem;
  color: var(--color-muted);
}

.endorsement-hero {
  background:
    radial-gradient(circle at 78% 20%, rgba(255, 255, 255, 0.12), transparent 20rem),
    linear-gradient(135deg, #173e68, #245f91);
}

.endorsement-intro aside {
  padding: clamp(1.5rem, 4vw, 2.6rem);
  color: var(--color-primary-dark);
  background: #ffffff;
  border: 2px solid rgba(223, 107, 72, 0.62);
  border-radius: 18px;
  box-shadow: 0 20px 44px rgba(198, 83, 50, 0.24);
}

.endorsement-intro aside strong {
  display: block;
  font-size: clamp(2.6rem, 6vw, 4.6rem);
  line-height: 1;
  color: var(--color-accent-dark);
}

.endorsement-intro aside p {
  margin: var(--space-md) 0 0;
  color: var(--color-muted);
  font-weight: 700;
}

.endorsement-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  padding: 0;
  margin: 0;
  list-style: none;
}

.endorsement-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: var(--space-sm);
  align-items: start;
  padding: var(--space-md);
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.endorsement-list span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #ffffff;
  background: var(--color-primary);
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 900;
}

.endorsement-list p {
  margin: 0;
  color: var(--color-ink);
}

.endorsement-submit {
  background: linear-gradient(180deg, #ffffff, #eef3f9);
}

.endorsement-submit-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xl);
  padding: clamp(1.5rem, 4vw, 3rem);
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.14);
  border-radius: 18px;
  box-shadow: 0 18px 42px rgba(24, 61, 113, 0.1);
}

.endorsement-submit-card h2 {
  color: var(--color-primary-dark);
}

.endorsement-submit-card > div {
  max-width: 720px;
}

.endorsement-submit-card > div > a {
  color: var(--color-primary);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.endorsement-download {
  flex: 0 0 auto;
  color: #ffffff;
  background: var(--color-accent);
}

.endorsement-download:hover,
.endorsement-download:focus-visible {
  color: #ffffff;
  background: var(--color-accent-dark);
}

@media (max-width: 980px) {
  .federation-mission-grid,
  .endorsement-intro-grid {
    grid-template-columns: 1fr;
  }

  .federation-grid,
  .endorsement-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .federation-grid,
  .federation-downloads,
  .endorsement-list {
    grid-template-columns: 1fr;
  }

  .endorsement-submit-card {
    display: grid;
  }

  .endorsement-download {
    width: 100%;
  }
}

.main-nav .nav-dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.main-nav .nav-dropdown-toggle span {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  overflow: hidden;
  color: inherit;
  font-size: 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.main-nav .nav-dropdown:hover .nav-dropdown-toggle,
.main-nav .nav-dropdown:focus-within .nav-dropdown-toggle,
.main-nav .nav-dropdown.is-open .nav-dropdown-toggle {
  color: var(--color-accent);
}

.main-nav .nav-dropdown:hover .nav-dropdown-toggle span,
.main-nav .nav-dropdown:focus-within .nav-dropdown-toggle span,
.main-nav .nav-dropdown.is-open .nav-dropdown-toggle span {
  transform: translateY(3px) rotate(225deg);
}

.main-nav .nav-submenu {
  position: absolute;
  top: calc(100% - 0.25rem);
  left: -1rem;
  z-index: 30;
  display: grid;
  min-width: 210px;
  padding: 0.55rem;
  color: var(--color-primary-dark);
  background: #ffffff;
  border: 1px solid rgba(24, 61, 113, 0.14);
  border-radius: 12px;
  box-shadow: 0 18px 38px rgba(15, 42, 80, 0.2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.main-nav .nav-dropdown:hover .nav-submenu,
.main-nav .nav-dropdown:focus-within .nav-submenu,
.main-nav .nav-dropdown.is-open .nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-nav .nav-submenu a {
  display: block;
  padding: 0.7rem 0.8rem;
  color: var(--color-primary-dark);
  border-radius: 8px;
  white-space: nowrap;
}

.main-nav .nav-submenu a:hover,
.main-nav .nav-submenu a:focus-visible {
  color: var(--color-primary-dark);
  background: var(--color-primary-soft);
  text-decoration: none;
}

@media (max-width: 980px) {
  .main-nav .nav-dropdown {
    align-self: auto;
    display: grid;
    width: 100%;
  }

  .main-nav .nav-dropdown-toggle {
    justify-content: space-between;
    width: 100%;
    padding: 0.9rem 0.75rem;
    color: var(--color-primary-dark);
    border-radius: var(--radius-sm);
  }

  .main-nav .nav-dropdown-toggle:hover,
  .main-nav .nav-dropdown-toggle:focus-visible {
    background: var(--color-primary-soft);
  }

  .main-nav .nav-submenu {
    position: static;
    display: none;
    min-width: 0;
    margin: 0 0 0.35rem 0.75rem;
    padding: 0.25rem 0 0.25rem 0.65rem;
    background: transparent;
    border: 0;
    border-left: 2px solid var(--color-accent);
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .main-nav .nav-dropdown:hover .nav-submenu,
  .main-nav .nav-dropdown:focus-within .nav-submenu {
    display: none;
  }

  .main-nav .nav-dropdown.is-open .nav-submenu,
  .main-nav .nav-dropdown.is-open:hover .nav-submenu,
  .main-nav .nav-dropdown.is-open:focus-within .nav-submenu {
    display: grid;
  }

  .main-nav .nav-submenu a {
    padding: 0.68rem 0.75rem;
  }
}
/* Legal library */
.legal-hero {
  background: linear-gradient(110deg, rgba(7, 39, 76, 0.96), rgba(25, 91, 139, 0.82));
}

.legal-intro { background: #fff; }
.legal-intro-grid { display: grid; grid-template-columns: 1.45fr 0.85fr; gap: 3rem; align-items: center; }
.legal-intro-grid h2 { margin: 0.35rem 0 1rem; color: #082f61; }
.legal-intro-grid aside { padding: 1.7rem; border: 1px solid #f0c8b7; border-left: 5px solid #ef6a32; border-radius: 16px; background: #fff8f4; }
.legal-intro-grid aside strong { color: #0a3970; font-size: 1.05rem; }
.legal-intro-grid aside p { margin: 0.55rem 0 0; }
.legal-library { background: #f3f7fc; }
.legal-group { margin-top: 2.5rem; }
.legal-group > h3 { margin: 0 0 1rem; padding-bottom: 0.7rem; color: #0a3970; border-bottom: 2px solid #d6e2f0; font-size: 1.25rem; }
.legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.legal-document { display: flex; gap: 1rem; align-items: flex-start; min-height: 112px; padding: 1.25rem; border: 1px solid #d9e3ef; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(10, 57, 112, 0.06); }
.legal-file { flex: 0 0 auto; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #fff0e9; color: #c65332; border: 1px solid #f3c8b9; font-size: 0.72rem; font-weight: 800; }
.legal-group[aria-labelledby="legal-laws"] .legal-file { background: #eaf3fc; color: #1f6099; border-color: #bfd7ed; }
.legal-document h4 { margin: 0 0 0.55rem; color: #12385f; line-height: 1.35; }
.legal-document small { display: inline-flex; padding: 0.3rem 0.65rem; border-radius: 999px; background: #f2f4f7; color: #697586; font-weight: 700; }
.legal-document { transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.legal-document:hover, .legal-document:focus-visible { transform: translateY(-3px); border-color: #8eb5dc; box-shadow: 0 15px 32px rgba(10, 57, 112, 0.13); }

/* Bolsa de trabajo */
.jobs-hero { background: linear-gradient(120deg, #102f56, #2d6898); }
.jobs-section { background: linear-gradient(180deg, #ffffff, #f2f6fb); }
.jobs-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.jobs-layout h2 { margin: 0.35rem 0 1rem; color: #12385f; font-size: clamp(1.9rem, 3vw, 2.65rem); }
.jobs-steps { display: grid; gap: 0.9rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.jobs-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; align-items: start; padding: 1.1rem; border: 1px solid #d9e3ef; border-radius: 14px; background: #fff; }
.jobs-steps li > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: #fff; background: #2e6fa9; font-size: 0.75rem; font-weight: 900; }
.jobs-steps strong { color: #12385f; }
.jobs-steps p { margin: 0.2rem 0 0; }
.jobs-contact { display: flex; flex-direction: column; align-items: center; padding: clamp(1.5rem, 4vw, 2.5rem); text-align: center; border-radius: 20px; color: #fff; background: linear-gradient(145deg, #174873, #286896); box-shadow: 0 20px 45px rgba(20, 64, 104, 0.2); }
.jobs-contact-icon { display: grid; width: 70px; height: 70px; place-items: center; margin-bottom: 1rem; border-radius: 18px; color: #174873; background: #fff; font-weight: 900; }
.jobs-contact p, .jobs-contact small { color: rgba(255, 255, 255, 0.84); }
.jobs-contact > a:not(.btn) { max-width: 100%; overflow-wrap: anywhere; font-weight: 800; }
.jobs-mail-btn { margin: 1.5rem 0; color: #fff; background: var(--color-accent); }
.jobs-mail-btn:hover, .jobs-mail-btn:focus-visible { color: #fff; background: var(--color-accent-dark); }

/* Los rótulos sobre fondos azules necesitan contraste pleno. */
.hero .eyebrow,
.hero .hero-callout,
.hero-card-events .hero-card-label,
.inner-hero .eyebrow,
.institutional .eyebrow,
.census .eyebrow,
#comision .eyebrow,
.branches-coming .eyebrow,
.associate-benefit-featured .benefit-kicker {
  color: #ffffff;
}

@media (max-width: 760px) {
  .legal-intro-grid, .legal-grid, .jobs-layout { grid-template-columns: 1fr; }
  .legal-intro-grid { gap: 1.5rem; }
}
/* Histórico de Eventos — archivo cronológico */
.history-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: var(--space-xl);
  align-items: end;
  margin-bottom: var(--space-xl);
}

.history-overview .section-heading {
  margin-bottom: 0;
}

.history-stat {
  display: grid;
  place-items: center;
  min-height: 145px;
  padding: var(--space-lg);
  color: #743416;
  border-radius: var(--radius-lg);
  border: 1px solid #f2b08f;
  background: linear-gradient(145deg, #fff0e8, #ffd9c7);
  text-align: center;
}

.history-stat strong {
  font-size: 3rem;
  line-height: 1;
}

.history-stat span {
  margin-top: 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
}

.history-archive {
  display: grid;
  gap: var(--space-xl);
}

.history-period {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(20, 48, 51, 0.06);
}

.history-period-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: 1rem var(--space-lg);
  color: #ffffff;
  background: var(--color-primary-dark);
}

.history-period-heading p,
.history-period-heading span {
  margin: 0;
  color: inherit;
}

.history-period-heading p {
  font-size: 1.15rem;
  font-weight: 800;
}

.history-period-heading span {
  font-size: 0.82rem;
  opacity: 0.82;
}

.history-period-list {
  padding: 0 var(--space-lg);
}

.history-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: var(--space-md);
  align-items: center;
  min-height: 84px;
  padding: 1rem 0;
  border-bottom: 1px solid var(--color-border);
}

.history-row:last-child {
  border-bottom: 0;
}

.history-row-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #d95b28;
  border-radius: 50%;
  background: #fff0e8;
}

.history-row-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.history-row-icon-archive {
  color: #c64f20;
  background: #ffe3d4;
}

.history-row-icon-archive svg {
  width: 19px;
  height: 19px;
}

.history-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-xl);
}

.history-pagination[hidden] {
  display: none;
}

.history-page-numbers {
  display: flex;
  gap: 0.4rem;
}

.history-page-button {
  min-width: 42px;
  min-height: 42px;
  padding: 0.55rem 0.8rem;
  color: var(--color-primary-dark);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #ffffff;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.history-page-button:hover:not(:disabled),
.history-page-button:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
}

.history-page-button.is-current {
  color: #ffffff;
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.history-page-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.history-row h3 {
  margin: 0 0 0.2rem;
  font-size: 1.03rem;
  line-height: 1.3;
}

.history-row p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.84rem;
}

@media (max-width: 680px) {
  .history-overview {
    grid-template-columns: 1fr;
  }

  .history-stat {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    min-height: auto;
  }

  .history-stat strong {
    font-size: 2rem;
  }

  .history-period-list {
    padding: 0 var(--space-md);
  }

  .history-pagination {
    flex-wrap: wrap;
    gap: var(--space-sm);
  }

  .history-page-numbers {
    order: -1;
    width: 100%;
    justify-content: center;
  }
}
/* Congresos AADI */
.congress-hero {
  padding: 9.5rem 0 5rem;
  color: #ffffff;
  background:
    radial-gradient(circle at 78% 20%, rgba(224, 86, 157, 0.2), transparent 23rem),
    linear-gradient(135deg, #126f93, #2c9fbb 62%, #65c7d6);
}

.congress-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: center;
}

.congress-hero .eyebrow {
  color: #d9f6fa;
}

.congress-edition {
  display: inline-block;
  margin-bottom: var(--space-md);
  padding: 0.25rem 0.7rem;
  color: #ffffff;
  border-radius: 999px;
  background: #ad3d75;
  font-size: 0.8rem;
  font-weight: 800;
}

.congress-hero h1 {
  max-width: 760px;
  margin-bottom: var(--space-lg);
  font-size: clamp(2.4rem, 5.4vw, 4.7rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.congress-lead {
  max-width: 690px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.08rem;
}

.congress-date {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin: 2rem 0;
}

.congress-date > span {
  color: #ad3d75;
  font-size: clamp(3rem, 5vw, 4.2rem);
  font-weight: 800;
  line-height: 0.85;
}

.congress-date div {
  display: grid;
  padding-left: var(--space-md);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.congress-date strong {
  font-size: 1.25rem;
}

.congress-date small {
  color: rgba(255, 255, 255, 0.72);
}

.congress-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.congress-register {
  color: #ffffff;
  background: #ad3d75;
}

.congress-register:hover,
.congress-register:focus-visible {
  background: #8f2f5f;
}

.congress-outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.42);
  background: transparent;
}

.congress-resource-panel {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  color: var(--color-ink);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 28px 70px rgba(5, 35, 38, 0.25);
}

.congress-feature-side {
  display: grid;
  gap: var(--space-lg);
}

.congress-flyer {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 28px 65px rgba(3, 18, 43, 0.34);
}

.congress-flyer img {
  width: 100%;
  max-height: 680px;
  border-radius: calc(var(--radius-lg) - 5px);
  object-fit: contain;
}

.congress-resource-panel .eyebrow {
  color: #b43e7b;
}

.congress-resource-panel h2 {
  margin-bottom: var(--space-lg);
  font-size: 1.55rem;
  line-height: 1.2;
}

#congress-featured-resources {
  display: grid;
  gap: 0.65rem;
}

.congress-resource-link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0.75rem;
  color: #143f73;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: 0.88rem;
  font-weight: 700;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.congress-resource-link:hover,
.congress-resource-link:focus-visible {
  border-color: #d96da5;
  background: #fff2f8;
}

.congress-resource-icon {
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #bb477f;
  border-radius: 50%;
  background: #f9ddea;
}

.congress-resource-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.congress-archive {
  background: var(--color-surface-alt);
}

.congress-archive-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: var(--space-xl);
  align-items: end;
  margin-bottom: var(--space-xl);
}

.congress-archive-heading h2 {
  margin-bottom: var(--space-md);
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.congress-archive-heading p:last-child {
  max-width: 680px;
  margin-bottom: 0;
}

.congress-archive-stat {
  display: grid;
  place-items: center;
  min-height: 130px;
  padding: var(--space-lg);
  color: #174f88;
  border: 1px solid #a9c7e5;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, #f2f7fc, #dceaf7);
  text-align: center;
}

.congress-archive-stat strong {
  font-size: 2.8rem;
  line-height: 1;
}

.congress-archive-stat span {
  font-size: 0.8rem;
  font-weight: 700;
}

.congress-years {
  display: grid;
  gap: var(--space-md);
}

.congress-year-item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  padding: var(--space-lg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(20, 48, 51, 0.05);
}

.congress-year-item.has-image {
  grid-template-columns: 110px minmax(0, 1fr) 200px;
}

.congress-year-number {
  color: #1b5795;
  font-size: 2.35rem;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.congress-year-content > p {
  margin-bottom: 0.2rem;
  font-size: 0.83rem;
}

.congress-year-content h3 {
  margin-bottom: var(--space-md);
  font-size: 1.2rem;
}

.congress-year-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.congress-year-actions .congress-resource-link {
  padding: 0.45rem 0.65rem;
}

.congress-year-item > img {
  width: 200px;
  height: 100px;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

@media (max-width: 980px) {
  .congress-hero-grid {
    grid-template-columns: 1fr;
  }

  .congress-resource-panel {
    max-width: 680px;
  }

  .congress-year-item.has-image {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .congress-year-item > img {
    display: none;
  }
}

@media (max-width: 680px) {
  .congress-hero {
    padding: 8rem 0 3.5rem;
  }

  .congress-archive-heading,
  .congress-year-item,
  .congress-year-item.has-image {
    grid-template-columns: 1fr;
  }

  .congress-archive-stat {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    min-height: auto;
  }

  .congress-year-number {
    font-size: 1.8rem;
  }
}

.congress-resource-horizontal {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: center;
  max-width: none;
  margin-top: var(--space-xl);
  padding: var(--space-lg);
}

.congress-resource-horizontal h2 {
  margin-bottom: 0;
  font-size: 1.3rem;
}

.congress-resource-horizontal #congress-featured-resources {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.congress-detail-link {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.congress-modal {
  width: min(920px, calc(100% - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  color: var(--color-ink);
  border: 0;
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(9, 35, 60, 0.35);
}

.congress-modal::backdrop {
  background: rgba(5, 24, 42, 0.72);
  backdrop-filter: blur(4px);
}

.congress-modal-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #ffffff;
  border: 0;
  border-radius: 50%;
  background: rgba(10, 37, 64, 0.82);
  font-size: 1.7rem;
  cursor: pointer;
}

.congress-modal-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(320px, 1.15fr);
  min-height: 500px;
}

.congress-modal-visual {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: var(--space-lg);
  background: #e3f6fa;
}

.congress-modal-visual:empty {
  min-height: 0;
  padding: 0;
}

.congress-modal-visual img {
  width: 100%;
  max-height: 620px;
  object-fit: contain;
}

.congress-modal-content {
  align-self: center;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.congress-modal-content .eyebrow {
  color: #b43e7b;
}

.congress-modal-content h2 {
  margin-bottom: var(--space-md);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.1;
}

.congress-modal-resources {
  display: grid;
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

.congress-certificate-link {
  color: #ffffff;
  border-color: #ad3d75;
  background: #ad3d75;
}

.congress-certificate-link .congress-resource-icon {
  color: #ad3d75;
  background: #ffffff;
}

.congress-certificate-link:hover,
.congress-certificate-link:focus-visible {
  color: #ffffff;
  border-color: #8f2f5f;
  background: #8f2f5f;
}

@media (max-width: 680px) {
  .congress-resource-horizontal,
  .congress-modal-layout {
    grid-template-columns: 1fr;
  }

  .congress-resource-horizontal #congress-featured-resources {
    grid-template-columns: 1fr;
  }

  .congress-modal-content {
    padding: var(--space-xl) var(--space-lg);
  }
}
/* Descarga de certificados */
.certificates-section {
  background: var(--color-surface-alt);
}

.certificates-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: var(--space-xl);
  align-items: end;
  margin-bottom: var(--space-xl);
}

.certificates-intro h2 {
  margin-bottom: var(--space-md);
  font-size: clamp(2rem, 4vw, 3rem);
}

.certificates-intro > div > p:last-child {
  max-width: 690px;
  margin-bottom: 0;
}

.certificates-help {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: var(--space-md);
  padding: var(--space-lg);
  border: 1px solid #efb08e;
  border-radius: var(--radius-lg);
  background: #fff1e9;
}

.certificates-help > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  border-radius: 50%;
  background: #d86a34;
  font-size: 1.2rem;
  font-weight: 800;
}

.certificates-help strong {
  display: block;
  margin-bottom: 0.2rem;
}

.certificates-help p {
  margin-bottom: 0.4rem;
  font-size: 0.87rem;
}

.certificates-help a {
  color: #a3451d;
  font-size: 0.88rem;
  font-weight: 800;
}

.certificates-groups {
  display: grid;
  gap: var(--space-xl);
}

.certificate-group {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(20, 48, 51, 0.06);
}

.certificate-group-heading {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(90deg, #edf5fc, #ffffff);
}

.certificate-group-icon {
  flex: 0 0 48px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #23649f;
  border-radius: var(--radius-md);
  background: #d9e9f7;
}

.certificate-group-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.certificate-group-courses .certificate-group-heading {
  background: linear-gradient(90deg, #fff0e8, #ffffff);
}

.certificate-group-courses .certificate-group-icon {
  color: #b84f20;
  background: #ffe0d0;
}

.certificate-group-webinars .certificate-group-heading {
  background: linear-gradient(90deg, #f2edfb, #ffffff);
}

.certificate-group-webinars .certificate-group-icon {
  color: #7454a3;
  background: #e5daf5;
}

.certificate-group-heading h3,
.certificate-group-heading p {
  margin: 0;
}

.certificate-group-heading h3 {
  font-size: 1.25rem;
}

.certificate-group-heading p {
  font-size: 0.83rem;
}

.certificate-items {
  padding: 0;
}

.certificate-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-lg);
  align-items: center;
  min-height: 82px;
  padding: 1rem var(--space-lg);
  border-bottom: 1px solid var(--color-border);
  transition: background-color 160ms ease;
}

.certificate-item:hover,
.certificate-item:focus-visible {
  background: #f0f7fd;
}

.certificate-item:last-child {
  border-bottom: 0;
}

.certificate-item > span:first-child {
  display: grid;
  gap: 0.15rem;
}

.certificate-item strong {
  line-height: 1.3;
}

.certificate-item small {
  color: var(--color-muted);
}

.certificate-item-action {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0.5rem 0.8rem;
  color: #174f88;
  border: 1px solid #b8d2e9;
  border-radius: var(--radius-sm);
  background: #edf5fc;
  font-size: 0.82rem;
  font-weight: 800;
  width: 38px;
  padding: 0;
  justify-content: center;
}

.certificate-item-action svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.certificate-item:hover .certificate-item-action,
.certificate-item:focus-visible .certificate-item-action {
  color: #ffffff;
  border-color: #23649f;
  background: #23649f;
}

@media (max-width: 680px) {
  .certificates-intro,
  .certificate-item {
    grid-template-columns: 1fr;
  }

  .certificate-item {
    gap: var(--space-sm);
  }

  .certificate-item-action {
    justify-self: start;
  }
}
/* Publications */
.publications-hero { background: radial-gradient(circle at 82% 18%, rgba(217, 75, 37, 0.18), transparent 24rem), linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); }
.publications-intro { background: #fff; }
.publications-intro-grid { display: grid; grid-template-columns: 1.35fr 0.75fr; gap: 3rem; align-items: center; }
.publications-intro-grid h2 { margin: 0.35rem 0 1rem; color: var(--color-primary-dark); font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.15; }
.publications-intro-grid aside { padding: 1.7rem; border: 1px solid #f0c8b7; border-left: 5px solid #ef6a32; border-radius: 16px; background: #fff8f4; }
.publications-intro-grid aside strong { color: var(--color-primary-dark); font-size: 1.08rem; }
.publications-intro-grid aside p { margin: 0.55rem 0 0; }
.publication-topics { position: sticky; top: 78px; z-index: 10; border-block: 1px solid var(--color-border); background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(12px); }
.publication-topics .container { display: flex; gap: 0.65rem; padding-block: 0.8rem; overflow-x: auto; }
.publication-topics a { display: inline-flex; align-items: center; gap: 0.55rem; flex: 0 0 auto; padding: 0.55rem 0.8rem; color: var(--color-primary-dark); border-radius: 999px; background: var(--color-primary-soft); font-size: 0.88rem; font-weight: 800; }
.publication-topics a:hover, .publication-topics a:focus-visible { color: #fff; background: var(--color-primary); }
.publication-topics span { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.72); font-size: .75rem; }
.publications-featured { background: #f4f8f8; }
.publication-featured-grid { display: grid; grid-template-columns: .72fr .72fr 1.25fr; gap: 1.25rem; }
.publication-cover, .publication-highlight { min-height: 320px; border: 1px solid var(--color-border); border-radius: 18px; background: #fff; box-shadow: 0 14px 38px rgba(20,48,51,.08); overflow: hidden; }
.publication-cover { display: grid; grid-template-columns: 42% 1fr; }
.publication-cover img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.publication-cover > div { align-self: end; padding: 1.25rem; }
.publication-cover span, .publication-highlight small { color: var(--color-accent-dark); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.publication-cover h3, .publication-highlight h3 { margin: .45rem 0 .55rem; color: var(--color-primary-dark); line-height: 1.2; }
.publication-cover p, .publication-highlight p { margin: 0; font-size: .92rem; }
.publication-cover strong { display: inline-block; margin-top: .9rem; color: var(--color-primary); font-size: .88rem; }
.publication-cover { transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.publication-cover:hover, .publication-cover:focus-visible { transform: translateY(-3px); border-color: #90c8c4; box-shadow: 0 18px 40px rgba(20,48,51,.14); }
.publication-highlight { display: flex; align-items: center; gap: 1.35rem; padding: clamp(1.5rem, 3vw, 2.4rem); color: #fff; border: 0; background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); }
.publication-highlight-icon { display: grid; width: 74px; height: 88px; place-items: center; flex: 0 0 auto; color: var(--color-primary-dark); border-radius: 8px 8px 15px 8px; background: #fff; font-size: .9rem; font-weight: 900; }
.publication-highlight small, .publication-highlight h3, .publication-highlight p, .publication-highlight strong { color: #fff; }
.publication-highlight h3 { font-size: 1.55rem; }
.publication-highlight strong { display: inline-block; margin-top: 1.15rem; }
.publication-highlight:hover, .publication-highlight:focus-visible { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(13,79,84,.26); }
.publications-library { background: #fff; }
.publication-group { scroll-margin-top: 155px; margin-top: 3.5rem; }
.publication-group-heading { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 2px solid var(--color-border); }
.publication-group-heading > span { display: grid; width: 46px; height: 46px; place-items: center; flex: 0 0 auto; color: #fff; border-radius: 12px; background: var(--color-primary); font-weight: 900; }
.publication-group-heading h3 { margin: 0 0 .2rem; color: var(--color-primary-dark); font-size: 1.3rem; }
.publication-group-heading p { margin: 0; }
.publication-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.publication-document { display: flex; align-items: flex-start; gap: .9rem; min-height: 108px; padding: 1.1rem; border: 1px solid var(--color-border); border-radius: 14px; background: #fff; box-shadow: 0 7px 22px rgba(20,48,51,.05); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.publication-document:hover, .publication-document:focus-visible { transform: translateY(-3px); border-color: #90c8c4; box-shadow: 0 14px 30px rgba(20,48,51,.12); }
.publication-file { display: grid; width: 45px; height: 45px; place-items: center; flex: 0 0 auto; color: #b44936; border: 1px solid #efc8bf; border-radius: 11px; background: #fff2ee; font-size: .69rem; font-weight: 900; }
.publication-file-image { color: var(--color-accent-dark); border-color: #cde2bd; background: #f0f8e9; }
.publication-document h4 { margin: 0 0 .45rem; color: var(--color-ink); font-size: .96rem; line-height: 1.35; }
.publication-document small { color: var(--color-primary); font-weight: 800; }
@media (max-width: 980px) { .publication-featured-grid { grid-template-columns: 1fr 1fr; } .publication-highlight { grid-column: 1 / -1; min-height: 220px; } .publication-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .publications-intro-grid, .publication-featured-grid, .publication-grid { grid-template-columns: 1fr; } .publications-intro-grid { gap: 1.5rem; } .publication-highlight { grid-column: auto; } .publication-cover { min-height: 285px; } .publication-group { margin-top: 2.5rem; } .publication-group-heading p { display: none; } .publication-document { min-height: 96px; } }

/* Interviews */
.interviews-hero { background: radial-gradient(circle at 82% 18%, rgba(217, 75, 37, 0.18), transparent 24rem), linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); }
.interviews-intro { background: #fff; }
.interviews-intro-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.interviews-intro-grid h2 { margin: .35rem 0 1rem; color: var(--color-primary-dark); font-size: clamp(1.8rem, 3vw, 2.55rem); line-height: 1.15; }
.interviews-intro-grid aside { position: relative; padding: 1.65rem 1.7rem 1.5rem 4.3rem; border: 1px solid #f0c8b7; border-left: 5px solid #ef6a32; border-radius: 16px; background: #fff8f4; }
.interviews-intro-grid aside > span { position: absolute; top: .25rem; left: 1.25rem; color: #ef6a32; font-family: Georgia, serif; font-size: 4.5rem; line-height: 1; }
.interviews-intro-grid aside p { margin: 0; color: var(--color-ink); font-weight: 700; }
.interviews-library { background: #f3f7f7; }
.interviews-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.interview-card { position: relative; display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 1.1rem; padding: clamp(1.3rem, 2.5vw, 2rem); border: 1px solid var(--color-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(20,48,51,.07); }
.interview-card-featured { grid-column: 1 / -1; grid-template-columns: 4.2rem minmax(0, 1fr); background: linear-gradient(135deg, #fff, #f3faf8); }
.interview-number { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; color: #fff; border-radius: 50%; background: var(--color-primary); font-size: .86rem; font-weight: 900; }
.interview-card-featured .interview-number { width: 4.2rem; height: 4.2rem; background: #ef6a32; }
.interview-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .75rem; margin-bottom: .7rem; }
.interview-meta span { padding: .28rem .62rem; color: var(--color-primary-dark); border-radius: 999px; background: var(--color-primary-soft); font-size: .74rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.interview-meta small { color: var(--color-muted); font-weight: 700; }
.interview-content h3 { margin: 0 0 .75rem; color: var(--color-primary-dark); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.25; }
.interview-content > p { margin-bottom: 1.2rem; }
.interview-quote { position: relative; padding: 1rem 1rem .9rem 2.8rem; border-radius: 12px; background: #f6f9f9; }
.interview-quote span { position: absolute; top: .2rem; left: .85rem; color: var(--color-accent-dark); font-family: Georgia, serif; font-size: 2.7rem; line-height: 1; }
.interview-quote p { margin: 0; color: var(--color-ink); font-size: .91rem; font-style: italic; }
@media (max-width: 780px) { .interviews-intro-grid, .interviews-grid { grid-template-columns: 1fr; } .interviews-intro-grid { gap: 1.5rem; } .interview-card-featured { grid-column: auto; grid-template-columns: 3.2rem minmax(0, 1fr); } .interview-card-featured .interview-number { width: 3.2rem; height: 3.2rem; } }
@media (max-width: 520px) { .interview-card, .interview-card-featured { grid-template-columns: 1fr; } .interview-number { width: 2.8rem; height: 2.8rem; } .interviews-intro-grid aside { padding-left: 3.7rem; } }

/* Newsletter */
.newsletter-hero { background: radial-gradient(circle at 82% 18%, rgba(217,75,37,.18), transparent 24rem), linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); }
.newsletter-intro { background: #fff; }
.newsletter-intro-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 3rem; align-items: center; }
.newsletter-intro-grid h2 { margin: .35rem 0 1rem; color: var(--color-primary-dark); font-size: clamp(1.8rem,3vw,2.55rem); line-height: 1.15; }
.newsletter-intro-grid aside { padding: 1.7rem; border: 1px solid #f0c8b7; border-left: 5px solid #ef6a32; border-radius: 16px; background: #fff8f4; }
.newsletter-intro-grid aside strong { color: var(--color-primary-dark); font-size: 1.08rem; }
.newsletter-intro-grid aside p { margin: .55rem 0 0; }
.newsletter-library { background: #f3f7f7; }
.newsletter-editions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2rem; }
.newsletter-edition { padding: 0; overflow: hidden; color: inherit; border: 1px solid var(--color-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(20,48,51,.07); font: inherit; text-align: left; cursor: pointer; transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.newsletter-edition:hover,.newsletter-edition:focus-visible { transform: translateY(-3px); border-color: #90c8c4; box-shadow: 0 17px 36px rgba(20,48,51,.14); }
.newsletter-edition img { width: 100%; aspect-ratio: 2.8/1; object-fit: cover; object-position: center; border-bottom: 1px solid var(--color-border); }
.newsletter-edition > span { display: grid; padding: 1.1rem 1.2rem 1.2rem; }
.newsletter-edition small { color: #ef6a32; font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.newsletter-edition strong { margin: .28rem 0 .45rem; color: var(--color-primary-dark); font-size: 1.15rem; }
.newsletter-edition em { color: var(--color-primary); font-size: .87rem; font-style: normal; font-weight: 800; }
.newsletter-reader-section[hidden] { display: none; }
.newsletter-reader-section { scroll-margin-top: 78px; background: #eaf2f2; }
.newsletter-reader-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.newsletter-reader-heading h2 { margin: 0; color: var(--color-primary-dark); }
.newsletter-close { padding: .55rem .8rem; color: var(--color-primary-dark); border: 1px solid var(--color-border); border-radius: 8px; background: #fff; font-weight: 800; cursor: pointer; }
.newsletter-reader { max-width: 1120px; margin: auto; padding: 1rem; border: 1px solid #cbdcdc; border-radius: 18px; outline: none; background: #fff; box-shadow: 0 20px 50px rgba(20,48,51,.12); }
.newsletter-reader:focus-visible { box-shadow: 0 0 0 3px rgba(20,107,112,.22),0 20px 50px rgba(20,48,51,.12); }
.newsletter-reader-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; padding: .1rem 0 1rem; }
.newsletter-reader-toolbar p { margin: 0; color: var(--color-ink); font-size: .9rem; font-weight: 800; text-align: center; }
.newsletter-reader-toolbar button { justify-self: start; min-height: 42px; padding: .58rem .85rem; color: #fff; border: 0; border-radius: 8px; background: var(--color-primary); font-weight: 800; cursor: pointer; }
.newsletter-reader-toolbar button:last-child { justify-self: end; }
.newsletter-reader-toolbar button:disabled { opacity: .38; cursor: not-allowed; }
#newsletter-page-link { display: block; overflow: auto; border: 1px solid var(--color-border); border-radius: 10px; background: #f4f4f0; }
#newsletter-page { width: 100%; height: auto; }
.newsletter-page-picker { display: flex; justify-content: center; gap: .45rem; padding-top: 1rem; }
.newsletter-page-picker button { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; color: var(--color-primary-dark); border: 1px solid var(--color-border); border-radius: 50%; background: #fff; font-weight: 800; cursor: pointer; }
.newsletter-page-picker button[aria-current="page"] { color: #fff; border-color: var(--color-primary); background: var(--color-primary); }
.newsletter-reader-hint { margin: .7rem 0 0; font-size: .8rem; text-align: center; }
@media (max-width: 760px) { .newsletter-intro-grid,.newsletter-editions { grid-template-columns: 1fr; } .newsletter-intro-grid { gap: 1.5rem; } .newsletter-reader-heading { align-items: start; } }
@media (max-width: 520px) { .newsletter-reader-toolbar button span { display: none; } .newsletter-reader { padding: .65rem; } .newsletter-reader-toolbar { gap: .35rem; } .newsletter-edition img { aspect-ratio: 2.4/1; } }

/* Malvinas */
.malvinas-hero { padding: 6.2rem 0 3rem; background: radial-gradient(circle at 15% 15%,rgba(255,255,255,.12),transparent 25rem),linear-gradient(135deg,#0a4265,#1685a5); }
.malvinas-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
.malvinas-hero h1 { max-width: 680px; }
.malvinas-hero p:not(.eyebrow) { max-width: 650px; }
.malvinas-hero figure { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.28); border-radius: 20px; box-shadow: 0 24px 50px rgba(4,32,48,.28); }
.malvinas-hero figure img { width: 100%; aspect-ratio: 1.35/1; object-fit: cover; filter: sepia(.08) contrast(1.04); }
.malvinas-hero figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem 1rem .8rem; color: #fff; background: linear-gradient(transparent,rgba(4,32,48,.86)); font-size: .78rem; font-weight: 800; }
.malvinas-hero-mark { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.malvinas-hero-mark strong { color: #fff; font-size: 2.4rem; line-height: 1; }
.malvinas-hero-mark span { max-width: 220px; padding-left: 1rem; color: #dceff5; border-left: 1px solid rgba(255,255,255,.45); font-size: .88rem; }
.malvinas-story { background: #fff; }
.malvinas-story-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem,6vw,5rem); align-items: center; }
.malvinas-story h2,.malvinas-recognition h2 { margin: .35rem 0 1rem; color: #0a4265; font-size: clamp(1.8rem,3vw,2.55rem); line-height: 1.15; }
.malvinas-story aside { position: relative; padding: 2rem 1.8rem 1.6rem 4.5rem; border: 1px solid #bed9e4; border-left: 5px solid #69b9d3; border-radius: 18px; background: #f1f8fb; }
.malvinas-story aside > span { position: absolute; top: .35rem; left: 1.2rem; color: #1685a5; font-family: Georgia,serif; font-size: 4.8rem; line-height: 1; }
.malvinas-story blockquote { margin: 0 0 .85rem; color: #12385f; font-family: Georgia,serif; font-size: 1.18rem; line-height: 1.55; }
.malvinas-story cite { color: #0a4265; font-size: .86rem; font-style: normal; font-weight: 900; }
.malvinas-names { color: #fff; background: #0a4265; }
.malvinas-names .eyebrow,.malvinas-names h2 { color: #fff; }
.malvinas-name-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; padding: 0; list-style: none; }
.malvinas-name-grid li { display: flex; align-items: center; gap: .85rem; padding: 1.1rem; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.08); font-weight: 800; }
.malvinas-name-grid span { color: #8ed1e5; font-size: .75rem; letter-spacing: .08em; }
.malvinas-recognition { background: #f3f7f7; }
.malvinas-recognition-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
.malvinas-recognition figure { margin: 0; overflow: hidden; border-radius: 20px; box-shadow: 0 18px 42px rgba(20,48,51,.15); }
.malvinas-recognition img { width: 100%; aspect-ratio: 1.3/1; object-fit: cover; }
.malvinas-date { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1rem 1.2rem; border-left: 4px solid #ef6a32; background: #fff8f4; }
.malvinas-date strong { color: #0a4265; font-size: 1.25rem; }
.malvinas-date span { color: var(--color-muted); font-size: .88rem; }
.malvinas-gallery { background: #fff; }
.malvinas-photo-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: repeat(2,260px); gap: 1rem; }
.malvinas-photo { position: relative; overflow: hidden; border-radius: 16px; background: #dbe7e8; }
.malvinas-photo-tall { grid-row: 1 / 3; }
.malvinas-photo-plaque { grid-column: 2 / 4; }
.malvinas-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.malvinas-photo:hover img,.malvinas-photo:focus-visible img { transform: scale(1.025); }
.malvinas-photo span { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem 1rem .8rem; color: #fff; background: linear-gradient(transparent,rgba(4,32,48,.88)); font-size: .82rem; font-weight: 800; }
.malvinas-legacy { padding-top: 0; background: #fff; }
.malvinas-legacy-card { padding: clamp(1.6rem,4vw,3rem); color: #fff; border-radius: 20px; background: linear-gradient(135deg,#0a4265,#1685a5); text-align: center; }
.malvinas-legacy-card .eyebrow,.malvinas-legacy-card h2,.malvinas-legacy-card p { color: #fff; }
.malvinas-legacy-card h2 { margin-bottom: .8rem; font-size: clamp(1.6rem,3vw,2.35rem); }
.malvinas-legacy-card p { max-width: 800px; margin: auto; opacity: .88; }
@media (max-width: 860px) { .malvinas-hero-grid,.malvinas-story-grid,.malvinas-recognition-grid { grid-template-columns: 1fr; } .malvinas-hero figure { max-width: 650px; } .malvinas-name-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .malvinas-photo-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 350px 220px 220px; } .malvinas-photo-tall { grid-column: 1 / 3; grid-row: auto; } .malvinas-photo-plaque { grid-column: 1 / 3; } }
@media (max-width: 560px) { .malvinas-name-grid { grid-template-columns: 1fr; } .malvinas-photo-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4,260px); } .malvinas-photo-tall,.malvinas-photo-plaque { grid-column: auto; } .malvinas-date { align-items: flex-start; flex-direction: column; } }

/* Interesting links */
.links-hero { background: radial-gradient(circle at 82% 18%,rgba(217,75,37,.18),transparent 24rem),linear-gradient(135deg,var(--color-primary-dark),var(--color-primary)); }
.links-intro { background: #fff; }
.links-intro-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 3rem; align-items: center; }
.links-intro-grid h2 { margin: .35rem 0 1rem; color: var(--color-primary-dark); font-size: clamp(1.8rem,3vw,2.55rem); line-height: 1.15; }
.links-intro-grid aside { padding: 1.7rem; border: 1px solid #f0c8b7; border-left: 5px solid #ef6a32; border-radius: 16px; background: #fff8f4; }
.links-intro-grid aside strong { color: var(--color-primary-dark); font-size: 1.08rem; }
.links-intro-grid aside p { margin: .55rem 0 0; }
.links-library { background: #f3f7f7; }
.links-group { margin-top: 3.4rem; }
.links-group-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 2px solid var(--color-border); }
.links-group-heading > span { display: grid; width: 48px; height: 48px; place-items: center; flex: 0 0 auto; color: #fff; border-radius: 13px; background: var(--color-primary); font-size: .72rem; font-weight: 900; letter-spacing: .05em; }
.links-group-heading h3 { margin: 0 0 .15rem; color: var(--color-primary-dark); font-size: 1.3rem; }
.links-group-heading p { margin: 0; }
.links-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.links-grid-single { grid-template-columns: minmax(0,1fr); max-width: 760px; }
.interesting-link { display: flex; align-items: flex-start; gap: 1rem; min-height: 270px; padding: 1.35rem; border: 1px solid var(--color-border); border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(20,48,51,.06); transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.interesting-link:hover,.interesting-link:focus-visible { transform: translateY(-4px); border-color: #8fc6c3; box-shadow: 0 18px 38px rgba(20,48,51,.13); }
.interesting-link-mark { display: grid; width: 48px; height: 48px; place-items: center; flex: 0 0 auto; color: var(--color-primary-dark); border: 1px solid #c8e2df; border-radius: 12px; background: var(--color-primary-soft); font-size: .68rem; font-weight: 900; letter-spacing: .03em; }
.interesting-link > div { display: flex; min-height: 100%; flex-direction: column; }
.interesting-link small { color: #ef6a32; font-size: .7rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.interesting-link h4 { margin: .38rem 0 .6rem; color: var(--color-primary-dark); font-size: 1.08rem; line-height: 1.3; }
.interesting-link p { margin-bottom: 1rem; font-size: .9rem; }
.interesting-link strong { margin-top: auto; color: var(--color-primary); font-size: .85rem; }
.links-note { padding-top: 0; background: #f3f7f7; }
.links-note-card { display: flex; align-items: center; gap: 1rem; padding: 1.4rem 1.6rem; border: 1px solid #bed9e4; border-radius: 15px; background: #f1f8fb; }
.links-note-card > span { display: grid; width: 38px; height: 38px; place-items: center; flex: 0 0 auto; color: #fff; border-radius: 50%; background: #1685a5; font-family: Georgia,serif; font-weight: 900; }
.links-note-card h2 { margin: 0 0 .2rem; color: #0a4265; font-size: 1.05rem; }
.links-note-card p { margin: 0; font-size: .88rem; }
@media (max-width: 980px) { .links-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .links-intro-grid,.links-grid { grid-template-columns: 1fr; } .links-intro-grid { gap: 1.5rem; } .interesting-link { min-height: 0; } }
@media (max-width: 460px) { .interesting-link { flex-direction: column; } .links-group-heading p { display: none; } }

/* Dynamic event detail */
.event-detail-loading,.event-not-found { min-height: 55vh; padding: 7rem 0 4rem; }
.event-not-found { text-align: center; }
.event-not-found h1 { color: var(--color-primary-dark); font-size: clamp(2rem,4vw,3.4rem); }
.event-detail-page #event-detail-root { padding-top: 78px; }
.event-detail-page #event-detail-root.is-rendered > .event-detail-hero { padding: 2.75rem 0 2.7rem !important; color: #fff; background: radial-gradient(circle at 82% 18%,rgba(217,75,37,.2),transparent 24rem),linear-gradient(135deg,var(--color-primary-dark),var(--color-primary)); }
.event-detail-hero-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap: clamp(2rem,5vw,4rem); align-items: center; }
.event-detail-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.15rem; }
.event-detail-badges span { padding: .35rem .7rem; color: #fff; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.12); font-size: .76rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.event-detail-badges .event-badge-featured { color: #fff; border-color: rgba(255,181,145,.72); background: rgba(239,106,50,.5); }
.event-detail-badges .event-badge-finished { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(15,56,60,.55); }
.event-detail-hero h1 { max-width: 780px; margin-bottom: 1rem; font-size: clamp(1.9rem,3.65vw,3.25rem); line-height: 1.07; }
.event-detail-summary { max-width: 720px; color: rgba(255,255,255,.85); font-size: 1.08rem; }
.event-detail-facts { display: flex; flex-wrap: wrap; align-items: stretch; gap: .8rem; margin-top: 1.4rem; }
.event-detail-facts > div { display: grid; width: 180px; min-width: 180px; padding: .75rem 1rem; border-left: 3px solid var(--color-accent); background: rgba(255,255,255,.09); }
.event-detail-facts small { color: rgba(255,255,255,.72); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.event-detail-facts strong { color: #fff; font-size: .92rem; }
.event-fact-registration { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; width: 180px; min-width: 180px; padding: .55rem 1.25rem; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; background: var(--color-accent-dark); font-size: .84rem; font-weight: 900; }
.event-detail-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.btn-accent { color: #fff; background: var(--color-accent-dark); }
.event-detail-image,.event-detail-placeholder { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 20px; box-shadow: 0 24px 50px rgba(4,32,48,.28); }
.event-detail-image { justify-self: center; width: min(100%,520px); background: rgba(255,255,255,.08); }
.event-detail-media { display: grid; justify-items: center; }
.event-image-zoom { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.event-detail-image img { width: 100%; aspect-ratio: 1.28/1; object-fit: cover; object-position: center; transition: transform 220ms ease; }
.event-image-zoom:hover img,.event-image-zoom:focus-visible img { transform: scale(1.018); }
.event-image-zoom > span { position: absolute; top: 50%; left: 50%; display: grid; width: 54px; height: 54px; place-items: center; color: #fff; border: 2px solid rgba(255,255,255,.82); border-radius: 50%; background: rgba(9,43,48,.7); box-shadow: 0 8px 22px rgba(0,0,0,.22); font-size: 2rem; font-weight: 400; line-height: 1; transform: translate(-50%,-50%); transition: transform 160ms ease,background-color 160ms ease; }
.event-image-zoom:hover > span,.event-image-zoom:focus-visible > span { background: rgba(20,107,112,.92); transform: translate(-50%,-50%) scale(1.08); }
.event-image-hint { width: min(100%,520px); margin-top: .55rem; color: rgba(255,255,255,.78); font-size: .82rem; line-height: 1.4; text-align: center; }
.event-image-modal { width: min(94vw,1050px); max-height: 92vh; padding: 0; overflow: visible; border: 0; border-radius: 16px; background: #102f37; box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.event-image-modal::backdrop { background: rgba(4,22,28,.82); backdrop-filter: blur(3px); }
.event-image-modal img { width: 100%; max-height: 88vh; object-fit: contain; border-radius: 16px; }
.event-image-modal-close { position: absolute; top: -.9rem; right: -.9rem; z-index: 2; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; color: #fff; border: 2px solid #fff; border-radius: 50%; background: var(--color-primary-dark); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.event-detail-placeholder { display: grid; min-height: 360px; align-content: center; justify-items: center; padding: 2rem; background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05)); text-align: center; }
.event-detail-placeholder span { color: #bce2df; font-size: .82rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.event-detail-placeholder strong { color: #fff; font-size: clamp(1.6rem,3vw,2.5rem); }
.event-detail-main { padding-top: 2.25rem; padding-bottom: 2.5rem; background: #f4f8f8; }
.event-detail-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); gap: clamp(1.4rem,3vw,2.2rem); align-items: stretch; }
.event-detail-article,.event-cost-card,.event-share-card { padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid var(--color-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(20,48,51,.06); }
.event-detail-article h2,.event-cost-card h2,.event-share-card h2 { color: var(--color-primary-dark); line-height: 1.2; }
.event-detail-article h2 { font-size: clamp(1.6rem,3vw,2.25rem); }
.event-detail-sidebar { display: grid; height: 100%; gap: 1rem; }
.event-article-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--color-border); }
.btn-program { color: #0a4265; border-color: #9bcde2; background: #dff3fb; }
.btn-program:hover,.btn-program:focus-visible { color: #fff; border-color: #1685a5; background: #1685a5; }
.event-cost-card h2 { margin-bottom: 1rem; font-size: 1.35rem; }
.event-cost-card { display: flex; height: 100%; flex-direction: column; }
.event-cost-list { display: grid; }
.event-cost-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-top: 1px solid var(--color-border); }
.event-cost-row span { display: grid; }
.event-cost-row strong { color: var(--color-ink); }
.event-cost-row small { max-width: 180px; color: var(--color-muted); line-height: 1.3; }
.event-cost-row b { flex: 0 0 auto; color: var(--color-primary); }
.event-cost-registration { width: 100%; margin-top: 1rem; }
.event-external-registration-note { margin: .65rem 0 0; padding: .75rem .85rem; color: var(--color-ink); border-left: 3px solid #ef6a32; border-radius: 0 8px 8px 0; background: #fff8f4; font-size: .86rem; font-weight: 700; line-height: 1.45; }
.event-contact-email { margin: .65rem 0 0; color: var(--color-ink); font-size: .86rem; font-weight: 800; overflow-wrap: anywhere; }
.event-contact-email a { color: var(--color-primary); }
.event-associate-callout { margin: auto 0 0; padding-top: 1rem; color: var(--color-ink); border-top: 1px solid var(--color-border); font-size: .9rem; font-weight: 800; text-align: center; }
.event-associate-callout a { color: #0877cf; font-weight: 900; }
.event-associate-callout a:hover,.event-associate-callout a:focus-visible { color: var(--color-primary-dark); text-decoration: underline; }
.event-share-card { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; box-shadow: none; }
.event-share-card h2 { flex: 0 0 auto; margin: 0; font-size: .9rem; }
.event-share-links { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.event-share-links a,.event-share-links button { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-width: 32px; min-height: 32px; padding: .35rem; color: #fff; border: 0; border-radius: 6px; font: inherit; font-size: .69rem; font-weight: 800; text-align: center; cursor: pointer; }
.event-share-links svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.share-facebook { background: #1877f2; }.share-facebook svg { fill: currentColor; stroke: none; }.share-x { background: #111; }.share-whatsapp { background: #168f4f; }.share-copy { width: auto; padding-inline: .55rem !important; color: var(--color-primary-dark) !important; border: 1px solid var(--color-border) !important; background: #fff; }
.event-related-section { background: #fff; }
.event-related-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.event-related-heading h2 { margin: 0; color: var(--color-primary-dark); font-size: clamp(1.55rem,3vw,2.2rem); }
.event-related-heading .btn { color: #fff; border-color: #156da0; background: #156da0; }
.event-related-heading .btn:hover,.event-related-heading .btn:focus-visible { border-color: #0d527a; background: #0d527a; }
.event-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.event-related-card { padding: 1.25rem; border: 1px solid rgba(22,133,165,.24); border-radius: 14px; background: rgba(22,133,165,.09); transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.event-related-card:hover { transform: translateY(-2px); border-color: #9ccbc8; box-shadow: 0 12px 26px rgba(20,48,51,.09); }
.event-related-labels { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .65rem; }
.event-related-labels span { padding: .25rem .55rem; color: var(--color-primary-dark); border: 1px solid rgba(239,106,50,.78); border-radius: 999px; background: var(--color-primary-soft); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.event-related-labels .event-related-modality { color: #0b645f; border-color: #87cec3; background: #dff5f1; }
.event-related-labels .event-related-aadi { color: #15588c; border-color: #8dbce0; background: #e2f0fb; }
.event-related-card h3 { margin: 0 0 .4rem; color: var(--color-ink); font-size: 1.05rem; line-height: 1.3; }
.event-related-card h3 a:hover,.event-related-card h3 a:focus-visible { color: var(--color-primary); }
.event-related-card p { margin-bottom: .65rem; font-size: .82rem; }
.event-related-card .text-link { font-size: .82rem; }
.history-row h3 a:hover,.history-row h3 a:focus-visible { color: var(--color-primary); }
@media (max-width: 900px) { .event-detail-hero-grid,.event-detail-layout { grid-template-columns: 1fr; } .event-detail-image,.event-detail-placeholder { max-width: 650px; } }
@media (max-width: 560px) { .event-detail-page #event-detail-root { padding-top: 72px; } .event-detail-page #event-detail-root.is-rendered > .event-detail-hero { padding-top: 2rem !important; } .event-detail-facts { display: grid; } .event-detail-facts > div { width: 100%; min-width: 0; } .event-fact-registration,.event-detail-actions,.event-detail-actions .btn,.event-article-actions .btn { width: 100%; } .event-share-card,.event-related-heading { align-items: flex-start; flex-direction: column; } .event-related-grid { grid-template-columns: 1fr; } .event-detail-image { width: min(92vw,520px); } }
