@font-face{font-family:"Roboto";src:url("/assets/fonts/roboto/Roboto-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-stretch:75% 100%;font-display:swap}

/* Approved source: main-style-1.css */

:root {
  --bg: #f7f3ed;
  --surface: #ffffff;
  --surface-soft: #efe8de;
  --ink: #242321;
  --muted: #68635d;
  --line: #ddd4c8;
  --accent: #a6422e;
  --accent-dark: #783025;
  --accent-soft: #f2d9ce;
  --gold: #b48745;
  --focus: #7f3426;
  --shadow-sm: 0 0.5rem 1.5rem rgb(56 45 36 / 8%);
  --shadow-md: 0 1rem 3rem rgb(56 45 36 / 12%);
  --radius-sm: 0.75rem;
  --radius-md: 1.25rem;
  --radius-lg: 2rem;
  --container: min(100% - 2rem, 75rem);
  --section-space: clamp(4.5rem, 8vw, 8rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 20rem;
  background: var(--bg);
  color: var(--ink);
  font-family:"Roboto",Arial,sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-underline-offset: 0.2em;
}

button,
input,
select {
  color: inherit;
  font: inherit;
}

button,
summary {
  cursor: pointer;
}

:focus-visible {
  outline: 0.19rem solid var(--focus);
  outline-offset: 0.2rem;
}

[hidden] {
  display: none !important;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100;
  padding: 0.7rem 1rem;
  border-radius: 0.5rem;
  background: var(--ink);
  color: #fff;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: none;
}

.container,
.section,
.archive-navigation,
.site-header__inner,
.site-footer__inner {
  width: var(--container);
  margin-inline: auto;
}

.site-header {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgb(255 255 255 / 20%);
  background: #292623;
  color: #fff;
}

.site-header__inner {
  min-height: 4.7rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-weight: 730;
  text-decoration: none;
  letter-spacing: -0.02em;
}

.brand__mark {
  display: grid;
  width: 2.1rem;
  height: 2.1rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 44%);
  border-radius: 50%;
  color: #f4cbb8;
  font-family:"Roboto",Arial,sans-serif;
}

.site-nav {
  display: flex;
  gap: clamp(0.8rem, 2vw, 1.8rem);
  font-size: 0.93rem;
}

.site-nav a {
  text-decoration: none;
  color: rgb(255 255 255 / 78%);
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: #fff;
}

.hero-wrap {
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgb(194 106 75 / 24%), transparent 28rem),
    linear-gradient(155deg, #2b2724 0%, #40352f 57%, #6f382d 100%);
  color: #fff;
}

.breadcrumbs {
  padding-block: 1.3rem;
  font-size: 0.84rem;
  color: rgb(255 255 255 / 67%);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.7rem;
  opacity: 0.52;
}

.breadcrumbs a:hover {
  color: #fff;
}

.archive-hero {
  position: relative;
  width: var(--container);
  min-height: clamp(31rem, 65vw, 44rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.7fr);
  align-items: center;
  gap: 2rem;
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.archive-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 45rem;
}

.eyebrow {
  margin: 0 0 0.9rem;
  color: var(--accent);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.archive-hero .eyebrow,
.subpage-hero .eyebrow {
  color: #f2b69d;
}

h1,
h2,
h3,
p {
  overflow-wrap: break-word;
}

h1,
h2,
h3 {
  margin-top: 0;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

h1 {
  margin-bottom: 1.4rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(3rem, 8.6vw, 7.4rem);
  font-weight: 500;
}

h2 {
  margin-bottom: 1.3rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(2.2rem, 4.8vw, 4.3rem);
  font-weight: 500;
}

h3 {
  font-size: 1.3rem;
}

.hero-lead {
  max-width: 39rem;
  margin: 0;
  color: rgb(255 255 255 / 86%);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.hero-place {
  margin-top: 2rem;
  color: rgb(255 255 255 / 63%);
  font-size: 0.94rem;
}

.hero-number {
  justify-self: end;
  color: transparent;
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(18rem, 38vw, 36rem);
  line-height: 0.7;
  -webkit-text-stroke: 1px rgb(255 255 255 / 22%);
  user-select: none;
}

.section {
  padding-block: var(--section-space);
}

.section--soft {
  position: relative;
  background: var(--surface-soft);
  box-shadow: 0 0 0 100vmax var(--surface-soft);
  clip-path: inset(0 -100vmax);
}

.section--results {
  background: var(--surface-soft);
  box-shadow: 0 0 0 100vmax var(--surface-soft);
  clip-path: inset(0 -100vmax);
}

.section-heading {
  max-width: 47rem;
  margin-bottom: clamp(2.2rem, 5vw, 4rem);
}

.section-heading > p:last-child {
  color: var(--muted);
  font-size: 1.06rem;
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 0.75fr);
  gap: clamp(2.5rem, 8vw, 7rem);
}

.about-grid > div:first-child > p:not(.eyebrow) {
  max-width: 48rem;
  color: #4d4944;
  font-size: 1.05rem;
}

.facts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: start;
  gap: 0.8rem;
}

.fact {
  min-height: 8.7rem;
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.fact strong {
  color: var(--accent);
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(2.3rem, 5vw, 3.6rem);
  font-weight: 500;
  line-height: 1;
}

.fact span {
  color: var(--muted);
  font-size: 0.88rem;
}

.city-list {
  margin-top: 2.7rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.city-list span,
.role-badge {
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent-dark);
  font-size: 0.78rem;
  font-weight: 700;
}

.resource-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.resource-card {
  min-height: 12rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  background: var(--ink);
  color: #fff;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.resource-card--partner {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
}

.resource-card:hover {
  transform: translateY(-0.2rem);
  box-shadow: var(--shadow-md);
}

.resource-card span {
  margin-bottom: auto;
  color: var(--gold);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-card strong {
  margin-block: 1rem 0.3rem;
  font-size: 1.14rem;
}

.resource-card small {
  color: var(--muted);
  line-height: 1.45;
}

.resource-card:not(.resource-card--partner) small {
  color: rgb(255 255 255 / 65%);
}

.organizer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: clamp(1rem, 2.5vw, 2rem);
}

.organizer-card {
  order: var(--display-order);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.organizer-card[data-featured="true"] {
  margin-top: -1.25rem;
  box-shadow: var(--shadow-md);
}

.organizer-card:hover {
  transform: translateY(-0.25rem);
  box-shadow: var(--shadow-md);
}

.organizer-card__photo {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: linear-gradient(145deg, #d9c8bb, #b88a72);
}

.organizer-card__photo::before {
  content: attr(data-initials);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgb(255 255 255 / 58%);
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(4rem, 9vw, 7rem);
}

.organizer-card__photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organizer-card__photo img.is-unavailable {
  opacity: 0;
}

.organizer-card__body {
  padding: clamp(1.2rem, 2.5vw, 1.8rem);
}

.role-badge {
  display: inline-block;
  margin-bottom: 1.25rem;
}

.organizer-card h3 {
  margin-bottom: 1rem;
}

.organizer-card h3 span,
.organizer-card h3 strong {
  display: block;
}

.organizer-card h3 strong {
  margin-bottom: 0.2rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 500;
}

.organizer-card h3 span {
  color: var(--muted);
  font-size: 0.98rem;
  font-weight: 550;
}

.organizer-card__body > p:last-child {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.teams-teaser {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
  align-items: center;
  gap: clamp(3rem, 9vw, 8rem);
}

.teams-teaser__copy > p:not(.eyebrow) {
  color: var(--muted);
}

.button {
  display: inline-flex;
  min-height: 3.25rem;
  margin-top: 1rem;
  padding-inline: 1.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight: 750;
  text-decoration: none;
}

.button:hover {
  background: var(--accent-dark);
}

.team-samples {
  display: grid;
  gap: 0.8rem;
}

.team-samples article {
  padding: 1.25rem 1.4rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.1rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.team-samples article:nth-child(2) {
  transform: translateX(2rem);
}

.team-samples span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.75rem;
}

.team-samples small {
  color: var(--muted);
}

.results-toolbar {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.results-toolbar label {
  display: grid;
  gap: 0.4rem;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.results-toolbar select {
  min-width: 11rem;
  min-height: 2.8rem;
  padding-inline: 0.8rem 2.2rem;
  border: 1px solid var(--line);
  border-radius: 0.65rem;
  background: var(--surface);
  font-weight: 650;
}

.segmented {
  padding: 0.25rem;
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgb(255 255 255 / 65%);
}

.segmented button {
  min-height: 2.5rem;
  padding-inline: 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.segmented button.is-active {
  background: var(--ink);
  color: #fff;
}

.standings-list,
.fight-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.standing-row {
  min-height: 4.7rem;
  padding: 0.65rem 1rem;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 5rem 5.5rem;
  align-items: center;
  gap: 0.8rem;
  border-bottom: 1px solid var(--line);
}

.standing-row:last-child,
.fight-row:last-child {
  border-bottom: 0;
}

.standing-row__place {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent-dark);
  font-weight: 800;
}

.standing-row > strong,
.standing-row > span:last-child {
  text-align: right;
}

.standing-row small {
  color: var(--muted);
}

.team-meta summary {
  width: fit-content;
  font-weight: 720;
  list-style: none;
}

.team-meta summary::-webkit-details-marker {
  display: none;
}

.team-meta summary::after {
  content: " +";
  color: var(--accent);
}

.team-meta[open] summary::after {
  content: " −";
}

.team-meta p {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.fight-row {
  min-height: 4.2rem;
  padding: 0.7rem 1rem;
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) 4rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid var(--line);
}

.fight-row__stage {
  color: var(--muted);
  font-size: 0.78rem;
}

.fight-row strong {
  text-align: center;
}

.fight-row > span:last-child {
  text-align: right;
}

.matrix-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  overscroll-behavior-inline: contain;
}

.result-matrix {
  min-width: 55rem;
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.result-matrix th,
.result-matrix td {
  padding: 0.8rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.result-matrix th:first-child {
  position: sticky;
  z-index: 1;
  left: 0;
  min-width: 11rem;
  background: #fffaf5;
  text-align: left;
}

.personal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.personal-group {
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.personal-group h3 {
  margin-bottom: 1.5rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: 2rem;
  font-weight: 500;
}

.personal-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.personal-group li {
  padding-block: 0.8rem;
  display: grid;
  grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1fr);
  gap: 0 1rem;
  border-top: 1px solid var(--line);
}

.personal-group li span {
  grid-row: 1 / 3;
  color: var(--accent-dark);
  font-size: 0.78rem;
  font-weight: 700;
}

.personal-group li small {
  color: var(--muted);
}

.gallery {
  display: grid;
  grid-template-columns: 1.25fr 0.9fr 0.9fr;
  gap: 1rem;
}

.gallery__item {
  margin: 0;
}

.gallery__item button {
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-md);
  background: #ddd4c9;
}

.gallery__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 250ms ease;
}

.gallery__item button:hover img {
  transform: scale(1.015);
}

.gallery__item figcaption {
  margin-top: 0.55rem;
  color: var(--muted);
  font-size: 0.76rem;
}

.gallery-dialog {
  width: min(72rem, calc(100% - 2rem));
  padding: 1rem;
  border: 0;
  border-radius: var(--radius-md);
  background: #1f1d1b;
  color: #fff;
}

.gallery-dialog::backdrop {
  background: rgb(15 13 12 / 80%);
}

.gallery-dialog[open] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
}

.gallery-dialog figure {
  margin: 0;
}

.gallery-dialog img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
}

.gallery-dialog figcaption {
  padding-top: 0.6rem;
  color: rgb(255 255 255 / 70%);
  font-size: 0.82rem;
}

.gallery-dialog button {
  width: 2.7rem;
  height: 2.7rem;
  border: 1px solid rgb(255 255 255 / 30%);
  border-radius: 50%;
  background: rgb(255 255 255 / 9%);
  color: #fff;
}

.gallery-dialog__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
}

.archive-navigation {
  padding-block: clamp(2rem, 4vw, 4rem) clamp(5rem, 8vw, 8rem);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid var(--line);
}

.archive-navigation a,
.back-link {
  font-weight: 750;
  text-decoration: none;
}

.archive-navigation a:hover,
.back-link:hover {
  color: var(--accent);
}

.site-footer {
  background: var(--ink);
  color: #fff;
}

.site-footer__inner {
  min-height: 9rem;
  padding-block: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.site-footer p {
  font-weight: 750;
}

.site-footer a {
  color: rgb(255 255 255 / 70%);
}

.subpage-hero {
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
  background: linear-gradient(155deg, #2b2724, #51352e);
  color: #fff;
}

.subpage-hero h1 {
  margin-bottom: 1rem;
  font-size: clamp(2.8rem, 7vw, 5.7rem);
}

.subpage-hero .container > p:last-child {
  max-width: 45rem;
  margin-bottom: 0;
  color: rgb(255 255 255 / 75%);
  font-size: 1.08rem;
}

.roster-section {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.search-panel {
  position: sticky;
  z-index: 5;
  top: 0.7rem;
  margin-bottom: 2rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 94%);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(0.7rem);
}

.search-panel > label {
  display: block;
  margin-bottom: 0.45rem;
  font-weight: 750;
}

.search-panel__field {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.6rem;
  border: 1px solid #bdb3a7;
  border-radius: 0.7rem;
  background: #fff;
  padding-inline: 0.8rem;
}

.search-panel__field span {
  font-size: 1.5rem;
}

.search-panel input {
  min-width: 0;
  min-height: 3rem;
  border: 0;
  outline: 0;
  background: transparent;
}

.search-panel > p {
  margin: 0.55rem 0 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.search-panel__actions {
  position: absolute;
  right: 1.5rem;
  bottom: 1.2rem;
  display: flex;
  gap: 0.8rem;
}

.text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent-dark);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.class-groups {
  display: grid;
  gap: 1.2rem;
}

.class-group {
  border-radius: var(--radius-md);
}

.class-group > summary {
  padding: 1.1rem 1.3rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  list-style: none;
}

.class-group > summary::-webkit-details-marker {
  display: none;
}

.class-group > summary span {
  font-family:"Roboto",Arial,sans-serif;
  font-size: 1.8rem;
}

.class-group > summary small {
  color: var(--muted);
}

.class-group[open] > summary {
  margin-bottom: 1rem;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 1rem;
}

.team-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

.team-card header,
.team-card footer {
  padding: 1.2rem;
}

.team-card header {
  min-height: 10rem;
  background: linear-gradient(150deg, #f4ede5, #fff);
}

.team-card header p,
.team-card header span,
.team-card footer span {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 0.77rem;
}

.team-card h3 {
  margin: 0.35rem 0 0.6rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: 1.65rem;
  font-weight: 500;
}

.team-card ol {
  margin: 0;
  padding: 1rem 1.2rem 1rem 2.8rem;
}

.team-card li {
  padding-block: 0.25rem;
}

.team-card footer {
  border-top: 1px solid var(--line);
}

.team-card footer strong {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.9rem;
}

.no-results {
  padding: 2rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius-md);
  text-align: center;
}

.back-link {
  display: inline-block;
  margin-top: 3rem;
}

@media (max-width: 64rem) {
  .archive-hero {
    grid-template-columns: minmax(0, 1fr) minmax(11rem, 0.45fr);
  }

  .about-grid,
  .teams-teaser {
    gap: 3rem;
  }

  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-samples article:nth-child(2) {
    transform: none;
  }

  .gallery {
    grid-template-columns: 1fr 1fr;
  }

  .gallery__item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 56rem) {
  .organizer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .organizer-card[data-featured="true"] {
    margin-top: 0;
  }
}

@media (max-width: 47.99rem) {
  :root {
    --container: min(100% - 1.25rem, 75rem);
    --section-space: clamp(3.8rem, 15vw, 5.5rem);
  }

  .site-header__inner {
    min-height: 4rem;
  }

  .site-nav a:not([aria-current="page"]) {
    display: none;
  }

  .archive-hero {
    min-height: 31rem;
    grid-template-columns: 1fr;
    padding-block: 3rem 4.5rem;
  }

  .hero-number {
    position: absolute;
    right: -0.04em;
    bottom: 0.05em;
    font-size: 19rem;
    opacity: 0.55;
  }

  .about-grid,
  .teams-teaser,
  .personal-grid {
    grid-template-columns: 1fr;
  }

  .resource-grid {
    grid-template-columns: 1fr;
  }

  .resource-card {
    min-height: 10rem;
  }

  .organizer-grid {
    grid-template-columns: 1fr;
  }

  .organizer-card[data-featured="true"] {
    order: -1;
  }

  .team-samples article:nth-child(2) {
    transform: none;
  }

  .results-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .results-toolbar select {
    width: 100%;
  }

  .segmented {
    width: 100%;
  }

  .segmented button {
    flex: 1;
    padding-inline: 0.5rem;
  }

  .standing-row {
    grid-template-columns: 2.3rem minmax(0, 1fr) 3.7rem;
    gap: 0.55rem;
  }

  .standing-row > span:last-child {
    display: none;
  }

  .fight-row {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.55rem;
    font-size: 0.86rem;
  }

  .fight-row__stage {
    grid-column: 1 / -1;
  }

  .personal-group li {
    grid-template-columns: 1fr;
  }

  .personal-group li span {
    grid-row: auto;
  }

  .gallery {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: 0.75rem;
  }

  .gallery__item {
    flex: 0 0 min(83vw, 24rem);
    scroll-snap-align: start;
  }

  .gallery-dialog[open] {
    grid-template-columns: 1fr 1fr;
  }

  .gallery-dialog figure {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .gallery-dialog__nav {
    justify-self: center;
  }

  .archive-navigation {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer__inner {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }

  .search-panel {
    position: static;
  }

  .search-panel__actions {
    position: static;
    margin-top: 0.8rem;
    justify-content: space-between;
  }

  .team-grid {
    grid-template-columns: 1fr;
  }

  .team-card header {
    min-height: auto;
  }
}

@media (max-width: 25rem) {
  .brand span:last-child {
    font-size: 0.9rem;
  }

  .facts-grid {
    gap: 0.55rem;
  }

  .fact {
    min-height: 7.5rem;
    padding: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


/* updated visuals per latest round */
.dl-brochure{background:linear-gradient(180deg,#d8efe8 0%, #cce6dc 100%) !important;color:#17353a !important;box-shadow:0 1rem 2.6rem rgb(45 87 78 / 12%) !important;}
.dl-brochure::after{display:none !important;}
.dl-brochure__meta{display:none !important;}
.dl-brochure strong{margin-top:1rem !important;}
.dl-brochure p{color:rgb(23 53 58 / 76%) !important;}
.dl-brochure__action{color:#208f9c !important;}
.dl-section--soft{background:rgb(244 246 239 / 72%) !important;}
.dl-organizer,.dl-place,.dl-matrix-wrap,.dl-award-card,.dl-commend-list span,.dl-fights,.dl-games-card,.dl-games-table-wrap,.gallery__item button,.dl-teams-teaser{background:rgb(255 255 255 / 84%) !important;}
.dl-fights{background:rgb(238 245 237 / 84%) !important;}
.dl-partner__logo{display:grid;place-items:center;min-height:7.2rem;padding:.85rem 1rem;border-radius:1rem;background:#fff;overflow:hidden;}
.dl-partner__logo img{display:block;max-width:100%;max-height:4.9rem;object-fit:contain;}
.dl-partner__logo--2x2{background:#dceeff !important;}
.dl-partner__logo--2x2 img{max-height:4.4rem;}
.dl-partner__logo--kvantik{background:#ffffff !important;}
.dl-partner__logo--kvantik img{max-height:4.6rem;}
.dl-games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;align-items:start}
.dl-games-card{padding:1.2rem 1.2rem 1rem;border-radius:1.25rem;border:1px solid rgb(25 33 39 / 8%);box-shadow:0 .9rem 2.6rem rgb(23 28 32 / 4%)}
.dl-games-card h3{margin:0 0 .9rem;font-size:1.22rem;letter-spacing:-.02em}
.dl-games-table-wrap{overflow:auto;border:1px solid var(--lab-line);border-radius:1rem}
.dl-games-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}
.dl-games-table th,.dl-games-table td{padding:.72rem .8rem;border-right:1px solid #e6e8e2;border-bottom:1px solid #e6e8e2;text-align:left;white-space:nowrap}
.dl-games-table th:last-child,.dl-games-table td:last-child{text-align:center;border-right:0}
.dl-games-table tr:last-child td{border-bottom:0}
.dl-games-table thead th{background:rgb(55 111 120 / 10%);font-size:.77rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.dl-games-note,.dl-games-footnote{margin:.8rem 0 0;color:rgb(25 33 39 / 66%);font-size:.86rem}
.dl-games-footnote{margin-top:1.15rem;max-width:48rem}
@media (min-width:70rem){.dl-result-matrix{max-width:44rem;margin-inline:auto;}}
@media(max-width:62rem){.dl-games-grid{grid-template-columns:1fr;}}


/* common final tweaks */
body.lab-page {
  position: relative;
  font-family:"Roboto",Arial,sans-serif;
  background-color: #f7f3ed;
}
body.lab-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: url("/assets/common/brand/tropical-pattern.png") center top / cover no-repeat;
  opacity: .30;
}
body.lab-page > * { position: relative; z-index: 1; }


/* FINAL 3 overrides */
body.lab-page{
  background:
    linear-gradient(rgb(247 243 237 / 80%), rgb(247 243 237 / 80%)),
    url("/assets/common/brand/tropical-pattern.png") center top / cover fixed no-repeat !important;
}
body.lab-page::before{display:none !important;}
/* The large section strips are transparent so the toucan pattern remains visible. */
.dl-section--soft{background:transparent !important;}
/* Individual content surfaces stay readable but let some of the pattern through. */
.dl-organizer,.dl-place,.dl-matrix-wrap,.dl-award-card,.dl-commend-list span,.dl-fights,.dl-games-card,.dl-games-table-wrap{
  background:rgb(255 255 255 / 78%) !important;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
.dl-fights{background:rgb(238 245 237 / 80%) !important;}
/* The teams teaser deliberately remains opaque. */
.dl-teams-teaser{background:#eef5ed !important;backdrop-filter:none !important;}
.dl-games-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 2rem;margin-bottom:1.15rem;}
.dl-games-controls .dl-tabs{margin-bottom:0;}
.dl-games-half-note{margin:.55rem 0 0;color:rgb(25 33 39 / 64%);font-size:.86rem;text-align:right;}
.dl-games-table tbody tr.dl-rank-1 td{background:rgb(255 224 154 / 58%) !important;}
.dl-games-table tbody tr.dl-rank-2 td{background:rgb(220 233 231 / 72%) !important;}
.dl-games-table tbody tr.dl-rank-3 td{background:rgb(255 214 194 / 62%) !important;}
.dl-games-table tbody tr.dl-rank-1 td:last-child,.dl-games-table tbody tr.dl-rank-2 td:last-child,.dl-games-table tbody tr.dl-rank-3 td:last-child{font-weight:900;}
@media(max-width:48rem){
  .dl-games-controls{align-items:flex-start;flex-direction:column;gap:.25rem;}
  .dl-games-half-note{margin:0;text-align:left;}
}


/* unified partner logo areas */
.dl-partner-list{display:grid;gap:1rem !important;}
.dl-partner{display:grid !important;grid-template-columns:18rem minmax(0,1fr) !important;gap:1.45rem !important;align-items:center !important;padding:1.2rem 1.35rem !important;border:1px solid var(--lab-line) !important;border-radius:1.5rem !important;background:rgb(255 255 255 / 60%) !important;backdrop-filter: blur(2px);text-decoration:none;}
.dl-partner:last-child{border-bottom:1px solid var(--lab-line) !important;}
.dl-partner__logo{width:18rem !important;height:8.8rem !important;display:grid !important;place-items:center !important;padding:.7rem 1rem !important;border-radius:1.35rem !important;overflow:hidden !important;box-shadow:none !important;}
.dl-partner__logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.dl-partner__logo--2x2{background:rgb(63 170 238) !important;}
.dl-partner__logo--2x2 img{width:88% !important;max-height:74% !important;}
.dl-partner__logo--kvantik{background:#F3E6B3 !important;}
.dl-partner__logo--kvantik img{width:100% !important;max-height:86% !important;}
.dl-partner__logo--etudes{
  background-color:#0b3c3d!important;
  background-image:
    linear-gradient(30deg,transparent 24%,rgb(84 165 176 / 24%) 25%,rgb(84 165 176 / 24%) 26%,transparent 27%,transparent 74%,rgb(84 165 176 / 24%) 75%,rgb(84 165 176 / 24%) 76%,transparent 77%),
    linear-gradient(150deg,transparent 24%,rgb(23 111 105 / 34%) 25%,rgb(23 111 105 / 34%) 26%,transparent 27%,transparent 74%,rgb(23 111 105 / 34%) 75%,rgb(23 111 105 / 34%) 76%,transparent 77%);
  background-size:2.6rem 4.5rem!important;
}
.dl-partner__logo--etudes img{width:92%!important;max-height:78%!important;filter:brightness(0) invert(1)}
.dl-partner strong{display:block;font-size:1.12rem !important;line-height:1.15;letter-spacing:-.02em;}
.dl-partner p{margin:.42rem 0 0;color:rgb(25 33 39 / 68%) !important;font-size:.95rem !important;}
@media (max-width: 52rem){
  .dl-partner{grid-template-columns:1fr !important;align-items:start !important;}
  .dl-partner__logo{width:min(100%,18rem) !important;height:8rem !important;}
}



/* Approved source: main-style-2.css */

/* Design-lab only: A/B/C exploration for archive header + hero + intro. */
:root {
  --lab-ink: #192127;
  --lab-cream: #fffaf1;
  --lab-paper: #fffdf8;
  --lab-orange: #f3a72f;
  --lab-orange-deep: #e77b2d;
  --lab-green: #62a66f;
  --lab-green-light: #add6a6;
  --lab-teal: #4b9099;
  --lab-blue: #536cb4;
  --lab-violet: #6558a6;
  --lab-line: rgb(25 33 39 / 13%);
}

body[data-design-variant] {
  --container: min(100% - 2rem, 78rem);
  background: var(--lab-paper);
  color: var(--lab-ink);
}

/* Shared site header experiment — intentionally the same in A/B/C. */
.lab-site-header {
  position: relative;
  z-index: 20;
  background: rgb(255 253 248 / 96%);
  border-bottom: 1px solid var(--lab-line);
  backdrop-filter: blur(12px);
}

.lab-site-header__inner {
  width: var(--container);
  margin-inline: auto;
  min-height: 4.7rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.lab-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--lab-ink);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -.025em;
}

.lab-brand__seed {
  width: 2rem;
  height: 2rem;
  border-radius: 50% 50% 48% 52%;
  background: var(--lab-teal);
  position: relative;
  box-shadow: inset -.55rem -.2rem 0 var(--lab-blue);
}

.lab-brand__seed::before,
.lab-brand__seed::after {
  content: "";
  position: absolute;
  border-radius: 999px 0 999px 0;
  transform-origin: 0 100%;
}

.lab-brand__seed::before {
  width: 1rem;
  height: .54rem;
  left: 1.52rem;
  top: .62rem;
  background: var(--lab-orange);
  transform: rotate(-12deg);
}

.lab-brand__seed::after {
  width: .72rem;
  height: 1.12rem;
  left: -.12rem;
  bottom: -.08rem;
  background: var(--lab-green);
  transform: rotate(22deg);
}

.lab-main-nav {
  margin-left: auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .55rem;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
  font-size: .9rem;
}

.lab-main-nav::-webkit-scrollbar { display: none; }

.lab-main-nav a {
  color: rgb(25 33 39 / 78%);
  text-decoration: none;
  padding-block: .5rem;
}

.lab-main-nav a:hover,
.lab-main-nav a[aria-current="page"] {
  color: var(--lab-ink);
}

.lab-main-nav a[aria-current="page"] { font-weight: 800; }
.lab-main-nav__sep { color: rgb(25 33 39 / 28%); }
.lab-menu-toggle { display: none; }

.lab-hero-shell {
  position: relative;
  overflow: hidden;
}

.lab-hero {
  position: relative;
  isolation: isolate;
  width: var(--container);
  min-height: clamp(32rem, 58vw, 43rem);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(16rem, .82fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  padding-block: clamp(4rem, 8vw, 7.4rem);
}

.lab-hero__copy { position: relative; z-index: 4; max-width: 48rem; }

.lab-kicker {
  margin: 0 0 1rem;
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lab-hero h1 {
  margin: 0 0 1.35rem;
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(3.2rem, 7.9vw, 7.2rem);
  line-height: .94;
  letter-spacing: -.065em;
  font-weight: 880;
}

.lab-hero__lead {
  max-width: 38rem;
  margin: 0;
  font-size: clamp(1.1rem, 2vw, 1.42rem);
  line-height: 1.5;
}

.lab-hero__meta {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.2rem;
  font-size: .9rem;
}

.lab-hero__slogan {
  margin-top: 2.5rem;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
  font-size: .77rem;
}

.lab-hero__slogan::before {
  content: "";
  width: 2.25rem;
  height: .22rem;
  border-radius: 999px;
  background: currentColor;
}

.lab-logo-slot {
  position: relative;
  z-index: 5;
  width: min(100%, 20rem);
  aspect-ratio: 1;
  justify-self: center;
  display: grid;
  place-items: center;
  padding: 2rem;
  border: 1px dashed currentColor;
  border-radius: 2.1rem;
  text-align: center;
}

.lab-logo-slot strong {
  display: block;
  font-size: 1rem;
  line-height: 1.25;
}
.lab-logo-slot small { display: block; margin-top: .5rem; opacity: .65; }

.lab-leaf {
  position: absolute;
  z-index: 1;
  width: clamp(8rem, 16vw, 14rem);
  height: clamp(15rem, 28vw, 24rem);
  border-radius: 95% 5% 92% 8% / 88% 9% 91% 12%;
  transform-origin: 50% 100%;
  opacity: .96;
}

.lab-leaf::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 8%;
  bottom: 4%;
  width: 2px;
  background: rgb(255 255 255 / 42%);
  transform: rotate(8deg);
}

/* Intro experiment */
.lab-intro {
  width: var(--container);
  margin-inline: auto;
  padding-block: clamp(4.5rem, 8vw, 7rem);
}

.lab-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .72fr);
  gap: clamp(2.5rem, 7vw, 6.5rem);
  align-items: start;
}

.lab-intro h2 {
  max-width: 48rem;
  margin-bottom: 1.6rem;
  color: var(--lab-ink);
  font-family:"Roboto",Arial,sans-serif;
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  font-weight: 850;
  letter-spacing: -.055em;
}

.lab-intro__story > p {
  max-width: 48rem;
  color: rgb(25 33 39 / 76%);
  font-size: 1.03rem;
}

.lab-intro__story > p + p { margin-top: 1.25rem; }

.lab-statline {
  display: grid;
  gap: .7rem;
}

.lab-stat {
  min-height: 5rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--lab-line);
}

.lab-stat strong {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.lab-stat span { color: rgb(25 33 39 / 64%); }

.lab-city-list {
  margin-top: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.lab-city-list span {
  padding: .45rem .75rem;
  border: 1px solid var(--lab-line);
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 720;
}

/* ---------- A: closest to the playful current site ---------- */
body[data-design-variant="a"] .lab-hero-shell {
  background:
    radial-gradient(circle at 78% 12%, rgb(243 167 47 / 22%), transparent 27rem),
    linear-gradient(180deg, #fffdf8 0%, #f5f8ef 100%);
  color: var(--lab-ink);
}
body[data-design-variant="a"] .lab-kicker { color: #d8682d; }
body[data-design-variant="a"] .lab-hero__lead { color: rgb(25 33 39 / 74%); }
body[data-design-variant="a"] .lab-hero__meta { color: rgb(25 33 39 / 60%); }
body[data-design-variant="a"] .lab-hero__slogan { color: var(--lab-teal); }
body[data-design-variant="a"] .lab-logo-slot {
  color: var(--lab-teal);
  background: rgb(255 255 255 / 78%);
  box-shadow: 0 1rem 4rem rgb(76 145 153 / 10%);
}
body[data-design-variant="a"] .lab-leaf--1 { right: -5rem; top: -4rem; background: var(--lab-green-light); transform: rotate(24deg); }
body[data-design-variant="a"] .lab-leaf--2 { right: 8%; bottom: -10rem; background: var(--lab-blue); transform: rotate(-33deg) scale(.92); }
body[data-design-variant="a"] .lab-leaf--3 { left: -7rem; bottom: -13rem; background: var(--lab-teal); transform: rotate(40deg) scale(.85); }
body[data-design-variant="a"] .lab-intro { background: var(--lab-paper); }
body[data-design-variant="a"] .lab-stat:first-child strong { color: var(--lab-orange-deep); }
body[data-design-variant="a"] .lab-stat:nth-child(2) strong { color: var(--lab-teal); }
body[data-design-variant="a"] .lab-stat:nth-child(3) strong { color: var(--lab-green); }
body[data-design-variant="a"] .lab-stat:nth-child(4) strong { color: var(--lab-blue); }

/* ---------- B: same world, calmer historical layer ---------- */
body[data-design-variant="b"] .lab-hero-shell {
  background:
    radial-gradient(circle at 84% 24%, rgb(243 167 47 / 30%), transparent 20rem),
    linear-gradient(126deg, #376f78 0%, #4c9299 54%, #6aaa77 115%);
  color: #fff;
}
body[data-design-variant="b"] .lab-kicker { color: #ffe3a8; }
body[data-design-variant="b"] .lab-hero__lead { color: rgb(255 255 255 / 87%); }
body[data-design-variant="b"] .lab-hero__meta { color: rgb(255 255 255 / 72%); }
body[data-design-variant="b"] .lab-hero__slogan { color: #fff3c7; }
body[data-design-variant="b"] .lab-logo-slot {
  color: #fff;
  background: rgb(255 253 248 / 12%);
  border-color: rgb(255 255 255 / 50%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 10%);
}
body[data-design-variant="b"] .lab-leaf--1 { right: -4rem; top: -6rem; background: #92c88d; transform: rotate(28deg); opacity: .62; }
body[data-design-variant="b"] .lab-leaf--2 { right: 8%; bottom: -11rem; background: #5a5da5; transform: rotate(-28deg) scale(.92); opacity: .48; }
body[data-design-variant="b"] .lab-leaf--3 { left: -8rem; bottom: -14rem; background: #2d6975; transform: rotate(38deg) scale(.9); opacity: .7; }
body[data-design-variant="b"] .lab-intro { position: relative; }
body[data-design-variant="b"] .lab-intro::before {
  content: "I ТМ · 2018";
  display: block;
  margin-bottom: 1.2rem;
  color: var(--lab-teal);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body[data-design-variant="b"] .lab-statline {
  padding: 1.1rem 1.35rem;
  background: #f1f5ee;
  border-radius: 1.35rem;
}
body[data-design-variant="b"] .lab-stat:last-child { border-bottom: 0; }
body[data-design-variant="b"] .lab-city-list span { background: #f1f5ee; border-color: transparent; }

/* ---------- C: event-cover / artifact led ---------- */
body[data-design-variant="c"] .lab-hero-shell {
  background: #171d23;
  color: #fff;
}
body[data-design-variant="c"] .lab-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
}
body[data-design-variant="c"] .lab-hero-shell::before {
  content: "2018";
  position: absolute;
  right: -1vw;
  bottom: -8vw;
  color: rgb(255 255 255 / 4.5%);
  font-size: clamp(14rem, 34vw, 34rem);
  line-height: .7;
  font-weight: 900;
  letter-spacing: -.08em;
}
body[data-design-variant="c"] .lab-kicker { color: #ffbd45; }
body[data-design-variant="c"] .lab-hero h1 em {
  color: #9ed196;
  font-style: normal;
}
body[data-design-variant="c"] .lab-hero__lead { color: rgb(255 255 255 / 82%); }
body[data-design-variant="c"] .lab-hero__meta { color: rgb(255 255 255 / 62%); }
body[data-design-variant="c"] .lab-hero__slogan { color: #ffbd45; }
body[data-design-variant="c"] .lab-logo-slot {
  width: min(100%, 22rem);
  aspect-ratio: 4 / 5;
  color: #171d23;
  border: 0;
  border-radius: 2rem;
  background: #fff8e8;
  box-shadow: .85rem .85rem 0 #5a67b3;
  transform: rotate(2.2deg);
}
body[data-design-variant="c"] .lab-logo-slot::before {
  content: "АРТЕФАКТ I ТМ";
  position: absolute;
  left: 1.3rem;
  top: 1.25rem;
  color: #e3722d;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .13em;
}
body[data-design-variant="c"] .lab-leaf--1 { right: 25%; top: -10rem; background: #4d9197; transform: rotate(36deg) scale(.8); opacity: .75; }
body[data-design-variant="c"] .lab-leaf--2 { right: -7rem; bottom: -12rem; background: #6bae73; transform: rotate(-25deg); opacity: .9; }
body[data-design-variant="c"] .lab-leaf--3 { left: -7rem; bottom: -15rem; background: #6558a6; transform: rotate(42deg) scale(.78); opacity: .7; }
body[data-design-variant="c"] .lab-intro {
  background: #fff8e8;
  box-shadow: 0 0 0 100vmax #fff8e8;
  clip-path: inset(0 -100vmax);
}
body[data-design-variant="c"] .lab-statline {
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}
body[data-design-variant="c"] .lab-stat {
  min-height: 8rem;
  padding: 1rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  border: 1px solid var(--lab-line);
  border-radius: 1.25rem;
  background: rgb(255 255 255 / 58%);
}
body[data-design-variant="c"] .lab-stat strong { color: #315f68; }
body[data-design-variant="c"] .lab-city-list span { background: #fffdf8; }

@media (max-width: 860px) {
  .lab-site-header__inner {
    min-height: auto;
    padding-block: .85rem .35rem;
    display: block;
  }
  .lab-brand { margin-bottom: .4rem; }
  .lab-main-nav { margin-left: 0; margin-right: 0; padding-right: 0; }
}

@media (max-width: 700px) {
  .lab-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-block: 4rem 5rem;
  }
  .lab-logo-slot {
    justify-self: start;
    width: min(72vw, 18rem);
  }
  body[data-design-variant="c"] .lab-hero { grid-template-columns: 1fr; }
  body[data-design-variant="c"] .lab-logo-slot { width: min(68vw, 18rem); }
  .lab-intro__grid { grid-template-columns: 1fr; }
  .lab-statline { grid-template-columns: repeat(2, 1fr); gap: .65rem 1.25rem; }
  .lab-stat { min-height: 4.2rem; }
}

@media (max-width: 520px) {
  body[data-design-variant] { --container: min(100% - 1.5rem, 78rem); }
  .lab-site-header__inner { padding-top: .75rem; }
  .lab-brand { font-size: .95rem; }
  .lab-main-nav { font-size: .78rem; gap: .45rem; }
  .lab-hero { padding-block: 3.25rem 4rem; }
  .lab-hero h1 { font-size: clamp(3.25rem, 16.5vw, 4.6rem); }
  .lab-hero__lead { font-size: 1.03rem; }
  .lab-logo-slot { width: min(70vw, 15rem); border-radius: 1.5rem; padding: 1.25rem; }
  .lab-leaf { opacity: .48; }
  .lab-intro { padding-block: 4rem; }
  .lab-intro h2 { font-size: clamp(2.4rem, 12vw, 3.3rem); }
  .lab-statline { grid-template-columns: 1fr 1fr; }
  .lab-stat { display: block; padding: .8rem 0; min-height: auto; }
  .lab-stat strong { display: block; margin-bottom: .3rem; font-size: 2.35rem; }
  .lab-stat span { font-size: .82rem; }
  body[data-design-variant="b"] .lab-statline { padding: .9rem 1rem; }
  body[data-design-variant="c"] .lab-stat { min-height: 7.4rem; padding: .9rem; display: flex; }
  body[data-design-variant="c"] .lab-logo-slot { width: min(68vw, 14rem); }
}



/* Approved source: main-style-3.css */

/* === Design lab iteration 02: common decisions === */
body[data-design-variant="b"] .lab-intro::before{display:none!important;content:none!important}
body[data-design-variant="b"] .lab-intro{padding-block:clamp(3.8rem,7vw,6.5rem)}

/* We no longer use one universal card language for every entity. */
.dl-section{width:100%;max-width:none;margin-inline:0;padding-block:clamp(4.2rem,7vw,6.6rem)}
.dl-section>.dl-inner{width:var(--container);margin-inline:auto}
.dl-section--soft{background:#f4f6ef}
.dl-heading{max-width:48rem;margin-bottom:clamp(1.8rem,4vw,3rem)}
.dl-heading h2{margin:0;font-family:"Roboto",Arial,sans-serif;font-size:clamp(2.25rem,4.8vw,4.4rem);line-height:1;letter-spacing:-.055em;font-weight:850;color:var(--lab-ink)}
.dl-heading p{margin:.9rem 0 0;color:rgb(25 33 39 / 66%);font-size:1rem;max-width:44rem}
.dl-kicker{margin:0 0 .75rem;color:#d8682d;font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}

/* history / statistics: 3 options to compare, same content */
.lab-intro__grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.72fr);gap:clamp(2.5rem,6vw,5.5rem)}
.lab-statline{align-self:start}
body[data-stat-variant="a"] .lab-statline{display:grid;grid-template-columns:1fr 1fr;padding:.7rem 1.2rem;background:#eff5ed;border-radius:1.35rem;gap:0 1.2rem}
body[data-stat-variant="a"] .lab-stat{min-height:5.6rem;padding:.85rem .1rem;border-bottom:1px solid rgb(25 33 39 / 10%)}
body[data-stat-variant="a"] .lab-stat:nth-last-child(-n+2){border-bottom:0}
body[data-stat-variant="a"] .lab-stat strong{font-size:clamp(2.1rem,4vw,3.3rem);color:#376f78}
body[data-stat-variant="a"] .lab-stat:nth-child(2) strong{color:#e77b2d}
body[data-stat-variant="a"] .lab-stat:nth-child(3) strong{color:#5c9b68}
body[data-stat-variant="a"] .lab-stat:nth-child(4) strong{color:#536cb4}
body[data-stat-variant="a"] .lab-stat span{font-size:.82rem}

body[data-stat-variant="b"] .lab-statline{display:grid;padding:1.25rem 1.35rem 1.15rem;background:#386f78;color:#fff;border-radius:1.6rem;box-shadow:0 1.2rem 3rem rgb(55 111 120 / 13%)}
body[data-stat-variant="b"] .lab-statline::before{content:"I ТУРНИР В ЦИФРАХ";display:block;color:#ffe3a8;font-size:.72rem;font-weight:850;letter-spacing:.12em;margin-bottom:.25rem}
body[data-stat-variant="b"] .lab-stat{min-height:4.7rem;border-color:rgb(255 255 255 / 18%);padding:.75rem .15rem}
body[data-stat-variant="b"] .lab-stat:last-child{border-bottom:0}
body[data-stat-variant="b"] .lab-stat strong{font-size:clamp(2rem,4vw,3.15rem);color:#fff}
body[data-stat-variant="b"] .lab-stat span{color:rgb(255 255 255 / 72%)}
body[data-stat-variant="b"] .lab-city-list span{background:#eef5ed;border-color:transparent}

body[data-stat-variant="c"] .lab-intro__grid{grid-template-columns:1fr}
body[data-stat-variant="c"] .lab-statline{order:-1;display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.5rem;padding:0;background:none}
body[data-stat-variant="c"] .lab-stat{min-height:0;justify-content:flex-start;gap:.45rem;border:0;background:#eef5ed;border-radius:999px;padding:.58rem .82rem}
body[data-stat-variant="c"] .lab-stat strong{font-size:1.12rem;color:#376f78;letter-spacing:-.03em}
body[data-stat-variant="c"] .lab-stat span{font-size:.78rem;color:rgb(25 33 39 / 68%)}
body[data-stat-variant="c"] .lab-intro__story>p{max-width:56rem}
body[data-stat-variant="c"] .lab-city-list{margin-top:1.7rem}

/* materials and partners are different entities */
.dl-materials-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.dl-material h2,.dl-partners h2{margin:0 0 1.4rem;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.04em}
.dl-brochure{display:block;position:relative;overflow:hidden;min-height:18rem;padding:2rem;border-radius:1.5rem;background:#192127;color:#fff;text-decoration:none;box-shadow:0 1rem 3rem rgb(25 33 39 / 12%)}
.dl-brochure::after{content:"PDF";position:absolute;right:-.2rem;bottom:-2.7rem;color:rgb(255 255 255 / 5%);font-weight:900;font-size:9rem;letter-spacing:-.08em}
.dl-brochure__meta{color:#ffc865;font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.dl-brochure strong{display:block;margin-top:4rem;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05;letter-spacing:-.035em}
.dl-brochure p{max-width:25rem;margin:.8rem 0 0;color:rgb(255 255 255 / 70%);font-size:.91rem}
.dl-brochure__action{position:absolute;left:2rem;bottom:1.7rem;font-weight:800;color:#ffe3a8}
.dl-partner-list{display:grid;gap:.9rem}
.dl-partner{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.3rem;align-items:center;padding:1.1rem 1.3rem;border-top:1px solid var(--lab-line);text-decoration:none}
.dl-partner:last-child{border-bottom:1px solid var(--lab-line)}
.dl-partner__logo{height:5.1rem;display:grid;place-items:center;border-radius:1rem;background:#eef5ed;color:#376f78;font-weight:900;font-size:1.1rem;text-align:center;padding:.5rem}
.dl-partner strong{display:block;font-size:1.04rem}.dl-partner p{margin:.3rem 0 0;color:rgb(25 33 39 / 62%);font-size:.88rem}
.dl-partner small{display:block;margin-top:.4rem;color:#d8682d;font-weight:750}

/* organizers — no artificial 'people of tournament' umbrella */
.dl-organizer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:stretch}
.dl-organizer{display:grid;grid-template-columns:minmax(9.5rem,.72fr) minmax(0,1.15fr);align-items:start;background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 1rem 3rem rgb(38 55 45 / 7%)}
.dl-organizer__photo{width:100%;min-width:0;align-self:start;aspect-ratio:1/1;background:linear-gradient(145deg,#70a879,#3e7e88);display:grid;place-items:center;color:rgb(255 255 255 / 80%);font-size:clamp(2.6rem,5vw,5rem);font-weight:850;letter-spacing:-.06em}
.dl-organizer__body{padding:1.6rem 1.6rem 1.7rem;display:flex;flex-direction:column;justify-content:center}
.dl-role{align-self:flex-start;margin:0 0 .9rem;padding:.35rem .65rem;border-radius:999px;background:#ffe2d4;color:#8f3723;font-size:.72rem;font-weight:800}
.dl-organizer h3{margin:0;font-size:clamp(1.3rem,2.5vw,1.8rem);letter-spacing:-.035em;line-height:1.08}
.dl-organizer p:last-child{margin:.8rem 0 0;color:rgb(25 33 39 / 68%);font-size:.91rem}
.dl-organizer[data-featured="true"]{box-shadow:0 1.35rem 3.8rem rgb(55 111 120 / 14%)}
.dl-organizer[data-featured="true"] .dl-organizer__photo{background:linear-gradient(145deg,#f0a52f,#e36e2d)}

/* teams teaser: no random sample teams */
.dl-teams-teaser{display:grid;grid-template-columns:minmax(0,1.15fr) auto;gap:2rem;align-items:center;padding:clamp(1.6rem,4vw,2.4rem);border-radius:1.6rem;background:#eef5ed}
.dl-teams-teaser h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.05em;line-height:1}.dl-teams-teaser p{margin:.8rem 0 0;max-width:42rem;color:rgb(25 33 39 / 66%)}
.dl-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.7rem 1.2rem;border:0;border-radius:999px;background:#e77b2d;color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}

/* results */
.dl-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem}.dl-tab{border:1px solid var(--lab-line);background:#fff;color:var(--lab-ink);border-radius:999px;padding:.68rem 1.05rem;font:inherit;font-weight:800;cursor:pointer}.dl-tab[aria-selected="true"]{background:#192127;color:#fff;border-color:#192127}
.dl-result-panel[hidden],.dl-personal-panel[hidden]{display:none!important}
.dl-result-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.dl-subtitle{margin:0 0 1rem;font-size:1.08rem;letter-spacing:-.02em}
.dl-standings{display:grid;gap:.55rem}.dl-place{display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.8rem;min-height:4rem;padding:.55rem .8rem;border-radius:1rem;background:#fff;border:1px solid rgb(25 33 39 / 8%)}
.dl-place__no{width:2.3rem;height:2.3rem;border-radius:.75rem;display:grid;place-items:center;background:#eef1ec;color:#5f6762;font-weight:900}.dl-place:nth-child(1) .dl-place__no{background:#ffe09a;color:#7e4d00}.dl-place:nth-child(2) .dl-place__no{background:#dce9e7;color:#376f78}.dl-place:nth-child(3) .dl-place__no{background:#ffd6c2;color:#9a412a}
.dl-team-disclosure{border:0}.dl-team-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.55rem;font-weight:820}.dl-team-disclosure summary::-webkit-details-marker{display:none}.dl-team-disclosure summary::after{content:"⌄";font-size:1.1rem;line-height:1;color:#758078;transform:translateY(-.08rem);transition:transform .15s}.dl-team-disclosure[open] summary::after{transform:rotate(180deg) translateY(.08rem)}.dl-team-disclosure p{margin:.32rem 0 0;color:rgb(25 33 39 / 60%);font-size:.8rem}
.dl-fights{padding:1rem 1.15rem;border-radius:1.2rem;background:#eef5ed}.dl-fight{display:grid;grid-template-columns:minmax(7.5rem,.55fr) minmax(0,1.45fr) auto;gap:.75rem;align-items:baseline;padding:.62rem 0;border-bottom:1px solid rgb(25 33 39 / 9%)}.dl-fight:last-child{border-bottom:0}.dl-fight span:first-child{color:#54705b;font-size:.79rem;font-weight:800}.dl-fight strong{font-size:.9rem}.dl-score{font-weight:900;white-space:nowrap}
.dl-matrix-block{margin-top:2.2rem}.dl-matrix-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.dl-matrix-title h3{margin:0;font-size:1.12rem}.dl-matrix-title p{margin:0;color:rgb(25 33 39 / 58%);font-size:.8rem}.dl-matrix-wrap{overflow:auto;border:1px solid var(--lab-line);border-radius:1.15rem;background:#fff}.dl-matrix{border-collapse:separate;border-spacing:0;min-width:46rem;width:100%;font-size:.77rem}.dl-matrix th,.dl-matrix td{padding:.65rem .72rem;border-right:1px solid #e6e8e2;border-bottom:1px solid #e6e8e2;text-align:center;white-space:nowrap}.dl-matrix tr:last-child th,.dl-matrix tr:last-child td{border-bottom:0}.dl-matrix th:last-child,.dl-matrix td:last-child{border-right:0}.dl-matrix thead th{background:#f4f6ef;font-weight:800}.dl-matrix tbody th{position:sticky;left:0;z-index:1;text-align:left;background:#fff;font-weight:800}

/* compact personal competition */
.dl-personal-top{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.7rem}.dl-personal-top .dl-heading{margin:0}.dl-personal-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dl-degree{background:#fff;border-radius:1.2rem;padding:1.2rem}.dl-degree h3{display:flex;align-items:center;gap:.55rem;margin:0 0 .9rem;font-size:.95rem}.dl-degree h3::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:#f0a52f}.dl-degree--2 h3::before{background:#7fa6a3}.dl-degree--3 h3::before{background:#e98555}.dl-winners{display:grid;gap:.55rem}.dl-winner{padding-top:.55rem;border-top:1px solid rgb(25 33 39 / 9%)}.dl-winner:first-child{border-top:0;padding-top:0}.dl-winner strong{display:block;font-size:.91rem}.dl-winner small{color:rgb(25 33 39 / 58%)}.dl-commend{grid-column:1/-1;margin-top:.15rem;padding:1rem 1.1rem;border-top:1px solid var(--lab-line)}.dl-commend h3{margin:0 0 .7rem;font-size:.9rem}.dl-commend-list{display:flex;flex-wrap:wrap;gap:.45rem}.dl-commend-list span{padding:.44rem .65rem;border-radius:999px;background:#fff;font-size:.78rem}

/* archive navigator: 5-year ranges + simple prev/all/next */
.dl-archive-nav{width:var(--container);margin-inline:auto;padding:clamp(3.2rem,6vw,5rem) 0;border-top:1px solid var(--lab-line)}
.dl-archive-nav__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.dl-archive-nav__head h2{margin:0;font-size:1.25rem}.dl-periods{display:flex;flex-wrap:wrap;gap:.45rem}.dl-period{border:0;background:#eef1ec;border-radius:999px;padding:.5rem .75rem;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.dl-period[aria-selected="true"]{background:#376f78;color:#fff}
.dl-tour-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.dl-tour-link{display:block;min-height:4.25rem;padding:.7rem;border-radius:.9rem;background:#fff;border:1px solid rgb(25 33 39 / 9%);color:inherit;text-decoration:none}.dl-tour-link strong{display:block;font-size:.9rem}.dl-tour-link small{color:rgb(25 33 39 / 55%)}.dl-tour-link[aria-current="page"]{background:#192127;color:#fff}.dl-tour-link[aria-current="page"] small{color:rgb(255 255 255 / 62%)}.dl-tour-link--pending{cursor:default}
.dl-prevnext{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--lab-line)}.dl-prevnext a,.dl-prevnext__pending{text-decoration:none;font-weight:800}.dl-prevnext__pending{text-align:right}.dl-prevnext__all{color:#376f78}

/* simple shared-footer placeholder: actual layered footer comes from the main site */
.dl-footer{background:#192127;color:#fff}.dl-footer__inner{width:var(--container);margin-inline:auto;min-height:15rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.dl-footer__slogan{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffe3a8}.dl-footer__note{color:rgb(255 255 255 / 55%);font-size:.8rem;text-align:right}

@media(max-width:900px){
  .dl-materials-layout,.dl-result-layout{grid-template-columns:1fr}.dl-organizer-grid{grid-template-columns:1fr}.dl-organizer{grid-template-columns:minmax(10rem,.7fr) minmax(0,1.3fr)}
  .dl-personal-panel{grid-template-columns:1fr 1fr}.dl-commend{grid-column:1/-1}.dl-tour-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .lab-intro__grid{grid-template-columns:1fr!important}.lab-statline{order:-1}.lab-intro h2{font-size:clamp(2.2rem,12vw,3.6rem)}
  body[data-stat-variant="a"] .lab-statline{grid-template-columns:1fr 1fr}.lab-city-list{margin-top:1.7rem}
  .dl-materials-layout{gap:3rem}.dl-partner{grid-template-columns:5.6rem minmax(0,1fr);padding-inline:0}.dl-partner__logo{height:4.2rem}
  .dl-organizer{grid-template-columns:minmax(8.25rem,9rem) minmax(0,1fr);grid-template-areas:". role" "photo name" "bio bio";gap:.8rem 1rem;padding:1rem}.dl-organizer[data-featured="true"]{order:-1}.dl-organizer__photo{grid-area:photo;min-height:0}.dl-organizer__body{display:contents}.dl-role{grid-area:role;justify-self:start;align-self:end;margin:0}.dl-organizer h3{grid-area:name;align-self:center}.dl-organizer p:last-child{grid-area:bio;margin:0}.dl-teams-teaser{grid-template-columns:1fr}.dl-button{justify-self:start}
  .dl-result-layout{gap:2rem}.dl-fight{grid-template-columns:1fr auto}.dl-fight span:first-child{grid-column:1/-1}.dl-personal-top{display:block}.dl-personal-top .dl-tabs{margin-top:1.2rem;margin-bottom:0}.dl-personal-panel{grid-template-columns:1fr}.dl-commend{grid-column:1}.dl-tour-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-archive-nav__head{align-items:flex-start;flex-direction:column}.dl-prevnext{grid-template-columns:1fr 1fr}.dl-prevnext__all{grid-column:1/-1;grid-row:1;text-align:center}.dl-prevnext a:last-child{grid-column:2}.dl-footer__inner{min-height:13rem;align-items:flex-start;justify-content:center;flex-direction:column}.dl-footer__note{text-align:left}
}


/* Approved source: main-style-4.css */

:root{
 --lab-ink:#171c20;--lab-paper:#fffdf8;--lab-cream:#fbf8ef;
 --lab-teal:#4e8d9a;--lab-violet:#5b5c98;--lab-green-light:#acd1a8;--lab-green:#639d70;
 --lab-yellow:#f1c845;--lab-orange:#d98744;--lab-orange-deep:#d98744;--lab-blue:#4c74b6;
 --lab-line:rgb(23 28 32 / 13%);
}
/* Shared current-site family: same header/footer on tour and teams. */
.lab-brand__seed{display:none!important}
.lab-brand__logo{width:3rem;height:3rem;object-fit:contain;flex:0 0 auto}
.lab-site-header{background:rgb(255 253 248 / 97%);border-color:rgb(23 28 32 / 11%)}
.lab-site-header__inner{min-height:4.9rem}
.lab-main-nav a{color:rgb(23 28 32 / 74%)}
.lab-main-nav a[aria-current="page"],.lab-main-nav a:hover{color:var(--lab-ink)}

/* B hero retained, but palette now comes directly from the toucan logo. */
body[data-design-variant="b"] .lab-hero-shell{
 background:
 radial-gradient(circle at 82% 20%,rgb(241 200 69 / 27%),transparent 21rem),
 linear-gradient(126deg,#3f7e89 0%,#4e8d9a 49%,#639d70 112%);
}
body[data-design-variant="b"] .lab-kicker{color:#fff0a9}
body[data-design-variant="b"] .lab-hero__slogan{color:#fff0a9}
body[data-design-variant="b"] .lab-leaf--1{background:#acd1a8;opacity:.72}
body[data-design-variant="b"] .lab-leaf--2{background:#5b5c98;opacity:.58}
body[data-design-variant="b"] .lab-leaf--3{background:#4c74b6;opacity:.34}
body[data-design-variant="b"] .lab-logo-slot{box-shadow:.65rem .65rem 0 rgb(91 92 152 / 32%);border-color:rgb(255 255 255 / 48%)}

/* Title typography variants for this pass. */
body[data-title-font="a"] .lab-hero h1{font-family:"Roboto",Arial,sans-serif;font-weight:900;letter-spacing:-.072em}
body[data-title-font="b"] .lab-hero h1{font-family:"Roboto",Arial,sans-serif;font-weight:900;letter-spacing:-.058em}
body[data-title-font="c"] .lab-hero h1{font-family:"Roboto",Arial,sans-serif;font-weight:800;letter-spacing:-.05em}

/* Compact vertical rhythm. */
.lab-intro{padding-block:clamp(3.2rem,5vw,4.8rem)!important}
.dl-section{padding-block:clamp(2.9rem,4.7vw,4.6rem)}
.section{padding-block:clamp(3rem,5vw,4.8rem)}
.dl-heading{margin-bottom:clamp(1.3rem,2.7vw,2rem)}
.dl-archive-nav{padding-block:clamp(2.6rem,4.4vw,4rem)}
.dl-materials-layout{gap:clamp(1.7rem,3.8vw,3.5rem)}

/* Stat variant C: light, logo-linked chips. */
body[data-stat-variant="c"] .lab-stat{background:#edf4ee}
body[data-stat-variant="c"] .lab-stat:nth-child(1){background:#e8f2e6}
body[data-stat-variant="c"] .lab-stat:nth-child(2){background:#fff4c9}
body[data-stat-variant="c"] .lab-stat:nth-child(3){background:#e4f0f2}
body[data-stat-variant="c"] .lab-stat:nth-child(4){background:#ecebf5}
body[data-stat-variant="c"] .lab-stat strong{color:#3f7e89}

/* Results */
.dl-heading--results h2{font-size:clamp(2.7rem,5.7vw,5.1rem)}
.dl-result-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,3.4vw,3rem)}
.dl-fights-wrap{align-self:start}
.dl-fights{background:linear-gradient(135deg,#eaf3ec,#eef3f7);border:1px solid rgb(78 141 154 / 18%);padding:.8rem 1rem}
.dl-fight span:first-child{color:#4e7880}
.dl-matrix-block{margin-top:1.55rem}
.dl-matrix-title{margin-bottom:.7rem}
.dl-matrix-title h3{font-size:1.18rem}
.dl-matrix-wrap{border-color:rgb(78 141 154 / 22%);box-shadow:0 .7rem 2rem rgb(23 28 32 / 5%)}
.dl-matrix{font-size:.79rem}
.dl-matrix th,.dl-matrix td{padding:.72rem .78rem;border-color:#e5ebe7}
.dl-matrix thead th{background:#e7f0ef;color:#294e54}
.dl-matrix tbody th{background:#fffdf8}
.dl-matrix tbody tr:nth-child(even) td:not(.dl-diagonal){background:#fbfcf9}
.dl-matrix td:nth-last-child(-n+2){font-weight:800;background:#f6f1df}
.dl-result-panel[data-tab-panel="class-4"] .dl-matrix .dl-diagonal{background:#cfb8d9!important}
.dl-result-panel[data-tab-panel="class-5"] .dl-matrix .dl-diagonal{background:#8eeed7!important}
.dl-matrix .dl-diagonal::after{display:none!important}

/* Personal olympiad: award belongs to each child. */
.dl-personal-top{align-items:center;margin-bottom:1.25rem}
.dl-personal-top .dl-heading h2{font-size:clamp(2.55rem,5vw,4.7rem)}
.dl-awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.dl-award-card{display:grid;grid-template-columns:5.1rem minmax(0,1fr);gap:.85rem;align-items:center;min-height:6.25rem;padding:.9rem 1rem;border-radius:1.05rem;background:#fff;border:1px solid rgb(23 28 32 / 8%);box-shadow:0 .45rem 1.2rem rgb(23 28 32 / 4%)}
.dl-award-mark{display:grid;justify-items:center;align-content:center;gap:.14rem;height:100%;font-size:1.9rem;font-weight:900;border-right:1px solid rgb(23 28 32 / 8%);padding-right:.75rem;color:#f1c845}
.dl-award-mark span{font-size:.67rem;white-space:nowrap;color:#725d1d;font-weight:850}
.dl-award-card--2 .dl-award-mark{color:#85aaa8}.dl-award-card--2 .dl-award-mark span{color:#476d6b}
.dl-award-card--3 .dl-award-mark{color:#d98744}.dl-award-card--3 .dl-award-mark span{color:#90572d}
.dl-award-card strong{display:block;font-size:.92rem;line-height:1.2}
.dl-award-card small{display:block;margin-top:.26rem;color:rgb(23 28 32 / 58%);line-height:1.25}
.dl-commend{margin-top:1rem;padding:.9rem 0 0;border-top:1px solid var(--lab-line)}
.dl-commend-list span{background:#fff}

/* Footer identical on both review pages. */
.dl-footer{background:#171c20;color:#fff}
.dl-footer__inner{width:var(--container);margin-inline:auto;min-height:12.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.dl-footer__slogan{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f1c845}
.dl-footer__brand{margin-top:.65rem;color:rgb(255 255 255 / 70%)}
.dl-footer__note{max-width:31rem;color:rgb(255 255 255 / 52%);font-size:.78rem;text-align:right}

@media(max-width:62rem){.dl-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:48rem){
 .lab-brand__logo{width:2.55rem;height:2.55rem} .lab-site-header__inner{min-height:4.25rem}
 .dl-result-layout{grid-template-columns:1fr} .dl-awards-grid{grid-template-columns:1fr}
 .dl-footer__inner{min-height:11rem;align-items:flex-start;justify-content:center;flex-direction:column}
 .dl-footer__note{text-align:left}
}


/* Approved source: main-style-5.css */

/* ===== Design Lab iteration 04 ===== */
html,body,button,input,select,textarea{font-family:"Roboto",Arial,sans-serif!important}
h1,h2,h3,h4,h5,h6,.archive-title,.section-heading h2,.lab-hero h1,.lab-intro h2,.dl-heading h2,.team-card h3{font-family:"Roboto",Arial,sans-serif!important}
.lab-hero h1{font-weight:900;letter-spacing:-.052em}
.lab-intro h2,.dl-heading h2{font-weight:800;letter-spacing:-.045em}

/* Real historical logo of I TM */
.lab-logo-slot{width:min(100%,29rem)!important;aspect-ratio:auto!important;padding:clamp(1.15rem,2.3vw,1.7rem)!important;border:0!important;border-radius:1.5rem!important;background:rgba(255,255,255,.96)!important;box-shadow:0 1.25rem 3.5rem rgb(14 30 36 / 18%)!important;transform:none!important;color:inherit!important}
.lab-logo-slot::before{display:none!important}
.lab-logo-slot img{display:block;width:100%;height:auto;object-fit:contain}

/* Results: prize places are more celebratory than the secondary competition blocks */
.dl-place{transition:transform .15s ease,box-shadow .15s ease}
.dl-place:nth-child(-n+3){min-height:4.65rem;border-width:1px;box-shadow:0 .55rem 1.45rem rgb(23 28 32 / 6%)}
.dl-place:nth-child(-n+3) .dl-team-disclosure summary{font-size:1.01rem;font-weight:900}
.dl-place:nth-child(1){background:linear-gradient(100deg,#fff0a8 0%,#fff9dc 58%,#fff 100%);border-color:#efc23d}
.dl-place:nth-child(2){background:linear-gradient(100deg,#dff3f3 0%,#eff9f8 58%,#fff 100%);border-color:#8ab9bd}
.dl-place:nth-child(3){background:linear-gradient(100deg,#ffd8bf 0%,#fff0e5 58%,#fff 100%);border-color:#e7905b}
.dl-place:nth-child(1) .dl-place__no{width:2.55rem;height:2.55rem;background:#f1c845;color:#493b00;box-shadow:inset 0 0 0 2px rgb(255 255 255 / 42%)}
.dl-place:nth-child(2) .dl-place__no{width:2.55rem;height:2.55rem;background:#77aeb3;color:#fff;box-shadow:inset 0 0 0 2px rgb(255 255 255 / 30%)}
.dl-place:nth-child(3) .dl-place__no{width:2.55rem;height:2.55rem;background:#e77b42;color:#fff;box-shadow:inset 0 0 0 2px rgb(255 255 255 / 28%)}

/* Real disclosure chevron: no +/− and no font glyph */
.dl-team-disclosure summary{position:relative;padding-right:2.75rem;min-height:2rem}
.dl-team-disclosure summary::before{content:"";position:absolute;right:.15rem;top:50%;width:1.9rem;height:1.9rem;border-radius:999px;background:#edf4f2;border:1px solid rgb(55 111 120 / 15%);transform:translateY(-50%);transition:background .15s,border-color .15s}
.dl-team-disclosure summary::after{content:""!important;position:absolute;right:.82rem;top:50%;width:.46rem;height:.46rem;margin:0!important;border-right:2px solid #376f78;border-bottom:2px solid #376f78;font-size:0!important;transform:translateY(-66%) rotate(45deg)!important;transition:transform .16s ease!important}
.dl-team-disclosure[open] summary::after{transform:translateY(-28%) rotate(225deg)!important}
.dl-team-disclosure summary:hover::before{background:#dfedeb;border-color:rgb(55 111 120 / 30%)}

/* Align standings and knockout fights at the top visually */
.dl-fights-wrap{padding-top:2.42rem}

/* Tournament matrix: compact old-school logic, cleaned-up modern presentation */
.dl-matrix-wrap{width:max-content;max-width:100%;margin-inline:auto;overflow:auto;border-color:#cfd8d2;border-radius:1rem;background:#fff;box-shadow:0 .65rem 1.8rem rgb(23 28 32 / 5%)}
.dl-matrix{width:auto!important;min-width:0!important;border-collapse:separate;border-spacing:0;font-size:.82rem;background:#fff}
.dl-matrix th,.dl-matrix td{padding:.64rem .62rem!important;background:#fff!important;border-right:1px solid #d9dfdb!important;border-bottom:1px solid #d9dfdb!important;text-align:center;white-space:nowrap}
.dl-matrix thead th{background:#f3f7f4!important;color:#26383a;font-weight:900}
.dl-matrix tbody th{position:sticky;left:2.55rem;z-index:2;text-align:left;background:#fff!important;font-weight:800}
.dl-matrix tbody tr:nth-child(even) td:not(.dl-diagonal){background:#fff!important}
.dl-matrix td:nth-last-child(-n+2){background:#fff!important;font-weight:900}
.dl-matrix .dl-index-head,.dl-matrix .dl-row-index{width:2.55rem;min-width:2.55rem;max-width:2.55rem;padding-inline:.3rem!important;font-weight:900}
.dl-matrix .dl-row-index{position:sticky;left:0;z-index:3;background:#f7faf8!important}
.dl-matrix .dl-team-head,.dl-matrix tbody th{width:13rem;min-width:13rem;max-width:13rem}
.dl-matrix .dl-game-col{width:4rem;min-width:4rem;max-width:4rem}
.dl-matrix .dl-points-col{width:4.5rem;min-width:4.5rem;max-width:4.5rem}
.dl-matrix .dl-balls-col{width:5.5rem;min-width:5.5rem;max-width:5.5rem}
.dl-result-panel[data-panel="class-4"] .dl-matrix .dl-diagonal{background:#cfb8d9!important}
.dl-result-panel[data-panel="class-5"] .dl-matrix .dl-diagonal{background:#8eeed7!important}
.dl-matrix .dl-diagonal::after{display:none!important}

/* Personal olympiad: each degree is its own row on wide screens */
.dl-personal-panel{display:block}
.dl-awards-grid{display:grid!important;gap:.85rem!important}
.dl-award-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.dl-commend{margin-top:1rem}


/* Award degree groups fill the full row */
.dl-awards-grid{grid-template-columns:1fr!important}
.dl-personal-top .dl-heading{max-width:none!important}
@media(min-width:70rem){.dl-personal-top .dl-heading h2{font-size:clamp(3rem,4.35vw,4.15rem)!important;white-space:nowrap}}

/* Gallery has no production notes while historical photos are pending */
#gallery .section-heading{margin-bottom:1.25rem}
#gallery .section-heading .eyebrow{margin-bottom:0;font-size:1.06rem}
.gallery__item figcaption{display:none}

/* Shared real-looking footer, identical on tour and teams */
.dl-footer__inner{min-height:10.5rem!important}
.dl-footer__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem 1.25rem}
.dl-footer__links a{color:rgb(255 255 255 / 72%);text-decoration:none;font-size:.86rem}
.dl-footer__links a:hover{color:#fff}

@media(max-width:62rem){
  .dl-award-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:48rem){
  .dl-fights-wrap{padding-top:0}
  .dl-award-row{grid-template-columns:1fr}
  .dl-matrix tbody th{left:2.35rem}
  .dl-matrix .dl-index-head,.dl-matrix .dl-row-index{width:2.35rem;min-width:2.35rem;max-width:2.35rem}
  .dl-matrix .dl-team-head,.dl-matrix tbody th{width:10.5rem;min-width:10.5rem;max-width:10.5rem}
  .dl-footer__links{justify-content:flex-start}
}


/* Approved source: main-style-6.css */

/* ===== Design Lab iteration 05 ===== */
/* Materials / partners: no redundant headings. */
.dl-partners > .dl-kicker{margin-bottom:.75rem}
.dl-partner{
  border-radius:1rem;
  transition:box-shadow .16s ease, background-color .16s ease;
}
.dl-partner:focus-visible{outline:3px solid rgb(78 141 154 / 38%);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .dl-partner:hover{background:#fff;box-shadow:0 .7rem 1.8rem rgb(23 28 32 / 7%)}
}

/* Tournament matrix: compact on small screens, more substantial and centered on large screens. */
@media (min-width:68.75rem){
  .dl-matrix-block{max-width:72rem;margin-left:auto;margin-right:auto}
  .dl-matrix-title{max-width:72rem;margin-left:auto;margin-right:auto}
  .dl-matrix-wrap{width:100%;max-width:72rem;margin-inline:auto}
  .dl-matrix{width:100%!important;min-width:0!important;table-layout:fixed;font-size:.86rem}
  .dl-matrix th,.dl-matrix td{padding:.78rem .62rem!important}
  .dl-matrix thead th:first-child{width:3rem}
  .dl-matrix thead th:nth-child(2){width:18rem}
  .dl-matrix thead th:nth-last-child(2){width:5.4rem}
  .dl-matrix thead th:last-child{width:6.4rem}
}

/* Archive navigation: smaller tournament cards at every viewport. */
.dl-tour-strip{gap:.35rem}
.dl-tour-link{min-height:3.35rem;padding:.48rem .58rem;border-radius:.72rem}
.dl-tour-link strong{font-size:.78rem;line-height:1.08}
.dl-tour-link small{display:block;margin-top:.15rem;font-size:.67rem;line-height:1.12}
@media(max-width:48rem){
  .dl-tour-strip{gap:.3rem}
  .dl-tour-link{min-height:3rem;padding:.42rem .5rem}
  .dl-tour-link strong{font-size:.75rem}
  .dl-tour-link small{font-size:.64rem}
}


/* Approved source: main-style-7.css */

/* Flexagon background: the only visual change in the almost-final page. */
.lab-hero-shell{position:relative;overflow:hidden;}
.lab-flexagon-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  display:block;
  pointer-events:none;
}
.lab-hero-shell > .lab-hero{position:relative;z-index:2;}
.lab-hero-shell > .lab-leaf{display:none !important;}


/* Approved source: main-style-8.css */

/* Hero meta: calendar + map pin, and a larger slogan. */
.lab-hero__meta span{display:inline-flex;align-items:center;gap:.45rem}
.lab-hero__meta span::before{
  content:"";flex:0 0 auto;width:1rem;height:1rem;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  opacity:.86;
}
.lab-hero__meta span:first-child::before{
  background-image:url("/assets/common/icons/calendar.svg");
}
.lab-hero__meta span:nth-child(2)::before{
  background-image:url("/assets/common/icons/map-pin.svg");
}
.lab-hero__slogan{font-size:clamp(.92rem,1.25vw,1.08rem)!important;letter-spacing:.055em!important}

/* City chips: a little darker so they remain distinct from the page background. */
body[data-design-variant="b"] .lab-city-list span,
.lab-city-list span{background:#dfe9df!important;border-color:rgb(55 111 120 / 10%)!important}

/* Brochure: important but compact on tablet/mobile. */
@media(max-width:56.25rem){
  .dl-brochure{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:.32rem 1rem;
    padding:1.15rem 1.25rem!important;
    border-radius:1.15rem!important;
  }
  .dl-brochure strong{margin:0!important;font-size:1.25rem!important}
  .dl-brochure p{grid-column:1;margin:.25rem 0 0!important;font-size:.84rem!important}
  .dl-brochure__action{
    position:static!important;grid-column:2;grid-row:1 / span 2;
    align-self:center;white-space:nowrap;font-size:.88rem;
  }
}

/* Shared partner entities render as one clickable logo rectangle. */
.dl-partner-list{
  --partner-plaque-height:7.1rem;
  grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))!important;
  align-items:stretch;
  gap:clamp(.65rem,1.5vw,1rem)!important;
}
.dl-partner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:var(--partner-plaque-height)!important;
  min-height:var(--partner-plaque-height)!important;
  max-height:var(--partner-plaque-height)!important;
  padding:.7rem 1rem!important;
  border:0!important;
  border-radius:1rem!important;
  overflow:hidden!important;
  box-shadow:none!important;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.dl-partner img{display:block;flex:0 1 auto;min-width:0;max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain}
.dl-partner.dl-partner__logo--etudes img{width:100%!important;height:100%!important;object-fit:contain}
.dl-partner:focus-visible{outline:3px solid rgb(78 141 154 / 42%);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.dl-partner:hover,.dl-partner:focus-visible{transform:translateY(-2px);box-shadow:0 .65rem 1.5rem rgb(23 28 32 / 9%)!important;filter:saturate(1.02)}}
@media(max-width:40rem){
  .dl-partner-list{--partner-plaque-height:5.7rem;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem!important}
  .dl-partner{border-radius:.85rem!important;padding:.45rem!important}
}

/* Organizers: two cards in a row on tablet. */
@media(min-width:40.01rem) and (max-width:56.25rem){
  .dl-organizer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dl-organizer{grid-template-columns:1fr!important}
  .dl-organizer__photo{min-height:12rem!important}
  .dl-organizer__body{padding:1.2rem!important}
}

/* Fight results: only the winner and the score are bold. */
.dl-fight__teams{font-size:.9rem;font-weight:500;min-width:0}
.dl-fight__teams strong{font-size:inherit;font-weight:900}
.dl-score{font-weight:900!important}

/* Matrix: freeze BOTH leading header cells as well as the two body columns. */
.dl-matrix thead th:first-child{
  position:sticky;left:0;z-index:7;background:#e7f0ef!important;
}
.dl-matrix thead th:nth-child(2){
  position:sticky;left:2.55rem;z-index:6;background:#e7f0ef!important;
}
@media(max-width:48rem){
  .dl-matrix thead th:nth-child(2){left:2.35rem}
}

/* Mobile game tables: compact enough to fit without a tiny accidental overflow. */
@media(max-width:40rem){
  .dl-games-table{font-size:.75rem!important}
  .dl-games-table th,.dl-games-table td{padding:.48rem .38rem!important}
  .dl-games-table thead th{font-size:.67rem!important;letter-spacing:.045em!important}
  .dl-games-table-wrap{overflow-x:auto}
}

/* Photo gallery: modern carousel, no ugly native scrollbar. */
.gallery-carousel{position:relative}
.gallery{
  display:flex!important;
  gap:1rem!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:.1rem 0;
}
.gallery::-webkit-scrollbar{display:none}
.gallery__item{flex:0 0 calc((100% - 2rem)/3)!important;scroll-snap-align:start}
.gallery-carousel__nav{
  position:absolute;z-index:4;top:50%;transform:translateY(-50%);
  width:2.7rem;height:2.7rem;border:1px solid rgb(255 255 255 / 55%);
  border-radius:999px;background:rgb(23 28 32 / 38%);color:#fff;
  display:grid;place-items:center;font-size:1.3rem;font-weight:800;
  backdrop-filter:blur(8px);box-shadow:0 .45rem 1.3rem rgb(23 28 32 / 16%);
  cursor:pointer;
}
.gallery-carousel__nav:hover{background:rgb(23 28 32 / 55%)}
.gallery-carousel__nav--prev{left:.65rem}
.gallery-carousel__nav--next{right:.65rem}
.gallery-consent{
  margin:.9rem 0 0;color:rgb(25 33 39 / 58%);font-size:.78rem;line-height:1.45
}
@media(max-width:62rem){.gallery__item{flex-basis:calc((100% - 1rem)/2)!important}}
@media(max-width:40rem){
  .gallery{gap:.65rem!important}
  .gallery__item{flex-basis:100%!important}
  .gallery-carousel__nav{width:2.45rem;height:2.45rem;font-size:1.15rem}
  .gallery-carousel__nav--prev{left:.4rem}.gallery-carousel__nav--next{right:.4rem}
}

/* Much tighter mobile vertical rhythm. */
@media(max-width:40rem){
  .lab-intro{padding-block:2.35rem!important}
  .dl-section,.section{padding-block:2.15rem!important}
  .dl-heading{margin-bottom:1.15rem!important}
  .dl-materials-layout{gap:1.6rem!important}
  .lab-city-list{margin-top:1.15rem!important}
  .dl-result-layout{gap:1.25rem!important}
  .dl-matrix-block{margin-top:1.35rem!important}
  #gallery .section-heading{margin-bottom:.8rem!important}
  .dl-brochure p{display:none!important}
  .dl-brochure__action{grid-row:1!important}
  .dl-brochure strong{font-size:1.08rem!important}
  .dl-archive-nav{display:none!important}
}

/* Mobile stat chips: one compact row, not tall pills. */
@media(max-width:40rem){
  body[data-stat-variant="c"] .lab-statline{
    display:flex!important;flex-wrap:nowrap!important;
    gap:.28rem!important;width:100%;overflow:visible;
  }
  body[data-stat-variant="c"] .lab-stat{
    min-width:0!important;flex:1 1 0!important;
    padding:.38rem .32rem!important;
    border-radius:.72rem!important;
    gap:.2rem!important;
    align-items:center!important;justify-content:center!important;
    white-space:nowrap;
  }
  body[data-stat-variant="c"] .lab-stat strong{
    font-size:.92rem!important;letter-spacing:-.035em!important;
  }
  body[data-stat-variant="c"] .lab-stat span{
    font-size:.61rem!important;line-height:1!important;
  }
}


/* Approved source: main-style-9.css */

/* Main hero: the text block uses the same restrained glass language as the teams hero. */
.lab-hero__copy{
  padding:clamp(1.15rem,2.25vw,1.65rem)!important;
  border:1px solid rgb(255 255 255 / 14%);
  border-radius:1.4rem;
  background:rgb(16 74 72 / 22%);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  box-shadow:0 1rem 3rem rgb(11 61 58 / 12%);
}
@media(max-width:40rem){
  .lab-hero__copy{padding:1rem!important;border-radius:1.05rem;-webkit-backdrop-filter:blur(2.25px);backdrop-filter:blur(2.25px)}
}

/* Gallery controls: light glass buttons with proper chevrons. */
.gallery-carousel__nav{
  width:3rem!important;height:3rem!important;
  border:1px solid rgb(255 255 255 / 64%)!important;
  background:linear-gradient(145deg,rgb(255 255 255 / 30%),rgb(15 61 58 / 38%))!important;
  color:#fff!important;
  font-size:0!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:0 .55rem 1.5rem rgb(18 45 43 / 20%),inset 0 1px 0 rgb(255 255 255 / 28%)!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
  touch-action:manipulation;
}
.gallery-carousel__nav{position:absolute!important}
.gallery-carousel__nav::before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:.68rem;height:.68rem;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform-origin:50% 50%;
}
.gallery-carousel__nav--prev::before{transform:translate(-50%,-50%) rotate(-135deg)}
.gallery-carousel__nav--next::before{transform:translate(-50%,-50%) rotate(45deg)}
.gallery-carousel__nav:hover{
  background:linear-gradient(145deg,rgb(255 255 255 / 40%),rgb(15 61 58 / 48%))!important;
  transform:translateY(-50%) scale(1.06)!important;
  box-shadow:0 .75rem 1.8rem rgb(18 45 43 / 24%),inset 0 1px 0 rgb(255 255 255 / 38%)!important;
}
.gallery-carousel__nav:active{transform:translateY(-50%) scale(.97)!important}
.gallery-carousel__nav:focus-visible{outline:2px solid #fff0a9;outline-offset:3px}

/* Consent note: a small calm information chip rather than a loose footnote. */
.gallery-consent{
  display:inline-flex!important;
  align-items:flex-start;
  gap:.62rem;
  max-width:47rem;
  margin:1rem 0 0!important;
  padding:.62rem .82rem!important;
  border:1px solid rgb(55 111 120 / 16%);
  border-radius:.9rem;
  background:rgb(236 245 241 / 78%);
  color:#49666a!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  font-weight:600;
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.gallery-consent::before{
  content:"✓";
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:1.35rem;height:1.35rem;
  margin-top:.02rem;
  border-radius:50%;
  background:#4e8d9a;
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 .2rem .5rem rgb(55 111 120 / 18%);
}
@media(max-width:40rem){
  .gallery-carousel__nav{width:2.65rem!important;height:2.65rem!important}
  .gallery-carousel__nav::before{width:.61rem;height:.61rem}
  .gallery-consent{font-size:.74rem!important;padding:.58rem .7rem!important;border-radius:.82rem}
}


/* Approved source: teams-style-4.css */

:root{--lab-ink:#171c20;--lab-paper:#fffdf8;--lab-teal:#4e8d9a;--lab-violet:#5b5c98;--lab-green:#639d70;--lab-green-light:#acd1a8;--lab-yellow:#f1c845;--lab-orange:#d98744;--lab-line:rgb(23 28 32 / 13%);--container:min(100% - 2rem,78rem)}
body{background:var(--lab-paper);color:var(--lab-ink)}
.page-teams .lab-site-header{position:relative;z-index:20;background:rgb(255 253 248 / 97%);border-bottom:1px solid var(--lab-line)}
.page-teams .lab-site-header__inner{width:var(--container);margin-inline:auto;min-height:4.9rem;display:flex;align-items:center;gap:1.5rem}
.page-teams .lab-brand{flex:0 0 auto;display:inline-flex;align-items:center;gap:.65rem;color:var(--lab-ink);text-decoration:none;font-weight:800;letter-spacing:-.025em}
.page-teams .lab-brand__logo{width:3rem;height:3rem;object-fit:contain;flex:0 0 auto}
.page-teams .lab-main-nav{margin-left:auto;min-width:0;display:flex;align-items:center;gap:.55rem;overflow-x:auto;scrollbar-width:none;white-space:nowrap;font-size:.9rem}.page-teams .lab-main-nav::-webkit-scrollbar{display:none}.page-teams .lab-main-nav a{color:rgb(23 28 32 / 74%);text-decoration:none;padding-block:.5rem}.page-teams .lab-main-nav a:hover,.page-teams .lab-main-nav a[aria-current="page"]{color:var(--lab-ink)}.page-teams .lab-main-nav a[aria-current="page"]{font-weight:750}.page-teams .lab-main-nav__sep{color:rgb(23 28 32 / 25%)}
.page-teams .subpage-hero{padding-block:clamp(2.5rem,6vw,4.5rem);background:radial-gradient(circle at 82% 10%,rgb(241 200 69 / 24%),transparent 17rem),linear-gradient(126deg,#3f7e89 0%,#4e8d9a 52%,#639d70 118%);color:#fff}
.subpage-hero .eyebrow{color:#fff0a9}.subpage-hero h1{font-family:"Roboto",Arial,sans-serif;font-weight:900;letter-spacing:-.055em}.subpage-hero p{color:rgb(255 255 255 / 80%)}.breadcrumbs,.breadcrumbs a{color:rgb(255 255 255 / 72%)}
.search-panel{border-color:rgb(78 141 154 / 22%);box-shadow:0 .8rem 2.5rem rgb(23 28 32 / 6%)}
.search-panel__field:focus-within{border-color:var(--lab-teal);box-shadow:0 0 0 3px rgb(78 141 154 / 14%)}
.class-switcher{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.15rem 0 1rem}
.class-switcher__btn{border:1px solid rgb(23 28 32 / 12%);border-radius:999px;background:#fff;padding:.72rem 1rem;font:inherit;font-weight:850;color:var(--lab-ink);cursor:pointer}.class-switcher__btn small{margin-left:.35rem;color:rgb(23 28 32 / 50%);font-weight:700}.class-switcher__btn.is-active{background:var(--lab-teal);border-color:var(--lab-teal);color:#fff}.class-switcher__btn.is-active small{color:rgb(255 255 255 / 70%)}
.class-group{margin-top:0}
.team-grid{align-items:stretch}
.team-card{height:100%;display:grid;grid-template-rows:auto 1fr auto}
.team-card header{background:linear-gradient(150deg,#edf4ee,#fff)}
.team-card h3{font-family:"Roboto",Arial,sans-serif;font-weight:800;letter-spacing:-.035em}
.team-card ol{align-self:stretch}
.team-card footer{margin-top:auto;min-height:6.5rem;display:flex;flex-direction:column;justify-content:center;background:#fffdf8}
.back-link{color:#346f79}
.dl-footer{background:#171c20;color:#fff}.dl-footer__inner{width:var(--container);margin-inline:auto;min-height:12.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.dl-footer__slogan{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f1c845}.dl-footer__brand{margin-top:.65rem;color:rgb(255 255 255 / 70%)}.dl-footer__note{max-width:31rem;color:rgb(255 255 255 / 52%);font-size:.78rem;text-align:right}
@media(max-width:48rem){:root{--container:min(100% - 1.25rem,78rem)}.page-teams .lab-brand__logo{width:2.55rem;height:2.55rem}.page-teams .lab-site-header__inner{min-height:4.25rem}.page-teams .lab-main-nav{font-size:.82rem}.team-card footer{min-height:6rem}.dl-footer__inner{min-height:11rem;align-items:flex-start;justify-content:center;flex-direction:column}.dl-footer__note{text-align:left}}


/* Approved source: teams-style-7.css */

.subpage-hero{position:relative!important;overflow:hidden!important;isolation:isolate;background:
  radial-gradient(circle at 82% 10%,rgb(241 200 69 / 24%),transparent 17rem),
  linear-gradient(126deg,#3f7e89 0%,#4e8d9a 52%,#639d70 118%)!important}
.teams-flexagon-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none}
.page-teams .subpage-hero .container{
  position:relative;z-index:2;
  width:min(calc(100% - 4rem),56rem);
  margin-left:max(2rem,calc((100% - 78rem)/2));
  margin-right:auto;
  padding:clamp(1.15rem,2.5vw,1.6rem)!important;
  border:1px solid rgb(255 255 255 / 14%);
  border-radius:1.4rem;
  background:rgb(16 74 72 / 24%);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  box-shadow:0 1rem 3rem rgb(11 61 58 / 12%);
}
@media(max-width:40rem){
  .subpage-hero{padding-block:1.6rem!important}
  .page-teams .subpage-hero .container{width:calc(100% - 2rem);margin-inline:auto;padding:1rem!important;border-radius:1.05rem;-webkit-backdrop-filter:blur(2.25px);backdrop-filter:blur(2.25px)}
}
@media(min-width:40.01rem) and (max-width:56.25rem){
  .lab-hero__copy,
  .page-teams .subpage-hero .container{-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}
  .page-teams .subpage-hero .container{width:min(calc(100% - 6rem),42rem);margin-inline:auto}
}


/* Approved source: teams-style-8.css */

/* Same decorative page underlay as the corresponding tournament archive page. */
body.page-teams{
  --container:min(100% - 2rem,78rem);
  background:
    linear-gradient(rgb(247 243 237 / 80%), rgb(247 243 237 / 80%)),
    url("/assets/common/brand/tropical-pattern.png") center top / cover fixed no-repeat !important;
  background-color:#f7f3ed!important;
}


/* Production integration constraints and reusable generated markup. */
:root{--container:min(100% - 2rem,78rem)}
html{font-family:"Roboto",Arial,sans-serif;scroll-behavior:smooth}
body{overflow-x:hidden}
.lab-site-header__inner,.dl-inner,.lab-intro,.archive-navigation,.site-footer__inner{width:var(--container);margin-inline:auto}
.page-teams .lab-brand__logo{display:block;width:3rem;height:3rem;object-fit:contain}
.lab-logo-slot img{display:block;width:min(100%,34rem);height:auto}
.breadcrumbs{padding-block:.9rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin:0;padding:0;list-style:none}.breadcrumbs li+li::before{content:"/";margin-right:.65rem;color:rgb(23 28 32 / 35%)}.breadcrumbs a{color:inherit}
.dl-organizer__photo{width:100%;min-width:0;align-self:start;padding:0;overflow:hidden;aspect-ratio:1/1}.dl-organizer__photo picture,.dl-organizer__photo img{display:block;width:100%;height:100%}.dl-organizer__photo img{object-fit:cover}
.dl-partner__logo img{display:block;width:100%;height:auto;object-fit:contain}
.dl-matrix-toggle{display:none}
.gallery-carousel{overflow:hidden}.gallery__item picture,.gallery__item img{display:block;width:100%;height:100%}.gallery__item picture{aspect-ratio:4/3}.gallery__item img{object-fit:cover}
.gallery-dialog[open]{
  position:fixed;
  inset:0;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr;
  place-items:center;
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:clamp(1rem,4vw,3rem);
  border:0;
  border-radius:0;
  background:#1f1d1b;
  box-sizing:border-box;
}
.gallery-dialog figure{grid-area:1/1;display:grid;place-items:center;min-width:0;margin:0}
.gallery-dialog picture,.gallery-dialog img{display:block;max-width:calc(100vw - clamp(2rem,8vw,6rem));max-height:calc(100dvh - clamp(2rem,8vw,6rem));width:auto;height:auto;object-fit:contain}
.gallery-dialog__nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%)}
.gallery-dialog__nav[data-gallery-prev]{left:clamp(.4rem,2vw,1.5rem)}
.gallery-dialog__nav[data-gallery-next]{right:clamp(.4rem,2vw,1.5rem)}
.gallery-dialog__close{
  top:.55rem;right:.55rem;width:2.75rem!important;height:2.75rem!important;
  border:1px solid rgb(255 255 255 / 18%)!important;border-radius:.7rem!important;
  background:rgb(16 22 24 / 58%)!important;color:#fff;font-size:0;line-height:1;cursor:pointer;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:background-color .16s ease,border-color .16s ease;
}
.gallery-dialog__close::before,.gallery-dialog__close::after{content:"";position:absolute;left:50%;top:50%;width:1.15rem;height:1.5px;border-radius:999px;background:#fff;transform-origin:center}
.gallery-dialog__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.gallery-dialog__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.gallery-dialog__close:hover,.gallery-dialog__close:focus-visible{background:rgb(35 43 45 / 76%)!important;border-color:rgb(255 255 255 / 32%)!important}
.gallery-dialog__close:focus-visible{outline:2px solid #fff0a9;outline-offset:2px}
.gallery__item figcaption:empty,.gallery-dialog figcaption:empty{display:none}
.archive-navigation{display:flex!important;justify-content:space-between;gap:1rem;padding-block:clamp(2rem,5vw,4rem)}
.page-teams .class-switcher{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.5rem}.page-teams .class-switcher__btn{min-height:2.75rem;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--lab-line);border-radius:999px;background:#fff;padding:.52rem .65rem .52rem .9rem;color:var(--lab-ink);font:inherit;font-weight:800;cursor:pointer}.page-teams .class-switcher__btn.is-active{background:var(--lab-teal);border-color:var(--lab-teal);color:#fff}.page-teams .class-switcher__btn small{min-width:1.55rem;height:1.55rem;display:grid;place-items:center;padding:0 .35rem;border-radius:999px;background:rgb(23 28 32 / 8%);color:inherit;font-size:.72rem;font-weight:850;line-height:1;opacity:.8}.page-teams .class-switcher__btn.is-active small{background:rgb(255 255 255 / 18%);opacity:1}
.page-teams .search-panel__row{display:grid;grid-template-columns:minmax(18rem,1fr) auto;align-items:end;gap:1.5rem}
.page-teams .search-panel__search{min-width:0;max-width:46rem}
.page-teams .search-panel__search>label{display:block;margin-bottom:.45rem;font-weight:750}
.page-teams .search-panel__actions{position:static;align-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.8rem;margin:0 0 .85rem}
.page-teams .roster-class-block{display:grid;gap:1.2rem}
.page-teams .roster-class-plaque{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;padding:1.1rem 1.3rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);font-size:1.8rem}
.page-teams .roster-class-plaque small{color:var(--muted);font-family:"Roboto",Arial,sans-serif;font-size:.82rem;font-weight:400}
.page-teams .class-group.is-summary-hidden>summary{display:none}
.page-teams .class-group.is-summary-hidden[open]>summary{margin-bottom:0}
.dl-games-grid,.dl-games-card{min-width:0}.dl-games-card{max-width:100%;box-sizing:border-box}
.team-card[hidden],.class-group[hidden],.roster-class-block[hidden]{display:none!important}
@media(max-width:720px){
 .page-teams .lab-main-nav{font-size:.78rem}.page-teams .lab-main-nav__sep{display:none}.page-teams .lab-brand span{display:none}
 .dl-matrix-title{align-items:center;flex-wrap:nowrap}
 .dl-matrix-toggle{min-height:2rem;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.35rem .7rem;border:1px solid var(--lab-teal);border-radius:999px;background:var(--lab-teal);color:#fff;font:inherit;font-size:.75rem;font-weight:800;line-height:1;cursor:pointer}
 .dl-matrix-block[data-matrix-collapsed="true"] .dl-matrix-wrap{display:none}
 .archive-navigation{flex-direction:column}.archive-navigation a{text-align:center}
 .page-teams .search-panel__row{grid-template-columns:1fr;gap:0}
 .page-teams .search-panel__search{max-width:none}
 .page-teams .search-panel__actions{justify-content:flex-start;margin:.8rem 0 0}
}
@media(max-width:374.98px){.dl-role{text-align:center}}

/* Archive index: intentionally scoped so tournament and teams pages keep their approved layout. */
.page-archive-index .archive-index-hero{
  color:#fff;
  background:linear-gradient(126deg,#3f7e89 0%,#4e8d9a 54%,#639d70 118%);
}
.page-archive-index .archive-index-hero__inner{
  width:var(--container);
  margin-inline:auto;
  padding-block:clamp(3rem,5.5vw,4.75rem);
}
.page-archive-index .archive-index-hero h1{
  max-width:56rem;
  margin:0;
  font-size:clamp(2.7rem,6vw,5.4rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.055em;
}
.page-archive-index .archive-index-content{
  width:var(--container);
  margin-inline:auto;
  padding-block:clamp(2.7rem,6vw,5.5rem);
}
.page-archive-index .archive-index-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  gap:1rem;
}
.page-archive-index .archive-index-card{
  --archive-season-ink:var(--lab-teal);
  --archive-season-soft:#e2eeee;
  min-width:0;
  min-height:10.5rem;
  display:grid;
  grid-template-columns:minmax(5.4rem,auto) minmax(0,1fr);
  color:var(--lab-ink);
  background:rgb(255 255 255 / 82%);
  border:1px solid rgb(25 33 39 / 10%);
  border-radius:1.25rem;
  box-shadow:0 .8rem 2.4rem rgb(23 28 32 / 5%);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  overflow:hidden;
}
.page-archive-index .archive-index-card[data-season="winter"]{--archive-season-ink:#536cb4;--archive-season-soft:#e7e8f5}
.page-archive-index .archive-index-card[data-season="autumn"]{--archive-season-ink:#c66f2e;--archive-season-soft:#f8e5d2}
.page-archive-index .archive-index-card[data-season="spring"]{--archive-season-ink:#4f9365;--archive-season-soft:#dfeee0}
.page-archive-index .archive-index-card--link{
  text-decoration:none;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.page-archive-index .archive-index-card--link:hover{
  border-color:var(--archive-season-ink);
  box-shadow:0 1rem 2.8rem rgb(23 28 32 / 10%);
  transform:translateY(-2px);
}
.page-archive-index .archive-index-card--link:focus-visible{
  outline:.2rem solid var(--lab-orange);
  outline-offset:.2rem;
}
.page-archive-index .archive-index-card__number-zone{
  min-width:0;
  display:grid;
  place-items:start center;
  padding:1.15rem .75rem;
  color:var(--archive-season-ink);
  background:var(--archive-season-soft);
  border-right:1px solid rgb(25 33 39 / 7%);
}
.page-archive-index .archive-index-card__number{
  white-space:nowrap;
  font-size:clamp(2rem,2.8vw,2.55rem);
  font-weight:900;
  line-height:1;
  letter-spacing:-.075em;
}
.page-archive-index .archive-index-card__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:1.1rem 1rem 1.15rem;
}
.page-archive-index .archive-index-card__body strong{
  font-size:1rem;
  line-height:1.2;
}
.page-archive-index .archive-index-card__date{
  margin-top:.75rem;
  padding:.28rem .45rem;
  color:var(--archive-season-ink);
  background:var(--archive-season-soft);
  border-radius:.5rem;
  font-size:clamp(.76rem,.9vw,.83rem);
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
}
.page-archive-index .archive-index-card__date--cross-month{white-space:normal}
.page-archive-index .archive-index-card__place{
  margin-top:.55rem;
  color:rgb(25 33 39 / 66%);
  font-size:.82rem;
  line-height:1.4;
}
@media(max-width:48rem){
  .page-archive-index .archive-index-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
}
@media(max-width:30rem){
  .page-archive-index .archive-index-hero__inner{padding-block:2.7rem 3rem}
  .page-archive-index .archive-index-hero h1{max-width:18rem;font-size:clamp(2.55rem,13vw,3.25rem)}
  .page-archive-index .archive-index-grid{grid-template-columns:1fr;gap:.75rem}
  .page-archive-index .archive-index-card{min-height:0;grid-template-columns:minmax(5rem,auto) minmax(0,1fr)}
  .page-archive-index .archive-index-card__number{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
  .page-archive-index .archive-index-card--link{transition:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* === Mobile person-card refinement — 2026-08-27 ===
   Scope: organizer/person cards only. Desktop/tablet remain unchanged. */
@media (max-width:40rem){
  .dl-organizer{
    grid-template-columns:clamp(6.5rem,32vw,9rem) minmax(0,1fr);
    column-gap:.75rem;
  }

  .dl-organizer__photo{
    width:100%;
    max-width:9rem;
    aspect-ratio:1/1;
  }

  .dl-organizer h3{
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .dl-role{
    max-width:100%;
  }
}

@media (max-width:374.98px){
  .dl-role{
    text-align:center;
  }
}

/* Mobile organizer: photo starts alongside role badge */
@media (max-width:40rem){
  .dl-organizer{
    grid-template-areas:
      "photo role"
      "photo name"
      "bio bio";
  }

  .dl-role{
    align-self:start;
  }

  .dl-organizer h3{
    align-self:center;
  }
}

/* II tournament: optional-content layout using the approved archive components. */
.page-tournament--battle .lab-hero__copy{max-width:58rem}
.page-tournament--battle .lab-hero__meta{max-width:45rem}
.lab-hero__facts{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}
.lab-hero__facts span{padding:.55rem .8rem;border:1px solid rgb(255 255 255 / 20%);border-radius:999px;background:rgb(15 72 71 / 20%);color:#fff;font-size:.85rem;font-weight:800}
.lab-intro__grid--story-only{grid-template-columns:minmax(0,56rem)}
.page-tournament--battle .dl-materials-layout--partners-only{grid-template-columns:minmax(0,1fr)}
.page-tournament--battle .dl-materials-layout--partners-only .dl-partners{max-width:54rem}
.page-tournament--battle .dl-partner:not(a){cursor:default}
.page-tournament--battle .dl-result-layout--standings-only{grid-template-columns:minmax(0,36rem)}
.page-tournament--battle .dl-standings__head{display:grid;grid-template-columns:3rem minmax(0,1fr) 4.25rem;gap:.8rem;padding:0 .8rem .45rem;color:rgb(25 33 39 / 58%);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.page-tournament--battle .dl-standings__head span:first-child{text-align:center}
.page-tournament--battle .dl-standings__head span:last-child{text-align:right}
.page-tournament--battle .dl-place--with-points{grid-template-columns:3rem minmax(0,1fr) 4.25rem}
.page-tournament--battle .dl-place__points{text-align:right;font-weight:900;font-variant-numeric:tabular-nums}
.page-tournament--battle .dl-result-note{max-width:58rem;margin:1.35rem 0 0;padding:1rem 1.1rem;border-left:.25rem solid var(--lab-orange);border-radius:.2rem .8rem .8rem .2rem;background:#fff7ec;color:rgb(23 28 32 / 76%);font-size:.9rem;line-height:1.5}
.page-tournament--battle .dl-result-panel[data-tab-panel^="grade-5"] .dl-matrix .dl-diagonal{background:#8eeed7!important}
.page-tournament--battle .dl-result-panel[data-tab-panel="grade-6"] .dl-matrix .dl-diagonal{background:#54a5b0!important}
.page-tournament--battle .dl-matrix td{font-weight:400}
.page-tournament--battle .dl-matrix .dl-points-col{font-weight:900}
.page-tournament--battle .dl-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.page-tournament--battle .dl-achievement-card{padding:1.2rem 1.3rem;border:1px solid rgb(23 28 32 / 9%);border-radius:1.15rem;background:#fff;box-shadow:0 .55rem 1.6rem rgb(23 28 32 / 5%)}
.page-tournament--battle .dl-achievement-card p{margin:0;color:#3f7e89;font-size:.78rem;font-weight:850;line-height:1.35}
.page-tournament--battle .dl-achievement-card h3{margin:.65rem 0 0;font-size:1.15rem;letter-spacing:-.025em}
.page-tournament--battle .dl-achievement-card small{display:block;margin-top:.35rem;color:rgb(23 28 32 / 62%);line-height:1.4}
@media(max-width:40rem){
  .page-tournament--battle .lab-hero__meta{display:grid}
  .page-tournament--battle .dl-matrix-block[data-matrix-collapsed="true"] .dl-matrix-content{display:none}
  .page-tournament--battle .dl-achievement-grid{grid-template-columns:1fr}
}
@media(min-width:70rem){
  .page-tournament--battle .dl-matrix thead th.dl-game-col{width:auto}
  .page-tournament--battle .dl-matrix thead th.dl-points-col{width:5.4rem}
}

/* Contacts page: existing site shell and a compact typographic contact block. */
.page-contacts .contacts-hero{
  color:#fff;
  background:linear-gradient(126deg,#3f7e89 0%,#4e8d9a 54%,#639d70 118%);
}
.page-contacts .contacts-hero__inner{
  width:var(--container);
  margin-inline:auto;
  padding-block:clamp(3rem,5.5vw,4.75rem);
}
.page-contacts .contacts-hero h1{
  max-width:56rem;
  margin:0;
  font-size:clamp(2.7rem,6vw,5.4rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.055em;
}
.page-contacts .contacts-content{
  width:min(calc(100% - 2rem),36rem);
  margin-inline:auto;
  padding-block:clamp(3.5rem,8vw,6rem);
}
.page-contacts .contacts-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.page-contacts .contacts-card p{
  max-width:34rem;
  margin:0;
  color:rgb(25 33 39 / 72%);
  font-size:clamp(1rem,2vw,1.12rem);
  line-height:1.6;
}
.page-contacts .contacts-card__email{
  display:inline-block;
  max-width:100%;
  margin-top:.8rem;
  color:var(--lab-orange-deep);
  font-size:clamp(1.45rem,4vw,2.05rem);
  font-weight:850;
  line-height:1.2;
  overflow-wrap:anywhere;
  white-space:normal;
  text-decoration-line:underline;
  text-decoration-color:rgb(217 135 68 / 42%);
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
  transition:text-decoration-color .16s ease;
}
.page-contacts .contacts-card__email:visited{color:var(--lab-orange-deep)}
.page-contacts .contacts-card__email:hover{text-decoration-color:currentColor}
.page-contacts .contacts-card__email:focus-visible{outline:2px solid currentColor;outline-offset:.25rem}
@media(max-width:30rem){
  .page-contacts .contacts-hero__inner{padding-block:2.7rem 3rem}
  .page-contacts .contacts-hero h1{font-size:clamp(2.55rem,13vw,3.25rem)}
  .page-contacts .contacts-content{width:min(100% - 1.25rem,36rem);padding-block:3rem 4rem}
}

/* Not found page: shared gradient hero, action and about gutters. */
.page-not-found .not-found-hero{
  color:#fff;
  background:linear-gradient(126deg,#3f7e89 0%,#4e8d9a 54%,#639d70 118%);
}
.page-not-found .not-found-hero__inner,
.page-not-found .not-found-content{
  width:min(calc(100% - 2rem),68rem);
  margin-inline:auto;
}
.page-not-found .not-found-hero__inner{padding-block:clamp(2.2rem,4vw,3.5rem)}
.page-not-found .not-found-code{
  margin:0 0 .4rem;
  font-size:clamp(1rem,1.8vw,1.25rem);
  font-weight:800;
  letter-spacing:.08em;
}
.page-not-found .not-found-hero h1{
  max-width:56rem;
  margin:0;
  font-size:clamp(2.7rem,6vw,5.4rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.055em;
}
.page-not-found .not-found-content{padding-block:clamp(2.5rem,5vw,4rem)}
.page-not-found .not-found-content p{
  max-width:36rem;
  margin:0 0 1.25rem;
  color:rgb(25 33 39 / 72%);
  font-size:clamp(1rem,2vw,1.12rem);
  line-height:1.6;
}
@media(max-width:30rem){
  .page-not-found .not-found-hero__inner,
  .page-not-found .not-found-content{width:min(100% - 1.25rem,68rem)}
  .page-not-found .not-found-hero__inner{padding-block:2rem 2.25rem}
  .page-not-found .not-found-hero h1{font-size:clamp(2.55rem,13vw,3.25rem)}
  .page-not-found .not-found-content{padding-block:2.5rem 3.5rem}
}

/* About page: shared site shell, typography, cards and action treatment. */
.page-about .about-hero{background:#eef5ed}
.page-about .about-hero__inner{
  width:var(--container);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(14rem,20rem);
  gap:clamp(1.25rem,3.75vw,3.75rem);
  align-items:center;
  padding-block:clamp(.8rem,1.8vw,1.5rem);
}
.page-about .about-hero h1{
  max-width:48rem;
  margin:0;
  color:var(--lab-ink);
  font-size:clamp(3.2rem,7vw,6.4rem);
  font-weight:900;
  line-height:.94;
  letter-spacing:-.06em;
}
.page-about .about-hero__brand{
  width:min(100%,16rem);
  height:auto;
  justify-self:center;
  object-fit:contain;
}
.page-about{
  --about-content:min(calc(100% - 2rem),68rem);
  --about-section-space:clamp(3rem,5vw,4.8rem);
  --about-heading-gap:clamp(1.3rem,2.7vw,2rem);
  --about-gap:1rem;
  --about-radius:var(--radius-md);
}
.page-about .about-history,
.page-about .about-components,
.page-about .about-gallery,
.page-about .about-training,
.page-about .about-stats,
.page-about .about-returning,
.page-about .about-geography,
.page-about .about-support{
  width:var(--about-content);
  margin-inline:auto;
  padding-top:var(--about-section-space);
}
.page-about .about-support{padding-bottom:var(--about-section-space)}
.page-about .about-copy{width:100%}
.page-about .about-copy h2,
.page-about .about-components__title,
.page-about .about-stats h2,
.page-about .about-returning h2,
.page-about .about-geography h2,
.page-about .about-support h2{
  color:var(--lab-ink);
  font-size:clamp(2rem,3.8vw,3.5rem);
  font-weight:850;
  line-height:1.05;
  letter-spacing:-.045em;
}
.page-about .about-copy h2,
.page-about .about-components__title,
.page-about .about-stats h2,
.page-about .about-returning h2,
.page-about .about-geography h2{margin:0 0 var(--about-heading-gap)}
.page-about .about-copy p{
  max-width:54rem;
  margin:0 0 1.15rem;
  color:rgb(25 33 39 / 76%);
  font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.7;
}
.page-about .about-copy p:last-child{margin-bottom:0}
.page-about .about-components__title{
  max-width:54rem;
}
.page-about .about-components__title a,
.page-about .about-components__title a:visited{color:inherit;text-decoration:none;font:inherit}
.page-about .about-components__title a:focus-visible{outline:2px solid currentColor;outline-offset:.16em}
.page-about .about-components__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--about-gap);
}
.page-about .about-component{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--lab-line);
  border-radius:var(--about-radius);
  background:#fff;
}
.page-about .about-component img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.page-about .about-component h3{
  margin:0;
  padding:.85rem .9rem 1rem;
  border-top:1px solid var(--lab-line);
  color:var(--lab-ink);
  font-size:clamp(.95rem,1.35vw,1.08rem);
  line-height:1.25;
  letter-spacing:-.02em;
}
.page-about .about-gallery .gallery__item{flex-basis:calc((100% - 3rem)/4)!important}
.page-about .about-gallery .gallery__item button{border-radius:var(--about-radius)}
.page-about .about-gallery .gallery__item img{aspect-ratio:3/2;object-fit:contain;background:#f4f6ef}
.page-about .about-training__inner{
  max-width:54rem;
}
.page-about .about-training__intro{
  margin:0;
  color:var(--lab-ink);
  font-size:clamp(1.08rem,1.8vw,1.25rem);
  font-weight:650;
  line-height:1.6;
}
.page-about .about-training__body{margin:1rem 0 0;color:rgb(25 33 39 / 76%);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.7}
.page-about .about-stats__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.5rem,4vw,3rem);
  margin:0;
}
.page-about .about-stat{min-width:0}
.page-about .about-stat-number{
  display:block;
  color:var(--lab-orange-deep);
  font-size:clamp(3rem,6vw,5rem);
  font-weight:900;
  line-height:.9;
  letter-spacing:-.06em;
  font-variant-numeric:tabular-nums;
}
.page-about .about-stat dd{
  max-width:14rem;
  margin:.6rem 0 0;
  color:rgb(25 33 39 / 76%);
  font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.45;
}
.page-about .about-stats__summary{
  max-width:54rem;
  margin:1.5rem 0 0;
  color:rgb(25 33 39 / 76%);
  font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.7;
}
.page-about .about-returning__layout{
  max-width:54rem;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:clamp(1.5rem,4vw,3rem);
}
.page-about .about-returning__number{min-width:2.4ch}
.page-about .about-returning__copy p,
.page-about .about-geography__copy p{
  max-width:54rem;
  margin:0 0 1rem;
  color:rgb(25 33 39 / 76%);
  font-size:clamp(1rem,1.5vw,1.1rem);
  line-height:1.7;
}
.page-about .about-returning__copy p:last-child,
.page-about .about-geography__copy p:last-of-type{margin-bottom:0}
.page-about .about-returning__lead{
  color:var(--lab-ink)!important;
  font-size:clamp(1.08rem,1.8vw,1.25rem)!important;
  font-weight:650;
  line-height:1.6!important;
}
.page-about .about-geography__regions{
  max-width:64rem;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem 0;
  margin:1.4rem 0 0;
  padding:0;
  color:rgb(25 33 39 / 76%);
  list-style:none;
  line-height:1.55;
}
.page-about .about-geography__regions li:not(:last-child)::after{
  content:"·";
  margin-inline:.55rem;
  color:var(--lab-orange-deep);
}
.page-about .about-support__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(1.5rem,5vw,4rem);
}
.page-about .about-support h2{
  max-width:48rem;
  margin:0;
  overflow-wrap:anywhere;
}
.page-about .about-support p{margin:.9rem 0 0;color:rgb(25 33 39 / 68%)}
.page-about .about-support__file-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--lab-orange-deep);
  font-weight:800;
  text-decoration:none;
}
.page-about .about-support__file-link:visited{color:var(--lab-orange-deep)}
.page-about .about-support__file-link span{border-bottom:1px solid rgb(231 123 45 / 38%);transition:border-color .16s ease}
.page-about .about-support__file-link:hover span{border-color:currentColor}
.page-about .about-support__file-link:focus-visible{outline:2px solid currentColor;outline-offset:.28rem}
.page-about .about-support__file-icon{flex:0 0 auto}
@media(max-width:62rem){
  .page-about .about-components__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-about .about-gallery .gallery__item{flex-basis:calc((100% - 1rem)/2)!important}
}
@media(max-width:48rem){
  .page-about .about-hero__inner{grid-template-columns:minmax(0,1fr) minmax(10rem,15rem);gap:1rem}
  .page-about .about-hero__brand{width:min(100%,12rem)}
  .page-about .about-support__inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:40rem){
  .page-about{--about-section-space:2.15rem;--about-heading-gap:1.15rem}
  .page-about .about-hero__inner{min-height:0;grid-template-columns:1fr;text-align:center}
  .page-about .about-hero h1{font-size:clamp(3rem,15vw,4.4rem)}
  .page-about .about-hero__brand{width:min(46.4vw,10.4rem)}
  .page-about .about-components__grid{grid-template-columns:1fr}
  .page-about .about-gallery .gallery__item{flex-basis:100%!important}
  .page-about .about-stats__list{grid-template-columns:1fr;gap:1rem}
  .page-about .about-stat{display:grid;grid-template-columns:minmax(8rem,max-content) minmax(0,1fr);align-items:baseline;gap:1rem}
  .page-about .about-stat dd{max-width:none;margin:0}
  .page-about .about-returning__layout{grid-template-columns:1fr;gap:1rem}
}
@media(max-width:30rem){
  .page-about{--about-content:min(calc(100% - 1.25rem),68rem)}
  .page-about .about-hero__inner{width:min(100% - 1.25rem,78rem);padding-block:.8rem .9rem}
}

/* Historical archive pages reuse the approved archive shell without fabricating missing structured results. */
.page-tournament--historical .historical-archive__hero .lab-logo-slot img{width:min(100%,18rem);height:auto;object-fit:contain}
.page-tournament--historical .historical-archive__intro .lab-intro__story{max-width:58rem}
.page-tournament--historical .historical-archive__blocks{display:grid;gap:clamp(1.25rem,3vw,2rem)}
.page-tournament--historical .historical-archive__block{max-width:68rem}
.page-tournament--historical .historical-archive__block p{max-width:58rem;margin:0 0 .9rem;line-height:1.65}
.page-tournament--historical .historical-archive__figure{margin:1.25rem 0 0}
.page-tournament--historical .historical-archive__figure img{display:block;max-width:100%;height:auto;border-radius:1rem}
.page-tournament--historical .historical-archive__links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}
.page-tournament--historical .historical-archive__links a{color:var(--lab-orange-deep);font-weight:800;text-underline-offset:.2em}
.page-tournament--historical .archive-navigation{margin-top:0}

/* Shared public navigation: sticky header and keyboard-only skip link. */
body.lab-page{min-width:0}
body.lab-page .lab-site-header{
  position:sticky;
  top:0;
  z-index:100;
}
body.lab-page>.skip-link{
  position:fixed;
  top:.5rem;
  left:.5rem;
  z-index:101;
  transform:translateY(calc(-100% - 1rem));
  pointer-events:none;
}
body.lab-page>.skip-link:focus-visible{
  transform:none;
  pointer-events:auto;
}
body.lab-page main#main-content{scroll-margin-top:5rem}

/* Shared compact navigation replaces the clipped horizontal menu below its measured fit width. */
@media(max-width:53.75rem){
  body.lab-page .lab-site-header__inner{
    position:relative;
    min-height:4.25rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-block:0;
  }
  body.lab-page .lab-brand{margin-bottom:0}
  body.lab-page .lab-menu-toggle{
    min-height:2.75rem;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .75rem;
    border:1px solid var(--lab-line);
    border-radius:.75rem;
    background:transparent;
    color:var(--lab-ink);
    font:inherit;
    font-size:.88rem;
    font-weight:750;
    cursor:pointer;
  }
  body.lab-page .lab-menu-toggle:focus-visible{outline:3px solid rgb(78 141 154 / 38%);outline-offset:2px}
  body.lab-page .lab-menu-toggle__icon,
  body.lab-page .lab-menu-toggle__icon::before,
  body.lab-page .lab-menu-toggle__icon::after{width:1.05rem;height:2px;display:block;border-radius:999px;background:currentColor}
  body.lab-page .lab-menu-toggle__icon{position:relative}
  body.lab-page .lab-menu-toggle__icon::before,
  body.lab-page .lab-menu-toggle__icon::after{content:"";position:absolute;left:0}
  body.lab-page .lab-menu-toggle__icon::before{top:-.34rem}
  body.lab-page .lab-menu-toggle__icon::after{top:.34rem}
  body.lab-page .lab-main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:1;
    margin:0;
    padding:.5rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow:visible;
    white-space:normal;
    border:1px solid var(--lab-line);
    border-top:0;
    border-radius:0 0 1rem 1rem;
    background:rgb(255 253 248 / 99%);
    box-shadow:0 .9rem 2rem rgb(23 28 32 / 10%);
    font-size:.9rem;
  }
  body.lab-page .lab-main-nav.is-open{display:flex}
  body.lab-page .lab-main-nav a{width:100%;padding:.7rem .75rem;border-radius:.55rem}
  body.lab-page .lab-main-nav a:hover{background:rgb(78 141 154 / 8%)}
  body.lab-page .lab-main-nav a[aria-current="page"]{background:rgb(78 141 154 / 10%)}
  body.lab-page .lab-main-nav__sep{display:none}
}
