
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 60px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.55 'Space Grotesk',system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
a{color:inherit}
h1,h2,h3{font-family:Anton,Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;line-height:.95;margin:0}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:3px solid var(--line);display:flex;align-items:center;gap:18px;padding:10px 18px}
.logo{font-family:Anton,Impact,sans-serif;font-size:22px;text-decoration:none;white-space:nowrap}.logo img{height:54px;width:auto;display:block}.hl{display:none;position:absolute;right:4%;top:40px;width:min(36vw,400px);transform:rotate(4deg);filter:drop-shadow(6px 6px 0 rgba(0,0,0,.25))}@media(min-width:900px){.hl{display:block}}
nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
nav a{padding:6px 12px;text-decoration:none;font-weight:700;font-size:14px;text-transform:uppercase;white-space:nowrap;border:2px solid transparent}
nav a:hover{border-color:var(--line);background:var(--acc2);color:#0d0d0d}
section{padding:72px 18px;max-width:1120px;margin:0 auto}
.hero{max-width:none;padding:56px 18px 48px;border-bottom:3px solid var(--line);position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--acc2) 55%,transparent),transparent 40%)}
.hero>div{max-width:1120px;margin:0 auto}
.kick{display:inline-block;background:var(--ink);color:var(--bg);padding:4px 12px;font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.08em;transform:rotate(-2deg)}
h1{font-size:clamp(64px,17vw,190px);margin:18px 0 10px}h1 span{color:var(--acc);-webkit-text-stroke:0}
.when{font-family:Anton,Impact,sans-serif;font-size:clamp(22px,4vw,40px);text-transform:uppercase}
.meta{max-width:620px;color:var(--mut)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.btn{display:inline-block;padding:13px 22px;font-weight:700;text-transform:uppercase;text-decoration:none;border:3px solid var(--line);background:var(--acc2);color:#0d0d0d;box-shadow:5px 5px 0 var(--line);transition:transform .1s}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--line)}.btn.alt{background:var(--card);color:var(--ink)}
#cd{display:flex;gap:10px;flex-wrap:wrap}
#cd div{border:3px solid var(--line);background:var(--card);padding:8px 14px;min-width:78px;text-align:center}
#cd b{display:block;font:400 34px Anton,Impact,sans-serif}#cd small{text-transform:uppercase;font-size:12px;color:var(--mut)}
.strip{background:var(--ink);color:var(--bg);overflow:hidden;border-bottom:3px solid var(--line);white-space:nowrap}
.strip div{display:inline-block;padding:12px 0;font:400 26px Anton,Impact,sans-serif;text-transform:uppercase;animation:mq 28s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip div{animation:none}html{scroll-behavior:auto}}
h2{font-size:clamp(38px,7vw,72px);margin-bottom:10px}h2 i{font-style:normal;color:var(--acc)}
.sub{color:var(--mut);max-width:640px;margin:0 0 26px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:760px){.two{grid-template-columns:1fr}header{gap:10px;padding:8px 12px}}
.box{border:3px solid var(--line);background:var(--card);padding:22px;box-shadow:8px 8px 0 var(--acc)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tabs button{font:700 14px 'Space Grotesk',sans-serif;text-transform:uppercase;padding:9px 16px;border:3px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.tabs button.on{background:var(--acc);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.card{border:3px solid var(--line);background:var(--card);box-shadow:6px 6px 0 var(--line);display:flex;flex-direction:column}
.card:nth-child(3n+2){transform:rotate(.6deg)}.card:nth-child(3n){transform:rotate(-.6deg)}
.ph{aspect-ratio:4/5;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;font:400 72px Anton,Impact,sans-serif;border-bottom:3px solid var(--line);overflow:hidden}
.card:nth-child(3n+2) .ph{background:var(--acc2);color:#0d0d0d}.card:nth-child(3n) .ph{background:var(--blue)}
.ph img{width:100%;height:100%;object-fit:cover}
.card .in{padding:14px}.card h3{font-size:24px}.card p{margin:6px 0 0;color:var(--mut);font-size:15px}
.tag{display:inline-block;margin-top:10px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700;text-transform:uppercase;padding:3px 9px;margin-right:6px;text-decoration:none}
.card.soon{opacity:.6;border-style:dashed}
.prog{list-style:none;margin:0;padding:0;border:3px solid var(--line);background:var(--card)}
.prog li{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:16px;border-bottom:2px solid var(--line);align-items:center}
.prog li:last-child{border:0}.prog .h{font:400 28px Anton,Impact,sans-serif;color:var(--acc)}
.prog small{color:var(--mut);display:block}.empty{padding:26px;text-align:center;color:var(--mut)}
.band{background:var(--acc2);color:#0d0d0d;border-block:3px solid #0d0d0d;max-width:none}
.band>div{max-width:1120px;margin:0 auto}.band .box{background:#fff;box-shadow:8px 8px 0 #0d0d0d;border-color:#0d0d0d}.band .sub{color:#333}
.sp{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 22px}
.sp span{border:3px solid var(--line);background:var(--card);padding:8px 16px;font-weight:700}
footer{background:var(--ink);color:var(--bg);padding:34px 18px calc(34px + env(safe-area-inset-bottom,0px));text-align:center;font-size:14px}
footer a{margin:0 8px}

.map{margin-top:26px;border:3px solid #0d0d0d;box-shadow:8px 8px 0 #0d0d0d;aspect-ratio:16/9;max-height:460px;width:100%;background:#fff}
.map iframe{width:100%;height:100%;border:0;display:block}
.sp .lg{display:flex;align-items:center;justify-content:center;width:180px;height:96px;padding:12px;background:#fff;border:3px solid var(--line);text-decoration:none}
.sp .lg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
a.lg:hover{box-shadow:5px 5px 0 var(--acc)}
@media(max-width:560px){.sp .lg{width:calc(50% - 5px)}}

/* Identidade visual atualizada: grafite nas laterais, sem usar o cartaz como fundo */
:root{--graffiti-blue:#185cff;--graffiti-purple:#6b2cff;--graffiti-pink:#ff287f;--graffiti-yellow:#ffd400}
body{overflow-x:clip;background-image:radial-gradient(ellipse at -4% 18%,rgba(24,92,255,.14) 0 3%,transparent 12%),radial-gradient(ellipse at 104% 36%,rgba(255,40,127,.13) 0 3%,transparent 12%),radial-gradient(ellipse at -3% 72%,rgba(107,44,255,.12) 0 3%,transparent 12%),radial-gradient(circle at 1px 1px,rgba(24,92,255,.13) 1.2px,transparent 1.8px);background-size:auto,auto,auto,28px 28px;background-attachment:fixed}
header{min-width:0;gap:clamp(8px,1.5vw,18px)}
.logo{display:flex;align-items:center;flex:0 0 auto;max-width:170px}.logo img{width:auto;height:clamp(42px,5vw,58px);max-width:150px;object-fit:contain}
nav{min-width:0;flex:1;overscroll-behavior-x:contain}nav a{font-size:13px;padding:7px 10px}
.hero{isolation:isolate;background:radial-gradient(ellipse at 88% 14%,rgba(255,212,0,.3),transparent 35%),radial-gradient(ellipse at 6% 90%,rgba(24,92,255,.16),transparent 32%),var(--bg)}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:clamp(80px,12vw,170px);height:clamp(150px,22vw,280px);opacity:.72;background:repeating-linear-gradient(155deg,transparent 0 10px,var(--graffiti-pink) 11px 14px,transparent 15px 23px);mask-image:linear-gradient(135deg,#000,transparent 78%);animation:paint-in 1.1s ease-out both}
.hero::before{right:0;top:8%;transform:rotate(12deg)}.hero::after{left:0;bottom:4%;background:repeating-linear-gradient(25deg,transparent 0 10px,var(--graffiti-blue) 11px 14px,transparent 15px 23px);animation-delay:.15s}
.hero-logo{display:block;width:min(100%,min(440px,64vw));height:auto;max-height:300px;object-fit:contain;object-position:left center;margin:24px 0 20px;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.12));animation:paint-in .7s ease-out both}
@keyframes paint-in{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.hero-logo,.hero::before,.hero::after{animation:none}}
.card{min-width:0;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:8px 8px 0 var(--acc);transform:translateY(-2px)}
.ph.bio-toggle{position:relative;display:flex;width:100%;padding:0;border:0;border-bottom:3px solid var(--line);border-radius:0;cursor:pointer;appearance:none;text-align:left;color:#fff;background:linear-gradient(135deg,var(--graffiti-purple),var(--graffiti-blue));font:inherit;isolation:isolate}
.ph.bio-toggle img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .25s ease,transform .4s ease}.ph.bio-toggle:hover img{transform:scale(1.025)}
.ph .initials{font:400 72px Anton,Impact,sans-serif;position:relative;z-index:0}
.bio-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:clamp(12px,3vw,20px);background:rgba(8,8,14,.88);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;overflow-y:auto;color:#fff}
.bio-open img{opacity:.16}.bio-open .initials{opacity:.18}.bio-open .bio-overlay{opacity:1;visibility:visible}
.bio-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);font-weight:700}.bio-copy{font-size:clamp(13px,1.3vw,15px);line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.bio-hint{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.78);color:#fff;padding:5px 8px;font-size:10px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.bio-toggle:focus-visible{outline:4px solid var(--acc2);outline-offset:-5px}.bio-toggle[data-has-bio="0"]{cursor:default}
.sp{gap:14px;align-items:stretch}.sp .lg{width:clamp(130px,18vw,190px);height:clamp(82px,10vw,112px);padding:14px;box-shadow:4px 4px 0 var(--line);transition:transform .18s ease,box-shadow .18s ease}.sp .lg img{max-width:100%;max-height:100%;object-fit:contain}.sp a.lg:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--acc)}.sp span{display:flex;align-items:center;justify-content:center;min-height:76px;max-width:220px;overflow-wrap:anywhere}
button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:760px){header{align-items:center;flex-wrap:wrap;gap:6px 10px}header .logo{max-width:100px}header .logo img{max-width:96px;height:42px}nav{flex-basis:100%;order:2;width:100%;padding:2px 0 4px}nav a{font-size:12px;padding:6px 9px}section{padding:52px 16px}.hero{padding:38px 16px 34px}.hero-logo{width:min(82vw,360px);max-height:220px;margin:20px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{box-shadow:4px 4px 0 var(--line)}.card:nth-child(3n+2),.card:nth-child(3n){transform:none}.card h3{font-size:clamp(17px,4.5vw,22px)}.card .in{padding:11px}.card p{font-size:13px}.ph{aspect-ratio:4/5}.prog li{grid-template-columns:62px minmax(0,1fr);gap:9px;padding:12px}.prog li>.tag{grid-column:2;justify-self:start}.prog .h{font-size:23px}.bio-copy{font-size:13px}.sp .lg{width:calc(50% - 7px);height:88px}.hl{display:none}}
@media(max-width:360px){.grid{grid-template-columns:1fr}.hero-logo{width:min(88vw,300px)}.btn{padding:11px 14px}.bio-copy{font-size:14px}}


/* v1.2.1 — marca em destaque e grafite desenhado em movimento */
.hero{padding-top:clamp(38px,5vw,76px);padding-bottom:clamp(42px,5vw,76px)}
.hero>div{position:relative;min-height:clamp(390px,42vw,570px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-logo{position:relative;z-index:2;width:clamp(420px,64vw,820px);max-width:calc(100% - 120px);max-height:none;height:auto;object-position:left center;margin:0 0 clamp(22px,3vw,38px);animation:logo-spray 1.8s cubic-bezier(.2,.7,.2,1) both;filter:drop-shadow(7px 7px 0 rgba(0,0,0,.10))}
.hero .when,.hero .meta,.hero .btns,#cd{position:relative;z-index:2}
.graffiti-tool{position:absolute;z-index:1;pointer-events:none;color:var(--graffiti-purple);width:clamp(74px,11vw,145px);opacity:.94;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.08))}
.graffiti-tool svg{display:block;width:100%;height:auto;overflow:visible}
.graffiti-spray{right:1%;top:3%;color:var(--graffiti-blue);transform:rotate(11deg);animation:tool-float 4.8s ease-in-out infinite, tool-appear 1.4s ease-out both}
.graffiti-mic{right:15%;bottom:3%;width:clamp(64px,9vw,118px);color:#ff287f;transform:rotate(-13deg);animation:mic-float 5.2s ease-in-out infinite, tool-appear 1.8s ease-out both}
.spray-drawing,.mic-drawing{stroke-dasharray:620;stroke-dashoffset:620;animation:draw-graffiti 2.4s cubic-bezier(.4,0,.2,1) .2s forwards}
.spray-dots{opacity:0;animation:dots-pop .6s ease-out 1.5s forwards}.mic-waves{stroke-dasharray:120;stroke-dashoffset:120;animation:draw-graffiti 1.1s ease-out 1.3s forwards}
@keyframes draw-graffiti{to{stroke-dashoffset:0}}
@keyframes dots-pop{to{opacity:1}}
@keyframes tool-appear{from{opacity:0;clip-path:inset(100% 0 0 0)}to{opacity:.94;clip-path:inset(0)}}
@keyframes tool-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:-5px 12px;rotate:3deg}}
@keyframes mic-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:4px -9px;rotate:-4deg}}
@keyframes logo-spray{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px)}100%{opacity:1;clip-path:inset(0);transform:translateX(0)}}
/* Reveal suave dos blocos ao entrar na tela */
.js-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.js-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:761px) and (max-width:1100px){.hero-logo{width:clamp(400px,62vw,650px);max-width:calc(100% - 100px)}.hero>div{min-height:460px}.graffiti-spray{right:0;top:5%}.graffiti-mic{right:12%;bottom:1%}}
@media(max-width:760px){.hero>div{min-height:0}.hero-logo{width:min(84vw,430px);max-width:100%;max-height:none;margin:8px 0 24px}.graffiti-tool{opacity:.72;width:70px}.graffiti-spray{right:0;top:0;width:64px}.graffiti-mic{right:5%;bottom:20%;width:56px}.hero .when,.hero .meta,.hero .btns,#cd{max-width:100%}.js-reveal{transform:translateY(12px)}}
@media(max-width:420px){.hero-logo{width:min(82vw,340px)}.graffiti-spray{width:48px;right:-4px;top:-4px}.graffiti-mic{width:43px;right:0;bottom:25%}.hero>div{padding-right:0}}
@media(prefers-reduced-motion:reduce){.graffiti-tool,.spray-drawing,.mic-drawing,.spray-dots,.mic-waves,.hero-logo,.js-reveal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important;stroke-dashoffset:0!important}.js-reveal{opacity:1!important}}

/* Ajustes de acabamento v1.2.2 */
header{gap:clamp(12px,2vw,28px);padding:clamp(10px,1.6vw,20px) clamp(16px,3vw,38px)}
header .logo{flex:0 0 auto;max-width:none;display:flex;align-items:center}
header .logo img{display:block;width:auto;height:clamp(64px,8vw,112px);max-width:min(28vw,240px);object-fit:contain}
nav{flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end}
nav a{font-size:clamp(11px,.95vw,14px);padding:7px clamp(7px,.9vw,12px)}
.hero{padding-block:clamp(34px,5vw,68px);background:radial-gradient(ellipse at 90% 15%,rgba(255,212,0,.18),transparent 32%),radial-gradient(ellipse at 4% 95%,rgba(29,77,255,.10),transparent 30%),var(--bg)}
.hero>div{min-height:0;max-width:1120px}
.hero::before,.hero::after{display:none!important}
.graffiti-tool,.hero-logo{display:none!important}
.strip{position:relative;z-index:2;clip-path:polygon(0 9%,100% 0,100% 91%,0 100%);border:0;margin-block:-3px;transform:rotate(-.45deg) scale(1.01);transform-origin:center;box-shadow:0 4px 0 var(--line)}
.strip div{padding-block:clamp(10px,1.2vw,15px);font-size:clamp(20px,2.2vw,28px)}
.partner-group{margin:clamp(24px,4vw,44px) 0}
.partner-group h3{font-size:clamp(22px,3vw,34px);margin-bottom:14px;padding-left:12px;border-left:7px solid var(--acc);line-height:1.1}
.sp{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.6vw,18px);margin:10px 0 0}
.sp .lg{display:flex;align-items:center;justify-content:center;width:clamp(130px,17vw,210px);height:clamp(78px,9vw,116px);padding:14px;background:var(--card);border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);border-radius:3px}
.sp .lg img{display:block;width:100%;height:100%;object-fit:contain}
.ph.bio-toggle{height:auto;min-height:0;aspect-ratio:4/5;overflow:hidden}
.ph.bio-toggle.bio-open{aspect-ratio:auto;min-height:240px;height:auto;display:block;background:#08080e}
.bio-overlay{position:absolute;inset:0;overflow:visible;overflow-wrap:anywhere;max-height:none;justify-content:center;align-items:flex-start;text-align:left}
.bio-copy{display:block;width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font-size:clamp(13px,1.2vw,16px);line-height:1.55}
.bio-open .bio-overlay{position:relative;inset:auto;min-height:240px;height:auto;padding:clamp(16px,2vw,24px);overflow:visible;opacity:1;visibility:visible;background:rgba(8,8,14,.9)}
.bio-open img{position:absolute;inset:0;width:100%;height:100%;opacity:.16;object-fit:cover}
.bio-open .initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.15}
.bio-label{display:none!important}
@media(min-width:1100px){header .logo img{height:clamp(82px,7vw,116px);max-width:270px}}
@media(min-width:761px) and (max-width:1100px){header{align-items:center;flex-wrap:wrap}header .logo img{height:clamp(70px,8vw,92px);max-width:230px}nav{flex-basis:100%;justify-content:flex-start}}
@media(max-width:760px){header{align-items:center;flex-wrap:wrap;gap:8px 12px;padding:9px 12px}header .logo{max-width:none}header .logo img{height:clamp(50px,13vw,68px);max-width:min(45vw,175px)}nav{flex-basis:100%;order:2;width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}nav a{font-size:11px;padding:7px 9px} .hero{padding:32px 16px 34px}.hero>div{min-height:0}.sp .lg{width:calc(50% - 7px);height:84px;padding:10px}.partner-group{margin:24px 0}.partner-group h3{font-size:24px}.bio-open .bio-overlay{min-height:200px;padding:14px}.bio-copy{font-size:13px;line-height:1.5}}
@media(max-width:380px){header .logo img{height:48px;max-width:42vw}nav a{font-size:10px;padding:6px 7px}.sp .lg{height:76px}.bio-open .bio-overlay{padding:12px}.bio-copy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.strip div{animation:none!important}.bio-overlay,.ph.bio-toggle img{transition:none!important}}

/* v1.2.3 — logo acima da data, menu acessível e motion discreto */
.hero-logo{display:block!important;width:clamp(240px,42vw,560px);max-width:min(100%,560px);height:auto;max-height:190px;object-fit:contain;object-position:left center;margin:0 0 clamp(20px,3vw,32px);animation:logo-spray 1.15s cubic-bezier(.2,.7,.2,1) both;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.09))}
.hero .when{margin-top:0}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:4px;flex-direction:column;min-width:44px;min-height:44px;padding:8px 10px;border:2px solid var(--line);background:var(--acc2);color:#111;font:700 10px 'Space Grotesk',sans-serif;text-transform:uppercase;cursor:pointer}
.menu-toggle span{display:block;width:19px;height:2px;background:#111;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.motion-item{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms)}
.motion-item.js-reveal{opacity:0;transform:translateY(18px)}.motion-item.js-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:761px){.menu-toggle{display:none!important}header nav{display:flex!important}}
@media(max-width:760px){header{position:sticky;top:env(safe-area-inset-top,0px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px}header .logo img{height:clamp(50px,13vw,68px);max-width:min(45vw,175px)}.menu-toggle{display:flex;margin-left:auto}header nav#festival-nav{display:none;flex:0 0 100%;width:100%;order:3;flex-direction:column;align-items:stretch;gap:4px;overflow:visible;padding:8px 0 4px;border-top:1px solid rgba(0,0,0,.14)}header nav#festival-nav.nav-open{display:flex}header nav#festival-nav a{display:block;width:100%;padding:11px 12px;font-size:13px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.82)}.hero-logo{width:min(82vw,390px);max-width:100%;max-height:150px;margin:0 0 22px}.hero{padding:30px 16px 34px}.motion-item.js-reveal{transform:translateY(12px)}}
@media(max-width:380px){.hero-logo{width:min(78vw,310px);max-height:125px}}
@media(prefers-reduced-motion:reduce){.motion-item,.motion-item.js-reveal,.hero-logo,.menu-toggle span{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}}


/* v1.2.4 — navegação limpa; logomarca em destaque na capa */
header{justify-content:center;min-height:64px;padding:12px clamp(14px,3vw,38px)}
header nav#festival-nav{display:flex;flex:1;justify-content:center;align-items:center;gap:clamp(2px,.6vw,10px);width:100%;max-width:1240px;margin-inline:auto}
header nav#festival-nav a{font-size:clamp(11px,.95vw,14px);padding:9px clamp(7px,.9vw,13px)}
.hero>div{align-items:center;text-align:center;max-width:1240px;min-height:0}
.hero-logo{display:block!important;width:clamp(480px,68vw,900px);max-width:100%;max-height:none;height:auto;object-fit:contain;object-position:center;margin:0 auto clamp(24px,3.2vw,42px);animation:logo-spray 1.15s cubic-bezier(.2,.7,.2,1) both;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.09))}
.hero .when,.hero .meta{max-width:900px;margin-inline:auto;text-align:center}
.hero .when{font-size:clamp(16px,1.7vw,24px);font-weight:700;line-height:1.4;margin-bottom:12px}
.hero .btns{justify-content:center;width:100%}
#cd{justify-content:center}
@media(min-width:1100px){header{min-height:72px}header nav#festival-nav{justify-content:center}.hero-logo{width:clamp(680px,72vw,980px)}}
@media(min-width:761px) and (max-width:1100px){header{flex-wrap:wrap}header nav#festival-nav{flex-basis:100%;justify-content:center;flex-wrap:wrap}.hero-logo{width:clamp(500px,72vw,700px)}}
@media(max-width:760px){header{justify-content:flex-end;min-height:58px;padding:8px 12px}header nav#festival-nav{display:none;flex:0 0 100%;width:100%;max-width:none;order:3;flex-direction:column;align-items:stretch;gap:4px;overflow:visible;padding:8px 0 4px;margin:0;border-top:1px solid rgba(0,0,0,.14)}header nav#festival-nav.nav-open{display:flex}header nav#festival-nav a{display:block;width:100%;padding:11px 12px;font-size:13px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.9);text-align:left}.menu-toggle{display:flex;margin-left:auto}.hero-logo{width:min(88vw,500px);max-width:100%;max-height:none;margin:0 auto 24px}.hero .when{font-size:clamp(15px,4vw,19px)}.hero .meta{font-size:15px}.hero .btns{gap:10px;flex-wrap:wrap;justify-content:center}}
@media(max-width:380px){.hero-logo{width:88vw;margin-bottom:20px}.hero .when{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-logo{animation:none!important;opacity:1!important;clip-path:none!important;transform:none!important}}

/* v1.2.5: autonomia de tamanho da marca e galeria responsiva */
.hero-logo{width:min(var(--logo-width,900px),calc(100% - 24px))!important;max-width:100%;height:auto;object-position:center;margin-left:auto;margin-right:auto}
@media(max-width:760px){.hero-logo{width:min(var(--logo-width-mobile,500px),92vw)!important;max-width:100%;margin-left:auto;margin-right:auto}}
.previous-gallery{padding-top:clamp(42px,6vw,80px)}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:clamp(10px,1.5vw,18px);align-items:stretch}
.gallery-thumb{display:block;position:relative;overflow:hidden;border:2px solid var(--ink);padding:0;background:var(--card);aspect-ratio:4/3;cursor:zoom-in;box-shadow:5px 5px 0 var(--line);border-radius:3px;min-width:0}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:scale(1.055);filter:saturate(1.12)}
.gallery-action{display:flex;justify-content:center;margin-top:28px}
.gallery-lightbox[hidden]{display:none!important}.gallery-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:56px 72px}.gallery-lightbox img{max-width:min(100%,1400px);max-height:calc(100dvh - 100px);width:auto;height:auto;object-fit:contain;box-shadow:0 12px 48px #0008}.gallery-lightbox button{position:absolute;display:grid;place-items:center;border:1px solid #ffffff70;background:#111;color:#fff;border-radius:50%;width:46px;height:46px;font-size:30px;cursor:pointer}.gallery-lightbox .gallery-close{top:18px;right:20px;font-size:34px}.gallery-lightbox .gallery-prev{left:18px;top:50%;transform:translateY(-50%)}.gallery-lightbox .gallery-next{right:18px;top:50%;transform:translateY(-50%)}body.gallery-open{overflow:hidden}
@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.gallery-lightbox{padding:64px 12px 24px}.gallery-lightbox img{max-width:100%;max-height:calc(100dvh - 100px)}.gallery-lightbox .gallery-prev{left:6px}.gallery-lightbox .gallery-next{right:6px}.gallery-lightbox button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.gallery-thumb img{transition:none}}

/* Separação visual entre galerias independentes de edições anteriores */
.previous-gallery-group{margin:clamp(24px,4vw,48px) 0}.previous-gallery-group>h3{font-size:clamp(1.25rem,2.4vw,2rem);margin:0 0 16px}.previous-gallery-group>.sub{max-width:70ch;margin-bottom:18px}

/* v1.2.7 — páginas editoriais, mídia, galeria e inscrição de MCs */
.section-action{display:flex;justify-content:center;margin:28px auto 0}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin:26px 0}
.media-card{min-width:0;background:var(--card);border:2px solid var(--line);box-shadow:5px 5px 0 var(--acc);display:flex;flex-direction:column;overflow:hidden}
.media-image{aspect-ratio:16/9;overflow:hidden;background:#ddd}.media-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.media-card:hover .media-image img{transform:scale(1.035)}
.media-copy{padding:clamp(14px,2vw,22px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}.media-copy h2,.media-copy h3{margin:0;line-height:1.15}.media-copy p{margin:0;line-height:1.6}.text-link{font-weight:700;color:var(--ink);text-decoration-thickness:2px;text-underline-offset:4px}
.home-gallery-feature{position:relative;display:block;max-width:940px;margin:24px auto 0;border:3px solid var(--line);box-shadow:8px 8px 0 var(--acc);overflow:hidden;background:#111;color:#fff;text-decoration:none}.home-gallery-feature>img{display:block;width:100%;height:clamp(220px,44vw,520px);object-fit:cover;transition:transform .4s ease;opacity:.9}.home-gallery-feature:hover>img{transform:scale(1.025)}.home-gallery-feature>span{position:absolute;inset:auto 0 0;padding:clamp(18px,3vw,30px);display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:clamp(16px,2vw,24px)}.home-gallery-feature em{font-size:14px;font-style:normal;color:var(--acc2);white-space:nowrap}
.extra-hero{padding:clamp(42px,7vw,90px) 20px 32px;text-align:center;background:radial-gradient(ellipse at 10% 10%,rgba(29,77,255,.12),transparent 35%),radial-gradient(ellipse at 90% 20%,rgba(255,61,0,.14),transparent 32%),var(--bg);border-bottom:3px solid var(--line)}.extra-hero h1{max-width:1100px;margin:0 auto;font:400 clamp(42px,8vw,96px)/.98 Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}.extra-hero .sub{max-width:850px;margin:20px auto 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 12px}.extra-content{max-width:1160px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(16px,3vw,30px)}.story-copy{font-size:clamp(17px,2vw,21px);line-height:1.85;white-space:normal;overflow-wrap:anywhere;max-width:900px;margin:0 auto 38px}.media-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-page-group{padding:24px 0 38px;border-bottom:1px solid var(--line);margin-bottom:18px}.gallery-page-group h2{font-size:clamp(27px,4vw,42px)}.extra-back{display:flex;justify-content:center;margin:44px 0 0}.registration-intro{max-width:780px;margin:0 auto 28px}.registration-intro h2{font:400 clamp(30px,4vw,44px) Anton,Impact,sans-serif;text-transform:uppercase}.mc-form{max-width:820px;margin:0 auto;background:var(--card);border:2px solid var(--line);box-shadow:6px 6px 0 var(--acc);padding:clamp(16px,3vw,30px);display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mc-form label{display:grid;gap:7px;font-weight:700;font-size:14px}.mc-form input:not([type=checkbox]),.mc-form textarea{display:block;width:100%;min-width:0;border:1.5px solid var(--line);border-radius:2px;padding:12px;background:var(--bg);color:var(--ink);font:500 16px 'Space Grotesk',sans-serif}.mc-form textarea{resize:vertical}.mc-form .consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.mc-form .consent input{margin-top:4px;flex:0 0 auto}.privacy-note{font-size:12px;line-height:1.6;color:var(--mut);margin:0}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.notice-success{border:2px solid #217a3c;background:#eaf8ed;color:#123e20;padding:16px;margin:18px 0}.hhc-extra footer{margin-top:0}
@media(max-width:760px){.media-grid,.media-grid-all{grid-template-columns:1fr}.home-gallery-feature>span{align-items:flex-start;flex-direction:column;gap:6px}.home-gallery-feature em{white-space:normal}.extra-hero h1{font-size:clamp(40px,12vw,68px)}.form-grid{grid-template-columns:1fr}.mc-form{padding:16px}.media-copy{padding:16px}}
@media(prefers-reduced-motion:reduce){.media-image img,.home-gallery-feature>img{transition:none!important}}
/* Link discreto para a política de privacidade / LGPD */
.privacy-footer{font-size:.78rem;opacity:.72;margin:.35rem 0;text-align:center}.privacy-footer a{text-decoration:underline;text-underline-offset:3px}.privacy-policy h2{margin-top:1.6rem}.mc-form .consent a{text-decoration:underline;text-underline-offset:2px}

/* Melhorias funcionais: preserva a tipografia, cores e componentes originais. */
.hhc-home-collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hhc-home-collections .home-gallery-feature{min-width:0}.hhc-article img{max-width:100%;height:auto}.hhc-article{overflow-wrap:anywhere}.hhc-extra .mc-form input,.hhc-extra .mc-form textarea{max-width:100%}@media(max-width:650px){.hhc-home-collections{grid-template-columns:1fr}}

/* Ajustes funcionais v1.4.1: mantêm paleta, fontes e cartões originais. */
#cd div{padding:12px 18px;min-width:88px}#cd b{font-size:clamp(38px,5vw,48px)}
.hhc-extra .extra-hero h1{font-size:clamp(32px,5.5vw,72px);overflow-wrap:anywhere}
.gallery-collection-toggle{display:flex;align-items:center;gap:clamp(12px,3vw,26px);width:100%;padding:12px;text-align:left;background:var(--card);color:var(--ink);border:2px solid var(--line);font-family:inherit;cursor:pointer}
.gallery-collection-cover{display:block;flex:0 0 clamp(100px,20vw,190px);height:clamp(80px,13vw,130px);overflow:hidden}
.gallery-collection-cover img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-collection-title{font:400 clamp(24px,3.5vw,42px)/1.1 Anton,Impact,sans-serif;text-transform:uppercase;overflow-wrap:anywhere;min-width:0}
.gallery-collection-action{margin-left:auto;white-space:nowrap;font-weight:700}
.gallery-collection-photos{margin-top:22px}
.gallery-collection-photos[hidden]{display:none!important}
.footer-navigation{line-height:2}
@media(max-width:760px){#cd{gap:6px}#cd div{min-width:65px;padding:8px 10px}#cd b{font-size:34px}.hhc-extra .extra-hero h1{font-size:clamp(30px,8vw,52px)}.gallery-collection-toggle{flex-wrap:wrap}.gallery-collection-action{font-size:12px}.gallery-collection-cover{flex-basis:95px;height:80px}}

/* Ícone oficial em traço do Instagram; mantém tipografia e cores herdadas do rodapé. */
footer .hhc-instagram-icon{display:inline-block;vertical-align:middle;flex:none;margin-right:4px}footer a .hhc-instagram-icon{color:inherit}
