/* Mark Lambert Music — folha de estilo única 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")}
@font-face{font-family:"Open Sans";font-style:italic;font-weight:300 800;font-display:swap;src:url(/assets/fonts/open-sans-italic.woff2) format("woff2")}

:root{
  --preto:#000;
  --amarelo:#ffd700;
  --branco:#fff;
  --cinza:#e3e3e3;
  --suave:#c9d2dc;
  --linha:rgba(255,255,255,.28);
  --verde:#66ff04;
  --rosa:#d718db;
  --largura:1140px;
  --lateral:clamp(16px,4vw,32px);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--preto);color:var(--branco);font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
strong{font-weight:700}
.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:var(--amarelo);color:#000;padding:8px 14px;border-radius:4px;z-index:50;font-weight:600;text-decoration:none}
.pular:focus{top:8px}
:focus-visible{outline:2px solid var(--amarelo);outline-offset:3px}

/* ---------- Topo ---------- */
.topo{position:relative;z-index:5;text-align:center;padding:28px var(--lateral) 18px;background:var(--preto)}
.inicio .topo{position:absolute;inset:0 0 auto;background:linear-gradient(180deg,#000 25%,rgba(0,0,0,0) 100%);padding-bottom:56px}
.logo{display:inline-block}
.logo img{width:min(380px,72vw);height:auto;margin:0 auto}
.menu{margin-top:22px}
.menu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 40px}
.menu a{display:block;padding:6px 0;color:var(--cinza);text-decoration:none;font-size:15px;letter-spacing:1.6px;transition:color .2s}
.menu a:hover,.menu a[aria-current="page"]{color:var(--amarelo)}
.menu a.to3{color:var(--verde)}
.menu a.to3:hover{color:var(--rosa)}
.botao-menu{display:none}

@media (max-width:860px){
  .topo{padding-top:20px;padding-bottom:14px}
  .inicio .topo{padding-bottom:40px}
  .menu{margin-top:10px}
  .botao-menu{display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid var(--linha);color:var(--cinza);font:inherit;font-size:14px;letter-spacing:1.4px;padding:8px 16px;border-radius:999px;cursor:pointer}
  .botao-menu span{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;transition:transform .2s}
  .botao-menu[aria-expanded="true"] span{box-shadow:none;transform:rotate(45deg)}
  .botao-menu[aria-expanded="true"] span::after{content:"";display:block;width:18px;height:2px;background:currentColor;transform:rotate(-90deg)}
  .js .menu ul{display:none}
  .js .menu.aberto ul{display:flex}
  .menu ul{flex-direction:column;gap:0;margin-top:12px;background:rgba(0,0,0,.92);border-top:1px solid var(--linha)}
  .menu li{border-bottom:1px solid rgba(255,255,255,.1)}
  .menu a{padding:13px 0;font-size:16px}
}

/* ---------- Home ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#000}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}

/* ---------- Conteúdo interno ---------- */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
main{flex:1;display:flex;flex-direction:column}
.palco{flex:1;position:relative;isolation:isolate;padding:44px 0 72px}
/* fundo fixo: funciona também no iPhone, onde background-attachment:fixed é ignorado */
.palco::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.45)),#06101e url(/assets/img/fundo-1000.webp) center/cover no-repeat}
@media (min-width:1001px){.palco::before{background-image:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.45)),url(/assets/img/fundo-1920.webp)}}
.palco.escuro::before{display:none}
.caixa{position:relative;max-width:var(--largura);margin:0 auto;padding:0 var(--lateral)}

.titulo{display:flex;align-items:center;gap:clamp(16px,4vw,48px);margin:0 0 36px}
.titulo h1{margin:0;color:var(--amarelo);font-size:clamp(30px,5vw,42px);font-weight:600;line-height:1.15}
.titulo::after{content:"";flex:1;height:3px;background:var(--amarelo)}

.subtitulo{display:flex;align-items:center;gap:24px;margin:56px 0 28px}
.subtitulo h2{margin:0;font-size:clamp(26px,4vw,34px);font-weight:300;line-height:1.2}
.subtitulo::before{content:"";flex:1;height:1px;background:var(--branco)}
.subtitulo.amarelo{flex-direction:row-reverse}
.subtitulo.amarelo h2{color:var(--amarelo)}
.subtitulo.amarelo::before{background:var(--amarelo)}

.texto p{margin:0 0 1.1em}
.texto p:last-child{margin-bottom:0}

/* ---------- Biografia ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:36px}
.trio img{width:100%;aspect-ratio:3/4;object-fit:cover}
.lado{display:grid;grid-template-columns:2fr 3fr;gap:clamp(24px,4vw,48px);align-items:center;margin:40px 0}
.lado.invertido{grid-template-columns:3fr 2fr}
.lado.invertido figure{order:2}
.lado figure{margin:0}
.lado img{width:100%}
@media (max-width:760px){
  .trio{grid-template-columns:1fr 1fr;gap:10px}
  .trio img:last-child{grid-column:span 2;aspect-ratio:3/2;object-position:50% 25%}
  .lado,.lado.invertido{grid-template-columns:1fr}
  .lado.invertido figure{order:0}
}

/* ---------- Trabalhos ---------- */
.destaque{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:50% 20%}
@media (max-width:600px){.destaque{aspect-ratio:4/3}}
.discos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:40px 24px}
.disco img{width:100%;aspect-ratio:1;object-fit:cover;background:#111;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.disco .ano{display:block;margin-top:14px;font-size:13px;color:var(--suave)}
.disco .nome{display:block;font-weight:700;font-size:14px;line-height:1.45;margin-top:4px}
.disco .selo{display:block;font-size:13px;color:var(--suave);margin-top:6px}
@media (max-width:420px){.discos{grid-template-columns:1fr 1fr;gap:28px 14px}}

/* ---------- Abas (Galeria e Ao Vivo) ---------- */
.abas-lista{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.abas-lista button{font:inherit;font-size:15px;font-weight:600;color:var(--amarelo);background:rgba(0,0,0,.35);border:1px solid rgba(255,215,0,.45);border-radius:999px;padding:8px 18px;cursor:pointer;transition:background .2s,color .2s}
.abas-lista button:hover{background:rgba(255,215,0,.12)}
.abas-lista button[aria-selected="true"]{background:var(--amarelo);color:#000;border-color:var(--amarelo)}
html:not(.js) .abas-lista{display:none}
.js .painel-titulo{display:none}
.painel-titulo{color:var(--amarelo);font-size:22px;margin:40px 0 16px}

.agenda{columns:2 380px;column-gap:48px;font-size:15px;line-height:1.6}
.agenda h3{column-span:all;color:var(--amarelo);font-size:24px;font-weight:600;margin:32px 0 14px;padding-bottom:6px;border-bottom:1px solid rgba(255,215,0,.35)}
.agenda h3:first-child{margin-top:0}
.agenda p{margin:0 0 .75em;break-inside:avoid}

/* ---------- Galerias ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.grade a{display:block;overflow:hidden;background:#111;cursor:zoom-in}
.grade img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s,opacity .35s}
.grade a:hover img{transform:scale(1.04);opacity:.9}
@media (max-width:420px){.grade{grid-template-columns:repeat(3,1fr);gap:6px}}

/* ---------- Lightbox ---------- */
.lightbox{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.92)}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:94vw}
.lightbox img{max-width:94vw;max-height:82vh;width:auto;height:auto}
.lightbox figcaption{font-size:14px;color:var(--suave);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}
.lightbox figcaption a{color:var(--amarelo);font-weight:600}
.lb-btn{position:fixed;background:rgba(0,0,0,.5);border:1px solid var(--linha);color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb-btn:hover{border-color:var(--amarelo);color:var(--amarelo)}
.lb-fechar{top:16px;right:16px}
.lb-ant{left:16px;top:50%;transform:translateY(-50%)}
.lb-prox{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.lb-ant,.lb-prox{top:auto;bottom:16px;transform:none}}

/* ---------- Mídia ---------- */
.faixas{list-style:none;margin:0;padding:0;display:grid;gap:28px;max-width:880px}
.faixas h2{font-size:21px;font-weight:400;margin:0 0 10px}
.faixas audio{width:100%;display:block}

/* ---------- Clipping ---------- */
.recortes{border-top:1px solid var(--linha)}
.recorte{border-bottom:1px solid var(--linha)}
.recorte summary{list-style:none;cursor:pointer;padding:14px 4px 14px 34px;position:relative;font-size:clamp(17px,2.4vw,21px);font-weight:600;line-height:1.4}
.recorte summary::-webkit-details-marker{display:none}
.recorte summary::before{content:"";position:absolute;left:10px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:8px solid currentColor;transition:transform .2s;transform-origin:4px 6px}
.recorte[open] summary::before{transform:rotate(90deg)}
.recorte summary:hover{color:var(--amarelo)}
.recorte .texto{padding:4px 4px 28px 34px;max-width:860px;color:#eef1f5}

/* ---------- Imprensa ---------- */
.duas{display:grid;grid-template-columns:1fr 2fr;gap:clamp(28px,5vw,64px);align-items:start}
.duas h2{font-size:clamp(24px,3.4vw,32px);font-weight:400;margin:0 0 16px;line-height:1.25}
.botao{display:inline-block;background:var(--amarelo);color:#000;text-decoration:none;font-weight:600;padding:10px 24px;border-radius:4px;border:0;font:inherit;font-weight:600;cursor:pointer}
.botao:hover{background:#fff}
.credito{margin:16px 0 0;font-size:15px;color:var(--suave)}
@media (max-width:760px){.duas{grid-template-columns:1fr}}

/* ---------- Contato ---------- */
.contato{grid-template-columns:1fr 1fr}
.local{display:grid;grid-template-columns:36px 1fr;gap:4px 14px;margin-bottom:28px}
.local svg{width:32px;height:32px;fill:var(--amarelo);margin-top:4px}
.local h2{color:var(--amarelo);font-size:clamp(21px,3vw,28px);font-weight:600;margin:0}
.local p{grid-column:2;margin:0;font-size:17px}
.local a{text-decoration:none}
.local a:hover{color:var(--amarelo)}
.form label{display:block;font-size:15px;margin:0 0 4px}
.form input,.form textarea{width:100%;font:inherit;font-size:16px;color:#111;background:#fff;border:1px solid #9aa4b0;border-radius:3px;padding:10px 14px;margin:0 0 14px}
.form textarea{min-height:130px;resize:vertical}
.form .botao{width:100%;padding:12px}
.form .isca{position:absolute;left:-9999px}
.aviso{margin:12px 0 0;font-size:15px}
.aviso.ok{color:var(--amarelo)}
@media (max-width:760px){.contato{grid-template-columns:1fr}}

/* ---------- Rodapé ---------- */
.rodape{position:relative;z-index:2;background:#000;color:#8a929c;font-size:13px;text-align:center;padding:28px var(--lateral);border-top:1px solid rgba(255,255,255,.08)}
.rodape a{color:#d5dbe2;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
.rodape a:hover{color:var(--amarelo)}
.inicio .rodape{display:none}

/* ---------- 404 ---------- */
.nada{text-align:center;padding:40px 0}
.nada p{margin:0 0 24px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
