/* Riser · moldura do site (topo, home e rodapé).
   Carregado só na home da Riser e nas páginas dos artistas; as outras páginas
   continuam com o tema ativo (Hello Elementor). */

/* Linha visual: preto com viés roxo, Poppins fina em tamanho grande, roxo e amarelo só como detalhe. */
:root{
  --preto:#0B0710;--preto-2:#140D1C;--gelo:#F6F4F8;--branco:#FFFFFF;--tinta:#16101E;
  --texto-esc:#A79FB3;--texto-cla:#5E566B;--linha-esc:rgba(255,255,255,.12);--linha-cla:#E3DDEA;
  --roxo:#864BCF;--roxo-luz:#A472E4;--amarelo:#FDC802;
  --fonte:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --lado:clamp(20px,4vw,44px);
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--preto);color:#fff;font-family:var(--fonte);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fonte);font-weight:300;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--amarelo);outline-offset:3px}
.pular{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--amarelo);color:var(--preto);padding:10px 16px;font-weight:600;text-decoration:none}
.pular:focus{left:12px}
.interno{max-width:1100px;margin:0 auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- elementos comuns ---------- */
.rotulo{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--roxo-luz);margin-bottom:22px}
.titulo{font-size:clamp(38px,6.2vw,76px);font-weight:300;letter-spacing:-.045em;line-height:.98}
.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;padding-bottom:30px;margin-bottom:34px;border-bottom:1px solid var(--linha-esc)}
.cab p{color:var(--texto-esc);font-weight:300;max-width:42ch;font-size:15.5px}
.seta{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:15px;font-weight:400;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.4);transition:border-color .2s ease}
.seta::after{content:"→";color:var(--amarelo)}
.seta:hover{border-bottom-color:var(--amarelo)}
.acoes{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}
.botao{display:inline-block;background:var(--amarelo);color:var(--preto);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:15px 26px;transition:filter .2s ease}
.botao:hover{filter:brightness(1.1)}
.aviso-admin{font-size:14px;background:#FFF8D6;color:#3A2E00;border-left:3px solid var(--amarelo);padding:12px 16px;max-width:60ch}

.secao{padding:clamp(64px,9vw,120px) var(--lado)}
.secao--sem-topo{padding-top:0}
.secao--cab{padding-bottom:0}
.secao--cab .cab{margin-bottom:0}
.secao--clara{background:var(--branco);color:var(--tinta)}
.secao--clara .rotulo{color:var(--roxo)}
.secao--clara .cab{border-bottom-color:var(--linha-cla)}
.secao--clara .cab p{color:var(--texto-cla)}

/* ---------- topo ---------- */
.topo{position:relative;z-index:20;background:var(--preto);border-bottom:1px solid var(--linha-esc)}
.topo--sobre{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(11,7,16,.75),rgba(11,7,16,0));border-bottom:0}
.admin-bar .topo--sobre{top:32px}
.topo__in{max-width:1180px;margin:0 auto;padding:22px var(--lado);display:flex;align-items:center;gap:24px}
.logo{display:block;flex:none;line-height:0}
.logo img{width:auto;height:40px;max-width:180px}
.topo__nav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.6vw,34px)}
.topo__nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,2.4vw,30px)}
.topo__nav .menu a{color:rgba(255,255,255,.8);text-decoration:none;font-size:14px;font-weight:400;padding:4px 0;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.topo__nav .menu a:hover,.topo__nav .menu .current-menu-item>a{color:#fff;border-bottom-color:var(--roxo-luz)}
.topo__cta{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--preto);background:var(--amarelo);padding:10px 18px;text-decoration:none;transition:filter .2s ease}
.topo__cta:hover{filter:brightness(1.1)}
.topo__botao{display:none;margin-left:auto;align-items:center;gap:10px;background:none;border:1px solid var(--linha-esc);color:#fff;font:500 13px/1 var(--fonte);padding:10px 14px;cursor:pointer}
.topo__icone{position:relative;width:16px;height:10px;border-top:1.5px solid #fff;border-bottom:1.5px solid #fff}
.topo__icone::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:#fff}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(92vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--preto)}
.hero__foto{position:absolute;inset:0;background-size:cover;background-position:50% 42%;filter:saturate(.55) contrast(1.05);animation:respira 28s ease-in-out infinite alternate}
@keyframes respira{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero__veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,7,16,.6) 0%,rgba(11,7,16,.15) 35%,rgba(11,7,16,.6) 65%,rgba(11,7,16,.97) 100%)}
.hero__conteudo{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:140px var(--lado) clamp(44px,8vh,80px)}
.hero__titulo{font-size:clamp(42px,7.4vw,96px);font-weight:300;letter-spacing:-.05em;line-height:.96;max-width:12ch;color:#fff}
.hero__titulo b,.hero__titulo strong{font-weight:600}
.hero__texto{color:#CFC7D9;font-weight:300;font-size:clamp(15px,1.8vw,18px);max-width:46ch;margin-top:22px}

/* ---------- quem somos ---------- */
#quem-somos{padding:0}
.faixa-foto{height:clamp(220px,32vw,380px);background-size:cover;background-position:50% 40%;filter:grayscale(1) contrast(1.08) brightness(.82)}
.secao__corpo{padding:clamp(56px,7vw,88px) var(--lado) clamp(64px,9vw,120px);max-width:calc(1100px + 2 * var(--lado))}
.quem{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,6vw,80px);margin-top:clamp(18px,3vw,28px)}
.quem__frase{font-size:clamp(26px,3.4vw,40px);font-weight:300;letter-spacing:-.03em;line-height:1.15;color:#fff;text-wrap:pretty}
.quem__frase b,.quem__frase strong{font-weight:600}
.quem__texto p{color:var(--texto-esc);font-weight:300;font-size:15.5px;margin:0 0 16px}
.socios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(44px,6vw,72px)}
.socio{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;border-top:1px solid var(--linha-esc);padding-top:20px}
.socio__foto{aspect-ratio:4/5;overflow:hidden;background:linear-gradient(160deg,#241A30,#120C18);display:flex;align-items:center;justify-content:center}
.socio__foto img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;filter:grayscale(1)}
.socio__inicial{font-size:40px;font-weight:300;color:#fff;line-height:1}
.socio__nome{font-size:18px;font-weight:500;color:#fff;letter-spacing:-.01em}
.socio__papel{font-size:13.5px;color:var(--texto-esc);font-weight:300;margin-top:2px}
.numeros{margin-top:clamp(44px,6vw,72px)}
.numeros .riser-numeros{border-top-color:var(--linha-esc)}
.numeros .riser-numeros span{color:var(--texto-esc);opacity:1}

/* ---------- espetáculos e artistas (componentes do plugin) ---------- */
#espetaculos .riser-poster{color:#fff}
#espetaculos .riser-poster__legenda span{color:var(--texto-esc);opacity:1}
.artistas{background:var(--preto)}
.artistas .riser-casting{margin-top:clamp(36px,5vw,56px)}

/* ---------- o que fazemos ---------- */
.servicos{list-style:none;margin:0;padding:0}
.servicos li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(18px,4vw,60px);padding:30px 0;border-bottom:1px solid var(--linha-cla)}
.servicos h3{font-size:clamp(20px,2.4vw,28px);font-weight:400;letter-spacing:-.03em;line-height:1.15;color:var(--tinta)}
.servicos h3 em{font-style:normal;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--roxo);margin-left:8px;vertical-align:middle}
.servicos p{color:var(--texto-cla);font-weight:300;font-size:15.5px;max-width:52ch}

/* ---------- contato ---------- */
.contato{position:relative;overflow:hidden;padding:clamp(80px,12vw,150px) var(--lado);background:var(--preto)}
.contato__foto{position:absolute;inset:0;background-size:cover;background-position:50% 46%;filter:grayscale(.85) brightness(.5)}
.contato__veu{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,7,16,.94),rgba(11,7,16,.55))}
.contato .interno{position:relative}
.contato__titulo{max-width:13ch;color:#fff}
.contato__texto{color:#CFC7D9;font-weight:300;max-width:48ch;margin:22px 0 32px;font-size:16.5px}
.contato__email{margin-top:18px;font-size:14px}
.contato__email a{color:var(--texto-esc)}

/* ---------- rodapé ---------- */
.rodape{background:var(--preto);border-top:1px solid var(--linha-esc);padding:clamp(48px,7vw,72px) var(--lado) 28px}
.rodape__grade{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,40px)}
.rodape__marca p{color:#7D7389;font-weight:300;font-size:13.5px;max-width:30ch;margin-top:18px}
.rodape__col{display:flex;flex-direction:column;gap:9px;min-width:0}
.rodape__col b{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-weight:500;margin-bottom:4px}
.rodape__col a,.rodape__col span{color:var(--texto-esc);text-decoration:none;font-size:13.5px;font-weight:300}
.rodape__col a:hover{color:#fff}
.rodape__fim{margin-top:clamp(34px,5vw,54px);padding-top:20px;border-top:1px solid var(--linha-esc);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#6E6579}

/* ---------- celular e tablet ---------- */
@media (max-width:900px){
  .topo__botao{display:inline-flex}
  .topo__nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:20px;margin:0;padding:24px var(--lado) 28px;background:var(--preto);border-bottom:1px solid var(--linha-esc)}
  .menu-aberto .topo__nav{display:flex}
  .menu-aberto .topo--sobre{background:var(--preto)}
  .topo__nav .menu{flex-direction:column;gap:16px}
  .topo__nav .menu a{font-size:18px}
  .quem,.socios{grid-template-columns:minmax(0,1fr)}
  .servicos li{grid-template-columns:minmax(0,1fr);gap:8px}
  .rodape__grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rodape__marca{grid-column:1/-1}
}
@media (max-width:782px){
  .admin-bar .topo--sobre{top:46px}
}
@media (max-width:560px){
  .socio{grid-template-columns:96px minmax(0,1fr)}
  .logo img{height:34px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero__foto{animation:none}
}
