.contest-phase-intro { width:min(94vw,560px); max-width:560px; max-height:94dvh; margin:auto; padding:0; overflow:auto; border:2px solid var(--phase-accent); border-radius:22px; color:#fff; background:#080b1e; box-shadow:0 0 0 4px #090b20,0 0 35px #000a; font-family:"Baloo 2",sans-serif; }
.contest-phase-intro::backdrop { background:#010410ef; backdrop-filter:blur(7px); }
.contest-phase-intro__card { position:relative; overflow:hidden; min-height:min(570px,86dvh); isolation:isolate; background:linear-gradient(#08091ca6,#070818ee),url('assets/falla-stage-open.jpg') center / cover; }
.contest-phase-intro__confetti { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; mix-blend-mode:screen; pointer-events:none; }
.contest-phase-intro__copy { position:relative; z-index:1; display:flex; padding:28px 22px 25px; min-height:inherit; box-sizing:border-box; flex-direction:column; align-items:center; justify-content:center; text-align:center; animation:phaseIntroReveal 1s 1.1s both; }
.contest-phase-intro__copy>small { color:#ced6e9; font-size:.66rem; font-weight:900; letter-spacing:.12em; }
.contest-phase-intro__copy>img { width:106px; height:106px; margin:22px 0 13px; object-fit:contain; filter:drop-shadow(0 0 15px var(--phase-accent)); animation:phaseIntroEmblem 2.8s ease-in-out infinite; }
.contest-phase-intro__subtitle { color:var(--phase-accent); font-size:.62rem; letter-spacing:.11em; font-weight:900; }
.contest-phase-intro__copy h1 { margin:8px 0 15px; max-width:100%; color:var(--phase-accent); font-size:clamp(2.15rem,9vw,3.65rem); font-weight:1000; line-height:.98; text-shadow:0 3px 0 #000,0 0 20px #ffffff22; }
.contest-phase-intro__group { max-width:100%; padding:7px 14px; border-block:1px solid var(--phase-accent); color:#fff; font-size:.88rem; overflow-wrap:anywhere; }
.contest-phase-intro__copy p { margin:13px 0 22px; max-width:320px; color:#cfd7ea; font-size:.79rem; line-height:1.3; }
.contest-phase-intro__copy>button { width:min(100%,340px); margin-top:auto; padding-inline:16px; font-size:.74rem; line-height:1.2; white-space:normal; text-wrap:balance; }
.contest-phase-intro__curtains { position:absolute; z-index:3; inset:0; pointer-events:none; }
.contest-phase-intro__curtains::before,.contest-phase-intro__curtains::after { content:''; position:absolute; top:0; bottom:0; width:51%; background:repeating-linear-gradient(90deg,#330a25 0,#7d183d 10%,#ae3150 18%,#3f0925 27%); box-shadow:0 0 25px #000b; border-bottom:6px solid #c9a25a; animation:phaseIntroCurtainLeft 1.5s .25s cubic-bezier(.65,0,.35,1) both; }
.contest-phase-intro__curtains::before { left:0; }
.contest-phase-intro__curtains::after { right:0; animation-name:phaseIntroCurtainRight; }
@keyframes phaseIntroCurtainLeft { to { transform:translateX(-103%); } }
@keyframes phaseIntroCurtainRight { to { transform:translateX(103%); } }
@keyframes phaseIntroReveal { from { opacity:0; transform:scale(.88) translateY(15px); } to { opacity:1; transform:none; } }
@keyframes phaseIntroEmblem { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@media(max-height:650px) { .contest-phase-intro__copy { padding:20px 18px; } .contest-phase-intro__copy>img { width:80px; height:80px; margin:13px 0; } .contest-phase-intro__copy h1 { font-size:2.25rem; } }
@media(prefers-reduced-motion:reduce) { .contest-phase-intro__copy,.contest-phase-intro__copy>img { animation:none; } .contest-phase-intro__curtains,.contest-phase-intro__confetti { display:none; } }

.contest-phase-intro__modality { margin-top:7px; color:var(--phase-accent); font-size:.64rem; font-weight:900; letter-spacing:.13em; }
