/* Portadas de eventos de empresa de la colección de estilos (5 nov 2026). Marcas, lugares y fechas
   inventados; sin fotos. Cada una con su propia estructura, a pantalla completa y sin scroll.
   Tipografías alojadas en EVOW. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

body {
  -webkit-font-smoothing: antialiased;
}

p,
h1,
dl,
dd {
  margin: 0;
}

.cover {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100svh;
  overflow: hidden;
}

.mono {
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: min(2.9vw, 1.4vh);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.square {
  display: inline-block;
  padding: min(3.6vw, 1.7vh) min(7vw, 3.4vh);
  font-family: "Inter", system-ui, sans-serif;
  font-size: min(2.9vw, 1.4vh);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* ---------- Ondaluz Summit: congreso tecnológico, ondas de luz sobre azul noche ---------- */
.ondaluz {
  justify-content: space-between;
  padding: 5vh 8vw 6vh;
  color: #eaf2ff;
  background: #0a1430;
}

/* Ondas concéntricas que salen de una esquina */
.ondaluz::before {
  content: "";
  position: absolute;
  top: -14vh;
  right: -76vw;
  width: 140vw;
  height: 140vw;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 min(6vw, 3vh), rgba(77, 163, 255, 0.28) min(6vw, 3vh) calc(min(6vw, 3vh) + 1.5px));
  -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%);
  mask-image: radial-gradient(circle, #000 30%, transparent 70%);
}

/* La luz va a media altura, a la derecha: arriba quedaba bajo la isla del iPhone */
.ondaluz::after {
  content: "";
  position: absolute;
  top: 34vh;
  right: -6vw;
  width: min(30vw, 15vh);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, #9bd2ff 0%, #3b8bff 40%, rgba(59, 139, 255, 0) 70%);
  filter: blur(2px);
}

.ondaluz > * {
  position: relative;
  z-index: 1;
}

.ondaluz .brand {
  font: 600 min(4.6vw, 2.2vh) "Outfit", sans-serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.ondaluz h1 {
  font: 600 min(17vw, 8.6vh)/0.92 "Outfit", sans-serif;
  letter-spacing: -0.03em;
}

.ondaluz h1 span {
  display: block;
  color: #4da3ff;
}

.ondaluz .claim {
  max-width: 85%;
  margin-top: 2vh;
  font: 400 min(4.4vw, 2.1vh)/1.45 "Outfit", sans-serif;
  color: #b9c9e6;
}

.ondaluz dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6vh 4vw;
  padding-top: 2vh;
  border-top: 1px solid rgba(155, 210, 255, 0.35);
}

.ondaluz dt {
  color: #4da3ff;
}

.ondaluz dd {
  margin-top: 0.4vh;
  font: 500 min(4.4vw, 2.1vh)/1.3 "Outfit", sans-serif;
}

.ondaluz .square {
  align-self: flex-start;
  margin-top: 2.6vh;
  color: #0a1430;
  background: #4da3ff;
}

/* ---------- Carteles de evento, en la línea de Distrito Ámbar: Archivo estrecha y muy negra ---------- */
.poster {
  font-family: "Archivo", system-ui, sans-serif;
}

.poster .big {
  font-weight: 900;
  font-stretch: 62%;
  line-height: 0.8;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

/* Palabra en contorno: el color del trazo va en cada cartel (con «currentColor» salía transparente) */
.poster .outline {
  color: transparent;
  -webkit-text-stroke: 2px var(--stroke);
}

.zafral {
  --stroke: #d4ff3a;
}

.bravona {
  --stroke: #2b0f08;
}

/* ---------- Zafral · Launch night: negro y lima, con entrada troquelada ---------- */
.zafral {
  justify-content: space-between;
  padding: 5vh 7vw 5vh;
  color: #d4ff3a;
  background: #0d0d0d;
}

.zafral .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.6vh;
  border-bottom: 2px solid #d4ff3a;
}

.zafral .brand {
  font-weight: 900;
  font-stretch: 62%;
  font-size: min(7vw, 3.4vh);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.zafral .big {
  font-size: min(31vw, 15.5vh);
}

.zafral .big span {
  display: block;
}

.zafral .claim {
  margin-top: 1.8vh;
  color: #f2f2ea;
  font: 400 min(4.4vw, 2.1vh)/1.45 "Archivo", sans-serif;
}

/* Entrada con muescas a los lados y línea troquelada */
.zafral .ticket {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4vh 4vw;
  padding: 2vh 5vw;
  color: #0d0d0d;
  background: #d4ff3a;
  -webkit-mask: radial-gradient(circle at 0 62%, transparent 10px, #000 11px) left / 51% 100% no-repeat,
    radial-gradient(circle at 100% 62%, transparent 10px, #000 11px) right / 51% 100% no-repeat;
  mask: radial-gradient(circle at 0 62%, transparent 10px, #000 11px) left / 51% 100% no-repeat,
    radial-gradient(circle at 100% 62%, transparent 10px, #000 11px) right / 51% 100% no-repeat;
}

.zafral .ticket dt {
  font-size: min(2.6vw, 1.25vh);
}

.zafral .ticket dd {
  margin-top: 0.3vh;
  font-weight: 800;
  font-stretch: 75%;
  font-size: min(6vw, 2.9vh);
  line-height: 1;
  text-transform: uppercase;
}

.zafral .ticket .cut {
  grid-column: 1 / -1;
  height: 0;
  border-top: 2px dashed rgba(13, 13, 13, 0.45);
}

.zafral .ticket .note {
  grid-column: 1 / -1;
  font: 500 min(2.8vw, 1.35vh) "IBM Plex Mono", monospace;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.zafral .square {
  align-self: flex-start;
  margin-top: 2.4vh;
  color: #0d0d0d;
  background: #d4ff3a;
  box-shadow: 4px 4px 0 #f2f2ea;
}

/* ---------- Bravona · Fin de temporada: rojo coral, sello giratorio y palabras gigantes ---------- */
.bravona {
  justify-content: space-between;
  padding: 5vh 7vw 5vh;
  color: #2b0f08;
  background: #ff5a36;
}

.bravona .top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.bravona .brand {
  font-weight: 900;
  font-stretch: 62%;
  font-size: min(8vw, 3.9vh);
  line-height: 0.9;
  text-transform: uppercase;
}

/* Sello circular con el texto girando */
.bravona .seal {
  width: min(26vw, 12.5vh);
  aspect-ratio: 1;
  animation: spin 18s linear infinite;
}

.bravona .seal text {
  font: 600 10.5px "IBM Plex Mono", monospace;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  fill: #2b0f08;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bravona .seal {
    animation: none;
  }
}

.bravona .big {
  font-size: min(27vw, 13.5vh);
}

.bravona .big span {
  display: block;
}

.bravona .big .cream {
  color: #fff1df;
}

.bravona .meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4vh 4vw;
  padding-top: 1.6vh;
  border-top: 2px solid #2b0f08;
}

.bravona .meta dd {
  margin-top: 0.3vh;
  font-weight: 700;
  font-size: min(4.4vw, 2.1vh);
  line-height: 1.25;
}

.bravona .bottom .square {
  margin-top: 2.2vh;
  color: #fff1df;
  background: #2b0f08;
  box-shadow: 4px 4px 0 #fff1df;
}

/* ---------- Premios Valdora · Gala de entrega: negro y oro, clásica y centrada, con medalla de
   laurel. La portada más formal de la colección, contrapunto a los carteles (5 nov 2026) ---------- */
.valdora {
  justify-content: space-between;
  padding: 5vh 9vw;
  color: #e9dcc0;
  background:
    radial-gradient(70% 45% at 50% 38%, rgba(201, 162, 79, 0.16), transparent 70%),
    #0e0d0b;
  text-align: center;
}

/* Doble filete dorado que enmarca la invitación */
.valdora::before,
.valdora::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(201, 162, 79, 0.55);
  pointer-events: none;
}

.valdora::before {
  inset: min(3.4vw, 1.6vh);
}

.valdora::after {
  inset: min(4.8vw, 2.3vh);
  border-color: rgba(201, 162, 79, 0.25);
}

.valdora > * {
  position: relative;
  z-index: 1;
}

.valdora .top {
  display: flex;
  justify-content: space-between;
  padding: 0 2vw 1.4vh;
  border-bottom: 1px solid rgba(201, 162, 79, 0.35);
  font: 500 min(2.6vw, 1.25vh) "Inter", sans-serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #c9a24f;
}

.valdora .middle {
  display: grid;
  justify-items: center;
}

.valdora .medal {
  width: min(42vw, 20vh);
}

.valdora .edition {
  margin-top: 1.2vh;
  font: italic 400 min(4.6vw, 2.2vh) "Cormorant Garamond", serif;
  color: #c9a24f;
}

.valdora h1 {
  margin-top: 0.8vh;
  font: 500 min(15vw, 7.4vh)/0.92 "Cormorant Garamond", serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: linear-gradient(180deg, #f6e7bf 0%, #d6b56a 55%, #a07d36 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.valdora .subtitle {
  max-width: 80%;
  margin-top: 1.4vh;
  font: 400 min(3.2vw, 1.55vh) "Inter", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.valdora dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-block: 1.6vh;
  border-block: 1px solid rgba(201, 162, 79, 0.35);
}

.valdora dl div + div {
  border-left: 1px solid rgba(201, 162, 79, 0.35);
}

.valdora dt {
  font: 500 min(2.4vw, 1.15vh) "Inter", sans-serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #c9a24f;
}

.valdora dd {
  margin-top: 0.6vh;
  font: 400 min(4.4vw, 2.1vh)/1.25 "Cormorant Garamond", serif;
}

.valdora .dress {
  margin-top: 1.6vh;
  font: italic 400 min(4vw, 1.9vh) "Cormorant Garamond", serif;
  color: #c9a24f;
}

.valdora .cta {
  display: inline-block;
  margin-top: 1.8vh;
  padding: min(3.4vw, 1.6vh) min(9vw, 4.4vh);
  border: 1px solid #c9a24f;
  color: #f3dfa8;
  font: 500 min(2.7vw, 1.3vh) "Inter", sans-serif;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

/* ---------- Mervalia · Inauguración de tienda: de día, papel crema, rojo teja y un plano de
   arquitecto como dibujo principal (5 nov 2026) ---------- */
.mervalia {
  justify-content: space-between;
  gap: 2vh;
  padding: 5vh 8vw 5vh;
  color: #2a2522;
  background:
    linear-gradient(rgba(178, 58, 42, 0.07) 1px, transparent 1px) 0 0 / 100% min(6vw, 3vh),
    linear-gradient(90deg, rgba(178, 58, 42, 0.07) 1px, transparent 1px) 0 0 / min(6vw, 3vh) 100%,
    #f4efe7;
}

.mervalia .top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 1.4vh;
  border-bottom: 1.5px solid #2a2522;
}

.mervalia .brand {
  font: 600 min(6.4vw, 3.1vh) "Outfit", sans-serif;
  letter-spacing: -0.01em;
}

.mervalia .plan {
  position: relative;
  margin: 0;
  color: #b23a2a;
}

.mervalia .plan svg {
  display: block;
  width: 100%;
  max-height: 30vh;
}

.mervalia .plan__tag,
.mervalia .plan__north {
  position: absolute;
  font: 500 min(2.3vw, 1.1vh) "IBM Plex Mono", monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b23a2a;
  background: #f4efe7;
  padding: 0 0.5em;
}

.mervalia .plan__tag--a {
  top: -0.7em;
  left: 8%;
}

.mervalia .plan__tag--b {
  bottom: -0.7em;
  left: 44%;
}

.mervalia .plan__north {
  top: 8%;
  right: 8%;
}

.mervalia .kicker {
  color: #b23a2a;
}

.mervalia h1 {
  margin-top: 1.2vh;
  font: 500 min(16vw, 8vh)/0.9 "Outfit", sans-serif;
  letter-spacing: -0.04em;
}

.mervalia h1 span {
  color: #b23a2a;
}

.mervalia .claim {
  max-width: 92%;
  margin-top: 1.6vh;
  font: 400 min(3.9vw, 1.9vh)/1.45 "Outfit", sans-serif;
  color: #4a423d;
}

.mervalia dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4vw;
  margin-top: 2vh;
  padding-top: 1.4vh;
  border-top: 1px solid rgba(42, 37, 34, 0.3);
}

.mervalia dd {
  margin-top: 0.4vh;
  font: 500 min(4.2vw, 2vh) "Outfit", sans-serif;
}

.mervalia .square {
  margin-top: 2.2vh;
  color: #f4efe7;
  background: #b23a2a;
}
