/* =========================================================
   v3.2 — TRAYECTORIA
   ========================================================= */
.trajectory-section{
  position:relative;
  background:#070709;
}
.trajectory-section:nth-of-type(even){
  background:
    radial-gradient(circle at 10% 15%,rgba(0,199,242,.06),transparent 24%),
    #070709;
}
.trajectory-section:nth-of-type(odd){
  background:
    radial-gradient(circle at 90% 80%,rgba(255,0,109,.06),transparent 24%),
    #070709;
}
.trajectory-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.trajectory-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:310px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg,#101014,#08080a);
  overflow:hidden;
  transition:.2s ease;
}
.trajectory-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,199,242,.42);
}
.trajectory-card.is-featured{
  border-color:rgba(255,0,109,.34);
  box-shadow:0 0 0 1px rgba(255,0,109,.06) inset;
}
.trajectory-featured{
  position:absolute;
  z-index:3;
  top:12px;
  right:12px;
  padding:6px 8px;
  border:1px solid rgba(255,0,109,.44);
  border-radius:999px;
  background:rgba(5,5,7,.78);
  color:var(--magenta);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.58rem;
  font-weight:900;
  backdrop-filter:blur(8px);
}
.trajectory-main-link{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
}
.trajectory-logo{
  height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(255,255,255,.025);
  border-bottom:1px solid var(--line);
}
.trajectory-logo img{
  width:100%;
  height:100%;
  max-width:190px;
  max-height:90px;
  object-fit:contain;
  filter:grayscale(1) brightness(1.9);
  transition:.2s ease;
}
.trajectory-card:hover .trajectory-logo img{
  filter:grayscale(0) brightness(1);
}
.trajectory-logo span{
  font-family:Impact,"Arial Narrow",sans-serif;
  text-transform:uppercase;
  text-align:center;
  font-size:clamp(1.5rem,2.6vw,2.4rem);
  line-height:1;
}
.trajectory-info{padding:18px}
.trajectory-info h3{
  margin:0 0 7px;
  font-size:1.22rem;
}
.trajectory-role{
  color:#fff;
  font-weight:900;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:6px;
}
.trajectory-city{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}
.trajectory-years{
  margin-top:7px;
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.69rem;
  font-weight:900;
}
.trajectory-description{
  margin:12px 0 0;
  color:#bdbdc4;
  font-size:.85rem;
}
.trajectory-links{
  display:flex;
  gap:1px;
  margin-top:auto;
  border-top:1px solid var(--line);
  background:var(--line);
}
.trajectory-links a{
  flex:1;
  min-width:0;
  padding:10px 6px;
  background:#09090b;
  text-align:center;
  color:#dcdce1;
  font-weight:900;
  font-size:.65rem;
  letter-spacing:.08em;
  transition:.2s ease;
}
.trajectory-links a:hover{
  background:#111117;
  color:var(--cyan);
}

/* Old v3.1 classes stay harmless for backwards compatibility */

@media (max-width:1000px){
  .trajectory-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .trajectory-grid{grid-template-columns:repeat(2,1fr)}
  .trajectory-card{min-height:260px}
  .trajectory-logo{height:118px;padding:18px}
  .trajectory-info{padding:14px}
  .trajectory-info h3{font-size:1rem}
}
@media (max-width:430px){
  .trajectory-grid{grid-template-columns:1fr}
}

/* =========================================================
   v3.7 — VENUE LOGOS + CURRENT RESIDENCY
   ========================================================= */
.trajectory-residency .trajectory-grid,
.trajectory-venue .trajectory-grid{
  gap:18px;
}
.trajectory-residency .trajectory-card,
.trajectory-venue .trajectory-card{
  min-height:385px;
}
.trajectory-residency .trajectory-logo,
.trajectory-venue .trajectory-logo{
  position:relative;
  height:230px;
  padding:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.09),transparent 62%),
    linear-gradient(180deg,#101015,#0a0a0d);
}
.trajectory-residency .trajectory-logo img,
.trajectory-venue .trajectory-logo img{
  width:100%;
  height:100%;
  max-width:320px;
  max-height:165px;
  object-fit:contain;
  filter:none;
  opacity:1;
  transform:scale(1.16);
  transition:transform .22s ease,filter .22s ease;
}
.trajectory-residency .trajectory-card:hover .trajectory-logo img,
.trajectory-venue .trajectory-card:hover .trajectory-logo img{
  transform:scale(1.22);
}
.trajectory-residency .trajectory-info,
.trajectory-venue .trajectory-info{
  padding:20px 20px 18px;
}
.trajectory-residency .trajectory-info h3,
.trajectory-venue .trajectory-info h3{
  font-size:1.42rem;
}
.trajectory-current{
  position:absolute;
  z-index:10;
  top:16px;
  left:16px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:0;
  border-radius:999px;
  background:var(--cyan);
  color:#020304;
  box-shadow:0 8px 24px rgba(0,199,242,.28);
  text-transform:uppercase;
  letter-spacing:.11em;
  white-space:nowrap;
  line-height:1;
  font-size:.62rem;
  font-weight:900;
}
.trajectory-residency .trajectory-card.is-current-residency{
  grid-column:auto;
  min-height:385px;
  border:2px solid rgba(0,199,242,.95);
  background:
    radial-gradient(circle at 18% 12%,rgba(0,199,242,.24),transparent 34%),
    radial-gradient(circle at 92% 82%,rgba(255,0,109,.14),transparent 36%),
    linear-gradient(145deg,#11141a 0%,#0d0d12 50%,#09090c 100%);
  box-shadow:
    0 0 0 1px rgba(255,0,109,.16) inset,
    0 20px 55px rgba(0,199,242,.10),
    0 0 42px rgba(0,199,242,.08);
}
.trajectory-residency .trajectory-card.is-current-residency::before{
  content:"";
  position:absolute;
  z-index:8;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--cyan),var(--magenta));
}
.trajectory-residency .trajectory-card.is-current-residency:hover{
  transform:translateY(-5px);
  border-color:var(--cyan);
  box-shadow:
    0 0 0 1px rgba(255,0,109,.24) inset,
    0 24px 70px rgba(0,199,242,.16),
    0 0 55px rgba(0,199,242,.12);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
  height:240px;
  background:
    radial-gradient(circle at 50% 48%,rgba(0,199,242,.18),transparent 48%),
    radial-gradient(circle at 88% 12%,rgba(255,0,109,.14),transparent 34%),
    #0b0d12;
  border-bottom-color:rgba(0,199,242,.28);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-logo img{
  max-width:350px;
  max-height:180px;
  transform:scale(1.28);
}
.trajectory-residency .trajectory-card.is-current-residency:hover .trajectory-logo img{
  transform:scale(1.34);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-info h3{
  color:var(--cyan);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-role{
  color:#fff;
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-links{
  border-top-color:rgba(0,199,242,.32);
  background:rgba(0,199,242,.18);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-links a{
  background:#071015;
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-links a:hover{
  background:var(--cyan);
  color:#020304;
}

@media (max-width:1000px){
  .trajectory-residency .trajectory-logo,
  .trajectory-venue .trajectory-logo{
    height:205px;
    padding:24px;
  }
  .trajectory-residency .trajectory-logo img,
  .trajectory-venue .trajectory-logo img{
    max-width:290px;
    max-height:145px;
  }
}
@media (max-width:720px){
  .trajectory-residency .trajectory-card,
  .trajectory-venue .trajectory-card,
  .trajectory-residency .trajectory-card.is-current-residency{
    min-height:330px;
  }
  .trajectory-residency .trajectory-logo,
  .trajectory-venue .trajectory-logo{
    height:180px;
    padding:20px;
  }
  .trajectory-residency .trajectory-logo img,
  .trajectory-venue .trajectory-logo img{
    max-width:250px;
    max-height:125px;
    transform:scale(1.12);
  }
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
    height:195px;
  }
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo img{
    max-width:280px;
    max-height:140px;
    transform:scale(1.20);
  }
  .trajectory-current{
    top:14px;
    left:14px;
    min-height:28px;
    padding:0 10px;
    font-size:.58rem;
  }
}
@media (max-width:430px){
  .trajectory-residency .trajectory-logo,
  .trajectory-venue .trajectory-logo,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
    height:190px;
  }
}


/* =========================================================
   v3.8 — COMPACT ABOUT / UNIFIED TRAJECTORY LOGOS
   ========================================================= */

/* Compacta las secciones de trayectoria sin restarle presencia a los logos. */
.trajectory-section.section{
  padding:58px 0;
}
.trajectory-section .section-heading{
  max-width:980px;
  margin-bottom:24px;
}
.trajectory-section .section-heading h2{
  max-width:920px;
  margin-bottom:12px;
  font-size:clamp(2rem,4vw,3.45rem);
  line-height:.94;
}
.trajectory-section .section-intro{
  max-width:760px;
  margin-top:0;
  font-size:.98rem;
  line-height:1.55;
}

/* Todas las categorías usan la misma escala visual de logos que Venues. */
.trajectory-section .trajectory-grid{
  gap:16px;
}
.trajectory-section .trajectory-card{
  min-height:355px;
}
.trajectory-section .trajectory-logo{
  position:relative;
  height:220px;
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.09),transparent 62%),
    linear-gradient(180deg,#101015,#0a0a0d);
  border-bottom:1px solid var(--line);
}
.trajectory-section .trajectory-logo img{
  width:100%;
  height:100%;
  max-width:320px;
  max-height:160px;
  object-fit:contain;
  filter:none;
  opacity:1;
  transform:scale(1.14);
  transition:transform .22s ease,filter .22s ease;
}
.trajectory-section .trajectory-card:hover .trajectory-logo img{
  transform:scale(1.20);
}
.trajectory-section .trajectory-info{
  padding:17px 18px 15px;
}
.trajectory-section .trajectory-info h3{
  margin-bottom:5px;
  font-size:1.22rem;
  line-height:1;
}

/* Cassette se diferencia por la tarjeta, no por un logo desproporcionado. */
.trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
  height:220px;
  padding:24px;
  background:
    radial-gradient(circle at 50% 48%,rgba(0,199,242,.19),transparent 50%),
    radial-gradient(circle at 88% 12%,rgba(255,0,109,.14),transparent 34%),
    #0b0d12;
  border-bottom-color:rgba(0,199,242,.34);
}
.trajectory-residency .trajectory-card.is-current-residency .trajectory-logo img{
  max-width:320px;
  max-height:160px;
  transform:scale(1.14);
}
.trajectory-residency .trajectory-card.is-current-residency:hover .trajectory-logo img{
  transform:scale(1.20);
}

/* La residencia actual mantiene un contraste claro, pero con altura uniforme. */
.trajectory-residency .trajectory-card.is-current-residency{
  min-height:355px;
}
.trajectory-current{
  top:14px;
  left:14px;
}

@media (max-width:1000px){
  .trajectory-section.section{padding:52px 0}
  .trajectory-section .section-heading h2{
    font-size:clamp(2rem,5vw,3.1rem);
  }
  .trajectory-section .trajectory-logo,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
    height:200px;
    padding:22px;
  }
  .trajectory-section .trajectory-logo img,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo img{
    max-width:285px;
    max-height:145px;
  }
}

@media (max-width:720px){
  .trajectory-section.section{padding:44px 0}
  .trajectory-section .section-heading{margin-bottom:20px}
  .trajectory-section .section-heading h2{
    font-size:clamp(1.85rem,8vw,2.65rem);
  }
  .trajectory-section .section-intro{font-size:.93rem}
  .trajectory-section .trajectory-card,
  .trajectory-residency .trajectory-card.is-current-residency{
    min-height:310px;
  }
  .trajectory-section .trajectory-logo,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
    height:175px;
    padding:18px;
  }
  .trajectory-section .trajectory-logo img,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo img{
    max-width:245px;
    max-height:125px;
    transform:scale(1.08);
  }
  .trajectory-section .trajectory-card:hover .trajectory-logo img,
  .trajectory-residency .trajectory-card.is-current-residency:hover .trajectory-logo img{
    transform:scale(1.12);
  }
}

@media (max-width:430px){
  .trajectory-section.section{padding:40px 0}
  .trajectory-section .trajectory-logo,
  .trajectory-residency .trajectory-card.is-current-residency .trajectory-logo{
    height:175px;
  }
}
