/*
 * Ellas Innovan — dirección digital A · Air / Inter
 * Esta hoja se carga después de site.css y convierte todo el sitio público
 * al sistema aprobado: luz, fotografía, precisión tipográfica y acento morado.
 */

:root {
  --ei-ink: #111111;
  --ei-air: #ffffff;
  --ei-air-soft: #f5f5f7;
  --ei-air-line: #e5e5e7;
  --ei-muted: #66666b;
  --ei-cream: #fff3e3;
  --ei-serif: "EI Inter", Inter, Arial, sans-serif;
  --ei-sans: "EI Inter", Inter, Arial, sans-serif;
  --ei-max: 1360px;
}

html { background: var(--ei-air); }

body {
  color: var(--ei-ink);
  background: var(--ei-air);
  font-family: var(--ei-sans);
}

::selection { color: #fff; background: var(--ei-plum); }

.v2-wrap { width: min(calc(100% - 80px), var(--ei-max)); }

.v2-page { overflow: clip; }

.v2-nav {
  position: sticky;
  inset: auto;
  top: 0;
  z-index: 60;
  color: var(--ei-ink);
  background: rgba(255,255,255,.88);
  border-color: rgba(17,17,17,.09);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}

.v2-nav-inner {
  min-height: 82px;
  grid-template-columns: 220px 1fr auto;
}

.v2-logo { width: 172px; }
.v2-logo--cream { display: none; }
.v2-brand { margin-left: -12px; padding: 12px; }

.v2-nav-links {
  gap: clamp(22px, 2.5vw, 40px);
  font-size: 12px;
  letter-spacing: -.01em;
  text-transform: none;
}

.v2-nav-links a { opacity: .62; transition: opacity .2s ease; }
.v2-nav-links a:hover { opacity: 1; }

.v2-nav-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 10px;
}

.v2-nav-linkedin {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid var(--ei-air-line);
  border-radius: 999px;
  color: inherit;
  opacity: .78;
  transition: opacity .2s ease, background .2s ease, border-color .2s ease;
}

.v2-nav-linkedin:hover { opacity: 1; background: var(--ei-air-soft); }

.v2-nav-linkedin svg { width: 15px; height: 15px; display: block; }

.v2-nav-cta {
  min-height: 44px;
  justify-content: center;
  padding: 0 19px;
  border-radius: 999px;
  color: #fff;
  background: var(--ei-plum);
  font-size: 12px;
  letter-spacing: -.01em;
  text-transform: none;
}

.v2-nav-cta::after { display: none; }

.v2-kicker,
.v2-index,
.ei-content-card__meta {
  letter-spacing: .06em;
  text-transform: uppercase;
}

.v2-kicker { margin-bottom: 24px; font-size: 11px; }
.v2-kicker::before { width: 22px; opacity: .35; }

.v2-origin h2,
.v2-network-copy h2,
.v2-people h2,
.v2-final h2,
.v2-impact-intro h2,
.v2-impact-panel h3,
.v2-gradient-line,
.ei-section-heading h2,
.ei-person-card__body h3,
.ei-people-all,
.v2-red-hero h1,
.v2-structure-title h2,
.v2-structure-item h3,
.ei-profile-identity h1,
.ei-profile-story h2,
.ei-profile-gallery h2,
.ei-profile-quote blockquote,
.ei-inner-hero h1,
.ei-listing-hero h1,
.ei-article-hero h1,
.ei-featured h2,
.ei-content-card h3,
.ei-prose h2,
.ei-form-panel h2,
.ei-error-page h1,
.ei-supporter strong {
  font-family: var(--ei-sans);
  font-weight: 500;
  letter-spacing: -.055em;
}

/* Portada */
body.ei-home { overflow-x: hidden; }
body.ei-home .v2-page { overflow: visible; }

body.ei-home .v2-nav {
  color: var(--ei-cream);
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
body.ei-home .v2-nav .v2-logo--ink { display: none; }
body.ei-home .v2-nav .v2-logo--cream { display: block; }
body.ei-home .v2-nav .v2-nav-links a { opacity: .82; text-shadow: 0 1px 16px rgba(90, 22, 14, .28); }
body.ei-home .v2-nav .v2-nav-links a:hover { opacity: 1; }
body.ei-home .v2-nav:not(.is-solid) .v2-nav-linkedin {
  border-color: rgba(255,243,227,.32);
  background: transparent;
}
body.ei-home .v2-nav:not(.is-solid) .v2-nav-linkedin:hover {
  background: rgba(255,243,227,.12);
}
body.ei-home .v2-nav .v2-nav-cta {
  color: var(--ei-plum);
  background: var(--ei-cream);
}
body.ei-home .v2-nav .v2-nav-cta:hover { background: #fff; }
body.ei-home .v2-nav.is-solid {
  color: var(--ei-ink);
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(17,17,17,.09);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}
body.ei-home .v2-nav.is-solid .v2-logo--ink { display: block; }
body.ei-home .v2-nav.is-solid .v2-logo--cream { display: none; }
body.ei-home .v2-nav.is-solid .v2-nav-links a { opacity: .62; text-shadow: none; }
body.ei-home .v2-nav.is-solid .v2-nav-cta {
  color: #fff;
  background: var(--ei-plum);
}

.air-home-hero {
  position: relative;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  margin-top: calc(-1 * var(--ei-nav-h, 82px));
  padding: calc(var(--ei-nav-h, 82px) + 24px) 0 44px;
  color: var(--ei-cream);
  background: #efe6dc;
}

.air-home-hero::after { display: none; }

.air-home-hero::before {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 36%, rgba(26, 5, 8, .42), transparent 58%);
  content: "";
}

.air-home-hero:has(> .ei-ring-field--poster) { background: #1a0508; }
.air-home-hero:has(> .ei-ring-field--poster)::before { display: block; }

/* El campo de anillos es absolute:inset 0. Si el padre queda en static
   (p. ej. Nos apoyan), se ancla a main y tapa origen, red y el resto.
   El texto del hero sigue viéndose porque lleva z-index 2; el vídeo o el
   poster también. Al quitarlos, el fallo se ve en todas las secciones. */
:has(> .ei-ring-field) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

:has(> .ei-ring-field) > :not(.ei-ring-field) {
  position: relative;
  z-index: 2;
}

.ei-ring-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  isolation: isolate;
  contain: paint;
  pointer-events: none;
  color: #fff3e3;
}

.ei-ring-field--aurora {
  background:
    radial-gradient(90% 42% at 50% -8%, rgba(98, 24, 14, .4), transparent 72%),
    radial-gradient(68% 86% at 6% 48%, #8c2a16 0%, transparent 58%),
    radial-gradient(42% 48% at 50% 46%, rgba(140, 42, 22, .32) 0%, transparent 70%),
    radial-gradient(52% 58% at 78% 32%, rgba(255, 243, 227, .36) 0%, transparent 62%),
    radial-gradient(48% 56% at 94% 92%, #c9d6e3 0%, transparent 56%),
    linear-gradient(108deg,
      #6e1e12 0%,
      #9a3018 18%,
      #c44c28 38%,
      #d86a3c 54%,
      #e8a070 66%,
      #f1d4c0 78%,
      #f3eee8 90%,
      #d5e2ec 100%
    );
}

.ei-ring-field--poster {
  background:
    radial-gradient(78% 52% at 8% 4%, rgba(232, 168, 64, .78) 0%, transparent 58%),
    radial-gradient(70% 58% at 48% 44%, rgba(154, 28, 36, .58) 0%, transparent 68%),
    radial-gradient(88% 62% at 86% 98%, #1a0508 0%, transparent 64%),
    linear-gradient(165deg,
      #d48f36 0%,
      #c45a22 16%,
      #a82428 36%,
      #7a1420 56%,
      #4a0c14 76%,
      #1a0508 100%
    );
}

.v2-gradient:has(> .ei-ring-field--aurora),
.v2-final:has(> .ei-ring-field--aurora),
.v2-red-hero:has(> .ei-ring-field--aurora),
.ei-profile-quote:has(> .ei-ring-field--aurora),
.ei-supporters:has(> .ei-ring-field--aurora),
.ei-close-stack:has(> .ei-ring-field--aurora) {
  background: #efe6dc;
  background-color: #efe6dc;
}

.ei-hero-orbits {
  position: absolute;
  left: -6%;
  width: 112%;
  display: block;
  overflow: hidden;
}

.ei-hero-orbits--fore {
  top: -6%;
  height: calc(100svh + 12%);
}

.ei-hero-orbits--aft {
  top: auto;
  bottom: -8%;
  height: min(100svh, 68%);
}

.ei-hero-orbits--aft .ei-hero-orbits__left { animation-delay: -72s; }
.ei-hero-orbits--aft .ei-hero-orbits__right { animation-delay: -44s; }
.ei-hero-orbits--aft .ei-hero-orbits__drift { animation-delay: -18s; }

.ei-hero-orbits__left,
.ei-hero-orbits__right,
.ei-hero-orbits__drift {
  transform-box: view-box;
}

.ei-hero-orbits__left {
  transform-origin: 12% 18%;
  opacity: .46;
  animation: ei-orbit-spin 160s linear infinite;
}

.ei-hero-orbits__right {
  transform-origin: 82% 42%;
  color: #c47a52;
  opacity: .58;
  animation: ei-orbit-spin-rev 190s linear infinite;
}

.ei-ring-field--poster .ei-hero-orbits__right {
  color: #fff3e3;
  opacity: .34;
}

.ei-hero-orbits__drift {
  transform-origin: 70% 78%;
  opacity: .28;
  animation: ei-orbit-drift 38s ease-in-out infinite;
}

@keyframes ei-orbit-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes ei-orbit-spin-rev {
  from { transform: rotate(8deg); }
  to { transform: rotate(-352deg); }
}

@keyframes ei-orbit-drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(1.5%, -1.2%) rotate(-7deg); }
}

.ei-orbit {
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
}

.ei-orbit--hair { stroke-width: .8px; }
.ei-orbit--fine { stroke-width: .55px; }
.ei-orbit--whisper { stroke-width: .4px; }

.ei-hero-grain {
  position: absolute;
  inset: 0;
  opacity: .22;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.air-home-hero .v2-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(calc(100% - 80px), 1180px);
  min-height: calc(100svh - var(--ei-nav-h, 82px) - 68px);
  padding: 0 0 36px;
  text-align: center;
}

.air-home-hero .v2-kicker { justify-content: center; color: rgba(255,243,227,.78); }

.air-home-hero h1 {
  max-width: 1100px;
  margin-inline: auto;
  color: #fff;
  font-family: var(--ei-sans);
  font-size: clamp(72px, 9.2vw, 132px);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .91;
  text-wrap: balance;
  text-shadow: 0 10px 40px rgba(90, 22, 14, .28);
}

.air-home-hero__lead {
  max-width: 690px;
  margin: 32px auto 0;
  color: rgba(255,243,227,.72);
  font-size: 18px;
  line-height: 1.55;
  text-wrap: balance;
}

.air-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 34px;
}

.air-home-hero .v2-hero-action,
.air-home-hero__secondary {
  min-height: 52px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0 21px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.015em;
  text-transform: none;
}

.air-home-hero .v2-hero-action { color: var(--ei-plum); background: var(--ei-cream); }
.air-home-hero .v2-hero-action span { width: auto; height: auto; color: inherit; background: transparent; font-size: 16px; }
.air-home-hero__secondary { color: var(--ei-cream); border: 1px solid rgba(255,243,227,.28); background: transparent; }

.air-home-hero__media {
  position: relative;
  z-index: 2;
  height: clamp(500px, 58vw, 790px);
  overflow: hidden;
  margin-top: 0;
  border-radius: 34px;
  background: var(--ei-plum);
}

.air-home-hero__media .ei-hero-media {
  position: static;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.air-home-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(31,13,34,.22), transparent 26%);
  content: "";
  pointer-events: none;
}

.air-home-hero__media figcaption {
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 26px;
  left: 30px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.v2-ticker { color: var(--ei-ink); background: var(--ei-cream); border-color: rgba(31,13,34,.08); }
.v2-ticker-track { min-height: 78px; font-family: var(--ei-sans); font-size: 17px; font-weight: 500; }
.v2-ticker-track b { color: var(--ei-plum); font-size: 7px; }

/* Relato y estructura */
.v2-origin {
  position: relative;
  overflow: hidden;
  padding: 150px 0;
  color: var(--ei-ink);
  background:
    radial-gradient(circle at 94% -12%, rgba(168,76,37,.2), transparent 30%),
    radial-gradient(circle at 6% 112%, rgba(50,29,60,.14), transparent 34%),
    var(--ei-cream);
}
.v2-origin-grid { grid-template-columns: 220px 1fr; }
.v2-origin h2 { max-width: 1050px; font-size: clamp(62px, 7.2vw, 104px); line-height: .98; }
.v2-origin h2 em { color: var(--ei-plum); font-weight: 500; }
.v2-origin-detail { color: var(--ei-muted); font-size: 17px; }
.v2-orbit-large,.v2-orbit-small { display: block; opacity: .9; }

.v2-network { padding: 140px 0; color: var(--ei-ink); background: var(--ei-air-soft); }
.v2-network-head { grid-template-columns: 1.15fr .85fr; margin-bottom: 54px; }
.v2-network-head--solo { grid-template-columns: 1fr; max-width: 820px; }
.v2-network-copy h2 { font-size: clamp(58px, 6.4vw, 92px); line-height: .98; }
.v2-network-copy p,.v2-network-detail p { color: var(--ei-muted); }
.v2-network-detail { padding: 28px; border: 1px solid var(--ei-air-line); border-radius: 22px; background: var(--ei-air); }
.v2-network-detail small { color: var(--ei-plum); }
.v2-network-detail strong { font-family: var(--ei-sans); font-size: 30px; font-weight: 500; letter-spacing: -.04em; }
.v2-network-photo {
  overflow: hidden;
  border-radius: 32px;
  background: var(--ei-plum);
}
.v2-network-photo img {
  width: 100%;
  height: clamp(420px, 48vw, 720px);
  display: block;
  object-fit: cover;
  object-position: center;
}
.network-path { stroke: rgba(17,17,17,.1); }
.network-path.hot { stroke: rgba(31,13,34,.28); }
.network-ring { stroke: rgba(17,17,17,.06); }
.v2-node {
  border-color: var(--ei-air-line);
  color: var(--ei-ink);
  background: var(--ei-air);
  box-shadow: none;
}
.v2-node:hover,
.v2-node[aria-pressed="true"] {
  color: var(--ei-cream);
  border-color: var(--ei-plum);
  background: var(--ei-plum);
  box-shadow: none;
}
.v2-node strong { font-family: var(--ei-sans); font-weight: 500; letter-spacing: -.03em; }
.v2-stage-word { color: rgba(17,17,17,.045); font-family: var(--ei-sans); font-weight: 500; }

.v2-impact { color: var(--ei-ink); background: var(--ei-air); }
.v2-impact-intro { padding-top: 140px; }
.v2-impact-intro h2 { font-size: clamp(58px, 6.4vw, 92px); line-height: 1; }
.v2-impact-panels { border: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-bottom: 140px; }
.v2-impact-panel { min-height: 410px; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 30px; border: 1px solid var(--ei-air-line); border-radius: 26px; background: var(--ei-air-soft); }
.v2-impact-panel:nth-child(2) {
  background:
    radial-gradient(circle at 88% 8%, rgba(168,76,37,.18), transparent 32%),
    var(--ei-cream);
}
.v2-impact-panel .big-no { margin-bottom: auto; color: var(--ei-plum); font-family: var(--ei-sans); font-size: 64px; font-weight: 500; letter-spacing: -.06em; }
.v2-impact-panel h3 { margin: 40px 0 18px; font-size: clamp(28px,2.8vw,42px); line-height: 1.05; }
.v2-impact-panel p,
.v2-impact-panel ul { color: var(--ei-muted); }
.v2-impact-panel ul {
  margin: 0;
  padding-left: 1.15em;
  line-height: 1.45;
}
.v2-impact-panel li + li { margin-top: 7px; }

.v2-gradient {
  position: relative;
  overflow: hidden;
  padding: 150px 0;
  color: var(--ei-cream);
  background-color: #1a0508;
  background-image: none;
}
.v2-gradient::after { display: none; }
.v2-gradient > .v2-wrap { position: relative; z-index: 2; }
.v2-gradient-line { max-width: 1180px; font-size: clamp(42px,5.2vw,78px); line-height: .98; }
.v2-gradient-line span { margin-left: 0; color: inherit; }
.v2-gradient-line span:nth-child(even) { margin-left: 7%; }
.v2-gradient-line span:nth-child(3) { margin-left: 4%; color: var(--ei-cream); }
.v2-gradient-line span:nth-child(5) { margin-left: 10%; color: rgba(255,243,227,.7); }
.v2-gradient-note { color: rgba(255,243,227,.82); border-color: rgba(255,243,227,.28); }
.v2-gradient:has(> .ei-ring-field--aurora) .v2-gradient-note {
  color: rgba(31, 13, 34, .78);
  border-color: rgba(31, 13, 34, .16);
}

/* Protagonistas */
.v2-people { padding: 140px 0; color: var(--ei-ink); background: var(--ei-air-soft); }
.v2-people h2 { font-size: clamp(58px,6.5vw,94px); line-height: 1; }
.v2-people-head { margin-bottom: 70px; }
.ei-person-card__visual { border-radius: 26px; background: var(--ei-plum); }
.ei-person-card__visual::after { background: linear-gradient(0deg,rgba(17,17,17,.36),transparent 46%); }
.ei-person-card__visual img { filter: saturate(.9) contrast(1.02); }
.ei-person-card__placeholder { background: radial-gradient(circle at 80% 18%,rgba(255,255,255,.16),transparent 22%),linear-gradient(145deg,var(--ei-plum-2),var(--ei-plum)); }
.ei-person-card__placeholder span { font-family: var(--ei-sans); font-weight: 500; }
.ei-person-card__featured { border: 0; border-radius: 999px; color: var(--ei-ink); background: rgba(255,255,255,.88); }
.ei-person-card__body p { color: var(--ei-muted); }
.ei-person-card__body h3 { font-size: clamp(34px,3.3vw,52px); line-height: 1; }
.ei-person-card__body span { color: var(--ei-muted); }
.ei-person-card:nth-child(6) { grid-column: span 4; }
.ei-person-card:nth-child(6) .ei-person-card__visual { aspect-ratio: .78; }
.ei-people-all { border-color: var(--ei-air-line); font-size: 26px; }

.ei-photo-band {
  position: relative;
  overflow: hidden;
  height: min(72vh, 760px);
  margin: 0;
  background: var(--ei-plum);
}
.ei-photo-band img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 22%;
  filter: saturate(.9) contrast(1.04);
}
.ei-photo-band::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,243,227,.28), transparent 28%),
    linear-gradient(0deg, rgba(31,13,34,.42), transparent 46%);
  content: "";
  pointer-events: none;
}

/* Actualidad, agenda y apoyos */
.ei-editorial-listing { padding: 110px 0 130px; }
.ei-editorial-listing--cream {
  color: var(--ei-ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(168,76,37,.12), transparent 32%),
    var(--ei-cream);
}
.ei-editorial-listing--plum { color: var(--ei-ink); background: var(--ei-air-soft); }
.ei-section-heading h2 { font-size: clamp(54px,6.4vw,90px); line-height: 1; }
.ei-section-heading p { color: var(--ei-muted); opacity: 1; }
.ei-section-heading--compact { margin-top: 84px; margin-bottom: 42px; }

.ei-press-links { margin: 0 0 56px; }
.ei-press-links .v2-kicker { margin-bottom: 18px; }
.ei-press-links ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 28px;
}
.ei-press-links a {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 0;
  border-top: 1px solid var(--ei-air-line);
  color: inherit;
}
.ei-press-links span {
  color: var(--ei-plum);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ei-press-links strong {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.25;
}
.ei-content-card {
  display: flex;
  flex-direction: column;
  padding: 12px;
  border: 1px solid var(--ei-air-line);
  border-radius: 24px;
  background: var(--ei-air);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ei-content-card:hover {
  transform: translateY(-6px);
  border-color: rgba(31,13,34,.16);
  box-shadow: 0 22px 50px rgba(17,17,17,.1);
}
.ei-content-card__media {
  position: relative;
  display: block;
  height: 280px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--ei-plum);
}
.ei-content-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.92) contrast(1.04);
}
.ei-content-card__placeholder { background: linear-gradient(135deg,#eeeef0,#d8d4dc 60%,#c3b8c7); }
.ei-content-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px 10px 14px; }
.ei-content-card h3 { font-size: 30px; line-height: 1.05; }
.ei-content-card__body > p:last-of-type { color: var(--ei-muted); opacity: 1; }
.ei-content-card__more {
  margin-top: auto;
  padding-top: 22px;
  color: var(--ei-plum);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.01em;
}
.ei-content-card__more--solid {
  width: fit-content;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 999px;
  color: #fff;
  background: var(--ei-plum);
}
.ei-text-link { min-height: 46px; align-items: center; margin-top: 44px; padding: 0 18px; border: 1px solid var(--ei-air-line); border-radius: 999px; text-transform: none; letter-spacing: -.01em; }
.ei-empty-state { border-color: var(--ei-air-line); color: var(--ei-muted); }

.ei-featured {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 8px;
  margin-bottom: 8px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid var(--ei-air-line);
  border-radius: 32px;
  background: var(--ei-air);
}
.ei-featured + .ei-section-heading--compact,
.ei-featured + .ei-card-grid { margin-top: 72px; }
.ei-featured__media {
  position: relative;
  display: block;
  min-height: 560px;
  overflow: hidden;
  border-radius: 24px;
  background: var(--ei-plum);
}
.ei-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.92) contrast(1.04);
}
.ei-featured__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px 36px 42px 28px;
}
.ei-featured h2 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(42px, 4.4vw, 68px);
  line-height: .96;
}
.ei-featured__copy > p:not(.ei-content-card__meta) {
  max-width: 42ch;
  margin: 22px 0 0;
  color: var(--ei-muted);
  line-height: 1.65;
}
.ei-featured .ei-event-facts { margin-top: 28px; }
.ei-featured .ei-content-card__more { margin-top: 32px; }

.ei-date-stamp {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  display: grid;
  min-width: 72px;
  padding: 10px 12px 8px;
  border-radius: 16px;
  color: var(--ei-plum);
  background: rgba(255,243,227,.94);
  text-align: center;
  line-height: 1;
}
.ei-date-stamp strong {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -.06em;
}
.ei-date-stamp small {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
}
.ei-date-stamp--lg {
  left: 22px;
  bottom: 22px;
  min-width: 96px;
  padding: 14px 16px 12px;
  border-radius: 20px;
}
.ei-date-stamp--lg strong { font-size: 40px; }
.ei-supporters {
  position: relative;
  overflow: hidden;
  padding: 110px 0 120px;
  color: var(--ei-cream);
  background: #1a0508;
  border: 0;
}
.ei-supporters > .v2-wrap { position: relative; z-index: 2; }
.ei-supporters .v2-index { color: rgba(255,243,227,.78); }
.ei-supporters .ei-section-heading p { color: rgba(255,243,227,.72); }
.ei-supporters .ei-empty-state {
  margin-top: 48px;
  color: rgba(255,243,227,.72);
  border-color: rgba(255,243,227,.22);
}
.ei-supporters-grid {
  gap: 28px 40px;
  margin-top: 56px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.ei-supporter {
  min-height: 0;
  padding: 18px 10px;
  border: 0;
  border-radius: 0;
  color: var(--ei-cream);
  background: transparent;
  transition: opacity .2s ease;
}
.ei-supporter:hover {
  color: var(--ei-cream);
  background: transparent;
  transform: none;
  box-shadow: none;
}
.ei-supporter:focus-visible {
  outline: 2px solid rgba(255,243,227,.7);
  outline-offset: 6px;
}
.ei-supporter img {
  height: 52px;
  filter: brightness(0) invert(1) sepia(.28) saturate(.55) hue-rotate(350deg) brightness(1.06);
  opacity: .88;
  transition: opacity .2s ease;
}
.ei-supporter:hover img { opacity: 1; }
.ei-supporter__wordmark {
  color: var(--ei-cream);
  font-size: clamp(18px,1.8vw,26px);
  font-weight: 500;
}
.ei-supporter__name {
  color: rgba(255,243,227,.55);
  text-transform: none;
  letter-spacing: -.01em;
}
.ei-supporters:has(> .ei-ring-field--aurora),
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporters {
  color: var(--ei-ink);
}
.ei-supporters:has(> .ei-ring-field--aurora) .v2-index,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporters .v2-index { color: var(--ei-muted); }
.ei-supporters:has(> .ei-ring-field--aurora) .ei-section-heading p,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporters .ei-section-heading p { color: var(--ei-muted); }
.ei-supporters:has(> .ei-ring-field--aurora) .ei-empty-state,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporters .ei-empty-state {
  color: var(--ei-muted);
  border-color: var(--ei-air-line);
}
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter,
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter:hover,
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter__wordmark,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter:hover,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter__wordmark {
  color: var(--ei-ink);
}
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter__name,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter__name { color: var(--ei-muted); }
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter img,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter img {
  filter: none;
  opacity: .92;
}
.ei-supporters:has(> .ei-ring-field--aurora) .ei-supporter:focus-visible,
.ei-close-stack:has(> .ei-ring-field--aurora) .ei-supporter:focus-visible {
  outline-color: var(--ei-plum);
}

/* En portada, Nos apoyan y Súmate comparten un único campo de anillos
   cuando el gestor les asigna el mismo fondo. Así el degradado no se corta. */
.ei-close-stack {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #1a0508;
}
.ei-close-stack > .ei-supporters,
.ei-close-stack > .v2-final {
  overflow: visible;
  background: transparent;
  background-image: none;
}
.ei-close-stack > .ei-supporters { padding-bottom: 36px; }
.ei-close-stack > .v2-final {
  min-height: 640px;
}
.ei-close-stack > .v2-final::after { display: none; }
.ei-close-stack > .ei-ring-field .ei-hero-orbits--fore {
  height: calc(100% + 12%);
}
.ei-close-stack > .ei-ring-field .ei-hero-orbits--aft {
  height: min(72%, 100%);
}

/* Cierre y pie */
.v2-final {
  position: relative;
  overflow: hidden;
  min-height: 780px;
  color: #fff;
  background-color: #1a0508;
  background-image: none;
}
.v2-final::before { display: none; }
.v2-final::after {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 0;
  border-radius: 0;
  background: radial-gradient(ellipse at 50% 48%, rgba(31, 13, 34, .28), transparent 62%);
  content: "";
  pointer-events: none;
}
.v2-final:has(> .ei-ring-field--aurora)::after { display: none; }
.v2-final-inner { position: relative; z-index: 2; }
.v2-final h2 { font-size: clamp(70px,9vw,126px); line-height: .92; }
.v2-final p { color: rgba(255,255,255,.68); }
.v2-circle-cta { width: auto; height: 54px; display: inline-flex; padding: 0 24px; border-radius: 999px; color: var(--ei-plum); background: #fff; letter-spacing: -.01em; text-transform: none; }
.v2-footer { padding: 64px 0 30px; color: var(--ei-ink); background: var(--ei-air); border-top: 1px solid var(--ei-air-line); }
.v2-footer p,.v2-footer a,.v2-footer-bottom { color: var(--ei-muted); }
.v2-footer-bottom { border-color: var(--ei-air-line); }
.v2-footer-credit a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.v2-footer-credit a:hover { color: var(--ei-ink); }
.v2-footer-extra { margin: 12px 0 0; max-width: 36ch; }
.ei-preview-bar {
  margin: 0;
  padding: 10px 20px;
  text-align: center;
  color: var(--ei-cream);
  background: var(--ei-plum);
  font-size: 13px;
}

/* Páginas interiores y La red */
.ei-inner-hero {
  min-height: auto;
  padding: 120px 0 110px;
  color: var(--ei-ink);
  background: var(--ei-air);
}
.ei-listing-hero,
.ei-article-hero {
  min-height: auto;
  padding: 108px 0 56px;
  color: var(--ei-ink);
  background:
    radial-gradient(circle at 92% 8%, rgba(255,243,227,1), transparent 28%),
    radial-gradient(circle at 8% 92%, rgba(168,76,37,.2), transparent 34%),
    var(--ei-cream);
}
.ei-listing-hero { padding-bottom: 36px; }
.ei-listing-hero__copy { padding-bottom: 36px; }
.ei-listing-hero--text { padding-bottom: 0; }
.ei-listing-hero--text .ei-listing-hero__copy { padding-bottom: 8px; }
.ei-listing-hero--text + .ei-editorial-listing { padding-top: 40px; }
.ei-listing-hero__media {
  position: relative;
  height: clamp(420px, 48vw, 640px);
  overflow: hidden;
  margin: 0 auto;
  border-radius: 32px;
  background: var(--ei-plum);
}
.ei-listing-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 28%;
  filter: saturate(.9) contrast(1.04);
}
.ei-listing-hero__media::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,243,227,.22), transparent 28%),
    linear-gradient(0deg, rgba(31,13,34,.28), transparent 42%);
  content: "";
  pointer-events: none;
}
.v2-red-hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 160px 0 90px;
  color: #fff;
  background-color: #1a0508;
  background-image: none;
}
.ei-red-hero__media { display: none; }
.v2-red-hero::after { display: none; }
.v2-red-hero-inner { z-index: 2; }
.v2-red-hero .v2-kicker { color: rgba(255,243,227,.82); }
.v2-red-hero h1,.ei-inner-hero h1,.ei-listing-hero h1,.ei-article-hero h1 { max-width: 1180px; font-size: clamp(70px,9vw,128px); line-height: .93; }
.v2-red-hero h1 { color: #fff; }
.v2-red-hero h1 em { margin-left: 0; color: var(--ei-cream); font-weight: 500; }
.v2-red-lead { color: rgba(255,243,227,.82); border-color: rgba(255,243,227,.28); }
.v2-red-lead p { margin: 0; color: inherit; }
.v2-red-lead p + p { margin-top: 16px; }
.ei-inner-hero p:last-child,
.ei-listing-hero__copy p:last-child,
.ei-article-hero > .v2-wrap > p:last-of-type {
  max-width: 620px;
  margin: 42px 0 0 auto;
  padding-top: 24px;
  color: var(--ei-muted);
  border-top: 1px solid var(--ei-air-line);
  line-height: 1.7;
}
.ei-inner-page,.ei-contact-page,.ei-legal-page { color: var(--ei-ink); background: var(--ei-air); }
.ei-inner-page--editorial,.ei-article-page { color: var(--ei-ink); background: var(--ei-cream); }
.ei-inner-hero--compact { min-height: auto; }
.ei-event-facts span { border-color: var(--ei-air-line); border-radius: 999px; background: var(--ei-air-soft); }
.ei-article-cover { margin-top: 8px; }
.ei-article-cover img {
  width: 100%;
  max-height: min(72vh, 720px);
  display: block;
  object-fit: cover;
  border-radius: 28px;
}
.ei-prose { color: #363638; }
.ei-prose h2 { color: var(--ei-ink); font-size: 48px; line-height: 1.05; }
.ei-solid-link { border-radius: 999px; text-transform: none; letter-spacing: -.01em; }

.v2-structure {
  padding: 130px 0;
  color: var(--ei-ink);
  background:
    radial-gradient(circle at 0% 100%, rgba(168,76,37,.1), transparent 28%),
    var(--ei-cream);
}
.v2-structure-title h2 { font-size: clamp(56px,6.3vw,90px); line-height: 1; }
.v2-structure-line { gap: 12px; border: 0; }
.v2-structure-item {
  display: flex;
  flex-direction: column;
  min-height: 340px;
  padding: 26px;
  border: 1px solid var(--ei-air-line);
  border-radius: 22px;
  background: var(--ei-air);
  transition: transform .28s ease, box-shadow .28s ease;
}
.v2-structure-item:first-child { border-left: 1px solid var(--ei-air-line); }
.v2-structure-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 48px rgba(17,17,17,.08);
}
.v2-structure-item span.v2-structure-item__index {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  color: var(--ei-plum);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
}
.v2-structure-item span.v2-structure-item__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: auto 0;
  border-radius: 18px;
  background: var(--ei-cream);
  color: var(--ei-plum);
  line-height: 0;
  transition: transform .28s ease, background-color .28s ease, color .28s ease;
}
.v2-structure-item:nth-child(2) .v2-structure-item__icon { background: var(--ei-plum); color: var(--ei-cream); }
.v2-structure-item:nth-child(3) .v2-structure-item__icon { background: rgba(168,76,37,.12); color: var(--ei-terra); }
.v2-structure-item:nth-child(4) .v2-structure-item__icon { background: var(--ei-plum-2); color: var(--ei-cream); }
.v2-structure-item:hover .v2-structure-item__icon { transform: rotate(-8deg); }
.v2-structure-item .v2-structure-item__icon svg { width: 26px; height: 26px; display: block; }
.v2-structure-item h3 { margin-top: 22px; font-size: 24px; }
.v2-structure-item p { color: var(--ei-muted); }

/* Perfil individual */
.ei-profile-hero {
  min-height: auto;
  color: var(--ei-ink);
  background:
    radial-gradient(circle at 88% 10%, rgba(255,243,227,.96), transparent 26%),
    radial-gradient(circle at 8% 90%, rgba(168,76,37,.28), transparent 32%),
    var(--ei-cream);
}
.ei-profile-hero::after { background: linear-gradient(90deg,rgba(255,243,227,.92),rgba(255,243,227,.55) 48%,transparent); }
.ei-profile-hero--cover { color: var(--ei-cream); background: var(--ei-plum); }
.ei-profile-hero--cover::after { background: linear-gradient(90deg,rgba(31,13,34,.86),rgba(31,13,34,.5) 52%,rgba(31,13,34,.18)); }
.ei-profile-hero__cover { opacity: .22; filter: saturate(.9); }
.ei-profile-hero--cover .ei-profile-hero__cover { opacity: .5; }
.ei-profile-hero--cover .ei-profile-back,
.ei-profile-hero--cover .ei-profile-intro { color: rgba(255,243,227,.78); }
.ei-profile-hero--cover .ei-profile-running { color: rgba(255,243,227,.28); }
.ei-profile-hero__inner { padding: 110px 0 100px; }
.ei-profile-back { margin-bottom: 60px; color: var(--ei-muted); }
.ei-profile-identity h1 { font-size: clamp(70px,8vw,116px); line-height: .9; }
.ei-profile-intro { color: var(--ei-muted); border-color: var(--ei-air-line); }
.ei-profile-links a,.ei-profile-links button { border-color: var(--ei-air-line); border-radius: 999px; color: var(--ei-ink); background: rgba(255,255,255,.72); text-transform: none; letter-spacing: -.01em; }
.ei-profile-links a:hover,.ei-profile-links button:hover { color: #fff; background: var(--ei-plum); }
.ei-profile-portrait { border: 0; border-radius: 28px; box-shadow: 0 24px 70px rgba(17,17,17,.14); }
.ei-profile-running {
  z-index: 3;
  left: max(40px,calc((100vw - var(--ei-max))/2));
  bottom: 18px;
  color: rgba(31,13,34,.34);
  font-family: var(--ei-sans);
  font-size: clamp(44px,5vw,72px);
  font-weight: 500;
  letter-spacing: -.055em;
}
.ei-profile-story,.ei-profile-gallery { padding: 130px 0; color: var(--ei-ink); background: var(--ei-air); }
.ei-profile-story h2,.ei-profile-gallery h2 { font-size: clamp(58px,6.4vw,92px); line-height: .98; }
.ei-profile-bio { color: var(--ei-muted); }
.ei-profile-expertise span { border-color: var(--ei-air-line); border-radius: 999px; background: var(--ei-air-soft); }
.ei-profile-quote {
  position: relative;
  overflow: hidden;
  min-height: 650px;
  color: var(--ei-cream);
  background-color: #1a0508;
  background-image: none;
}
.ei-profile-quote > .v2-wrap { position: relative; z-index: 2; }
.ei-profile-quote blockquote { font-size: clamp(56px,6.6vw,92px); line-height: 1; }
.ei-profile-gallery { background: var(--ei-air-soft); }
.ei-profile-gallery img { border-radius: 24px; }
.ei-related-people { border-color: var(--ei-air-line); }

/* Formularios y estados */
.ei-flash {
  border-radius: 16px;
  color: var(--ei-ink);
  background: var(--ei-air);
  border-color: var(--ei-air-line);
  box-shadow: 0 16px 40px rgba(17,17,17,.08);
}
.ei-flash--error { color: #fff; background: var(--ei-terra); border-color: transparent; }
.ei-flash--success { color: var(--ei-ink); background: var(--ei-air); border-color: var(--ei-plum); }
.ei-flash--warning { color: var(--ei-plum); background: var(--ei-cream); border-color: rgba(168,76,37,.28); }
.ei-flash--info { color: var(--ei-ink); background: var(--ei-air-soft); }

.ei-form-confirm {
  scroll-margin-top: 110px;
  margin-top: 8px;
  padding: 36px 40px;
  border: 1px solid var(--ei-air-line);
  border-radius: 26px;
  background: var(--ei-air-soft);
}
.ei-form-confirm h2 {
  max-width: 920px;
  margin: 10px 0 12px;
  font-size: clamp(36px,4vw,56px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.05;
}
.ei-form-confirm p:last-child { margin: 0; color: var(--ei-muted); }
.ei-form-confirm a { text-decoration: underline; text-underline-offset: 3px; }
.ei-contact-page:has(.ei-form-confirm) .ei-contact-forms { padding-top: 36px; }

.ei-contact-forms { gap: 18px; }
.ei-form-panel,.ei-form-panel--dark { scroll-margin-top: 110px; color: var(--ei-ink); background: var(--ei-air-soft); border-color: var(--ei-air-line); border-radius: 26px; }
.ei-form-panel--dark { background: #ececef; }
.ei-form-panel h2 { font-size: 48px; line-height: 1.05; }
.ei-form-panel form { gap: 20px; }
.ei-form-panel input,.ei-form-panel textarea { border-color: #d0d0d4; border-radius: 12px; color: var(--ei-ink); background: var(--ei-air); }
.ei-submit,.ei-submit--light {
  min-height: 50px;
  border-radius: 999px;
  color: #fff;
  background: var(--ei-plum);
  text-transform: none;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease;
}
.ei-submit:hover { opacity: .92; }
.ei-submit.is-sending { pointer-events: none; opacity: .62; }

.ei-field { display: grid; gap: 8px; }
.ei-field > label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--ei-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -.01em;
}
.ei-field-req {
  color: var(--ei-muted);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}
.ei-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ei-form-panel .ei-field input:not([type="checkbox"]),
.ei-form-panel .ei-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid #d0d0d4;
  border-radius: 12px;
  color: var(--ei-ink);
  background: var(--ei-air);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.ei-form-panel .ei-field textarea { min-height: 148px; resize: vertical; }
.ei-form-panel .ei-field input:not([type="checkbox"])::placeholder,
.ei-form-panel .ei-field textarea::placeholder { color: #a0a0a6; }
.ei-form-panel .ei-field.is-filled input:not([type="checkbox"]),
.ei-form-panel .ei-field.is-filled textarea { border-color: #b8b8be; }
.ei-form-panel .ei-field input:not([type="checkbox"]):focus-visible,
.ei-form-panel .ei-field textarea:focus-visible {
  border-color: var(--ei-plum);
  box-shadow: 0 0 0 3px rgba(31,13,34,.08);
  outline: 0;
}
.ei-form-panel .ei-field.is-valid input:not([type="checkbox"]),
.ei-form-panel .ei-field.is-valid textarea { border-color: var(--ei-plum); }
.ei-form-panel .ei-field.is-invalid input:not([type="checkbox"]),
.ei-form-panel .ei-field.is-invalid textarea,
.ei-form-panel .ei-field--check.is-invalid .ei-checkbox-box {
  border-color: var(--ei-terra);
}
.ei-form-panel .ei-field.is-invalid input:not([type="checkbox"]):focus-visible,
.ei-form-panel .ei-field.is-invalid textarea:focus-visible {
  box-shadow: 0 0 0 3px rgba(168,76,37,.16);
}
.ei-field-hint,
.ei-field-count,
.ei-field-error {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
}
.ei-field-hint,.ei-field-count { color: var(--ei-muted); }
.ei-field-meta { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.ei-field-count { margin-left: auto; font-variant-numeric: tabular-nums; }
.ei-field-error { display: none; color: var(--ei-terra); }
.ei-field.is-invalid > .ei-field-error,
.ei-field--check.is-invalid > .ei-field-error { display: block; }
.ei-form-summary {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  color: var(--ei-terra);
  background: rgba(168,76,37,.08);
  font-size: 13px;
  line-height: 1.45;
}

.ei-captcha-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.ei-captcha-row img {
  display: block;
  width: 200px;
  height: 64px;
  object-fit: cover;
  border: 1px solid #d0d0d4;
  border-radius: 12px;
  background: var(--ei-air);
  cursor: pointer;
}
.ei-field--captcha.is-invalid .ei-captcha-row img {
  border-color: var(--ei-terra);
}
.ei-captcha-reload {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #d0d0d4;
  border-radius: 999px;
  color: var(--ei-ink);
  background: var(--ei-air);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -.01em;
  cursor: pointer;
}
.ei-captcha-reload:hover { border-color: #b8b8be; }
.ei-captcha-reload:focus-visible {
  border-color: var(--ei-plum);
  box-shadow: 0 0 0 3px rgba(31,13,34,.08);
  outline: 0;
}

.ei-checkbox {
  position: relative;
  display: grid !important;
  grid-template-columns: 22px 1fr !important;
  gap: 12px !important;
  align-items: start;
  color: var(--ei-ink);
  font-size: 14px;
  font-weight: 400 !important;
  letter-spacing: 0;
  line-height: 1.55;
  cursor: pointer;
}
.ei-form-panel .ei-checkbox input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  border: 0;
  pointer-events: none;
}
.ei-checkbox-box {
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border: 1px solid #d0d0d4;
  border-radius: 6px;
  background: var(--ei-air);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.ei-checkbox-box::after {
  content: "";
  display: block;
  width: 5px;
  height: 9px;
  margin: 3px auto 0;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) scale(0);
  opacity: 0;
  transition: opacity .15s ease, transform .15s ease;
}
.ei-checkbox input:checked + .ei-checkbox-box {
  border-color: var(--ei-plum);
  background: var(--ei-plum);
}
.ei-checkbox input:checked + .ei-checkbox-box::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
.ei-checkbox input:focus-visible + .ei-checkbox-box {
  border-color: var(--ei-plum);
  box-shadow: 0 0 0 3px rgba(31,13,34,.08);
}
.ei-checkbox a { text-decoration: underline; text-underline-offset: 3px; }

.ei-error-page { color: var(--ei-ink); background: var(--ei-air); }
.ei-error-page h1 { max-width: 100%; font-size: clamp(70px,9vw,126px); line-height: .93; overflow-wrap: break-word; }

@media (max-width: 980px) {
  .v2-nav-inner { grid-template-columns: 190px 1fr auto; }
  .v2-nav-links { gap: 18px; }
  .v2-impact-panels { grid-template-columns: 1fr; }
  .v2-impact-panel { min-height: 340px; }
  .v2-structure-line { grid-template-columns: repeat(2,1fr); }
  .ei-featured { grid-template-columns: 1fr; }
  .ei-featured__media { min-height: 380px; }
  .ei-featured__copy { padding: 28px 18px 22px; }
}

@media (max-width: 760px) {
  .v2-wrap { width: min(calc(100% - 36px), var(--ei-max)); }
  .v2-nav-inner { min-height: 72px; grid-template-columns: 1fr auto auto; gap: 8px; }
  .v2-logo { width: 142px; }
  .ei-menu-toggle { display: inline-flex; min-height: 40px; align-items: center; padding: 0 14px; border: 1px solid var(--ei-air-line); border-radius: 999px; color: var(--ei-ink); background: var(--ei-air-soft); }
  body.ei-home .v2-nav:not(.is-solid) .ei-menu-toggle {
    color: var(--ei-cream);
    border-color: rgba(255,243,227,.28);
    background: transparent;
  }
  body.ei-home .v2-nav .v2-nav-links {
    color: var(--ei-ink);
  }
  body.ei-home .v2-nav .v2-nav-links a {
    opacity: 1;
    text-shadow: none;
  }
  .v2-nav-links { top: 72px; padding: 12px 18px 20px; color: var(--ei-ink); background: rgba(255,255,255,.98); border-color: var(--ei-air-line); }
  .v2-nav-links a { padding: 15px 0; border-color: var(--ei-air-line); }
  .v2-nav-actions { gap: 8px; }
  .v2-nav-linkedin { width: 40px; height: 40px; }
  .v2-nav-cta { min-height: 40px; padding: 0 13px; font-size: 0; }
  .v2-nav-cta::before { content: "+"; font-size: 18px; }

  .air-home-hero { padding: calc(var(--ei-nav-h, 72px) + 28px) 0 28px; }
  .air-home-hero .v2-hero-inner { width: min(calc(100% - 36px),1180px); min-height: calc(100svh - var(--ei-nav-h, 72px) - 56px); padding-bottom: 44px; }
  .air-home-hero h1 { font-size: clamp(57px,17vw,76px); line-height: .92; }
  .air-home-hero__lead { margin-top: 24px; font-size: 16px; }
  .air-home-hero__actions { align-items: stretch; flex-direction: column; }
  .air-home-hero__media { width: calc(100% - 20px); height: 520px; border-radius: 26px; }
  .air-home-hero__media figcaption { right: 18px; bottom: 18px; left: 18px; flex-wrap: wrap; justify-content: flex-start; gap: 8px 16px; }

  .v2-origin,.v2-network,.v2-people,.v2-structure,.ei-editorial-listing,.ei-supporters { padding: 92px 0; }
  .ei-close-stack > .ei-supporters { padding-bottom: 24px; }
  .v2-origin-grid,.v2-network-head,.v2-impact-intro,.v2-people-head,.v2-structure-title,.ei-section-heading { grid-template-columns: 1fr; gap: 34px; }
  .v2-origin h2,.v2-network-copy h2,.v2-people h2,.v2-impact-intro h2,.v2-structure-title h2,.ei-section-heading h2 { font-size: 48px; }
  .v2-origin-detail { gap: 20px; }
  .v2-network-detail { border-left: 1px solid var(--ei-air-line); }
  .v2-network-stage { padding: 26px 16px; border-radius: 24px; }
  .v2-node,.v2-node.n1,.v2-node.n2,.v2-node.n3,.v2-node.n4,.v2-node.n5 { border-radius: 18px; }
  .v2-impact-intro { padding-top: 90px; }
  .v2-impact-panels { padding-bottom: 90px; }
  .v2-impact-panel { min-height: 320px; border-radius: 22px; }
  .v2-gradient { padding: 100px 0; }
  .v2-gradient-line { font-size: 36px; }
  .v2-gradient-line span:nth-child(2),
  .v2-gradient-line span:nth-child(3),
  .v2-gradient-line span:nth-child(even),
  .v2-gradient-line span:nth-child(5) { margin-left: 0; }
  .v2-gradient-line span:nth-child(3) { text-align: left; }

  .ei-people-showcase { gap: 48px; }
  .ei-person-card__visual,.ei-person-card:nth-child(1) .ei-person-card__visual,.ei-person-card:nth-child(6) .ei-person-card__visual,.ei-people-showcase--group .ei-person-card .ei-person-card__visual { border-radius: 22px; }
  .ei-person-card__body h3,.ei-people-showcase--group .ei-person-card__body h3 { font-size: 38px; }
  .ei-people-all { font-size: 20px; }
  .ei-card-grid { gap: 20px; }
  .ei-press-links ul { grid-template-columns: 1fr; }
  .v2-network-photo { border-radius: 24px; }
  .v2-network-photo img { height: 380px; }
  .ei-content-card { border-radius: 20px; }
  .ei-featured { border-radius: 24px; padding: 8px; }
  .ei-featured h2 { max-width: none; font-size: 36px; }
  .ei-listing-hero__media { height: 380px; border-radius: 24px; }
  .ei-date-stamp--lg { min-width: 80px; }
  .ei-supporters-grid { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .ei-supporter { padding: 10px 6px; }
  .ei-supporter img { height: 44px; }

  .v2-final { min-height: 650px; }
  .ei-close-stack > .v2-final { min-height: 540px; }
  .v2-final h2 { font-size: 55px; }
  .v2-footer-main { grid-template-columns: 1fr; }

  .v2-red-hero,.ei-inner-hero,.ei-listing-hero,.ei-article-hero { min-height: auto; padding: 82px 0 74px; }
  .ei-listing-hero { padding-bottom: 28px; }
  .ei-listing-hero--text { padding-bottom: 0; }
  .ei-listing-hero--text + .ei-editorial-listing { padding-top: 28px; }
  .v2-red-hero { min-height: 520px; padding: 110px 0 64px; }
  .v2-red-hero h1,.ei-inner-hero h1,.ei-listing-hero h1,.ei-article-hero h1 { max-width: 100%; font-size: clamp(44px,13.8vw,54px); overflow-wrap: break-word; }
  .v2-structure-line { grid-template-columns: 1fr; }
  .v2-structure-item,.v2-structure-item:first-child { min-height: 220px; border: 1px solid var(--ei-air-line); }
  .v2-structure-item span.v2-structure-item__icon { margin: auto 0; }
  .ei-article-cover img { border-radius: 18px; }

  .ei-profile-hero::after { background: linear-gradient(0deg,rgba(255,243,227,.96),rgba(255,243,227,.62)); }
  .ei-profile-hero--cover::after { background: linear-gradient(0deg,rgba(31,13,34,.92),rgba(31,13,34,.55)); }
  .ei-photo-band { height: 52vh; }
  .ei-profile-hero__inner { grid-template-columns: 1fr; padding: 68px 0 74px; }
  .ei-profile-portrait { order: -1; width: 100%; margin-left: 0; border-radius: 24px; }
  .ei-profile-identity h1 { font-size: 58px; }
  .ei-profile-running { display: block; left: 18px; bottom: 14px; max-width: calc(100% - 36px); overflow: hidden; font-size: 34px; }
  .ei-profile-story,.ei-profile-gallery { padding: 92px 0; }
  .ei-profile-story h2,.ei-profile-gallery h2 { font-size: 50px; }
  .ei-profile-quote { min-height: 600px; }
  .ei-profile-quote blockquote { font-size: 48px; }
  .ei-profile-gallery img { border-radius: 18px; }

  .ei-contact-forms { gap: 14px; }
  .ei-form-panel { border-radius: 22px; }
  .ei-form-panel h2 { font-size: 42px; }
  .ei-field-grid { grid-template-columns: 1fr; }
  .ei-form-confirm { padding: 28px 22px; border-radius: 22px; }
  .ei-error-page h1 { font-size: clamp(44px,13.8vw,54px); }
}

@media (prefers-reduced-motion: reduce) {
  .ei-hero-orbits__left,
  .ei-hero-orbits__right,
  .ei-hero-orbits__drift { animation: none; }
  .v2-nav { backdrop-filter: none; }
  .ei-content-card,
  .ei-content-card:hover { transform: none; }
  .ei-form-panel .ei-field input,
  .ei-form-panel .ei-field textarea,
  .ei-checkbox-box,
  .ei-checkbox-box::after,
  .ei-submit { transition: none; }
  body.ei-home .v2-nav { transition: none; }
  .v2-structure-item,
  .v2-structure-item__icon { transition: none; }
  .v2-structure-item:hover,
  .v2-structure-item:hover .v2-structure-item__icon { transform: none; }
}
