/* ===== Abertura de inauguração: cortinas + fogos ===== */
.abertura{--veludo:#183e33;--veludo-esc:#0c241d;--veludo-claro:#2f6452;--ouro:#d9b46a;--ouro-claro:#f3dca2;
  position:fixed;inset:0;z-index:9999;overflow:hidden;pointer-events:auto;font-family:var(--sans,'Segoe UI',Arial,sans-serif)}
.abertura-trava{overflow:hidden!important}

/* Cortinas */
.cortina{position:absolute;top:0;bottom:0;width:50.5%;will-change:transform;
  background:
    linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 72%,rgba(0,0,0,.45)),
    repeating-linear-gradient(90deg,var(--veludo-esc) 0,var(--veludo) 2.2%,var(--veludo-claro) 3.6%,var(--veludo) 5.2%,var(--veludo-esc) 7.4%);
  transition:transform 2.6s cubic-bezier(.65,0,.2,1),filter 2.6s ease;
  animation:cortina-balanco 5s ease-in-out infinite}
.cortina-esq{left:0;transform-origin:left center;box-shadow:inset -10px 0 0 -4px var(--ouro),inset -14px 0 18px rgba(0,0,0,.45)}
.cortina-dir{right:0;transform-origin:right center;box-shadow:inset 10px 0 0 -4px var(--ouro),inset 14px 0 18px rgba(0,0,0,.45)}
.cortina::after{content:'';position:absolute;left:0;right:0;bottom:0;height:16px;background:repeating-linear-gradient(90deg,var(--ouro) 0 6px,var(--ouro-claro) 6px 8px,var(--ouro) 8px 14px);opacity:.85}
@keyframes cortina-balanco{0%,100%{filter:brightness(1)}50%{filter:brightness(1.06)}}
.abertura.abrindo .cortina{animation:none}
.abertura.abrindo .cortina-esq{transform:scaleX(.09)}
.abertura.abrindo .cortina-dir{transform:scaleX(.09)}
.abertura.abrindo .cortina{filter:brightness(.8)}

/* Bambinela (faixa de cima) */
.bambinela{position:absolute;top:0;left:0;right:0;height:clamp(64px,11vh,120px);z-index:3;
  background:linear-gradient(180deg,var(--veludo-esc),var(--veludo) 60%,var(--veludo-claro));
  -webkit-mask:radial-gradient(42px 26px at 50% 100%,transparent 98%,#000) 0 0/84px 100%;
          mask:radial-gradient(42px 26px at 50% 100%,transparent 98%,#000) 0 0/84px 100%;
  box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform 1.4s cubic-bezier(.65,0,.2,1) 1.6s}
.bambinela-franja{position:absolute;top:calc(clamp(64px,11vh,120px) - 30px);left:0;right:0;height:10px;z-index:4;
  background:radial-gradient(circle at 50% 0,var(--ouro-claro) 0 3px,var(--ouro) 3.5px 5px,transparent 5.5px) 0 0/28px 10px;
  transition:transform 1.4s cubic-bezier(.65,0,.2,1) 1.6s}
.abertura.abrindo .bambinela,.abertura.abrindo .bambinela-franja{transform:translateY(-140%)}

/* Palco noturno: cobre o site por completo até o fim dos fogos */
.abertura-noite{position:absolute;inset:0;opacity:1;transition:opacity 1.8s ease;
  background:
    radial-gradient(1.5px 1.5px at 12% 18%,#fff8,transparent 60%),radial-gradient(1px 1px at 27% 42%,#fff6,transparent 60%),
    radial-gradient(1.5px 1.5px at 44% 12%,#fff7,transparent 60%),radial-gradient(1px 1px at 63% 30%,#fff6,transparent 60%),
    radial-gradient(1.5px 1.5px at 78% 14%,#fff8,transparent 60%),radial-gradient(1px 1px at 88% 46%,#fff5,transparent 60%),
    radial-gradient(1px 1px at 6% 58%,#fff5,transparent 60%),radial-gradient(1.5px 1.5px at 54% 56%,#fff5,transparent 60%),
    radial-gradient(ellipse at 50% 120%,#1f4536 0%,#0b1d17 55%,#040b08 100%)}
.abertura.amanhecendo .abertura-noite{opacity:0}
.abertura-boasvindas{position:absolute;left:0;right:0;top:50%;z-index:2;transform:translateY(-50%);display:grid;justify-items:center;gap:10px;padding:0 24px;text-align:center;color:#fff;opacity:0;transition:opacity 1.2s ease,transform 1.6s ease}
.abertura-boasvindas small{font-size:11px;font-weight:700;letter-spacing:5px;color:var(--ouro-claro)}
.abertura-boasvindas strong{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:clamp(40px,8vw,96px);line-height:1;letter-spacing:-1px;color:var(--ouro-claro);text-shadow:0 0 40px rgba(217,180,106,.45)}
.abertura.abrindo .abertura-boasvindas{opacity:1;transition-delay:1.1s}
.abertura.amanhecendo .abertura-boasvindas{opacity:0;transform:translateY(-60%);transition-delay:0s}

/* Conteúdo central */
.abertura-centro{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;color:#fff;
  transition:opacity .6s ease,transform .8s ease}
.abertura.abrindo .abertura-centro{opacity:0;transform:translateY(-24px) scale(.97);pointer-events:none}
.abertura-placa{display:grid;justify-items:center;gap:12px;width:min(560px,100%);padding:clamp(26px,4vw,42px) clamp(22px,5vw,54px);border:1px solid var(--ouro);border-radius:22px;color:var(--veludo);
  background:radial-gradient(ellipse at 50% 0,#fffdf7,#f6efdf 55%,#eadfc6);box-shadow:0 0 0 6px rgba(243,220,162,.18),0 0 0 7px rgba(217,180,106,.45),0 30px 80px rgba(0,0,0,.55);animation:sobe 1s .1s both}
.abertura-logo{width:min(250px,62vw);height:auto;filter:drop-shadow(0 6px 14px rgba(24,62,51,.18));animation:selo-entra .9s .2s both cubic-bezier(.2,.8,.2,1)}
.abertura-placa .abertura-kicker{color:#9a7636}
.abertura-placa .abertura-titulo{color:var(--veludo);text-shadow:none;font-size:clamp(32px,5.4vw,58px)}
.abertura-placa .abertura-titulo em{color:#a8823e}
.abertura-placa .abertura-sub{color:#4d5a50}
.abertura-placa .abertura-botao{background:var(--veludo);color:#fff;border-color:var(--ouro)}
.abertura-placa .abertura-botao:hover{background:var(--ouro);color:var(--veludo-esc)}
.abertura-selo{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:var(--veludo-esc);border:1.5px solid var(--ouro);box-shadow:0 0 0 6px rgba(217,180,106,.15),0 10px 30px rgba(0,0,0,.4);animation:selo-entra .9s .2s both cubic-bezier(.2,.8,.2,1)}
.abertura-selo svg{width:40px;height:40px;fill:none;stroke:var(--ouro-claro);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.abertura-kicker{font-size:11px;font-weight:700;letter-spacing:4px;color:var(--ouro-claro);margin:6px 0 0;animation:sobe .8s .5s both}
.abertura-titulo{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:clamp(38px,7vw,84px);line-height:1;letter-spacing:-1px;margin:0;text-shadow:0 4px 30px rgba(0,0,0,.45);animation:sobe .9s .7s both}
.abertura-titulo em{color:var(--ouro-claro)}
.abertura-sub{font-size:clamp(14px,1.6vw,18px);color:#d8e3d6;margin:0;animation:sobe .9s .9s both}
.abertura-botao{margin-top:10px;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 28px;border:1.5px solid var(--ouro);border-radius:40px;background:linear-gradient(180deg,rgba(243,220,162,.18),rgba(217,180,106,.08));color:#fff;font:inherit;font-size:13px;font-weight:700;letter-spacing:2px;cursor:pointer;animation:sobe .9s 1.1s both,brilho 2.4s 2s ease-in-out infinite;backdrop-filter:blur(2px)}
.abertura-botao:hover{background:var(--ouro);color:var(--veludo-esc)}
.abertura-botao:focus-visible{outline:3px solid var(--ouro-claro);outline-offset:4px}
@keyframes selo-entra{from{opacity:0;transform:scale(.6) rotate(-8deg)}}
@keyframes sobe{from{opacity:0;transform:translateY(18px)}}
@keyframes brilho{0%,100%{box-shadow:0 0 0 0 rgba(217,180,106,.0)}50%{box-shadow:0 0 0 10px rgba(217,180,106,.18)}}

/* Pular */
.abertura-pular{position:absolute;right:18px;bottom:18px;z-index:7;padding:9px 16px;border:1px solid rgba(255,255,255,.35);border-radius:30px;background:rgba(12,36,29,.55);color:#fff;font:inherit;font-size:12px;letter-spacing:1px;cursor:pointer;backdrop-filter:blur(6px)}
.abertura-pular:hover{background:rgba(12,36,29,.85)}

.abertura-som{position:absolute;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:7;padding:9px 16px;border:1px solid rgba(255,255,255,.35);border-radius:30px;background:rgba(12,36,29,.55);color:#fff;font:inherit;font-size:12px;letter-spacing:1px;cursor:pointer;backdrop-filter:blur(6px)}
.abertura-som[aria-pressed=false]{opacity:.7;text-decoration:line-through}
.abertura.abrindo .abertura-som{pointer-events:auto}
.abertura-botao:disabled{cursor:default;animation:none;opacity:.85}

/* Fogos */
.abertura-fogos{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}

/* Saída */
.abertura.saindo{opacity:0;transition:opacity .9s ease}
.abertura.abrindo{pointer-events:none}
.abertura.abrindo .abertura-pular{pointer-events:auto}

@media(max-width:600px){.cortina::after{height:10px}.abertura-kicker{font-size:10px;letter-spacing:3px}}
@media(prefers-reduced-motion:reduce){.cortina{animation:none;transition-duration:.01s}.abertura *{animation:none!important}}
