/* festive-lottery — playful lottery / fun-games look */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
:root{
  --ink:#2b1d14;--ink-soft:#5a4536;--cream:#fff5e3;--paper:#fffdf8;
  --mint:#c9f2de;--lilac:#e6dcff;--sky:#d2ebff;--peach:#ffdcc7;
  --p-soft:color-mix(in srgb,var(--primary) 16%,#fff);
  --a-soft:color-mix(in srgb,var(--accent) 32%,#fff);
  --p-mid:color-mix(in srgb,var(--primary) 55%,#fff);
  --shadow:4px 4px 0 var(--ink);
  --round:28px;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);font-size:1.0625rem;line-height:1.65;color:var(--ink);
  background-color:var(--cream);
  background-image:
    radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--accent) 60%,transparent) 0 3px,transparent 4px),
    radial-gradient(circle at 72% 64%,color-mix(in srgb,var(--primary) 38%,transparent) 0 2.5px,transparent 3.5px),
    radial-gradient(circle at 44% 82%,#6cc3ff66 0 2px,transparent 3px),
    radial-gradient(circle at 88% 12%,#7bd8a666 0 3px,transparent 4px);
  background-size:96px 96px,132px 132px,74px 74px,170px 170px;
  overflow-x:clip;
}
a{color:inherit}
h1,h2,h3{line-height:1.15;font-weight:900;letter-spacing:-.01em}
.center{text-align:center}

/* ---------- buttons ---------- */
.chunky{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.7em 1.4em;border:3px solid var(--ink);border-radius:999px;box-shadow:var(--shadow);font-weight:900;font-size:1rem;text-decoration:none;line-height:1.2;text-align:center;transition:transform .12s,box-shadow .12s}
.chunky:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.chunky:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.chunky-accent{background:var(--accent);color:var(--ink)}
.chunky-paper{background:var(--paper);color:var(--ink)}
.chunky-lg{font-size:1.15rem;padding:.85em 1.8em}
.pill{display:inline-flex;align-items:center;padding:.35em .95em;border-radius:999px;font-weight:800;font-size:.85rem;text-decoration:none;border:2px solid var(--ink)}
.pill-line{background:var(--paper)}
.pill-accent{background:var(--accent);box-shadow:2px 2px 0 var(--ink)}

/* ---------- header: centered logo, scalloped bottom ---------- */
.fest-header{position:relative;z-index:5;text-align:center;padding:10px 16px 26px;background:var(--p-soft);border-bottom:0;margin-bottom:34px}
.fest-header::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:22px;
  background:radial-gradient(circle at 16px -4px,var(--p-soft) 17px,transparent 18px) 0 0/32px 22px repeat-x}
.fest-util{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:1240px;margin:0 auto 6px;flex-wrap:wrap}
.fest-util-actions{display:flex;gap:8px;margin-left:auto}
.lang-switch{display:flex;gap:4px}
.lang-switch a{padding:.2em .6em;border-radius:999px;font-size:.75rem;font-weight:800;text-decoration:none;background:var(--paper);border:2px solid transparent}
.lang-switch a.active{border-color:var(--ink)}
.fest-logo{display:inline-block;text-decoration:none;margin:4px auto 8px}
.logo-text{display:inline-block;font-weight:900;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:.03em;color:var(--primary);
  text-shadow:3px 3px 0 var(--accent),5px 5px 0 var(--ink);transform:rotate(-2deg)}
.logo-img{display:block;height:52px;width:auto;margin:0 auto}
.fest-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.fest-nav a{padding:.4em 1em;border-radius:999px;font-weight:800;font-size:.95rem;text-decoration:none;background:var(--paper);border:2px solid var(--ink)}
.fest-nav a[aria-current="page"],.fest-nav a:hover{background:var(--primary);color:#fff}

/* ---------- main ---------- */
.fest-main{max-width:1240px;margin:0 auto;padding:0 16px 56px;display:flex;flex-direction:column;gap:56px}
.fest-h2{font-size:clamp(1.7rem,4vw,2.5rem);text-align:center;margin-bottom:18px}
.fest-h2::after{content:"";display:block;width:90px;height:10px;margin:10px auto 0;border-radius:999px;
  background:repeating-linear-gradient(90deg,var(--primary) 0 15px,var(--accent) 15px 30px)}

/* ---------- hero + prize wheel ---------- */
.fest-hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:32px}
.fest-hero h1{font-size:clamp(2rem,5.2vw,3.6rem);margin-bottom:16px}
.fest-hero p{font-size:1.15rem;color:var(--ink-soft);max-width:52ch;margin-bottom:24px}
.fest-hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-banner .fest-hero{padding:36px;border-radius:40px;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);
  background:radial-gradient(circle at 10% 90%,var(--a-soft) 0 18%,transparent 19%),radial-gradient(circle at 95% 5%,var(--mint) 0 14%,transparent 15%),var(--paper)}
.hero-center .fest-hero{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero-center .fest-hero-text{order:2}
.hero-center .fest-hero p{margin-inline:auto}
.hero-center .fest-hero-actions{justify-content:center}
.hero-center .wheel{width:min(300px,74vw)}

.wheel-wrap{display:flex;justify-content:center;padding:18px 0}
.wheel{position:relative;width:min(400px,78vw);aspect-ratio:1}
.wheel-disc{position:absolute;inset:0;border-radius:50%;border:12px solid var(--ink);
  outline:7px dotted var(--accent);outline-offset:-9px;
  background:
    repeating-conic-gradient(rgba(43,29,20,.35) 0 .6deg,transparent .6deg 30deg),
    repeating-conic-gradient(var(--primary) 0 30deg,var(--p-soft) 30deg 60deg,var(--accent) 60deg 90deg,var(--paper) 90deg 120deg);
  box-shadow:8px 10px 0 rgba(43,29,20,.25);
  animation:wheel-spin 48s linear infinite}
.wheel-hub{position:absolute;inset:31%;z-index:2;display:grid;place-items:center;padding:6px;border-radius:50%;
  background:var(--paper);border:6px solid var(--ink);box-shadow:inset 0 -6px 0 var(--a-soft);
  font-weight:900;font-size:clamp(.72rem,1.7vw,1rem);line-height:1.15;text-align:center;color:var(--ink);overflow:hidden;word-break:break-word}
.wheel-pointer{position:absolute;z-index:3;left:50%;top:-18px;width:44px;height:52px;transform:translateX(-50%);
  background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%)}
.wheel-pointer::after{content:"";position:absolute;left:8px;right:8px;top:5px;height:30px;background:var(--primary);clip-path:polygon(0 0,100% 0,50% 100%)}
@keyframes wheel-spin{to{transform:rotate(360deg)}}

/* ---------- ticker ribbons ---------- */
.ribbons{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:-20px}
.ribbons li{padding:.45em 1.1em;border-radius:999px;border:2px dashed var(--ink);background:var(--paper);font-weight:700;font-size:.92rem}
.ribbons li:nth-child(4n+1){background:var(--a-soft)}
.ribbons li:nth-child(4n+2){background:var(--mint)}
.ribbons li:nth-child(4n+3){background:var(--lilac)}
.ribbons li:nth-child(4n){background:var(--sky)}

/* ---------- games: bubbly grid ---------- */
.cat-chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px}
.cat-chips a{display:inline-block;padding:.35em .9em;border-radius:999px;background:var(--paper);border:2px solid var(--ink);font-weight:800;font-size:.85rem;text-decoration:none}
.cat-chips li:first-child a{background:var(--primary);color:#fff}
.bubbles{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:18px}
.bubble{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1;padding:16px;text-decoration:none;text-align:center;
  border-radius:36px;border:3px solid var(--ink);box-shadow:var(--shadow);overflow:hidden;color:#fff;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.55) 0 7%,transparent 7.5%),
    radial-gradient(circle at 14% 80%,rgba(255,255,255,.35) 0 10%,transparent 10.5%),
    radial-gradient(circle at 30% 30%,hsl(var(--h) 90% 66%),hsl(calc(var(--h) + 35) 75% 38%) 75%);
  transition:transform .15s}
.bubble:nth-child(odd){border-radius:36px 36px 36px 12px}
.bubble:hover{transform:translateY(-4px) rotate(-1.5deg)}
.bubble-orb{display:grid;place-items:center;width:46%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.9);color:hsl(var(--h) 70% 30%);font-weight:900;font-size:clamp(1.3rem,3vw,2rem);border:3px solid var(--ink)}
.bubble-name{font-weight:900;font-size:.98rem;line-height:1.2;text-shadow:0 2px 0 rgba(0,0,0,.35)}
.bubble-play{padding:.2em .8em;border-radius:999px;background:var(--ink);font-size:.74rem;font-weight:800;color:#fff}
.sticker{position:absolute;top:10px;right:10px;padding:.25em .6em;border-radius:999px;border:2px solid var(--ink);font-size:.68rem;font-weight:900;transform:rotate(12deg);color:var(--ink)}
.sticker-hot{background:var(--accent)}
.sticker-new{background:var(--mint)}
.bubbles+.center{margin-top:24px}

/* ---------- bonuses: tilted prize cards ---------- */
.prize-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:26px;padding:8px}
.prize{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 20px;border-radius:var(--round);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:var(--a-soft);transition:transform .15s}
.prize:nth-child(4n+1){background:var(--a-soft);transform:rotate(-2deg)}
.prize:nth-child(4n+2){background:var(--mint);transform:rotate(1.5deg)}
.prize:nth-child(4n+3){background:var(--lilac);transform:rotate(-1deg)}
.prize:nth-child(4n){background:var(--sky);transform:rotate(2deg)}
.prize:hover{transform:rotate(0) scale(1.02)}
.prize-amount{align-self:flex-start;padding:.3em .8em;border-radius:14px;background:var(--primary);color:#fff;font-weight:900;font-size:1.2rem;line-height:1.25;border:3px solid var(--ink)}
.prize h2,.prize h3{font-size:1.2rem}
.prize p{color:var(--ink-soft);font-size:.96rem}
.prize small{font-size:.78rem;color:var(--ink-soft);border-top:2px dashed rgba(43,29,20,.3);padding-top:8px}
.prize .chunky{margin-top:auto;align-self:flex-start}
.prize-cards-wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* ---------- features: stickers ---------- */
.stickers{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.sticker-badge{flex:1 1 210px;max-width:270px;padding:32px 30px;text-align:center;border:3px solid var(--ink);box-shadow:var(--shadow);
  border-radius:55% 45% 52% 48%/48% 54% 46% 52%;background:var(--paper);position:relative}
.sticker-badge::before{content:"";position:absolute;inset:7px;border:2px dashed rgba(43,29,20,.35);border-radius:inherit;pointer-events:none}
.sticker-badge:nth-child(5n+1){background:var(--a-soft);transform:rotate(-3deg)}
.sticker-badge:nth-child(5n+2){background:var(--mint);transform:rotate(2deg)}
.sticker-badge:nth-child(5n+3){background:var(--lilac);transform:rotate(-1deg)}
.sticker-badge:nth-child(5n+4){background:var(--sky);transform:rotate(3deg)}
.sticker-badge:nth-child(5n){background:var(--peach);transform:rotate(-2deg)}
.sticker-badge h3{font-size:1.08rem;margin-bottom:6px}
.sticker-badge p{font-size:.9rem;color:var(--ink-soft)}

/* ---------- how-to: zig-zag paths ---------- */
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.path{--s:20%;--k:25%;padding:20px 18px 24px;border-radius:var(--round);background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow)}
.path h3{font-size:1.25rem;margin-bottom:16px;text-align:center}
.path ol{list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:16px}
.path ol li{counter-increment:st;position:relative;width:calc(100% - var(--s));min-height:60px;padding:10px 12px 10px 66px;border-radius:20px;background:var(--cream);font-weight:600;font-size:.94rem;line-height:1.4;display:flex;align-items:center}
.path ol li:nth-child(even){margin-left:var(--s)}
.path ol li::before{content:counter(st);position:absolute;z-index:2;left:6px;top:6px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;
  border:3px solid var(--ink);background:var(--primary);color:#fff;font-weight:900;font-size:1.2rem}
.path ol li:nth-child(4n+2)::before{background:var(--accent);color:var(--ink)}
.path ol li:nth-child(4n+3)::before{background:#3fbf86}
.path ol li:nth-child(4n)::before{background:#7a5cff}
.path ol li:not(:last-child)::after{content:"";position:absolute;z-index:1;top:54px;bottom:-46px;width:calc(var(--k) - 24px);border:3px dashed var(--p-mid);pointer-events:none}
.path ol li:nth-child(odd):not(:last-child)::after{left:30px;border-top:0;border-right:0;border-bottom-left-radius:26px}
.path ol li:nth-child(even):not(:last-child)::after{right:calc(100% - 30px);border-top:0;border-left:0;border-bottom-right-radius:26px}
.req-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.req-list li{padding:.4em .9em;border-radius:999px;background:var(--a-soft);border:2px solid var(--ink);font-weight:700;font-size:.88rem}

/* ---------- article: note cards ---------- */
.note-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:22px;align-items:start}
.note-cards-single{grid-template-columns:minmax(0,820px);justify-content:center}
.note{position:relative;padding:44px 24px 22px;border-radius:var(--round);background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow)}
.note::before{content:"";position:absolute;top:14px;left:24px;width:64px;height:12px;border-radius:999px;background:var(--primary)}
.note:nth-child(3n+2)::before{background:var(--accent)}
.note:nth-child(3n)::before{background:#3fbf86}
.note h2{font-size:1.3rem;margin-bottom:10px}
.note p{color:var(--ink-soft);margin-bottom:10px}
.note p:last-child{margin-bottom:0}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:0 auto}
.faq h2{font-size:clamp(1.7rem,4vw,2.5rem);text-align:center;margin-bottom:20px}
.faq details{counter-increment:fq;margin-bottom:12px;border:3px solid var(--ink);border-radius:22px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 18px;font-weight:800;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"?";flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--ink);background:var(--primary);color:#fff;font-weight:900;transition:transform .2s}
.faq details:nth-of-type(4n+2) summary::before{background:var(--accent);color:var(--ink)}
.faq details:nth-of-type(4n+3) summary::before{background:#3fbf86}
.faq details:nth-of-type(4n) summary::before{background:#7a5cff}
.faq details[open] summary::before{content:"✓";transform:rotate(360deg)}
.faq details[open]{background:var(--a-soft)}
.faq details p{padding:0 18px 16px 66px;color:var(--ink-soft)}

/* ---------- final CTA ---------- */
.fest-final{display:flex;flex-direction:column;align-items:center;gap:16px;padding:34px 20px;border-radius:40px;border:3px dashed var(--ink);
  background:radial-gradient(circle at 20% 30%,var(--a-soft) 0 12%,transparent 13%),radial-gradient(circle at 80% 70%,var(--mint) 0 14%,transparent 15%),var(--p-soft);text-align:center}
.fest-final .prize-amount{align-self:center;font-size:clamp(1.3rem,4vw,2rem)}

/* ---------- subpages ---------- */
.page-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.page-head h1{font-size:clamp(2rem,5vw,3.2rem)}
.lead{font-size:1.15rem;color:var(--ink-soft);max-width:62ch}
.fest-404{text-align:center;padding:40px 0}
.fest-404 h1{font-size:clamp(5rem,20vw,10rem);display:flex;justify-content:center;align-items:center;gap:.08em;color:var(--primary);text-shadow:5px 5px 0 var(--ink)}
.o404{display:inline-block;width:.8em;height:.8em;color:transparent;text-shadow:none;overflow:hidden;line-height:.8em;font-size:inherit;border-radius:50%;border:8px solid var(--ink);
  background:repeating-conic-gradient(var(--primary) 0 30deg,var(--accent) 30deg 60deg,var(--paper) 60deg 90deg);animation:wheel-spin 20s linear infinite}
.fest-404 p{margin-top:24px}

/* ---------- footer ---------- */
.fest-footer{position:relative;margin-top:40px;padding:44px 16px 24px;background:var(--ink);color:#f7e9d7}
.fest-footer::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px;
  background:radial-gradient(circle at 16px 24px,var(--ink) 17px,transparent 18px) 0 0/32px 20px repeat-x}
.fest-footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;align-items:start}
.ff-brand p{font-size:.9rem;color:#e0cdb8;margin:10px 0}
.fest-footer .logo-text{font-size:1.8rem;text-shadow:2px 2px 0 var(--accent)}
.fest-footer .fest-logo{margin:0}
.age-sticker{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:900;border:3px dashed var(--ink);outline:3px solid var(--accent)}
.ff-links{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.ff-links a{padding:.35em .9em;border-radius:999px;border:2px solid #f7e9d7;font-size:.86rem;font-weight:700;text-decoration:none}
.ff-links a:hover{background:#f7e9d7;color:var(--ink)}
.ff-tickets{display:flex;flex-direction:column;gap:10px}
.ticket{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;border-radius:12px;background:var(--paper);color:var(--ink);font-size:.86rem;
  -webkit-mask:radial-gradient(circle at 0 50%,transparent 9px,#000 10px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 9px,#000 10px) right/51% 100% no-repeat;
          mask:radial-gradient(circle at 0 50%,transparent 9px,#000 10px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 9px,#000 10px) right/51% 100% no-repeat}
.ticket strong{font-weight:900;white-space:nowrap}
.ff-copy{max-width:1240px;margin:26px auto 0;padding-top:16px;border-top:2px dashed rgba(247,233,215,.3);font-size:.85rem;text-align:center;color:#e0cdb8}

/* ---------- responsive ---------- */
@media (min-width:1300px){.bubbles{grid-template-columns:repeat(calc(var(--cols) + 1),minmax(0,1fr))}}
@media (max-width:1000px){
  .paths{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto;width:100%}
  .fest-footer-inner{grid-template-columns:1fr 1fr}
  .ff-brand{grid-column:1/-1}
}
@media (max-width:860px){
  .fest-hero{grid-template-columns:1fr;text-align:center;justify-items:center}
  .fest-hero p{margin-inline:auto}
  .fest-hero-actions{justify-content:center}
  .bubbles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-banner .fest-hero{padding:24px 18px}
}
@media (max-width:560px){
  body{font-size:1rem}
  .fest-main{gap:44px}
  .bubbles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .path{--s:12%;--k:13.64%;padding:18px 12px}
  .fest-footer-inner{grid-template-columns:1fr}
  .fest-util{justify-content:center}
  .fest-util-actions{margin-left:0}
  .faq details p{padding-left:18px}
  .chunky-lg{font-size:1.02rem;padding:.8em 1.3em}
  .ribbons li{border-radius:18px;text-align:center}
  .sticker-badge{max-width:none;padding:24px 22px;border-radius:44px 30px 48px 28px/34px 46px 30px 42px}
}
@media (prefers-reduced-motion:reduce){
  .wheel-disc,.o404{animation:none}
  .chunky,.bubble,.prize,.faq summary::before{transition:none}
  html{scroll-behavior:auto}
}
.bubble-orb.ga-host{width:74%;border-radius:22%;aspect-ratio:1}

/* ---------- media library images ---------- */
.fest-hero--img .fest-hero-visual{position:relative;width:100%;max-width:580px;justify-self:center;padding:0 0 clamp(64px,9vw,104px)}
.si.fest-photo{padding:10px;background:var(--paper);border:3px solid var(--ink);border-radius:var(--round);box-shadow:8px 8px 0 var(--ink);transform:rotate(2deg)}
.si.fest-photo img{border-radius:calc(var(--round) - 10px)}
.fest-hero .fest-hero-visual .wheel-wrap{position:absolute;left:0;bottom:0;width:clamp(150px,38%,220px);padding:0;z-index:2}
.fest-hero .fest-hero-visual .wheel{width:100%}
.fest-hero-visual .wheel-disc{border-width:8px;outline-width:5px;outline-offset:-7px}
.fest-hero-visual .wheel-hub{border-width:4px;font-size:.7rem;padding:4px}
.fest-hero-visual .wheel-pointer{top:-12px;width:30px;height:36px}
.fest-hero-visual .wheel-pointer::after{left:6px;right:6px;top:4px;height:20px}
.hero-center .fest-hero--img .fest-hero-visual{max-width:540px}
.si.fest-banner{margin:0 auto 26px;max-width:1000px;width:100%;padding:8px;background:var(--paper);border:3px solid var(--ink);border-radius:var(--round);box-shadow:6px 6px 0 var(--ink)}
.si.fest-banner img{border-radius:calc(var(--round) - 8px)}
.page-head .si.fest-banner{margin-bottom:0}
.note .si.fest-note-img{margin:16px 0 0}
.si.fest-note-img img{border-radius:18px;border:3px solid var(--ink)}
.fest-shots{display:flex;justify-content:center;align-items:flex-start;gap:clamp(12px,3vw,32px);padding:6px}
.fest-shots .si-app{flex:0 1 220px;min-width:0;padding:6px;background:var(--ink);border-radius:30px;box-shadow:6px 6px 0 var(--a-soft)}
.fest-shots .si-app img{border-radius:24px}
.fest-shots .si-app:nth-child(1){transform:rotate(-3deg)}
.fest-shots .si-app:nth-child(2){transform:translateY(-10px)}
.fest-shots .si-app:nth-child(3){transform:rotate(3deg)}
@media (max-width:560px){
  .si.fest-photo,.si.fest-banner{padding:6px;box-shadow:5px 5px 0 var(--ink)}
  .fest-shots{gap:8px}
  .fest-shots .si-app{padding:4px;border-radius:20px;box-shadow:3px 3px 0 var(--a-soft)}
  .fest-shots .si-app img{border-radius:16px}
}
