/* ============================================================
   INTERNA EC · Vista Home — hero, problema, evidencia,
   territorios, Taylor Made, cierre
   ============================================================ */

/* ---------- Hero ---------- */
.hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  align-items: end;
  overflow: hidden;
  padding-block: clamp(8rem, 14vh, 12rem) clamp(4rem, 7vh, 6rem);
  background:
    radial-gradient(38% 42% at 72% 118%, rgba(241, 90, 36, 0.22) 0%, transparent 62%),
    radial-gradient(30% 34% at 12% 16%, var(--fire-aura) 0%, transparent 60%),
    radial-gradient(50% 40% at 92% 22%, var(--copper-aura) 0%, transparent 62%),
    linear-gradient(180deg, var(--carbon-950) 0%, var(--carbon-900) 100%);
}

.hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: grid;
  background: transparent;
}

.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(8, 8, 10, 0.72) 0%, rgba(8, 8, 10, 0.34) 42%, rgba(8, 8, 10, 0.14) 64%, rgba(8, 8, 10, 0.5) 100%),
    linear-gradient(180deg, rgba(8, 8, 10, 0.5) 0%, rgba(8, 8, 10, 0) 28%, rgba(8, 8, 10, 0) 62%, rgba(8, 8, 10, 0.42) 100%);
  pointer-events: none;
}

.hero__embers {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Grano fílmico sutil (SVG data-uri, bajo costo) */
.hero__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  opacity: 0.06;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: var(--space-6);
  max-width: 52rem;
}

.hero__eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  font-weight: 500;
  letter-spacing: var(--tracking-mono-wide);
  text-transform: uppercase;
  color: var(--text-secondary);
}

.hero__eyebrow strong {
  color: var(--paper);
  font-weight: 500;
}

.hero__title {
  font-size: var(--text-display-hero);
  font-weight: 800;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

.hero__lead {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-h3);
  line-height: 1.2;
  color: var(--copper);
  max-width: 24ch;
}

.hero__support {
  font-size: var(--text-lead);
  color: var(--text-secondary);
  max-width: 34ch;
}

.hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

/* ---------- Problema ---------- */
.problema {
  background: var(--carbon-950);
  display: grid;
  gap: var(--space-8);
  max-width: 52rem;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.problema__list {
  display: grid;
  gap: var(--space-2);
}

.problema__item {
  position: relative;
  padding-left: var(--space-6);
  font-size: var(--text-lead);
  color: var(--text-secondary);
}

.problema__item::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--copper);
}

.problema__punch {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--text-h2);
  letter-spacing: var(--tracking-display);
}

.problema__punch em {
  font-style: normal;
  color: var(--fire-500);
}

.problema__intro {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-h3);
  color: var(--copper);
}

/* ---------- Evidencia ---------- */
.evidence {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(50% 40% at 15% 0%, rgba(241, 90, 36, 0.08) 0%, transparent 60%),
    radial-gradient(45% 50% at 90% 100%, rgba(201, 143, 99, 0.07) 0%, transparent 60%),
    var(--carbon-950);
}

.evidence__inner {
  position: relative;
  z-index: 1;
}

.numbers__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--row-gap);
}

.number-card {
  border-left: 1px solid var(--line-dark);
  padding-left: var(--space-5);
  display: grid;
  gap: var(--space-3);
  align-content: start;
}

.number-card__value {
  font-family: var(--font-mono);
  font-size: var(--text-metric);
  font-weight: 500;
  line-height: 1;
  color: var(--paper);
}

.number-card__value.is-pending {
  color: var(--text-muted);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
}

.number-card__label {
  font-family: var(--font-mono);
  font-size: var(--text-micro);
  letter-spacing: var(--tracking-mono-wide);
  text-transform: uppercase;
  color: var(--text-secondary);
}

.number-card__def {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.evidence__note {
  margin-top: var(--space-8);
  max-width: 56ch;
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.6;
  display: grid;
  gap: var(--space-3);
}

.evidence__media {
  margin-top: var(--space-10);
}

.evidence__actions {
  margin-top: var(--space-8);
}

/* ---------- Territorios ---------- */
.territories {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--carbon-950) 0%, var(--carbon-900) 100%);
}

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

.territories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--row-gap);
  margin-top: var(--space-10);
}

.territory-card {
  display: grid;
  gap: var(--space-5);
  align-content: start;
  min-height: 320px;
  background: var(--carbon-900);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius-card);
  padding: var(--gutter-card);
  transition: border-color var(--dur-med) var(--ease-out),
    transform var(--dur-med) var(--ease-out),
    background-color var(--dur-med) var(--ease-out);
}

.territory-card:hover,
.territory-card:focus-within {
  border-color: rgba(241, 90, 36, 0.4);
  transform: translateY(-4px);
  background: var(--carbon-850);
}

.territory-card__index {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--tracking-mono);
  color: var(--text-muted);
}

.territory-card__index strong {
  color: var(--fire-500);
  font-weight: 500;
}

.territory-card__title {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: 800;
  letter-spacing: var(--tracking-display);
}

.territory-card__line {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-lead);
  line-height: 1.25;
  color: var(--copper);
}

.territory-card__tags {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.territory-card__link {
  margin-top: auto;
  justify-self: start;
}

/* ---------- Frame 3D "grupo → equipo" (Teams · Three.js) ---------- */

/* ---------- Taylor Made ---------- */
.taylor {
  position: relative;
  background:
    linear-gradient(90deg, rgba(241, 90, 36, 0.05) 0%, transparent 40%),
    var(--carbon-950);
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--space-10);
  align-items: start;
}

.taylor__intro,
.taylor > div:last-child {
  position: relative;
  z-index: 1;
}

.taylor__intro {
  position: sticky;
  top: calc(var(--space-12) + 72px);
  display: grid;
  gap: var(--space-6);
}

.taylor__vaya {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-h4);
  color: var(--copper);
}

.taylor__questions {
  display: grid;
  gap: var(--space-8);
}

.taylor__media {
  margin-top: var(--space-10);
}

.taylor__media + .taylor__process {
  margin-top: var(--space-10);
}

.taylor__q {
  border-bottom: 1px solid var(--line-dark);
  padding-bottom: var(--space-6);
}

.taylor__q-text {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  color: var(--paper);
}

.taylor__q-index {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--tracking-mono);
  color: var(--fire-500);
  margin-bottom: var(--space-3);
}

.taylor__process {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.taylor__process-step {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--text-secondary);
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  padding: var(--space-2) var(--space-4);
}

.taylor__process-step::marker {
  color: var(--fire-500);
}

/* ---------- Cierre ---------- */
.closing {
  position: relative;
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(55% 60% at 50% 120%, rgba(241, 90, 36, 0.14) 0%, transparent 65%),
    var(--carbon-950);
}

/* Brasas cinemáticas tras el cierre (misma pieza 3D que el hero) */
.closing__embers {
  position: absolute;
  inset: 12% 0 0 0;
  width: 100%;
  height: 88%;
  opacity: 0.5;
  pointer-events: none;
}

.closing__embers canvas {
  width: 100%;
  height: 100%;
}

.closing__inner {
  position: relative;
  z-index: 1;
}

.closing__inner {
  display: grid;
  justify-items: center;
  gap: var(--space-8);
  max-width: 46rem;
  margin-inline: auto;
}

.closing__title {
  font-size: var(--text-display-section);
  font-weight: 800;
}

.closing__title em {
  font-style: normal;
  color: var(--fire-500);
}

.closing__sub {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-h3);
  color: var(--copper);
}
#taylor > .flame-mark--left-top {
  top: 1.5%;
}

#evidencia > .flame-mark--left-top {
  bottom: 1.5%;
}

/* ---------- Responsive Home ---------- */
@media (max-width: 1199.98px) {
  .numbers__grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

@media (max-width: 767.98px) {
  .hero__actions .btn {
    width: 100%;
  }

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

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

  .territory-card {
    min-height: 0;
  }

  .taylor {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  .taylor__intro {
    position: static;
  }

  .taylor__intro .btn {
    width: 100%;
    white-space: normal;
    text-align: left;
  }
}
