:root{--bg:#101110;--ink:#f5f2eb;--gold:#d7ba7b;--muted:#b4b4aa;--line:#34352f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{display:flex;justify-content:space-between;align-items:center;padding:24px 6vw;border-bottom:1px solid var(--line);gap:30px}.brand{font-size:1.05rem;letter-spacing:.15em}.brand span{display:block;color:var(--gold);font-size:.75rem;letter-spacing:.17em;margin-top:3px}nav{display:flex;gap:32px;font-size:.9rem}nav a:hover,a.text-link:hover{color:var(--gold)}.hero{min-height:740px;display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;padding:80px 10vw 60px;position:relative;align-items:center}.eyebrow{color:var(--gold);letter-spacing:.19em;font-size:.78rem;font-weight:bold;margin:0 0 28px}h1,h2{font-family:Georgia,serif;font-weight:normal;line-height:1.05;margin:0;letter-spacing:-.035em}h1{font-size:clamp(5rem,8.5vw,9rem)}em{color:var(--gold);font-weight:normal}h2{font-size:clamp(2.5rem,4.1vw,4.3rem)}.role{font-size:1.1rem;color:var(--gold);margin-top:25px}.intro{max-width:440px;color:var(--muted)}.actions{display:flex;gap:25px;align-items:center;margin-top:34px;flex-wrap:wrap}.button{display:inline-block;background:var(--gold);color:#141510;font-size:.9rem;padding:14px 22px;border:1px solid var(--gold);font-weight:bold;transition:background .2s}.button:hover{background:#efd597}.text-link{border-bottom:1px solid var(--gold);font-size:.9rem;padding-bottom:5px}.portrait{margin:0;position:relative;max-width:460px}.portrait img{display:block;width:100%;height:auto}.portrait figcaption{font-size:.75rem;letter-spacing:.17em;padding-top:17px;color:var(--muted)}.hero-number{position:absolute;bottom:27px;left:6vw;color:var(--muted);font-size:.75rem;letter-spacing:.15em}.section{padding:95px 10vw;border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.prose p:first-child{margin-top:0}.prose{color:var(--muted)}details{border-top:1px solid var(--line);padding:20px 0;margin-top:25px}summary{cursor:pointer;color:var(--gold);font-size:.9rem}.lessons{background:#1b1d19}.lesson-heading{max-width:790px}.lesson-heading>p:last-child{color:var(--muted);max-width:610px;margin-top:30px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:55px 0}.lesson-grid article{border-top:1px solid #5b5647;padding-top:23px}.lesson-grid span{font-size:.8rem;color:var(--gold)}h3{font-size:1.25rem;font-weight:normal;margin:12px 0}article p,.contact-grid p{color:var(--muted)}.lesson-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.lesson-bottom p{font-size:.9rem;color:var(--muted)}.lesson-bottom strong{color:var(--ink)}.stage-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.stage-heading>p{color:var(--muted);font-size:.9rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{border:0;background:none;color:var(--ink);padding:0;text-align:left;cursor:pointer;min-width:0}.photo.wide{grid-column:span 2}.photo img{width:100%;height:330px;object-fit:cover;display:block}.photo:hover img{filter:brightness(1.12)}.photo span{display:flex;justify-content:space-between;padding:14px 0;font-family:Georgia,serif;font-size:1.15rem;gap:10px}.photo small{font: .75rem Arial,sans-serif;letter-spacing:.08em;color:var(--gold);padding-top:8px}.recordings{margin-top:45px;border-top:1px solid var(--line);padding-top:22px}.recordings p{color:var(--muted)}.contact{background:#20221d}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px}.contact-grid p{max-width:440px}.outline{background:transparent;color:var(--gold)}.outline:hover{color:#141510}footer{display:flex;justify-content:space-between;padding:28px 6vw;gap:20px;font-size:.8rem;color:var(--muted)}dialog{background:#101110;border:1px solid #555;color:white;padding:22px;max-width:94vw;max-height:94vh}dialog::backdrop{background:#000d}dialog img{display:block;max-width:85vw;max-height:72vh;object-fit:contain;margin-top:15px}.close{display:block;margin-left:auto;border:1px solid #777;background:none;color:white;padding:8px 15px;cursor:pointer}dialog p{margin-bottom:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:760px){header{display:block;padding:20px 6vw}nav{gap:22px;margin-top:17px;flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:45px 7vw 65px;gap:40px;min-height:0}h1{font-size:5.5rem}.portrait{max-width:400px}.hero-number{display:none}.section{padding:60px 7vw}.about{grid-template-columns:1fr;gap:30px}.lesson-grid{grid-template-columns:1fr;gap:18px;margin:35px 0}.lesson-bottom,.stage-heading{display:block}.gallery{grid-template-columns:1fr 1fr;gap:15px}.photo.wide{grid-column:span 2}.photo img{height:240px}.photo:not(.wide) img{height:220px}.photo span{display:block;font-size:1rem}.photo small{display:block}.contact-grid{grid-template-columns:1fr;gap:25px}footer{flex-wrap:wrap}.eyebrow{margin-bottom:20px}h2{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Fotos completas e contato sempre visível */
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.photo.wide{grid-column:auto}.gallery .photo img{height:auto;object-fit:contain}.whatsapp-fixed{position:fixed;right:24px;bottom:24px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:30px;background:#167c3b;color:#fff;font-size:16px;font-weight:bold;box-shadow:0 4px 18px #0006;border:2px solid #fff}.whatsapp-fixed:hover{background:#11632f}footer{padding-bottom:100px}@media(max-width:760px){.gallery{grid-template-columns:1fr}.photo.wide{grid-column:auto}.gallery .photo img{height:auto}.whatsapp-fixed{right:16px;bottom:16px;padding:10px 20px}}

/* Galeria uniforme, sem corte ou ampliação das fotos menores */
.gallery{align-items:start}.gallery .photo img{width:100%;height:330px;object-fit:scale-down;object-position:center;background:#080908}.photo span{min-height:64px}@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .photo img{height:220px}.photo span{min-height:78px}}@media(max-width:480px){.gallery{grid-template-columns:1fr}.gallery .photo img{height:280px}.photo span{min-height:64px}}

/* Albums and original portrait */
.portrait{width:100%;max-width:380px;justify-self:center}
.portrait img{width:100%;max-height:540px;object-fit:contain}
.album-cover small{font:14px/1.6 Arial,sans-serif;color:var(--muted);white-space:nowrap}
.album-cover:hover img{outline:1px solid var(--gold);outline-offset:-1px}
button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
#album-dialog{width:min(1050px,94vw);max-width:94vw;max-height:90vh;padding:28px;border:1px solid var(--line);overflow:auto}
.album-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}
.album-header h2{font-size:clamp(1.8rem,4vw,2.8rem)}
.album-header p{color:var(--muted);font-size:14px;margin-bottom:0}
.album-close{background:none;border:1px solid var(--gold);color:var(--ink);padding:8px 16px;white-space:nowrap;cursor:pointer}
.album-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.album-photo{padding:0;border:1px solid var(--line);background:#080908;cursor:zoom-in;min-width:0}
#album-dialog .album-photo img{display:block;width:100%;height:240px;max-width:100%;max-height:none;object-fit:scale-down}
#lightbox{z-index:1100}
@media(max-width:760px){#album-dialog{padding:18px}.album-images{grid-template-columns:repeat(2,minmax(0,1fr))}#album-dialog .album-photo img{height:200px}}
@media(max-width:480px){.album-images{grid-template-columns:1fr}.album-header{flex-wrap:wrap}#album-dialog .album-photo img{height:260px}}

nav{flex-wrap:wrap;gap:18px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:40px}.video-card{min-width:0}.video-card video{width:100%;height:300px;object-fit:contain;background:#080908;display:block}.video-card h3{font:normal 1.15rem/1.5 Georgia,serif;margin:14px 0;color:var(--ink)}.concerts-empty{color:var(--muted)}@media(max-width:760px){.video-grid{grid-template-columns:1fr}.video-card video{height:auto;max-height:400px;aspect-ratio:16/9}}

.concerts-section .gallery,.projects-section .gallery{margin-top:40px}

/* Independent menu views */
main > section[hidden]{display:none!important}nav a[aria-current="page"]{color:var(--gold);border-bottom:1px solid var(--gold)}main > section:focus{outline:none}main{min-height:65vh}
