/* Conteúdo Matrix: painel de informações em vidro com blocos que sobem na rolagem, ficha técnica, cards de atividades e aba de vídeos. */
body.painel-matrix{--pm-acento:color-mix(in srgb,var(--ouro) 62%,#fff)}
body.painel-matrix .panel{position:fixed;z-index:15;left:auto;right:18px;top:84px;bottom:calc(var(--menu-h) + 14px);width:min(430px,calc(100vw - 36px));max-height:none;
  padding:26px 26px 22px;border-radius:24px;border:1px solid #ffffff2e;background:color-mix(in srgb,var(--verde) 70%,#0a0d0ee0);color:#fff;
  backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);box-shadow:0 28px 80px #0009;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--pm-acento) transparent;animation:pm-entra .55s cubic-bezier(.25,1,.5,1)}
@keyframes pm-entra{from{opacity:0;transform:translateX(40px)}}
body.painel-matrix .panel .script{color:var(--pm-acento);font-size:20px}
body.painel-matrix .panel h2{color:#fff;font-size:clamp(26px,2.4vw,34px);line-height:1.08;margin:4px 0 14px}
body.painel-matrix .panel-text p{color:#ffffffd9;font-size:15px;line-height:1.6}
body.painel-matrix .panel-text b{color:#fff}
body.painel-matrix .panel .close{color:#fff;top:14px;right:14px;z-index:2}
body.painel-matrix .panel .close:hover{color:#fff;background:#ffffff1f}
body.painel-matrix .panel .btn.light{color:#fff;border-color:#ffffff73;background:#ffffff0d}
body.painel-matrix .panel .btn.light:hover{background:#fff;color:var(--verde);border-color:#fff}
/* blocos sobem conforme a rolagem do painel */
body.painel-matrix .pm-r{opacity:0;transform:translateY(26px);transition:opacity .6s ease calc(var(--i) * 70ms),transform .8s cubic-bezier(.25,1,.5,1) calc(var(--i) * 70ms)}
body.painel-matrix .pm-r.pm-visivel{opacity:1;transform:none}
.pm-palavra{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.pm-palavra>span{display:inline-block;transform:translateY(105%);transition:transform .7s cubic-bezier(.25,1,.5,1) calc(120ms + var(--w) * 60ms)}
.pm-visivel .pm-palavra>span,h2.pm-visivel .pm-palavra>span{transform:none}
.pm-bloco{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff1f}
.pm-sub{margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--pm-acento)}

/* ficha técnica */
.pm-ficha-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm-num{padding:14px 14px 12px;border-radius:16px;border:1px solid #ffffff24;background:linear-gradient(160deg,#ffffff14,#ffffff05)}
.pm-num-valor{display:flex;align-items:baseline;gap:3px;font-family:var(--fonte-titulo),var(--fonte),serif;line-height:1}
.pm-num strong{font-size:34px;font-weight:var(--peso-titulo,700);font-variant-numeric:tabular-nums}
.pm-unidade{font-size:18px;font-weight:600;color:var(--pm-acento)}
.pm-num small{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:#ffffffb3}

/* cards de atividades: luz que segue o cursor, abre com detalhes e reserva */
.pm-atividades{display:flex;flex-direction:column;gap:12px}
.pm-atividades .pm-sub{margin-bottom:2px}
.pm-atv{--mx:50%;--my:50%;position:relative;overflow:hidden;border-radius:18px;border:1px solid #ffffff26;background:#ffffff0a;isolation:isolate;transition:border-color .3s}
.pm-atv::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(260px circle at var(--mx) var(--my),color-mix(in srgb,var(--ouro) 30%,transparent),transparent 70%);opacity:0;transition:opacity .3s}
.pm-atv:hover::before{opacity:1}.pm-atv:hover,.pm-atv.aberto{border-color:color-mix(in srgb,var(--ouro) 60%,transparent)}
.pm-atv-topo{position:relative;display:flex;align-items:flex-end;width:100%;min-height:150px;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer}
.pm-atv-topo.sem-foto{min-height:76px;align-items:center}
.pm-atv-topo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,1,.5,1)}
.pm-atv:hover .pm-atv-topo img{transform:scale(1.05)}
.pm-atv-topo:not(.sem-foto)::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,#0000 65%)}
.pm-atv-txt{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px}
.pm-atv-txt b{font-family:var(--fonte-titulo),var(--fonte),serif;font-size:21px;line-height:1.1}
.pm-preco{padding:4px 10px;border-radius:999px;background:var(--ouro);color:#fff;font-size:12px;font-weight:700}
.pm-seta{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;margin:0 14px 14px 0;border-radius:50%;background:#0006;border:1px solid #ffffff40;transition:transform .4s cubic-bezier(.25,1,.5,1)}
.pm-atv-topo.sem-foto .pm-seta{margin-bottom:0}
.pm-seta svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pm-atv.aberto .pm-seta{transform:rotate(180deg)}
.pm-atv-det{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.25,1,.5,1)}
.pm-atv.aberto .pm-atv-det{grid-template-rows:1fr}
.pm-atv-det>div{overflow:hidden;padding:0 16px}
.pm-atv.aberto .pm-atv-det>div{padding-bottom:16px}
.pm-atv-det p{margin:12px 0 0;font-size:14px;line-height:1.5;color:#ffffffd9}
.pm-atv-det .pm-linha{margin-top:6px;font-size:13px}.pm-atv-det .pm-linha b{color:var(--pm-acento)}
.pm-atv-det .panel-actions{margin-top:14px}
.pm-atv-topo:focus-visible{outline:2px solid var(--pm-acento);outline-offset:-3px;border-radius:18px}

/* aba de vídeos */
.pv-overlay{z-index:310;background:#05090ae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:auto;padding:clamp(12px,3vw,40px)}
.pv-overlay[hidden]{display:none!important}
.pv-box{position:relative;width:min(1180px,100%);margin:auto;padding:clamp(22px,3vw,40px);border-radius:24px;border:1px solid #ffffff1f;color:#fff;
  background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--verde) 55%,#07090a),#07090a 75%)}
.pv-box>.close{position:absolute;right:16px;top:16px;color:#fff}
.pv-cab{text-align:center;padding:0 40px 18px}
.pv-cab .script{color:color-mix(in srgb,var(--ouro) 62%,#fff);letter-spacing:.2em;text-transform:uppercase;font:700 11px var(--fonte),sans-serif}
.pv-cab h2{margin:8px 0 6px;font-family:var(--fonte-titulo),var(--fonte),serif;font-weight:var(--peso-titulo,700);font-size:clamp(28px,4vw,46px);color:#fff}
.pv-cab p{margin:0;opacity:.75}
.pv-sec{margin:18px 0 12px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--ouro) 62%,#fff)}
.pv-stories{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.pv-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.pv-lado{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}
.pv-lado .pv-stories{flex-direction:column;overflow:visible}
.pv-lado .pv-card.vertical{width:clamp(180px,17vw,230px)}
.pv-lado .pv-grade{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.pv-card{position:relative;overflow:hidden;padding:0;border:1px solid #ffffff24;border-radius:18px;background:#0d1112;color:#fff;cursor:pointer;aspect-ratio:16/9;text-align:left;
  transition:transform .4s cubic-bezier(.25,1,.5,1),border-color .3s,box-shadow .3s}
.pv-card.vertical{flex:none;width:clamp(150px,18vw,200px);aspect-ratio:9/16;scroll-snap-align:start;border-radius:20px}
.pv-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ouro) 60%,transparent);box-shadow:0 18px 40px #0008}
.pv-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,1,.5,1)}
.pv-card:hover video{transform:scale(1.04)}
.pv-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000d,#0000 55%);pointer-events:none}
.pv-info{position:absolute;z-index:1;left:14px;right:14px;bottom:12px;display:flex;flex-direction:column;gap:3px}
.pv-info small{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--ouro) 62%,#fff)}
.pv-info b{font-family:var(--fonte-titulo),var(--fonte),serif;font-size:17px;line-height:1.15}
.pv-play{position:absolute;z-index:1;left:50%;top:50%;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;transform:translate(-50%,-50%) scale(.9);
  background:#ffffff26;border:1px solid #ffffff66;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .35s,background .3s,opacity .3s}
.pv-play svg{width:22px;height:22px;fill:#fff;margin-left:3px}
.pv-card:hover .pv-play{transform:translate(-50%,-50%) scale(1.05);background:var(--ouro);border-color:var(--ouro)}
.pv-tempo{position:absolute;z-index:1;top:10px;right:10px;padding:3px 8px;border-radius:999px;background:#0009;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.pv-card.pv-entra{animation:pv-entra .6s cubic-bezier(.25,1,.5,1) both;animation-delay:calc(min(var(--n),10) * 60ms)}
@keyframes pv-entra{from{opacity:0;transform:translateY(22px)}}
.pv-player{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:clamp(12px,4vw,56px);background:#000000f2}
.pv-player[hidden]{display:none}
.pv-player video{width:min(1280px,100%);max-height:calc(100dvh - 120px);border-radius:14px;background:#000;box-shadow:0 30px 90px #000}
.pv-player.vertical video{width:auto;height:min(80dvh,860px);max-width:100%}
.pv-player-titulo{position:absolute;left:0;right:0;bottom:18px;margin:0;text-align:center;color:#fff;font-family:var(--fonte-titulo),var(--fonte),serif;font-size:18px}
.pv-player-fechar{position:absolute;top:18px;right:18px;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff4d;background:#ffffff14;color:#fff;cursor:pointer}
.pv-player-fechar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.pv-card:focus-visible,.pv-player-fechar:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}

@media(max-width:760px){
  body.painel-matrix .panel{left:0;right:0;top:auto;bottom:0;width:auto;max-height:76dvh;padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;z-index:19;animation:pm-sobe .5s cubic-bezier(.25,1,.5,1)}
  @keyframes pm-sobe{from{transform:translateY(100%)}}
  body.painel-matrix .panel h2{font-size:24px}
  .pm-num strong{font-size:28px}
  .pv-overlay{padding:0}.pv-box{min-height:100dvh;border-radius:0;padding:22px 14px}
  .pv-cab{padding:16px 36px 12px}
  .pv-grade{grid-template-columns:1fr}
  .pv-lado{display:block}.pv-lado .pv-stories{flex-direction:row;overflow-x:auto}
  .pv-card.vertical{width:46vw}
}
@media(prefers-reduced-motion:reduce){
  body.painel-matrix .panel,.pv-card.pv-entra{animation:none!important}
  body.painel-matrix .pm-r,.pm-palavra>span,.pm-atv-det,.pm-seta,.pv-card,.pv-card video{transition:none!important}
}
