:root{
--wine:#6B1021;--wd:#3B0912;--gold:#C79C6E;--gl:#A87D52;--white:#fff;--cream:#F4EDE4;--mute:#D8BCA6;
--line:rgba(200,156,110,.34);
--disp:"Libre Baskerville",Baskerville,"Baskerville Old Face",Georgia,serif;
--sub:Cabin,"Gill Sans","Trebuchet MS",sans-serif;
--sans:"Noto Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--pad:clamp(28px,5vw,80px)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;font-size:112.5%}
body{margin:0;background:var(--wine);color:var(--cream);overflow-x:hidden;font-family:var(--sans);font-size:1rem;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.frame{position:fixed;inset:0;border:clamp(8px,1.1vw,15px) solid var(--gl);pointer-events:none;z-index:60}
@media(max-width:760px){.frame{border-width:6px}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.band :focus-visible,.paper :focus-visible{outline-color:var(--wine)}
.share:focus-visible{outline:2px solid var(--wine);outline-offset:-6px}
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--gold);color:var(--wine);padding:12px 18px;font-weight:700;text-decoration:none}
.skip:focus{left:12px;top:12px}

.topbar{position:relative;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px var(--pad) 0;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.topbar a{display:inline-block;text-decoration:none;color:var(--mute);padding:11px 0;border-bottom:1px solid transparent}
.topbar a:hover,.topbar a:focus-visible{color:var(--gold);border-bottom-color:var(--gl)}
@media(max-width:620px){.topbar .long{display:none}.topbar{justify-content:flex-end}}

.hero{position:relative;isolation:isolate;text-align:center;padding:clamp(36px,7vh,80px) var(--pad) clamp(34px,6vh,64px);background:var(--wine);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-10%;z-index:-2;background:url("https://www.theatromunicipalsjbv.com.br/evento/pattern.png") 50% 0/clamp(280px,42vw,520px) repeat;opacity:.05;pointer-events:none}
.lockup{max-width:960px;margin:0 auto}
h1.lockup-t{margin:0;font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(1.55rem,9.4vw,6rem);line-height:1.08}
h1.lockup-t .l1{display:block;color:var(--gold)}
h1.lockup-t .l2{display:block;color:var(--white)}
.l3{font-family:var(--sub);font-weight:500;text-transform:uppercase;color:var(--white);font-size:clamp(1.15rem,3vw,1.85rem);letter-spacing:.03em;margin:clamp(10px,1.8vh,20px) 0 0}
.outline{width:min(430px,64%);aspect-ratio:1498/795;margin:clamp(18px,3.2vh,36px) auto clamp(14px,2.4vh,26px);background:url("https://www.theatromunicipalsjbv.com.br/evento/fachada.png") 50% 0/100% auto no-repeat}
.when{font-family:var(--disp);font-weight:700;color:var(--gold);font-size:clamp(1.2rem,7.4vw,3.1rem);line-height:1.2;margin:0;white-space:nowrap}
.free{font-family:var(--sans);font-weight:700;text-transform:uppercase;color:var(--gold);font-size:clamp(.82rem,2.7vw,1.05rem);letter-spacing:.14em;margin:clamp(16px,2.4vh,24px) 0 0}
.where{margin:clamp(18px,2.6vh,26px) auto 0;max-width:min(100%,880px);font-size:.95rem;color:var(--mute)}
.wname{display:block;font-family:var(--sans);color:var(--white);font-size:clamp(1.15rem,4.6vw,1.8rem);line-height:1.28;text-wrap:balance}
.wname b{font-weight:700}
.hero-cta{margin:clamp(26px,4vh,38px) 0 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;padding:16px 22px;border:1px solid var(--gl);color:var(--cream);background:transparent;transition:background .18s ease,color .18s ease,border-color .18s ease}
.cta:hover,.cta:focus-visible{background:rgba(244,237,228,.1);border-color:var(--cream);color:var(--white)}
.cta:active{transform:translateY(1px)}
.cta.solid{background:var(--gold);color:var(--wine);border-color:var(--gold);font-weight:700}
.cta.solid:hover,.cta.solid:focus-visible{background:var(--white);border-color:var(--white);color:var(--wine)}
@media(max-width:560px){.hero-cta{flex-direction:column}.cta{width:100%;text-align:center}}

.bigshot{margin:0;background:#000;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.bigshot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:700px){.bigshot{grid-template-columns:1fr}}
section{padding:clamp(52px,8vh,104px) 0}
main>section+section{border-top:1px solid var(--line)}
#elenco+section{border-top:0}
.gal-sec{padding:0}

.sec-head{margin-bottom:clamp(28px,5vh,54px)}
.kicker{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.55rem,5vw,2.8rem);line-height:1.22;margin:0;color:var(--white)}
.body p{margin:0 0 1.05em;max-width:64ch}
.body p:last-child{margin-bottom:0}
.body strong{font-weight:600;color:var(--white)}
.body .minor{font-size:.9rem;color:var(--mute);opacity:.88;max-width:58ch;margin-bottom:0}
.body a,.release a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gl)}
.body a:hover,.release a:hover{color:var(--white);border-bottom-color:var(--white)}
#abertura h2{max-width:20ch}
.dateline{font-family:var(--disp);font-weight:700;color:var(--gold);font-size:clamp(1.35rem,4.2vw,2.1rem);line-height:1.2;margin:0 0 .5em;max-width:none}
#abertura .body p{max-width:68ch}


.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:clamp(14px,1.8vw,20px);margin:0}
.info>div{padding:clamp(20px,2.4vw,28px);border:1px solid var(--gl);border-radius:14px}
.info dt{font-size:1rem;font-weight:700;color:var(--gold);line-height:1.4}
.info dd{margin:7px 0 0;font-size:1rem;line-height:1.55;color:var(--cream)}
.info dd a{color:var(--gold);font-weight:600;text-decoration:none}
.info dd a:hover{color:var(--white)}

.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--gl);border-top:1px solid var(--gl);border-bottom:1px solid var(--gl)}
@media(max-width:900px){.gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gal button{position:relative;display:block;margin:0;padding:0;border:0;background:var(--wine);cursor:pointer;overflow:hidden;aspect-ratio:3/2;-webkit-tap-highlight-color:transparent}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s ease}
.gal button:hover img{transform:scale(1.06);opacity:.82}
.gal button:focus-visible{outline:none}
.gal button::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--gold);transition:box-shadow .18s ease;pointer-events:none}
.gal button:focus-visible::after{box-shadow:inset 0 0 0 3px var(--gold)}
.galnote{margin:22px 0 0;font-size:.82rem;letter-spacing:.06em;color:var(--mute);opacity:.8}

.lb{position:fixed;inset:0;z-index:120;background:rgba(16,2,7,.97);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px)}
.lb[hidden]{display:none!important}
.lb-fig{margin:0;max-width:min(1180px,100%);display:flex;flex-direction:column;align-items:center;gap:16px}
.lb-fig figcaption{text-align:center}
.lb-img{max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;background:var(--wine);user-select:none;-webkit-user-drag:none}
.lb-cap{margin:0;color:var(--cream);font-size:.95rem;line-height:1.5;max-width:60ch}
.lb-count{margin:10px 0 0;color:var(--gold);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.lb-x,.lb-nav{position:absolute;z-index:2;background:transparent;border:1px solid var(--gl);color:var(--cream);cursor:pointer;line-height:1;transition:background .18s ease,border-color .18s ease,color .18s ease}
.lb-x:hover,.lb-nav:hover{background:var(--gold);border-color:var(--gold);color:var(--wd)}
.lb-x{top:clamp(12px,2vw,22px);right:clamp(12px,2vw,22px);width:46px;height:46px;font-size:1.7rem;padding:0 0 4px}
.lb-nav{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:2rem;padding:0 0 5px}
.lb-prev{left:clamp(8px,1.6vw,20px)}
.lb-next{right:clamp(8px,1.6vw,20px)}
@media(max-width:640px){.lb-nav{width:40px;height:52px;font-size:1.6rem}.lb-img{max-height:62vh}}
@media(prefers-reduced-motion:reduce){.gal img{transition:none}}

.prog ol{margin:0;padding:0}
.prog li{list-style:none;display:grid;grid-template-columns:28px minmax(0,1fr);gap:clamp(10px,1.6vw,18px);align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.prog li:first-child{border-top:1px solid var(--line)}
.prog .n{font-size:.78rem;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.prog .t{font-family:var(--disp);font-size:clamp(1.02rem,3.2vw,1.3rem);line-height:1.32;color:var(--white)}
.prog .who{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-top:7px}
.prog .who em{font-style:italic;text-transform:none;letter-spacing:.02em}
.subnote{margin:14px 0 0;font-size:.9rem;color:var(--mute)}
.note{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-top:24px}

#programa{background:var(--wd);border-top:1px solid var(--gl);border-bottom:1px solid var(--gl);max-width:none;padding-left:0;padding-right:0}
#programa>.wrap{max-width:1160px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

#elenco{background:var(--cream);color:#3E2C24;border-top:0;max-width:none;padding-left:0;padding-right:0}
#elenco>.wrap{max-width:1160px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
#elenco .kicker{color:#8A5A2B}
#elenco h2{color:var(--wine)}
#elenco .grp h3{color:#8A5A2B}
#elenco .grp .nm{color:var(--wine)}
#elenco .grp .rl{color:#5A4335}
.cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:clamp(26px,3.4vh,40px) clamp(24px,3vw,48px);align-items:start}
.grp h3{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.grp ul{list-style:none;margin:0;padding:0}
.grp li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0}
.grp .nm{font-family:var(--disp);font-size:1.05rem;line-height:1.35;color:var(--white)}
.grp .rl{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:right;line-height:1.5}
@media(max-width:560px){.grp li{display:block}.grp .rl{display:block;text-align:left;margin-top:4px}}

.band{background:var(--gold);text-align:center;padding:clamp(46px,8vh,90px) var(--pad)}
.band .bd{font-family:var(--sans);font-weight:700;color:var(--wine);font-size:clamp(1.7rem,6.4vw,3.2rem);line-height:1.1;margin:0}
.band .bs{font-family:var(--disp);color:var(--wd);font-size:clamp(1.25rem,5vw,2.2rem);line-height:1.3;margin:0 auto;max-width:26ch;text-wrap:balance}
.band .bl{margin:14px auto 0;max-width:44ch;font-size:.95rem;color:var(--wd)}
.band .bcta{margin-top:clamp(26px,3.5vh,36px);display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.band .cta{border-color:var(--wd);color:var(--wd)}
.band .cta:hover,.band .cta:focus-visible{background:var(--wd);color:var(--gold);border-color:var(--wd)}
.band .cta.solid{background:var(--wine);color:var(--gold);border-color:var(--wine)}
.band .cta.solid:hover,.band .cta.solid:focus-visible{background:var(--wd);color:var(--gold);border-color:var(--wd)}

.poster{display:grid;grid-template-columns:minmax(0,290px) minmax(0,460px);justify-content:start;gap:clamp(20px,4vw,48px);align-items:start}
.poster img{width:100%;height:auto;border:1px solid var(--gl);background:var(--wine)}
.poster{margin-top:clamp(34px,5vh,56px);padding-top:clamp(30px,4vh,46px);border-top:1px solid rgba(86,12,25,.16)}
.poster h3{font-family:var(--disp);font-weight:400;font-size:1.3rem;margin:0 0 10px;color:var(--wine)}
.poster p{margin:0 0 18px;font-size:.95rem;color:#5A4335;max-width:52ch}
.poster .bio{margin:22px 0 0;font-size:.9rem;line-height:1.6}
.paper .poster .cta{border-color:rgba(86,12,25,.4);color:var(--wine)}
.paper .poster .cta:hover{background:rgba(86,12,25,.08);border-color:var(--wine)}
.paper .poster .cta.solid{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.paper .poster .cta.solid:hover{background:#3E0810;border-color:#3E0810;color:var(--cream)}
.poster .dl{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:640px){.poster{grid-template-columns:1fr}.poster img{max-width:300px}}

.paper{background:var(--cream);color:#3E2C24}
.paper .kicker{color:#8A5A2B}
.paper h2{color:var(--wine)}
.paper .release{background:#fff;border-color:rgba(86,12,25,.16)}
.paper .release h3{color:var(--wine)}
.paper .release .sub{color:#8A5A2B}
.paper .service{color:#5A4335;border-top-color:rgba(86,12,25,.16)}
.paper .service b{color:var(--wine)}
.paper .btn{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.paper .btn:hover,.paper .btn:focus-visible{background:#3E0810;border-color:#3E0810;color:var(--cream)}
.paper .copystat{color:var(--wine)}
.release{border:1px solid rgba(200,156,110,.35);padding:clamp(20px,4vw,46px);background:var(--wine)}
.release h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(1.15rem,4vw,1.85rem);margin:0 0 6px;color:var(--white);line-height:1.26}
.release .sub{font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.release p{margin:0 0 1.05em;max-width:72ch}
.service{margin-top:24px;padding-top:18px;border-top:1px solid rgba(200,156,110,.3);font-size:.95rem;color:var(--mute)}
.service b{color:var(--white);font-weight:600}
.btn{margin-top:22px;cursor:pointer;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--wine);background:var(--gold);border:1px solid var(--gold);padding:16px 22px;width:100%;max-width:340px;transition:background .18s ease}
.btn:active{transform:translateY(1px)}
.copystat{display:block;margin-top:10px;font-size:.85rem;color:var(--gold);min-height:1.2em}


footer{background:var(--wine);border-top:1px solid var(--gl);padding:clamp(34px,5vh,56px) 0 clamp(34px,5vh,56px);color:var(--mute);font-size:.95rem}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(28px,4vw,56px)}
@media(min-width:960px){.fgrid{grid-template-columns:1fr 1.15fr 1fr}}
.fcol p{margin:0 0 15px;max-width:36ch;line-height:1.55}
.fcol p:last-child{margin-bottom:0}
.fcol .lead{font-family:var(--disp);color:var(--white);font-size:1.02rem;line-height:1.35;margin-bottom:16px}
.fcol .sub{display:inline-block;color:var(--mute);opacity:.78;font-size:.88rem;line-height:1.45}
.fcol b{color:var(--white);font-weight:600}
.fnote{margin:clamp(30px,4vh,44px) 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:.82rem;line-height:1.55;color:var(--mute);opacity:.75;max-width:66ch}
footer h3{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
footer a{display:inline-block;color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;padding:3px 0}
footer a:hover,footer a:focus-visible{color:var(--white);border-bottom-color:var(--white)}

.sig{background:var(--cream);padding:clamp(30px,5vw,48px) var(--pad);text-align:center}
.sig p{margin:0 0 22px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8A5A2B}
.sig img{width:min(760px,100%);height:auto;margin:0 auto}
.sig p.apoio{margin-top:clamp(28px,4vw,40px)}
.sig img.apoio-logo{width:min(115px,30%);mix-blend-mode:multiply}

.share{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;background:var(--gold);color:var(--wine);text-align:center;text-decoration:none;font-size:.88rem;font-weight:700;padding:16px 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .28s ease}
.share.on{transform:none}
.share:active{background:var(--white)}
@media(max-width:760px){.share{display:block}body{padding-bottom:74px}}
@media(prefers-reduced-motion:reduce){.share{transition:none}}

.js .reveal{opacity:0;transform:translateY(10px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}*{animation:none!important}}

body.paper-page{background:var(--cream);color:#3E2C24}
.paper-page .topbar{color:#8A5A2B}
.paper-page .topbar a{color:#8A5A2B}
.paper-page .topbar a:hover{color:var(--wine);border-bottom-color:var(--wine)}
.paper-page .kicker{color:#8A5A2B}
.paper-page h2{color:var(--wine)}
.paper-page .release{background:#fff;border-color:rgba(86,12,25,.16)}
.paper-page .release h3{color:var(--wine)}
.paper-page .release .sub{color:#8A5A2B}
.paper-page .service{color:#5A4335;border-top-color:rgba(86,12,25,.16)}
.paper-page .service b{color:var(--wine)}
.paper-page .btn{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.paper-page .btn:hover,.paper-page .btn:focus-visible{background:#3E0810;border-color:#3E0810}
.paper-page .copystat{color:var(--wine)}
.paper-page .poster h3{color:var(--wine)}
.paper-page .poster p{color:#5A4335}
.paper-page .poster .cta{border-color:rgba(86,12,25,.4);color:var(--wine)}
.paper-page .poster .cta:hover{background:rgba(86,12,25,.08);border-color:var(--wine)}
.paper-page .poster .cta.solid{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.paper-page .poster .cta.solid:hover{background:#3E0810;border-color:#3E0810}
.paper-page footer{background:transparent;color:#5A4335;border-top-color:rgba(86,12,25,.2)}
.paper-page .fcol .lead{color:var(--wine)}
.paper-page .fcol b{color:var(--wine)}
.paper-page .fcol .sub{color:#5A4335}
.paper-page .fnote{border-top-color:rgba(86,12,25,.18);color:#5A4335}
.paper-page footer h3{color:#8A5A2B}
.paper-page footer a{color:var(--wine)}
.paper-page footer a:hover{color:#3E0810;border-bottom-color:#3E0810}
.paper-page .frame{display:none}
