@import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Special+Elite&display=swap');

:root{
  --black:#050505;
  --paper:#f3eee3;
  --paper-bright:#faf7f0;
  --paper-aged:#ece3d0;
  --ink:#0a0a0a;
  --cardboard:#9b7a55;
  --cardboard-dark:#7d6142;
  --red:#9e2530;
  --shadow:0 10px 24px rgba(0,0,0,.55);
  --shadow-soft:0 5px 12px rgba(0,0,0,.35);
  --font-body:"Special Elite","Courier New",monospace;
  --font-marker:"Permanent Marker","Comic Sans MS",cursive;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:#111;
  line-height:1.45;
  font-family:var(--font-body);
  background:#050505;
  background-image:
    radial-gradient(rgba(255,255,255,.038) 1px,transparent 1px),
    radial-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,0));
  background-size:8px 8px, 23px 23px, auto;
  background-position:0 0, 4px 4px, 0 0;
}

img{max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

.wrap{max-width:1160px;margin:0 auto;padding:24px 18px 48px}

.paper,
.archive-card,
.footer-strip,
.intro-card,
.board,
.side-card,
.sponsor,
.backlink,
.notice{
  position:relative;
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,0) 28%),
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.55), rgba(255,255,255,0) 22%),
    radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),
    radial-gradient(circle at 30% 70%, rgba(0,0,0,.025), rgba(0,0,0,0) 30%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),
    linear-gradient(180deg, var(--paper-bright), var(--paper-aged));
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,.14);
}

.paper::after,
.paper::before,
.archive-card::before,
.tab::before,
.footer-strip::before,
.footer-strip::after,
.backlink::before{
  content:"";
  position:absolute;
  z-index:3;
  background:
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 28%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, rgba(0,0,0,.04) 1px 3px),
    linear-gradient(180deg, rgba(188,188,188,.98), rgba(118,118,118,.96));
  box-shadow:
    0 1px 1px rgba(255,255,255,.15) inset,
    0 -1px 1px rgba(0,0,0,.25) inset,
    0 2px 4px rgba(0,0,0,.35);
  opacity:.95;
}

.paper::before,
.paper::after{
  height:34px;
  width:72px;
}
.paper::before{left:-22px;top:18px;transform:rotate(-4deg)}
.paper::after{right:-20px;bottom:20px;transform:rotate(3deg)}

.paper-big{
  padding:28px 36px 34px;
  clip-path:polygon(0 3%,4% 0,19% 2%,35% 0,52% 2%,75% 0,100% 3%,98% 96%,83% 99%,63% 97%,44% 100%,22% 97%,3% 99%);
}

.site-header{min-height:0;margin:0 auto 22px}
.main-logo{width:min(620px,74%);display:block;filter:contrast(1.12) saturate(.9);margin:6px 0 16px 56px;background:none}
.tagline{font-weight:400;font-size:clamp(16px,2vw,21px);margin:0 0 0 70px;max-width:840px}
.tagline span{border-bottom:3px solid #000;padding-bottom:2px}
.doodle-star{position:absolute;right:70px;top:92px;font-size:62px;transform:rotate(-12deg)}

.tabs{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;margin:0 8px 28px}
.tab{
  display:inline-block;
  background:linear-gradient(180deg,#f8f4ec,#eee4d1);
  color:#111;
  padding:12px 28px;
  font:400 23px/1 var(--font-marker);
  box-shadow:0 5px 10px rgba(0,0,0,.5);
  transform:rotate(-1deg);
  clip-path:polygon(3% 0,96% 4%,100% 88%,6% 100%,0 12%);
  position:relative;
}
.tab:nth-child(even){transform:rotate(1deg)}
.tab::before{left:-8px;top:12px;width:22px;height:32px}
.tab.active{border-bottom:5px solid #111}

.home-grid{display:grid;grid-template-columns:370px 1fr;gap:34px;align-items:start}

.strip,.label,.backlink{
  font-family:var(--font-marker);
}

.strip{
  display:inline-block;
  background:linear-gradient(180deg,#f9f5ee,#ede2d0);
  padding:8px 18px;
  margin:0 0 10px;
  font:400 19px/1 var(--font-marker);
  text-transform:uppercase;
  transform:rotate(-2deg);
  box-shadow:0 4px 8px rgba(0,0,0,.5);
}
.strip span{font-size:30px}
.strip.small{font-size:17px;text-transform:lowercase}

.archive-card{
  display:block;
  margin:0 0 9px;
  padding:14px 54px 13px 20px;
  clip-path:polygon(0 4%,98% 0,100% 92%,4% 100%);
  transition:transform .12s;
}
.archive-card:hover{transform:translateX(4px) rotate(.4deg);text-decoration:none}
.archive-card::before{width:36px;height:36px;left:-14px;top:12px;transform:rotate(-5deg)}
.archive-card strong{display:block;font-size:19px;font-family:var(--font-marker);font-weight:400;letter-spacing:.2px}
.archive-card span,.archive-card small{display:block;font-size:13px}
.archive-card b{position:absolute;right:18px;top:30px;font-size:28px}
.archive-card:nth-child(odd){transform:rotate(.3deg)}
.archive-card:nth-child(even){transform:rotate(-.4deg)}

.feature{
  padding:26px 36px 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 18%),
    repeating-linear-gradient(90deg, rgba(67,49,30,.08) 0 2px, rgba(255,255,255,0) 2px 10px),
    linear-gradient(180deg, rgba(183,147,111,.78), rgba(126,98,68,.78));
  clip-path:polygon(1% 1%,99% 0,100% 98%,2% 100%);
  box-shadow:var(--shadow);
}
.feature::before,
.feature::after{content:none}
.feature .inner{
  background-color:#f8f3e8;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,0) 25%),
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.45), transparent 20%),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,.02), transparent 25%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.007) 0 1px, rgba(255,255,255,0) 1px 5px),
    linear-gradient(180deg, #fbf7ef, #efe6d6);
  padding:34px 42px 24px;
  clip-path:polygon(2% 0,100% 3%,98% 97%,0 100%);
  box-shadow:0 6px 12px rgba(0,0,0,.18);
  position:relative;
}
.feature .inner::before,
.feature .inner::after{
  content:"";
  position:absolute;
  width:26px;
  height:62px;
  top:42%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,0) 25%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, rgba(0,0,0,.04) 1px 3px),
    linear-gradient(180deg, rgba(190,190,190,.95), rgba(115,115,115,.92));
  box-shadow:0 2px 4px rgba(0,0,0,.35);
}
.feature .inner::before{left:-17px;transform:rotate(-5deg)}
.feature .inner::after{right:-16px;transform:rotate(4deg)}
.label{display:inline-block;background:#080808;color:#fff;padding:8px 16px;margin-left:120px;margin-bottom:18px;font:400 20px/1 var(--font-marker);transform:rotate(-2deg)}
.feature h1{font:400 clamp(52px,7vw,82px)/.9 var(--font-marker);margin:0 0 10px;letter-spacing:.5px}
.rule{border-bottom:5px solid #111;margin:10px 0 18px}
.date{font-size:24px;font-weight:700}
.feature p{font-size:16px;font-weight:400;max-width:580px}

.photo-collage{display:flex;align-items:flex-end;gap:12px;margin-top:20px}
.photo{
  background:#fff;
  padding:8px;
  box-shadow:0 5px 10px rgba(0,0,0,.45);
  transform:rotate(-4deg);
  width:40%;
}
.photo:nth-child(2){width:24%;transform:rotate(2deg);z-index:2}
.photo:nth-child(3){width:32%;transform:rotate(5deg)}
.photo img{width:100%;display:block;filter:grayscale(.9) contrast(1.08)}

.support{margin-top:34px}
.sponsor-grid{list-style:none;padding:6px 0 0;margin:12px 0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.sponsor{padding:20px 18px 18px;min-height:104px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);overflow:visible;text-align:left}
.sponsor.paper::before,.sponsor.paper::after{height:20px;width:84px;top:-10px;bottom:auto;z-index:2}
.sponsor.paper::before{left:14px;transform:rotate(-8deg)}
.sponsor.paper::after{right:14px;transform:rotate(7deg)}
.sponsor-card{clip-path:polygon(1% 2%,99% 0,100% 96%,3% 100%)}
.sponsor-card:nth-child(1){transform:rotate(-1.3deg) translateY(2px)}
.sponsor-card:nth-child(2){transform:rotate(.8deg) translateY(8px)}
.sponsor-card:nth-child(3){transform:rotate(-.6deg) translateY(-2px)}
.sponsor-card:nth-child(4){transform:rotate(.9deg) translateY(12px)}
.sponsor-card:nth-child(5){transform:rotate(-1deg) translateY(4px)}
.sponsor-card:nth-child(6){transform:rotate(.5deg) translateY(10px)}
.sponsor-card:nth-child(1)::before{left:18px;width:76px}
.sponsor-card:nth-child(1)::after{right:16px;width:66px;transform:rotate(5deg)}
.sponsor-card:nth-child(2)::before{left:22px;width:96px;transform:rotate(-5deg)}
.sponsor-card:nth-child(2)::after{right:22px;width:92px;transform:rotate(6deg)}
.sponsor-card:nth-child(3)::before{left:18px;width:72px;transform:rotate(-6deg)}
.sponsor-card:nth-child(3)::after{right:10px;width:62px;transform:rotate(8deg)}
.sponsor-card:nth-child(4)::before{left:18%;width:70px;transform:rotate(-4deg)}
.sponsor-card:nth-child(4)::after{right:18px;width:74px;transform:rotate(7deg)}
.sponsor-card:nth-child(5)::before{left:16px;width:88px;transform:rotate(-4deg)}
.sponsor-card:nth-child(5)::after{right:12px;width:70px;transform:rotate(9deg)}
.sponsor-card:nth-child(6)::before{left:14px;width:74px;transform:rotate(-7deg)}
.sponsor-card:nth-child(6)::after{right:10px;width:62px;transform:rotate(5deg)}
.logo-card{padding:22px 18px 20px;background-color:var(--paper-bright)}
.logo-card .logo-image{position:relative;z-index:4;display:block;width:100%;height:auto;max-height:86px;object-fit:contain;object-position:center}
.logo-bka{max-width:330px}
.logo-kultur{max-width:300px}
.sponsor-name{position:relative;z-index:4;display:block;font-family:var(--font-body);font-size:clamp(18px,1.45vw,27px);line-height:1.05;font-weight:700;letter-spacing:.15px}
.sponsor-1{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),#f2f2ef)}
.sponsor-2{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),#efe6c8)}
.sponsor-3{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),linear-gradient(90deg, rgba(107,131,160,.18) 0 34%, rgba(0,0,0,0) 34%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),var(--paper-aged))}
.sponsor-4{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),linear-gradient(90deg, rgba(59,140,57,.13) 0 34%, rgba(0,0,0,0) 34%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),var(--paper-aged))}
.sponsor-5{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),linear-gradient(90deg, rgba(198,95,49,.14) 0 34%, rgba(0,0,0,0) 34%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),var(--paper-aged))}
.sponsor-6{background-image:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,0) 22%),linear-gradient(90deg, rgba(144,84,75,.16) 0 34%, rgba(0,0,0,0) 34%),radial-gradient(circle at 20% 15%, rgba(255,255,255,.5), rgba(255,255,255,0) 22%),radial-gradient(circle at 75% 30%, rgba(0,0,0,.03), rgba(0,0,0,0) 28%),repeating-linear-gradient(0deg, rgba(0,0,0,.012) 0 1px, rgba(255,255,255,0) 1px 4px),repeating-linear-gradient(90deg, rgba(0,0,0,.008) 0 1px, rgba(255,255,255,0) 1px 5px),linear-gradient(180deg,var(--paper-bright),var(--paper-aged))}

.footer-strip{
  max-width:720px;
  margin:12px auto 0;
  padding:12px 24px;
  text-align:center;
  font-size:16px;
  clip-path:polygon(1% 10%,98% 0,100% 85%,3% 100%);
}
.footer-strip::before,.footer-strip::after{display:none}
.footer-strip span{margin:0 24px}.footer-strip .heart{margin-left:28px;font-size:30px}

.intro-card{padding:24px 30px;margin-bottom:22px;clip-path:polygon(1% 2%,100% 0,98% 100%,3% 98%)}
.intro-card h1{font:400 clamp(44px,7vw,76px)/1 var(--font-marker);margin:0 0 8px}
.meta{font-weight:700;font-size:22px;border-top:4px solid #111;border-bottom:4px solid #111;padding:10px 0;margin:12px 0 18px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px}

.board{
  padding:26px 30px;
  margin-bottom:24px;
  background-color:#f7f3ec;
  clip-path:polygon(0 2%,98% 0,100% 96%,2% 100%);
}
.board h2{font:400 28px/1 var(--font-marker);margin:0 0 16px}
.day{border-top:4px solid #111;padding-top:12px;margin-top:18px}
.session{display:grid;grid-template-columns:110px 1fr 150px;gap:14px;padding:7px 0;border-bottom:1px dashed rgba(0,0,0,.25)}
.time{color:var(--red);font-weight:700}
.kind{font-size:13px;color:#333}

.side-card{padding:20px;margin-bottom:22px}
.side-card h3{margin-top:0;font-size:24px;font-family:var(--font-marker);font-weight:400}
.side-card ul{padding-left:22px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.gallery figure{margin:0;background:#fff;padding:8px;box-shadow:0 5px 10px rgba(0,0,0,.45);transform:rotate(-2deg)}
.gallery figure:nth-child(even){transform:rotate(2deg)}
.gallery img{width:100%;height:190px;object-fit:cover;display:block}
.gallery figcaption{font-size:12px;padding-top:6px}

.backlink{display:inline-block;margin-bottom:16px;font-weight:400;padding:7px 14px;transform:rotate(-1deg)}
.backlink::before{left:-10px;top:-4px;width:28px;height:28px;transform:rotate(-8deg)}
.notice{border:3px solid #111;padding:16px;margin:16px 0;background:#fff}

@media(max-width:900px){
  .home-grid,.content-grid{grid-template-columns:1fr}
  .main-logo{width:min(620px,74%);display:block;filter:contrast(1.12) saturate(.9);margin:6px 0 16px 56px;background:none}
  .tagline{margin-left:0}
  .doodle-star{display:none}
  .tabs{justify-content:center}
  .sponsor-grid{grid-template-columns:repeat(2,1fr)}
  .session{grid-template-columns:1fr}
  .photo-collage{flex-direction:column}
  .photo,.photo:nth-child(2),.photo:nth-child(3){width:100%}
  .gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .wrap{padding:16px 10px}
  .site-header{min-height:0}
  .paper-big{padding:22px 18px}
  .tab{font-size:18px;padding:10px 16px}
  .feature{padding:14px}
  .feature .inner{padding:24px 18px}
  .label{margin-left:0}
  .sponsor-grid,.gallery{grid-template-columns:1fr}
}


/* real-logo-only sponsor area */
.sponsor-grid-real{
  grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
  max-width: 860px;
  margin-left: 0;
  margin-right: auto;
  gap: 28px;
  align-items: start;
}
.sponsor-grid-real .sponsor{
  min-height: 118px;
  padding: 24px 24px 22px;
}
.sponsor-grid-real .sponsor-card:nth-child(1){
  transform: rotate(-1.4deg) translateY(0);
}
.sponsor-grid-real .sponsor-card:nth-child(2){
  transform: rotate(.9deg) translateY(12px);
}
.sponsor-grid-real .sponsor-card:nth-child(1)::before{
  left: 20px;
  top: -11px;
  width: 86px;
  transform: rotate(-7deg);
}
.sponsor-grid-real .sponsor-card:nth-child(1)::after{
  right: 24px;
  top: -9px;
  width: 72px;
  transform: rotate(5deg);
}
.sponsor-grid-real .sponsor-card:nth-child(2)::before{
  left: 24px;
  top: -10px;
  width: 104px;
  transform: rotate(-5deg);
}
.sponsor-grid-real .sponsor-card:nth-child(2)::after{
  right: 24px;
  top: -12px;
  width: 96px;
  transform: rotate(6deg);
}
.sponsor-grid-real .logo-card .logo-image{
  max-height: 78px;
}
.sponsor-grid-real .logo-bka{
  max-width: 360px;
}
.sponsor-grid-real .logo-kultur{
  max-width: 370px;
}
@media(max-width:760px){
  .sponsor-grid-real{
    grid-template-columns:1fr;
    max-width: 520px;
  }
  .sponsor-grid-real .sponsor-card:nth-child(1),
  .sponsor-grid-real .sponsor-card:nth-child(2){
    transform: rotate(-.6deg);
  }
}


/* final sponsor correction: only the two uploaded real logos */
.sponsor-grid-real{
  display:grid;
  grid-template-columns:minmax(280px, 1fr) minmax(280px, 1fr);
  max-width:900px;
  margin:12px 0 20px;
  gap:30px;
  align-items:start;
}
.sponsor-grid-real .sponsor:nth-child(n+3){
  display:none !important;
}
.sponsor-grid-real .sponsor{
  min-height:126px;
  padding:24px 24px 22px;
  overflow:visible;
}
.sponsor-grid-real .sponsor-card:nth-child(1){
  transform:rotate(-1.2deg) translateY(0);
}
.sponsor-grid-real .sponsor-card:nth-child(2){
  transform:rotate(.9deg) translateY(10px);
}
.sponsor-grid-real .sponsor-card::before,
.sponsor-grid-real .sponsor-card::after{
  top:-11px;
  bottom:auto;
  height:20px;
  z-index:2;
}
.sponsor-grid-real .sponsor-card:nth-child(1)::before{
  left:20px;
  width:88px;
  transform:rotate(-7deg);
}
.sponsor-grid-real .sponsor-card:nth-child(1)::after{
  right:22px;
  width:74px;
  transform:rotate(5deg);
}
.sponsor-grid-real .sponsor-card:nth-child(2)::before{
  left:24px;
  width:110px;
  transform:rotate(-5deg);
}
.sponsor-grid-real .sponsor-card:nth-child(2)::after{
  right:24px;
  width:96px;
  transform:rotate(6deg);
}
.sponsor-grid-real .logo-image{
  position:relative;
  z-index:4;
  display:block;
  width:100%;
  height:auto;
  max-height:82px;
  object-fit:contain;
}
.sponsor-grid-real .logo-bka{
  max-width:380px;
}
.sponsor-grid-real .logo-kultur{
  max-width:390px;
}
@media(max-width:760px){
  .sponsor-grid-real{
    grid-template-columns:1fr;
    max-width:520px;
  }
}


/* asset-based collage pass: use real paper and tape PNGs */
.paper,
.archive-card,
.intro-card,
.board,
.side-card,
.footer-strip,
.sponsor-card,
.backlink,
.notice{
  background:none;
  border:none;
  box-shadow:0 8px 18px rgba(0,0,0,.5);
}
.paper > *, .archive-card > *, .intro-card > *, .board > *, .side-card > *, .footer-strip > *, .sponsor-card > *{
  position:relative;
  z-index:2;
}
.paper::before,.paper::after,
.archive-card::before,.archive-card::after,
.tab::before,
.backlink::before{
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  box-shadow:none;
}
.site-header.paper-big{background:url("assets/decor/hero_paper.png") no-repeat center/100% 100%;clip-path:none;padding:34px 48px 48px}
.site-header.paper-big::before{
  background-image:url("assets/decor/tape_left.png");
  width:90px; height:34px; left:14px; top:12px; transform:rotate(-4deg);
}
.site-header.paper-big::after{
  background-image:url("assets/decor/tape_right.png");
  width:90px; height:34px; right:14px; bottom:18px; transform:rotate(4deg);
}

.tab{
  background:url("assets/decor/tab_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  box-shadow:0 5px 10px rgba(0,0,0,.45);
  padding:16px 24px 14px;
}
.tab::before{
  background-image:url("assets/decor/tape_left.png");
  width:24px; height:18px; left:-4px; top:8px; transform:rotate(-8deg);
}

.strip,.label,.backlink{
  background:url("assets/decor/label_paper.png") no-repeat center/100% 100%;
  box-shadow:0 4px 8px rgba(0,0,0,.45);
}
.label{padding:10px 20px 10px 18px}
.strip{padding:12px 20px 10px 18px}
.backlink{padding:10px 18px 10px 22px}
.backlink::before{
  background-image:url("assets/decor/tape_right.png");
  width:20px;height:20px;left:-7px;top:-2px;
}

.archive-card.paper{
  background:url("assets/decor/archive_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:20px 58px 18px 22px;
}
.archive-card.paper::before{
  background-image:url("assets/decor/tape_left.png");
  width:68px;height:22px;left:10px;top:-8px;transform:rotate(-7deg);
}
.archive-card.paper::after{
  content:"";position:absolute;right:12px;top:-7px;width:56px;height:20px;
  background:url("assets/decor/tape_right.png") no-repeat center/contain;transform:rotate(6deg);z-index:3;
}

.feature{background:none;box-shadow:none;padding:0;clip-path:none}
.feature .inner.paper{
  background:url("assets/decor/feature_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:42px 50px 34px;
  box-shadow:0 10px 18px rgba(0,0,0,.42);
}
.feature .inner.paper::before{
  background:url("assets/decor/tape_top_wide.png") no-repeat center/contain;
  width:110px;height:28px;left:26px;top:-12px;transform:rotate(-5deg)
}
.feature .inner.paper::after{
  background:url("assets/decor/tape_top_alt.png") no-repeat center/contain;
  width:90px;height:24px;right:30px;top:-10px;bottom:auto;transform:rotate(5deg)
}

.intro-card{
  background:url("assets/decor/feature_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:34px 34px 28px;
}
.intro-card::before{
  content:"";position:absolute;left:18px;top:-10px;width:86px;height:24px;
  background:url("assets/decor/tape_top_alt.png") no-repeat center/contain;transform:rotate(-6deg);z-index:3;
}
.intro-card::after{
  content:"";position:absolute;right:18px;top:-10px;width:82px;height:24px;
  background:url("assets/decor/tape_left.png") no-repeat center/contain;transform:rotate(5deg);z-index:3;
}

.board{
  background:url("assets/decor/board_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:32px 34px 30px;
}
.board::before{
  background-image:url("assets/decor/tape_left.png");
  width:76px;height:22px;left:14px;top:-10px;
}
.board::after{
  content:"";position:absolute;right:16px;top:-10px;width:82px;height:22px;
  background:url("assets/decor/tape_right.png") no-repeat center/contain;transform:rotate(6deg);z-index:3;
}
.side-card{
  background:url("assets/decor/side_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:24px 24px 22px;
}
.side-card::before{
  background-image:url("assets/decor/tape_top_alt.png");
  width:70px;height:20px;left:12px;top:-9px;
}
.side-card::after{
  content:"";position:absolute;right:12px;top:-8px;width:64px;height:18px;background:url("assets/decor/tape_left.png") no-repeat center/contain;transform:rotate(5deg);z-index:3;
}
.notice{
  background:url("assets/decor/side_paper.png") no-repeat center/100% 100%;
  border:none;
  padding:24px;
}
.footer-strip.paper{
  background:url("assets/decor/footer_paper.png") no-repeat center/100% 100%;
  clip-path:none;
  padding:24px 28px 22px;
}
.footer-strip.paper::before,
.footer-strip.paper::after{display:none}

.sponsor-card.paper{
  background:url("assets/decor/sponsor_paper.png") no-repeat center/100% 100%;
  clip-path:none;
}
.sponsor-grid-real .sponsor-card::before{
  background:url("assets/decor/tape_top_wide.png") no-repeat center/contain;
}
.sponsor-grid-real .sponsor-card::after{
  background:url("assets/decor/tape_top_alt.png") no-repeat center/contain;
}

.photo{position:relative}
.photo::before{
  content:"";position:absolute;left:50%;top:-12px;transform:translateX(-50%) rotate(-4deg);width:72px;height:22px;background:url("assets/decor/tape_top_alt.png") no-repeat center/contain;z-index:3;
}

@media(max-width:560px){
  .site-header.paper-big{background:url("assets/decor/hero_paper.png") no-repeat center/100% 100%;clip-path:none;padding:34px 48px 48px}
  .feature .inner.paper{padding:30px 24px 26px}
  .board,.side-card,.intro-card{padding:24px 20px 22px}
}


/* v2 refinements: tighter logo and more varied tape */
.site-header .main-logo{mix-blend-mode:multiply}
@media(max-width:560px){.site-header .main-logo{width:88%;margin-left:18px}}

/* more varied tape for archive/menu items */
.archive-stack .archive-card:nth-of-type(1)::before{background-image:url("assets/decor/tape_var8.png");width:62px;height:24px;left:14px;top:-8px;transform:rotate(-7deg)}
.archive-stack .archive-card:nth-of-type(1)::after{background:url("assets/decor/tape_var9.png") no-repeat center/contain;width:54px;height:22px;right:18px;top:-7px;transform:rotate(5deg)}
.archive-stack .archive-card:nth-of-type(2)::before{background-image:url("assets/decor/tape_var6.png");width:72px;height:22px;left:12px;top:-10px;transform:rotate(-4deg)}
.archive-stack .archive-card:nth-of-type(2)::after{background:url("assets/decor/tape_var7.png") no-repeat center/contain;width:58px;height:20px;right:12px;top:-8px;transform:rotate(8deg)}
.archive-stack .archive-card:nth-of-type(3)::before{background-image:url("assets/decor/tape_var1.png");width:58px;height:24px;left:18px;top:-9px;transform:rotate(-9deg)}
.archive-stack .archive-card:nth-of-type(3)::after{background:url("assets/decor/tape_var2.png") no-repeat center/contain;width:60px;height:21px;right:18px;top:-6px;transform:rotate(2deg)}
.archive-stack .archive-card:nth-of-type(4)::before{background-image:url("assets/decor/tape_var3.png");width:70px;height:24px;left:14px;top:-9px;transform:rotate(-5deg)}
.archive-stack .archive-card:nth-of-type(4)::after{background:url("assets/decor/tape_var4.png") no-repeat center/contain;width:70px;height:24px;right:10px;top:-10px;transform:rotate(7deg)}
.archive-stack .archive-card:nth-of-type(5)::before{background-image:url("assets/decor/tape_var5.png");width:66px;height:21px;left:10px;top:-8px;transform:rotate(-6deg)}
.archive-stack .archive-card:nth-of-type(5)::after{background:url("assets/decor/tape_top_alt.png") no-repeat center/contain;width:58px;height:20px;right:16px;top:-8px;transform:rotate(5deg)}
.archive-stack .archive-card:nth-of-type(6)::before{background-image:url("assets/decor/tape_left.png");width:62px;height:22px;left:16px;top:-10px;transform:rotate(-8deg)}
.archive-stack .archive-card:nth-of-type(6)::after{background:url("assets/decor/tape_var1.png") no-repeat center/contain;width:52px;height:21px;right:14px;top:-7px;transform:rotate(6deg)}
.archive-stack .archive-card:nth-of-type(7)::before{background-image:url("assets/decor/tape_var2.png");width:64px;height:22px;left:11px;top:-7px;transform:rotate(-7deg)}
.archive-stack .archive-card:nth-of-type(7)::after{background:url("assets/decor/tape_var6.png") no-repeat center/contain;width:74px;height:20px;right:12px;top:-9px;transform:rotate(3deg)}

/* tabs and labels also get more variation */
.tabs .tab:nth-child(1)::before{background-image:url("assets/decor/tape_var8.png")}
.tabs .tab:nth-child(2)::before{background-image:url("assets/decor/tape_var3.png")}
.tabs .tab:nth-child(3)::before{background-image:url("assets/decor/tape_var7.png")}
.tabs .tab:nth-child(4)::before{background-image:url("assets/decor/tape_var2.png")}
.tabs .tab:nth-child(5)::before{background-image:url("assets/decor/tape_var5.png")}
.tabs .tab:nth-child(6)::before{background-image:url("assets/decor/tape_var1.png")}

.strip::before{content:"";position:absolute;left:12px;top:-8px;width:62px;height:18px;background:url("assets/decor/tape_var4.png") no-repeat center/contain;transform:rotate(-4deg);z-index:3}
.strip{position:relative;padding-top:16px}

/* sponsor cards: distinct tape pieces */
.sponsor-grid-real .sponsor-card:nth-child(1)::before{background:url("assets/decor/tape_var6.png") no-repeat center/contain}
.sponsor-grid-real .sponsor-card:nth-child(1)::after{background:url("assets/decor/tape_var9.png") no-repeat center/contain}
.sponsor-grid-real .sponsor-card:nth-child(2)::before{background:url("assets/decor/tape_var4.png") no-repeat center/contain}
.sponsor-grid-real .sponsor-card:nth-child(2)::after{background:url("assets/decor/tape_var1.png") no-repeat center/contain}


/* v3 fixes: true transparent logo, cleaner subpage layout, no sidebar archive wall */
.site-header .main-logo{
  width:min(560px,64%);
  height:auto;
  margin:2px 0 16px 58px;
  background:transparent !important;
  mix-blend-mode:normal;
  display:block;
}
.site-header.paper-big{
  padding-top:30px;
  padding-bottom:46px;
}
@media(max-width:700px){
  .site-header .main-logo{
    width:88%;
    margin-left:12px;
  }
}

/* subpages: make the main content the star; archive becomes bottom collage */
.content-grid{
  grid-template-columns:minmax(0,1fr) 300px;
  gap:30px;
}
.content-grid aside .archive-stack:empty{
  display:none;
}
.content-grid aside{
  align-self:start;
}
.subpage-archive{
  margin:28px 0 10px;
}
.archive-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
  align-items:start;
}
.archive-mini-grid .archive-card{
  margin:0;
  padding:16px 46px 14px 18px;
  min-height:94px;
}
.archive-mini-grid .archive-card strong{
  font-size:16px;
}
.archive-mini-grid .archive-card span,
.archive-mini-grid .archive-card small{
  font-size:12px;
}
.archive-mini-grid .archive-card b{
  top:30px;
  right:14px;
  font-size:22px;
}

/* if a gallery has only one or two photos, don't stretch it into a weird empty panel */
.gallery{
  align-items:start;
}
.gallery figure:only-child{
  max-width:520px;
}
.gallery figure:nth-last-child(2):first-child,
.gallery figure:nth-last-child(2):first-child ~ figure{
  max-width:320px;
}

@media(max-width:950px){
  .content-grid{
    grid-template-columns:1fr;
  }
  .archive-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .archive-mini-grid{
    grid-template-columns:1fr;
  }
}


/* v4 header corrections: tighter hero paper and tape sticks out beyond paper */
.site-header.paper-big{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  padding:24px 42px 36px;
  overflow:visible;
}
.site-header .main-logo{
  width:min(500px,72%);
  margin:0 0 14px 70px;
  background:transparent !important;
}
.site-header .tagline{
  margin-left:70px;
  max-width:820px;
}
.site-header.paper-big::before{
  left:22px;
  top:-17px;
  width:82px;
  height:36px;
  z-index:6;
}
.site-header.paper-big::after{
  right:22px;
  bottom:-15px;
  width:82px;
  height:34px;
  z-index:6;
}
@media(max-width:700px){
  .site-header.paper-big{padding:24px 20px 34px;}
  .site-header .main-logo{width:86%;margin-left:12px;}
  .site-header .tagline{margin-left:12px;}
}

/* v4 gallery correction: single-photo pages should not look empty */
.gallery:has(figure:only-child){
  grid-template-columns:minmax(260px,520px);
}
.gallery figure:only-child img{
  height:auto;
  max-height:none;
}


/* v5 refinements */
.site-header.paper-big{
  width:min(1040px, 96vw);
  margin-left:auto;
  margin-right:auto;
  padding:18px 46px 32px !important;
  background-size:100% 100%;
}
.site-header .main-logo{
  width:min(500px, 58%) !important;
  margin:0 0 10px 70px !important;
}
.site-header .tagline{
  margin-left:70px !important;
  max-width:860px;
  font-size:clamp(15px,1.8vw,20px);
}
.site-header.paper-big::before{
  left:-18px !important;
  top:-22px !important;
}
.site-header.paper-big::after{
  right:-20px !important;
  bottom:-14px !important;
}

/* archive-page image clickability */
.gallery-link{
  display:block;
  cursor:zoom-in;
}
.gallery-link img{
  transition:transform .15s ease, filter .15s ease;
}
.gallery-link:hover img{
  transform:scale(1.015);
  filter:contrast(1.08);
}
.gallery figcaption::after{
  content:"  ↗";
  font-weight:bold;
}

@media(max-width:700px){
  .site-header.paper-big{
    padding:18px 22px 28px !important;
  }
  .site-header .main-logo{
    width:86% !important;
    margin-left:12px !important;
  }
  .site-header .tagline{
    margin-left:12px !important;
  }
}


/* v6 logo swap: use user-supplied tightly cropped transparent logo */
.site-header .main-logo{
  width:min(455px, 53%) !important;
  max-width:455px !important;
  margin:0 0 8px 72px !important;
  display:block;
  background:transparent !important;
}
.site-header .tagline{
  margin-left:72px !important;
  max-width:900px;
}
@media(max-width:700px){
  .site-header .main-logo{
    width:84% !important;
    max-width:none !important;
    margin-left:10px !important;
  }
  .site-header .tagline{margin-left:10px !important;}
}


/* v7: compact header paper, not a full-width banner */
.site-header.paper-big{
  width:min(880px, calc(100vw - 44px)) !important;
  max-width:880px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  padding:24px 42px 32px !important;
  display:block;
  background-size:100% 100%;
}
.site-header .main-logo{
  width:min(470px, 70%) !important;
  max-width:470px !important;
  margin:0 0 12px 48px !important;
}
.site-header .tagline{
  margin-left:48px !important;
  max-width:760px !important;
  font-size:clamp(15px,1.7vw,19px) !important;
}
.site-header.paper-big::before{
  left:-20px !important;
  top:-18px !important;
}
.site-header.paper-big::after{
  right:-18px !important;
  bottom:-14px !important;
}
@media(max-width:700px){
  .site-header.paper-big{
    width:calc(100vw - 24px) !important;
    padding:22px 18px 28px !important;
  }
  .site-header .main-logo{
    width:88% !important;
    max-width:none !important;
    margin-left:8px !important;
  }
  .site-header .tagline{
    margin-left:8px !important;
  }
}


/* v8: reduce bottom whitespace in header paper */
.site-header.paper-big{
  width:min(840px, calc(100vw - 44px)) !important;
  max-width:840px !important;
  padding:18px 40px 14px !important;
  margin-bottom:18px !important;
}
.site-header .main-logo{
  width:min(455px, 68%) !important;
  max-width:455px !important;
  margin:0 0 10px 44px !important;
}
.site-header .tagline{
  margin-left:44px !important;
  max-width:720px !important;
}
@media(max-width:700px){
  .site-header.paper-big{
    width:calc(100vw - 24px) !important;
    padding:18px 18px 12px !important;
  }
  .site-header .main-logo{
    width:88% !important;
    max-width:none !important;
    margin-left:8px !important;
  }
  .site-header .tagline{
    margin-left:8px !important;
  }
}


/* v9 compact: even less bottom padding in the hero */
.site-header.paper-big{
  padding-bottom: 2px !important;
  margin-bottom: 14px !important;
}
.site-header .tagline{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.32 !important;
}
.site-header .main-logo{
  margin-bottom: 6px !important;
}
@media(max-width:700px){
  .site-header.paper-big{
    padding-bottom: 4px !important;
  }
}


/* v10: subpage titles use the hand-drawn monocon logo instead of marker text */
.intro-card h1.monocon-title{
  display:flex;
  align-items:center;
  gap:22px;
  margin:0 0 12px;
  padding:0 0 12px;
  border-bottom:5px solid #111;
  font-family:var(--font-marker);
  line-height:1;
}
.monocon-title img{
  display:block;
  width:min(520px, 68%);
  max-width:520px;
  height:auto;
  background:transparent;
}
.monocon-title span{
  display:inline-block;
  font-family:var(--font-marker);
  font-size:clamp(58px, 8vw, 118px);
  font-weight:400;
  line-height:.85;
  transform:rotate(-2deg);
  white-space:nowrap;
}
@media(max-width:760px){
  .intro-card h1.monocon-title{
    gap:12px;
    flex-wrap:wrap;
  }
  .monocon-title img{
    width:min(430px, 78%);
  }
  .monocon-title span{
    font-size:clamp(46px, 15vw, 86px);
  }
}


/* about page */
.about-page article p{
  font-size:18px;
  max-width:900px;
}
.about-title{
  display:flex;
  align-items:flex-end;
  gap:22px;
  margin:0 0 14px;
  padding:0 0 14px;
  border-bottom:5px solid #111;
}
.about-title img{
  display:block;
  width:min(430px, 62%);
  height:auto;
}
.about-title span{
  font-family:var(--font-marker);
  font-size:clamp(48px, 7vw, 92px);
  line-height:.8;
  transform:rotate(-2deg);
}
.about-hero .meta{
  margin-top:4px;
}
@media(max-width:760px){
  .about-title{
    flex-wrap:wrap;
    gap:10px;
  }
  .about-title img{
    width:min(390px, 86%);
  }
}


/* balanced board gutter fix:
   keeps text clear of the black perforation holes without pushing it too far right */
.board{
  padding-left: clamp(88px, 7vw, 108px) !important;
}

@media(max-width:900px){
  .board{
    padding-left: 82px !important;
  }
}

@media(max-width:650px){
  .board{
    padding-left: 64px !important;
  }
}

@media(max-width:420px){
  .board{
    padding-left: 48px !important;
  }
}


/* final star handling:
   hide the old text doodle star, size the felt-image star properly */
.doodle-star{
  display:none !important;
}

.felt-star-inline{
  display:inline-block !important;
  width:clamp(32px, 3.2vw, 46px) !important;
  max-width:46px !important;
  height:auto !important;
  margin-left:.45em !important;
  vertical-align:baseline !important;
  transform:translateY(.42em) rotate(-3deg) !important;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.32));
  pointer-events:none;
}

/* enough room for the star hanging below the text line */
.site-header .tagline{
  padding-bottom:.45em !important;
}

@media(max-width:560px){
  .felt-star-inline{
    width:32px !important;
    max-width:32px !important;
    transform:translateY(.35em) rotate(-3deg) !important;
  }
}
