: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); }
.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); }

/* 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.18), 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.96) 43%, rgba(21, 17, 15, 0.62) 73%, rgba(21, 17, 15, 0.92)); z-index: 1; pointer-events: none; }
.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 { list-style: none; margin: 0; padding: 0; }
.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); }

/* 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 { background: #ddd1c1; }
.story-title { display: flex; justify-content: space-between; gap: 4rem; align-items: end; margin-bottom: 5rem; }
.story-title h2 { color: var(--red); font-size: clamp(4.5rem, 8vw, 8rem); text-align: right; }
.story-grid { display: grid; grid-template-columns: 0.75fr 1.35fr; gap: 5rem; align-items: start; }
.story-copy { border-top: 1px solid var(--ink); }
.edition { display: grid; grid-template-columns: 95px 1fr; align-items: baseline; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.edition strong { font-family: "Barlow Condensed", Impact, sans-serif; font-size: 3rem; line-height: 1; }
.edition span { font-size: 0.63rem; font-weight: 700; letter-spacing: 0.1em; }
.edition.current strong, .edition.current span { color: var(--red); }
.story-copy > p { margin: 1rem 0 2.4rem 95px; color: #5e554f; font-size: 0.83rem; line-height: 1.75; }
.evidence-wall { display: grid; grid-template-columns: 1.25fr 0.75fr; grid-template-rows: 245px 245px; gap: 9px; }
.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; }
.evidence-main { grid-row: span 2; }
.evidence-wall figure { margin: 0; }
.evidence-wall figcaption, .story-media-grid 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; }
.story-media-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, 180px); gap: 9px; margin-top: 3rem; }
.story-media-grid figure { margin: 0; }
.story-video { background: linear-gradient(135deg, #2b2421, #0d0b0a); }
.story-media-grid .story-video { grid-column: 1 / 3; grid-row: 1 / 3; }
.story-overhead { grid-column: 3; grid-row: 1; }
.story-focus { grid-column: 4; grid-row: 1; }
.story-community { grid-column: 3 / 5; grid-row: 2; }
.story-floor { grid-column: 1 / 3; grid-row: 3; }
.story-learning { grid-column: 3 / 5; grid-row: 3; }
.story-overhead img { object-position: 50% 42%; }
.story-focus img { object-position: 50% 43%; }
.story-community img { object-position: 50% 42%; }
.story-learning img { object-position: 50% 48%; }
.story-video .media-fallback { color: rgba(255, 255, 255, 0.72); }
.story-video video { background: #0a0908; object-fit: contain; }
.story-video figcaption { inset: 0 0 auto; background: linear-gradient(rgba(0, 0, 0, 0.74), transparent); }
.media-note { margin: 1.3rem 0 0; color: #70655d; font-size: 0.66rem; line-height: 1.6; }

/* 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-panel > span { color: var(--red); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.12em; }
.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 { 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 p { margin: 2rem 0 0; color: var(--red); font-family: "Noto Sans Ethiopic", Inter, sans-serif; font-size: 0.85rem; font-weight: 600; }

/* 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; }

/* 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 170px 1fr; gap: 1.2rem; align-items: baseline; 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 { margin: 0; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 1.7rem; }
.partner-options p { margin: 0; color: #ebcdca; font-size: 0.74rem; line-height: 1.6; }

/* 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(4, 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-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, .story-grid, .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; }
  .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: 1fr 1fr; }
  .partner-options { margin-top: 2rem; }
  .story-media-grid { grid-template-rows: repeat(3, 160px); }
  footer { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 720px) {
  .brand > span:last-child { display: none; }
  .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); }
  .story-copy > p { margin-left: 0; }
  .evidence-wall { grid-template-columns: 1fr; grid-template-rows: 310px 210px 210px; }
  .evidence-main { grid-row: auto; }
  .story-media-grid { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 230px; }
  .story-media-grid .story-video, .story-overhead, .story-focus, .story-community, .story-floor, .story-learning { grid-column: auto; grid-row: auto; }
  .story-media-grid .story-video { min-height: 300px; }
  .prepare-panel { padding: 2rem 1.4rem; box-shadow: 14px 14px 0 rgba(21, 17, 15, 0.14); }
  .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; }
  .voice-grid { grid-template-columns: 1fr; }
}

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