/* McGrath portal — audience tile expand / page reveal */

html.mcgrath-tile-transition-arriving {
  background: #050a09;
}

body.mcgrath-tile-transition-active {
  overflow: hidden;
}

body.mcgrath-tile-transition-pending {
  opacity: 0;
}

body.mcgrath-tile-transition-pending.is-tile-revealed {
  opacity: 1;
  transition: opacity 0.48s ease 0.12s;
}

.mcgrath-tile-transition-scrim {
  position: fixed;
  inset: 0;
  z-index: 20000;
  background: #050a09;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease;
}

.mcgrath-tile-transition-scrim.is-visible {
  opacity: 1;
}

.mcgrath-tile-transition-ghost {
  position: fixed;
  z-index: 20001;
  box-sizing: border-box;
  border: 1px solid rgba(163, 133, 96, 0.45);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  transition:
    left 0.68s cubic-bezier(0.4, 0, 0.2, 1),
    top 0.68s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.68s cubic-bezier(0.4, 0, 0.2, 1),
    height 0.68s cubic-bezier(0.4, 0, 0.2, 1),
    border-radius 0.68s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.45s ease;
  will-change: left, top, width, height, border-radius;
}

.mcgrath-tile-transition-ghost.is-expanded {
  left: 0 !important;
  top: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  border-radius: 0 !important;
  border-color: transparent !important;
}

.mcgrath-tile-transition-title {
  position: fixed;
  inset: 0;
  z-index: 20003;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  pointer-events: none;
}

.mcgrath-tile-transition-title-label {
  font-family: "Konexy", "Mercenary", Arial, sans-serif;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  opacity: 1;
  transition: opacity 0.28s ease;
}

.mcgrath-tile-transition-active .mcgrath-portal-entry-lead,
.mcgrath-tile-transition-active .mcgrath-agent-entry-back,
.mcgrath-tile-transition-active .mcgrath-audience-card:not(.is-tile-expanding) {
  opacity: 0;
  transform: scale(0.985);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
}

.mcgrath-audience-card.is-tile-expanding {
  position: relative;
  z-index: 20002;
  opacity: 0;
  pointer-events: none;
}

.mcgrath-tile-transition-enter {
  position: fixed;
  inset: 0;
  z-index: 20000;
  pointer-events: none;
}

.mcgrath-tile-transition-enter-bg {
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 0.52s ease;
}

.mcgrath-tile-transition-enter.is-revealing .mcgrath-tile-transition-enter-bg {
  opacity: 0;
}

.mcgrath-tile-transition-enter.is-title-fading .mcgrath-tile-transition-title-label {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .mcgrath-tile-transition-ghost,
  .mcgrath-tile-transition-scrim,
  .mcgrath-tile-transition-enter,
  body.mcgrath-tile-transition-pending.is-tile-revealed {
    transition: none;
  }

  .mcgrath-tile-transition-active .mcgrath-audience-card:not(.is-tile-expanding),
  .mcgrath-tile-transition-active .mcgrath-portal-entry-lead {
    transition: none;
  }
}
