/* L'Esquerda: colors agafats dels seus cartells */
@font-face{font-family:"Alfa Slab One";src:url(../assets/fonts/alfa-slab-one-latin-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Alfa Slab One";src:url(../assets/fonts/alfa-slab-one-latin-ext-400-normal.woff2) format("woff2");font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0}
@font-face{font-family:"Bricolage Grotesque";src:url(../assets/fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Bricolage Grotesque";src:url(../assets/fonts/bricolage-grotesque-latin-ext-standard-normal.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0}

:root{
  --mostassa:#F2CB4E;
  --roig:#C8141E;
  --sang:#7A1018;
  --tinta:#3A080C;
  --taronja:#FC7C01;
  --ampolla:#00574B;
  --paper:#F6EDD6;
  --llum:#FFF6CC;
  --cel:#2F6FBE;
  --slab:"Alfa Slab One",Georgia,serif;
  --text:"Bricolage Grotesque",system-ui,sans-serif;
  --gutter:clamp(1rem,4vw,3.5rem);
  --top:5.4rem;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
html:not(.js){scroll-behavior:smooth}
html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--mostassa);color:var(--tinta);font-family:var(--text);font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.5;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--tinta);outline-offset:3px}
.fosc :focus-visible{outline-color:var(--llum)}
.salta{position:absolute;left:-999px;top:0;background:var(--tinta);color:var(--llum);padding:.6rem 1rem;z-index:50}
.salta:focus{left:0}

h2{font-family:var(--slab);font-weight:400;font-size:clamp(2.3rem,1.4rem + 4.2vw,5rem);line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
h3{font-family:var(--slab);font-weight:400;line-height:1.08}

.boto{display:inline-block;font-weight:800;font-stretch:85%;font-size:1.1em;text-decoration:none;padding:.72em 1.15em;background:var(--sang);color:var(--llum);box-shadow:.28em .28em 0 var(--tinta);transition:transform .12s,box-shadow .12s}
.boto:hover{transform:translate(.1em,.1em);box-shadow:.18em .18em 0 var(--tinta)}
.boto:active{transform:translate(.28em,.28em);box-shadow:0 0 0 var(--tinta)}
.boto.clar{background:var(--mostassa);color:var(--tinta);box-shadow:.28em .28em 0 var(--llum)}
.boto.clar:hover{box-shadow:.18em .18em 0 var(--llum)}

/* Seccions: cada una és un cartell, i la vora de dalt és un tall a la roca */
.seccio{position:relative;padding:clamp(4rem,9vw,8rem) var(--gutter) clamp(4.5rem,9vw,8rem)}
.seccio::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * clamp(22px,4vw,60px) + 1px);height:clamp(22px,4vw,60px);background:inherit;clip-path:polygon(0 100%,0 55%,7% 30%,12% 62%,21% 18%,27% 50%,35% 8%,41% 44%,50% 26%,56% 66%,66% 14%,71% 48%,80% 30%,86% 60%,94% 12%,100% 40%,100% 100%)}
.seccio:nth-of-type(even)::before{clip-path:polygon(0 100%,0 22%,6% 58%,15% 12%,22% 46%,31% 30%,38% 70%,47% 16%,53% 52%,61% 34%,69% 64%,76% 10%,84% 46%,90% 26%,100% 62%,100% 100%)}
.dins{max-width:84rem;margin-inline:auto}

/* Portada: dues meitats de cartell separades per l'esquerda.
   L'eix (--ax) passa pel forat entre U i E, i la falca té sempre la mateixa proporció:
   canvia la mida de la pantalla, però no la composició. */
.amagat{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.portada{position:relative;background:var(--ampolla)}
.escena{
  --ax:58%;--yc:44svh;--yw:36svh;--o:1;--dx:0px;
  --fs:min(calc((100vw - 2*var(--gutter))/6.95),23svh);
  --H:max(100svh,36rem);
  --hs:calc(var(--H) - var(--yc));
  --ws:min(100vw,calc(var(--hs)*.75));
  --iw:calc(var(--hs)*.84);
  --st:calc(var(--fs)*.045);
  --rim:clamp(2px,.3vw,5px);
  position:sticky;top:0;height:max(100lvh,36rem);overflow:hidden;background:var(--cel)
}
.js:not(.llest) .escena{--o:0}
.js:not(.llest) .pre{visibility:hidden}
.obert .portada{height:calc(max(100lvh,36rem)*2.4)}
.menu{position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.menu>a{display:block;border-radius:50%}
.menu img{width:60px;height:60px;border-radius:50%}
.menu ul{display:flex;gap:clamp(.8rem,2.2vw,2rem);font-weight:700;font-stretch:85%}
.menu li a{text-decoration:none;padding:.3em 0;border-bottom:3px solid transparent}
.menu li a:hover{border-color:currentColor}
.meitat{position:absolute;inset:0;will-change:transform}
.esq{z-index:2}
.dre{z-index:3}
.vora,.pell{position:absolute;inset:0}
.vora{background:var(--llum)}
.pell{background:var(--mostassa);padding:var(--top) var(--gutter) 0}
/* ESQUERDA:INICI (generat, no ho editis a mà) */
.esq .pell{clip-path:polygon(0 0,calc(var(--ax) + 0.2*var(--st) + -1*var(--st)*var(--o)) calc(var(--yc)*0),calc(var(--ax) + -0.5*var(--st) + -0.7*var(--st)*var(--o)) calc(var(--yc)*0.07),calc(var(--ax) + 0.5*var(--st) + -0.8*var(--st)*var(--o)) calc(var(--yc)*0.16),calc(var(--ax) + -0.3*var(--st) + -0.6*var(--st)*var(--o)) calc(var(--yc)*0.26),calc(var(--ax) + 0.4*var(--st) + -0.7*var(--st)*var(--o)) calc(var(--yc)*0.36),calc(var(--ax) + -0.4*var(--st) + -0.65*var(--st)*var(--o)) calc(var(--yc)*0.47),calc(var(--ax) + 0.35*var(--st) + -0.7*var(--st)*var(--o)) calc(var(--yc)*0.58),calc(var(--ax) + -0.35*var(--st) + -0.6*var(--st)*var(--o)) calc(var(--yc)*0.69),calc(var(--ax) + 0.4*var(--st) + -0.7*var(--st)*var(--o)) calc(var(--yc)*0.8),calc(var(--ax) + -0.2*var(--st) + -0.7*var(--st)*var(--o)) calc(var(--yc)*0.9),calc(var(--ax) + var(--dx)*0 + 0*var(--ws) + -0.03*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0),calc(var(--ax) + var(--dx)*0.09 + 0.035*var(--ws) + -0.105*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.09),calc(var(--ax) + var(--dx)*0.17 + 0.015*var(--ws) + -0.175*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.17),calc(var(--ax) + var(--dx)*0.27 + 0.075*var(--ws) + -0.215*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.27),calc(var(--ax) + var(--dx)*0.36 + 0.005*var(--ws) + -0.255*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.36),calc(var(--ax) + var(--dx)*0.46 + 0.065*var(--ws) + -0.295*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.46),calc(var(--ax) + var(--dx)*0.57 + -0.01*var(--ws) + -0.34*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.57),calc(var(--ax) + var(--dx)*0.7 + 0.055*var(--ws) + -0.385*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.7),calc(var(--ax) + var(--dx)*0.84 + -0.02*var(--ws) + -0.44*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.84),calc(var(--ax) + var(--dx)*1 + 0*var(--ws) + -0.5*var(--ws)*var(--o)) 100%,0 100%)}
.dre .pell{clip-path:polygon(100% 0,calc(var(--ax) + 0.2*var(--st) + 1*var(--st)*var(--o)) calc(var(--yc)*0),calc(var(--ax) + -0.5*var(--st) + 0.7*var(--st)*var(--o)) calc(var(--yc)*0.07),calc(var(--ax) + 0.5*var(--st) + 0.8*var(--st)*var(--o)) calc(var(--yc)*0.16),calc(var(--ax) + -0.3*var(--st) + 0.6*var(--st)*var(--o)) calc(var(--yc)*0.26),calc(var(--ax) + 0.4*var(--st) + 0.7*var(--st)*var(--o)) calc(var(--yc)*0.36),calc(var(--ax) + -0.4*var(--st) + 0.65*var(--st)*var(--o)) calc(var(--yc)*0.47),calc(var(--ax) + 0.35*var(--st) + 0.7*var(--st)*var(--o)) calc(var(--yc)*0.58),calc(var(--ax) + -0.35*var(--st) + 0.6*var(--st)*var(--o)) calc(var(--yc)*0.69),calc(var(--ax) + 0.4*var(--st) + 0.7*var(--st)*var(--o)) calc(var(--yc)*0.8),calc(var(--ax) + -0.2*var(--st) + 0.7*var(--st)*var(--o)) calc(var(--yc)*0.9),calc(var(--ax) + var(--dx)*0 + 0*var(--ws) + 0.03*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0),calc(var(--ax) + var(--dx)*0.09 + 0.035*var(--ws) + 0.105*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.09),calc(var(--ax) + var(--dx)*0.17 + 0.015*var(--ws) + 0.175*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.17),calc(var(--ax) + var(--dx)*0.27 + 0.075*var(--ws) + 0.215*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.27),calc(var(--ax) + var(--dx)*0.36 + 0.005*var(--ws) + 0.255*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.36),calc(var(--ax) + var(--dx)*0.46 + 0.065*var(--ws) + 0.295*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.46),calc(var(--ax) + var(--dx)*0.57 + -0.01*var(--ws) + 0.34*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.57),calc(var(--ax) + var(--dx)*0.7 + 0.055*var(--ws) + 0.385*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.7),calc(var(--ax) + var(--dx)*0.84 + -0.02*var(--ws) + 0.44*var(--ws)*var(--o)) calc(var(--yc) + (100% - var(--yc))*0.84),calc(var(--ax) + var(--dx)*1 + 0*var(--ws) + 0.5*var(--ws)*var(--o)) 100%,100% 100%)}
.esq .vora{clip-path:polygon(0 0,calc(var(--ax) + 0.2*var(--st) + -1*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0),calc(var(--ax) + -0.5*var(--st) + -0.7*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.07),calc(var(--ax) + 0.5*var(--st) + -0.8*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.16),calc(var(--ax) + -0.3*var(--st) + -0.6*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.26),calc(var(--ax) + 0.4*var(--st) + -0.7*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.36),calc(var(--ax) + -0.4*var(--st) + -0.65*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.47),calc(var(--ax) + 0.35*var(--st) + -0.7*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.58),calc(var(--ax) + -0.35*var(--st) + -0.6*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.69),calc(var(--ax) + 0.4*var(--st) + -0.7*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.8),calc(var(--ax) + -0.2*var(--st) + -0.7*var(--st)*var(--o) + var(--rim)) calc(var(--yc)*0.9),calc(var(--ax) + var(--dx)*0 + 0*var(--ws) + -0.03*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0),calc(var(--ax) + var(--dx)*0.09 + 0.035*var(--ws) + -0.105*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.09),calc(var(--ax) + var(--dx)*0.17 + 0.015*var(--ws) + -0.175*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.17),calc(var(--ax) + var(--dx)*0.27 + 0.075*var(--ws) + -0.215*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.27),calc(var(--ax) + var(--dx)*0.36 + 0.005*var(--ws) + -0.255*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.36),calc(var(--ax) + var(--dx)*0.46 + 0.065*var(--ws) + -0.295*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.46),calc(var(--ax) + var(--dx)*0.57 + -0.01*var(--ws) + -0.34*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.57),calc(var(--ax) + var(--dx)*0.7 + 0.055*var(--ws) + -0.385*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.7),calc(var(--ax) + var(--dx)*0.84 + -0.02*var(--ws) + -0.44*var(--ws)*var(--o) + var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.84),calc(var(--ax) + var(--dx)*1 + 0*var(--ws) + -0.5*var(--ws)*var(--o) + var(--rim)) 100%,0 100%)}
.dre .vora{clip-path:polygon(100% 0,calc(var(--ax) + 0.2*var(--st) + 1*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0),calc(var(--ax) + -0.5*var(--st) + 0.7*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.07),calc(var(--ax) + 0.5*var(--st) + 0.8*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.16),calc(var(--ax) + -0.3*var(--st) + 0.6*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.26),calc(var(--ax) + 0.4*var(--st) + 0.7*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.36),calc(var(--ax) + -0.4*var(--st) + 0.65*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.47),calc(var(--ax) + 0.35*var(--st) + 0.7*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.58),calc(var(--ax) + -0.35*var(--st) + 0.6*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.69),calc(var(--ax) + 0.4*var(--st) + 0.7*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.8),calc(var(--ax) + -0.2*var(--st) + 0.7*var(--st)*var(--o) - var(--rim)) calc(var(--yc)*0.9),calc(var(--ax) + var(--dx)*0 + 0*var(--ws) + 0.03*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0),calc(var(--ax) + var(--dx)*0.09 + 0.035*var(--ws) + 0.105*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.09),calc(var(--ax) + var(--dx)*0.17 + 0.015*var(--ws) + 0.175*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.17),calc(var(--ax) + var(--dx)*0.27 + 0.075*var(--ws) + 0.215*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.27),calc(var(--ax) + var(--dx)*0.36 + 0.005*var(--ws) + 0.255*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.36),calc(var(--ax) + var(--dx)*0.46 + 0.065*var(--ws) + 0.295*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.46),calc(var(--ax) + var(--dx)*0.57 + -0.01*var(--ws) + 0.34*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.57),calc(var(--ax) + var(--dx)*0.7 + 0.055*var(--ws) + 0.385*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.7),calc(var(--ax) + var(--dx)*0.84 + -0.02*var(--ws) + 0.44*var(--ws)*var(--o) - var(--rim)) calc(var(--yc) + (100% - var(--yc))*0.84),calc(var(--ax) + var(--dx)*1 + 0*var(--ws) + 0.5*var(--ws)*var(--o) - var(--rim)) 100%,100% 100%)}
/* ESQUERDA:FI */
.roca{position:absolute;left:0;right:0;bottom:0;height:50%;background:var(--sang);-webkit-mask:url(../assets/roca.png) 0 25%/cover no-repeat;mask:url(../assets/roca.png) 0 25%/cover no-repeat}
.marca{font-family:var(--slab);font-size:var(--fs);line-height:.95;letter-spacing:-.015em;text-transform:uppercase;color:var(--roig);white-space:nowrap;margin:0 0 0 -.02em;font-kerning:none}
.marca .sub{display:block;font-family:var(--text);font-weight:700;font-stretch:80%;font-size:max(1.1rem,.17em);letter-spacing:0;line-height:1.1;text-transform:none;color:var(--tinta);margin:0 0 .1em .12em}
.marca .t2{margin-left:.12em}
.esq .t2,.dre .t1,.dre .sub{visibility:hidden}
.presenta{position:relative;max-width:min(31rem,calc(var(--ax) - var(--ws)*.42 - var(--gutter)));margin-top:clamp(.8rem,2.4vh,1.6rem)}
.presenta p{font-size:clamp(1.05rem,.9rem + .75vw,1.6rem);line-height:1.3;font-weight:600;margin-bottom:1.1em;text-wrap:pretty}
.estrella{position:absolute;right:var(--gutter);top:calc(var(--yw) + .8rem);width:clamp(7.6rem,13vw,13rem);aspect-ratio:1;display:grid;place-items:center;text-align:center;text-decoration:none;color:var(--mostassa);font-family:var(--slab);line-height:1;transform:rotate(-9deg);transition:scale .15s}
.estrella:hover{scale:1.06}
.estrella svg{position:absolute;inset:0;width:100%;height:100%}
.estrella span{position:relative;font-size:clamp(.82rem,1.4vw,1.3rem);padding:0 1em}
.estrella b{display:block;font-weight:400;font-size:2.2em}
.rere{position:absolute;inset:0;z-index:1}
.esclat{--tros:polygon(6% 1%,20% 0,31% 2.4%,47% .4%,63% 2%,78% 0,95% 1.6%,97% 13%,100% 26%,96.5% 40%,99.5% 54%,96% 68%,100% 82%,97% 100%,3% 100%,0 84%,3.5% 70%,.5% 55%,4% 41%,0 27%,3% 14%);position:absolute;bottom:0;left:calc(var(--ax) + var(--dx) - var(--iw)/2);width:var(--iw);aspect-ratio:720/1280;will-change:transform}
.esclat::before{content:"";position:absolute;inset:-1.2%;background:var(--llum);clip-path:var(--tros)}
.esclat-foto{position:absolute;inset:0;overflow:hidden;clip-path:var(--tros)}
.esclat img{width:100%;height:100%;object-fit:cover}
.frase{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--iw)*.92 + 3rem);padding:0 var(--gutter);visibility:hidden;font-family:var(--slab);font-size:clamp(1.6rem,3.7vw,4.8rem);line-height:1.06;color:var(--mostassa)}
.obert .frase{visibility:visible}
.frase p{flex:1 1 0;text-wrap:balance}
.frase p:first-child{text-align:right}

/* Agenda */
.agenda{background:var(--ampolla);color:var(--paper)}
.agenda h2{color:var(--mostassa);margin-bottom:clamp(2rem,5vw,4rem)}
.festa{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,5rem);align-items:start;scroll-margin-top:2rem;padding-bottom:clamp(2.5rem,6vw,5rem)}
.data{display:grid;grid-template-columns:auto 1fr;column-gap:.18em;align-items:center;font-family:var(--slab);line-height:1}
.data b{font-weight:400;grid-row:span 2;font-size:clamp(6rem,15vw,12rem);line-height:.85;color:var(--mostassa)}
.data span{font-family:var(--text);font-weight:700;font-stretch:80%;font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.1;align-self:end}
.data span+span{align-self:start}
.festa h3{font-size:clamp(1.8rem,1.2rem + 2.2vw,3.1rem);margin:.6em 0 .3em}
.festa .lloc{font-weight:700;margin-bottom:1em}
.programa{border-top:3px solid var(--mostassa);margin-bottom:1.6rem}
.programa li{display:grid;grid-template-columns:8.6em 1fr;gap:1em;padding:.6em 0;border-bottom:1px solid color-mix(in srgb,var(--paper) 35%,transparent)}
.programa time{font-weight:800;font-stretch:85%;color:var(--mostassa);font-variant-numeric:tabular-nums}
details{margin-top:1rem;border-bottom:1px solid color-mix(in srgb,var(--paper) 35%,transparent);padding-bottom:.7rem}
summary{cursor:pointer;font-weight:800;font-stretch:85%}
details p,details ul{margin-top:.6rem}
details li{padding:.1em 0}
.tiquet{margin:1.6rem 0 .6rem}
.nota{font-size:.92em;opacity:.9}
.festa img{width:100%;box-shadow:.6rem .6rem 0 var(--tinta);transform:rotate(1.2deg)}
.llista{border-top:3px solid var(--mostassa)}
.llista>li{display:grid;grid-template-columns:clamp(9rem,20vw,16rem) 1fr;gap:clamp(1rem,3vw,3rem);align-items:center;padding:clamp(1rem,2.4vw,1.8rem) 0;border-bottom:1px solid color-mix(in srgb,var(--paper) 35%,transparent)}
.llista .data b{font-size:clamp(3.2rem,6.4vw,5.4rem)}
.llista .data span{font-size:clamp(1rem,1.5vw,1.3rem)}
.llista h3{font-size:clamp(1.3rem,1rem + 1.1vw,1.95rem);margin-bottom:.25em}
.llista a{font-weight:700}
.buit{display:none;font-size:1.3em;font-weight:600}

/* Qui som */
.qui{background:var(--taronja)}
.cita{font-family:var(--slab);font-size:clamp(2.1rem,1.1rem + 5.2vw,6.2rem);line-height:1.04;letter-spacing:-.01em;color:var(--sang);max-width:17em;text-wrap:balance}
.qui .peu{font-weight:700;margin-top:1rem}
.columnes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.5rem,6vw,5rem)}
.columnes p{max-width:34em;margin-bottom:1em}
.columnes h3{font-size:clamp(1.3rem,1rem + 1vw,1.8rem);margin-bottom:.6em}
.temes{font-weight:800;font-stretch:78%;font-size:clamp(1.5rem,1rem + 1.9vw,2.6rem);line-height:1.12;color:var(--tinta)}
.temes li{display:inline}
.temes li:not(:last-child)::after{content:" / ";color:var(--sang);font-weight:400}

/* Cartells */
.cartells{background:var(--sang);color:var(--paper)}
.cartells h2{color:var(--mostassa)}
.cartells .entrada{max-width:34em;margin:1rem 0 clamp(2.5rem,5vw,4rem)}
.mur{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.6rem) clamp(1rem,2.4vw,2rem);align-items:start}
.cartell{all:unset;display:block;cursor:pointer;width:100%;transition:transform .18s ease-out}
.cartell:hover,.cartell:focus-visible{transform:scale(1.03)}
.cartell img{width:100%;box-shadow:.45rem .45rem 0 var(--tinta)}
.cartell:focus-visible{outline:3px solid var(--llum);outline-offset:5px}
.mur li:nth-child(4n+1) img{transform:rotate(-1.4deg)}
.mur li:nth-child(4n+2) img{transform:rotate(1deg)}
.mur li:nth-child(4n+3) img{transform:rotate(-.6deg)}
.mur li:nth-child(4n) img{transform:rotate(1.6deg)}
.mur li:nth-child(even){margin-top:clamp(0rem,2.5vw,2.4rem)}
.cartell span{display:block;margin-top:.9rem;font-weight:800;font-stretch:85%;line-height:1.2}
.cartell time{display:block;font-weight:500;color:var(--mostassa)}

dialog{border:0;padding:0;background:var(--paper);color:var(--tinta);max-width:min(58rem,94vw);max-height:92vh;width:100%;overflow:auto}
dialog::backdrop{background:color-mix(in srgb,var(--tinta) 88%,transparent)}
.fitxa{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.fitxa img{width:100%;height:100%;max-height:92vh;object-fit:contain;background:var(--tinta)}
.fitxa div{padding:clamp(1.2rem,3vw,2.2rem);display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.fitxa h3{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.1rem);padding-right:2.2rem}
.fitxa time{font-weight:700;color:var(--sang)}
.tanca{position:absolute;top:.6rem;right:.6rem;width:2.6rem;height:2.6rem;border:0;background:var(--sang);color:var(--llum);font:800 1.5rem/1 var(--text);cursor:pointer}

/* Fotos */
.fotos{background:var(--paper)}
.fotos h2{color:var(--ampolla);margin-bottom:clamp(2rem,4vw,3.2rem)}
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(9rem,17vw,16.5rem);gap:clamp(.5rem,1vw,.9rem)}
.mosaic figure{position:relative;overflow:hidden;grid-column:span 4;grid-row:span 2;background:var(--tinta)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:0;bottom:0;background:var(--tinta);color:var(--paper);font-size:.82em;font-weight:600;font-stretch:85%;padding:.25em .6em;max-width:92%}
.mosaic .ample{grid-column:span 8}
.mosaic .mig{grid-column:span 6}

/* Entra-hi */
.entra{background:var(--roig);color:var(--llum);padding-bottom:0;overflow:hidden}
.entra h2{color:var(--mostassa);margin-bottom:clamp(2rem,5vw,3.5rem)}
.vies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
.vies h3{font-size:clamp(1.3rem,1rem + 1vw,1.75rem);margin-bottom:.45em}
.vies p{margin-bottom:1em;max-width:26em}
.vies a:not(.boto){font-weight:700;overflow-wrap:anywhere}
.comiat{position:relative;margin:clamp(4rem,9vw,8rem) calc(-1 * var(--gutter)) 0;padding:clamp(3rem,8vw,6rem) var(--gutter) clamp(1.5rem,3vw,2.5rem);min-height:clamp(20rem,44vw,38rem);display:flex;flex-direction:column;justify-content:space-between;gap:3rem}
.comiat .roca{height:100%;background:var(--tinta);-webkit-mask-position:0 100%;mask-position:0 100%}
.comiat p{position:relative}
.adeu{font-family:var(--slab);font-size:clamp(2.4rem,1rem + 7.6vw,8.6rem);line-height:1;color:var(--mostassa);text-wrap:balance;max-width:11em}
.peu-web{font-size:.9em;font-weight:600;color:var(--llum)}

@media (max-width:900px){
  .festa{grid-template-columns:1fr}
  .festa figure{max-width:26rem}
  .columnes{grid-template-columns:1fr}
  .vies{grid-template-columns:1fr}
  .mur{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mur li:nth-child(even){margin-top:1.4rem}
  .fitxa{grid-template-columns:1fr}
  .fitxa img{height:auto;max-height:60vh}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(8rem,38vw,16rem)}
  .mosaic figure{grid-column:span 1;grid-row:span 1}
  .mosaic .ample,.mosaic .mig{grid-column:span 2;grid-row:span 2}
}
@media (max-width:760px){
  :root{--top:4.6rem}
  .menu ul{gap:.8rem;font-size:.95em}
  .menu img{width:48px;height:48px}
  .llista>li{grid-template-columns:1fr;gap:.4rem}
  .programa li{grid-template-columns:1fr;gap:0}
}
@media (max-width:420px){.menu ul{gap:.65rem;font-size:.9em}}
/* Pantalla vertical: el text va a l'esquerra de la tija i la falca s'obre a sota */
@media (max-aspect-ratio:1/1){
  .escena{--dx:calc(50% - var(--ax));--ws:min(100vw,calc(var(--hs)*.8));--iw:calc(var(--hs)*.86)}
  .presenta{max-width:calc(var(--ax) - var(--gutter) - .9rem)}
  .presenta p{font-size:clamp(.98rem,.5rem + 1.9vw,1.5rem);line-height:1.26}
  .roca{height:42%}
  .frase{display:block;height:auto;bottom:auto;top:0;padding:calc(var(--top) + 1vh) var(--gutter) 0;font-size:clamp(1.55rem,5.6vw,3rem);color:var(--llum)}
  .frase p:first-child{text-align:left}
  .frase p{display:inline}
}
/* Mòbil apaïsat: no hi ha alçada per a l'efecte, només la composició */
@media (max-height:520px){
  .escena{--fs:min(calc((100vw - 2*var(--gutter))/6.95),5.4rem)}
}
@media (prefers-reduced-motion:reduce){
  html:not(.js){scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Només quan hi ha moviment */
.js .mosaic img{position:absolute;left:0;top:-9%;height:118%}
.punter{position:fixed;left:0;top:0;z-index:40;width:6.4rem;height:6.4rem;margin:-3.2rem 0 0 -3.2rem;display:grid;place-items:center;pointer-events:none;background:var(--mostassa);color:var(--tinta);font-family:var(--slab);font-size:1.05rem;clip-path:polygon(50% 0,57% 18%,70% 5%,71% 24%,90% 16%,83% 34%,100% 38%,86% 50%,100% 62%,83% 66%,90% 84%,71% 76%,70% 95%,57% 82%,50% 100%,43% 82%,30% 95%,29% 76%,10% 84%,17% 66%,0 62%,14% 50%,0 38%,17% 34%,10% 16%,29% 24%,30% 5%,43% 18%);visibility:hidden}
/* Cartells en horitzontal: un any de cartells que passa de dreta a esquerra */
.horitz{padding:0}
.horitz>.dins{position:sticky;top:0;height:100vh;max-width:none;overflow:clip;display:flex;align-items:center}
.horitz .pista{display:flex;align-items:center;gap:clamp(3rem,7vw,7rem);width:max-content;padding:0 var(--gutter);will-change:transform}
.horitz .cap{width:clamp(20rem,34vw,34rem)}
.horitz .cap .entrada{margin-bottom:0}
.horitz .mur{display:flex;align-items:center;gap:clamp(2rem,4vw,4.5rem)}
.horitz .mur li,.horitz .mur li:nth-child(even){width:calc(min(60vh,36vw)*.8);margin:0;flex:none}
.horitz .mur li:nth-child(even){translate:0 5vh}
.horitz .mur li:nth-child(odd){translate:0 -4vh}
.horitz .cartell img{aspect-ratio:4/5;object-fit:cover}
