@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --spacing: .25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings,normal); font-variation-settings: var(--default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings,normal); font-variation-settings: var(--default-mono-font-variation-settings,normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder { color: currentcolor; }
  @supports (color:color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer components;
@layer utilities {
  .visible { visibility: visible; }
  .relative { position: relative; }
  .start { inset-inline-start: var(--spacing); }
  .hidden { display: none; }
  .table { display: table; }
  .antialiased { -webkit-font-smoothing: antialiased; }
}
:root { --pink: #005440; --ink: #101713; --paper: #f5f1e8; --acid: #d7e46d; --line: #00544033; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); margin: 0px; font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: inherit; text-decoration: none; }
img { width: 100%; display: block; }
.site-header { background: var(--paper); border-bottom: 1px solid var(--line); z-index: 20; justify-content: space-between; align-items: center; height: 84px; padding: 0px 4.5vw; display: flex; position: relative; }
.brand { letter-spacing: 0.04em; text-transform: uppercase; align-items: center; gap: 12px; font-size: 11px; font-weight: 800; line-height: 1.05; display: flex; }
.brand-mark { color: rgb(255, 255, 255); background: var(--ink); border-radius: 50%; place-items: center; width: 42px; height: 42px; font-size: 13px; display: grid; transform: rotate(-8deg); }
nav { text-transform: uppercase; letter-spacing: 0.08em; align-items: center; gap: clamp(12px, 1.75vw, 34px); font-size: clamp(10px, 0.63vw, 12px); font-weight: 700; display: flex; }
nav a:not(.nav-cta):hover { color: var(--pink); }
.nav-cta { color: rgb(255, 255, 255); background: var(--ink); border-radius: 99px; padding: 14px 20px; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { background: var(--ink); cursor: pointer; border-radius: 50%; align-content: center; gap: 5px; width: 46px; height: 46px; padding: 0px 12px; list-style: none; display: grid; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { background: rgb(255, 255, 255); height: 2px; display: block; }
.mobile-menu[open] summary span:first-child { transform: translateY(7px) rotate(45deg); }
.mobile-menu[open] summary span:nth-child(2) { opacity: 0; }
.mobile-menu[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu > div { background: var(--paper); border: 1px solid var(--line); width: min(310px, -40px + 100vw); box-shadow: 10px 10px 0 var(--pink); padding: 12px; position: absolute; top: 54px; right: 0px; }
.mobile-menu a { border-bottom: 1px solid var(--line); letter-spacing: 0.1em; text-transform: uppercase; padding: 13px 12px; font-size: 11px; font-weight: 900; display: block; }
.mobile-menu a:last-child { border-bottom: 0px; }
.hero { background: var(--pink); min-height: calc(-84px + 100vh); color: var(--paper); grid-template-columns: 1fr minmax(380px, 42vw); align-items: center; gap: 4vw; padding: 7vw 7vw 9vw; display: grid; position: relative; overflow: hidden; }
.hero-grid { background: radial-gradient(circle at 18% 28%, rgba(215, 228, 109, 0.13), rgba(0, 0, 0, 0) 28%), radial-gradient(circle at 82% 72%, rgba(16, 23, 19, 0.28), rgba(0, 0, 0, 0) 34%), linear-gradient(115deg, rgba(255, 255, 255, 0.035), rgba(0, 0, 0, 0) 45%); position: absolute; inset: 0px; }
.hero-copy { z-index: 3; max-width: 900px; position: relative; }
.eyebrow { letter-spacing: 0.18em; text-transform: uppercase; align-items: center; gap: 10px; margin: 0px 0px 28px; font-size: 11px; font-weight: 800; display: flex; }
.eyebrow::before { content: ""; background: currentcolor; width: 34px; height: 2px; }
.eyebrow span { background: var(--ink); color: rgb(255, 255, 255); letter-spacing: 0.12em; border-radius: 99px; padding: 7px 10px; }
h1, h2 { text-transform: uppercase; letter-spacing: -0.065em; margin: 0px; font-family: "Arial Black", Arial, sans-serif; line-height: 0.84; }
h1 { font-size: clamp(62px, 9.3vw, 150px); }
h1 em, h2 em { text-transform: none; letter-spacing: -0.055em; font-family: Georgia, serif; font-weight: 400; }
.hero-intro { max-width: 590px; margin: 38px 0px 0px; font-family: Georgia, serif; font-size: clamp(20px, 2vw, 29px); line-height: 1.3; }
.hero-actions { align-items: center; gap: 18px; margin-top: 36px; display: flex; }
.button { text-transform: uppercase; letter-spacing: 0.08em; border-radius: 99px; justify-content: center; align-items: center; min-height: 54px; padding: 0px 24px; font-size: 11px; font-weight: 800; transition: 0.2s; display: inline-flex; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--acid); color: var(--ink); }
.button.ghost { border: 1px solid rgba(255, 255, 255, 0.55); }
.button.ghost span { margin-left: 22px; }
.date-card { z-index: 8; width: 245px; color: var(--ink); background: var(--paper); box-shadow: 12px 12px 0 var(--acid); padding: 24px; position: absolute; bottom: 8px; right: -8px; transform: rotate(2deg); }
.date-kicker { text-transform: uppercase; letter-spacing: 0.15em; font-size: 10px; font-weight: 800; }
.date-card > strong { letter-spacing: -0.09em; font-family: "Arial Black", Arial, sans-serif; font-size: 92px; line-height: 0.9; display: block; }
.date-card > div { align-items: center; gap: 15px; display: flex; }
.date-card b { font-size: 28px; }
.date-card small { text-transform: uppercase; letter-spacing: 0.1em; font-size: 11px; font-weight: 700; }
.date-card p { border-top: 1px solid var(--line); margin: 22px 0px 0px; padding-top: 18px; font-family: Georgia, serif; font-size: 17px; font-style: italic; }
.ball { aspect-ratio: 1 / 1; background: transparent url('/images/fussball.png') center/contain no-repeat; border: 0; border-radius: 50%; width: 92px; display: block; position: absolute; filter: drop-shadow(-8px 10px 8px rgba(0, 0, 0, 0.18)); }
.ball i { display: none; }
.ball i:first-child { top: 32%; left: 38%; }
.ball i:nth-child(2) { top: 60%; left: 10%; transform: rotate(20deg); }
.ball i:nth-child(3) { top: 64%; right: 8%; transform: rotate(-18deg); }
.ball-one { z-index: 7; width: 58px; bottom: 22%; left: 53%; transform: rotate(20deg); }
.marquee { background: var(--acid); border-block: 2px solid var(--ink); white-space: nowrap; letter-spacing: 0.14em; align-items: center; width: 104%; height: 48px; font-size: 12px; font-weight: 900; display: flex; position: absolute; bottom: 0px; left: -2%; overflow: hidden; transform: rotate(-1deg); }
.marquee-track { display: flex; width: max-content; will-change: transform; animation: 18s linear infinite move; }
.marquee-group { display: flex; flex: none; }
.marquee-track span { flex: none; padding-right: 3rem; }
@keyframes move { 
  100% { transform: translate(-50%); }
}
.section { padding: 130px 7vw; position: relative; }
.section-number { color: rgba(0, 0, 0, 0); -webkit-text-stroke: 1px rgba(16, 16, 16, 0.15); font: 900 clamp(80px, 13vw, 200px) / 1 Arial; position: absolute; top: 32px; right: 4vw; }
.intro { grid-template-columns: 0.85fr 1.15fr; gap: 8vw; display: grid; }
.eyebrow.dark, .eyebrow.light { color: var(--pink); }
h2 { font-size: clamp(54px, 7.7vw, 118px); }
.intro-text { max-width: 740px; padding-top: 55px; }
p.large { margin: 0px 0px 30px; font-family: Georgia, serif; font-size: clamp(23px, 2.4vw, 34px); line-height: 1.25; }
.intro-text > p:not(.large), .impact-copy > p:not(.large) { color: rgb(76, 74, 69); font-size: 16px; line-height: 1.8; }
.stats { border-top: 1px solid var(--line); grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; padding-top: 25px; display: grid; }
.stats div { flex-direction: column; gap: 6px; display: flex; }
.stats strong { letter-spacing: -0.06em; color: var(--pink); font: 900 clamp(28px, 3.5vw, 55px) / 1 Arial; }
.stats span { text-transform: uppercase; letter-spacing: 0.12em; font-size: 10px; font-weight: 800; line-height: 1.4; }
.format-section { background: var(--ink); color: rgb(255, 255, 255); grid-template-columns: 0.9fr 1.1fr; gap: 8vw; padding: 120px 7vw; display: grid; }
.format-head { align-self: start; position: sticky; top: 30px; }
.format-section h2 { font-size: clamp(50px, 6vw, 90px); }
.format-list article { border-top: 1px solid rgba(255, 255, 255, 0.2); grid-template-columns: 74px 1fr; gap: 24px; padding: 30px 0px; display: grid; }
.format-list article:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.format-list article > span { border: 1px solid var(--pink); width: 44px; height: 44px; color: var(--pink); border-radius: 50%; place-items: center; font-size: 11px; font-weight: 800; display: grid; }
.format-list h3 { text-transform: uppercase; margin: 5px 0px 10px; font: 900 clamp(21px, 2vw, 29px) / 1 Arial; }
.format-list p { color: rgb(170, 170, 170); margin: 0px; line-height: 1.65; }
.impact { background: var(--acid); grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: 9vw; display: grid; }
.impact-visual { flex-direction: column; align-items: center; display: flex; }
.impact-ring { aspect-ratio: 1 / 1; border: 2px solid var(--ink); width: min(36vw, 430px); box-shadow: 14px 14px 0 var(--pink); border-radius: 50%; flex-direction: column; justify-content: center; align-items: center; display: flex; position: relative; }
.impact-ring::before, .impact-ring::after { content: ""; border: 1px dashed var(--ink); border-radius: 50%; position: absolute; inset: 8%; }
.impact-ring span { font-size: 26px; }
.impact-ring strong { letter-spacing: -0.08em; font: 900 clamp(70px, 9vw, 140px) / 0.8 Arial; }
.impact-ring small { text-transform: uppercase; letter-spacing: 0.15em; font-weight: 800; }
.impact-visual > p { text-transform: uppercase; letter-spacing: 0.11em; margin-top: 35px; font-size: 11px; font-weight: 800; }
.impact-copy .eyebrow { color: var(--pink); }
.impact-copy h2 { font-size: clamp(52px, 6.3vw, 95px); }
.impact-copy p.large { margin-top: 38px; }
.text-link { border-bottom: 2px solid var(--ink); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 22px; padding-bottom: 8px; font-size: 12px; font-weight: 800; display: inline-block; }
.archive-section { background: var(--ink); color: rgb(255, 255, 255); padding: 120px 7vw; }
.archive-heading { margin-bottom: 70px; }
.archive-heading h2 { font-size: clamp(52px, 6.4vw, 95px); }
.archive-grid { border-top: 1px solid rgb(68, 68, 68); border-left: 1px solid rgb(68, 68, 68); grid-template-columns: repeat(4, 1fr); display: grid; }
.archive-card { border-bottom: 1px solid rgb(68, 68, 68); border-right: 1px solid rgb(68, 68, 68); flex-direction: column; min-height: 270px; padding: 24px; transition: 0.2s; display: flex; }
.archive-card:hover { background: rgb(28, 28, 28); transform: translateY(-4px); }
.archive-card.featured { background: var(--pink); color: var(--ink); }
.archive-card > div { justify-content: space-between; align-items: start; display: flex; }
.archive-card > div span { text-transform: uppercase; letter-spacing: 0.12em; font-size: 9px; font-weight: 800; }
.archive-card > div strong { letter-spacing: -0.07em; font: 900 45px / 1 Arial; }
.archive-card > p { color: rgb(153, 153, 153); text-transform: uppercase; letter-spacing: 0.14em; margin: 62px 0px 5px; font-size: 9px; font-weight: 800; }
.archive-card h3 { text-transform: uppercase; margin: 0px; font: 900 21px / 1.1 Arial; }
.archive-card footer { text-transform: uppercase; letter-spacing: 0.1em; color: rgb(136, 136, 136); justify-content: space-between; margin-top: auto; font-size: 9px; display: flex; }
.archive-note { color: rgb(119, 119, 119); margin-top: 22px; font-size: 11px; }
.gallery-section { padding: 125px 7vw; }
.gallery-head { margin-bottom: 60px; }
.gallery-head h2 { font-size: clamp(54px, 7vw, 102px); }
.gallery-grid { grid-template-rows: 300px 260px; grid-template-columns: 1.15fr 0.85fr 0.7fr; gap: 18px; display: grid; }
.photo { background: rgb(221, 221, 221); margin: 0px; position: relative; overflow: hidden; }
.photo img { object-fit: cover; filter: saturate(0.85) contrast(1.08); height: 100%; transition: 0.4s; }
.photo:hover img { transform: scale(1.035); }
.photo figcaption { color: rgb(255, 255, 255); background: var(--pink); padding: 7px 10px; font-size: 11px; font-weight: 900; position: absolute; bottom: 14px; right: 14px; }
.photo-1 { grid-row: 1 / 3; }
.photo-2 { grid-column: 2 / 4; }
.gallery-copy { background: var(--pink); flex-direction: column; justify-content: space-between; padding: 28px; display: flex; }
.gallery-copy p { margin: 0px; font: italic 24px / 1.25 Georgia, serif; }
.gallery-copy a { text-transform: uppercase; letter-spacing: 0.1em; font-size: 10px; font-weight: 800; }
.photo-3 { grid-column: 3; }
.contact-section { background: var(--pink); text-align: center; padding: 110px 7vw; position: relative; overflow: hidden; }
.contact-section .eyebrow { justify-content: center; }
.contact-section h2 { font-size: clamp(62px, 9vw, 138px); }
.registration-layout { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: clamp(70px, 9vw, 150px); width: min(1280px, 100%); margin: 62px auto 0; text-align: left; display: grid; }
.registration-column { padding-top: 46px; }
.registration-kicker { color: var(--acid); letter-spacing: 0.18em; text-transform: uppercase; margin: 0 0 20px; font-size: 11px; font-weight: 900; }
.registration-column h3 { text-transform: uppercase; letter-spacing: -0.055em; margin: 0 0 32px; font: 900 clamp(34px, 3.6vw, 58px) / 0.94 "Arial Black", Arial, sans-serif; }
.registration-column h3 em { color: var(--acid); font-family: Georgia, serif; font-weight: 400; }
.registration-intro > p:not(.registration-kicker) { max-width: 550px; margin: 0; font: 20px / 1.6 Georgia, serif; }
.registration-deadline { max-width: 520px; margin-top: 62px; }
.registration-deadline span { color: var(--acid); letter-spacing: 0.16em; text-transform: uppercase; font-size: 10px; font-weight: 900; display: block; }
.registration-deadline strong { text-transform: uppercase; letter-spacing: -0.035em; margin-top: 9px; font: 900 clamp(29px, 3vw, 46px) / 1 "Arial Black", Arial, sans-serif; display: block; }
.donation-details > p:not(.registration-kicker) { max-width: 580px; margin: 0; font: 18px / 1.55 Georgia, serif; }
.donation-details address { margin: 34px 0 36px; font-style: normal; font-size: 16px; line-height: 1.55; display: grid; gap: 0; }
.donation-details address strong { color: var(--acid); font-size: 21px; }
.donation-details address span { overflow-wrap: anywhere; }
.donation-details address b { color: var(--acid); font-weight: 900; }
.donation-details .donation-note { margin-top: 42px; }
.registration-intro .dark-button { width: fit-content; margin-top: 34px; }
.contact-ball { width: 150px; top: 30px; left: -28px; transform: rotate(15deg); }
.footer { background: var(--paper); grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; padding: 65px 7vw 30px; font-size: 12px; line-height: 1.8; display: grid; }
.footer > div > strong { text-transform: uppercase; letter-spacing: 0.12em; font-size: 9px; }
.footer > div a { display: block; }
.footer > div a:hover { color: var(--pink); }
.copyright { border-top: 1px solid var(--line); color: rgb(119, 119, 119); grid-column: 1 / -1; margin: 20px 0px 0px; padding-top: 20px; font-size: 10px; }
@media (width <= 900px) {
  .site-header > nav { display: none; }
  .mobile-menu { display: block; }
  .hero { grid-template-columns: 1fr; padding: 100px 6vw 130px; }
  .date-card { justify-self: start; width: 260px; margin-top: 70px; }
  .ball-one { top: 8%; right: 8%; }
  .ball-two { display: none; }
  .intro, .format-section, .impact { grid-template-columns: 1fr; }
  .format-head { position: static; }
  .impact-visual { order: 2; }
  .impact-ring { width: min(78vw, 430px); }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-rows: 360px 250px 250px; grid-template-columns: 1fr 1fr; }
  .photo-1 { grid-area: auto / 1 / auto / 3; }
  .photo-2, .photo-3 { grid-column: auto; }
  .footer { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (width <= 560px) {
  .site-header { height: 72px; padding: 0px 20px; }
  .brand-mark { width: 36px; height: 36px; }
  nav { gap: 0px; }
  .nav-cta { padding: 12px 16px; }
  .hero { min-height: calc(-72px + 100vh); padding: 80px 22px 120px; }
  h1 { font-size: 59px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .button { width: 100%; }
  .date-card { width: 230px; }
  .date-card > strong { font-size: 92px; }
  .section, .archive-section, .gallery-section { padding: 90px 22px; }
  .intro-text { padding-top: 10px; }
  .stats { grid-template-columns: 1fr; }
  .stats div { border-bottom: 1px solid var(--line); padding-bottom: 18px; }
  .format-section { padding: 90px 22px; }
  .archive-grid { grid-template-columns: 1fr; }
  .archive-card { min-height: 230px; }
  .gallery-grid { flex-direction: column; display: flex; }
  .photo { height: 280px; }
  .contact-section { padding: 90px 22px; }
  .registration-layout { grid-template-columns: 1fr; gap: 54px; margin-top: 44px; }
  .registration-column { padding-top: 34px; }
  .registration-deadline { margin-top: 46px; }
  .registration-intro .dark-button { margin-top: 30px; }
  .contact-ball { width: 90px; }
  .footer { grid-template-columns: 1fr; padding: 55px 22px 28px; }
  .footer-brand, .copyright { grid-column: auto; }
  .section-number { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee-track { animation: 18s linear infinite move; }
  .button, .photo img, .archive-card { transition: none; }
}
.table-mark { border: 2px solid var(--pink); background: linear-gradient(90deg,transparent 49%,var(--pink) 49%,var(--pink) 51%,transparent 51%); border-radius: 3px; flex: 0 0 auto; width: 46px; height: 34px; display: block; position: relative; transform: skewY(-3deg); }
.table-mark::before { content: ""; border: 1px solid var(--pink); border-radius: 50%; position: absolute; inset: 5px 12px; }
.table-mark i { background: var(--pink); height: 2px; position: absolute; left: -6px; right: -6px; }
.table-mark i:first-child { top: 7px; }
.table-mark i:nth-child(2) { top: 15px; }
.table-mark i:nth-child(3) { top: 23px; }
.hero-game { z-index: 4; justify-content: center; align-items: center; height: 610px; display: flex; position: relative; }
.foosball-scene { perspective: 1100px; width: min(40vw, 560px); transform: rotate(-2deg); }
.table-shell { background: rgb(23, 32, 27); border: 10px solid rgb(33, 49, 41); border-radius: 16px; padding: 28px; transform: rotateX(10deg) rotate(2deg); box-shadow: rgba(0, 0, 0, 0.32) 0px 34px 50px, rgb(82, 101, 91) 0px 0px 0px 2px inset; }
.pitch { background: rgb(11, 112, 88); border: 3px solid rgba(255, 255, 255, 0.82); height: 460px; position: relative; overflow: visible; box-shadow: rgba(0, 0, 0, 0.34) 0px 0px 28px inset; }
.center-line { background: rgba(255, 255, 255, 0.72); height: 2px; position: absolute; top: 50%; left: 0px; right: 0px; }
.center-circle { border: 2px solid rgba(255, 255, 255, 0.72); border-radius: 50%; width: 112px; height: 112px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.goal { border: 2px solid rgba(255, 255, 255, 0.7); width: 94px; height: 42px; position: absolute; left: 50%; transform: translate(-50%); }
.goal-left { border-top: 0px; top: -2px; }
.goal-right { border-bottom: 0px; bottom: -2px; }
.game-ball { aspect-ratio: 1 / 1; z-index: 5; background: rgb(240, 234, 216); border-radius: 50%; width: 18px; position: absolute; top: 46%; left: 58%; box-shadow: rgba(0, 0, 0, 0.35) 3px 5px 6px; }
.rod { z-index: 4; height: 44px; position: absolute; left: -55px; right: -55px; }
.rod-1 { top: 13%; }
.rod-2 { top: 36%; }
.rod-3 { top: 61%; }
.rod-4 { top: 83%; }
.rod-line { background: linear-gradient(rgb(217, 221, 217), rgb(114, 122, 118), rgb(220, 224, 221)); border-radius: 4px; height: 7px; position: absolute; top: 18px; left: 0px; right: 0px; box-shadow: rgba(0, 0, 0, 0.4) 0px 3px 3px; }
.handle { background: var(--ink); border-radius: 8px 2px 2px 8px; width: 56px; height: 18px; position: absolute; top: 12px; left: -42px; }
.players { justify-content: space-around; display: flex; position: absolute; inset: 0px 46px; }
.player { z-index: 3; width: 20px; height: 42px; position: relative; }
.player b { background: currentcolor; border: 2px solid rgb(23, 32, 27); border-radius: 50%; width: 14px; height: 14px; position: absolute; top: 0px; left: 3px; }
.player i { background: currentcolor; border: 2px solid rgb(23, 32, 27); border-radius: 3px 3px 7px 7px; width: 18px; height: 28px; position: absolute; top: 12px; left: 1px; }
.player.green { color: var(--acid); }
.player.cream { color: rgb(242, 229, 195); }
.contact-section { color: rgb(255, 255, 255); }
.contact-section .eyebrow { color: var(--acid); }
.dark-button { background: var(--acid); color: var(--ink); }
.gallery-copy { color: rgb(255, 255, 255); }
.gallery-copy a { color: var(--acid); }
.archive-card.featured { color: rgb(255, 255, 255); }
.archive-card.featured > p { color: var(--acid); }
.archive-card.featured footer { color: rgb(215, 231, 225); }
@media (width <= 900px) {
  .hero-game { height: 580px; margin-top: 45px; }
  .foosball-scene { width: min(78vw, 540px); }
  .date-card { bottom: 0px; right: 5%; }
  .ball-one { bottom: 22%; left: 10%; }
}
@media (width <= 560px) {
  .table-mark { width: 38px; height: 30px; }
  .hero-game { height: 430px; margin-top: 30px; }
  .foosball-scene { width: 100%; transform: rotate(0deg); }
  .table-shell { border-width: 7px; padding: 15px; }
  .pitch { height: 340px; }
  .rod { left: -35px; right: -35px; }
  .date-card { width: 185px; padding: 17px; bottom: -20px; right: 0px; }
  .date-card > strong { font-size: 68px; }
  .date-card b { font-size: 21px; }
  .date-card p { font-size: 13px; }
  .ball-one { width: 44px; bottom: 15%; left: 2%; }
}
.brand { text-transform: none; }
.wordmark { letter-spacing: -0.035em; flex-direction: column; line-height: 0.82; display: flex; }
.wordmark small { letter-spacing: 0.025em; text-transform: uppercase; font-size: 11px; font-weight: 800; }
.wordmark strong { color: var(--pink); letter-spacing: -0.055em; text-transform: uppercase; font: 900 25px / 1 Arial, sans-serif; }
.footer .wordmark strong { font-size: 32px; }
.hero h1 { font-size: clamp(55px, 7.7vw, 122px); line-height: 0.78; }
.hero h1 em { color: var(--acid); text-transform: uppercase; letter-spacing: -0.075em; font-family: "Arial Black", Arial, sans-serif; font-style: normal; }
.hero-intro strong { text-transform: uppercase; letter-spacing: 0.1em; font-family: Arial, Helvetica, sans-serif; font-size: 0.7em; }
.hero-photo { border: 9px solid var(--paper); width: min(40vw, 550px); height: 535px; box-shadow: 18px 20px 0 var(--ink); margin: 0px; position: relative; overflow: hidden; transform: rotate(2deg); }
.hero-photo::after { content: ""; pointer-events: none; position: absolute; inset: 0px; box-shadow: rgba(255, 255, 255, 0.45) 0px 0px 0px 1px inset; }
.hero-photo img { object-fit: cover; filter: saturate(0.9) contrast(1.08); width: 100%; height: 100%; }
.hero-photo figcaption { background: var(--acid); color: var(--ink); letter-spacing: 0.12em; text-transform: uppercase; padding: 12px 16px; font-size: 10px; font-weight: 900; position: absolute; top: 0px; left: 0px; }
.hero-kicker-art { isolation: isolate; width: min(40vw, 520px); height: 560px; position: relative; }
.hero-kicker-art::before { content: ""; border: 2px solid rgba(255, 255, 255, 0.38); border-radius: 50%; width: 460px; height: 460px; position: absolute; top: 47%; left: 50%; transform: translate(-50%, -50%); box-shadow: rgba(16, 23, 19, 0.13) 0px 0px 0px 34px, rgba(255, 255, 255, 0.14) 0px 0px 0px 35px; }
.hero-kicker-number { z-index: -1; color: rgba(0, 0, 0, 0); -webkit-text-stroke: 1px rgba(255, 255, 255, 0.24); letter-spacing: -0.12em; font: 900 250px / 0.8 Arial, sans-serif; position: absolute; top: -34px; right: -5px; }
.hero-kicker-rod { z-index: 1; background: linear-gradient(rgb(245, 247, 245), rgb(115, 124, 119) 38%, rgb(220, 225, 222) 64%, rgb(89, 98, 93)); border-radius: 10px; height: 20px; position: absolute; top: 46%; left: -80px; right: -95px; transform: rotate(-7deg); box-shadow: rgba(0, 0, 0, 0.3) 0px 8px 12px; }
.hero-kicker-rod::before { content: ""; background: repeating-linear-gradient(90deg,var(--ink) 0 12px,#2b3932 12px 18px); border-radius: 8px 24px 24px 8px; width: 125px; height: 48px; position: absolute; top: -14px; left: -35px; box-shadow: rgba(0, 0, 0, 0.28) 0px 8px 12px; }
.hero-kicker-rod i { border: 5px solid var(--ink); border-radius: 50%; width: 38px; height: 30px; position: absolute; top: -5px; right: -25px; }
.hero-kicker-player { z-index: 2; filter: drop-shadow(rgba(16, 23, 19, 0.75) 20px 24px); width: 190px; height: 455px; position: absolute; top: 46%; left: 50%; transform: translate(-50%, -49%) rotate(-7deg); }
.kicker-head { border: 10px solid var(--ink); background: var(--acid); border-radius: 50%; width: 108px; height: 108px; position: absolute; top: 0px; left: 41px; }
.kicker-body { border: 11px solid var(--ink); background: var(--acid); clip-path: polygon(10% 0px, 90% 0px, 100% 76%, 70% 100%, 30% 100%, 0px 76%); border-radius: 20px 20px 42px 42px; width: 162px; height: 265px; position: absolute; top: 94px; left: 14px; }
.kicker-body::after { content: ""; background: rgba(0, 84, 64, 0.34); width: 3px; position: absolute; top: 34px; bottom: 25px; left: 50%; transform: translate(-50%); }
.kicker-foot { border: 10px solid var(--ink); background: var(--acid); border-radius: 0px 0px 18px 18px; width: 60px; height: 115px; position: absolute; bottom: 0px; left: 65px; }
.hero-kicker-art > p { z-index: 4; background: var(--paper); color: var(--ink); box-shadow: 9px 9px 0 var(--ink); margin: 0px; padding: 16px 19px; position: absolute; bottom: 4px; left: -20px; transform: rotate(-3deg); }
.hero-kicker-art > p span { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; font-size: 8px; font-weight: 900; display: block; }
.hero-kicker-art > p strong { letter-spacing: -0.045em; text-transform: uppercase; margin-top: 5px; font: 900 22px / 0.95 Arial, sans-serif; display: block; }
.ball-one { bottom: 17%; left: 51%; }
.kicker-rod { z-index: 10; background: linear-gradient(rgba(0, 0, 0, 0) 37px, rgb(217, 222, 219) 37px, rgb(98, 107, 102) 41px, rgb(243, 245, 244) 45px, rgba(0, 0, 0, 0) 45px); height: 82px; margin: -6px 0px; position: relative; overflow: hidden; }
.kicker-rod.rod-dark { background-color: var(--paper); }
.rod-handle { background: repeating-linear-gradient(90deg,var(--ink) 0 8px,#27322c 8px 12px); border-radius: 0px 11px 11px 0px; width: 120px; height: 30px; position: absolute; top: 27px; left: -10px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 7px; }
.rod-player { width: 31px; height: 64px; color: var(--pink); filter: drop-shadow(rgba(0, 0, 0, 0.22) 0px 4px 2px); position: absolute; top: 10px; }
.rod-player::before { content: ""; border: 3px solid var(--ink); background: currentcolor; border-radius: 50%; width: 19px; height: 19px; position: absolute; top: 0px; left: 6px; }
.rod-player::after { content: ""; border: 3px solid var(--ink); background: currentcolor; border-radius: 5px 5px 9px 9px; width: 27px; height: 42px; position: absolute; top: 17px; left: 2px; }
.rod-player b { z-index: 2; background: var(--ink); border-radius: 0px 0px 4px 4px; width: 15px; height: 13px; position: absolute; bottom: -2px; left: 8px; }
.rod-player.player-a { left: 30%; }
.rod-player.player-b { color: var(--acid); left: 55%; }
.rod-player.player-c { left: 78%; }
.rod-dark .rod-player.player-b { color: rgb(239, 229, 200); }
@media (width <= 900px) {
  .hero-photo { width: min(78vw, 540px); height: 500px; }
  .ball-one { bottom: 14%; left: 7%; }
  .date-card { bottom: -8px; right: 2%; }
}
@media (width <= 560px) {
  .site-header .wordmark small { font-size: 8px; }
  .site-header .wordmark strong { font-size: 18px; }
  .hero h1 { font-size: 50px; }
  .hero-photo { width: 100%; height: 385px; box-shadow: 10px 12px 0 var(--ink); border-width: 6px; }
  .hero-game { height: 440px; }
  .kicker-rod { background-position: 50% -7px; height: 68px; }
  .rod-handle { width: 80px; height: 25px; top: 21px; }
  .rod-player { transform-origin: center top; transform: scale(0.82); }
  .rod-player.player-a { left: 34%; }
  .rod-player.player-b { left: 59%; }
  .rod-player.player-c { left: 82%; }
  .date-card { width: 170px; }
  .ball-one { display: none; }
}
.stats strong { white-space: nowrap; }
.hero-copy { min-width: 0px; }
.hero-photo { z-index: 1; }
.date-card { z-index: 3; }
.podium { flex-direction: column; gap: 10px; margin: 34px 0px 20px; padding: 0px; list-style: none; display: flex; }
.podium li { grid-template-columns: 25px 1fr; align-items: start; gap: 9px; font-size: 12px; line-height: 1.25; display: grid; }
.podium li span { color: rgb(255, 255, 255); background: rgb(48, 57, 51); border-radius: 50%; place-items: center; width: 22px; height: 22px; font-size: 9px; font-weight: 900; display: grid; }
.podium li:first-child span { background: var(--acid); color: var(--ink); }
.podium li b { padding-top: 3px; font-weight: 800; }
.archive-card { min-height: 315px; }
.archive-card .podium { margin-top: 42px; }
.archive-card.featured .podium li span { background: rgba(255, 255, 255, 0.2); }
.archive-card.featured .podium li:first-child span { background: var(--acid); color: var(--ink); }
.archive-card footer { justify-content: flex-start; }
.all-placements { width: max-content; max-width: 100%; color: var(--acid); letter-spacing: 0.11em; text-align: left; text-transform: uppercase; cursor: pointer; background: 0px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor; border-image: none; margin: 2px 0px 18px; padding: 0px 0px 5px; font-family: inherit; font-size: 9px; font-weight: 900; line-height: 1.35; transition: color 0.18s, border-color 0.18s; }
.all-placements span { margin-left: 5px; }
.all-placements:hover, .all-placements:focus-visible { color: rgb(255, 255, 255); border-color: rgb(255, 255, 255); }
.archive-card.featured .all-placements { color: rgb(255, 255, 255); }
.archive-card.featured .all-placements:hover, .archive-card.featured .all-placements:focus-visible { color: var(--acid); border-color: var(--acid); }
.rankings-modal { z-index: 1200; backdrop-filter: blur(8px); background: rgba(4, 14, 10, 0.92); place-items: center; padding: 32px; display: grid; position: fixed; inset: 0px; }
.rankings-sheet { background: var(--paper); width: min(920px, 100%); max-height: calc(-64px + 100vh); color: var(--ink); box-shadow: 18px 18px 0 var(--pink); overflow: auto; }
.rankings-sheet > header { z-index: 2; background: var(--pink); color: rgb(255, 255, 255); justify-content: space-between; align-items: start; gap: 30px; padding: 30px 34px 24px; display: flex; position: sticky; top: 0px; }
.rankings-sheet > header span { color: var(--acid); letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 8px; font-size: 9px; font-weight: 900; display: block; }
.rankings-sheet > header h3 { letter-spacing: -0.055em; text-transform: uppercase; margin: 0px; font: 900 clamp(28px, 4vw, 48px) / 1 Arial, sans-serif; }
.rankings-sheet > header button { color: rgb(255, 255, 255); cursor: pointer; background: 0px 0px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; flex: 0 0 auto; width: 42px; height: 42px; font: 300 30px / 1 Arial, sans-serif; }
.full-rankings { counter-reset: rank 0; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px; margin: 0px; padding: 24px 34px 30px; list-style: none; display: grid; }
.full-rankings li { border-bottom: 1px solid var(--line); grid-template-columns: 35px minmax(0px, 1fr); align-items: center; gap: 10px; min-width: 0px; padding: 11px 10px 11px 0px; font-size: 12px; line-height: 1.3; display: grid; }
.full-rankings li:nth-child(2n+1) { margin-right: 18px; }
.full-rankings li > span { border: 1px solid var(--line); color: rgb(108, 112, 108); border-radius: 50%; place-items: center; width: 27px; height: 27px; font-size: 9px; font-weight: 900; display: grid; }
.full-rankings li > b { overflow-wrap: anywhere; }
.full-rankings li.top-three > span { border-color: var(--pink); background: var(--pink); color: rgb(255, 255, 255); }
.full-rankings li:first-child > span { border-color: var(--acid); background: var(--acid); color: var(--ink); }
.rankings-close { background: var(--ink); color: rgb(255, 255, 255); letter-spacing: 0.11em; text-transform: uppercase; cursor: pointer; border: 0px; border-radius: 99px; margin: 0px 34px 32px auto; padding: 14px 22px; font-size: 10px; font-weight: 900; display: block; }
@media (width <= 620px) {
  .rankings-modal { padding: 12px; }
  .rankings-sheet { max-height: calc(-24px + 100vh); box-shadow: 8px 8px 0 var(--pink); }
  .rankings-sheet > header { padding: 24px 20px 20px; }
  .full-rankings { grid-template-columns: 1fr; padding: 18px 20px 24px; }
  .full-rankings li:nth-child(2n+1) { margin-right: 0px; }
  .rankings-close { margin: 0px 20px 24px auto; }
}
@media (width <= 1200px) and (width >= 901px) {
  .hero { grid-template-columns: minmax(0px, 1fr) minmax(360px, 38vw); padding-inline: 5vw; }
  .hero h1 { font-size: clamp(54px, 7vw, 84px); }
  .hero-photo { width: 100%; height: 490px; }
  .date-card { width: 215px; }
}
@media (width <= 560px) {
  .stats strong { font-size: 42px; }
  .archive-card { min-height: 300px; }
  .podium li { font-size: 13px; }
}
@media (width >= 901px) {
  .hero { grid-template-columns: minmax(0px, 1fr) minmax(410px, 500px); gap: 72px; }
  .hero h1 { font-size: clamp(58px, 6vw, 92px); }
  .hero-photo { width: 100%; max-width: 500px; height: 500px; }
}
.hero-kicker-art { max-width: 520px; }
@media (width <= 900px) {
  .hero-kicker-art { width: min(78vw, 520px); height: 540px; }
  .hero-kicker-art::before { width: 430px; height: 430px; }
}
@media (width <= 560px) {
  .hero-kicker-art { transform-origin: center top; width: 100%; height: 410px; transform: scale(0.82); }
  .hero-kicker-art::before { width: 330px; height: 330px; }
  .hero-kicker-number { font-size: 170px; top: -15px; right: 0px; }
  .hero-kicker-player { transform: translate(-50%, -49%) rotate(-7deg) scale(0.76); }
  .hero-kicker-rod { left: -40px; right: -45px; }
  .hero-kicker-art > p { bottom: 10px; left: 0px; }
  .date-card { bottom: -8px; }
}
.impact-ring strong { white-space: nowrap; font-size: clamp(48px, 6.2vw, 94px); }
.hero-kicker-photo { width: 100%; max-width: 560px; height: 560px; box-shadow: 20px 22px 0 var(--ink); background: rgb(11, 21, 17); border: 1px solid rgba(255, 255, 255, 0.32); margin: 0px; position: relative; overflow: hidden; transform: rotate(1.25deg); }
.hero-kicker-photo::after { content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(0, 84, 64, 0.18), rgba(0, 0, 0, 0) 52%), linear-gradient(rgba(0, 0, 0, 0) 58%, rgba(4, 14, 10, 0.22)); position: absolute; inset: 0px; box-shadow: rgba(245, 241, 232, 0.92) 0px 0px 0px 7px inset; }
.hero-kicker-photo img { object-fit: cover; object-position: 62% center; filter: saturate(0.82) contrast(1.08); width: 100%; height: 100%; }
.hero-kicker-photo figcaption { z-index: 2; background: var(--paper); max-width: 220px; color: var(--ink); box-shadow: 8px 8px 0 var(--acid); padding: 15px 18px; position: absolute; bottom: 7px; left: 7px; }
.hero-kicker-photo figcaption span { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; font-size: 8px; font-weight: 900; display: block; }
.hero-kicker-photo figcaption strong { letter-spacing: -0.045em; text-transform: uppercase; margin-top: 5px; font: 900 20px / 1 Arial, sans-serif; display: block; }
@media (width <= 900px) {
  .hero-kicker-photo { width: min(82vw, 560px); height: 540px; }
  .hero-game { height: 590px; }
  .date-card { bottom: 0px; right: 1%; }
}
@media (width <= 560px) {
  .hero-kicker-photo { width: 100%; height: 390px; box-shadow: 10px 12px 0 var(--ink); border: 0px; transform: none; }
  .hero-kicker-photo::after { box-shadow: rgba(245, 241, 232, 0.92) 0px 0px 0px 5px inset; }
  .hero-kicker-photo figcaption { max-width: 165px; padding: 11px 13px; bottom: 5px; left: 5px; }
  .hero-kicker-photo figcaption strong { font-size: 16px; }
  .hero-game { height: 435px; margin-top: 34px; }
  .date-card { bottom: -5px; right: 0px; }
}
.hero-figure-stage { background: 0px 0px; border: 0px; justify-content: center; align-items: center; width: min(43vw, 620px); height: 620px; display: flex; position: relative; overflow: visible; }
.hero-figure-stage::before { content: ""; filter: blur(22px); pointer-events: none; background: radial-gradient(circle, rgba(215, 228, 109, 0.2), rgba(215, 228, 109, 0.06) 43%, rgba(0, 0, 0, 0) 70%); width: 68%; height: 68%; position: absolute; top: 47%; left: 50%; transform: translate(-50%, -50%); }
.hero-figure-cutout { z-index: 1; object-fit: contain; object-position: center center; filter: drop-shadow(rgba(6, 18, 13, 0.48) 26px 30px 19px); background: 0px 0px; border: 0px; width: 116%; max-width: none; height: 100%; position: relative; transform: rotate(-2deg); }
.hero-figure-graphic { z-index: 1; background: 0px 0px; border: 0px; width: 122%; height: 122%; position: relative; overflow: visible; }
.hero-game { height: 640px; }
@media (width <= 900px) {
  .hero-figure-stage { width: min(88vw, 620px); height: 570px; }
  .hero-figure-cutout { width: 112%; }
  .hero-game { height: 600px; }
  .date-card { bottom: 0px; right: 1%; }
}
@media (width <= 560px) {
  .hero-figure-stage { width: 112%; height: 405px; }
  .hero-figure-cutout { width: 126%; transform: rotate(-2deg); }
  .hero-game { height: 445px; margin-top: 28px; }
  .date-card { bottom: -5px; right: 0px; }
}
.hero-photo-blend { background: 0px 0px; border: 0px; width: min(54vw, 760px); height: 620px; margin-right: -8vw; position: relative; overflow: hidden; mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0px, rgb(0, 0, 0) 18%, rgb(0, 0, 0) 100%); }
.hero-photo-blend::after { content: ""; pointer-events: none; background: linear-gradient(rgba(0, 84, 64, 0.1), rgba(0, 0, 0, 0) 38%, rgba(0, 84, 64, 0.22)); position: absolute; inset: 0px; }
.hero-photo-blend img { object-fit: cover; object-position: 55% center; filter: saturate(0.82) contrast(1.07); border: 0px; width: 100%; height: 100%; }
.hero-game { justify-content: flex-end; height: 640px; }
.date-card { bottom: 10px; right: -18px; }
@media (width <= 1200px) and (width >= 901px) {
  .hero-photo-blend { width: 48vw; height: 590px; margin-right: -5vw; }
}
@media (width <= 900px) {
  .hero-photo-blend { width: 100vw; height: 560px; margin-right: -6vw; mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0px, rgb(0, 0, 0) 12%, rgb(0, 0, 0) 100%); }
  .hero-game { height: 590px; }
  .date-card { bottom: 0px; right: 1%; }
}
@media (width <= 560px) {
  .hero-photo-blend { width: calc(22px + 100vw); height: 400px; margin-right: -22px; mask-image: linear-gradient(rgba(0, 0, 0, 0) 0px, rgb(0, 0, 0) 12%, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0) 100%); }
  .hero-photo-blend img { object-position: 57% center; }
  .hero-game { height: 435px; margin-top: 30px; }
  .date-card { bottom: -5px; right: 0px; }
}
.hero-photo-blend { background: var(--paper); width: 100%; max-width: 560px; height: 560px; box-shadow: 20px 22px 0 var(--ink); border: 1px solid rgba(255, 255, 255, 0.45); margin-right: 0px; padding: 7px; overflow: hidden; transform: rotate(1.1deg); mask-image: none; }
.hero-photo-blend::after { background: linear-gradient(rgba(0, 84, 64, 0.05), rgba(0, 0, 0, 0) 42%, rgba(0, 84, 64, 0.15)); inset: 7px; }
.hero-photo-blend img { object-position: 55% center; }
.hero-game { justify-content: center; }
@media (width <= 1200px) and (width >= 901px) {
  .hero-photo-blend { width: 100%; height: 520px; margin-right: 0px; }
}
@media (width <= 900px) {
  .hero-photo-blend { width: min(82vw, 560px); height: 540px; margin-right: 0px; mask-image: none; }
  .hero-game { height: 590px; }
}
@media (width <= 560px) {
  .hero-photo-blend { width: 100%; height: 390px; box-shadow: 10px 12px 0 var(--ink); border: 0px; margin-right: 0px; padding: 5px; transform: none; mask-image: none; }
  .hero-photo-blend::after { inset: 5px; }
  .hero-photo-blend img { object-position: 56% center; }
  .hero-game { height: 435px; margin-top: 34px; }
}
@media (width <= 900px) {
  .hero-photo-blend img { transform-origin: 54% 64%; object-position: 54% 64%; transform: scale(1.22); }
}
@media (width <= 560px) {
  .hero-photo-blend img { transform-origin: 55% 65%; object-position: 55% 65%; transform: scale(1.3); }
}
@media (width <= 900px) {
  .hero-photo-blend img { transform-origin: 54% 70%; object-position: 54% 70%; transform: scale(1.38); }
}
@media (width <= 560px) {
  .hero-photo-blend img { transform-origin: 55% 72%; object-position: 55% 72%; transform: scale(1.48); }
}
.stats { grid-template-columns: 0.78fr 1.55fr 0.72fr; gap: 0px; }
.stats div { min-width: 0px; }
.stats div:nth-child(2) { border-left: 1px solid var(--line); border-right: 1px solid var(--line); margin-inline: clamp(14px, 2vw, 28px); padding-inline: clamp(14px, 2vw, 28px); }
.stats strong { font-size: clamp(27px, 3vw, 48px); }
.impact-ring strong { letter-spacing: -0.065em; text-align: center; width: 82%; font-size: clamp(46px, 5.3vw, 78px); line-height: 0.9; }
.sponsor-note { border-top: 1px solid var(--line); padding: 22px 0px 0px; margin-top: 34px !important; }
.sponsor-note span, .sponsor-note small { letter-spacing: 0.13em; text-transform: uppercase; font: 800 9px / 1.4 Arial, sans-serif; display: block; }
.sponsor-note span { color: var(--pink); }
.sponsor-note strong { letter-spacing: -0.025em; margin: 7px 0px; font: 900 20px / 1.1 Arial, sans-serif; display: block; }
.sponsor-note small { color: rgb(102, 106, 101); }
@media (width <= 560px) {
  .stats { grid-template-columns: 1fr; }
  .stats div:nth-child(2) { border-left: 0px; border-right: 0px; margin-inline: 0px; padding-inline: 0px; }
  .stats strong { font-size: 42px; }
  .impact-ring strong { font-size: clamp(43px, 14vw, 68px); }
}
.sponsor-card { border: 1px solid var(--ink); background: var(--paper); color: var(--ink); box-shadow: 9px 9px 0 var(--acid); margin-top: 38px; padding: 28px 30px 24px; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; display: block; position: relative; overflow: hidden; }
.sponsor-card::before { content: ""; background: var(--pink); width: 7px; position: absolute; top: 0px; bottom: 0px; left: 0px; }
.sponsor-card .sponsor-label { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; font: 900 9px / 1 Arial, sans-serif; display: block; }
.sponsor-card img { width: min(100%, 330px); height: auto; margin: 22px 0px 18px; display: block; }
.sponsor-card .sponsor-message { max-width: 540px; font: 17px / 1.45 Georgia, serif; display: block; }
.sponsor-card > strong { border-top: 1px solid var(--line); letter-spacing: 0.13em; text-transform: uppercase; justify-content: space-between; align-items: center; margin-top: 22px; padding-top: 15px; font: 900 10px / 1 Arial, sans-serif; display: flex; }
.sponsor-card > strong b { color: var(--pink); font-size: 18px; }
@media (width <= 560px) {
  .sponsor-card { padding: 24px 22px 20px; }
  .sponsor-card img { margin: 18px 0px 15px; }
  .sponsor-card .sponsor-message { font-size: 15px; }
}
.impact-ring strong { letter-spacing: -0.055em; white-space: nowrap; justify-content: center; align-items: baseline; gap: 0.13em; width: 70%; max-width: 270px; font-size: clamp(42px, 4.6vw, 64px); line-height: 1; display: flex; }
.impact-ring strong span { font: inherit; letter-spacing: inherit; }
.impact-ring strong b { letter-spacing: 0px; font: 900 0.58em / 1 Arial, sans-serif; }
.impact-ring .approx { font-size: 22px; }
@media (width <= 560px) {
  .impact-ring strong { width: 68%; max-width: 240px; font-size: clamp(39px, 12.5vw, 56px); }
}
.sponsor-card { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 2px solid var(--ink); box-shadow: none; background: 0px 0px; grid-template-columns: minmax(180px, 330px); grid-template-areas: "label" "logo" "action"; align-items: start; margin-top: 38px; padding: 28px 0px 8px; display: grid; overflow: visible; transform: none; }
.sponsor-card::before { display: none; }
.sponsor-card:hover { box-shadow: none; transform: none; }
.sponsor-card .sponsor-label { color: var(--pink); grid-area: label; margin-bottom: 30px; }
.sponsor-card img { grid-area: logo; width: min(100%, 330px); margin: 0px; }
.sponsor-card > strong { white-space: nowrap; border: 0px; grid-area: action; justify-content: flex-start; gap: 12px; margin: 14px 0px 0px; padding: 0px; }
@media (width <= 560px) {
  .sponsor-card { grid-template-columns: minmax(0px, 290px); padding: 24px 0px 4px; }
  .sponsor-card .sponsor-label { margin-bottom: 24px; }
  .sponsor-card img { width: 100%; margin: 0px; }
  .sponsor-card > strong { justify-content: flex-start; margin-top: 12px; }
}
.impact-ring strong { gap: 0.12em; width: 76%; max-width: 300px; font-size: clamp(40px, 4.25vw, 58px); }
.impact-ring strong b { font: inherit; letter-spacing: inherit; }
.sponsor-card { border-top: 0px; margin-top: 68px; padding-top: 0px; }
.hero-photo-blend img { transform-origin: 54% 76%; object-position: 54% 76%; transform: scale(1.78); }
@media (width <= 900px) {
  .hero-photo-blend img { transform-origin: 54% 76%; object-position: 54% 76%; transform: scale(1.72); }
}
@media (width <= 560px) {
  .impact-ring strong { width: 74%; max-width: 260px; font-size: clamp(37px, 11.5vw, 52px); }
  .sponsor-card { margin-top: 54px; }
  .hero-photo-blend img { transform-origin: 55% 77%; object-position: 55% 77%; transform: scale(1.86); }
}
.partners-section { background: var(--ink); color: rgb(255, 255, 255); padding: 120px 7vw 130px; }
.partners-heading { justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 65px; display: flex; }
.partners-heading h2 { margin: 0px; font-size: clamp(58px, 7.4vw, 112px); }
.partners-heading .eyebrow { align-self: flex-start; margin-top: 13px; }
.partners-grid { grid-template-columns: 1fr 1fr; gap: clamp(45px, 7vw, 110px); display: grid; }
.partner-panel { grid-template-columns: clamp(130px, 14vw, 190px) 1fr; align-items: start; gap: clamp(24px, 3vw, 42px); display: grid; }
.partner-logo { aspect-ratio: 1 / 1; overflow: hidden; }
.partner-logo img { object-fit: cover; width: 100%; height: 100%; display: block; }
.kickerprofis-logo img { object-fit: contain; background: rgb(255, 255, 255); }
.partner-copy > span { color: var(--acid); letter-spacing: 0.16em; text-transform: uppercase; font: 900 9px / 1 Arial, sans-serif; display: block; }
.partner-copy h3 { letter-spacing: -0.045em; margin: 11px 0px 18px; font: 900 clamp(27px, 3vw, 43px) / 1 Arial, sans-serif; }
.partner-copy p { color: rgb(211, 216, 213); margin: 0px; font: 17px / 1.55 Georgia, serif; }
.partner-copy a { color: rgb(255, 255, 255); letter-spacing: 0.13em; text-transform: uppercase; border-top: 1px solid rgba(255, 255, 255, 0.22); justify-content: space-between; gap: 18px; margin-top: 28px; padding-top: 15px; font: 900 9px / 1 Arial, sans-serif; text-decoration: none; display: flex; }
.partner-copy a b { color: var(--acid); font-size: 17px; }
@media (width <= 1000px) {
  .partners-heading { display: block; }
  .partners-heading .eyebrow { margin-bottom: 20px; }
  .partners-grid { grid-template-columns: 1fr; }
  .partner-panel { grid-template-columns: 170px 1fr; }
}
@media (width <= 560px) {
  .partners-section { padding: 90px 22px 100px; }
  .partners-heading { margin-bottom: 45px; }
  .partner-panel { grid-template-columns: 105px 1fr; gap: 20px; }
  .partner-copy h3 { font-size: 25px; }
  .partner-copy p { grid-column: 1 / -1; font-size: 15px; }
  .partners-grid { gap: 58px; }
}
.gallery-head { display: block; }
.complete-gallery { margin-top: 55px; }
.year-tabs { scrollbar-width: thin; gap: 10px; padding: 6px 2px 20px; display: flex; overflow-x: auto; }
.year-tabs button { border: 1px solid var(--line); min-width: 90px; color: var(--ink); cursor: pointer; text-align: left; background: 0px 0px; border-radius: 0px; flex: 0 0 auto; padding: 14px 17px; font: 900 18px / 1 Arial, sans-serif; transition: 0.18s; }
.year-tabs button small { color: rgb(119, 119, 119); letter-spacing: 0.11em; text-transform: uppercase; margin-top: 7px; font: 700 8px / 1 Arial, sans-serif; display: block; }
.year-tabs button:hover, .year-tabs button.active { background: var(--pink); border-color: var(--pink); color: rgb(255, 255, 255); transform: translateY(-2px); }
.year-tabs button.active small, .year-tabs button:hover small { color: var(--acid); }
.gallery-summary { border-bottom: 1px solid var(--line); justify-content: space-between; align-items: end; margin: 22px 0px 18px; padding-bottom: 13px; display: flex; }
.gallery-summary strong { text-transform: uppercase; font: 900 25px / 1 Arial, sans-serif; }
.gallery-summary span { color: rgb(114, 116, 111); letter-spacing: 0.12em; text-transform: uppercase; font-size: 10px; font-weight: 800; }
.gallery-loading { border: 1px solid var(--line); min-height: 250px; color: var(--pink); letter-spacing: 0.12em; text-transform: uppercase; place-items: center; font-size: 11px; font-weight: 900; display: grid; }
.integrated-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); grid-auto-flow: dense; gap: 10px; display: grid; }
.gallery-tile { cursor: zoom-in; background: rgb(217, 221, 215); border: 0px; min-height: 230px; padding: 0px; position: relative; overflow: hidden; }
.gallery-tile.tile-0, .gallery-tile.tile-6 { grid-area: span 2 / span 2; min-height: 470px; }
.gallery-tile.tile-3 { grid-row: span 2; min-height: 470px; }
.gallery-tile img { object-fit: cover; filter: saturate(0.88) contrast(1.04); width: 100%; height: 100%; transition: transform 0.32s, filter 0.32s; position: absolute; inset: 0px; }
.gallery-tile img.portrait-photo { object-position: center 32%; }
.gallery-tile img.portrait-photo-strong { object-position: center 24%; }
.gallery-tile:hover img { filter: saturate() contrast(1.04); transform: scale(1.035); }
.gallery-tile > span { color: rgb(255, 255, 255); letter-spacing: 0.1em; background: rgba(0, 84, 64, 0.9); min-width: 30px; padding: 7px; font-size: 9px; font-weight: 900; position: absolute; bottom: 10px; right: 10px; }
.load-more { border: 1px solid var(--pink); width: 100%; color: var(--pink); cursor: pointer; letter-spacing: 0.1em; text-transform: uppercase; background: 0px 0px; justify-content: space-between; align-items: center; margin-top: 18px; padding: 20px 24px; font-size: 11px; font-weight: 900; transition: 0.2s; display: flex; }
.load-more:hover { background: var(--pink); color: rgb(255, 255, 255); }
.load-more span { opacity: 0.7; }
.lightbox { z-index: 1000; color: rgb(255, 255, 255); background: rgba(4, 14, 10, 0.96); grid-template-columns: 80px minmax(0px, 1fr) 80px; place-items: center; padding: 35px; display: grid; position: fixed; inset: 0px; }
.lightbox figure { flex-direction: column; align-items: center; max-width: min(1200px, -220px + 100vw); max-height: calc(-70px + 100vh); margin: 0px; display: flex; }
.lightbox figure img { object-fit: contain; width: auto; max-width: 100%; height: auto; max-height: calc(-125px + 100vh); }
.lightbox figcaption { letter-spacing: 0.12em; text-transform: uppercase; justify-content: space-between; width: 100%; padding-top: 12px; font-size: 11px; display: flex; }
.lightbox button { color: rgb(255, 255, 255); cursor: pointer; background: 0px 0px; border: 0px; font-size: 34px; }
.lightbox button:hover { color: var(--acid); }
.lightbox-close { position: absolute; top: 14px; right: 24px; font-size: 42px !important; }
.lightbox-prev, .lightbox-next { width: 60px; height: 60px; }
@media (width <= 900px) {
  .integrated-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .lightbox { grid-template-columns: 44px minmax(0px, 1fr) 44px; padding: 24px 8px; }
  .lightbox figure { max-width: calc(-105px + 100vw); }
}
@media (width <= 560px) {
  .year-tabs button { min-width: 78px; padding: 12px; }
  .integrated-grid { gap: 6px; }
  .gallery-tile { min-height: 150px; }
  .gallery-tile.tile-0, .gallery-tile.tile-6, .gallery-tile.tile-3 { min-height: 306px; }
  .lightbox { grid-template-columns: 36px minmax(0px, 1fr) 36px; }
  .lightbox-prev, .lightbox-next { width: 34px; padding: 0px; }
  .lightbox figure { max-width: calc(-82px + 100vw); }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-tile img, .year-tabs button { transition: none; }
}
.event-section { color: var(--ink); background: rgb(255, 255, 255); grid-template-columns: 1.08fr 0.92fr; padding: 0px; display: grid; }
.event-poster-head { border-right: 1px solid var(--line); flex-direction: column; justify-content: center; min-height: 790px; padding: 105px 6.5vw 95px 7vw; display: flex; }
.event-edition { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; justify-content: space-between; gap: 20px; margin: 0px 0px 38px; font-size: 10px; font-weight: 900; display: flex; }
.event-date { color: var(--pink); align-items: center; gap: 22px; display: flex; }
.event-date > strong { letter-spacing: -0.1em; font: 900 clamp(112px, 15vw, 230px) / 0.69 Arial, sans-serif; }
.event-date > div { border-left: 2px solid var(--acid); flex-direction: column; padding-left: 22px; display: flex; }
.event-date span { text-transform: uppercase; font: 900 clamp(25px, 3vw, 44px) / 0.9 Arial, sans-serif; }
.event-date small { letter-spacing: 0.17em; margin-top: 9px; font: 900 13px / 1 Arial, sans-serif; }
.event-poster-head h2 { margin-top: 43px; font-size: clamp(45px, 5.5vw, 82px); }
.event-poster-head h2 em { color: var(--pink); }
.event-poster-head .event-challenge { color: rgb(80, 85, 79); max-width: 650px; margin: 35px 0px 0px; font: clamp(18px, 1.65vw, 23px) / 1.48 Georgia, serif; }
.event-poster-head .event-actions { margin-top: 36px; }
.event-program { background: rgb(238, 243, 240); flex-direction: column; justify-content: center; min-height: 790px; padding: 90px 6vw 75px 5vw; display: flex; }
.event-place { grid-template-columns: 150px minmax(0px, 1fr) 122px; align-items: center; column-gap: 35px; min-height: 112px; margin-bottom: 48px; display: grid; }
.event-place > span { color: var(--pink); letter-spacing: -0.07em; font: 900 clamp(42px, 4vw, 62px) / 1 Arial, sans-serif; }
.event-place-copy { flex: 1 1 auto; min-width: 0px; }
.event-place-copy strong, .event-place-copy p { margin: 0px; font: 900 clamp(14px, 1.25vw, 18px) / 1.2 Arial, sans-serif; display: block; }
.event-place-copy strong { text-transform: uppercase; }
.event-place-copy p { color: rgb(85, 91, 86); margin-top: 4px; }
.event-place img { opacity: 0.78; object-fit: contain; object-position: center center; width: auto; max-width: 122px; max-height: 64px; margin: 0px; }
.event-direction > span { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; font-size: 10px; font-weight: 900; display: block; }
.event-program-times { flex-direction: column; gap: 10px; display: flex; }
.event-program-times > div { grid-template-columns: 150px minmax(0px, 1fr); align-items: center; column-gap: 35px; min-height: 102px; display: grid; }
.event-program-times time { color: var(--pink); letter-spacing: -0.07em; font: 900 clamp(42px, 4vw, 62px) / 1 Arial, sans-serif; }
.event-program-times span { text-align: left; text-transform: uppercase; flex: 1 1 auto; font: 900 clamp(18px, 1.7vw, 25px) / 1.1 Arial, sans-serif; }
.event-challenge { color: rgb(84, 90, 85); max-width: 590px; margin: 38px 0px 0px; font: 19px / 1.55 Georgia, serif; }
.event-challenge strong { color: var(--ink); }
.event-actions { align-items: center; gap: 28px; margin-top: 42px; display: flex; }
.event-primary { background: var(--pink); color: rgb(255, 255, 255); }
.event-mail { color: var(--pink); letter-spacing: 0.12em; text-transform: uppercase; font-size: 10px; font-weight: 900; }
.event-hospitality { margin-top: 72px; }
.hospitality-copy { padding-bottom: 18px; position: relative; }
.hospitality-copy h3 { color: var(--ink); letter-spacing: -0.065em; text-transform: uppercase; margin: 0px; font: 900 clamp(42px, 4.7vw, 70px) / 0.86 Arial, sans-serif; }
.hospitality-copy h3 em { color: var(--pink); text-transform: none; font-family: Georgia, serif; font-weight: 400; }
.hospitality-copy > p:not(.beer-note) { color: rgb(79, 85, 80); max-width: 520px; margin: 27px 0px 0px; font: 18px / 1.5 Georgia, serif; }
.beer-callout { color: var(--ink); letter-spacing: 0.025em; text-transform: uppercase; align-items: baseline; gap: 14px; margin-top: 30px; font: 900 clamp(15px, 1.4vw, 20px) / 1.15 Arial, sans-serif; display: flex; }
.beer-callout b { color: var(--pink); letter-spacing: -0.06em; white-space: nowrap; font: 900 clamp(31px, 3.3vw, 48px) / 0.8 Arial, sans-serif; }
.beer-callout.special-extra { align-items: flex-start; flex-direction: column; gap: 7px; }
.beer-callout.special-extra b, .beer-callout.special-extra span { letter-spacing: 0.015em; white-space: normal; font: 900 clamp(16px, 1.6vw, 22px) / 1.25 Arial, sans-serif; }
.beer-note { color: rgb(79, 85, 80); max-width: 520px; margin: 14px 0px 0px; font: 18px / 1.5 Georgia, serif; }
.event-direction { margin-top: 60px; }
.event-direction img { object-fit: contain; object-position: left center; width: auto; max-width: 175px; height: 50px; margin: 21px 0px 15px; }
.participants-page nav a.active { color: var(--pink); }
.participants-hero { background: var(--pink); min-height: 590px; color: var(--paper); grid-template-columns: 1fr auto; align-items: center; gap: 7vw; padding: 90px 7vw; display: grid; overflow: hidden; }
.participants-hero h1 { font-size: clamp(70px, 10vw, 150px); }
.participants-hero > div > p:last-child { max-width: 690px; margin: 40px 0px 0px; font: clamp(20px, 2vw, 28px) / 1.45 Georgia, serif; }
.participants-hero aside { aspect-ratio: 1 / 1; border: 2px dashed var(--acid); background: var(--ink); text-align: center; border-radius: 50%; flex-direction: column; justify-content: center; align-items: center; width: min(25vw, 300px); display: flex; transform: rotate(4deg); }
.participants-hero aside strong { color: var(--acid); letter-spacing: -0.08em; font: 900 clamp(75px, 9vw, 130px) / 0.8 Arial, sans-serif; }
.participants-hero aside span { letter-spacing: 0.16em; text-transform: uppercase; margin-top: 20px; font-size: 9px; font-weight: 900; }
.participants-content { padding: 120px 7vw; }
.participants-intro { grid-template-columns: 1fr 0.75fr; align-items: end; gap: 10vw; display: grid; }
.participants-intro h2 { font-size: clamp(54px, 7vw, 105px); }
.participants-intro > p { color: rgb(85, 88, 81); margin: 0px 0px 10px; font: 20px / 1.55 Georgia, serif; }
.participants-break { border-left: 8px solid var(--acid); background: var(--ink); color: var(--paper); grid-template-columns: minmax(210px, 0.42fr) 1fr; align-items: center; gap: 50px; margin-top: 60px; padding: 34px 40px; display: grid; }
.participants-break > span { color: var(--acid); letter-spacing: -0.025em; text-transform: uppercase; font: 900 clamp(19px, 2vw, 27px) / 1.05 Arial, sans-serif; }
.participants-break small { color: var(--acid); letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 10px; font-size: 9px; font-weight: 900; display: block; }
.participants-break p { color: rgb(223, 227, 223); margin: 0px; font: 17px / 1.55 Georgia, serif; }
.participants-confirmation { display: block; }
.participants-break strong { color: rgb(255, 255, 255); }
.participants-grid { border-top: 3px solid var(--ink); grid-template-columns: repeat(3, 1fr); margin: 70px 0px 0px; padding: 0px; list-style: none; display: grid; }
.participants-grid li { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 22px; min-height: 230px; padding: 28px; display: flex; }
.participants-grid li > span { color: var(--pink); font: 900 15px / 1 Arial, sans-serif; }
.participants-grid small { color: rgb(119, 119, 119); letter-spacing: 0.15em; text-transform: uppercase; font-size: 8px; font-weight: 900; }
.participants-grid h3 { text-transform: uppercase; margin: 12px 0px; font: 900 24px / 1.05 Arial, sans-serif; }
.participants-grid p { color: var(--pink); font: italic 18px / 1.3 Georgia, serif; }
.participants-list { border-top: 3px solid var(--ink); margin-top: 70px; }
.participants-list-head, .participants-list-row { grid-template-columns: 90px minmax(220px, 1fr) minmax(220px, 1fr); align-items: center; display: grid; }
.participants-list-head { border-bottom: 1px solid var(--ink); color: rgb(116, 118, 111); letter-spacing: 0.16em; text-transform: uppercase; min-height: 52px; font: 900 8px / 1 Arial, sans-serif; }
.participants-list-row { border-bottom: 1px solid var(--line); min-height: 92px; }
.participants-list-row > span { color: var(--pink); font: 900 15px / 1 Arial, sans-serif; }
.participants-list-row > strong { text-transform: uppercase; font: 900 clamp(18px, 2vw, 27px) / 1.1 Arial, sans-serif; }
.participants-list-row > em { color: var(--pink); font: italic clamp(18px, 2vw, 25px) / 1.2 Georgia, serif; }
.participants-list-empty { border-bottom: 1px solid var(--line); text-align: center; background: rgb(236, 232, 222); flex-direction: column; justify-content: center; align-items: center; gap: 12px; min-height: 190px; padding: 35px; display: flex; }
.participants-list-empty strong { text-transform: uppercase; font: 900 clamp(23px, 3vw, 36px) / 1 Arial, sans-serif; }
.participants-list-empty span { color: rgb(102, 105, 98); font: 17px / 1.45 Georgia, serif; }
.participants-privacy { color: rgb(116, 118, 111); letter-spacing: 0.08em; margin: 16px 0px 0px; font-size: 10px; font-weight: 800; }
.participants-empty { border: 1px solid var(--line); background: rgb(236, 232, 222); grid-template-columns: auto 1fr; align-items: center; gap: 55px; min-height: 330px; margin-top: 70px; padding: 50px 6vw; display: grid; }
.participants-empty > span { color: rgba(0, 0, 0, 0); -webkit-text-stroke: 2px var(--pink); letter-spacing: -0.1em; font: 900 clamp(110px, 16vw, 220px) / 0.7 Arial, sans-serif; }
.participants-empty small, .participants-cta small { color: var(--pink); letter-spacing: 0.16em; text-transform: uppercase; font-size: 8px; font-weight: 900; }
.participants-empty h3 { text-transform: uppercase; margin: 12px 0px 14px; font: 900 clamp(28px, 3.2vw, 45px) / 1 Arial, sans-serif; }
.participants-empty p { color: rgb(85, 88, 81); max-width: 610px; margin: 0px; font: 18px / 1.55 Georgia, serif; }
.participants-cta { background: var(--ink); color: rgb(255, 255, 255); grid-template-columns: 1fr 1fr; align-items: center; gap: 9vw; margin-top: 85px; padding: 65px; display: grid; }
.participants-cta h2 { margin-top: 15px; font-size: clamp(48px, 6vw, 88px); }
.participants-cta p { color: rgb(201, 206, 201); margin: 0px 0px 28px; line-height: 1.7; }
@media (width <= 1050px) {
  .event-section { grid-template-columns: 1fr; }
  .event-poster-head, .event-program { min-height: auto; }
  .event-poster-head { border-right: 0px; }
  .participants-intro { grid-template-columns: 1fr; }
}
@media (width <= 700px) {
  .event-poster-head, .event-program { padding: 80px 22px; }
  .event-poster-head h2 { font-size: 45px; }
  .event-edition { flex-direction: column; align-items: flex-start; }
  .event-date > strong { font-size: 116px; }
  .event-place, .event-program-times > div { grid-template-columns: 104px minmax(0px, 1fr); column-gap: 18px; }
  .event-place img { grid-column: 2; max-width: 82px; margin-top: 10px; }
  .beer-callout { flex-direction: column; align-items: flex-start; }
  .event-actions { flex-direction: column; align-items: stretch; }
  .event-mail { text-align: center; }
  .participants-hero { grid-template-columns: 1fr; min-height: auto; padding: 80px 22px; }
  .participants-hero h1 { font-size: 62px; }
  .participants-hero aside { width: 210px; margin-top: 30px; }
  .participants-intro > p { margin-top: 20px; }
  .participants-break { border-left-width: 6px; grid-template-columns: 1fr; gap: 18px; margin-top: 42px; padding: 30px 24px; }
  .participants-grid { grid-template-columns: 1fr; }
  .participants-empty { grid-template-columns: 1fr; gap: 30px; padding: 45px 28px; }
  .participants-empty > span { font-size: 130px; }
  .participants-cta { grid-template-columns: 1fr; gap: 35px; padding: 45px 28px; }
  .participants-list-head { display: none; }
  .participants-list-row { grid-template-columns: 52px 1fr; gap: 7px 15px; padding: 22px 0px; }
  .participants-list-row > span { grid-row: 1 / 3; }
  .participants-list-row > em { grid-column: 2; }
  .participants-list-empty { text-align: left; align-items: flex-start; padding: 32px 22px; }
  .participants-privacy { line-height: 1.5; }
}
@media (width <= 1220px) and (width >= 901px) {
  nav { gap: 18px; }
}
.legal-page { background: var(--paper); }
.legal-hero { background: var(--pink); color: rgb(255, 255, 255); padding: 100px 7vw 75px; }
.legal-hero h1 { max-width: 1100px; font-size: clamp(58px, 8vw, 120px); }
.legal-hero p:last-child { max-width: 700px; margin: 35px 0px 0px; font: 20px / 1.5 Georgia, serif; }
.legal-content { width: min(980px, 86vw); margin: 0px auto; padding: 100px 0px 125px; }
.legal-content section { margin-top: 58px; }
.legal-content h2 { color: var(--pink); letter-spacing: -0.035em; margin: 64px 0px 22px; font-size: clamp(25px, 3vw, 40px); line-height: 1.05; }
.legal-content h2:first-child { margin-top: 0px; }
.legal-content p, .legal-content li { color: rgb(66, 73, 67); font-size: 16px; line-height: 1.75; }
.legal-content p { margin: 0px; }
.legal-content p + p { margin-top: 0px; }
.legal-content .legal-paragraph-break { display: block; height: 28px; }
.legal-content .legal-contact-details { margin-top: 0px; }
.legal-content .legal-contact-details p + p, .legal-content p.compact-follow { margin-top: 0px; }
.legal-content ul { margin: 0px; padding-left: 28px; list-style: disc; }
.legal-content li + li { margin-top: 0px; }
.legal-content a { color: var(--pink); text-underline-offset: 3px; text-decoration: underline; }
.legal-status { border-top: 1px solid var(--line); margin-top: 65px; padding-top: 22px; font-weight: 800; }
@media (width <= 560px) {
  .legal-hero { padding: 75px 22px 60px; }
  .legal-content { width: auto; padding: 75px 22px 95px; }
  .legal-content section { margin-top: 45px; }
  .legal-content h2 { margin-top: 48px; }
}
.__font_geist_0tvmz3h { font-family: Geist, sans-serif; }
.__variable_geist_0tvmz3h { --font-geist-sans: 'Geist', sans-serif; }
.__font_geist_mono_1diim1n { font-family: "Geist Mono", sans-serif; }
.__variable_geist_mono_1diim1n { --font-geist-mono: 'Geist Mono', sans-serif; }

/* Match the approved first-draft portrait crop and framing. */
.hero-photo-blend img {
  object-fit: cover;
  object-position: 64% 84%;
  transform: scale(2.05);
  transform-origin: 64% 84%;
}

/* Portrait frame from the approved first draft. */
.hero-photo-blend {
  width: min(36vw, 440px);
  max-width: 440px;
  aspect-ratio: 0.82;
  height: auto;
}

@media (width <= 1050px) {
  .hero-photo-blend { width: min(78vw, 440px); }
}

@media (width <= 700px) {
  .hero-photo-blend { width: 100%; }
}

.hero-game .date-card { display: block; }

.hero-partner-logo {
  width: clamp(225px, 23vw, 350px);
  height: auto;
  margin: 0 0 28px;
  transform: translateY(-10px);
}

.back-to-top {
  z-index: 900;
  position: fixed;
  right: clamp(16px, 2.4vw, 34px);
  bottom: clamp(16px, 2.4vw, 34px);
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(16, 23, 19, 0.9);
  color: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  font: 400 23px/1 Arial, sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.2s, transform 0.2s, background 0.2s;
}
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top:hover, .back-to-top:focus-visible { background: var(--pink); outline: 2px solid var(--acid); outline-offset: 3px; }

@media (width <= 700px) {
  .hero-partner-logo { width: min(68vw, 285px); margin-bottom: 24px; }
  .hero-photo-blend img { object-position: 64% 84%; transform: scale(2.1); transform-origin: 64% 84%; }
  .back-to-top { width: 42px; height: 42px; right: 15px; bottom: 15px; font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: none; }
}

/* Run the ticker in the opposite direction while keeping the loop seamless. */
@keyframes move {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
html{scroll-behavior:smooth} .rankings-modal[hidden],.lightbox[hidden]{display:none!important}
