@font-face{
  font-family:'EuroScript';
  src:url('font/EuroScript/euroscript.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'EuroScript';
  src:url('font/EuroScript/euroscript_bold.ttf') format('truetype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --paper:#e6dfcc;
  --grid:rgba(91,95,151,.14);
  --ink:#494c76;
  --ink-soft:#6b6f9c;
  --crimson:#a4295a;
  --crimson-soft:#c85e83;
  --cream:#efe8d5;
  --text:#2e2b26;
  --muted:#7a7364;
  --spotify:#1c7a5e;
  --apple:#b23a63;
  --youtube:#e05a42;
  --instagram:#c17a2e;
  --tiktok:#2f8fc4;
  --threads:#c9a92e;
  --email:#4a8f4a;
  --tape: rgba(247,238,210,.36);
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.45  0 0 0 0 0.4  0 0 0 0 0.3  0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  position:relative;
  background:
    linear-gradient(var(--grid) 1px, transparent 1px) 0 0/28px 28px,
    linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0/28px 28px,
    var(--paper);
  color:var(--text);
  font-family:'Special Elite', 'Courier New', monospace;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
section{position:relative; padding:5rem 1.5rem;}
h1,h2{font-weight:400; margin:0;}
.script{font-family:'EuroScript', cursive;}
.handwrite{font-family:'EuroScript', cursive; font-weight:700;}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}

a:focus-visible, button:focus-visible{
  outline:3px solid var(--crimson);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:6rem 1.5rem 4rem;
}
.hero-fish{
  position:absolute; z-index:0;
  top:1.5rem; left:5.5rem;
  width:480px; max-width:44vw;
  opacity:.55;
  transform-origin:top left;
  transform:rotate(19deg);
  pointer-events:none;
}
.lang-switch{
  position:fixed;
  top:1.5rem; right:1.5rem;
  z-index:10;
  display:flex; gap:.6rem;
  background:var(--tape);
  padding:.3rem .6rem;
  border-radius:6px;
  font-family:'EuroScript', cursive;
  font-weight:700;
}
.lang-switch button{
  background:none; border:none; cursor:pointer;
  font-family:inherit; font-size:1.35rem;
  color:var(--crimson-soft);
  padding:.35rem .5rem;
}
.lang-switch button.active{
  color:var(--crimson);
  text-decoration:underline;
  text-underline-offset:4px;
}
.wordmark{
  display:flex; flex-direction:column; gap:.1rem;
  margin-bottom:2rem;
}
.wordmark img{
  width:clamp(220px, 45vw, 380px);
  height:auto;
  margin:0 auto;
}
.logo-tinted{
  filter:invert(41%) sepia(57%) saturate(139%) hue-rotate(197deg) brightness(100%) contrast(166%);
}
.lang-big{
  display:flex; gap:2.2rem; justify-content:center;
  margin:1.6rem 0 2.4rem;
}
.lang-big button{
  background:none; border:none; cursor:pointer;
  font-family:'EuroScript', cursive;
  font-size:clamp(2.2rem, 6vw, 3.2rem);
  color:var(--crimson);
  line-height:1;
  padding:0;
}
.lang-big button.active{ color:var(--ink); }

.ticket{
  position:relative;
  padding:2.2rem 2.4rem 2.6rem;
  max-width:360px;
  margin:0 auto;
}
.ticket::after{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background-color:var(--cream);
  background-image:var(--grain);
  background-size:140px 140px;
  background-blend-mode:multiply;
  box-shadow:0 16px 36px rgba(40,32,20,.26), 0 4px 10px rgba(40,32,20,.16);
  filter:blur(.5px);
  clip-path:polygon(
    0% 0px,3.41% 5.6px,5.18% 6px,6.76% 2px,11.62% 0.2px,16.22% 10.7px,21.44% 9.7px,25.56% 0.3px,27.88% 14.6px,28.35% 1px,30.1% 6.8px,35.15% 7.5px,41.07% 17.8px,41.33% 2.8px,44% 3.4px,46.29% 7.2px,50.94% 1.5px,53.13% 11.2px,56.42% 15.7px,56.55% 0.2px,58.51% 17px,58.97% 0.7px,62.17% 4px,64.7% 7.9px,69.82% 17px,69.98% 3.4px,72.06% 7.7px,74.06% 3px,76.03% 10.5px,78.85% 8.8px,81.49% 8.3px,86.86% 1.8px,89.32% 3.6px,94.77% 1.5px,100% 0px,
    100% calc(100% - 0px),99.55% calc(100% - 8.9px),97% calc(100% - 0.8px),94.02% calc(100% - 1.2px),93.98% calc(100% - 14.2px),91.71% calc(100% - 1.7px),91.36% calc(100% - 19.1px),88.11% calc(100% - 1.5px),85.79% calc(100% - 5.6px),80.36% calc(100% - 11.5px),80.23% calc(100% - 2.2px),77.12% calc(100% - 10.1px),72.38% calc(100% - 8px),67.79% calc(100% - 10px),66.11% calc(100% - 2.5px),66.09% calc(100% - 14px),60.67% calc(100% - 1.6px),55.12% calc(100% - 1px),50.14% calc(100% - 13.2px),49.91% calc(100% - 6.8px),44.99% calc(100% - 0.3px),41.76% calc(100% - 11.2px),41.52% calc(100% - 3.7px),40.37% calc(100% - 3.5px),40.04% calc(100% - 16.5px),36.39% calc(100% - 1.3px),36.35% calc(100% - 18.5px),32.82% calc(100% - 7.8px),29.79% calc(100% - 1.7px),26.08% calc(100% - 10.5px),23.39% calc(100% - 0.7px),20.11% calc(100% - 10.1px),18% calc(100% - 8.6px),14.65% calc(100% - 8.2px),9.09% calc(100% - 7.4px),7.07% calc(100% - 10.7px),6.86% calc(100% - 1.9px),1.5% calc(100% - 10.9px),0% calc(100% - 0px)
  );
}
.ticket::before{
  content:"";
  position:absolute; top:-14px; left:50%; transform:translateX(-50%) rotate(-3deg);
  width:120px; height:32px;
  background:
    repeating-linear-gradient(98deg, rgba(255,255,255,.22) 0 2px, transparent 2px 6px),
    var(--tape);
  clip-path:polygon(0% 42%,4% 8%,9% 22%,15% 0%,88% 10%,94% 0%,100% 48%,97% 100%,90% 82%,83% 100%,18% 88%,10% 100%,3% 78%);
  box-shadow:0 2px 4px rgba(0,0,0,.14);
  z-index:1;
}
.ticket p{ margin:.25rem 0; color:var(--crimson); font-size:1.05rem; }
.ticket .tag{
  margin-top:.7rem;
  text-decoration:underline;
  text-underline-offset:3px;
}

.scroll-cue{
  margin-top:2.6rem;
  font-family:'EuroScript', cursive; font-size:1.4rem;
  color:var(--ink-soft);
  display:inline-flex; flex-direction:column; align-items:center; gap:.2rem;
}
.scroll-cue svg{width:18px; animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* ---------- MENU ---------- */
.menu{padding-top:2rem; padding-bottom:2.5rem;}
.menu-tag{
  width:120px; margin:0 auto 2.6rem;
}
.menu-grid{
  max-width:980px; margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:2.2rem 1.4rem;
}
.menu-primary{
  max-width:560px;
  grid-template-columns:repeat(2, 1fr);
}
.menu-divider{
  text-align:center;
  font-family:'EuroScript', cursive;
  font-size:1.1rem;
  letter-spacing:.08em;
  text-transform:lowercase;
  color:var(--muted);
  max-width:220px;
  margin:3.4rem auto 1.8rem;
  padding-top:1.8rem;
  border-top:1px solid var(--grid);
}
.petal-card{
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  padding:1.2rem .6rem;
  transition:transform .25s ease;
}
.petal-card:hover{ transform:translateY(-6px) rotate(-1.5deg); }
.petal-card svg, .petal-card img{width:250px; height:250px; object-fit:contain;}
.photo{
  filter:drop-shadow(0 8px 12px rgba(60,50,30,.28));
}
.tilt-l{ transform:rotate(-4deg); }
.tilt-r{ transform:rotate(3deg); }
.petal-card span{
  font-family:'EuroScript', cursive;
  font-size:1.7rem;
  color:var(--ink);
}
.petal-card small{
  font-family:'EuroScript', cursive; font-size:.95rem; color:var(--muted);
}

/* ---------- INFORMATION ---------- */
.information{ padding-top:1rem; margin-top:10.5rem; }
.paper-block{
  position:relative;
  max-width:1040px; margin:0 auto;
  padding:3rem 2.4rem 3.4rem;
}
.corner-tape{
  position:absolute; z-index:2;
  width:150px; height:46px;
  background:
    repeating-linear-gradient(98deg, rgba(255,255,255,.22) 0 2px, transparent 2px 6px),
    var(--tape);
  clip-path:polygon(0% 42%,4% 8%,9% 22%,15% 0%,88% 10%,94% 0%,100% 48%,97% 100%,90% 82%,83% 100%,18% 88%,10% 100%,3% 78%);
  box-shadow:0 2px 4px rgba(0,0,0,.14);
}
.corner-tape.tl{ top:0; left:0; transform:translate(-32%,-32%) rotate(-45deg); }
.corner-tape.tr{ top:0; right:0; transform:translate(32%,-32%) rotate(45deg); }
.corner-tape.bl{ bottom:0; left:0; transform:translate(-32%,32%) rotate(45deg); }
.corner-tape.br{ bottom:0; right:0; transform:translate(32%,32%) rotate(-45deg); }
.paper-block::before{
  content:"";
  position:absolute; inset:0; z-index:-1;
  background-color:var(--cream);
  background-image:var(--grain);
  background-size:140px 140px;
  background-blend-mode:multiply;
  box-shadow:0 18px 42px rgba(40,32,20,.24), 0 5px 12px rgba(40,32,20,.15);
  filter:blur(.5px);
  clip-path:polygon(
    0% 0px,4.57% 32px,5.11% 5.4px,7.46% 8.3px,8.7% 7.4px,11.79% 14.7px,13.57% 31px,13.68% 4.3px,17.91% 10.1px,18.07% 17.3px,20.7% 34.3px,20.83% 4.2px,25.18% 7.2px,25.38% 14.4px,29.22% 10.6px,31.64% 7.1px,35.38% 5.5px,37.02% 11.9px,39.25% 15.4px,42.75% 3.2px,42.95% 25.6px,45.56% 0.1px,46.84% 10.3px,47.15% 22.6px,50.19% 8.6px,52.13% 28.9px,52.72% 5.2px,55.29% 10.7px,55.66% 23.7px,56.88% 10.2px,58.31% 4.6px,58.63% 21.8px,59.72% 30.6px,60.14% 4px,61.89% 29.1px,62.25% 4.3px,64.17% 17.5px,67.94% 16.7px,71.95% 2.2px,74.67% 34.1px,75.02% 4.5px,75.88% 11.4px,78.92% 0.4px,79.14% 22.9px,82.19% 30.1px,82.44% 4.6px,85.33% 0.9px,87.06% 0.5px,88.85% 0.5px,92.38% 1.9px,92.65% 19.1px,94.98% 18.7px,99.54% 22.4px,100% 0px,
    100% calc(100% - 0px),99.76% calc(100% - 20.6px),95.16% calc(100% - 18.6px),90.55% calc(100% - 13px),86.84% calc(100% - 2.8px),82.69% calc(100% - 2.6px),78.23% calc(100% - 1.9px),73.79% calc(100% - 1.9px),69.4% calc(100% - 17px),66.88% calc(100% - 3.4px),66.45% calc(100% - 21.9px),65.28% calc(100% - 0.3px),62.64% calc(100% - 1.6px),59.86% calc(100% - 1.6px),58.43% calc(100% - 0.3px),55.28% calc(100% - 17.9px),55.25% calc(100% - 3.3px),52.88% calc(100% - 18.9px),49.43% calc(100% - 2.8px),44.82% calc(100% - 0px),44.74% calc(100% - 27.5px),41.54% calc(100% - 5.3px),41.39% calc(100% - 33.5px),37.51% calc(100% - 23.5px),37.3% calc(100% - 7.5px),32.66% calc(100% - 9.9px),30.61% calc(100% - 5.1px),27.94% calc(100% - 4.2px),27.41% calc(100% - 27.6px),25.26% calc(100% - 4.9px),24.21% calc(100% - 19.3px),23.97% calc(100% - 4.7px),21.41% calc(100% - 3.8px),17.13% calc(100% - 1.6px),16.74% calc(100% - 22.1px),13.8% calc(100% - 16.4px),9.66% calc(100% - 17.9px),6.4% calc(100% - 10.1px),1.99% calc(100% - 13.9px),0% calc(100% - 0px)
  );
}
.cols{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:0; column-gap:2.2rem;
  font-size:.92rem; line-height:1.7; color:var(--text);
  border-top:3px double var(--ink); border-bottom:3px double var(--ink);
  padding:1.4rem 0;
}
.cols .col{
  display:flex; flex-direction:column;
  border-right:1px solid var(--grid);
  padding-right:2.2rem;
  text-align:justify; hyphens:auto;
}
.cols .col:last-child{ border-right:none; padding-right:0; }
.cols .col:first-child p:first-of-type::first-letter{
  font-family:'EuroScript', cursive;
  float:left; line-height:.78; font-size:3.4rem; padding:.05em .08em 0 0; color:var(--crimson);
}
.cols h3{
  font-family:'EuroScript', cursive; font-size:1.4rem; color:var(--ink);
  margin:0 0 .8rem;
  text-align:left;
}
.cols p{margin:0 0 1rem;}
blockquote{
  font-family:'EuroScript', cursive;
  font-size:1.5rem; color:var(--crimson);
  margin:0 0 1rem; line-height:1.3;
}
.cols p:has(+ .news-photo){ margin-bottom:0; }
.news-photo{
  position:relative;
  margin:auto 0;
}
.news-photo img{
  display:block; width:100%;
  filter:grayscale(1) contrast(1.25) brightness(1.05);
}
.clover{
  position:absolute; top:-2.2rem; right:3rem; width:100px;
}

/* ---------- LINKS ---------- */
.links{padding-top:1rem; margin-top:13.2rem;}
.links-grid{
  max-width:920px; margin:0 auto;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:2.5rem;
}
.plat-col{display:flex; flex-direction:column; gap:1.1rem;}
.plat-col.right{align-items:flex-end;}
.platform{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:'EuroScript', cursive;
  font-size:1.9rem;
  transition:transform .2s ease, opacity .2s ease;
}
.platform:hover{ transform:translateY(-2px); opacity:.8; }
.platform svg{width:24px; height:24px; flex-shrink:0;}
.plat-col.right .platform{ flex-direction:row-reverse; }
.platform.spotify{color:var(--spotify);}
.platform.apple{color:var(--apple);}
.platform.youtube{color:var(--youtube);}
.platform.instagram{color:var(--instagram);}
.platform.tiktok{color:var(--tiktok);}
.platform.threads{color:var(--threads);}
.platform.email{
  color:var(--email); font-size:1.15rem; font-family:'EuroScript', cursive; font-weight:700;
}
.badge{
  position:relative; width:150px; height:150px;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto;
}
.badge img{width:100%; height:100%; object-fit:contain;}
.fish-row{
  display:flex; justify-content:center; max-width:920px; margin:12rem auto 0;
  opacity:.7; color:var(--ink-soft);
}
.fish-doodle-big{
  width:520px; max-width:80vw;
  transform:rotate(-14deg);
}

footer{
  text-align:center; padding:3rem 1.5rem 4rem;
  font-family:'EuroScript', cursive; color:var(--muted); font-size:1.1rem;
}
footer .tictactoe{margin:0 auto 1rem; width:54px; opacity:.6; filter:url(#pencil-rough);}

.links{position:relative;}
.xo-doodle{
  position:absolute; z-index:0;
  width:56px;
  color:var(--ink-soft);
  opacity:.4;
  filter:url(#pencil-rough);
  pointer-events:none;
}
.xo-doodle.xo-1{ top:263px; left:56px; transform:rotate(-6deg); }
.xo-doodle.xo-2{ top:291px; left:560px; transform:rotate(4deg); }
.xo-doodle.xo-3{ top:347px; left:308px; transform:rotate(-3deg); }
.xo-doodle.xo-4{ top:375px; left:812px; transform:rotate(7deg); }

@media (max-width:760px){
  .menu-grid{grid-template-columns:repeat(2,1fr);}
  .cols{grid-template-columns:1fr;}
  .links-grid{grid-template-columns:1fr; text-align:center;}
  .plat-col, .plat-col.right{align-items:center;}
  .plat-col{order:1;}
  .plat-col.right{order:2;}
  .badge{order:3; margin:2rem auto 0;}
  .cols .col{border-right:none; padding-right:0;}
  .xo-doodle, .hero-fish{display:none;}
}
