/* TO3 — folha de estilo do site estático */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/open-sans.woff2) format("woff2")}
:root{--verde:#65ff01;--roxo:#8605f6;--rosa:#ee05ff;--grafite:#2f2f2f;--branco:#fff;--lateral:250px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--roxo);color:var(--branco);font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.7;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:var(--rosa)}
a:hover{color:#fff}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:8px;top:-60px;background:#000;color:#fff;padding:8px 14px;z-index:50}
.pular:focus{top:8px}
:focus-visible{outline:2px solid #000;outline-offset:2px}

/* ---------- Barra lateral ---------- */
.lateral{background:var(--verde);color:#000;text-align:center}
.logo{display:inline-block}
.logo img{width:118px}
.menu ul{list-style:none;margin:0;padding:0}
.menu a,.item-sub{display:block;color:#000;text-decoration:none;font-size:13px;letter-spacing:.4px;padding:9px 0}
.menu a:hover,.menu a[aria-current="page"]{color:var(--rosa)}
.tem-sub{position:relative}
.abre-sub{position:absolute;right:0;top:2px;width:36px;height:34px;background:none;border:0;cursor:pointer;color:#000}
.abre-sub::before{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.sub-aberto>.abre-sub::before{transform:rotate(45deg)}
.tem-sub>ul{display:none;padding-bottom:6px}
.sub-aberto>ul{display:block}
.tem-sub>ul a{font-size:12px;padding:6px 0;color:#1d1d1d}
.assinatura{font-size:11px;color:#2a6100;margin:0}
.botao-menu{display:none}

@media (min-width:901px){
  .lateral{position:fixed;inset:0 auto 0 0;width:var(--lateral);padding:38px 28px;display:flex;flex-direction:column;align-items:center;overflow-y:auto;z-index:5}
  .menu{width:100%;margin-top:36px}
  .menu ul ul{border-left:0}
  .assinatura{margin-top:auto;padding-top:32px}
  main,.rodape{margin-left:var(--lateral)}
}
@media (max-width:900px){
  .lateral{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 16px;position:sticky;top:0;z-index:5}
  .logo img{width:90px}
  .botao-menu{display:inline-flex;align-items:center;gap:10px;background:none;border:2px solid #000;color:#000;font:inherit;font-size:13px;font-weight:600;letter-spacing:1px;padding:6px 14px;cursor:pointer}
  .botao-menu span{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
  .botao-menu[aria-expanded="true"] span{box-shadow:none}
  .menu{flex-basis:100%}
  .js .menu{display:none}
  .js .menu.aberto{display:block}
  .menu>ul{margin-top:10px;border-top:1px solid rgba(0,0,0,.2)}
  .menu li{border-bottom:1px solid rgba(0,0,0,.12)}
  .menu a,.item-sub{font-size:15px;padding:12px 0}
  .tem-sub>ul a{font-size:14px}
  .assinatura{display:none}
}

/* ---------- Conteúdo ---------- */
main{flex:1;display:flex;flex-direction:column}
.faixa-titulo{background:var(--grafite);padding:56px 24px 60px;text-align:center}
.faixa-titulo h1{margin:0;font-size:clamp(24px,3.4vw,30px);font-weight:400;letter-spacing:.5px}
.conteudo{flex:1;background:var(--roxo);padding:44px 0 72px}
.caixa{max-width:1000px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.texto{font-size:15px}
.texto p{margin:0 0 1.1em}
.texto h2{font-size:clamp(20px,2.6vw,24px);font-weight:400;margin:1.6em 0 .7em}
.texto strong{font-weight:700}
.retrato{float:right;width:min(380px,42%);margin:6px 0 18px 32px}
@media (max-width:700px){.retrato{float:none;width:100%;margin:0 0 20px}}
.contato h2{margin-top:0}

/* ---------- Home ---------- */
.inicio main{background:var(--verde)}
.slider{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,6vw,70px) clamp(16px,4vw,48px) 40px}
.slides{position:relative;width:100%;max-width:980px;aspect-ratio:3/2}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slide.ativo{opacity:1}
.slide img{width:100%;height:100%;object-fit:contain}
.pontos{display:flex;gap:8px;margin-top:22px}
.pontos{gap:4px}
.pontos button{width:24px;height:24px;border-radius:50%;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center}
.pontos button::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-sizing:border-box}
.pontos button[aria-current="true"]::before{background:#fff}

/* ---------- Áudio e vídeo ---------- */
.faixas{list-style:none;margin:0;padding:0;display:grid;gap:30px;max-width:760px}
.faixas h2{font-size:16px;font-weight:700;margin:0 0 10px}
.faixas audio{width:100%;display:block}
.video{position:relative;aspect-ratio:16/9;background:#000;max-width:960px;margin:0 auto}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- Galerias ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.grade figure{margin:0}
.grade a{display:block;overflow:hidden;cursor:zoom-in}
.grade img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .3s}
.grade a:hover img{transform:scale(1.04)}
.grade figcaption{font-size:13px;line-height:1.4;margin-top:8px}

/* ---------- Galeria em tela cheia ---------- */
.lightbox{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:#fff}
.lightbox::backdrop{background:rgba(20,0,40,.94)}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.lightbox img{max-width:94vw;max-height:82vh;width:auto;height:auto}
.lightbox figcaption{font-size:14px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.lb-btn{position:fixed;background:rgba(0,0,0,.4);border:2px solid var(--verde);color:var(--verde);width:46px;height:46px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb-fechar{top:16px;right:16px}
.lb-ant{left:16px;top:50%;transform:translateY(-50%)}
.lb-prox{right:16px;top:50%;transform:translateY(-50%)}
.lb-btn[hidden]{display:none}
@media (max-width:600px){.lb-ant,.lb-prox{top:auto;bottom:16px;transform:none}}

/* ---------- Rodapé ---------- */
.rodape{background:var(--rosa);color:#21002e;font-weight:600;text-align:center;font-size:13px;padding:34px 16px}
.rodape p{margin:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
