/* Test-domain home page. Program's dark stage and paper editorial rhythm. */
.home-main { padding: 0; color: #181818; background: #eeece7; }
.home-main > .wrap { max-width: none; padding: 0; }
.hm-page { --hm-red: #d52225; --hm-yellow: #f5d548; --hm-ink: #181818; --hm-line: #c9c6bf; }
.hm-page section[id] { scroll-margin-top: 68px; }
.hm-hero-facts, .hm-marquee, .hm-section-head > span, .hm-section-head > small,
.hm-anniversary > span, .hm-stats span, .hm-day-index, .hm-day-date small, .hm-spot-row > span,
.hm-spot-row small, .hm-overline, .hm-judge-photo i, .hm-judge-info small, .hm-partner > span,
.hm-action-primary, .hm-action-secondary, .hm-action-text, .hm-inline-link, .hm-dark-link {
  font-family: var(--font-mono); font-weight: 700; letter-spacing: .045em;
}

.hm-hero { position: relative; isolation: isolate; display: flex; flex-direction: column; min-height: calc(100svh - 68px); overflow: hidden; color: #fff; background: #09090a; }
.hm-hero-media { position: absolute; inset: 0; z-index: -2; background: #09090a url("img/video_poster.jpg") center / contain no-repeat; }
.hm-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; opacity: 0; transition: opacity .7s ease; }
.hm-hero-video.is-active { opacity: 1; }
.hm-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.5), rgba(0,0,0,.34) 34%, rgba(0,0,0,.04) 67%), linear-gradient(0deg, rgba(0,0,0,.36), transparent 28%); }
.hm-hero-inner { position: relative; display: flex; flex: 1; flex-direction: column; width: 100%; max-width: none; padding: clamp(38px,5.5vh,78px) clamp(24px,5.9vw,112px) 0; }
.hm-hero-top-strip {
  position: relative;
  z-index: 5;
  width: 100%;
  background: #f5d548;
  color: #0c0b0e;
  padding-block: 4px;
  font-family: var(--font-sans);
  font-weight: 900;
  font-size: clamp(0.74rem, 0.95vw, 0.94rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.15;
  white-space: nowrap;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.hm-strip-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  column-gap: 12px;
}
.hm-strip-left,
.hm-strip-right {
  flex: 0 0 auto;
}
.hm-strip-center {
  flex: 0 0 auto;
  text-align: center;
}
.hm-strip-right { justify-self: end; }
.hm-hero-copy { max-width: min(43%,500px); }
.hm-hero h1 { margin: 0 0 13px; line-height: .87; letter-spacing: -.07em; font-weight: 900; }
.hm-hero-edition { display: block; white-space: nowrap; }
.hm-hero-edition em { display: block; color: transparent; -webkit-text-stroke: 2px #f5d548; font-size: clamp(3rem,4.9vw,5.4rem); font-style: normal; font-weight: 900; }
.hm-hero-edition b { display: block; margin-top: 8px; color: #f5d548; font-size: clamp(6rem,10vw,11rem); font-weight: 900; }
.hm-hero-date { display: flex; width: max-content; gap: .15em; margin: 0 0 26px; padding: .03em .12em .08em; color: #fff; background: #d52225; font-family: var(--font-sans); font-size: clamp(2rem,3.9vw,3.7rem); font-weight: 900; line-height: 1; letter-spacing: -.045em; white-space: nowrap; }
.hm-hero-lead { max-width: 410px; margin: 0; color: #f0eee9; font-size: clamp(1rem,1.35vw,1.25rem); line-height: 1.4; text-wrap: pretty; }
.hm-hero-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 34px; }
.hm-action-primary, .hm-action-secondary { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 54px; padding: 14px 19px; font-size: .77rem; line-height: 1.3; transition: background .18s ease, border-color .18s ease; }
/* Test site: button look comes from buttons_test.css (uoc-btn); these rules are the fallback. */
.hm-action-primary { color: #0c0b0e; background: #f5d548; border: 1px solid #f5d548; }
.hm-action-primary:hover, .hm-action-primary:focus-visible { color: #0c0b0e; background: #ffe36a; border-color: #ffe36a; }
.hm-action-secondary { color: #fff; background: rgba(12,12,14,.38); border: 1px solid #898787; }
.hm-action-secondary:hover, .hm-action-secondary:focus-visible { color: #fff; background: #252426; border-color: #fff; }
.hm-action-text { display: inline-flex; align-items: center; gap: 12px; padding: 12px 2px; border-bottom: 1px solid #999; color: #e4e1dd; font-size: .76rem; }
.hm-action-text:hover, .hm-action-text:focus-visible { color: #fff; border-color: #fff; }
.hm-hero-actions .hm-action-primary, .hm-hero-actions .hm-action-secondary { justify-content: flex-start; width: min(100%,270px); min-height: 76px; padding: 12px 17px; font-family: var(--font-sans); font-size: clamp(1.01rem,1.4vw,1.34rem); font-weight: 900; line-height: 1.06; letter-spacing: -.035em; }
.hm-hero-actions .hm-action-secondary { background: rgba(0,0,0,.82); border-color: #aaa5a1; }
.hm-hero-actions mark { color: #f5d548; background: transparent; }
.hm-hero-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 16px; border-top: 1px solid rgba(255,255,255,.32); background: rgba(0,0,0,.72); }
.hm-hero-facts > div { display: flex; flex-direction: column; gap: 6px; min-height: 88px; padding: 17px 17px 20px 0; border-right: 1px solid rgba(255,255,255,.2); }
.hm-hero-facts > div + div { padding-left: 18px; }
.hm-hero-facts > div:last-child { border-right: 0; }
.hm-hero-facts span { color: #c3bebb; font-size: .65rem; }
.hm-hero-facts strong { color: #fff; font-size: .82rem; line-height: 1.35; }
@media (min-width: 761px) {
  .hm-hero-copy { flex: 1; display: flex; flex-direction: column; }
  .hm-hero-lead { margin-top: auto; }
  .hm-hero-actions { margin-top: 0; padding-top: 20px; }
  /* 26.10.2026: the four fact cells under the buttons are gone (all of it is in the marquee) — keep air below the buttons. */
  .hm-hero-actions { padding-bottom: clamp(36px, 6vh, 64px); }
}

/* Marquee, 26.10.2026: red band with fact stamps, like the date stamp in the hero. */
.hm-marquee { width: 100%; overflow: hidden; white-space: nowrap; padding: 14px 0; color: #fff; background: #d52225; border-block: 2px solid #0c0b0e; }
.hm-marquee-track { display: inline-flex; width: max-content; animation: hm-marquee 40s linear infinite; }
.hm-marquee:hover .hm-marquee-track { animation-play-state: paused; }
.hm-mq-group { display: flex; flex: none; align-items: center; gap: 18px; padding-right: 18px; }
.hm-mq-group span { font-family: var(--font-sans); font-size: clamp(1.05rem,1.9vw,1.5rem); font-weight: 900; line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.hm-mq-group i { font-style: normal; font-size: 1.2rem; line-height: 1; color: #f5d548; }
.hm-mq-group .hm-mq-o { color: transparent; -webkit-text-stroke: 1.2px #fff; }
.hm-mq-group .hm-mq-y { padding: .2em .4em; color: #0c0b0e; background: #f5d548; }
.hm-mq-group .hm-mq-k { padding: .2em .4em; color: #f5d548; background: #0c0b0e; }
/* three identical groups: shifting by one group keeps the loop seamless on screens up to ~3300px */
@keyframes hm-marquee { to { transform: translateX(-33.3333%); } }

.hm-section { padding-block: clamp(74px,8vw,116px); }
.hm-judges { background-color: #eeece7; background-image: linear-gradient(rgba(10,10,10,.035) 1px,transparent 1px); background-size: 100% 116px; background-attachment: fixed; }
.hm-about {
  position: relative;
  background-color: #0c0b0e;
  background-image:
    linear-gradient(180deg, rgba(12, 11, 14, 0.90) 0%, rgba(12, 11, 14, 0.74) 45%, rgba(12, 11, 14, 0.94) 100%),
    linear-gradient(90deg, rgba(12, 11, 14, 0.88) 0%, rgba(12, 11, 14, 0.60) 100%),
    url("img/stage/about-history.jpg");
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
  color: #f7f5ef;
  border-block: 1px solid rgba(255, 255, 255, 0.12);
}
.hm-about .hm-section-head { border-bottom-color: rgba(255, 255, 255, 0.2); }
.hm-about .hm-section-head > span { color: #ff4d4f; }
.hm-about .hm-section-head h2 { color: #ffffff; }
.hm-about .hm-section-head > small { color: #b7b4ad; }
.hm-about .hm-anniversary { border-top-color: #ff3b30; }
.hm-about .hm-anniversary > span { color: #ff4d4f; font-weight: 700; }
.hm-about .hm-anniversary strong { color: transparent; -webkit-text-stroke: 2.5px #ff3b30; text-shadow: 0 0 45px rgba(230, 30, 30, 0.28); }
.hm-about .hm-about-lead { color: #ffffff; }
.hm-about .hm-prose { color: #dedbd4; }
.hm-about .hm-prose strong { color: #ffffff; }
.hm-about .hm-prose a { color: #ff4d4f; }
.hm-about .hm-prose > p:nth-of-type(2) { padding: clamp(18px,2.2vw,28px); color: #171717; background: #fff; }
.hm-about .hm-prose > p:nth-of-type(2) strong { color: #171717; }
.hm-about .hm-inline-link { color: #ff4d4f; border-bottom-color: rgba(255, 77, 79, 0.6); }
.hm-about .hm-inline-link:hover, .hm-about .hm-inline-link:focus-visible { color: #ffffff; border-bottom-color: #ffffff; }
.hm-about .hm-stats { border-top-color: rgba(255, 255, 255, 0.25); border-bottom-color: rgba(255, 255, 255, 0.16); }
.hm-about .hm-stats > div { border-right-color: rgba(255, 255, 255, 0.14); }
.hm-about .hm-stats strong { color: #ffffff; }
.hm-about .hm-stats span { color: #ff4d4f; }
.hm-about .hm-stats p { color: #bbb8b2; }
.hm-days { color: #fff; background: linear-gradient(90deg,rgba(7,8,13,.9),rgba(7,8,13,.72)), url("img/stage/program-day-21.jpg") center / cover fixed; border-block: 1px solid #252529; }
.hm-days .hm-section-head { border-bottom-color: rgba(255,255,255,.55); }
.hm-days .hm-section-head > span { color: #f24946; }
.hm-days .hm-section-head > small { color: #d8d5d2; }
.hm-partners { background: #f8f7f3; border-block: 1px solid #dad7cf; }
.hm-section-head { display: grid; grid-template-columns: 145px minmax(0,1fr) auto; align-items: end; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid #aaa7a1; }
.hm-section-head > span { align-self: start; color: #a22325; font-size: .74rem; }
.hm-section-head > small { align-self: start; padding-top: 3px; color: #686560; font-size: .69rem; text-align: right; }
.hm-section-head h2 { font-size: clamp(2.5rem,4.9vw,5rem); line-height: .98; letter-spacing: -.06em; text-wrap: balance; }

.hm-about-main { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(45px,8vw,120px); align-items: center; padding-block: 65px 70px; }
.hm-anniversary { position: relative; display: flex; align-items: baseline; justify-content: space-between; max-width: 490px; min-height: 285px; border-top: 3px solid #d52225; padding-top: 22px; }
.hm-anniversary > span { color: #9d2123; font-size: .8rem; }
.hm-anniversary strong { position: absolute; top: 54px; left: -.03em; color: transparent; -webkit-text-stroke: 2px #d52225; font-size: clamp(10rem,18vw,19.5rem); font-weight: 900; line-height: .72; letter-spacing: -.07em; user-select: none; }
.hm-about-copy { max-width: 660px; }
.hm-about-lead { margin-bottom: 20px; font-size: clamp(1.55rem,2.4vw,2.6rem); font-weight: 800; line-height: 1.12; letter-spacing: -.045em; }
.hm-prose { color: #44423f; font-size: 1rem; line-height: 1.58; }
.hm-prose p + p { margin-top: 15px; }
.hm-prose a { color: #9d2123; text-decoration: underline; }
.hm-inline-link { display: inline-flex; align-items: center; gap: 22px; margin-top: 27px; border-bottom: 1px solid currentColor; padding-bottom: 6px; color: #9d2123; font-size: .8rem; }
.hm-inline-link:hover, .hm-inline-link:focus-visible { color: #d52225; }
.hm-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 2px solid #181818; border-bottom: 1px solid #aaa7a1; }
.hm-stats > div { padding: 26px 24px 29px 0; border-right: 1px solid #c9c6bf; }
.hm-stats > div + div { padding-left: 26px; }
.hm-stats > div:last-child { border-right: 0; }
.hm-stats strong { display: block; margin-bottom: 9px; font-size: clamp(2rem,3.2vw,3.4rem); font-weight: 900; line-height: 1; letter-spacing: -.06em; white-space: nowrap; }
.hm-stats span { display: block; color: #a22325; font-size: .72rem; }
.hm-stats p { margin-top: 10px; color: #595853; font-size: .9rem; line-height: 1.45; }

.hm-day-list { margin-top: 35px; display: flex; flex-direction: column; gap: 16px; }
.hm-day { position: relative; isolation: isolate; display: grid; grid-template-columns: 165px 165px minmax(0,1fr) 36px; gap: 25px; align-items: center; min-height: 215px; padding: 28px 32px; color: #ffffff !important; text-decoration: none !important; border: 1px solid rgba(255,255,255,.14); border-left: 5px solid #d52225; background: #111319; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.28); transition: border-color .22s ease, box-shadow .22s ease; }
.hm-day:hover, .hm-day:focus-visible { color: #ffffff !important; border-color: rgba(255,255,255,.35); border-left-color: #f5d548; box-shadow: 0 16px 38px rgba(0,0,0,.5); }
.hm-day::before { content: ""; position: absolute; top: var(--hm-day-offset, 0px); right: 0; left: 0; height: 100vh; height: 100dvh; z-index: 0; background-position: center center; background-size: cover; background-repeat: no-repeat; pointer-events: none; }
.hm-day::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,8,10,.82) 0%, rgba(8,8,10,.52) 50%, rgba(8,8,10,.78) 100%); pointer-events: none; }
.hm-day > span { position: relative; z-index: 2; }
.hm-day:nth-child(1)::before { background-image: url("img/stage/program-day-19.jpg"); }
.hm-day:nth-child(2)::before { background-image: url("img/stage/program-day-20.jpg"); }
.hm-day:nth-child(3)::before { background-image: url("img/stage/program-day-21.jpg"); }
.hm-day-index { align-self: start; padding-top: 14px; color: #ff4d4f; font-size: .74rem; font-weight: 700; letter-spacing: .06em; }
.hm-day-date { display: flex; flex-direction: column; }
.hm-day-date strong { font-size: clamp(5.2rem,8vw,8.5rem); font-weight: 900; line-height: .86; letter-spacing: -.09em; color: #ffffff; text-shadow: 0 4px 18px rgba(0,0,0,.5); }
.hm-day-date small { margin-top: 9px; color: #d8d5d0; font-size: .74rem; font-weight: 700; letter-spacing: .08em; }
.hm-day-copy strong { display: block; max-width: 670px; font-size: clamp(1.35rem,2.2vw,2.4rem); font-weight: 800; line-height: 1.15; letter-spacing: -.045em; color: #ffffff; text-shadow: 0 2px 14px rgba(0,0,0,.6); }
.hm-day-copy small { display: block; margin-top: 13px; color: #c8c5c0; font-size: .92rem; line-height: 1.45; }
.hm-day-arrow { align-self: start; padding-top: 12px; color: #f5d548; font-size: 1.8rem; transition: transform .2s ease, color .2s ease; }
.hm-day:hover .hm-day-arrow { transform: translate(5px, -5px); color: #ffffff; }

.hm-spots { color: #fff; background: linear-gradient(90deg,rgba(13,12,14,.92),rgba(13,12,14,.78)), url("img/stage/home-spots.jpg") center 48% / cover fixed; }
.hm-spots-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(50px,8vw,120px); }
.hm-overline { display: block; color: #f24946; font-size: .75rem; }
.hm-spots h2, .hm-final h2 { margin: 22px 0 24px; font-size: clamp(3.1rem,5.7vw,6rem); line-height: .95; letter-spacing: -.065em; }
.hm-spots h2 span, .hm-final h2 span { color: #d52225; }
.hm-spots-intro p { max-width: 440px; color: #c8c5c2; font-size: 1rem; line-height: 1.55; }
.hm-dark-link { display: inline-flex; align-items: center; gap: 24px; margin-top: 34px; border-bottom: 1px solid currentColor; padding-bottom: 6px; color: #fff; font-size: .78rem; }
.hm-dark-link:hover, .hm-dark-link:focus-visible { color: #f24946; }
.hm-spots-data { border-top: 1px solid #686669; }
.hm-spot-row { padding: 23px 0 28px; border-bottom: 1px solid #686669; }
.hm-spot-row > span { color: #f24946; font-size: .69rem; }
.hm-spot-row > div { display: flex; align-items: baseline; gap: 15px; margin-top: 10px; }
.hm-spot-row strong { font-size: clamp(4.8rem,8vw,8.8rem); font-weight: 900; line-height: .9; letter-spacing: -.09em; }
.hm-spot-row small { color: #bcb8b7; font-size: .8rem; }
.hm-spot-row p { margin-top: 8px; color: #c8c5c2; font-size: .9rem; }
.hm-spot-row-special strong { color: #f24946; }

.hm-judges { padding-bottom: 56px; }
.hm-judges .hm-section-head { margin-bottom: 27px; }
.hm-judges-grid { display: flex; width: 100%; overflow: hidden; background: #171719; }
.hm-judge { position: relative; flex: 0 0 16.666667%; min-width: 0; height: clamp(255px,30vw,480px); overflow: hidden; color: #fff; transition: flex-basis .42s cubic-bezier(.2,0,0,1); }
.hm-judge:hover, .hm-judge:focus { color: #fff; }
.hm-judges-grid:is(:hover,:focus-within) .hm-judge { flex-basis: 13.333333%; }
.hm-judges-grid .hm-judge:is(:hover,:focus) { flex-basis: 33.333333%; }
.hm-judge-photo { position: absolute; inset: 0; display: block; overflow: hidden; background: #2e2c2e; }
.hm-judge-photo::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.82)); pointer-events: none; }
.hm-judge:is(:hover,:focus,.is-open) .hm-judge-photo::after { inset: 8% 0 0; background: linear-gradient(transparent 0%,rgba(0,0,0,.86) 100%); }
.hm-judge-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: grayscale(100%) contrast(1.08); transition: filter .42s ease, transform .42s cubic-bezier(.2,0,0,1); }
.hm-judge:is(:hover,:focus) img { filter: grayscale(0%); transform: scale(1.035); }
.hm-judge-photo > span { display: grid; place-items: center; height: 100%; color: #aaa; font-family: var(--font-mono); font-weight: 700; }
.hm-judge-photo i { position: absolute; z-index: 1; top: 12px; left: 12px; padding: 6px 9px; color: #fff; background: #d52225; font-size: .63rem; font-style: normal; }
.hm-judge-info { position: absolute; z-index: 1; right: 12px; bottom: 15px; left: 12px; display: block; text-shadow: 0 1px 9px rgba(0,0,0,.65); }
.hm-judge-info strong { display: block; font-size: clamp(1rem,1.7vw,1.65rem); font-weight: 900; letter-spacing: -.045em; overflow-wrap: anywhere; }
.hm-judge-info small { display: block; margin-top: 4px; color: #ece8e4; font-size: .6rem; line-height: 1.35; }
.hm-judge-bio { display: block; max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; color: #fff; font-size: clamp(.72rem,.9vw,.9rem); line-height: 1.45; transition: max-height .42s cubic-bezier(.2,0,0,1), margin-top .42s, opacity .3s; }
.hm-judge:is(:hover,:focus,.is-open) .hm-judge-bio { max-height: 290px; margin-top: 12px; opacity: 1; }
.hm-judges-foot { display: flex; align-items: center; justify-content: space-between; }
.hm-judges .hm-inline-link { margin-top: 26px; }
.hm-swipe-hint { display: none; color: #686560; font-family: var(--font-mono); font-size: .68rem; font-weight: 700; }

.hm-partners-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 36px; }
.hm-partner { min-height: 194px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 19px; padding: 30px; background: #232225; color: #fff; }
.hm-partner:hover, .hm-partner:focus-visible { color: #fff; background: #2e2b2e; }
.hm-partner img { max-width: min(65%,320px); max-height: 83px; width: auto; object-fit: contain; }
.hm-partner strong { font-size: 1.6rem; }
.hm-partner > span { color: #d2ccca; font-size: .69rem; text-transform: uppercase; }

.hm-final { position: relative; overflow: hidden; padding-block: clamp(84px,9vw,130px); color: #fff; background: linear-gradient(90deg,rgba(7,8,13,.94),rgba(7,8,13,.76)), url("img/stage/home-final.jpg") center / cover fixed; }
.hm-final::after { content: "2027"; position: absolute; right: -1vw; bottom: -6vw; color: #242326; font-size: clamp(11rem,28vw,29rem); font-weight: 900; line-height: .8; letter-spacing: -.12em; pointer-events: none; }
.hm-final-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(285px,.8fr); gap: 50px; align-items: end; }
.hm-final h2 { font-size: clamp(3.1rem,6vw,6.3rem); }
.hm-final p { max-width: 540px; color: #c8c5c2; font-size: 1rem; line-height: 1.55; }
.hm-final-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.hm-final .hm-action-text { align-self: start; margin-top: 8px; }
.hm-page a:focus-visible, .hm-hero a:focus-visible { outline: 2px solid #f5d548; outline-offset: 3px; }
body:has(.home-main) .footer-edition { color: #f5d548; }

@media (min-width: 1500px) {
  body:has(.home-main) .top-inner.wrap,
  body:has(.home-main) .hm-strip-inner.wrap { max-width: none; padding-inline: clamp(60px,5.9vw,112px); }
}

@media (max-width: 1050px) {
  .hm-hero-copy { max-width: 55%; }
  .hm-hero-edition em { font-size: clamp(2.95rem,5vw,3.25rem); }
  .hm-section-head { grid-template-columns: 105px minmax(0,1fr); }
  .hm-section-head > small { display: none; }
  .hm-day { grid-template-columns: 125px 125px minmax(0,1fr) 22px; gap: 16px; padding: 22px 24px; }
  .hm-day-date strong { font-size: 6.5rem; }
  .hm-judges-grid { overflow-x: auto; scroll-snap-type: x mandatory; }
  .hm-judge, .hm-judges-grid:is(:hover,:focus-within) .hm-judge, .hm-judges-grid .hm-judge:is(:hover,:focus) { flex: 0 0 29vw; scroll-snap-align: start; }
  .hm-judges-grid .hm-judge.is-open { flex-basis: min(78vw,440px); }
  .hm-swipe-hint { display: inline; }
}
@media (max-width: 760px) {
  .hm-days, .hm-spots, .hm-final, .hm-about { background-attachment: scroll; }
  .hm-about .hm-stats > div { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
  .hm-judges-foot { display: block; }
  .hm-swipe-hint { display: block; margin-top: 19px; }
  .hm-judges .hm-inline-link { margin-top: 12px; }
  .hm-hero { min-height: calc(100svh - 68px); }
  .hm-hero-media { background-size: contain; background-position: center; }
  .hm-hero-media::after { display: none; }
  .hm-hero-inner { padding-top: 36px; }
  .hm-hero-copy { max-width: 100%; }
  .hm-hero-edition em { font-size: clamp(2.7rem,8.2vw,3.65rem); }
  .hm-hero-edition b { font-size: clamp(4.8rem,16.5vw,7.3rem); }
  .hm-hero-date { font-size: clamp(1.5rem,6vw,2.4rem); margin-bottom: 19px; }
  .hm-hero-lead { max-width: 520px; }
  .hm-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin-top: auto;
    padding-top: clamp(24px, 4vh, 44px);
  }
  .hm-hero-actions .hm-action-primary,
  .hm-hero-actions .hm-action-secondary {
    width: 100%;
    min-height: 62px;
    padding: 12px 18px;
    font-size: clamp(0.96rem, 2.6vw, 1.15rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    justify-content: flex-start;
    text-align: left;
  }
  .hm-hero-actions .hm-action-primary span,
  .hm-hero-actions .hm-action-secondary span {
    display: block;
    width: auto;
    text-align: left;
  }
  .hm-hero-facts { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
  .hm-hero-facts > div { min-height: 76px; border-bottom: 1px solid rgba(255,255,255,.2); }
  .hm-hero-facts > div:nth-child(2) { border-right: 0; }
  .hm-hero-facts > div:nth-child(3) { padding-left: 0; border-bottom: 0; }
  .hm-hero-facts > div:nth-child(4) { border-bottom: 0; }
  .hm-section { padding-block: 70px; }
  .hm-section-head { display: block; }
  .hm-section-head h2 { margin-top: 14px; }
  .hm-about-main, .hm-spots-layout, .hm-final-inner { grid-template-columns: 1fr; gap: 34px; }
  .hm-about-main { padding-block: 45px 55px; }
  .hm-anniversary { min-height: 240px; max-width: 440px; }
  .hm-anniversary strong { font-size: 13rem; letter-spacing: -.07em; }
  .hm-stats { grid-template-columns: 1fr; }
  .hm-stats > div, .hm-stats > div + div { padding: 20px 0; border-right: 0; border-bottom: 1px solid #c9c6bf; }
  .hm-stats > div:last-child { border-bottom: 0; }
  .hm-day { grid-template-columns: 110px minmax(0,1fr) 22px; min-height: 170px; gap: 15px; padding: 20px 20px; }
  .hm-day-index { grid-column: 1 / -1; padding-top: 15px; }
  .hm-day-date { grid-column: 1; grid-row: 2; align-self: start; }
  .hm-day-date strong { font-size: 5rem; }
  .hm-day-copy { grid-column: 2; grid-row: 2; }
  .hm-day-arrow { grid-column: 3; grid-row: 2; padding-top: 0; }
  .hm-judge, .hm-judges-grid:is(:hover,:focus-within) .hm-judge, .hm-judges-grid .hm-judge:is(:hover,:focus) { flex-basis: 48vw; height: 300px; }
  .hm-judges-grid .hm-judge.is-open { flex-basis: 86vw; height: 390px; }
  .hm-judge-bio { font-size: .78rem; }
  .hm-final::after { font-size: 18rem; }
}
@media (max-width: 720px) {
  .hm-hero-top-strip {
    justify-content: center;
    padding-block: 3px;
    font-size: clamp(0.66rem, 2.75vw, 0.78rem);
    letter-spacing: 0.03em;
  }
  .hm-strip-left,
  .hm-strip-right {
    display: none;
  }
  .hm-strip-center {
    display: block;
    width: 100%;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
  }
  .hm-strip-inner { display: block; }
  .hm-strip-inner.wrap { padding-inline: 8px; }
}
@media (max-width: 520px) {
  .hm-hero-inner { padding-top: 24px; }
  .hm-hero-top-strip {
    font-size: clamp(0.64rem, 2.75vw, 0.76rem);
    padding-block: 3px;
    letter-spacing: 0.025em;
    line-height: 1.15;
  }
  .hm-strip-inner.wrap { padding-inline: 6px; }
  .hm-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  .hm-hero-actions .hm-action-primary,
  .hm-hero-actions .hm-action-secondary {
    width: 100%;
    min-height: 58px;
    padding: 11px 16px;
    font-size: 1.05rem;
    line-height: 1.1;
    letter-spacing: -0.025em;
    justify-content: flex-start;
    text-align: left;
  }
  .hm-hero-actions .hm-action-primary span,
  .hm-hero-actions .hm-action-secondary span {
    display: block;
    width: auto;
    text-align: left;
  }
  .hm-hero-facts { margin-top: 22px; }
  .hm-hero-facts strong { font-size: .73rem; }
  .hm-hero-facts > div { padding-right: 9px; }
  .hm-hero-facts > div + div { padding-left: 11px; }
  .hm-hero-facts > div:nth-child(3) { padding-left: 0; }
  .hm-section-head h2 { font-size: clamp(2.2rem,9vw,3.3rem); }
  .hm-anniversary { min-height: 205px; }
  .hm-anniversary strong { font-size: 10rem; letter-spacing: -.06em; }
  .hm-day { grid-template-columns: 82px minmax(0,1fr) 18px; gap: 12px; min-height: 158px; padding: 18px 16px; }
  .hm-day-date strong { font-size: 3.7rem; }
  .hm-day-date small { font-size: .6rem; }
  .hm-day-copy strong { font-size: 1.15rem; }
  .hm-day-copy small { font-size: .74rem; }
  .hm-judge-info strong { font-size: 1.1rem; }
  .hm-judge-info small { font-size: .59rem; }
  .hm-partners-grid { grid-template-columns: 1fr; }
  .hm-partner { min-height: 155px; }
  .hm-final h2 { font-size: clamp(2.9rem,10vw,4.2rem); }
}
@media (prefers-reduced-motion: reduce) {
  .hm-marquee-track { animation: none; }
  .hm-page *, .hm-page *::before, .hm-page *::after, .hm-hero * { transition-duration: .01ms !important; }
  .hm-days, .hm-spots, .hm-final, .hm-about { background-attachment: scroll !important; }
}

/* Mobile hero, 26.10.2026: one-line title over the top of the video, smaller lead below it. */
.hm-hero-date-inline { display: none; }
@media (max-width: 760px) {
  .hm-hero { --hm-pad: clamp(16px,4.5vw,24px); min-height: 0; padding-bottom: 28px; }
  .hm-hero-inner, .hm-hero-copy { display: contents; }
  .hm-hero { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; }
  .hm-hero-media { grid-row: 1; grid-column: 1; }
  .hm-hero-title { grid-row: 1; grid-column: 1; align-self: start; z-index: 2; }
  .hm-hero-top-strip { grid-row: 2; }
  .hm-hero-top-strip { color: #f5d548; background: transparent; box-shadow: none; padding-block: 10px 0; }
  .hm-hero-lead { grid-row: 3; }
  .hm-hero-actions { grid-row: 4; }
  .hm-hero-facts { grid-row: 5; }

  .hm-hero-title {
    display: flex; align-items: center; justify-content: center;
    margin: 0; padding: 10px var(--hm-pad);
    background: rgba(0,0,0,.55);
    font-size: min(calc((100vw - 2 * var(--hm-pad)) / 21.5), 2.4rem);
    white-space: nowrap;
  }
  .hm-hero h1 { margin: 0; font-size: 1em; line-height: 1; letter-spacing: -.05em; font-weight: 900; }
  .hm-hero-edition { display: flex; align-items: center; gap: .32em; }
  .hm-hero-edition em, .hm-hero-edition b { display: inline; margin: 0; font-size: 1em; line-height: 1; font-weight: 900; }
  .hm-hero-edition em { font-style: normal; color: transparent; -webkit-text-stroke: 1.2px #f5d548; }
  .hm-hero-edition b { color: #f5d548; }
  .hm-hero-date {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .hm-hero-date-inline {
    margin: 0; font-size: .84em; letter-spacing: -.03em;
    display: inline-flex; align-items: center; gap: .2em;
    color: #fff; background: #d52225; padding: .18em .36em;
    font-family: var(--font-sans); font-weight: 900; line-height: 1;
  }

  .hm-hero-media {
    position: relative; inset: auto; z-index: 0;
    width: 100%; aspect-ratio: 16 / 9; flex: none;
  }

  .hm-hero-lead {
    max-width: none; margin: 14px var(--hm-pad) 0;
    color: #d9d5cf; font-size: .84rem; line-height: 1.4;
  }
  .hm-hero-actions { width: auto; margin: 0 var(--hm-pad); padding-top: 18px; }
  .hm-hero-facts { margin-inline: var(--hm-pad); margin-top: 16px; }
}
@media (max-width: 520px) {
  .hm-hero-lead { font-size: .78rem; }
}

/* Лента судей на главной (03.11.2026): копии карточек нужны только для бесконечной прокрутки на телефоне. */
.hm-judges-grid .hm-judge.is-clone { display: none; }
@media (max-width: 760px) {
  .hm-judges-grid .hm-judge.is-clone { display: block; }
  .hm-judges-grid { scroll-snap-type: none; scrollbar-width: none; }
  .hm-judges-grid::-webkit-scrollbar { display: none; }
  .hm-judge { scroll-snap-align: none; }
  .hm-swipe-hint { display: none; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .hm-judges-grid .hm-judge.is-clone { display: none; }
  .hm-judges-grid { scroll-snap-type: x mandatory; }
  .hm-swipe-hint { display: block; }
}
