/* MathKidoo - the Competition Organisers page's own look (MG-544, V4 page 4; Raj 14 Oct 2026: premium, glossy, parallax).
   Only src/for-events.html loads this file. Plain CSS, self-hosted fonts (fonts/mks-fonts.css), no external host.
   Ground: deep navy to indigo with soft radial glows. Glass cards. Mango gold for the action and the champion moments,
   soft purple for the ladder. Nunito 900 for headlines, Source Sans 3 for reading.
   Motion is opt-in: mk-org.js adds html.org-motion only when the visitor has not asked for reduced motion, so with no
   script, or with reduced motion, every word and every picture is simply there (the poster frames).
   Parallax uses the `translate` property and reveals use `transform`, so the two never fight over one property. */

/* ---------- tokens ---------- */
body.org {
  --o-bg0: #060918; --o-bg1: #0A0F30; --o-bg2: #120E44; --o-bg3: #0B0C2B;
  --o-text: #EEF0FF; --o-soft: #B8BEE3; --o-mute: #8C92BE; --o-dim: #5F6596;
  --o-gold: #FFC61A; --o-gold2: #FFB020; --o-gold-hi: #FFE08A;
  --o-violet: #8B5CF6; --o-lav: #B9A0FF; --o-indigo: #6366F1; --o-teal: #76E1CF; --o-sky: #72B8FF; --o-coral: #F3A796;
  --o-line: rgba(255, 255, 255, .12); --o-line-hi: rgba(255, 255, 255, .22);
  --o-glass: linear-gradient(180deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .025));
  --o-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 24px 60px -28px rgba(2, 3, 20, .9);
  --o-ease: cubic-bezier(.16, 1, .3, 1);
  --o-spring: cubic-bezier(.3, 1.45, .55, 1);
  --o-wrap: min(92vw, 1240px);
}
html { background: #060918; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (min-width: 1800px) { html { font-size: 112.5%; } body.org { --o-wrap: min(90vw, 1440px); } }
@media (min-width: 2400px) { html { font-size: 131.25%; } body.org { --o-wrap: min(88vw, 1720px); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

*, *::before, *::after { box-sizing: border-box; }
body.org {
  margin: 0; min-width: 320px; overflow-x: hidden;
  font: 400 1.0625rem/1.6 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--o-text);
  background:
    radial-gradient(1200px 700px at 85% 22%, rgba(139, 92, 246, .13), transparent 70%),
    radial-gradient(1000px 800px at 8% 48%, rgba(99, 102, 241, .12), transparent 70%),
    radial-gradient(900px 700px at 90% 78%, rgba(255, 176, 32, .05), transparent 70%),
    linear-gradient(180deg, var(--o-bg0) 0%, var(--o-bg1) 22%, var(--o-bg2) 55%, var(--o-bg1) 80%, var(--o-bg3) 100%);
  -webkit-font-smoothing: antialiased;
}
body.org img, body.org svg { max-width: 100%; }
body.org .wrap { width: var(--o-wrap); margin: 0 auto; }
body.org a { color: inherit; }
body.org ::selection { background: rgba(255, 198, 26, .35); color: #fff; }
body.org main:focus { outline: none; }

/* ---------- skip link and the bar (the M mark only; the name is in its aria-label) ---------- */
body.org .mks-skip { position: absolute; left: 12px; top: -60px; z-index: 100; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 12px; background: var(--o-gold); color: #1B1306; font: 800 1rem 'Nunito', system-ui, sans-serif; text-decoration: none; }
body.org .mks-skip:focus { top: 12px; }
body.org .bar { position: sticky; top: 0; z-index: 50; background: rgba(7, 10, 32, .62); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); border-bottom: 1px solid rgba(255, 255, 255, .07); }
body.org .bar-in { width: var(--o-wrap); margin: 0 auto; display: flex; align-items: center; gap: 12px; min-height: 64px; }
/* MG-BUG-030: the mark was its bare 34 px image, so the home link was a 34 x 34 target with 6 px to the Parents tab
   at 390 px. Same line the Parents page already carries (mk-par.css): a 44 px box with the image centred in it. */
body.org .brand { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 12px; transition: transform .4s var(--o-spring), filter .3s; }
body.org .brand img { width: 40px; height: 40px; display: block; filter: drop-shadow(0 6px 14px rgba(139, 92, 246, .45)); }
body.org .brand:hover { transform: translateY(-1px) rotate(-4deg); }
body.org .menu { flex: 1; min-width: 0; display: flex; justify-content: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
body.org .menu::-webkit-scrollbar { display: none; }
body.org .menu a { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 999px; color: var(--o-soft); text-decoration: none; font: 700 .95rem 'Nunito', system-ui, sans-serif; transition: color .2s, background .2s; }
body.org .menu a:hover { color: #fff; background: rgba(255, 255, 255, .06); }
body.org .menu a[aria-current="page"] { color: #fff; background: rgba(255, 198, 26, .1); box-shadow: inset 0 0 0 1px rgba(255, 198, 26, .35); }
body.org .signin { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; color: #fff; text-decoration: none; font: 800 .95rem 'Nunito', system-ui, sans-serif; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px var(--o-line-hi); transition: background .25s, box-shadow .25s, transform .4s var(--o-spring); }
body.org .signin:hover { background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(185, 160, 255, .6), 0 0 24px -6px rgba(139, 92, 246, .7); transform: translateY(-1px); }
@media (max-width: 560px) {
  body.org .bar-in { gap: 6px; min-height: 58px; }
  body.org .brand img { width: 34px; height: 34px; }
  body.org .menu { justify-content: flex-start; mask-image: linear-gradient(90deg, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); }
  body.org .menu a { padding: 8px 8px; font-size: .88rem; }
  body.org .menu a[href="/"] { display: none; }
  body.org .signin { min-height: 44px; padding: 0 12px; font-size: .88rem; }
}
@media (max-width: 360px) { body.org .menu { mask-image: linear-gradient(90deg, transparent, #000 10%, #000 86%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 86%, transparent); } }
body.org :focus-visible { outline: 3px solid var(--o-gold-hi); outline-offset: 3px; border-radius: 10px; }

/* ---------- type ---------- */
body.org .org-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 800 .78rem/1.35 'Nunito', system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--o-gold-hi); }
body.org .org-eyebrow::before { content: ""; flex: none; width: 26px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--o-gold), rgba(255, 198, 26, 0)); }
body.org .is-centre .org-eyebrow { justify-content: center; }
body.org .o-nw { white-space: nowrap; }
body.org .org-h1 { margin: 0; font: 900 clamp(2.1rem, 1.2rem + 4.4vw, 4.6rem)/1.02 'Nunito', system-ui, sans-serif; letter-spacing: -.025em; color: #fff; text-wrap: balance; }
body.org .org-shine { background: linear-gradient(100deg, #FFF1BF 0%, #FFD24D 35%, #FFB020 70%, #FF9A3C 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 6px 26px rgba(255, 176, 32, .28)); }
body.org .org-h2 { margin: 0 0 .5em; font: 900 clamp(1.85rem, 1.15rem + 2.6vw, 3.2rem)/1.08 'Nunito', system-ui, sans-serif; letter-spacing: -.018em; color: #fff; text-wrap: balance; }
body.org .org-h3 { margin: 0 0 12px; font: 900 1.2rem/1.25 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .org-body { margin: 0 0 .55em; font-size: 1.08rem; color: var(--o-soft); max-width: 40em; }
body.org .is-centre .org-body { margin-left: auto; margin-right: auto; }
body.org .org-gold-line { color: var(--o-gold-hi); font: 800 1.12rem/1.45 'Nunito', system-ui, sans-serif; }
body.org .org-small { margin: 14px 0 0; font-size: .88rem; color: var(--o-mute); }
body.org .org-lab { display: block; margin: 0 0 8px; font: 800 .95rem 'Nunito', system-ui, sans-serif; color: var(--o-soft); }
body.org .org-tag { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font: 900 .68rem/1.2 'Nunito', system-ui, sans-serif; letter-spacing: .12em; color: var(--o-gold-hi); background: rgba(255, 198, 26, .1); box-shadow: inset 0 0 0 1px rgba(255, 198, 26, .38); }
body.org .org-link { color: var(--o-gold-hi); font-weight: 700; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
body.org .org-link:hover { color: #fff; }

/* ---------- buttons: spring lift, glow on hover and focus, press ---------- */
body.org .org-btn { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border: 0; border-radius: 999px; font: 800 1.04rem/1.2 'Nunito', system-ui, sans-serif; text-align: center; text-decoration: none; cursor: pointer; overflow: hidden; transition: transform .45s var(--o-spring), box-shadow .3s ease, background-color .3s ease, color .2s; -webkit-tap-highlight-color: transparent; }
body.org .org-btn-gold { color: #1A1204; background: linear-gradient(180deg, #FFDF62 0%, #FFC61A 45%, #FFA916 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -3px 0 rgba(150, 80, 0, .28), 0 0 0 1px rgba(255, 214, 102, .55), 0 14px 34px -12px rgba(255, 170, 30, .75); }
body.org .org-btn-gold::before { content: ""; position: absolute; inset: 1px 1px 52% 1px; z-index: -1; border-radius: 999px 999px 40% 40% / 999px 999px 18px 18px; background: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0)); }
body.org .org-btn-gold::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-18deg); transition: left .7s var(--o-ease); }
body.org .org-btn-gold:hover, body.org .org-btn-gold:focus-visible { transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -3px 0 rgba(150, 80, 0, .28), 0 0 0 1px rgba(255, 224, 138, .9), 0 22px 44px -12px rgba(255, 170, 30, .85), 0 0 46px -6px rgba(255, 198, 26, .55); }
body.org .org-btn-gold:hover::after { left: 120%; }
body.org .org-btn-line { color: #fff; background: rgba(255, 255, 255, .055); box-shadow: inset 0 0 0 1px rgba(185, 160, 255, .5), inset 0 1px 0 rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body.org .org-btn-line:hover, body.org .org-btn-line:focus-visible { transform: translateY(-3px); background: rgba(139, 92, 246, .16); box-shadow: inset 0 0 0 1px rgba(196, 181, 253, .9), 0 16px 36px -14px rgba(139, 92, 246, .8), 0 0 34px -8px rgba(139, 92, 246, .6); }
body.org .org-btn:active { transform: translateY(0) scale(.97); transition-duration: .12s; }
body.org .org-btn:disabled { cursor: not-allowed; opacity: .5; transform: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); background: transparent; }
body.org .org-btn-sm { min-height: 46px; padding: 0 20px; font-size: .96rem; }
body.org .org-quiet { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--o-soft); font: 700 1rem 'Nunito', system-ui, sans-serif; text-decoration: underline; text-decoration-color: rgba(184, 190, 227, .4); text-underline-offset: 5px; transition: color .2s, text-decoration-color .2s; }
body.org .org-quiet:hover { color: #fff; text-decoration-color: var(--o-gold); }
@media (prefers-reduced-motion: reduce) {
  body.org .org-btn, body.org .org-card, body.org .signin, body.org .brand { transition: box-shadow .2s, background-color .2s, color .2s !important; }
  body.org .org-btn:hover, body.org .org-btn:focus-visible, body.org .org-btn:active, body.org .org-card:hover { transform: none !important; }
}

/* ---------- glass card ---------- */
body.org .org-card { position: relative; border-radius: 24px; background: var(--o-glass); box-shadow: var(--o-shadow), inset 0 0 0 1px var(--o-line); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); transition: transform .5s var(--o-spring), box-shadow .35s ease, background .35s ease; }
body.org .org-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(180deg, rgba(255, 255, 255, .09), transparent 38%); }
html body.org .org-card:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(185, 160, 255, .38), 0 34px 70px -30px rgba(2, 3, 20, .95), 0 0 50px -18px rgba(139, 92, 246, .55); }
body.org .org-where:hover, body.org .org-honest:hover, body.org .org-empty:hover { transform: none; }

/* ---------- hero ---------- */
body.org .org-hero { position: relative; isolation: isolate; overflow: clip; padding: clamp(18px, 3.4vw, 64px) 0 clamp(24px, 3vw, 48px); }
body.org .org-hero-bg { position: absolute; inset: -12% 0 -40%; z-index: -1; pointer-events: none; }
body.org .o-glow { position: absolute; border-radius: 50%; filter: blur(60px); }
body.org .o-g1 { width: 62vw; height: 62vw; max-width: 980px; max-height: 980px; left: -20vw; top: -14vw; background: radial-gradient(circle, rgba(99, 102, 241, .5), rgba(99, 102, 241, 0) 65%); }
body.org .o-g2 { width: 54vw; height: 54vw; max-width: 900px; max-height: 900px; right: -16vw; top: 2vw; background: radial-gradient(circle, rgba(139, 92, 246, .45), rgba(139, 92, 246, 0) 65%); }
body.org .o-g3 { width: 34vw; height: 34vw; max-width: 560px; max-height: 560px; right: 12vw; top: 34%; background: radial-gradient(circle, rgba(255, 176, 32, .2), rgba(255, 176, 32, 0) 65%); }
body.org .o-stars { position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(1.2px 1.2px at 12% 18%, #fff, transparent), radial-gradient(1px 1px at 32% 62%, #C4B5FD, transparent), radial-gradient(1.4px 1.4px at 58% 12%, #fff, transparent), radial-gradient(1px 1px at 72% 44%, #FFE08A, transparent), radial-gradient(1.2px 1.2px at 88% 70%, #fff, transparent), radial-gradient(1px 1px at 22% 84%, #C4B5FD, transparent), radial-gradient(1px 1px at 46% 36%, #fff, transparent), radial-gradient(1.3px 1.3px at 94% 16%, #C4B5FD, transparent); background-size: 520px 420px; }
body.org .org-hero-grid { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
@media (min-width: 980px) { body.org .org-hero-grid { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); } }
body.org .org-hero-copy { position: relative; z-index: 2; }
body.org .org-problem { margin: 20px 0 0; max-width: 34em; font-size: clamp(1.04rem, .98rem + .3vw, 1.2rem); line-height: 1.55; color: var(--o-soft); }
body.org .org-problem b { color: #fff; font-weight: 700; }
body.org .org-purpose { display: flex; gap: 12px; align-items: flex-start; margin: 16px 0 0; font: 800 clamp(1.14rem, 1.02rem + .5vw, 1.42rem)/1.35 'Nunito', system-ui, sans-serif; color: var(--o-gold-hi); text-shadow: 0 0 30px rgba(255, 198, 26, .25); }
body.org .org-purpose::before { content: ""; flex: none; width: 4px; align-self: stretch; border-radius: 4px; background: linear-gradient(180deg, var(--o-gold), var(--o-gold2)); box-shadow: 0 0 14px rgba(255, 198, 26, .6); }
body.org .org-actions { display: grid; gap: 18px; margin-top: 26px; }
body.org .org-act-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
body.org .org-act-row.is-centre { justify-content: center; }
body.org .org-note { margin: 8px 0 0; font-size: .92rem; line-height: 1.45; color: var(--o-mute); }
@media (max-width: 520px) {
  body.org .org-actions .org-btn { width: 100%; }
  body.org .org-actions { gap: 14px; margin-top: 20px; }
  body.org .org-actions .org-act-row { gap: 0 16px; }
  body.org .org-problem { margin-top: 14px; }
}

/* hero picture B */
body.org .org-reel { position: relative; z-index: 1; margin: 0; }
body.org .org-reel-card { position: relative; padding: clamp(10px, 1.6vw, 18px); border-radius: 30px; background: linear-gradient(160deg, rgba(99, 102, 241, .2), rgba(139, 92, 246, .08) 45%, rgba(255, 255, 255, .03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 0 1px rgba(255, 255, 255, .12), 0 50px 100px -40px rgba(2, 3, 20, .95), 0 30px 120px -50px rgba(139, 92, 246, .75); -webkit-backdrop-filter: blur(20px) saturate(150%); backdrop-filter: blur(20px) saturate(150%); }
body.org .org-reel-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(125deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 32%); }
body.org .org-reel-art { position: relative; }
body.org .rl-svg { display: block; width: 100%; height: auto; overflow: visible; }
body.org .rl-svg text { font-family: 'Nunito', system-ui, sans-serif; font-weight: 800; fill: var(--o-text); transition: fill .45s ease; }
body.org .rl-svg .rl-dim { fill: var(--o-dim); }
body.org .rl-svg .rl-sum { font-weight: 900; fill: #fff; }
body.org .rl-svg .rl-ans { fill: var(--o-gold); }
body.org .rl-svg .rl-gold { fill: var(--o-gold); font-weight: 900; }
body.org .rl-svg .rl-gold.rl-dim { fill: var(--o-dim); }
body.org .rl-svg .rl-small { fill: var(--o-mute); font-weight: 700; }
body.org .rl-svg .rl-band { font-weight: 900; }
body.org .rl-rungs line { stroke: rgba(255, 255, 255, .16); stroke-width: 2.6; stroke-linecap: round; transition: stroke .25s; }
body.org .rl-rungs line.on { stroke: var(--o-lav); }
body.org .org-reel-cap { margin: 10px 4px 2px; text-align: center; font: 800 clamp(.95rem, .9rem + .25vw, 1.08rem)/1.4 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .org-reel-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; padding: 0 6px; font-size: .86rem; color: var(--o-mute); }
body.org .org-again { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer; color: #fff; font: 800 .9rem 'Nunito', system-ui, sans-serif; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px var(--o-line-hi); transition: transform .4s var(--o-spring), box-shadow .25s, background .25s; }
body.org .org-again::before { content: "\21BB"; font-size: 1.05rem; color: var(--o-gold); }
body.org .org-again:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(255, 224, 138, .7), 0 0 26px -8px rgba(255, 198, 26, .7); }
body.org .org-again[hidden] { display: none; }

/* hero base: the solution, the gains row, the how line */
body.org .org-hero-base { position: relative; z-index: 3; margin-top: clamp(30px, 4.5vw, 64px); }
body.org .org-solution { margin: 0; max-width: 46em; font-size: clamp(1.08rem, 1rem + .4vw, 1.28rem); line-height: 1.55; color: var(--o-text); }
body.org .org-gains { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 820px) { body.org .org-gains { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
body.org .org-gain { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border-radius: 20px; background: var(--o-glass); box-shadow: var(--o-shadow), inset 0 0 0 1px var(--o-line); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: transform .5s var(--o-spring), box-shadow .3s; }
body.org .org-gain:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(185, 160, 255, .38), 0 30px 60px -30px rgba(2, 3, 20, .95), 0 0 40px -16px rgba(139, 92, 246, .55); }
body.org .org-gain p { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--o-soft); }
body.org .org-gain b { color: #fff; font-family: 'Nunito', system-ui, sans-serif; font-weight: 900; }
body.org .org-gain-pic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .16), rgba(255, 255, 255, .03)); box-shadow: inset 0 0 0 1px var(--o-line); }
body.org .org-gain-pic svg { width: 40px; height: 40px; }
body.org .org-how { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--o-line); max-width: 52em; font-size: 1rem; color: var(--o-mute); }

/* ---------- sections ---------- */
body.org .org-sec { position: relative; padding: clamp(56px, 7.5vw, 116px) 0; }
body.org .org-deep { background: linear-gradient(180deg, rgba(99, 102, 241, 0) 0%, rgba(99, 102, 241, .07) 22%, rgba(139, 92, 246, .06) 78%, rgba(139, 92, 246, 0) 100%); }
body.org .org-deep::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(185, 160, 255, .35), rgba(255, 198, 26, .28), transparent); }
body.org .org-head.is-centre { text-align: center; max-width: 860px; margin: 0 auto; }
body.org .org-two { display: grid; gap: clamp(36px, 5vw, 84px); align-items: center; }
@media (min-width: 960px) { body.org .org-two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* numbered and bulleted lists */
body.org .org-num { list-style: none; counter-reset: on; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
body.org .org-num li { counter-increment: on; position: relative; padding-left: 46px; min-height: 32px; font-size: 1.06rem; line-height: 1.5; color: var(--o-soft); }
body.org .org-num li::before { content: counter(on); position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; font: 900 .9rem 'Nunito', system-ui, sans-serif; color: #1A1204; background: radial-gradient(circle at 32% 28%, #FFF3C4, #FFC61A 55%, #E69500); box-shadow: 0 6px 16px -6px rgba(255, 176, 32, .8); }
body.org .org-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
/* MG-BUG-037: at 768 the three columns stack and this bullet got a 692 px line - one unbroken
   line of 87 characters, past the 80 the WCAG AAA line-length rule asks for. 68ch wraps it into
   two comfortable lines and changes nothing on a phone, where the column is already narrower. */
body.org .org-list li { position: relative; padding-left: 22px; max-width: 68ch; color: var(--o-soft); line-height: 1.5; transition: color .6s ease; }
body.org .org-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--o-gold); box-shadow: 0 0 10px rgba(255, 198, 26, .7); }

/* 1 - what is arithmetic: four glossy balls */
body.org .org-ops { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 2vw, 20px); }
body.org .org-op { display: grid; justify-items: center; gap: 14px; padding: clamp(18px, 2.4vw, 28px) 12px; border-radius: 24px; background: var(--o-glass); box-shadow: var(--o-shadow), inset 0 0 0 1px var(--o-line); text-align: center; }
body.org .org-ball { display: grid; place-items: center; width: clamp(58px, 5vw, 76px); height: clamp(58px, 5vw, 76px); border-radius: 50%; font: 900 clamp(1.9rem, 1.6rem + 1vw, 2.5rem)/1 'Nunito', system-ui, sans-serif; color: #10123A; box-shadow: inset -6px -10px 18px rgba(0, 0, 0, .22), inset 6px 8px 14px rgba(255, 255, 255, .55), 0 14px 30px -12px var(--bc, rgba(0, 0, 0, .5)); transition: transform .5s var(--o-spring); }
body.org .org-op:hover .org-ball { transform: translateY(-6px) rotate(-8deg); }
body.org .o-b1 { background: radial-gradient(circle at 32% 26%, #FFFFFF 0, #A8F0E2 26%, #76E1CF 55%, #33A893 100%); --bc: rgba(118, 225, 207, .7); }
body.org .o-b2 { background: radial-gradient(circle at 32% 26%, #FFFFFF 0, #B5D9FF 26%, #72B8FF 55%, #2F7FD6 100%); --bc: rgba(114, 184, 255, .7); }
body.org .o-b3 { background: radial-gradient(circle at 32% 26%, #FFFFFF 0, #DCCFFF 26%, #B9A0FF 55%, #7650E0 100%); --bc: rgba(185, 160, 255, .7); }
body.org .o-b4 { background: radial-gradient(circle at 32% 26%, #FFFFFF 0, #FFD3C8 26%, #F3A796 55%, #D2664E 100%); --bc: rgba(243, 167, 150, .7); }
body.org .org-op-sum { margin: 0; font: 900 clamp(1.15rem, 1rem + .7vw, 1.6rem)/1.2 'Nunito', system-ui, sans-serif; color: #fff; white-space: nowrap; }
body.org .org-ans { display: inline-block; color: var(--o-gold); }
html.org-motion body.org .org-ops.pre .org-ans { opacity: 0; transform: translateY(-18px) scale(.8); }
html.org-motion body.org .org-ops.pre .org-ans.hop { animation: o-hop .7s var(--o-spring) forwards; }
@keyframes o-hop { 0% { opacity: 0; transform: translateY(-18px) scale(.8); } 60% { opacity: 1; transform: translateY(3px) scale(1.06); } 100% { opacity: 1; transform: none; } }

/* 2 - the exam strip, its lines to one ball, and the sweep */
body.org .org-strip { position: relative; max-width: 1040px; margin: clamp(30px, 4vw, 48px) auto 0; }
body.org .org-strip-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
body.org .org-strip-lines path { fill: none; stroke: url(#orgLine); stroke-width: 1.6; stroke-linecap: round; opacity: .8; transition: stroke-dashoffset .9s var(--o-ease); }
body.org .org-chips { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body.org .org-chips li { padding: 11px 18px; border-radius: 999px; font: 800 clamp(.92rem, .86rem + .25vw, 1.06rem)/1.2 'Nunito', system-ui, sans-serif; color: #fff; background: linear-gradient(180deg, rgba(30, 34, 90, .92), rgba(18, 20, 60, .92)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), inset 0 0 0 1px rgba(255, 224, 138, .32), 0 12px 26px -14px rgba(0, 0, 0, .9); transition: color .5s, box-shadow .5s; }
html.org-motion body.org .org-strip.pre .org-chips li:not(.lit) { color: var(--o-dim); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), inset 0 0 0 1px rgba(255, 255, 255, .1), 0 12px 26px -14px rgba(0, 0, 0, .9); }
body.org .org-root { position: relative; z-index: 1; display: flex; justify-content: center; margin-top: clamp(70px, 9vw, 120px); }
body.org .org-root-ball { display: grid; place-items: center; width: clamp(128px, 11vw, 160px); height: clamp(128px, 11vw, 160px); border-radius: 50%; font: 900 clamp(1rem, .9rem + .4vw, 1.2rem) 'Nunito', system-ui, sans-serif; color: #1A1204; background: radial-gradient(circle at 34% 26%, #FFFBEA 0, #FFE08A 22%, #FFC61A 52%, #E08A00 100%); box-shadow: inset -10px -14px 26px rgba(150, 70, 0, .32), inset 8px 10px 18px rgba(255, 255, 255, .6), 0 0 0 10px rgba(255, 198, 26, .08), 0 0 80px -6px rgba(255, 176, 32, .6); }
body.org .org-strip-line { margin: clamp(36px, 4vw, 52px) auto 0; max-width: 30em; text-align: center; font: 800 clamp(1.25rem, 1.02rem + 1vw, 1.8rem)/1.35 'Nunito', system-ui, sans-serif; color: #fff; text-wrap: balance; }
body.org .org-sweep { background: linear-gradient(90deg, var(--o-gold), var(--o-gold2)) no-repeat 0 100% / 100% 4px; padding-bottom: 4px; transition: background-size 1s var(--o-ease); }
html.org-motion body.org .org-strip-line.pre .org-sweep { background-size: 0% 4px; }
body.org .org-lines4 { display: grid; gap: 12px 28px; max-width: 980px; margin: clamp(28px, 4vw, 44px) auto 0; }
@media (min-width: 760px) { body.org .org-lines4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.org .org-lines4 .org-body { margin: 0; padding: 14px 18px; border-left: 2px solid rgba(185, 160, 255, .4); max-width: none; }
body.org .org-lines4 .org-gold-line { border-left-color: var(--o-gold); }

/* 3 - what each one gains */
body.org .org-cols { display: grid; gap: clamp(14px, 2vw, 24px); margin-top: clamp(30px, 4vw, 52px); }
@media (min-width: 900px) { body.org .org-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.org .org-col { padding: clamp(22px, 2.6vw, 32px); }
body.org .org-col-pic { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 18px; border-radius: 22px; background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .18), rgba(139, 92, 246, .12)); box-shadow: inset 0 0 0 1px var(--o-line-hi), 0 14px 30px -16px rgba(139, 92, 246, .8); }
html.org-motion body.org .org-col:not(.in) .org-list li { color: var(--o-dim); }

/* 4 - the hall screen on a tablet */
body.org .org-tablet { position: relative; width: min(100%, 440px); margin: 0 auto; padding: 14px; border-radius: 38px; background: linear-gradient(145deg, #262B66, #0D1030 60%, #151842); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 0 0 1px rgba(255, 255, 255, .1), 0 60px 100px -40px rgba(2, 3, 20, 1), 0 0 90px -30px rgba(139, 92, 246, .7); }
body.org .tb-screen { position: relative; padding: 24px 22px 20px; border-radius: 26px; background: radial-gradient(120% 80% at 50% 0%, #1D2160, #0A0C28 70%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07); overflow: hidden; min-height: 248px; }
body.org .tb-ring { position: absolute; top: 16px; right: 16px; width: 64px; height: 64px; }
body.org .tb-ring-on { transition: stroke-dashoffset 3s linear; }
body.org .tb-prev { margin: 0; min-height: 26px; font: 800 .98rem 'Nunito', system-ui, sans-serif; color: var(--o-mute); transition: opacity .5s, transform .6s var(--o-ease); }
body.org .tb-ok { color: var(--o-teal); }
body.org .tb-cur { margin: 30px 0 18px; font: 900 clamp(2.2rem, 1.7rem + 2vw, 3.1rem)/1 'Nunito', system-ui, sans-serif; color: #fff; text-align: center; transition: opacity .45s, transform .6s var(--o-ease); }
body.org .tb-cur.out { opacity: 0; transform: translateY(-30px) scale(.9); }
body.org .tb-cur.in-r { opacity: 0; transform: translateX(40px); transition: none; }
body.org .tb-box { display: flex; align-items: center; justify-content: center; gap: 3px; margin: 0 auto; width: min(100%, 220px); height: 58px; border-radius: 16px; font: 900 1.9rem 'Nunito', system-ui, sans-serif; color: var(--o-gold); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 2px rgba(185, 160, 255, .35); }
body.org .tb-caret { width: 3px; height: 30px; border-radius: 2px; background: var(--o-lav); animation: o-caret 1.1s steps(1) 8; }
@keyframes o-caret { 50% { opacity: 0; } }
body.org .tb-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
body.org .tb-keys span { display: grid; place-items: center; height: 46px; border-radius: 14px; font: 800 1.25rem 'Nunito', system-ui, sans-serif; color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 0 0 1px rgba(255, 255, 255, .07); transition: transform .15s, background .2s, box-shadow .2s; }
body.org .tb-keys span.is-press { transform: scale(.94); background: linear-gradient(180deg, #FFDF62, #FFB020); color: #1A1204; box-shadow: 0 0 24px -4px rgba(255, 198, 26, .8); }
@media (prefers-reduced-motion: reduce) { body.org .tb-caret { animation: none; } }

/* 5 - the result card and the lookup */
body.org .org-where-side { display: grid; gap: 18px; }
body.org .org-result { padding: clamp(22px, 2.6vw, 32px); background: linear-gradient(160deg, rgba(139, 92, 246, .22), rgba(255, 255, 255, .03)); }
body.org .rs-top { display: flex; align-items: center; justify-content: space-between; margin: 0; font: 900 1.25rem 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .rs-level { margin: 6px 0 18px; font: 900 clamp(2.4rem, 2rem + 2vw, 3.4rem)/1 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .rs-num { display: inline-block; color: var(--o-gold); text-shadow: 0 0 30px rgba(255, 198, 26, .5); transition: opacity .5s, transform .7s var(--o-spring); }
body.org .rs-ladder { display: grid; grid-template-columns: repeat(33, minmax(0, 1fr)); gap: 3px; align-items: end; height: 34px; }
body.org .rs-ladder i { height: 60%; border-radius: 3px; background: rgba(255, 255, 255, .12); transition: background .3s, height .3s; }
body.org .rs-ladder i:nth-child(-n+14) { background: linear-gradient(180deg, #C4B5FD, #8B5CF6); }
body.org .rs-ladder i.me { height: 100%; background: linear-gradient(180deg, #FFE08A, #FFB020); box-shadow: 0 0 16px rgba(255, 198, 26, .8); }
html.org-motion body.org .org-result.pre .rs-ladder i:not(.lit) { background: rgba(255, 255, 255, .12); box-shadow: none; }
html.org-motion body.org .org-result.pre .rs-ladder i.me:not(.lit) { height: 60%; }
html.org-motion body.org .org-result.pre .rs-num { opacity: 0; transform: translateY(-18px) scale(1.3); }
body.org .rs-ends { display: flex; justify-content: space-between; margin: 8px 0 0; font: 700 .8rem 'Nunito', system-ui, sans-serif; color: var(--o-mute); }
body.org .org-where { padding: clamp(20px, 2.4vw, 28px); }
body.org .org-lookup { display: flex; flex-wrap: wrap; gap: 10px; }
body.org .org-lookup input { flex: 1 1 200px; min-width: 0; min-height: 54px; padding: 0 18px; border: 0; border-radius: 16px; font: 800 1.08rem 'Nunito', system-ui, sans-serif; letter-spacing: .06em; color: #fff; background: rgba(5, 7, 26, .55); box-shadow: inset 0 0 0 1px rgba(185, 160, 255, .35), inset 0 2px 6px rgba(0, 0, 0, .4); transition: box-shadow .25s; }
body.org .org-lookup input::placeholder { color: var(--o-dim); }
body.org .org-lookup input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--o-gold-hi), 0 0 30px -8px rgba(255, 198, 26, .6); }
body.org .org-lookup .org-btn { flex: 1 1 auto; }

/* 6 - next events near you */
body.org .org-events { max-width: 920px; margin: clamp(28px, 4vw, 44px) auto 0; }
body.org .org-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 16px; }
body.org .org-pick .org-lab { margin: 0; }
body.org .org-select { position: relative; flex: 1 1 220px; max-width: 320px; }
body.org .org-select::after { content: ""; position: absolute; right: 18px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid var(--o-gold-hi); border-bottom: 2px solid var(--o-gold-hi); transform: rotate(45deg); pointer-events: none; }
body.org .org-select select { width: 100%; min-height: 50px; padding: 0 44px 0 18px; border: 0; border-radius: 999px; appearance: none; -webkit-appearance: none; font: 800 1rem 'Nunito', system-ui, sans-serif; color: #fff; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(185, 160, 255, .45); cursor: pointer; }
body.org .org-select select option { color: #12142F; background: #fff; }
body.org .org-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
body.org .org-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 16px; align-items: center; padding: 18px 20px; border-radius: 22px; background: var(--o-glass); box-shadow: var(--o-shadow), inset 0 0 0 1px var(--o-line); transition: transform .5s var(--o-spring), box-shadow .3s; }
body.org .org-row:hover { transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(255, 224, 138, .35), 0 26px 50px -28px rgba(2, 3, 20, .95); }
body.org .org-row[hidden] { display: none; }
body.org .org-row .org-btn { grid-column: 1 / -1; }
@media (min-width: 720px) { body.org .org-row { grid-template-columns: auto minmax(0, 1fr) auto; } body.org .org-row .org-btn { grid-column: auto; } }
body.org .org-pin { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(255, 198, 26, .08); box-shadow: inset 0 0 0 1px rgba(255, 198, 26, .25); }
body.org .org-row-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; font: 900 1.12rem/1.3 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .org-row-meta { display: flex; flex-wrap: wrap; gap: 2px 0; margin: 6px 0 0; font-size: .95rem; color: var(--o-soft); }
body.org .org-row-meta span:not(:last-child)::after { content: "\00B7"; margin: 0 9px; color: var(--o-dim); }
body.org .org-empty { margin: 12px 0 0; padding: 18px 20px; color: var(--o-soft); }
body.org .org-empty[hidden] { display: none; }
body.org .org-under { margin: 16px 0 0; text-align: center; font-size: .92rem; color: var(--o-mute); }

/* 7 - champions, awards and prizes */
body.org .org-awards { display: grid; gap: 20px; justify-items: center; }
body.org .org-podium { width: min(100%, 380px); filter: drop-shadow(0 30px 40px rgba(76, 42, 158, .55)); }
body.org .org-podium svg { display: block; width: 100%; height: auto; overflow: visible; }
body.org .pd-c { transform-box: fill-box; transform-origin: center; transition: transform .8s var(--o-spring), opacity .5s; filter: drop-shadow(0 0 10px rgba(255, 198, 26, .8)); }
body.org .pd-c:nth-of-type(2) { transition-delay: .12s; }
body.org .pd-c:nth-of-type(3) { transition-delay: .24s; }
html.org-motion body.org .org-podium:not(.in) .pd-c { transform: translateY(-60px); opacity: 0; }
body.org .org-aw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 480px; }
body.org .org-aw { display: grid; justify-items: center; gap: 8px; padding: 18px 8px; border-radius: 20px; font: 900 1rem 'Nunito', system-ui, sans-serif; color: #fff; background: var(--o-glass); box-shadow: var(--o-shadow), inset 0 0 0 1px var(--o-line); }
body.org .o-aw1 { box-shadow: var(--o-shadow), inset 0 0 0 1px rgba(255, 198, 26, .4), 0 0 40px -18px rgba(255, 198, 26, .7); }

/* 8 - the live counts board */
body.org .org-board { padding: clamp(22px, 2.6vw, 32px); }
body.org .bd { display: grid; grid-template-columns: minmax(0, 8.5em) minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .07); }
body.org .bd > span { font: 800 .98rem 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .bd > div { height: 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
body.org .bd i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, #8B5CF6, #C4B5FD); box-shadow: 0 0 16px rgba(139, 92, 246, .8); transform-origin: left center; transition: transform 1.1s var(--o-ease); }
body.org .bd:nth-child(2) i { transition-delay: .15s; }
body.org .bd:nth-child(3) i { transition-delay: .3s; }
html.org-motion body.org .org-board:not(.in) .bd i { transform: scaleX(0); }
body.org .bd b { font: 900 .98rem 'Nunito', system-ui, sans-serif; color: var(--o-gold-hi); white-space: nowrap; }
@media (max-width: 420px) { body.org .bd { grid-template-columns: minmax(0, 1fr) auto; } body.org .bd > div { grid-column: 1 / -1; grid-row: 2; } }

/* 9 - who runs it */
body.org .org-marks { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 3vw, 32px); }
body.org .org-mark { display: grid; place-items: center; width: clamp(110px, 12vw, 150px); height: clamp(110px, 12vw, 150px); border-radius: 32px; background: radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .2), rgba(139, 92, 246, .12)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 0 0 1px var(--o-line-hi), 0 30px 60px -28px rgba(139, 92, 246, .9); }
body.org .org-mark img { width: 62%; height: auto; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45)); }
body.org .org-mark-box { font: 900 clamp(1.05rem, .95rem + .5vw, 1.3rem) 'Nunito', system-ui, sans-serif; color: var(--o-gold-hi); background: radial-gradient(circle at 30% 22%, rgba(255, 224, 138, .16), rgba(255, 176, 32, .05)); box-shadow: inset 0 0 0 1.5px rgba(255, 224, 138, .5), 0 30px 60px -28px rgba(255, 176, 32, .7); }
body.org .org-plus { font: 900 2rem 'Nunito', system-ui, sans-serif; color: var(--o-mute); }

/* 10 - the six steps */
body.org .org-steps { list-style: none; margin: clamp(30px, 4vw, 52px) 0 0; padding: 0; display: grid; gap: clamp(14px, 2vw, 22px); }
@media (min-width: 640px) { body.org .org-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { body.org .org-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.org .org-step { display: flex; gap: 16px; align-items: flex-start; padding: clamp(20px, 2.4vw, 28px); }
body.org .org-step p { margin: 0; font-size: 1.04rem; line-height: 1.5; color: var(--o-soft); }
body.org .org-step b { display: block; margin-bottom: 4px; font: 900 1.12rem/1.3 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .org-step-n { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; font: 900 1.25rem 'Nunito', system-ui, sans-serif; color: #fff; background: linear-gradient(145deg, #A78BFA, #6D28D9); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 12px 24px -10px rgba(139, 92, 246, .9); }
body.org .o-step-gold { box-shadow: var(--o-shadow), inset 0 0 0 1px rgba(255, 198, 26, .4), 0 0 50px -20px rgba(255, 198, 26, .6); }
body.org .o-step-gold .org-step-n { color: #1A1204; background: linear-gradient(145deg, #FFE08A, #FFB020); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 12px 24px -10px rgba(255, 176, 32, .9); }
body.org .org-quiet-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: clamp(26px, 3vw, 40px); }

/* 11 - the code that turns into a level card */
body.org .org-flip { display: grid; justify-items: center; gap: 18px; perspective: 1000px; }
body.org .fl-code { display: inline-flex; align-items: center; min-height: 56px; padding: 0 26px; border-radius: 16px; font: 900 1.6rem 'Nunito', system-ui, sans-serif; letter-spacing: .3em; color: #fff; background: rgba(5, 7, 26, .5); box-shadow: inset 0 0 0 1px rgba(185, 160, 255, .4); }
body.org .fl-card { width: 240px; height: 240px; }
body.org .fl-in { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateY(180deg); transition: transform 1s var(--o-spring); }
html.org-motion body.org .org-flip.pre .fl-in { transform: rotateY(0deg); }
body.org .fl-face { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 6px; border-radius: 28px; -webkit-backface-visibility: hidden; backface-visibility: hidden; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 0 0 1px var(--o-line-hi), 0 40px 70px -30px rgba(2, 3, 20, 1); }
body.org .fl-front { background: linear-gradient(150deg, #2A2F72, #12153F); }
body.org .fl-dots { display: grid; grid-template-columns: repeat(3, 14px); gap: 12px; }
body.org .fl-dots i { width: 14px; height: 14px; border-radius: 50%; background: var(--o-lav); opacity: .6; }
body.org .fl-back { transform: rotateY(180deg); background: linear-gradient(150deg, rgba(118, 225, 207, .22), rgba(139, 92, 246, .3)), #141846; }
body.org .fl-back b { font: 900 1.6rem 'Nunito', system-ui, sans-serif; color: #fff; }

/* 12 - the register block (its markup is unchanged, so its mks-* and ev-* class names stay) */
body.org #register { position: relative; padding: clamp(64px, 9vw, 130px) 0; font-family: 'Source Sans 3', system-ui, sans-serif; color: #1B1530; background: radial-gradient(42% 30% at 50% 26%, rgba(255, 198, 26, .09), transparent 100%), radial-gradient(48% 40% at 50% 62%, rgba(139, 92, 246, .22), transparent 100%); }
body.org #register .mks-wrap { width: var(--o-wrap); max-width: 1100px; margin: 0 auto; }
body.org #register .mks-head { text-align: center; margin-bottom: 28px; }
body.org #register .mks-h2 { margin: 0 0 10px; font: 900 clamp(1.85rem, 1.15rem + 2.6vw, 3.2rem)/1.08 'Nunito', system-ui, sans-serif; letter-spacing: -.018em; color: #fff; }
body.org #register .mks-lede { margin: 0 auto; max-width: 36em; font-size: 1.1rem; color: var(--o-soft); }
body.org #register .mks-card { display: grid; background: linear-gradient(180deg, #FFFFFF, #F6F2FF); border: 0; box-shadow: 0 0 0 1px rgba(255, 255, 255, .6), 0 40px 90px -40px rgba(0, 0, 0, .9), 0 0 90px -30px rgba(139, 92, 246, .8); }
body.org #register .mks-h3 { margin: 0; font: 900 1.35rem/1.25 'Nunito', system-ui, sans-serif; color: #12266F; }
body.org #register .mks-p { margin: 0; font-size: 1.06rem; color: #1B1530; }
body.org #register .mks-small { margin: 0; font-size: .94rem; color: #4B4468; }
body.org #register .mks-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
body.org #register .mks-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 0; font: 800 1.04rem 'Nunito', system-ui, sans-serif; text-decoration: none; cursor: pointer; transition: transform .45s var(--o-spring), box-shadow .3s; }
body.org #register .mks-btn-main { color: #1A1204; background: linear-gradient(180deg, #FFDF62 0%, #FFC61A 45%, #FFA916 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -3px 0 rgba(150, 80, 0, .28), 0 14px 30px -12px rgba(255, 150, 20, .8); }
body.org #register .mks-btn-quiet { color: #fff; background: linear-gradient(180deg, #8B5CF6, #6D28D9); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 14px 30px -14px rgba(109, 40, 217, .9); }
body.org #register .mks-btn:hover { transform: translateY(-3px); }
body.org #register .mks-btn:active { transform: scale(.97); }
body.org #register .mks-btn:focus-visible, body.org #register .ev-state a:focus-visible { outline: 3px solid #7139D3; outline-offset: 3px; }
body.org #register a:not(.mks-btn) { color: #4A1F9C; }
body.org #register .mks-btn-main:disabled { opacity: .7; cursor: default; transform: none; }
body.org .ev-reg { max-width: 760px; width: 100%; margin: 0 auto; padding: clamp(22px, 3.4vw, 40px); gap: 18px; border-radius: 30px; }
body.org .ev-reg [hidden] { display: none !important; }
body.org .ev-reg a:not(.mks-btn) { display: inline-flex; align-items: center; min-height: 44px; font-size: 1.06rem; }
body.org .ev-form { display: grid; gap: 16px; }
body.org .ev-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
body.org .ev-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 8px; }
body.org .ev-lab, body.org .ev-fieldset legend { font: 800 1rem 'Nunito', system-ui, sans-serif; color: #12266F; padding: 0; }
body.org .ev-in { display: grid; gap: 6px; min-width: 0; }
body.org .ev-input { width: 100%; min-height: 50px; padding: 10px 14px; border-radius: 14px; border: 2px solid #D8CFF0; background: #fff; font: inherit; font-size: 1.04rem; color: #1B1530; transition: border-color .2s, box-shadow .2s; }
body.org textarea.ev-input { min-height: 96px; resize: vertical; }
body.org .ev-input:focus-visible { outline: none; border-color: #7139D3; box-shadow: 0 0 0 4px rgba(139, 92, 246, .2); }
body.org .ev-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 10px; }
body.org .ev-choice { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; border-radius: 14px; border: 2px solid #D8CFF0; background: #fff; cursor: pointer; font-weight: 700; color: #12266F; transition: border-color .2s, background .2s; }
body.org .ev-choice input { width: 20px; height: 20px; margin: 0; accent-color: #7139D3; flex: none; }
body.org .ev-choice:has(input:checked) { border-color: #7139D3; background: #F1ECF9; }
body.org .ev-choice:has(input:focus-visible) { outline: 3px solid #B9A0FF; outline-offset: 2px; }
body.org .ev-help { font-size: .9rem; color: #4B4468; }
body.org .ev-err { min-height: 1.4em; font-weight: 700; color: #B42318; margin: 0; }
body.org .ev-note { padding: 14px 16px; border-radius: 14px; background: #F1ECF9; color: #12266F; margin: 0; }
body.org .ev-state { display: grid; gap: 14px; }
body.org .ev-send { display: grid; gap: 8px; }

/* 13 - the honesty block */
body.org .org-honest { max-width: 860px; margin: 0 auto; padding: clamp(26px, 4vw, 48px); text-align: center; }
body.org .org-honest h2 { margin: 0 0 14px; font: 900 clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem)/1.15 'Nunito', system-ui, sans-serif; color: #fff; }
body.org .org-honest p { margin: 0 auto 18px; max-width: 40em; font-size: 1.08rem; color: var(--o-soft); }
body.org .org-honest p:last-child { margin-bottom: 0; }

/* 14 - the end band */
body.org .org-end { position: relative; isolation: isolate; overflow: clip; padding: clamp(80px, 11vw, 170px) 0; text-align: center; }
body.org .org-end-bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at 50% 100%, rgba(255, 176, 32, .26), transparent 70%), radial-gradient(70% 80% at 50% 0%, rgba(139, 92, 246, .35), transparent 70%), linear-gradient(180deg, #120E44, #1A0F55); }
body.org .org-end-bg::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 224, 138, .5), transparent); }
body.org .org-end .org-h2 { max-width: 16em; margin-left: auto; margin-right: auto; font-size: clamp(2rem, 1.2rem + 3vw, 3.7rem); }
body.org .org-end-body { margin: 0 auto 28px; max-width: 34em; font-size: 1.16rem; color: var(--o-soft); }
body.org .org-end-under { margin: 24px 0 0; color: var(--o-mute); }

/* ---------- footer (the name lives here, beside the mark) ---------- */
body.org .foot { padding: 44px 0 110px; border-top: 1px solid rgba(255, 255, 255, .07); background: #05071A; color: var(--o-mute); }
body.org .foot .m { display: grid; justify-items: center; gap: 14px; text-align: center; }
body.org .foot img { width: 44px; height: 44px; }
body.org .mks-foot-contact { margin: 0; }
/* MG-BUG-030: Privacy, Terms and the contact address were 22 px tall here (measured 165 x 22 for the address),
   while the home and parents footers already stand them in a 44 px box. Same line as mk-home.css's own. */
body.org .mks-foot-contact a { display: inline-flex; align-items: center; min-height: 44px; }
body.org .mks-foot-contact b { color: #fff; }
body.org .foot a { color: var(--o-soft); }
/* MG-BUG-030: 44px link boxes that sat 6px apart across and 4px down. 8px both ways, as the campaign asked. */
body.org .foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body.org .foot-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; text-decoration: none; }
body.org .foot-links a:hover { color: #fff; }
@media (min-width: 761px) { body.org .foot { padding-bottom: 48px; } }

/* ---------- the phone bar (mk-sticky.js shows it; phones only) ---------- */
body.org .mks-sticky-cta { display: none; position: fixed; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); z-index: 60; }
@media (max-width: 760px) { body.org .mks-sticky-cta.is-on { display: block; } }
/* The page keeps a lane clear beneath the pill, so the bar never sits over the last words
   on the page: the 54px button plus the 12px it is lifted off the bottom edge (MG-BUG-029).
   mk-site.css pairs the same padding with its own bar; this sheet is standalone and the
   clause was missing here, which is why /for-events computed a 0px bottom padding. */
@media (max-width: 760px) { body.org:has(.mks-sticky-cta) { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); } }
/* A phone on its side: the header plus a floating bar ate 41% of a 320px-tall screen, so the
   bar goes and the lane with it. KEEP THIS AFTER the .is-on rule above - it carries the same
   specificity, so the later rule wins and the same guard written before it does nothing. */
@media (max-height: 480px) and (orientation: landscape) {
  body.org .mks-sticky-cta, body.org .mks-sticky-cta.is-on { display: none; }
  body.org:has(.mks-sticky-cta) { padding-bottom: 0; }
}
body.org .mks-sticky-cta .btn { display: flex; align-items: center; justify-content: center; min-height: 54px; border-radius: 999px; color: #1A1204; text-decoration: none; font: 800 1.04rem 'Nunito', system-ui, sans-serif; background: linear-gradient(180deg, #FFDF62 0%, #FFC61A 45%, #FFA916 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 18px 40px -10px rgba(0, 0, 0, .8), 0 0 40px -10px rgba(255, 198, 26, .7); }

/* ---------- scroll reveals (once; only with html.org-motion) ---------- */
html.org-motion body.org [data-rv] { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--o-ease), transform 1s var(--o-ease); transition-delay: calc(var(--i, 0) * 90ms); }
html.org-motion body.org [data-rv].in { opacity: 1; transform: none; }
html.org-motion body.org [data-rv].in.rv-done { transition: transform .5s var(--o-spring), box-shadow .35s ease, background .35s ease, opacity .3s; transition-delay: 0s; }
html.org-motion body.org .org-card[data-rv].in.rv-done:hover { transform: translateY(-5px); }
html.org-motion body.org .org-where[data-rv].in.rv-done:hover, html.org-motion body.org .org-honest[data-rv].in.rv-done:hover { transform: none; }

/* ---------- phones and small tablets (below 900 px; Raj 14 Oct: picture first, then the words, room to breathe) ----------
   The reel card comes first, full width, its poster scaled (never cropped) to keep the headline on the first screen.
   Then eyebrow, headline, problem, purpose; then the buttons together, then the two helper lines, each short and quiet.
   Desktop (900 px and wider) is untouched. */
@media (max-width: 899px) {
  body.org { --o-wrap: calc(100% - 32px); }
  body.org .org-hero { padding-block: 20px 24px; }
  body.org .org-hero-grid { gap: 16px; }
  body.org .org-reel { order: -1; }
  body.org .org-reel-card { padding: 8px; border-radius: 24px; }
  body.org .rl-svg { max-height: 40svh; }
  body.org .org-reel-cap { margin: 6px 4px 2px; font-size: .9rem; }
  body.org .org-reel-foot { min-height: 40px; margin-top: 6px; padding: 0 4px; font-size: .8rem; }
  body.org .org-eyebrow { margin-bottom: 10px; }
  body.org .org-h1 { font-size: clamp(2rem, 1.25rem + 3.6vw, 2.9rem); line-height: 1.04; }
  body.org .org-problem { margin-top: 12px; font-size: 1.02rem; line-height: 1.5; }
  body.org .org-purpose { margin-top: 12px; font-size: 1.12rem; }
  body.org .org-actions { gap: 12px; margin-top: 16px; }
  body.org .org-act { display: contents; }
  body.org .org-act .org-act-row { order: 1; gap: 4px 16px; }
  body.org .org-act .org-btn-line { order: 2; }
  body.org .org-act:first-child .org-note { order: 3; }
  body.org .org-act:last-child .org-note { order: 4; }
  body.org .org-note { margin: 0; font-size: .82rem; line-height: 1.35; }
  body.org .org-actions .org-note + .org-note, body.org .org-act:last-child .org-note { margin-top: -6px; }
  body.org .org-hero-base { margin-top: 28px; }
}
@media (max-width: 899px) and (min-width: 521px) { body.org .org-actions { justify-items: start; } }
@media (max-width: 520px) { body.org .org-act .org-act-row { justify-content: center; } }
