/* Tudo Bem public site. Riso screen-print system shared with /partnerships. */
@font-face{font-family:'G50';src:url("/assets/g50.woff2") format('woff2');font-display:swap}

:root{
  --peri:#7C86E9; --red:#D62816; --maroon:#5E0C06; --butter:#F3DC9B;
  --lime:#DEE93F; --magenta:#C43E98; --violet:#3A1E76; --paper:#EFE9DA;
  --ink-peri:#3E0804; --ink-on-red:#FFF6E5;
  --disp:'G50','Trebuchet MS',sans-serif;
  --text:'DM Sans',system-ui,sans-serif;
  --mono:'DM Mono',ui-monospace,Menlo,monospace;
  --shell:min(1300px,90vw);
  --pad:clamp(64px,7vw,128px);
  --rule:3px; --rule-mid:4px; --rule-heavy:5px; --hair:2px;
  --sh-1:5px; --sh-2:8px; --sh-3:12px; --sh-4:16px;
  --ease:cubic-bezier(.16,1,.3,1);
  caret-color:var(--maroon);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px;scrollbar-color:var(--maroon) var(--peri)}
body{background:var(--paper);color:var(--maroon);font-family:var(--text);
  font-size:clamp(15px,1.05vw,18px);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--maroon);color:var(--butter)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:4px solid var(--maroon);outline-offset:3px}
.f-violet a:focus-visible,.f-violet button:focus-visible,.foot a:focus-visible,.nav a:focus-visible,.nav button:focus-visible,.lb button:focus-visible,.lb a:focus-visible{outline-color:var(--lime)}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--lime);color:var(--maroon);padding:10px 16px;font-family:var(--mono)}
.skip:focus{left:8px}

/* print texture */
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}

.shell{width:var(--shell);margin-inline:auto;position:relative;z-index:2}
.sect{position:relative;padding-block:var(--pad) calc(var(--pad)*1.12);overflow:hidden}
.sect--tight{padding-block:calc(var(--pad)*.7)}
.f-peri{background:var(--peri);color:var(--ink-peri)}
.f-butter{background:var(--butter);color:var(--maroon)}
.f-violet{background:var(--violet);color:var(--butter)}
.f-lime{background:var(--lime);color:var(--maroon)}
.f-red{background:var(--red);color:var(--ink-on-red)}
.f-paper{background:var(--paper);color:var(--maroon)}
.f-maroon{background:var(--maroon);color:var(--butter)}

/* type */
.d{font-family:var(--disp);line-height:.84;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.h1{font-size:clamp(56px,9vw,150px);letter-spacing:-.022em}
.h2{font-size:clamp(38px,5.2vw,88px);letter-spacing:-.018em}
.h2--col{font-size:clamp(32px,3.8vw,60px)}
.h3{font-size:clamp(24px,2.8vw,44px);letter-spacing:-.012em}
.kicker{font-family:var(--mono);font-size:clamp(12px,.95vw,14px);letter-spacing:.2em;text-transform:uppercase}
.lede{font-size:clamp(19px,1.9vw,30px);line-height:1.32;font-weight:500;text-wrap:pretty}
p.b{max-width:58ch;text-wrap:pretty}
p.b + p.b{margin-top:1em}
.b strong,.lede strong{font-weight:700}
.head{margin-bottom:clamp(26px,3vw,46px)}
.head--c{text-align:center}
.head--c .lede,.head--c p.b{margin-inline:auto}
.head .lede{margin-top:clamp(14px,1.6vw,24px)}

/* buttons */
.btn{font-family:var(--disp);font-size:clamp(16px,1.5vw,22px);text-transform:uppercase;line-height:1;
  padding:15px 26px;border:var(--rule) solid var(--maroon);cursor:pointer;display:inline-flex;align-items:center;gap:10px;
  min-height:48px;white-space:nowrap;transition:transform .14s var(--ease),box-shadow .14s var(--ease)}
.btn:hover{transform:translate(-3px,-3px);box-shadow:var(--sh-1) var(--sh-1) 0 var(--maroon)}
.btn:active{transform:translate(2px,2px);box-shadow:none;transition-duration:.05s}
.btn--red{background:var(--red);color:var(--ink-on-red)}
.btn--butter{background:var(--butter);color:var(--maroon)}
.btn--lime{background:var(--lime);color:var(--maroon)}
.btn--paper{background:var(--paper);color:var(--maroon)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.btn--ghost:hover{box-shadow:var(--sh-1) var(--sh-1) 0 currentColor}
.f-violet .btn--ghost:hover,.f-maroon .btn--ghost:hover{box-shadow:var(--sh-1) var(--sh-1) 0 var(--lime)}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.btn[aria-disabled="true"]:hover{transform:none;box-shadow:none}
.btns{display:flex;flex-wrap:wrap;gap:14px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--maroon);color:var(--butter);border-bottom:var(--rule) solid var(--maroon)}
.nav__in{width:var(--shell);margin-inline:auto;height:68px;display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav__wm{font-family:var(--disp);font-size:26px;letter-spacing:-.02em;text-transform:uppercase;color:var(--butter);
  display:inline-flex;align-items:center;min-height:44px;gap:10px}
.nav__wm i{font-style:normal;color:var(--red);text-shadow:.04em .04em 0 var(--butter)}
.nav__l{display:flex;gap:clamp(10px,1.5vw,26px);margin-left:auto;list-style:none}
.nav__l a{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.72;
  display:inline-flex;align-items:center;min-height:44px;padding-inline:4px;transition:color .15s,opacity .15s}
.nav__l a:hover,.nav__l a[aria-current="page"]{opacity:1;color:var(--lime)}
.nav__cta{font-family:var(--disp);font-size:17px;background:var(--red);color:var(--ink-on-red);
  padding:10px 18px;border:var(--hair) solid var(--butter);text-transform:uppercase;line-height:1;min-height:44px;display:inline-flex;align-items:center;
  transition:transform .14s var(--ease),box-shadow .14s var(--ease)}
.nav__cta:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--lime)}
.nav__burger{display:none;margin-left:auto;background:none;border:var(--hair) solid var(--butter);color:var(--butter);
  font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:0 14px;min-height:44px;cursor:pointer}
.nav__menu{display:none;background:var(--maroon);color:var(--butter);border-top:var(--hair) solid rgba(243,220,155,.3)}
.nav__menu.open{display:block}
.nav__menu a{display:block;width:var(--shell);margin-inline:auto;padding:16px 0;font-family:var(--disp);font-size:28px;text-transform:uppercase;
  border-bottom:var(--hair) solid rgba(243,220,155,.2)}
.nav__menu a:hover{color:var(--lime)}
@media(max-width:940px){.nav__l,.nav__in .nav__cta{display:none}.nav__burger{display:inline-flex;align-items:center}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(24px,4.2vh,56px);overflow:hidden;background:var(--butter);color:var(--maroon);border-bottom:var(--rule-heavy) solid var(--maroon);
  padding:clamp(72px,9vh,120px) clamp(16px,4vw,60px) clamp(54px,8vh,100px)}
.hero__pat{position:absolute;inset:0;z-index:1;background:var(--butter);overflow:hidden}
.hero__pat::before{content:"";position:absolute;inset:0;background-image:url("/assets/leopard.webp");background-size:cover;background-position:44% 50%}
.hero__pat::after{content:"";position:absolute;inset:0;background-image:url("/assets/leopard.webp");background-size:cover;background-position:44% 50%;
  transform:translate(10px,8px);opacity:.4;mix-blend-mode:multiply}
.hero__grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.1;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='hn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23hn)'/%3E%3C/svg%3E");
  background-size:150px;animation:hgrain 3.4s steps(3) infinite}
.hero__plate{position:relative;z-index:4;width:fit-content;max-width:min(960px,94vw);margin-inline:auto;
  background:var(--peri);color:var(--ink-peri);border:var(--rule-heavy) solid var(--maroon);box-shadow:var(--sh-4) var(--sh-4) 0 var(--maroon);
  padding:clamp(22px,2.6vw,40px) clamp(28px,3.4vw,58px) clamp(24px,2.8vw,44px);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(12px,1.7vh,22px);animation:hplate .8s var(--ease) both}
.hero__bill{display:flex;justify-content:center;align-items:baseline;gap:clamp(12px,1.6vw,26px);flex-wrap:wrap;
  font-family:var(--mono);font-size:clamp(11px,1vw,15px);letter-spacing:.24em;text-transform:uppercase}
.hero__bill .say{letter-spacing:.1em;text-transform:none}
h1.hero__wm{font-size:16px;font-weight:400;margin:0;letter-spacing:0;line-height:.8;display:flex;flex-direction:column;align-items:center;gap:clamp(0px,.3vw,6px)}
.wm{display:flex;justify-content:center;font-family:var(--disp);font-weight:400;letter-spacing:-.025em;font-size:clamp(66px,15vw,250px);line-height:.8}
.wm span{display:inline-block;text-shadow:.035em .04em 0 var(--maroon);
  animation:wIn .6s var(--ease) both calc(.18s + var(--i)*.06s),wWave 3s ease-in-out 2 calc(1s + var(--i)*.12s)}
.wm--a span{color:var(--red)}
.wm--b span{color:var(--butter)}
.hero__line{max-width:42ch;margin-inline:auto;text-align:center;font-size:clamp(15px,1.4vw,20px);font-weight:500;animation:hrise .7s var(--ease) .55s both}
.hero__line b{display:block;margin-top:8px;font-family:var(--disp);font-weight:400;text-transform:uppercase;font-size:clamp(21px,2.8vw,40px);line-height:.98}
.hero__dates{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,2vw,30px);animation:hrise .7s var(--ease) .68s both}
.hero__date{display:flex;flex-direction:column;gap:2px;text-align:left;border-left:var(--rule-mid) solid var(--red);padding:2px 0 2px 12px;
  transition:transform .15s var(--ease),border-color .15s}
.hero__date b{font-family:var(--disp);font-size:clamp(18px,2vw,30px);line-height:1;text-transform:uppercase}
.hero__date span{font-family:var(--mono);font-size:clamp(10px,.9vw,13px);letter-spacing:.14em;text-transform:uppercase}
.hero__date:hover{transform:translateX(3px);border-color:var(--butter)}
.hero__btns{animation:hrise .7s var(--ease) .8s both;justify-content:center}
.hero__flyers{position:relative;z-index:5;display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,2.4vw,40px)}
.fly{display:block;width:clamp(150px,17.5vw,244px);border:var(--rule-heavy) solid var(--maroon);box-shadow:var(--sh-3) var(--sh-3) 0 var(--maroon);background:var(--paper)}
.fly img{width:100%;height:auto}
.fly--a{--r:-6deg;animation:hpop .72s var(--ease) .7s both,hfloatA 6s ease-in-out 1.6s infinite}
.fly--b{--r:5deg;margin-top:clamp(20px,3vw,50px);animation:hpop .72s var(--ease) .84s both,hfloatB 7s ease-in-out 1.8s infinite}
.fly:hover{transform:rotate(0) translate(-3px,-3px)!important;box-shadow:var(--sh-4) var(--sh-4) 0 var(--maroon);animation-play-state:paused}
@keyframes hplate{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}
@keyframes wIn{from{opacity:0;transform:translateY(46px) rotate(-7deg)}to{opacity:1;transform:none}}
@keyframes wWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-.05em)}}
@keyframes hrise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hpop{from{opacity:0;transform:translateY(28px) rotate(var(--r)) scale(.9)}to{opacity:1;transform:translateY(0) rotate(var(--r)) scale(1)}}
@keyframes hfloatA{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-13px)}}
@keyframes hfloatB{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-16px)}}
@keyframes hgrain{0%{transform:translate(0,0)}33%{transform:translate(-4%,3%)}66%{transform:translate(3%,-4%)}100%{transform:translate(0,0)}}
@media(max-width:820px){
  .hero{min-height:auto;justify-content:flex-start;gap:clamp(22px,5vh,40px);padding:56px 14px 46px}
  .hero__plate{max-width:100%;box-shadow:var(--sh-2) var(--sh-2) 0 var(--maroon);padding:clamp(20px,5vw,32px) clamp(20px,5vw,34px) clamp(22px,5vw,34px)}
  .wm{font-size:clamp(60px,21vw,168px)}
  .fly{width:clamp(140px,42vw,225px)}
  .fly--b{margin-top:clamp(22px,7vw,48px)}
}

/* page header (inner pages) */
.ph{background:var(--peri);color:var(--ink-peri);border-bottom:var(--rule-heavy) solid var(--maroon);padding-block:clamp(48px,7vw,110px) clamp(40px,5vw,80px);position:relative;overflow:hidden}
.ph__in{width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr);gap:clamp(24px,4vw,60px);align-items:end}
.ph__in > p{max-width:44ch;font-size:clamp(17px,1.5vw,23px);line-height:1.35;font-weight:500;text-wrap:pretty;justify-self:end}
.ph--stack .ph__in{grid-template-columns:1fr}
.ph--stack .ph__in > p{justify-self:start}
@media(max-width:820px){.ph__in{grid-template-columns:1fr}.ph__in > p{justify-self:start}}
.ph .h1{text-shadow:.04em .04em 0 var(--butter);color:var(--red)}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap}
.crumbs a{border-bottom:var(--hair) solid currentColor}
.crumbs a:hover{color:var(--red)}

/* marquee */
.marq{background:var(--maroon);color:var(--butter);overflow:hidden;padding-block:clamp(10px,1.2vw,18px)}
.marq__t{display:flex;width:max-content;animation:sl 34s linear infinite;font-family:var(--disp);text-transform:uppercase;
  font-size:clamp(26px,3.6vw,58px);line-height:1;white-space:nowrap}
.marq__t span{padding-inline:.35em}
.marq__t i{font-style:normal;color:var(--lime);font-size:.55em;display:inline-flex;align-items:center;vertical-align:middle}
@keyframes sl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marq:hover .marq__t,.marq:focus-within .marq__t{animation-play-state:paused}

/* layout helpers */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,72px);align-items:start}
.duo--w{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
@media(max-width:820px){.duo,.duo--w{grid-template-columns:1fr}}
.frame{border:var(--rule) solid var(--maroon);overflow:hidden;background:var(--maroon)}
.frame img{width:100%;height:100%;object-fit:cover}
.frame--sh{box-shadow:var(--sh-3) var(--sh-3) 0 var(--maroon)}
.ar45{aspect-ratio:4/5}.ar11{aspect-ratio:1}.ar169{aspect-ratio:16/9}.ar32{aspect-ratio:3/2}.ar34{aspect-ratio:3/4}
.rot-l{transform:rotate(-2.5deg)}.rot-r{transform:rotate(2deg)}

/* about collage */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,72px);align-items:center}
.about__pics{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
.about__pics .frame:nth-child(2){margin-top:clamp(30px,5vw,80px)}
@media(max-width:820px){.about{grid-template-columns:1fr}}

/* sound list */
.sound{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,90px);align-items:start}
.sound__words{display:flex;flex-direction:column;gap:clamp(6px,.8vw,12px);font-family:var(--disp);text-transform:uppercase;line-height:.86;
  font-size:clamp(44px,6.4vw,110px);letter-spacing:-.02em;color:var(--lime)}
.sound__words span{display:block;text-shadow:.035em .04em 0 var(--maroon)}
.sound__words span:nth-child(even){color:var(--butter);padding-left:clamp(20px,4vw,70px)}
.sound__words span:nth-child(3){color:var(--peri)}
.sound__words span:nth-child(5){color:var(--magenta)}
.nodes{border-top:var(--rule) solid var(--butter)}
.node{border-bottom:var(--rule) solid var(--butter);padding:clamp(18px,2.2vw,30px) 0;display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(12px,2vw,30px)}
.node h3{font-family:var(--disp);font-size:clamp(22px,2.4vw,36px);text-transform:uppercase;line-height:.9;letter-spacing:-.012em}
.node p{max-width:46ch;text-wrap:pretty}
.node b{color:var(--lime)}
@media(max-width:820px){.sound{grid-template-columns:1fr}.node{grid-template-columns:1fr;gap:8px}}

/* events */
.evts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
@media(max-width:820px){.evts{grid-template-columns:1fr}}
.evt{border:var(--rule-mid) solid var(--maroon);background:var(--paper);color:var(--maroon);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  box-shadow:var(--sh-3) var(--sh-3) 0 var(--maroon);position:relative}
.evt--hl{box-shadow:var(--sh-4) var(--sh-4) 0 var(--maroon)}
.evt__fl{border-right:var(--rule-mid) solid var(--maroon);background:var(--maroon)}
.evt__fl img{width:100%;height:100%;object-fit:contain;object-position:center}
.evt__d{padding:clamp(18px,2.2vw,32px);display:flex;flex-direction:column;gap:12px}
.evt__dt{font-family:var(--disp);font-size:clamp(30px,3.2vw,50px);line-height:.86;text-transform:uppercase;color:var(--red);text-shadow:.035em .035em 0 var(--maroon);letter-spacing:-.02em}
.evt__v{font-family:var(--disp);font-size:clamp(19px,2vw,28px);text-transform:uppercase;line-height:.92}
.evt__m{font-family:var(--mono);font-size:clamp(11px,.95vw,13px);letter-spacing:.08em;line-height:1.7;text-transform:uppercase}
.evt__hl{margin-top:4px}
.evt__hl b{font-family:var(--disp);font-size:clamp(24px,2.6vw,40px);text-transform:uppercase;line-height:.9;display:block}
.evt__hl small{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:inline-block;background:var(--lime);
  border:var(--hair) solid var(--maroon);padding:4px 9px;margin-bottom:8px}
.evt__w{font-size:clamp(14px,1.1vw,17px);line-height:1.45}
.evt__f{margin-top:auto;padding-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.stamp{position:absolute;left:-16px;top:-20px;z-index:3;width:clamp(96px,10vw,140px);aspect-ratio:1;border-radius:50%;background:var(--lime);
  border:var(--rule-mid) solid var(--maroon);display:grid;place-content:center;text-align:center;transform:rotate(11deg);
  font-family:var(--disp);text-transform:uppercase;line-height:.85;color:var(--maroon);font-size:clamp(14px,1.4vw,20px);padding:8px}
@media(max-width:600px){.evt{grid-template-columns:1fr}.evt__fl{border-right:0;border-bottom:var(--rule-mid) solid var(--maroon)}
  .evt__fl img{aspect-ratio:3/4;object-fit:cover}.stamp{left:-8px;top:-14px}}

/* proof band + stats */
.proof{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(120px,auto);gap:clamp(10px,1.4vw,22px)}
.proof .frame:nth-child(1){grid-column:1/8;grid-row:1/3}
.proof .frame:nth-child(2){grid-column:8/13;grid-row:1/2}
.proof .frame:nth-child(3){grid-column:8/11;grid-row:2/3}
.proof .frame:nth-child(4){grid-column:11/13;grid-row:2/3}
.proof .frame{min-height:180px}
@media(max-width:820px){.proof{grid-template-columns:1fr 1fr}
  .proof .frame:nth-child(1){grid-column:1/3;grid-row:auto}.proof .frame:nth-child(2){grid-column:1/2;grid-row:auto}
  .proof .frame:nth-child(3){grid-column:2/3;grid-row:auto}.proof .frame:nth-child(4){display:none}}
.statline{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,54px);margin-top:clamp(28px,3.4vw,54px);border-top:var(--rule) solid currentColor;padding-top:clamp(18px,2.2vw,30px)}
.statline > div{flex:1 1 200px}
.sn{font-family:var(--disp);font-size:clamp(48px,6.4vw,110px);line-height:.84;letter-spacing:-.02em}
.sl{font-family:var(--mono);font-size:clamp(11px,.95vw,14px);letter-spacing:.12em;text-transform:uppercase;margin-top:12px;line-height:1.45;max-width:26ch}

/* gallery cards */
.gcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.gcards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.gcards,.gcards--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gcards,.gcards--2{grid-template-columns:1fr}}
.gcard{border:var(--rule) solid var(--maroon);background:var(--paper);color:var(--maroon);display:flex;flex-direction:column;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.gcard:hover{transform:translate(-4px,-4px);box-shadow:var(--sh-2) var(--sh-2) 0 var(--maroon)}
.gcard:active{transform:translate(1px,1px);box-shadow:none}
.gcard__i{aspect-ratio:4/5;overflow:hidden;border-bottom:var(--rule) solid var(--maroon);background:var(--maroon)}
.gcards .gcard:nth-child(3n+2) .gcard__i{aspect-ratio:1}
.gcard__i img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gcard:hover .gcard__i img{transform:scale(1.04)}
.gcard__c{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.gcard__c b{font-family:var(--disp);font-size:clamp(20px,1.9vw,28px);text-transform:uppercase;line-height:.9;letter-spacing:-.012em}
.gcard__c span{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.gcard__n{margin-left:auto;font-family:var(--disp);font-size:16px;background:var(--lime);border:var(--hair) solid var(--maroon);padding:4px 9px}
.gcard__row{display:flex;align-items:center;gap:10px}

/* gallery grid */
.gtop{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(22px,2.6vw,40px)}
.gmeta{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;line-height:1.7}
.grid{columns:4 220px;column-gap:clamp(8px,1vw,14px)}
.grid button{display:block;width:100%;break-inside:avoid;margin-bottom:clamp(8px,1vw,14px);border:var(--rule) solid var(--maroon);
  background:var(--maroon);padding:0;cursor:zoom-in;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.grid button:hover{transform:translate(-3px,-3px);box-shadow:var(--sh-1) var(--sh-1) 0 var(--maroon)}
.grid img{width:100%;height:auto;background:var(--maroon);opacity:0;transition:opacity .4s}
.grid img.in,.grid img[data-loaded]{opacity:1}
.gnav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(30px,4vw,60px);border-top:var(--rule) solid currentColor;padding-top:clamp(18px,2vw,30px)}
.gnav a{font-family:var(--disp);font-size:clamp(18px,2vw,28px);text-transform:uppercase;line-height:.95;display:flex;flex-direction:column;gap:6px}
.gnav a span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:none;letter-spacing:.14em}
.gnav a:hover{color:var(--red)}
.gnav a:last-child{text-align:right;margin-left:auto}

/* media tiles */
.media{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.media .tile{grid-column:span 2}
.media .tile--big{grid-column:span 4;grid-row:span 2}
.media .tile--big .tile__i{aspect-ratio:16/10;height:100%}
.media .tile:nth-child(n+4){grid-column:span 3}
@media(max-width:820px){.media{grid-template-columns:1fr}.media .tile,.media .tile--big,.media .tile:nth-child(n+4){grid-column:span 1;grid-row:span 1}.media .tile--big .tile__i{aspect-ratio:16/9}}
.tile{border:var(--rule) solid var(--maroon);background:var(--paper);color:var(--maroon);padding:0;cursor:pointer;text-align:left;width:100%;display:flex;flex-direction:column;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.tile:hover{transform:translate(-4px,-4px);box-shadow:var(--sh-2) var(--sh-2) 0 var(--maroon)}
.tile:active{transform:translate(1px,1px);box-shadow:none}
.tile__i{position:relative;aspect-ratio:16/9;overflow:hidden;border-bottom:var(--rule) solid var(--maroon);background:var(--maroon);flex:1}
.tile__i img{width:100%;height:100%;object-fit:cover}
.tile__p{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--red);border:var(--rule) solid var(--maroon);
  display:grid;place-items:center;color:var(--ink-on-red);transition:transform .18s var(--ease)}
.tile:hover .tile__p{transform:scale(1.08)}
.tile__p svg{width:22px;height:22px;margin-left:3px}
.tile__c{padding:14px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.tile__c b{font-family:var(--disp);font-size:clamp(17px,1.5vw,22px);text-transform:uppercase;line-height:.95}
.tile__c small{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

/* press */
.pq{text-align:center;max-width:22ch;margin-inline:auto;font-family:var(--disp);text-transform:uppercase;line-height:.9;font-size:clamp(34px,6vw,96px);letter-spacing:-.02em;color:var(--lime);text-shadow:.035em .04em 0 var(--maroon)}
.pq__by{text-align:center;margin-top:clamp(18px,2.2vw,30px);font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.pq__by a{border-bottom:var(--hair) solid currentColor}
.pq__by a:hover{color:var(--lime)}
.press{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,50px);align-items:center;margin-top:clamp(34px,4vw,64px)}
@media(max-width:700px){.press{grid-template-columns:1fr}}

/* rsvp */
.rsvp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,4vw,72px);align-items:start}
@media(max-width:860px){.rsvp{grid-template-columns:1fr}}
.rsvp .fly{width:min(100%,440px);margin-inline:auto;transform:rotate(-2deg);animation:none}
.rsvp .fly:hover{transform:rotate(0) translate(-3px,-3px)!important}
.facts{border-top:var(--rule) solid currentColor;margin-top:clamp(18px,2vw,30px)}
.fact{display:grid;grid-template-columns:minmax(120px,.5fr) minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:var(--hair) solid rgba(94,12,6,.28)}
.fact:last-child{border-bottom:var(--rule) solid currentColor}
.fact span{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;padding-top:5px}
.fact b{font-family:var(--disp);font-size:clamp(19px,2vw,28px);text-transform:uppercase;line-height:.95;font-weight:400}
.fact p{font-size:clamp(14px,1.1vw,17px)}
.fact a{border-bottom:var(--hair) solid currentColor}
.fact a:hover{color:var(--red)}
.cd{font-family:var(--mono);font-size:clamp(12px,1vw,14px);letter-spacing:.14em;text-transform:uppercase;margin-top:12px}
.soon{background:var(--lime);color:var(--maroon);border:var(--rule) solid var(--maroon);padding:clamp(16px,2vw,26px);box-shadow:var(--sh-2) var(--sh-2) 0 var(--maroon);margin-top:clamp(22px,2.6vw,36px)}
.soon b{font-family:var(--disp);font-size:clamp(22px,2.4vw,34px);text-transform:uppercase;line-height:.9;display:block;margin-bottom:8px}
.soon p{max-width:46ch}
.soon .btns{margin-top:16px}
.later{margin-top:clamp(40px,5vw,80px)}
.later .evt{max-width:900px}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv--stag > *{opacity:0;transform:translateY(20px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.rv--stag.in > *{opacity:1;transform:none}
.rv--stag.in > *:nth-child(2){transition-delay:.08s}
.rv--stag.in > *:nth-child(3){transition-delay:.16s}
.rv--stag.in > *:nth-child(4){transition-delay:.24s}
.rv--stag.in > *:nth-child(5){transition-delay:.32s}
.rv--stag.in > *:nth-child(6){transition-delay:.4s}

/* lightbox */
.lb{position:fixed;inset:0;z-index:95;display:none;place-items:center;padding:clamp(10px,2.5vw,40px);background:rgba(20,11,6,.95);color:var(--butter)}
.lb.open{display:grid}
.lb__box{width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px}
.lb__t{display:flex;justify-content:space-between;gap:14px;align-items:center;font-family:var(--disp);font-size:clamp(16px,1.8vw,26px);text-transform:uppercase;line-height:1}
.lb__t small{font-family:var(--mono);font-size:12px;letter-spacing:.14em;margin-left:12px}
.lb__x{background:var(--red);color:var(--ink-on-red);border:var(--rule) solid var(--butter);font-family:var(--disp);font-size:17px;padding:9px 16px;cursor:pointer;text-transform:uppercase;min-height:44px;margin-left:auto}
.lb__x:hover{background:var(--maroon)}
.lb__fr{position:relative;width:100%;border:var(--rule-mid) solid var(--butter);background:#1a0a06;display:grid;place-items:center;min-height:200px}
.lb__fr.video{aspect-ratio:16/9}
.lb__fr.ig{aspect-ratio:9/13;max-height:78vh;width:auto;min-width:min(420px,90vw);margin-inline:auto}
.lb__fr iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lb__img{max-width:100%;max-height:min(78vh,1000px);width:auto;height:auto;object-fit:contain;display:block}
.lb__nav{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
.lb__nav button,.lb__nav a{background:transparent;border:var(--rule) solid var(--butter);color:var(--butter);font-family:var(--disp);font-size:16px;padding:10px 18px;cursor:pointer;text-transform:uppercase;min-height:44px;display:inline-flex;align-items:center}
.lb__nav button:hover,.lb__nav a:hover{background:var(--butter);color:var(--maroon)}
.lb__go{background:var(--butter)!important;color:var(--maroon)!important}
.lb__go:hover{background:var(--lime)!important}
body.lb-open{overflow:hidden}

/* footer */
.foot{background:var(--maroon);color:var(--butter);padding-block:clamp(40px,5vw,80px) 30px;border-top:var(--rule-heavy) solid var(--maroon)}
.foot__in{width:var(--shell);margin-inline:auto}
.foot__top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:start;padding-bottom:clamp(26px,3vw,44px);border-bottom:var(--hair) solid rgba(243,220,155,.3)}
@media(max-width:820px){.foot__top{grid-template-columns:1fr}}
.foot__wm{font-family:var(--disp);font-size:clamp(40px,5vw,72px);text-transform:uppercase;line-height:.84;color:var(--red);text-shadow:.04em .04em 0 var(--butter);letter-spacing:-.02em}
.foot__wm i{font-style:normal;color:var(--butter);text-shadow:.04em .04em 0 var(--red);display:block}
.foot p{max-width:40ch;margin-top:14px;opacity:.9}
.foot h4{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:12px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.foot li a{display:inline-flex;align-items:center;min-height:40px;font-family:var(--disp);font-size:clamp(19px,1.8vw,26px);text-transform:uppercase;line-height:1}
.foot li a:hover{color:var(--lime)}
.foot__bot{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;padding-top:22px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;opacity:.75}
.foot__bot a{display:inline-flex;align-items:center;min-height:40px;border-bottom:var(--hair) solid transparent}
.foot__bot a:hover{color:var(--lime)}
.foot__partner{margin-left:auto;font-family:var(--disp);font-size:16px;text-transform:uppercase;background:var(--lime);color:var(--maroon);padding:10px 16px;border:var(--hair) solid var(--butter);min-height:44px;letter-spacing:0}
.foot__partner:hover{color:var(--maroon)!important;background:var(--butter)}

/* misc */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);background:var(--maroon);color:var(--butter);border:var(--rule) solid var(--lime);
  padding:13px 22px;z-index:90;font-family:var(--mono);font-size:13px;opacity:0;pointer-events:none;transition:all .3s;max-width:90vw;text-align:center}
.toast.up{opacity:1;transform:translate(-50%,0)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.rv--stag > *{opacity:1!important;transform:none!important}
  .fly--a{transform:rotate(-6deg)!important}.fly--b{transform:rotate(5deg)!important}
  .grid img{opacity:1}
  html{scroll-behavior:auto}
}

/* faq */
.faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:var(--rule) solid var(--butter)}
.faq > div{padding:clamp(20px,2.4vw,36px);border-right:var(--rule) solid var(--butter);border-bottom:var(--rule) solid var(--butter)}
.faq > div:nth-child(3n){border-right:0}
.faq > div:nth-last-child(-n+3){border-bottom:0}
.faq h3{font-family:var(--disp);font-size:clamp(20px,2vw,30px);text-transform:uppercase;line-height:.9;letter-spacing:-.012em;margin-bottom:12px;color:var(--lime)}
.faq p{max-width:36ch;text-wrap:pretty}
@media(max-width:900px){.faq{grid-template-columns:1fr 1fr}.faq > div:nth-child(3n){border-right:var(--rule) solid var(--butter)}.faq > div:nth-child(2n){border-right:0}
  .faq > div:nth-last-child(-n+3){border-bottom:var(--rule) solid var(--butter)}.faq > div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:560px){.faq{grid-template-columns:1fr}.faq > div{border-right:0!important;border-bottom:var(--rule) solid var(--butter)!important}.faq > div:last-child{border-bottom:0!important}}
/* nodes on light fields */
.nodes--dark{border-top-color:var(--maroon)}
.nodes--dark .node{border-bottom-color:var(--maroon)}
.nodes--dark .node b{color:var(--red)}

/* ---- ritual: call and response ---- */
.ritual__in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(14px,2.2vw,28px)}
.ritual .kicker{opacity:.85}
.ritual__call{background:none;border:0;cursor:pointer;font-family:var(--disp);text-transform:uppercase;line-height:.8;
  letter-spacing:-.03em;color:var(--butter);position:relative;padding:6px 10px;
  font-size:clamp(58px,13vw,210px);transition:transform .18s var(--ease)}
.ritual__call .ritual__q{display:inline-block}
.ritual__call .ritual__a{display:inline-block;color:var(--lime);text-shadow:.03em .04em 0 var(--maroon);animation:yell .5s var(--ease)}
.ritual__call:hover{transform:rotate(-1.5deg) scale(1.02)}
.ritual__call:active{transform:scale(.97)}
.ritual__hint{font-family:var(--mono);font-size:clamp(11px,1vw,14px);letter-spacing:.16em;text-transform:uppercase;opacity:.85}
@keyframes yell{0%{transform:scale(.55) rotate(-5deg);opacity:0}55%{transform:scale(1.14) rotate(3deg)}100%{transform:scale(1) rotate(0);opacity:1}}

/* riso bursts (ritual) + leopard paw trail (cursor) */
.spark{position:fixed;z-index:59;width:15px;height:15px;pointer-events:none;margin:-8px 0 0 -8px;
  border:var(--hair) solid var(--maroon);animation:spark .9s var(--ease) forwards}
@keyframes spark{0%{transform:translate(0,0) rotate(0) scale(.4);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--rot)) scale(1);opacity:0}}
.paw{position:fixed;z-index:58;pointer-events:none;width:24px;height:26px;margin:-13px 0 0 -12px;
  color:var(--maroon);transform:rotate(var(--r)) scale(.4);animation:pawpop .75s ease-out forwards}
.paw svg{width:100%;height:100%;fill:currentColor;display:block}
@keyframes pawpop{0%{opacity:.5;transform:rotate(var(--r)) scale(.3)}28%{opacity:.42;transform:rotate(var(--r)) scale(.7)}100%{opacity:0;transform:rotate(var(--r)) scale(.85)}}

/* kinetic sound words */
.sound__words span{transition:transform .22s var(--ease)}
.sound__words span:hover{transform:translateX(12px) rotate(-2deg) scale(1.03)}

@media(prefers-reduced-motion:reduce){.paw,.spark{display:none!important}.ritual__call .ritual__a{animation:none}}

/* ---- genres: animated kinetic type ---- */
.genres__k{margin-bottom:clamp(18px,2.6vw,38px);opacity:.85}
.genres__list{list-style:none;display:flex;flex-direction:column;gap:clamp(2px,.5vw,10px)}
.genres__list li{font-family:var(--disp);text-transform:uppercase;line-height:.82;letter-spacing:-.03em;
  font-size:clamp(52px,12vw,190px);color:var(--butter);opacity:.32;transform-origin:left center;
  transition:opacity .45s var(--ease),transform .45s var(--ease),color .45s var(--ease)}
.genres__list li:nth-child(2){padding-left:clamp(24px,6vw,140px)}
.genres__list li:nth-child(3){padding-left:clamp(48px,11vw,280px)}
.genres__list li:nth-child(4){padding-left:clamp(24px,7vw,170px)}
.genres__list li:nth-child(5){padding-left:clamp(60px,13vw,340px)}
.genres__list li span{display:inline-block}
.genres__list li.on{opacity:1;color:var(--lime);transform:scale(1.05) rotate(-1.2deg);text-shadow:.03em .04em 0 var(--maroon)}
.genres__list li:hover{opacity:1;cursor:default}
@media(prefers-reduced-motion:reduce){.genres__list li{opacity:1;transform:none}.genres__list li.on{color:var(--lime);transform:none}}


/* ---- prose (privacy) ---- */
.prose{max-width:70ch}
.prose .h3{margin-bottom:.4em}
.prose p.b{max-width:70ch}
.prose a{border-bottom:2px solid currentColor}
.prose a:hover{color:var(--red)}

/* gallery featuring line (DJ lineup) */
.gcard__c .gcard__ft{font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.5;text-transform:none;
  color:var(--maroon);opacity:.78;text-wrap:pretty;margin-top:2px}
.gcard__meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-top:4px}
.gh__ft{display:block;margin-top:14px;font-family:var(--mono);font-size:clamp(12px,1.1vw,15px);letter-spacing:.04em;
  line-height:1.55;max-width:60ch;text-wrap:pretty}
.ph .gh__ft{color:var(--ink-peri)}
