/* Talent Star Mark — Eventos y logística */
.events-page {
  --events-gold: var(--gold, #edc45d);
  --events-cyan: var(--cyan, #67d7ff);
  --events-violet: var(--violet, #9c7cff);
}

.events-page main { overflow: clip; }
.events-page .page-nav { gap: clamp(.55rem, 1vw, 1.05rem); }
.events-page .page-nav a { font-size: .72rem; }
.events-page .production-section { content-visibility: auto; contain-intrinsic-size: auto 820px; }
.events-page .events-hero,
.events-page .events-brief { content-visibility: visible; contain-intrinsic-size: none; }

.events-space::before {
  background:
    radial-gradient(circle at 75% 20%, color-mix(in srgb, var(--events-cyan) 12%, transparent), transparent 26%),
    radial-gradient(circle at 20% 68%, color-mix(in srgb, var(--events-gold) 10%, transparent), transparent 34%),
    linear-gradient(128deg, transparent 0 48%, color-mix(in srgb, var(--events-violet) 8%, transparent) 49% 50%, transparent 51%);
}

.events-hero__visual {
  min-height: clamp(420px, 46vw, 600px);
  isolation: isolate;
}

.events-map {
  position: absolute;
  inset: 7% 2% 5%;
  border: 1px solid color-mix(in srgb, var(--events-gold) 28%, transparent);
  border-radius: 38px;
  background:
    linear-gradient(color-mix(in srgb, var(--events-cyan) 8%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--events-cyan) 8%, transparent) 1px, transparent 1px),
    radial-gradient(circle at 55% 42%, color-mix(in srgb, var(--events-cyan) 10%, transparent), transparent 44%),
    rgba(3, 7, 18, .48);
  background-size: 44px 44px, 44px 44px, auto, auto;
  box-shadow: inset 0 0 80px rgba(0, 0, 0, .5), 0 28px 80px rgba(0, 0, 0, .3);
  transform: perspective(900px) rotateX(6deg) rotateY(-6deg);
}

.events-map svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: color-mix(in srgb, var(--events-cyan) 62%, white);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 8 10;
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--events-cyan) 32%, transparent));
}

.events-map svg circle { fill: var(--events-gold); stroke: color-mix(in srgb, var(--events-gold) 70%, white); stroke-dasharray: none; }
.events-map__zone {
  position: absolute;
  z-index: 2;
  padding: .35rem .55rem;
  border: 1px solid color-mix(in srgb, var(--events-gold) 34%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--events-gold) 86%, white);
  background: rgba(3, 7, 18, .84);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .14em;
  box-shadow: 0 0 24px color-mix(in srgb, var(--events-gold) 14%, transparent);
}
.events-map__zone--reception { top: 18%; left: 8%; }
.events-map__zone--stage { top: 26%; right: 7%; }
.events-map__zone--production { bottom: 16%; left: 37%; }

.events-coordinator {
  position: absolute;
  z-index: 4;
  right: 19%;
  bottom: 8%;
  width: clamp(210px, 25vw, 300px);
  filter: drop-shadow(0 24px 35px rgba(0, 0, 0, .6));
}
.events-coordinator > svg { width: 100%; fill: rgba(3, 7, 18, .9); stroke: color-mix(in srgb, var(--events-gold) 82%, white); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.events-coordinator .gold { stroke: var(--events-gold); }
.events-coordinator .accent { stroke: var(--events-cyan); }
.events-radio { position: absolute; top: 24%; right: 2%; width: 52px; height: 52px; }
.events-radio i { position: absolute; inset: 50%; width: 12px; height: 1px; background: var(--events-cyan); transform-origin: 0 50%; box-shadow: 0 0 12px var(--events-cyan); }
.events-radio i:nth-child(1) { transform: rotate(-35deg) translateX(7px); }
.events-radio i:nth-child(2) { transform: translateX(7px); }
.events-radio i:nth-child(3) { transform: rotate(35deg) translateX(7px); }

.events-shift-card {
  position: absolute;
  z-index: 5;
  min-width: 112px;
  padding: .72rem .85rem;
  border: 1px solid color-mix(in srgb, var(--events-gold) 28%, transparent);
  border-radius: 15px;
  background: rgba(5, 8, 20, .82);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .04);
  backdrop-filter: blur(10px);
}
.events-shift-card strong { display: block; color: #fff; font-size: .92rem; }
.events-shift-card span { display: block; margin-top: .12rem; color: var(--events-gold); font-size: .55rem; font-weight: 800; letter-spacing: .12em; }
.events-shift-card--one { top: 15%; left: 2%; transform: rotate(-4deg); }
.events-shift-card--two { top: 44%; right: 0; transform: rotate(3deg); }
.events-shift-card--three { bottom: 10%; left: 6%; transform: rotate(2deg); }
.events-badge {
  position: absolute;
  z-index: 6;
  right: 8%;
  bottom: 4%;
  display: grid;
  place-items: center;
  width: 92px;
  padding: .7rem .55rem;
  border: 1px solid color-mix(in srgb, var(--events-gold) 55%, transparent);
  border-radius: 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--events-gold) 20%, #070b18), #030610);
  box-shadow: 0 0 32px color-mix(in srgb, var(--events-gold) 18%, transparent);
}
.events-badge span { color: var(--events-gold); }
.events-badge strong { font-size: .72rem; letter-spacing: .15em; }
.events-badge small { color: var(--muted); font-size: .5rem; letter-spacing: .1em; }

body[data-motion="on"] .events-map svg path { animation: events-route 10s linear infinite; }
body[data-motion="on"] .events-shift-card--one { animation: events-float 5.7s ease-in-out infinite; }
body[data-motion="on"] .events-shift-card--two { animation: events-float 6.2s ease-in-out -2s infinite; }
body[data-motion="on"] .events-shift-card--three { animation: events-float 5.1s ease-in-out -1.2s infinite; }
body[data-motion="on"] .events-radio { animation: events-pulse 2.2s ease-in-out infinite; }
@keyframes events-route { to { stroke-dashoffset: -180; } }
@keyframes events-float { 50% { translate: 0 -7px; } }
@keyframes events-pulse { 50% { opacity: .42; transform: scale(.92); } }

.events-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.events-service-card {
  position: relative;
  min-height: 246px;
  padding: clamp(1.2rem, 2.5vw, 2rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--events-gold) 18%, rgba(255,255,255,.1));
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--events-cyan) 9%, transparent), transparent 30%),
    linear-gradient(150deg, rgba(12, 16, 32, .88), rgba(3, 6, 16, .82));
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.events-service-card::after { position: absolute; right: -40px; bottom: -70px; width: 180px; height: 180px; border: 1px solid color-mix(in srgb, var(--events-violet) 18%, transparent); border-radius: 50%; content: ""; }
.events-service-card:hover,
.events-service-card:focus-within { border-color: color-mix(in srgb, var(--events-gold) 45%, transparent); box-shadow: 0 22px 70px rgba(0,0,0,.3), 0 0 30px color-mix(in srgb, var(--events-gold) 9%, transparent); transform: translateY(-5px); }
.events-service-card.is-selected { border-color: var(--events-gold); box-shadow: 0 0 0 1px color-mix(in srgb, var(--events-gold) 25%, transparent), 0 0 36px color-mix(in srgb, var(--events-gold) 13%, transparent); }
.events-service-card__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.events-service-card__icon { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid color-mix(in srgb, var(--events-gold) 28%, transparent); border-radius: 18px; color: var(--events-gold); background: rgba(3, 6, 16, .7); }
.events-service-card__icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.events-service-card__number { color: color-mix(in srgb, var(--events-gold) 60%, transparent); font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
.events-service-card h3 { max-width: 25ch; margin: 1.25rem 0 .65rem; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.events-service-card p { max-width: 58ch; margin: 0; color: var(--muted); }
.events-service-card button { margin-top: 1.15rem; padding: .72rem 1rem; border: 1px solid color-mix(in srgb, var(--events-gold) 34%, transparent); border-radius: 12px; color: var(--events-gold); background: transparent; font-weight: 750; cursor: pointer; }
.events-service-card button:hover,
.events-service-card button:focus-visible { color: #05070f; background: var(--events-gold); }

.events-regulated { padding-top: clamp(2rem, 4vw, 4.5rem); }
.events-regulated__card { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; padding: clamp(1.5rem, 3vw, 2.4rem); border: 1px solid color-mix(in srgb, #ffcc67 28%, rgba(255,255,255,.1)); border-radius: 24px; background: linear-gradient(125deg, rgba(22, 17, 10, .72), rgba(5, 7, 18, .85)); }
.events-regulated__icon { display: grid; place-items: center; width: 74px; height: 74px; border: 1px solid color-mix(in srgb, #ffcc67 36%, transparent); border-radius: 20px; color: #ffcc67; }
.events-regulated__icon svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.events-regulated h2 { margin: .35rem 0 .8rem; font-size: clamp(1.5rem, 3vw, 2.35rem); }
.events-regulated p { max-width: 84ch; }

.events-type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.events-type-grid .production-type-card { min-height: 268px; }

.events-profiles__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.events-profile-card { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(8,11,25,.82); }
.events-profile-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.events-profile-card__body { padding: 1rem; }
.events-profile-card__body h3 { margin: 0 0 .3rem; }
.events-profile-card__body p { color: var(--muted); }
.events-profile-card__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.events-profile-card__actions button,
.events-profile-card__actions a { min-height: 44px; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; color: #fff; background: rgba(255,255,255,.03); font: inherit; cursor: pointer; }

.events-process .production-process__timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.events-process .production-process__timeline li { min-width: 0; }

.events-role-checks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.events-role-details { display: grid; gap: .8rem; margin-top: 1rem; }
.events-role-detail { border: 1px solid color-mix(in srgb, var(--events-gold) 18%, rgba(255,255,255,.08)); border-radius: 18px; background: rgba(7,10,23,.65); }
.events-role-detail summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: .75rem 1rem; color: #fff; font-weight: 750; cursor: pointer; list-style: none; }
.events-role-detail summary::-webkit-details-marker { display: none; }
.events-role-detail summary::after { content: "+"; color: var(--events-gold); font-size: 1.2rem; }
.events-role-detail[open] summary::after { content: "−"; }
.events-role-detail__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; padding: 0 1rem 1rem; }
.events-role-detail__grid .production-field--full { grid-column: 1 / -1; }
.events-to-define { margin: 1rem 0; }
.events-to-define small { display: block; margin-top: .2rem; color: var(--muted); }

.events-selection-notice { margin: 0 0 .75rem; padding: .8rem; border: 1px solid color-mix(in srgb, var(--events-cyan) 20%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--events-cyan) 6%, rgba(5,8,20,.75)); }
.events-selection-notice p { margin: 0 0 .4rem; color: var(--muted); font-size: .8rem; }
.events-selection-notice a { color: var(--events-gold); font-size: .78rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }

.events-deliverables-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .85rem; }
.events-deliverables-grid article { padding: 1.2rem; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: rgba(7,10,23,.72); }
.events-deliverables-grid article > span { color: var(--events-gold); font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.events-deliverables-grid h3 { margin: .55rem 0 .45rem; }
.events-deliverables-grid p { margin: 0; color: var(--muted); }

.events-page .production-closing__inner > svg { fill: none; stroke: color-mix(in srgb, var(--events-cyan) 44%, transparent); stroke-width: 2; }
.events-page .production-closing__inner > svg .gold { stroke: var(--events-gold); }
.events-page .production-closing__inner > svg .accent { stroke: var(--events-cyan); }
.events-page .production-closing__inner > svg .violet { stroke: var(--events-violet); }

body[data-motion="off"] .events-map svg path,
body[data-motion="off"] .events-shift-card,
body[data-motion="off"] .events-radio,
body.is-paused .events-map svg path,
body.is-paused .events-shift-card,
body.is-paused .events-radio { animation-play-state: paused !important; animation: none !important; }

@media (max-width: 1180px) {
  .events-page .page-nav a { font-size: .66rem; }
  .events-type-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .events-process .production-process__timeline { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .events-profiles__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .events-service-grid { grid-template-columns: 1fr; }
  .events-role-checks { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .events-role-detail__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .events-deliverables-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .events-profiles__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .events-page .production-section { content-visibility: visible; contain-intrinsic-size: none; }
  .events-hero__visual { min-height: 390px; margin-top: 1rem; }
  .events-map { inset: 2% 0 4%; transform: none; }
  .events-coordinator { right: 14%; bottom: 2%; width: 210px; }
  .events-shift-card { min-width: 92px; padding: .55rem .65rem; }
  .events-shift-card--one { left: 0; }
  .events-shift-card--two { right: 0; }
  .events-shift-card--three { left: 3%; }
  .events-badge { right: 2%; width: 78px; }
  .events-service-grid,
  .events-type-grid,
  .events-process .production-process__timeline,
  .events-deliverables-grid,
  .events-profiles__grid { grid-template-columns: 1fr; }
  .events-role-checks { grid-template-columns: 1fr; }
  .events-role-detail__grid { grid-template-columns: 1fr; }
  .events-regulated__card { grid-template-columns: 1fr; }
  .events-regulated__icon { width: 60px; height: 60px; }
  .events-service-card { min-height: 0; }
}

@media (max-width: 430px) {
  .events-hero__visual { min-height: 350px; }
  .events-coordinator { right: 9%; width: 190px; }
  .events-shift-card--three { display: none; }
  .events-service-card { padding: 1.05rem; border-radius: 20px; }
  .events-service-card h3 { font-size: 1.13rem; }
}

@media (prefers-reduced-motion: reduce) {
  .events-map svg path,
  .events-shift-card,
  .events-radio { animation: none !important; }
}
