@font-face {
  font-family: "MOM Bookman";
  src: url("fonts/URWBookman-Demi.otf") format("opentype");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}

@font-face {
  font-family: "MOM Gothic";
  src: url("fonts/URWGothic-Book.otf") format("opentype");
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
}

@font-face {
  font-family: "MOM Gothic";
  src: url("fonts/URWGothic-Demi.otf") format("opentype");
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
}

:root {
  --ink: #171321;
  --paper: #fffdf8;
  --yellow: #ffcb24;
  --pink: #ef2f72;
  --violet: #5924a5;
  --soft-yellow: #fff1b8;
  --soft-pink: #ffe6ef;
  --soft-violet: #eee5ff;
  --line: rgba(23, 19, 33, .16);
  --max: 1240px;
  --header-height: 82px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "MOM Gothic", "Trebuchet MS", Arial, sans-serif;
  font-size: 16px;
}
a { color: inherit; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 18px max(28px, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 248, .94);
  box-shadow: 0 8px 30px rgba(23, 19, 33, .06);
  backdrop-filter: blur(18px);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .19em;
}
.brand-mark {
  width: 52px;
  height: 40px;
  display: block;
  object-fit: contain;
}
.site-header nav { display: flex; gap: 28px; flex-wrap: wrap; }
.site-header nav a {
  text-decoration: none;
  font-size: .9rem;
  font-weight: 700;
}
.site-header nav a::after {
  content: "";
  display: block;
  width: 0;
  height: 3px;
  margin-top: 5px;
  background: var(--pink);
  transition: width .18s ease;
}
.site-header nav a:hover::after, .site-header nav a:focus-visible::after { width: 100%; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--pink); }
.nav-dropdown { position: relative; }
.nav-dropdown > summary {
  list-style: none;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 700;
}
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary span { margin-left: 3px; font-size: .9em; }
.nav-dropdown[open] > summary, .nav-dropdown > summary:hover, .nav-dropdown > summary:focus-visible { color: var(--pink); }
.nav-submenu {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  min-width: 245px;
  display: grid;
  gap: 2px;
  padding: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, .98);
  box-shadow: 0 18px 42px rgba(23, 19, 33, .14);
}
.site-header nav .nav-submenu a { padding: 9px 11px; font-size: .78rem; line-height: 1.25; }
.site-header nav .nav-submenu a::after { display: none; }
.site-header nav .nav-submenu a:hover, .site-header nav .nav-submenu a:focus-visible { background: var(--soft-yellow); }
.menu-button { display: none; }
.hero {
  position: relative;
  min-height: 590px;
  display: block;
  background: url("../media/archive-hero-v2.png") 66% center / cover no-repeat;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 42px;
  background: no-repeat center bottom / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath fill='%23171321' d='M0 39C195 8 340 7 534 34c226 32 364 34 543 3 145-25 254-24 363-8v35H0Z'/%3E%3C/svg%3E");
}
.hero-copy {
  position: relative;
  z-index: 2;
  width: 58%;
  min-height: 590px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 7vw 78px max(28px, calc((100vw - var(--max)) / 2));
}
.hero-text-panel {
  max-width: 650px;
  padding: 32px 38px 36px;
  background: rgba(255, 203, 36, .84);
  border: 1px solid rgba(255, 255, 255, .5);
  box-shadow: 0 18px 50px rgba(20, 16, 30, .12);
  backdrop-filter: blur(3px);
}
.hero h1 {
  max-width: 720px;
  margin: 12px 0 22px;
  font-size: clamp(3.6rem, 5.4vw, 5.6rem);
  line-height: .92;
  letter-spacing: -.065em;
}
h1, h2, h3, .year-card strong, .impact-strip strong {
  font-family: "MOM Bookman", Georgia, serif;
}
.eyebrow {
  margin: 0;
  color: var(--violet);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
}
.intro {
  max-width: 540px;
  font-size: clamp(1.08rem, 1.55vw, 1.35rem);
  line-height: 1.5;
}
.primary-button {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 16px 22px;
  border-radius: 4px;
  color: white;
  background: var(--pink);
  text-decoration: none;
  font-weight: 850;
}
.ghost-button {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 14px 20px;
  border: 2px solid var(--violet);
  border-radius: 4px;
  color: var(--violet);
  background: transparent;
  text-decoration: none;
  font-weight: 850;
}
.ghost-button:hover, .ghost-button:focus-visible { color: white; background: var(--violet); }
.hero-image {
  display: none;
}
.hero .primary-button { align-self: flex-start; background: var(--pink); }
.hero .primary-button:hover, .hero .primary-button:focus-visible { background: #cf1f5d; }
.home-about { max-width: 940px; margin-top: 66px; margin-bottom: 34px; }
.home-pillars { width: min(var(--max), calc(100% - 56px)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 auto; }
.home-pillars article { position: relative; min-height: 230px; padding: 34px; overflow: hidden; }
.home-pillars article::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: 20px;
  width: 155px;
  height: 52px;
  opacity: .22;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 70'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='5'%3E%3Cpath d='M0 18c28-21 55 21 83 0s55 21 83 0 54 21 82 0'/%3E%3Cpath d='M0 48c28-21 55 21 83 0s55 21 83 0 54 21 82 0'/%3E%3C/g%3E%3C/svg%3E");
}
.home-pillars article:nth-child(3)::after { filter: invert(1); opacity: .16; }
.home-pillars article:nth-child(1) { color: white; background: var(--violet); }
.home-pillars article:nth-child(2) { color: white; background: var(--pink); }
.home-pillars article:nth-child(3) { color: var(--ink); background: var(--yellow); }
.home-pillars span { display: block; margin-bottom: 46px; font-size: .78rem; font-weight: 900; letter-spacing: .14em; opacity: .8; }
.home-pillars h3 { margin: 0 0 10px; font-size: clamp(1.75rem, 3.2vw, 3rem); letter-spacing: -.05em; }
.home-pillars p { max-width: 290px; margin: 0; line-height: 1.55; }
.years {
  position: relative;
  width: min(var(--max), calc(100% - 56px));
  margin: 0 auto;
  padding: 96px 0 108px;
}
.years::before {
  content: "";
  position: absolute;
  right: 1%;
  top: 32px;
  width: min(240px, 25vw);
  height: 70px;
  opacity: .16;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 80'%3E%3Cg fill='none' stroke='%23ef2f72' stroke-width='4'%3E%3Cpath d='M0 18c32-24 64 24 96 0s64 24 96 0 64 24 96 0'/%3E%3Cpath d='M0 49c32-24 64 24 96 0s64 24 96 0 64 24 96 0'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  margin-bottom: 38px;
}
.section-heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 4.4rem);
  letter-spacing: -.05em;
}
.year-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.year-card {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: background .18s ease, transform .18s ease;
}
.year-card:nth-child(3n + 1) { box-shadow: inset 0 6px 0 var(--yellow); }
.year-card:nth-child(3n + 2) { box-shadow: inset 0 6px 0 var(--pink); }
.year-card:nth-child(3n) { box-shadow: inset 0 6px 0 var(--violet); }
.year-card span { font-size: .75rem; font-weight: 850; color: var(--violet); }
.year-card strong {
  margin-top: auto;
  font-size: clamp(2.25rem, 4vw, 4rem);
  letter-spacing: -.06em;
}
.year-card em { margin-top: 8px; font-size: .86rem; font-style: normal; opacity: .62; }
.year-card:hover, .year-card:focus-visible { background: #fff3c9; transform: translateY(-5px); }
.year-card.accent { color: white; background: var(--violet); }
.year-card.accent { box-shadow: inset 0 6px 0 var(--yellow); }
.year-card.accent span { color: var(--yellow); }
footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 30px max(28px, calc((100vw - var(--max)) / 2));
  color: white;
  background: var(--ink);
  font-size: .82rem;
}
.footer-social { display: flex; justify-content: center; gap: 20px; margin-left: auto; }
.footer-social a, .footer-legal a { text-decoration: none; }
.footer-social a:hover, .footer-social a:focus-visible { color: var(--yellow); }

.impact-strip {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  color: white;
  background: var(--ink);
}
.impact-strip::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: -35px;
  height: 36px;
  background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 52' preserveAspectRatio='none'%3E%3Cpath fill='%23171321' d='M0 0h1440v17c-178 30-323 27-507 2-211-29-362-24-537 6C234 53 108 47 0 32Z'/%3E%3C/svg%3E");
  pointer-events: none;
}
.impact-strip div {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 30px max(28px, calc((100vw - var(--max)) / 6));
  border-right: 1px solid rgba(255,255,255,.18);
}
.impact-strip strong { color: var(--yellow); font-size: 2.7rem; letter-spacing: -.05em; }
.impact-strip span { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.section-heading > p { max-width: 420px; margin: 0; line-height: 1.6; }
.year-hero {
  position: relative;
  min-height: 540px;
  display: grid;
  grid-template-columns: 1fr;
  color: white;
  background: var(--yellow);
  overflow: hidden;
}
.year-hero::after, .page-intro::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 36px;
  background: no-repeat center bottom / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23fffdf8' d='M0 31c181 27 326 21 501-5 235-35 388-27 563 4 151 26 259 25 376 4v24H0Z'/%3E%3C/svg%3E");
  pointer-events: none;
}
.year-hero-image { min-height: 540px; grid-area: 1 / 1; background-position: center; background-size: cover; }
.year-hero-copy {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(480px, calc(100% - 56px));
  margin-left: max(28px, calc((100vw - var(--max)) / 2));
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid rgba(23,19,33,.1);
  background: rgba(89,36,165,.94);
  box-shadow: 0 20px 55px rgba(23,19,33,.09);
  backdrop-filter: blur(8px);
}
.year-hero-copy .eyebrow { color: var(--yellow); }
.year-hero h1 { margin: 7px 0 16px; font-size: clamp(5.2rem, 9vw, 8.5rem); line-height: .82; letter-spacing: -.085em; }
.year-hero-copy > p:not(.eyebrow) { max-width: 360px; line-height: 1.5; }
.mini-stats { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.mini-stats span { padding-right: 18px; border-right: 1px solid rgba(255,255,255,.24); font-size: .78rem; text-transform: uppercase; }
.mini-stats strong { display: block; color: var(--yellow); font-size: 1.6rem; }
.year-switcher {
  position: sticky;
  top: var(--header-height);
  z-index: 80;
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,253,248,.94);
  backdrop-filter: blur(14px);
}
.year-switcher a { padding: 9px 16px; border-radius: 999px; text-decoration: none; font-size: .82rem; font-weight: 850; }
.year-switcher a:hover, .year-switcher a.active { color: white; background: var(--violet); }
.content-section, .directory {
  width: min(var(--max), calc(100% - 56px));
  margin: 0 auto;
  padding: 92px 0;
}
.content-section + .content-section { border-top: 1px solid var(--line); }
.content-section > h2, .sponsor-section > h2 { margin: 10px 0 34px; font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.05em; }
.talk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.talk-card { 
  min-height: 200px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  background: white;
}
.talk-card h3 { margin: 30px 0 12px; font-size: 1.42rem; line-height: 1.12; letter-spacing: -.035em; }
.talk-card p { margin: 0; color: rgba(23,19,33,.65); line-height: 1.5; }
.talk-card .talk-description { margin: 12px 0 0; font-size: .9rem; }
.talk-details { margin-top: auto; padding-top: 18px; }
.talk-details summary, .project-list summary {
  color: var(--violet);
  font-size: .88rem;
  font-weight: 850;
  cursor: pointer;
}
.talk-details[open] summary { margin-bottom: 12px; }
.talk-detail-copy { padding-top: 1px; }
.stage-label { display: inline-block; margin-bottom: 8px; color: var(--violet); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.schedule-day + .schedule-day { margin-top: 58px; padding-top: 44px; border-top: 1px solid var(--line); }
.schedule-day > h3 { margin: 0 0 16px; color: var(--violet); font-size: 1.15rem; letter-spacing: -.02em; }
.talk-meta { display: flex; gap: 8px; color: var(--violet); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.talk-meta span + span::before { content: "|"; margin-right: 8px; }
.watch-button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 18px;
  padding: 18px 0 0px;
  border: 0;
  border-top: 1px solid var(--line);
  color: var(--pink);
  background: transparent;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.people-section {
  position: relative;
  margin-top: 36px;
  margin-bottom: 36px;
  background: var(--soft-violet);
  box-shadow: 0 0 0 100vmax var(--soft-violet);
  clip-path: inset(-36px -100vmax);
}
.people-section::before, .people-section::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100vw;
  height: 37px;
  transform: translateX(-50%);
  background: no-repeat center / 100% 100%;
  pointer-events: none;
}
.people-section::before {
  top: -36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23eee5ff' d='M0 38c197-36 335-37 531-9 222 32 375 29 548-4 133-25 244-23 361-7v40H0Z'/%3E%3C/svg%3E");
}
.people-section::after {
  bottom: -36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23eee5ff' d='M0 0h1440v16c-163 31-301 27-474 1-206-31-356-28-535 3C258 50 126 49 0 31Z'/%3E%3C/svg%3E");
}
.recap-link { display: inline-block; margin-top: 24px; }
.recap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.recap-card { padding: 30px; border: 1px solid var(--line); background: white; }
.recap-card > h2 { margin: 8px 0 12px; font-size: 2rem; letter-spacing: -.045em; }
.recap-card > p:not(.eyebrow) { max-width: 48rem; line-height: 1.55; }
.recap-visuals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.recap-visuals figure { margin: 0; }
.recap-visuals img { display: block; width: 100%; border: 1px solid var(--line); }
.recap-visuals figcaption { margin-top: 8px; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.recap-visual-button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.recap-visual-button img { transition: transform .18s ease, box-shadow .18s ease; }
.recap-visual-button:hover img,
.recap-visual-button:focus-visible img { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(23,19,33,.14); }
.recap-lead > h2 {
  margin: 8px 0 18px;
  font-size: clamp(3.4rem, 7vw, 6.5rem);
  line-height: .9;
  letter-spacing: -.065em;
}
.recap-lead > p:not(.eyebrow) { max-width: 800px; font-size: 1.14rem; line-height: 1.7; }
.recap-story { max-width: var(--max); }
.recap-story article { border-top: 1px solid var(--line); padding: 24px 0; }
.recap-story article:first-child { border-top: 0; padding-top: 0; }
.recap-story article h3 { margin: 0 0 10px; font-size: 1.55rem; letter-spacing: -.025em; }
.recap-story article p { max-width: none; margin: 0; line-height: 1.7; }
.recap-story article p + p { margin-top: 12px; }
.recap-inline-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.recap-inline-gallery-1 { grid-template-columns: 1fr; }
.recap-inline-gallery-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.recap-inline-gallery figure { min-width: 0; margin: 0; }
.recap-inline-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--line);
}
.recap-inline-gallery figcaption {
  margin-top: 8px;
  color: rgba(23, 19, 33, .64);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.recap-media { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
.recap-media .primary-button { margin-top: 0; }
body[data-route^="recaps/"] .content-section { padding-top: 64px; padding-bottom: 64px; }
.recap-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 0;
  row-gap: 24px;
  max-width: 1100px;
  margin: 34px auto 28px;
}
.recap-stat-grid span {
  position: relative;
  min-width: 0;
  min-height: 158px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0 30px 48px 0;
  border: 0;
  color: var(--ink);
  background: transparent;
}
.recap-stat-grid span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 27px;
  border-top: 1px solid var(--line);
}
.recap-stat-grid span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 11px;
  height: 32px;
  background: center / 100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%235924a5' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.recap-stat-grid span:nth-child(n+4)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ef2f72' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.recap-stat-grid span:nth-child(n+7)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ffcf26' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.recap-stat-grid strong {
  display: block;
  font-family: "MOM Bookman", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.06em;
  font-variant-numeric: lining-nums tabular-nums;
}
.recap-stat-grid small {
  display: block;
  margin-top: 12px;
  color: rgba(23, 19, 33, .64);
  font-family: "MOM Gothic", "Trebuchet MS", Arial, sans-serif;
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.recap-stat-empty strong { opacity: 0; }
.recap-resources { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.recap-resource-intro h2 { margin: 8px 0 18px; font-size: clamp(2.3rem, 4vw, 4.3rem); line-height: .98; letter-spacing: -.055em; }
.recap-resource-intro > p:last-child { max-width: 500px; line-height: 1.7; }
.recap-resource-grid { display: grid; gap: 16px; }
.recap-resource-grid article { padding: 30px; border: 1px solid var(--line); background: white; }
.recap-resource-grid article:first-child { background: var(--yellow); }
.recap-resource-grid h3 { margin: 9px 0 12px; font-size: 2rem; letter-spacing: -.04em; }
.recap-resource-grid p:not(.eyebrow) { max-width: 600px; line-height: 1.6; }
.closing-link-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 20px; background: var(--line); }
.closing-link-list a { display: flex; justify-content: space-between; gap: 16px; padding: 14px; background: var(--paper); text-decoration: none; font-size: .86rem; font-weight: 800; }
.closing-link-list span { color: var(--pink); }
.about-intro { color: white; background: var(--violet); }
.about-intro .eyebrow { color: var(--yellow); }
.about-overview, .about-cta { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; }
.about-overview h2, .about-cta h2 { margin: 8px 0; font-size: clamp(2.3rem, 4vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.about-prose p, .about-cta p { max-width: 710px; margin-top: 0; line-height: 1.72; }
.about-sections { width: min(var(--max), calc(100% - 56px)); margin: 0 auto; }
.about-sections article { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 70px; align-items: center; padding: 76px 0; border-top: 0; }
.about-sections article:not(.networking-section):not(.artist-track)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: center / 100% 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 16' preserveAspectRatio='none'%3E%3Cpath d='M0 9 C90 1 140 4 220 11 C300 18 360 13 430 6 C500 0 560 3 630 10 C700 16 760 13 830 7 C900 2 950 3 1000 8' fill='none' stroke='%23f7cf3d' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
}
.about-sections .networking-section + article::before,
.about-sections .artist-track + article::before { display: none; }
.about-sections h2 { margin: 8px 0 18px; font-size: clamp(2.25rem, 4vw, 4.1rem); line-height: .98; letter-spacing: -.055em; }
.about-section-copy p:not(.eyebrow), .deliverables p { max-width: 660px; line-height: 1.7; }
.about-sections figure { margin: 0; }
.about-sections figure img { display: block; width: 100%; background: #f6f0ff; }
.about-sections figcaption { margin-top: 8px; color: rgba(23,19,33,.62); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.about-photo-single img { aspect-ratio: 4 / 3; object-fit: cover; }
.about-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.about-actions .primary-button, .about-actions .ghost-button { margin-top: 0; }
.networking-section { color: white; background: var(--ink); box-shadow: 0 0 0 100vmax var(--ink); clip-path: inset(0 -100vmax); }
.networking-section .eyebrow { color: var(--yellow); }
.networking-section figcaption { color: rgba(255,255,255,.7); }
.networking-photo { margin: 0 12px 12px 0 !important; }
.networking-photo img { border: 3px solid var(--yellow); box-shadow: 12px 12px 0 var(--yellow); }
.networking-offerings { grid-column: 1 / -1; }
.artist-project-button {
  display: inline-flex;
  padding: 14px 20px;
  border: 2px solid var(--yellow);
  border-radius: 4px;
  color: var(--yellow);
  text-decoration: none;
  font-weight: 850;
}
.artist-project-button:hover, .artist-project-button:focus-visible { color: var(--ink); background: var(--yellow); }
.about-location-list { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 24px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.about-location-list span { padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 1.1rem; font-weight: 850; }
.artist-track { color: white; background: var(--ink); box-shadow: 0 0 0 100vmax var(--ink); clip-path: inset(0 -100vmax); }
.artist-track .eyebrow { color: var(--yellow); }
.recap-artist-projects { color: white; background: var(--ink); box-shadow: 0 0 0 100vmax var(--ink); clip-path: inset(0 -100vmax); }
.recap-artist-projects .eyebrow { color: var(--yellow); }
.artist-projects-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.artist-projects-heading h2 { max-width: 720px; margin: 7px 0 0; color: white; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.045em; }
.artist-projects-heading > p { max-width: 390px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.55; }
.deliverables { padding: 32px; color: var(--ink); background: var(--yellow); }
.deliverables h3 { margin: 0 0 16px; font-size: 1.5rem; }
.deliverables ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; padding-left: 20px; }
.deliverables li { font-weight: 800; }
.project-year { padding: 56px 0; border-top: 1px solid var(--line); }
.project-year:first-child { padding-top: 0; border-top: 0; }
.project-year > div:first-child { display: flex; align-items: baseline; gap: 16px; margin-bottom: 22px; }
.project-year > div:first-child span { color: var(--violet); font-size: .85rem; font-weight: 900; }
.project-year > div:first-child h2 { margin: 0; font-size: 2.2rem; letter-spacing: -.045em; }
.project-list { margin-top: 20px; padding: 20px; border: 1px solid var(--line); background: #fffdf8; }
.project-list[open] summary { margin-bottom: 16px; }
.winner-project-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.winner-project-list p { margin: 0; padding: 18px; border: 1px solid var(--line); color: var(--ink); background: #fffdf8; }
.winner-project-list strong, .winner-project-list span { display: block; }
.winner-project-list span { margin-top: 7px; font-size: .85rem; line-height: 1.45; opacity: .82; }
.project-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.project-list .project-archive-grid { margin-top: 0; }
.project-record { padding: 22px; border: 1px solid var(--line); background: #fffdf8; }
.project-record h3 { margin: 0 0 9px; font-size: 1.05rem; line-height: 1.2; }
.project-record p { margin: 0; color: rgba(23,19,33,.66); font-size: .88rem; line-height: 1.5; }
.project-record .winner-members {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.project-note { margin: 20px 0 0; color: rgba(23,19,33,.68); }
.project-playlist-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.project-playlist-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 14px 18px;
  border-radius: 4px;
  color: white;
  background: var(--pink);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 850;
}
.project-playlist-link:hover, .project-playlist-link:focus-visible { background: #cf1f5d; }
.project-playlist-link.final-round { background: var(--violet); }
.project-playlist-link.final-round:hover, .project-playlist-link.final-round:focus-visible { background: #43238e; }
.winner-project-list .winner-members {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.25);
  opacity: .9;
}
.people-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.person-card { overflow: hidden; border: 1px solid var(--line); background: white; }
.person-card > div { position: relative; min-height: 150px; padding: 19px; }
.portrait { width: 100%; aspect-ratio: 1; display: grid; place-items: center; object-fit: cover; background: #e7dff5; font-size: 4rem; font-weight: 900; }
.person-card h3 { margin: 10px 0 5px; font-size: 1.18rem; line-height: 1.1; }
.person-card p { margin: 0; }
.person-card .person-organisation { font-weight: 750; line-height: 1.35; }
.person-card .person-title { margin-top: 6px; color: rgba(23,19,33,.62); font-size: .88rem; line-height: 1.4; }
.person-bio { margin-top: 14px; color: rgba(23,19,33,.68); font-size: .88rem; line-height: 1.5; }
.person-bio summary { color: var(--violet); font-weight: 800; cursor: pointer; }
.person-bio p { margin-top: 10px; font-weight: 400; }
.person-card small { display: block; margin-top: 6px; color: rgba(23,19,33,.62); line-height: 1.35; }
.role { color: var(--pink); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.year-pill { position: absolute; right: 14px; top: 14px; padding: 5px 8px; border-radius: 999px; color: white; background: var(--violet); font-size: .65rem; font-weight: 900; }
.text-link { color: var(--pink); font-weight: 850; text-decoration: none; }
.sponsor-grid { display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: 30px; }
.sponsor-grid a { min-height: 100px; display: grid; place-items: center; padding: 18px; border: 1px solid var(--line); background: white; }
.sponsor-grid img { max-width: 100%; max-height: 70px; }
.sponsor-grid .sponsor-entry { min-height: 100px; display: grid; place-items: center; padding: 18px; border: 1px solid var(--line); background: white; }
.sponsor-name { text-align: center; font-weight: 850; }
.sponsor-section > p:not(.eyebrow) { max-width: 720px; line-height: 1.65; }
.winner-section { padding-top: 70px; }
.winner-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 14px; margin-top: 28px; }
.winner-grid article { padding: 26px; border: 1px solid var(--line); background: white; }
.winner-grid article.winner { color: white; background: var(--violet); }
.winner-grid span { color: var(--pink); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.winner-grid .winner span { color: var(--yellow); }
.winner-grid h2, .winner-grid h3 { margin: 12px 0; font-size: 1.8rem; letter-spacing: -.04em; }
.winner-grid p { color: inherit; line-height: 1.5; }
.winner-grid .winner-description { font-size: 1rem; opacity: .9; }
.winner-grid .winner-members { margin-top: 22px; font-size: .82rem; opacity: .66; }
.home-founder { width: min(var(--max), calc(100% - 56px)); position: relative; display: grid; grid-template-columns: minmax(280px, .8fr) 1.2fr; margin: 80px auto 112px; color: var(--ink); background: var(--soft-yellow); }
.home-founder::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -34px;
  height: 35px;
  background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1240 44' preserveAspectRatio='none'%3E%3Cpath fill='%23fff1b8' d='M0 0h1240v9c-168 35-321 25-489 2-199-28-372-1-509 17C151 40 70 39 0 27Z'/%3E%3C/svg%3E");
}
.home-founder-image img { width: 100%; height: 100%; min-height: 460px; display: block; object-fit: cover; object-position: 90% 50%}
.home-founder-copy { align-self: center; padding: clamp(36px, 6vw, 76px); }
.home-founder-copy .eyebrow { color: var(--violet); }
.home-founder-copy h2 { margin: 9px 0 24px; font-size: clamp(2.5rem, 5vw, 5rem); line-height: .95; letter-spacing: -.055em; }
.home-founder-copy p:not(.eyebrow) { max-width: 650px; line-height: 1.7; }
.home-founder-copy .primary-button { margin-top: 16px; background: var(--violet); }
.home-founder-copy .primary-button:hover, .home-founder-copy .primary-button:focus-visible { background: #43177e; }
.winner-grid .winner-members strong { opacity: 1; }
.artist-project-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.24); border-left: 1px solid rgba(255,255,255,.24); }
.artist-project-item { min-width: 0; padding: 24px; border-right: 1px solid rgba(255,255,255,.24); border-bottom: 1px solid rgba(255,255,255,.24); color: white; background: transparent; }
.artist-project-item h4 { margin: 7px 0 18px; font-size: 1.25rem; line-height: 1.15; letter-spacing: -.025em; }
.artist-project-item h4 a { display: inline-flex; align-items: baseline; gap: 6px; color: inherit; text-decoration: none; }
.artist-project-item h4 a:hover, .artist-project-item h4 a:focus-visible { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.artist-project-link-marker { font-size: .72em; opacity: .72; }
.artist-project-year { margin: 0; color: var(--yellow); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.artist-project-name { margin: 0; color: rgba(255,255,255,.68); font-size: .86rem; font-weight: 850; line-height: 1.45; }
.artist-project-legend { max-width: 360px; display: flex; align-items: flex-start; gap: 9px; margin: 10px 0 0; color: rgba(23,19,33,.66); font-size: .8rem; font-weight: 750; line-height: 1.45; }
.artist-project-legend > span { width: 17px; height: 17px; flex: 0 0 17px; border: 1px solid rgba(239,47,114,.28); background: var(--soft-pink); }
.project-record.artist-project-highlight,
.winner-project-list p.artist-project-highlight,
.winner-grid article.artist-project-highlight {
  color: var(--ink);
  border-color: rgba(239,47,114,.3);
  background: var(--soft-pink);
}
.winner-grid article.artist-project-highlight > span { color: var(--pink); }
.project-record.artist-project-highlight p,
.winner-project-list p.artist-project-highlight span,
.winner-grid article.artist-project-highlight p { color: inherit; }
.recap-artist-playlist { margin: 24px 0 0; }
.recap-artist-playlist .primary-button { margin-top: 0; }
#behind-the-weekend { scroll-margin-top: calc(var(--header-height) + 24px); }
.page-intro {
  position: relative;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 75px max(28px, calc((100vw - var(--max)) / 2));
  background: var(--yellow);
}
.page-intro.purple { color: white; background: var(--violet); }
.page-intro.purple .eyebrow { color: var(--yellow); }
.page-intro h1 { max-width: 920px; margin: 12px 0 18px; font-size: clamp(3.4rem, 8vw, 7rem); line-height: .92; letter-spacing: -.065em; }
.page-intro > p:last-child { max-width: 720px; margin: 0; font-size: 1.15rem; line-height: 1.55; }
.filter-bar { display: flex; gap: 14px; margin-bottom: 14px; }
.filter-bar label { display: flex; flex-direction: column; gap: 7px; color: var(--violet); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.search-field { flex: 1; }
.filter-bar input, .filter-bar select {
  height: 54px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: white;
  font: inherit;
}
.select-field select { min-width: 170px; }
.result-count { margin: 22px 0; color: rgba(23,19,33,.62); font-size: .82rem; font-weight: 750; }
[hidden] { display: none !important; }
.project-year > div:first-child > span { color: var(--pink); font-weight: 900; }
.about-detail { max-width: 850px; }
.about-detail p { max-width: 760px; line-height: 1.7; }
dialog {
  width: min(560px, calc(100% - 34px));
  padding: 42px;
  border: 0;
  color: var(--ink);
  background: var(--paper);
  box-shadow: 0 28px 90px rgba(0,0,0,.35);
}
dialog::backdrop { background: rgba(23,19,33,.75); backdrop-filter: blur(4px); }
dialog h2 { margin: 10px 0; font-size: 2.5rem; line-height: 1; letter-spacing: -.05em; }
.dialog-close { position: absolute; right: 18px; top: 13px; border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
#access-form { display: grid; gap: 12px; margin-top: 28px; }
#access-form > label:not(.consent) { font-weight: 800; }
#access-form input[type="email"] { height: 54px; padding: 0 14px; border: 1px solid var(--line); font: inherit; }
.consent { display: flex; gap: 9px; align-items: flex-start; margin: 5px 0; font-size: .82rem; line-height: 1.4; }
.form-note { color: rgba(23,19,33,.55); font-size: .75rem; }
.mailchimp-honeypot, .mailchimp-transport { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.replay-unavailable { display: inline-block; margin-top: 18px; color: rgba(23,19,33,.48); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.replay-actions { display: block; }
#video-dialog { width: min(1080px, calc(100% - 34px)); max-width: none; padding: 24px; color: white; background: var(--ink); }
#video-dialog h2 { max-width: calc(100% - 50px); margin: 0 0 18px; font-size: clamp(1.35rem, 3vw, 2.25rem); line-height: 1.08; }
#video-dialog .dialog-close { color: white; }
.video-frame { width: 100%; aspect-ratio: 16 / 9; background: #000; }
.video-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.image-dialog {
  width: min(1500px, calc(100% - 34px));
  max-width: none;
  max-height: calc(100vh - 34px);
  padding: 46px 22px 20px;
  background: var(--paper);
}
.image-dialog figure { margin: 0; }
.image-dialog img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - 125px);
  margin: 0 auto;
  object-fit: contain;
}
.image-dialog figcaption {
  margin-top: 10px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .site-header { gap: 18px; padding-left: 22px; padding-right: 22px; }
  .site-header nav { gap: 15px; }
  .site-header nav a { font-size: .78rem; }
  .hero { background-position: 68% center; }
  .hero-copy { width: 72%; padding-right: 28px; }
  .hero-image { min-height: 330px; clip-path: ellipse(80% 80% at 55% 55%); }
  .year-grid { grid-template-columns: repeat(2, 1fr); }
  .year-hero { grid-template-columns: 1fr; }
  .recap-visuals { grid-template-columns: 1fr; }
  .recap-inline-gallery-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recap-inline-gallery-3 figure:first-child { grid-column: 1 / -1; }
  .recap-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
  .recap-stat-grid span { min-height: 155px; padding-right: 22px; }
  .recap-stat-grid span:nth-child(n)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%235924a5' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .recap-stat-grid span:nth-child(3)::after, .recap-stat-grid span:nth-child(4)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ef2f72' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .recap-stat-grid span:nth-child(n+7)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ffcf26' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .about-overview, .about-cta, .about-sections article, .recap-resources { grid-template-columns: 1fr; gap: 36px; }
  .artist-projects-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .year-hero-image { min-height: 420px; }
  .year-hero-copy { padding: 50px 28px; }
  .talk-grid { grid-template-columns: repeat(2, 1fr); }
  .people-grid { grid-template-columns: repeat(3, 1fr); }
  .sponsor-grid { grid-template-columns: repeat(3, 1fr); }
  .winner-grid { grid-template-columns: 1fr; }
  .winner-project-list, .project-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .artist-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-founder { grid-template-columns: 1fr; }
  .home-founder-image img { min-height: 0; max-height: 620px; object-position: center 30%; }
  .recap-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  :root { --header-height: 72px; }
  .site-header { min-height: var(--header-height); align-items: flex-start; flex-direction: column; }
  .menu-button { position: absolute; right: 20px; top: 20px; display: block; border: 0; background: transparent; font: inherit; font-weight: 850; }
  .site-header nav { display: none; width: 100%; flex-direction: column; }
  .site-header nav.open { display: flex; }
  .nav-dropdown, .nav-dropdown > summary { width: 100%; }
  .nav-submenu {
    position: static;
    min-width: 0;
    margin-top: 10px;
    padding: 5px 0 5px 14px;
    border: 0;
    border-left: 2px solid var(--yellow);
    background: transparent;
    box-shadow: none;
  }
  .site-header:has(nav.open) { padding-bottom: 22px; }
  body:has(.site-header nav.open) .year-switcher { position: static; }
  .hero { min-height: 0; background-image: linear-gradient(rgba(255,203,36,.72), rgba(255,203,36,.72)), url("../media/archive-hero-v2.png"); background-position: 70% center; }
  .hero-copy { width: 100%; min-height: 540px; }
  .hero-text-panel { padding: 26px 24px 29px; }
  .hero h1 { font-size: 3.5rem; }
  .hero-image { min-height: 260px; }
  .years { width: min(100% - 36px, var(--max)); padding: 70px 0; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .year-grid { grid-template-columns: 1fr; }
  .home-pillars { width: calc(100% - 36px); grid-template-columns: 1fr; }
  .home-pillars article { min-height: 190px; }
  .year-card { min-height: 180px; }
  .impact-strip { grid-template-columns: 1fr; }
  .impact-strip div { padding: 20px 28px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .year-hero-image { min-height: 270px; }
  .year-hero h1 { font-size: 6rem; }
  .year-switcher { justify-content: flex-start; overflow-x: auto; }
  .content-section, .directory { width: calc(100% - 36px); padding: 64px 0; }
  .talk-grid { grid-template-columns: 1fr; }
  .people-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
  .person-card > div { min-height: 165px; padding: 14px; }
  .sponsor-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-bar { flex-direction: column; }
  .winner-grid { margin-top: 10px; }
  .winner-project-list, .project-archive-grid { grid-template-columns: 1fr; }
  .artist-project-grid { grid-template-columns: 1fr; }
  .home-founder { width: calc(100% - 36px); margin-top: 40px; }
  .home-founder-copy { padding: 34px 24px 42px; }
  .recap-stat-grid { grid-template-columns: 1fr; row-gap: 22px; margin-top: 32px;  }
  .recap-stat-grid span {
    min-height: 145px;
    padding: 0 0 48px;
  }
  .recap-stat-grid strong { font-size: clamp(2.4rem, 11vw, 3.25rem); }
  .recap-stat-grid small { font-size: .92rem; }
  .recap-stat-grid span:nth-child(odd)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%235924a5' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .recap-stat-grid span:nth-child(even)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ef2f72' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .recap-stat-grid span:nth-child(n+7)::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 32' preserveAspectRatio='none'%3E%3Cpath d='M0 16C67 2 133 2 200 16s133 14 200 0' fill='none' stroke='%23ffcf26' stroke-width='4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
  .recap-inline-gallery, .recap-inline-gallery-3 { grid-template-columns: 1fr; }
  .recap-inline-gallery-3 figure:first-child { grid-column: auto; }
  body[data-route^="recaps/"] .content-section { padding-top: 46px; padding-bottom: 46px; }
  .closing-link-list, .deliverables ul { grid-template-columns: 1fr; }
  .about-sections { width: calc(100% - 36px); }
  .about-sections article { padding: 56px 0; }
  .page-intro { min-height: 390px; }
  dialog { padding: 34px 24px; }
  footer { align-items: flex-start; flex-direction: column; gap: 14px; }
  .footer-social { margin-left: 0; flex-wrap: wrap; }
}
.recap-press .closing-link-list {
  background: transparent;
  gap: 5px;
}  
.recap-press a{
    border:0.5px #DAD7D6 solid;
    background-color: #FFF;
}
a.watch-button {
  text-decoration: none;
}
