:root {
  --ink: #15110f;
  --ink-soft: #221b18;
  --paper: #f2eadf;
  --paper-light: #fffaf2;
  --amber: #e7aa3c;
  --red: #ca4b40;
  --blue: #536ab7;
  --cyan: #6ae4ff;
  --muted: #6a5f58;
  --line: rgba(21, 17, 15, 0.18);
  --header-height: 76px;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; }
body { max-width: 100%; margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: Inter, Arial, sans-serif; }
main, section, footer { min-width: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
section[id] { scroll-margin-top: var(--header-height); }
.pad { padding: clamp(5.5rem, 9vw, 9rem) max(5vw, 1.4rem); }
.display { max-width: 100%; margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-weight: 800; line-height: 0.82; letter-spacing: -0.035em; text-transform: uppercase; }
.section-label, .overline { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.17em; text-transform: uppercase; }
.section-label { opacity: 0.52; }
.section-label.light { color: #fff; opacity: 0.5; }
.overline { margin: 1.2rem 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0.95rem 1.25rem; background: var(--amber); color: var(--ink); border: 0; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: transform 0.2s, background 0.2s; }
.button:hover { background: #fff; transform: translateY(-2px); }
.button.small { min-height: 42px; padding: 0.75rem 0.95rem; font-size: 0.61rem; }
.button.dark { background: var(--ink); color: #fff; }
.button.dark:hover { background: var(--red); }
.button.is-disabled,
.button.is-disabled:hover,
a[aria-disabled="true"] { background: #80766f; color: #f3ede7; cursor: not-allowed; transform: none; }
.text-link { display: inline-flex; padding: 0.45rem 0; border-bottom: 1px solid currentColor; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }

/* Header */
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: var(--header-height); display: flex; align-items: center; gap: 1.6rem; padding: 0 max(3vw, 1.25rem); color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.13); background: rgba(21, 17, 15, 0.72); backdrop-filter: blur(14px); }
.site-header.is-scrolled, .site-header.menu-open { background: rgba(21, 17, 15, 0.97); box-shadow: 0 10px 34px rgba(0, 0, 0, 0.2); }
.brand { display: flex; align-items: center; gap: 0.75rem; font-family: "Barlow Condensed", Impact, sans-serif; font-weight: 700; font-size: 1.02rem; line-height: 0.85; letter-spacing: 0.04em; }
.brand small { display: block; margin-top: 0.42rem; color: var(--amber); font: 600 0.44rem Inter, Arial, sans-serif; letter-spacing: 0.14em; }
.mark { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; background: var(--amber); color: var(--ink); font-family: "Barlow Condensed", Impact, sans-serif; font-weight: 900; }
.site-nav { display: flex; gap: 1.55rem; margin-left: auto; }
.site-nav a { font-size: 0.67rem; font-weight: 600; }
.site-nav a:hover { color: var(--amber); }
.lang-toggle { color: var(--amber); font-size: 0.61rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.lang-mobile { display: none; }
.menu { display: none; min-width: 54px; min-height: 38px; padding: 0.55rem 0.7rem; border: 1px solid rgba(255, 255, 255, 0.38); background: transparent; color: #fff; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.menu[aria-expanded="true"] { border-color: var(--amber); color: var(--amber); }
.site-alert { position: relative; z-index: 20; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.55rem 1rem; min-height: 52px; margin-top: var(--header-height); padding: 0.75rem max(3vw, 1rem); color: #fff; background: var(--red); text-align: center; font-size: 0.82rem; line-height: 1.45; }
.site-alert strong { color: #fff; font-size: 0.78rem; letter-spacing: 0.09em; }
.site-alert > span:first-of-type { padding: 0.3rem 0.55rem; color: var(--ink); background: var(--amber); font-weight: 800; white-space: nowrap; }
.site-alert i { width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 255, 255, 0.65); }
.site-alert a { padding-bottom: 0.12rem; border-bottom: 1px solid currentColor; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

/* Hero */
.hero { min-height: 900px; height: 100svh; position: relative; overflow: hidden; display: flex; align-items: center; padding: calc(var(--header-height) + 4rem) max(6vw, 1.5rem) 4rem; background: var(--ink); color: #fff; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 42%, rgba(83, 106, 183, 0.17), transparent 24%), radial-gradient(circle at 68% 62%, rgba(202, 75, 64, 0.09), transparent 28%), linear-gradient(90deg, #15110f 0%, rgba(21, 17, 15, 0.93) 42%, rgba(21, 17, 15, 0.54) 74%, rgba(21, 17, 15, 0.82)); z-index: 1; pointer-events: none; }
.hero-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #15110f url("../images/events/event_2025_01.webp") center / cover no-repeat; }
.hero-media::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(21, 17, 15, 0.2), transparent 38%, rgba(21, 17, 15, 0.48)); pointer-events: none; }
.hero-background-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; filter: saturate(0.78) contrast(1.08) brightness(0.82); transform: scale(1.015); transition: opacity 1.1s ease; pointer-events: none; }
.hero-background-video.is-ready { opacity: 0.82; }
.hero-grid { position: relative; z-index: 3; width: 100%; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.62fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.eyebrow { display: flex; align-items: center; gap: 0.75rem; margin: 0; font-size: 0.68rem; letter-spacing: 0.17em; text-transform: uppercase; }
.eyebrow i, .status i { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 14px var(--amber); }
.hero h1 { margin: 2.6rem 0 2rem; font-size: clamp(6.3rem, 13vw, 12.6rem); }
.hero h1 em { color: var(--amber); font-style: normal; }
.hero-lede { max-width: 650px; margin: 0; color: #d8d2ce; font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2.4rem; }
.telegram-link { color: var(--cyan); }

.mission-card { position: relative; padding: 1.3rem; border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(21, 17, 15, 0.74); box-shadow: 28px 30px 0 rgba(83, 106, 183, 0.13), -18px -18px 0 rgba(231, 170, 60, 0.045); backdrop-filter: blur(8px); }
.mission-card::before, .mission-card::after { content: ""; position: absolute; width: 22px; height: 22px; border-color: var(--amber); opacity: 0.7; }
.mission-card::before { left: -1px; top: -1px; border-left: 2px solid var(--amber); border-top: 2px solid var(--amber); }
.mission-card::after { right: -1px; bottom: -1px; border-right: 2px solid var(--amber); border-bottom: 2px solid var(--amber); }
.mission-top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.16); font-size: 0.53rem; font-weight: 700; letter-spacing: 0.11em; }
.status { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--amber); }
.status i { width: 5px; height: 5px; }
.mission-label { margin: 2.2rem 0 0.7rem; color: var(--amber); font-size: 0.59rem; font-weight: 700; letter-spacing: 0.16em; }
.mission-card h2 { margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(3rem, 5vw, 4.8rem); line-height: 0.85; }
.mission-card > p:not(.mission-label) { color: #c5bfbb; font-size: 0.78rem; line-height: 1.7; }
.mission-card dl { margin: 2rem 0 0; }
.mission-card dl div { display: flex; min-width: 0; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-top: 1px solid rgba(255, 255, 255, 0.13); }
.mission-card dt { color: #8d8783; font-size: 0.6rem; text-transform: uppercase; }
.mission-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; text-align: right; font-size: 0.63rem; font-weight: 700; letter-spacing: 0.05em; }

.network-stage { --net-x: 0px; --net-y: 0px; position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 79% 49%, rgba(106, 228, 255, 0.07), transparent 31%), radial-gradient(circle at 77% 49%, rgba(231, 170, 60, 0.055), transparent 13%); }
.network-stage::before { content: ""; position: absolute; right: 3.5%; top: 13%; width: min(53vw, 760px); height: 72%; border: 1px solid rgba(255, 255, 255, 0.035); clip-path: polygon(0 13%, 13% 0, 100% 0, 100% 87%, 87% 100%, 0 100%); box-shadow: inset 0 0 70px rgba(106, 228, 255, 0.018); }
.network-stage::after { content: "NETWORK / ACTIVE"; position: absolute; right: 5%; bottom: 14%; color: rgba(231, 170, 60, 0.38); font-size: 0.54rem; font-weight: 700; letter-spacing: 0.2em; }
.network-svg { position: absolute; inset: -2%; width: 104%; height: 104%; display: block; transform: translate3d(var(--net-x), var(--net-y), 0); transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1); filter: drop-shadow(0 18px 35px rgba(0, 0, 0, 0.28)); }
.net-path, .net-bridge, .signal-flow { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: square; stroke-linejoin: miter; }
.net-path { stroke: currentColor; stroke-width: 1; }
.net-back { color: var(--amber); opacity: 0.17; }
.net-mid { color: #d8c9ad; opacity: 0.31; }
.net-front { color: var(--cyan); opacity: 0.56; }
.net-front .net-path { stroke-width: 1.15; }
.net-node { fill: currentColor; filter: url(#nodeGlow); }
.net-node.junction { fill: var(--amber); }
.net-node.endpoint { fill: #fff4db; }
.net-bridge { stroke: var(--cyan); stroke-width: 1; opacity: 0.2; stroke-dasharray: 2 7; }
.net-hub { fill: var(--amber); stroke: rgba(255, 244, 219, 0.58); stroke-width: 1; filter: url(#hubGlow); }
.net-hub.hub-frame { fill: none; }
.signal-flow { stroke-width: 1.5; stroke-dasharray: 3 36; animation: data-flow 8s linear infinite; filter: url(#lineGlow); }
.signal-flow.cyan { stroke: var(--cyan); }
.signal-flow.amber { stroke: var(--amber); animation-duration: 11s; animation-direction: reverse; }
.signal-flow.delay { animation-delay: -4s; animation-duration: 13s; }
.network-scan { position: absolute; right: 1%; top: 14%; width: min(58vw, 840px); height: 70%; opacity: 0.35; background: linear-gradient(180deg, transparent 0, rgba(106, 228, 255, 0.075) 49.5%, rgba(106, 228, 255, 0.17) 50%, rgba(106, 228, 255, 0.075) 50.5%, transparent 100%); transform: translateY(-60%); animation: network-scan 9s ease-in-out infinite; }
.network-corner { position: absolute; right: 4.5%; top: 15%; width: 34px; height: 34px; border-top: 1px solid rgba(231, 170, 60, 0.34); border-right: 1px solid rgba(231, 170, 60, 0.34); }
.network-corner.bottom { top: auto; bottom: 16%; transform: rotate(90deg); }
@keyframes network-scan { 0%, 18% { transform: translateY(-62%); opacity: 0; } 32% { opacity: 0.32; } 74% { opacity: 0.22; } 88%, 100% { transform: translateY(64%); opacity: 0; } }
@keyframes data-flow { to { stroke-dashoffset: -156; } }

/* Facts and competition */
.fact-strip { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--amber); border-bottom: 1px solid var(--ink); }
.fact-strip div { display: flex; align-items: baseline; gap: 0.8rem; padding: 1.55rem max(2vw, 1rem); border-right: 1px solid rgba(21, 17, 15, 0.25); }
.fact-strip div:last-child { border: 0; }
.fact-strip strong { font-family: "Barlow Condensed", Impact, sans-serif; font-size: 2.3rem; line-height: 1; }
.fact-strip span { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.explain { background: var(--ink); color: #fff; }
.explain-heading { display: grid; grid-template-columns: 1.2fr 0.7fr; gap: 7rem; align-items: end; margin: 3rem 0 5rem; }
.explain-heading h2 { font-size: clamp(4.6rem, 8vw, 8rem); }
.explain-heading p { margin: 0; color: #beb8b4; font-size: 1.05rem; line-height: 1.8; }
.challenge-list { border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.challenge-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) 190px auto 54px; gap: 1.6rem; align-items: center; min-height: 225px; padding: 2rem 0; position: relative; overflow: hidden; border-top: 1px solid rgba(255, 255, 255, 0.22); outline: none; }
.challenge-row::before { content: ""; position: absolute; inset: 0; transform: translateX(-102%); transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1); }
.challenge-row.harden::before { background: #9c6a0c; }
.challenge-row.hack::before { background: #9d302b; }
.challenge-row.hunt::before { background: #394b91; }
.challenge-row:hover::before, .challenge-row:focus-visible::before { transform: translateX(0); }
.challenge-row > * { position: relative; z-index: 1; }
.challenge-row:focus-visible { box-shadow: inset 0 0 0 2px var(--amber); }
.challenge-index { color: var(--amber); font-family: "Barlow Condensed", Impact, sans-serif; font-size: 1.45rem; }
.challenge-main > p { margin: 0 0 0.55rem; font-size: 0.61rem; font-weight: 700; letter-spacing: 0.15em; }
.challenge-main h3 { margin: 0 0 0.9rem; font-size: clamp(3.3rem, 5.3vw, 6rem); }
.challenge-main > span { display: block; max-width: 780px; color: #bdb7b3; font-size: 0.8rem; line-height: 1.6; }
.challenge-row:hover .challenge-main > span, .challenge-row:focus-visible .challenge-main > span { color: #fff; }
.challenge-row ul { width: 100%; list-style: none; margin: 0; padding: 0; align-self: center; }
.challenge-row li { padding: 0.52rem 0; border-top: 1px solid rgba(255, 255, 255, 0.18); color: #cbc6c2; font-size: 0.59rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.challenge-row li:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.challenge-day { padding: 0.7rem 0.9rem; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 100px; white-space: nowrap; font-size: 0.59rem; font-weight: 700; letter-spacing: 0.08em; }
.challenge-arrow { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid #fff; border-radius: 50%; font-size: 1rem; transition: transform 0.25s; }
.challenge-row:hover .challenge-arrow, .challenge-row:focus-visible .challenge-arrow { transform: rotate(45deg); }

/* Scoring and prizes */
.competition-preview { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); gap: 1px; margin-top: 3rem; padding: 1px; background: rgba(255, 255, 255, 0.18); }
.competition-preview article { min-width: 0; padding: clamp(1.75rem, 3vw, 3rem); }
.scoring-preview { display: flex; flex-direction: column; background: #241d1a; }
.prize-preview { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(220px, 0.82fr); gap: clamp(1.5rem, 2.5vw, 2.5rem); align-items: center; background: var(--paper-light); color: var(--ink); }
.preview-kicker { margin: 0 0 1.25rem; color: var(--amber); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; line-height: 1.45; text-transform: uppercase; }
.prize-preview .preview-kicker { color: var(--red); }
.competition-preview h3 { margin: 0 0 1.1rem; font-size: clamp(2.6rem, 4vw, 4.4rem); }
.preview-weights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0.5rem 0 1rem; background: rgba(255, 255, 255, 0.18); }
.preview-weights span { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; padding: 0.8rem; color: #bdb7b3; background: #171210; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; }
.preview-weights b { color: var(--amber); font: 800 1.8rem/1 "Barlow Condensed", Impact, sans-serif; }
.competition-preview article > p:not(.preview-kicker), .prize-preview-copy > p:not(.preview-kicker) { max-width: 620px; color: #bdb7b3; font-size: 0.84rem; line-height: 1.75; }
.prize-preview-copy > p:not(.preview-kicker) { color: #625850; }
.competition-preview .text-link { align-self: flex-start; margin-top: auto; padding-top: 1.15rem; }
.prize-preview .text-link { color: var(--red); }
.prize-bundle-visual { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 12px 12px 0 rgba(31, 25, 22, 0.08); }
.prize-bundle-visual img { width: 100%; height: auto; object-fit: contain; }

/* Audience paths */
.paths { background: var(--ink); color: #fff; }
.paths-head { display: grid; grid-template-columns: 1.1fr 0.65fr; gap: 7rem; align-items: end; margin: 3rem 0 5rem; }
.paths-head h2 { color: var(--amber); font-size: clamp(4.8rem, 8.5vw, 8.5rem); }
.paths-head p { margin: 0; color: #bdb6b1; font-size: 1rem; line-height: 1.8; }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(255, 255, 255, 0.2); }
.path-grid article { min-height: 370px; padding: 2.2rem; display: flex; flex-direction: column; border-right: 1px solid rgba(255, 255, 255, 0.2); transition: background 0.2s; }
.path-grid article:last-child { border: 0; }
.path-grid article:hover { background: rgba(255, 255, 255, 0.045); }
.path-grid article > span { color: var(--amber); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; }
.path-grid h3 { margin: 5rem 0 1.2rem; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 2.5rem; line-height: 0.95; }
.path-grid p { color: #aaa39f; font-size: 0.83rem; line-height: 1.7; }
.path-grid a { align-self: flex-start; margin-top: auto; padding-bottom: 0.45rem; border-bottom: 1px solid var(--amber); color: var(--amber); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

/* Story and proof */
.story { position: relative; background: #ddd1c1; }
.story-title { display: flex; justify-content: space-between; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.story-title h2 { color: var(--red); font-size: clamp(4.5rem, 8vw, 8rem); text-align: right; }
.story-proof-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: -1rem 0 2.2rem; border-block: 1px solid var(--ink); }
.story-proof-strip div { min-width: 0; padding: 1.5rem 1rem; border-right: 1px solid var(--line); }
.story-proof-strip div:first-child { padding-left: 0; }
.story-proof-strip div:last-child { border-right: 0; }
.story-proof-strip strong, .story-proof-strip span { display: block; }
.story-proof-strip strong { color: var(--red); font: 800 clamp(2.6rem, 5vw, 4.5rem)/0.9 "Barlow Condensed", Impact, sans-serif; }
.story-proof-strip span { margin-top: 0.7rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; text-transform: uppercase; }
.media-slot { position: relative; overflow: hidden; background: linear-gradient(135deg, #c9bba7, #a99b89); }
.media-slot [data-media] { opacity: 1; pointer-events: auto; }
.media-slot [data-media][hidden] { display: none; }
.media-slot.has-media .media-fallback { opacity: 0; visibility: hidden; }
.media-slot img, .media-slot video { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 2; }
.media-fallback { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; padding: 1.4rem; text-align: center; color: #5e534a; font-size: 0.59rem; font-weight: 600; letter-spacing: 0.12em; line-height: 1.6; text-transform: uppercase; transition: opacity 0.15s; }
.story-video { width: 100%; aspect-ratio: 16 / 9; margin: 0; background: linear-gradient(135deg, #2b2421, #0d0b0a); box-shadow: 0 28px 65px rgba(35, 23, 18, 0.24); }
.story-video .media-fallback { color: rgba(255, 255, 255, 0.72); }
.story-video-poster, .story-video video { position: absolute; inset: 0; width: 100%; height: 100%; }
.story-video-poster { z-index: 2; object-fit: cover; filter: saturate(0.82) brightness(0.72); }
.story-video video { z-index: 3; background: transparent; object-fit: contain; }
.story-video figcaption { position: absolute; inset: 0 0 auto; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.3rem 3rem; color: #fff; background: linear-gradient(rgba(0, 0, 0, 0.82), transparent); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; pointer-events: none; }
.story-video figcaption b { padding: 0.4rem 0.55rem; border: 1px solid rgba(255, 255, 255, 0.58); font-size: 0.55rem; letter-spacing: 0.12em; }
.winner-stories { position: relative; overflow: hidden; margin-top: clamp(3.5rem, 7vw, 7rem); padding: clamp(2.2rem, 5vw, 4.5rem); color: #fff; background: #15110f; box-shadow: 0 28px 65px rgba(35, 23, 18, 0.2); }
.winner-stories::before { content: ""; position: absolute; inset: -30% -10% auto 42%; height: 75%; background: radial-gradient(circle, rgba(244, 182, 34, 0.14), transparent 66%); pointer-events: none; }
.winner-stories-head { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.winner-stories .section-label { color: var(--amber); }
.winner-stories-head h3 { max-width: 750px; margin: 1.25rem 0 0; color: var(--amber); font-size: clamp(3.8rem, 7vw, 7.4rem); line-height: 0.86; }
.winner-stories-head > p { max-width: 580px; margin: 0 0 0.35rem; color: #c5bcb6; font-size: 0.95rem; line-height: 1.8; }
.winner-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(2.2rem, 4vw, 3.5rem); padding: 1px; background: rgba(255, 255, 255, 0.17); }
.winner-card { min-width: 0; padding: 0; border: 0; color: #fff; background: #211a17; text-align: left; cursor: pointer; transition: background 0.25s, transform 0.25s; }
.winner-poster { position: relative; display: block; overflow: hidden; aspect-ratio: 9 / 16; background: #090807; }
.winner-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.48)); pointer-events: none; }
.winner-poster img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.3s; }
.winner-play { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; display: grid; place-items: center; width: 4.2rem; height: 4.2rem; border: 1px solid rgba(255, 255, 255, 0.72); border-radius: 50%; color: #fff; background: rgba(13, 11, 10, 0.62); backdrop-filter: blur(8px); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; transition: color 0.25s, background 0.25s, border-color 0.25s; }
.winner-meta { display: block; padding: 1.3rem 1.35rem 1.55rem; }
.winner-meta > span { display: flex; justify-content: space-between; gap: 1rem; color: var(--amber); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; }
.winner-meta b { font-size: inherit; }
.winner-meta small { color: #a99f99; font-size: inherit; }
.winner-meta strong { display: block; margin-top: 1.15rem; font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 0.95; }
.winner-meta em { display: block; margin-top: 0.7rem; color: #aaa19b; font-size: 0.75rem; font-style: normal; line-height: 1.5; }
.winner-card:hover { background: #2b211d; }
.winner-card:hover .winner-poster img { transform: scale(1.025); filter: saturate(1.06); }
.winner-card:hover .winner-play { border-color: var(--amber); color: var(--ink); background: var(--amber); }
.winner-card:focus-visible { position: relative; z-index: 2; outline: 3px solid var(--cyan); outline-offset: -3px; }
.winner-dialog { width: min(920px, calc(100% - 2rem)); max-width: none; max-height: calc(100svh - 2rem); padding: 0; border: 1px solid rgba(255, 255, 255, 0.2); color: #fff; background: #0d0b0a; box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55); }
.winner-dialog::backdrop { background: rgba(9, 7, 6, 0.88); backdrop-filter: blur(8px); }
.winner-dialog-shell { position: relative; display: grid; grid-template-columns: minmax(280px, 420px) minmax(230px, 1fr); min-width: 0; }
.winner-dialog-media { display: grid; place-items: center; min-width: 0; background: #000; }
.winner-dialog-media video { display: block; width: 100%; max-height: calc(100svh - 2rem); aspect-ratio: 9 / 16; background: #000; }
.winner-dialog-copy { display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; padding: clamp(2rem, 5vw, 4rem); }
.winner-dialog-copy p { margin: 0 0 0.9rem; color: var(--amber); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; }
.winner-dialog-copy h3 { margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(3rem, 6vw, 5.5rem); line-height: 0.88; overflow-wrap: anywhere; }
.winner-dialog-copy span { margin-top: 1rem; color: #aaa19b; font-size: 0.78rem; line-height: 1.6; }
.winner-dialog-close { position: absolute; top: 1rem; right: 1rem; z-index: 3; padding: 0.7rem 0.85rem; border: 1px solid rgba(255, 255, 255, 0.45); color: #fff; background: rgba(13, 11, 10, 0.72); backdrop-filter: blur(8px); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
.winner-dialog-close:hover, .winner-dialog-close:focus-visible { border-color: var(--amber); color: var(--ink); background: var(--amber); }
body.winner-dialog-open { overflow: hidden; }
.event-archive { margin-top: clamp(3.5rem, 7vw, 7rem); }
.event-year { display: block; padding: clamp(3.2rem, 6vw, 5.5rem) 0 0; margin-top: clamp(3.2rem, 6vw, 5.5rem); border-top: 1px solid var(--ink); }
.event-year:first-child { margin-top: 0; }
.event-year:last-child { padding-bottom: 0; }
.event-year-head { display: grid; grid-template-columns: minmax(120px, 0.28fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 5rem); align-items: end; margin-bottom: 1.7rem; }
.event-year-head > span { display: block; color: var(--red); font: 800 clamp(4.5rem, 8vw, 8rem)/0.8 "Barlow Condensed", Impact, sans-serif; letter-spacing: -0.04em; }
.event-year-head > div { display: grid; grid-template-columns: minmax(190px, 0.65fr) minmax(0, 1fr); gap: clamp(1.2rem, 4vw, 4rem); align-items: end; }
.event-year-head h3 { margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(2.3rem, 4vw, 4.6rem); line-height: 0.88; }
.event-year-head p { max-width: 620px; margin: 0 0 0.2rem; justify-self: end; color: #675d56; font-size: 0.78rem; line-height: 1.65; }
.event-year-media { display: grid; gap: 10px; min-width: 0; }
.event-year-media figure { margin: 0; }
.event-year-media img { width: 100%; height: auto; object-fit: contain; }
.event-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.portrait-pair { grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr); width: 100%; }
.event-community { width: 100%; }
.event-year-media figcaption { position: absolute; inset: auto 0 0; z-index: 3; padding: 0.85rem; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, 0.78)); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
@media (prefers-reduced-motion: no-preference) {
  .event-year-media img { transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.35s; }
  .event-year-media figure:hover img { transform: scale(1.018); filter: saturate(1.06); }
}

/* Preparation */
.prepare { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 6rem; align-items: center; background: var(--amber); }
.prepare h2 { margin: 2rem 0; font-size: clamp(5rem, 9vw, 9rem); }
.prepare-copy > p:not(.overline) { max-width: 650px; margin-bottom: 2rem; font-size: 1rem; line-height: 1.8; }
.prepare-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.prepare-actions .text-link { color: var(--ink); }
.prepare-panel { padding: 3rem; background: var(--paper-light); box-shadow: 24px 24px 0 rgba(21, 17, 15, 0.14); }
.prepare-date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.45rem 0.85rem; margin: 0; color: var(--red); }
.prepare-date strong { font-size: 0.63rem; letter-spacing: 0.12em; }
.prepare-date span { font-family: "Noto Sans Ethiopic", Inter, sans-serif; font-size: 0.76rem; font-weight: 600; }
.prepare-panel h3 { margin: 1.5rem 0 2rem; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 3.2rem; line-height: 0.9; }
.prepare-panel ul { list-style: none; margin: 0; padding: 0; }
.prepare-panel li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; }
.prepare-panel li a { flex: 0 0 auto; padding-bottom: 0.2rem; border-bottom: 1px solid currentColor; color: var(--red); font-size: 0.62rem; font-weight: 800; }

/* Voices */
.voices { background: var(--paper-light); }
.voices-head { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 5rem; align-items: end; }
.voices-head h2 { color: var(--red); font-size: clamp(4.4rem, 7.5vw, 7.5rem); text-align: right; }
.voices-lede { max-width: 690px; margin: 2.5rem 0 4rem auto; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.voice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 1px; background: var(--line); }
.voice { background: var(--paper); }
.headshot { aspect-ratio: 1 / 1; }
.headshot img { object-position: var(--headshot-position, 50% 50%); }
.headshot::after { content: ""; position: absolute; width: 115px; height: 115px; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid rgba(21, 17, 15, 0.18); border-radius: 50%; }
.voice-body { min-height: 180px; padding: 1.35rem; display: flex; flex-direction: column; }
.voice h3 { margin: 0 0 0.7rem; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 1.65rem; line-height: 0.95; }
.voice p { margin: 0; color: #635952; font-size: 0.7rem; line-height: 1.55; }
.voice-body span { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--red); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.disclaimer { max-width: 930px; margin: 1.3rem 0 0; color: #766c65; font-size: 0.64rem; line-height: 1.6; }
.voices-program-link { margin-top: 1rem; color: var(--red); }

/* Partners */
.partner { display: grid; grid-template-columns: 1fr 1.05fr; gap: 7rem; background: var(--red); color: #fff; }
.partner h2 { margin: 3rem 0 2rem; font-size: clamp(4.6rem, 8vw, 8rem); }
.partner-intro > p { max-width: 560px; margin-bottom: 2.2rem; color: #f1d8d5; font-size: 1rem; line-height: 1.8; }
.partner-options { border-top: 1px solid rgba(255, 255, 255, 0.35); }
.partner-options article { display: grid; grid-template-columns: 44px minmax(145px, 0.55fr) minmax(0, 1.45fr); gap: 1.2rem; align-items: start; padding: 1.5rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
.partner-options span { color: var(--amber); font: 700 1rem "Barlow Condensed", Impact, sans-serif; }
.partner-options h3 { min-width: 0; margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 1.7rem; overflow-wrap: anywhere; }
.partner-options p { min-width: 0; margin: 0; color: #ebcdca; font-size: 0.74rem; line-height: 1.6; overflow-wrap: anywhere; }

/* Organizers and platform */
.supporters { background: #ded4c6; }
.supporters-head { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 5rem; align-items: end; }
.supporters-head h2 { color: var(--red); font-size: clamp(4.4rem, 7.5vw, 7.5rem); text-align: right; }
.supporters-lede { max-width: 680px; margin: 2.5rem 0 4rem auto; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.logo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--line); }
.logo-card { min-width: 0; padding: 1.25rem; background: var(--paper-light); transition: transform 0.2s, background 0.2s; }
a.logo-card:hover { position: relative; z-index: 1; background: #fff; transform: translateY(-4px); }
.logo-role { display: block; min-height: 2.2rem; color: var(--red); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.13em; line-height: 1.45; text-transform: uppercase; }
.logo-slot { height: 150px; margin: 0.9rem 0 1rem; background: #fff; border: 1px solid rgba(21, 17, 15, 0.12); }
.logo-slot.dark { background: var(--ink); border-color: var(--ink); }
.logo-slot .media-fallback { color: #665d56; }
.logo-slot.dark .media-fallback { color: rgba(255, 255, 255, 0.72); }
.logo-slot img { object-fit: contain; padding: 1.55rem; }
.logo-slot.portrait-logo img { padding: 0.35rem 0; }
.logo-slot.gundancore-logo img { padding: 2.15rem 1rem; }
.logo-card > p { margin: 0; color: #665d56; font-size: 0.68rem; line-height: 1.55; }
.logo-card > p strong { display: block; color: var(--ink); font-family: "Barlow Condensed", Impact, sans-serif; font-size: 1.12rem; line-height: 1.05; }
.logo-card > p span { display: block; margin-top: 0.4rem; }

/* Register and footer */
.register { min-height: 780px; position: relative; overflow: hidden; display: grid; place-items: center; padding: 7rem 1.5rem; background: var(--ink); color: #fff; text-align: center; }
.register-network { position: absolute; width: 820px; height: 820px; border: 1px solid rgba(106, 228, 255, 0.15); transform: rotate(45deg); box-shadow: 0 0 0 100px rgba(83, 106, 183, 0.04), 0 0 0 200px rgba(231, 170, 60, 0.025); }
.register-network::before, .register-network::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(231, 170, 60, 0.18); }
.register-network::after { inset: 35%; border-color: rgba(202, 75, 64, 0.25); }
.register-inner { position: relative; z-index: 1; width: min(100%, 920px); }
.register h2 { margin: 2rem 0; color: var(--amber); font-size: clamp(6rem, 14vw, 12rem); }
.register-inner > p:not(.overline) { margin-bottom: 2rem; color: #bbb4b0; }
.register-inner .register-telegram { width: max-content; margin: 1.3rem auto 0; color: var(--cyan); }
footer { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 4rem; padding: 5rem max(5vw, 1.5rem) 2rem; background: #050505; color: #fff; }
.footer-brand { display: flex; gap: 1rem; align-items: flex-start; font-family: "Barlow Condensed", Impact, sans-serif; }
footer > p { max-width: 540px; margin: 0; color: #9c9c9c; font-size: 0.8rem; line-height: 1.7; }
.footer-links { display: grid; gap: 0.75rem; font-size: 0.72rem; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255, 255, 255, 0.14); color: #767676; font-size: 0.54rem; letter-spacing: 0.1em; }

@media (max-width: 1080px) {
  :root { --header-height: 68px; }
  .site-header { gap: 0.7rem; padding-inline: 1rem; }
  .site-nav { position: fixed; inset: calc(var(--header-height) + 0.5rem) 1rem auto; z-index: 101; display: flex; max-height: calc(100dvh - var(--header-height) - 1.5rem); flex-direction: column; gap: 0; margin: 0; padding: 0.4rem 1.1rem 1rem; overflow-y: auto; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(21, 17, 15, 0.985); box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-0.75rem); transition: opacity 0.2s, transform 0.2s, visibility 0.2s; }
  .site-nav.open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .site-nav a { padding: 0.7rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); font-family: "Barlow Condensed", Impact, sans-serif; font-size: clamp(1.65rem, 6vw, 2.6rem); font-weight: 800; line-height: 1; text-transform: uppercase; }
  .site-nav .lang-mobile { display: block; margin-top: 1rem; border: 0; color: var(--amber); font: 600 1.2rem Inter, Arial, sans-serif; }
  .menu { display: block; position: relative; z-index: 103; order: 4; }
  .header-cta { position: relative; z-index: 103; order: 3; margin-left: auto; }
  .lang-desktop { display: none; }
  .hero { height: auto; min-height: 940px; }
  .hero-grid { grid-template-columns: 1fr 360px; gap: 3rem; }
  .hero h1 { font-size: clamp(6rem, 15vw, 10rem); }
  .network-stage { opacity: 0.69; }
  .network-stage::before { right: -27%; top: 17%; width: 100vw; height: 58%; }
  .network-stage::after { right: 1rem; bottom: 9%; }
  .network-scan { right: -35%; width: 125vw; top: 16%; height: 58%; }
  .network-corner { right: 1rem; top: 18%; }
  .network-corner.bottom { bottom: 25%; }
  .fact-strip { grid-template-columns: 1fr 1fr; }
  .fact-strip div:nth-child(2) { border-right: 0; }
  .fact-strip div:nth-child(-n+2) { border-bottom: 1px solid rgba(21, 17, 15, 0.25); }
  .explain-heading, .paths-head, .prepare, .partner, .supporters-head { grid-template-columns: 1fr; gap: 3rem; }
  .challenge-row { grid-template-columns: 44px minmax(0, 1fr) auto 50px; gap: 1rem; }
  .challenge-row ul { display: none; }
  .competition-preview { grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); }
  .prize-preview { grid-template-columns: minmax(0, 1fr) minmax(180px, 0.7fr); }
  .path-grid { grid-template-columns: 1fr; }
  .path-grid article { min-height: 290px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
  .path-grid article:last-child { border-bottom: 0; }
  .path-grid h3 { margin-top: 3rem; }
  .story-title { display: block; }
  .story-title h2 { margin-top: 2rem; text-align: left; }
  .voice-grid { grid-template-columns: repeat(3, 1fr); }
  .supporters-head h2 { text-align: left; }
  .supporters-lede { margin-left: 0; }
  .logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .partner-options { margin-top: 2rem; }
  .story-proof-strip { grid-template-columns: 1fr 1fr; }
  .story-proof-strip div:nth-child(2) { border-right: 0; }
  .story-proof-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .event-year-head { grid-template-columns: 110px minmax(0, 1fr); gap: 2.5rem; }
  .event-year-head > div { grid-template-columns: minmax(170px, 0.6fr) minmax(0, 1fr); gap: 2rem; }
  footer { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 860px) {
  .logo-grid { grid-template-columns: 1fr 1fr; }
  .competition-preview { grid-template-columns: 1fr; }
  .prize-preview { grid-template-columns: minmax(240px, 1fr) minmax(220px, 0.76fr); }
}

@media (max-width: 720px) {
  .brand > span:last-child { display: none; }
  .site-alert { gap: 0.45rem 0.75rem; font-size: 0.75rem; }
  .site-alert i { display: none; }
  .site-alert > span:last-of-type { flex-basis: 100%; }
  .hero { min-height: 1050px; align-items: flex-start; padding-top: 8rem; }
  .hero-grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .hero h1 { font-size: clamp(5.7rem, 27vw, 8rem); margin-top: 2.3rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .hero-actions .button { width: 100%; }
  .mission-card { max-width: 500px; box-shadow: 15px 16px 0 rgba(83, 106, 183, 0.13); }
  .network-stage { opacity: 0.58; }
  .network-stage::before { right: -44%; width: 132vw; }
  .network-stage::after { display: none; }
  .fact-strip { grid-template-columns: 1fr; }
  .fact-strip div { border-right: 0; border-bottom: 1px solid rgba(21, 17, 15, 0.25); }
  .fact-strip div:last-child { border-bottom: 0; }
  .explain-heading { margin-bottom: 3rem; }
  .explain-heading h2 { font-size: clamp(2.9rem, 13vw, 5rem); line-height: 0.87; }
  .paths-head h2, .story-title h2, .prepare h2, .voices-head h2, .partner h2, .supporters-head h2 { font-size: clamp(2.8rem, 12vw, 5rem); line-height: 0.86; }
  .challenge-row { grid-template-columns: 34px minmax(0, 1fr) 42px; min-height: 210px; }
  .challenge-day { display: none; }
  .challenge-arrow { width: 42px; height: 42px; }
  .challenge-main h3 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .competition-preview { margin-top: 2.5rem; }
  .competition-preview article { padding: 2rem 1.35rem; }
  .competition-preview h3 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .prize-preview { grid-template-columns: 1fr; }
  .prize-bundle-visual { width: min(100%, 430px); justify-self: center; box-shadow: 9px 9px 0 rgba(31, 25, 22, 0.08); }
  .story-video { margin: 0; }
  .story-video figcaption { padding: 0.9rem 1rem 2.5rem; }
  .winner-stories { padding: 2.2rem 1rem 1rem; }
  .winner-stories-head { grid-template-columns: 1fr; gap: 1.2rem; }
  .winner-stories-head h3 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .winner-stories-head > p { font-size: 0.85rem; }
  .winner-grid { grid-template-columns: 1fr; }
  .winner-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; }
  .winner-poster { width: 112px; }
  .winner-play { right: 0.55rem; bottom: 0.55rem; width: 2.8rem; height: 2.8rem; font-size: 0.5rem; }
  .winner-meta { padding: 1.15rem; }
  .winner-meta > span { font-size: 0.64rem; }
  .winner-meta strong { font-size: clamp(1.7rem, 9vw, 2.5rem); }
  .winner-dialog { width: calc(100% - 1rem); max-height: calc(100svh - 1rem); overflow: auto; }
  .winner-dialog-shell { grid-template-columns: 1fr; }
  .winner-dialog-media video { width: min(100%, 360px); max-height: 72svh; justify-self: center; }
  .winner-dialog-copy { padding: 1.4rem; }
  .winner-dialog-copy h3 { font-size: 2.8rem; }
  .event-archive { margin-top: 3.5rem; }
  .event-year { display: block; padding: 3rem 0 0; margin-top: 3rem; }
  .event-year-head { grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem; align-items: start; margin-bottom: 1.2rem; }
  .event-year-head > div { grid-template-columns: 1fr; gap: 0.65rem; }
  .event-year-head h3 { margin-top: 0.2rem; }
  .event-year-head p { justify-self: start; }
  .event-pair { grid-template-columns: 1fr; }
  .prepare-panel { padding: 2rem 1.4rem; box-shadow: 14px 14px 0 rgba(21, 17, 15, 0.14); }
  .prepare-panel li { align-items: flex-start; flex-direction: column; gap: 0.55rem; }
  .voices-head { grid-template-columns: 1fr; gap: 2rem; }
  .voices-head h2 { text-align: left; }
  .voices-lede { margin-left: 0; }
  .voice-grid { grid-template-columns: 1fr 1fr; }
  .logo-grid { grid-template-columns: 1fr; }
  .partner-options article { grid-template-columns: 36px 1fr; }
  .partner-options p { grid-column: 2; }
  .register { min-height: 650px; }
  .register h2 { font-size: clamp(3.8rem, 18vw, 6.2rem); line-height: 0.84; }
  .footer-bottom { display: block; line-height: 1.8; }
}

@media (max-width: 460px) {
  .site-header { gap: 0.45rem; padding-inline: 0.7rem; }
  .header-cta { min-height: 38px; padding-inline: 0.6rem; font-size: 0.54rem; }
  .menu { min-width: 50px; padding-inline: 0.55rem; }
  .pad { padding-inline: 1.15rem; }
  .hero { padding-inline: 1.15rem; }
  .explain-heading h2 { font-size: clamp(2.85rem, 13vw, 3.75rem); }
  .register h2 { font-size: clamp(3.7rem, 18vw, 5rem); }
  .mission-top { display: grid; }
  .preview-weights span { padding: 0.65rem 0.5rem; font-size: 0.6rem; }
  .preview-weights b { font-size: 1.55rem; }
  .voice-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .network-scan { display: none; }
  .hero-background-video { display: none; }
  .signal-flow { animation: none; }
  .network-svg, .site-nav, .button, .challenge-row::before, .challenge-arrow { transition: none; }
}

/* Amharic review mode. Ge'ez text is taller than the Latin display face, so
   headings use Noto Sans Ethiopic with more line-height and gentler tracking. */
html[lang="am"] body,
html[lang="am"] button,
html[lang="am"] input,
html[lang="am"] textarea { font-family: "Noto Sans Ethiopic", Inter, Arial, sans-serif; }
html[lang="am"] .display,
html[lang="am"] .path-grid h3,
html[lang="am"] .event-year-head h3,
html[lang="am"] .prepare-panel h3,
html[lang="am"] .voice h3,
html[lang="am"] .partner-options h3 { font-family: "Noto Sans Ethiopic", Inter, Arial, sans-serif; line-height: 1.12; letter-spacing: -0.015em; text-transform: none; }
html[lang="am"] .competition-preview h3 { font-family: "Noto Sans Ethiopic", Inter, Arial, sans-serif; font-size: clamp(2.35rem, 4.4vw, 4.7rem); line-height: 1.12; letter-spacing: -0.015em; text-transform: none; overflow-wrap: anywhere; }
html[lang="am"] .site-nav { gap: 1.25rem; }
html[lang="am"] .site-nav a { font-size: 0.7rem; white-space: nowrap; }
html[lang="am"] .hero-copy > .display { font-family: "Barlow Condensed", Impact, sans-serif; line-height: 0.82; }
.hero-gloss { max-width: 720px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.35rem 0 1.7rem; color: #f4eee7; font: 600 0.78rem/1.6 "Noto Sans Ethiopic", Inter, sans-serif; }
.hero-gloss span { padding-top: 0.65rem; border-top: 2px solid var(--amber); }
.hero-gloss span:nth-child(2) { border-color: var(--red); }
.hero-gloss span:nth-child(3) { border-color: var(--cyan); }
html[lang="am"] .mission-card h2 { font-family: "Noto Sans Ethiopic", Inter, sans-serif; font-size: clamp(2.15rem, 3.6vw, 3.6rem); line-height: 1.05; }
html[lang="am"] .mission-card h2 small { display: block; margin-top: 0.8rem; color: var(--amber); font: 700 0.63rem/1.3 Inter, Arial, sans-serif; letter-spacing: 0.08em; }
html[lang="am"] .challenge-main h3 { font-size: clamp(2.35rem, 4vw, 4.6rem); }
html[lang="am"] .explain-heading h2,
html[lang="am"] .paths-head h2,
html[lang="am"] .story-title h2,
html[lang="am"] .winner-stories-head h3,
html[lang="am"] .winner-meta strong,
html[lang="am"] .winner-dialog-copy h3,
html[lang="am"] .voices-head h2,
html[lang="am"] .partner-intro h2,
html[lang="am"] .supporters-head h2,
html[lang="am"] .register h2 { overflow-wrap: anywhere; }
html[lang="am"] .winner-stories-head h3,
html[lang="am"] .winner-meta strong,
html[lang="am"] .winner-dialog-copy h3 { font-family: "Noto Sans Ethiopic", Inter, Arial, sans-serif; line-height: 1.12; letter-spacing: -0.015em; text-transform: none; }

@media (max-width: 1080px) {
  html[lang="am"] .site-nav a { white-space: normal; }
}

@media (min-width: 1081px) {
  .challenge-row ul { display: grid; grid-template-rows: repeat(3, 2.5rem); align-content: center; }
  .challenge-row li { display: flex; align-items: center; padding-block: 0; }
  html[lang="am"] .challenge-row li { font-size: 0.55rem; white-space: nowrap; }
}

@media (min-width: 721px) {
  html[lang="am"] .partner-options article { grid-template-columns: 44px minmax(130px, 0.6fr) minmax(0, 1.4fr); }
  html[lang="am"] .partner-options h3 { font-size: 1.35rem; }
}

@media (max-width: 680px) {
  .hero-gloss { grid-template-columns: 1fr; gap: 0.35rem; margin-top: 1rem; }
  .hero-gloss span { padding-top: 0.4rem; }
  html[lang="am"] .hero-copy > .display { font-size: clamp(4.2rem, 22vw, 7rem); }
}
