/* ═══════════════════════════════════════════════════════════════════════
   robocity.info в виде витрин портала (my.robocity.info: афиша, кейсы,
   витрина проектов). Подключается ПОСЛЕ встроенного <style> страницы и
   переопределяет его: токены палитры, шапку, кнопки, карточки и подвал.
   Разметка страниц не меняется — правится только этот файл.

   Палитра и формы — из static/portal.css, static/admin.css (.ak-btn) и
   static/showcase-kit.css портала. Значки — набор РОБОСИТИ rc-icons.svg,
   вшитые сюда data-адресами (у сайта нет своего спрайта).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Токены: старые имена, новая палитра ── */
:root{
  --ember-coral:#FF7538;--ember-coral-700:#E06020;--ember-coral-900:#B84D18;
  --ember-peach:#FFD6BF;--ember-peach-50:#FFF2EC;--ember-peach-100:#FFE2CC;
  --ember-gradient:linear-gradient(135deg,#FF9A6B 0%,#E06020 100%);
  --ember-gradient-soft:linear-gradient(135deg,#FFE9DC 0%,#FFF2EC 100%);
  --ink-1000:#212121;--ink-900:#2a2a2a;--ink-700:#4b5260;--ink-500:#6b7280;
  --ink-300:#c9ced6;--ink-200:#e5e8ec;--ink-100:#eef0f3;--ink-50:#f8f9fa;
  --paper:#fff;
  --font-d:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --font-s:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --font-m:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --shadow-sm:0 1.5px 7px rgba(0,0,0,.06);
  --shadow-md:0 8px 24px rgba(0,0,0,.10);
  --shadow-lg:0 12px 30px rgba(0,0,0,.12);
  --rc-accent:#F26C3F;          /* акцент в крупных заголовках */
  --rc-card:0 1.5px 7px rgba(0,0,0,.06);
  --rc-card-hover:0 8px 24px rgba(0,0,0,.10);
  --rc-gap:24px;                /* поля страницы, как у .org-page портала */
}
html,body{background:#f8f9fa;color:#212121;font-family:var(--font-s)}
.wrap{width:calc(100% - 2 * var(--rc-gap));max-width:1192px;padding:0}

/* значки РОБОСИТИ в разметке (компонент Rci в assets/app.jsx) */
.rci{width:1.15em;height:1.15em;flex:0 0 auto;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.rci .rci-f{fill:var(--rci-fill,#FFD6BF);stroke:none}

/* ── 2. Шапка — оранжевая полоса rcnav ── */
.topbar{background:#F47C5A;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none;font-family:'Golos Text','Montserrat',system-ui,sans-serif}
.topbar .wrap{width:auto;max-width:none;padding:0 14px 0 26px}
.topbar-inner{min-height:70px;padding:0;gap:14px}
.topbar .brand svg{height:20px}
.topbar .brand .b-first,.topbar .brand .b-accent{fill:#fff}
.topbar .nav{gap:2px;min-width:0}
.topbar .nav a{font-family:inherit;color:#fff;font-size:15.5px;font-weight:600;padding:9px 15px;border-radius:999px;white-space:nowrap;transition:background .14s}
.topbar .nav a:hover{background:rgba(255,255,255,.16);color:#fff}
.topbar .nav a[aria-current="page"]{background:#fff;color:#F26C3F;font-weight:700}
.topbar .nav .btn,.topbar .nav .btn-primary{margin-left:10px;min-height:0;padding:11px 20px;background:#fff;border:0;color:#F26C3F;font-size:15.5px;font-weight:700}
.topbar .nav .btn:hover{background:rgba(255,255,255,.9);color:#F26C3F}
/* кнопка «Меню» (её добавляет assets/site-overlays.js) — только на узком экране */
.rc-nav-toggle{display:none;align-items:center;gap:8px;margin-left:auto;padding:9px 14px;border:0;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font:600 15px/1 'Golos Text','Montserrat',system-ui,sans-serif;cursor:pointer}
.rc-nav-toggle:hover{background:rgba(255,255,255,.26)}
.topbar.rc-nav-compact .nav a:not(.btn){display:none}
.topbar.rc-nav-compact .rc-nav-toggle{display:inline-flex}
.rc-nav-toggle svg{width:18px;height:18px}
.rc-nav-menu{position:fixed;z-index:60;right:12px;width:260px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #EFE6D9;border-radius:16px;padding:7px;box-shadow:0 22px 50px -18px rgba(60,40,20,.45);font-family:'Golos Text','Montserrat',system-ui,sans-serif}
.rc-nav-menu[hidden]{display:none}
.rc-nav-menu a{display:block;padding:11px 12px;border-radius:11px;color:#19181A;font-size:15px;font-weight:600;text-decoration:none}
.rc-nav-menu a:hover{background:#FCEEE4;color:#F26C3F}

/* ── 3. Кнопки — .ak-btn портала ── */
.btn{min-height:44px;padding:0 18px;justify-content:center;border-radius:30px;font-family:var(--font-s);font-size:14px;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s,color .12s}
.btn-primary,.btn-coral,.page-hero .btn-register{background:#E06020;border-color:#E06020;color:#fff;font-weight:700}
.btn-primary:hover,.btn-coral:hover,.page-hero .btn-register:hover{background:#B84D18;border-color:#B84D18;color:#fff;transform:none}
.btn-ghost{background:#fff;border-color:#dfe3e8;color:#212121}
.btn-ghost:hover{background:#fff;border-color:#FF7538;color:#B84D18}
.btn-lg{min-height:52px;padding:0 26px;font-size:16px;font-weight:700}
.btn-cta-pill{min-height:40px;padding:0 16px;border:1px solid #dfe3e8;background:#fff;color:#B84D18;font-family:inherit;font-size:13px;font-weight:700}
.btn-cta-pill:hover{border-color:#FF7538;background:#FFF2EC;color:#B84D18}

/* ── 4. Надзаголовок — плашка .sx-kicker со значком ── */
.eyebrow{align-self:flex-start;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:#FFF2EC;color:#B84D18;font-family:var(--font-s);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.3}
.eyebrow::before,.jury .eyebrow::before,.register .eyebrow::before{content:"";flex:0 0 18px;width:18px;height:18px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B84D18%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22 style=%22fill:%23fff;stroke:none%22/%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22/%3E%3Cpath d=%22M12 4.5V8%22/%3E%3Ccircle cx=%2212%22 cy=%223.5%22 r=%221.2%22/%3E%3Ccircle cx=%229%22 cy=%2213%22 r=%221.3%22/%3E%3Ccircle cx=%2215%22 cy=%2213%22 r=%221.3%22/%3E%3Cpath d=%22M9.5 16.8h5M2 12.5v3M22 12.5v3%22/%3E%3C/svg%3E") center/18px no-repeat}
.jury .eyebrow,.register .eyebrow{color:#B84D18}

/* ── 5. Разделы: серый фон, без цветных полос ── */
section{padding:44px 0}
.about,.news,.venue,.register,.jury,.events,.cta-section,.section--alt{background:transparent}
.jury::before{display:none}
.section-head{margin-bottom:24px;gap:16px 40px}
.section-head .lhs{display:flex;flex-direction:column;align-items:flex-start;max-width:820px}
.section-head h2{margin:14px 0 0;font-size:34px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:#212121}
.section-head h2 em,.page-hero h1 em,.register h2 em{font-weight:700;color:var(--rc-accent)}
.section-head .rhs{padding-bottom:4px;font-size:15px;line-height:1.5;color:#6b7280}
.divider{display:none}
.pix-grid,.pg-deco,.pg-tr-light{display:none!important}

/* ── 6. Герой главной — белая карточка .sx-hero ── */
.hero{padding:24px 0 8px;overflow:visible}
.hero > .wrap,.page-hero > .wrap,.register > .wrap{position:relative;isolation:isolate;overflow:hidden;padding:32px;border-radius:20px;background:#fff;box-shadow:var(--rc-card)}
.hero > .wrap::before,.page-hero > .wrap::before,.register > .wrap::before{content:"";position:absolute;z-index:-1;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,117,56,.20),rgba(255,117,56,.07) 55%,rgba(255,117,56,0));pointer-events:none}
.hero > .wrap::after,.page-hero > .wrap::after,.register > .wrap::after{content:"";position:absolute;z-index:-1;inset:0 0 0 auto;width:55%;background-image:radial-gradient(rgba(224,96,32,.20) 1.2px,transparent 1.4px);background-size:16px 16px;-webkit-mask-image:linear-gradient(to left,#000 10%,transparent 90%);mask-image:linear-gradient(to left,#000 10%,transparent 90%);pointer-events:none}
.hero-grid{grid-template-columns:minmax(0,1fr) 400px;gap:28px 40px;align-items:center}
.hero-eyebrow{margin-bottom:18px}
.hero h1{margin:0 0 18px;font-size:64px}
.hero h1 .hero-logo{margin:0}
.hero h1 .hero-logo .b-first{fill:#212121}
.hero h1 .hero-logo .b-accent{fill:#FF7538}
.hero-lede{margin:0 0 18px;font-size:18px;line-height:1.5;color:#4b5260}
.hero-finale{margin-bottom:22px;padding:7px 14px 7px 12px;background:#FFF2EC;color:#B84D18;font-size:13px;font-weight:700}
.hero-finale-dot{background:#E06020;box-shadow:0 0 0 4px rgba(224,96,32,.18)}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 4px rgba(224,96,32,.18)}50%{box-shadow:0 0 0 7px rgba(224,96,32,.06)}}
.hero-actions{gap:10px}
.hero-pill-row{margin-top:22px!important;gap:8px}
.pill{padding:6px 12px;border:1px solid #eef0f3;background:#f8f9fa;color:#4b5260;font-family:var(--font-s);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.pill .dot{background:#FF7538}
.register .pill{background:#f8f9fa;border-color:#eef0f3;color:#4b5260}
.trust-row{margin-top:18px;gap:10px}
.trust-badge{border-color:#eef0f3;border-radius:14px;box-shadow:none}
.trust-badge:hover{border-color:#FF7538;box-shadow:var(--rc-card-hover)}
.trust-badge .tb-eyebrow,.trust-badge .tb-meta{font-size:10.5px;font-weight:600;letter-spacing:.04em;color:#8a9099}
.trust-badge .tb-name{color:#212121}
/* «Когда» и «Где» — плитки .sx-stat со значком */
.hero-side{gap:12px;padding-bottom:0}
.hero-card{padding:20px 72px 20px 22px;border:1px solid #eef0f3;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 1px 3px rgba(0,0,0,.03)}
.hero-card::after{top:20px;right:20px;width:42px;height:42px;border-radius:12px;background:#FFF2EC url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23E06020%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-6.5-5.8-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 15.2 12 21 12 21z%22 style=%22fill:%23FFD6BF;stroke:none%22/%3E%3Cpath d=%22M12 21s-6.5-5.8-6.5-11.2a6.5 6.5 0 0 1 13 0C18.5 15.2 12 21 12 21z%22/%3E%3Ccircle cx=%2212%22 cy=%229.8%22 r=%222.4%22/%3E%3C/svg%3E") center/24px no-repeat}
.hero-card.hero-card--when::after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23E06020%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%225.5%22 rx=%222%22 style=%22fill:%23FFD6BF;stroke:none%22/%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2216%22 rx=%222.5%22/%3E%3Cpath d=%22M3 10.5h18M8 3v4M16 3v4%22/%3E%3Cpath d=%22M7.5 14.5h2M14.5 14.5h2M7.5 17.5h2%22/%3E%3C/svg%3E")}
.hero-card .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;color:#8a9099}
.hero-card .big,.hero-card.hero-card--when .big{margin-top:6px;font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#212121}
.hero-card .small{margin-top:6px;font-size:13px;color:#6b7280}

/* ── 7. Шапка страниц (кубок, олимпиада, документы…) — та же карточка ── */
.page-hero{padding:24px 0 8px;border-bottom:0;background:transparent}
.page-hero h1{margin:14px 0 12px;font-size:34px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:#212121}
.page-hero .lede{font-size:16px;line-height:1.55;color:#4b5260}
.page-hero .meta-row{margin-top:18px;gap:8px}
.page-hero .meta-chip,.page-hero .deadline-chip{padding:6px 12px;border:1px solid #eef0f3;background:#f8f9fa;color:#4b5260;font-family:var(--font-s);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.page-hero .meta-chip.accent,.page-hero .deadline-chip{background:#FFF2EC;border-color:#FFE2CC;color:#B84D18}
.page-hero .actions,.page-hero .hero-actions{margin-top:22px;gap:10px}

/* ── 8. Карточки — белые, мягкая тень, подъём при наведении ── */
.event,.news-card,.juror,.partner,.fact-chip,.cta-card,.gantt-wrap,.map,.cat-card,.prog-card,.feat-card,.step,.online-card,.doc-row,.policy-meta-card,.coming-inner{border-color:transparent;box-shadow:var(--rc-card)}
.event,.news-card,.juror,.partner,.cat-card,.prog-card,.feat-card,.step,.online-card{border-radius:16px;background:#fff}
.event:hover,.news-card:hover,.juror:hover,.partner:hover,.fact-chip:hover,.cta-card:hover,.cat-card:hover,.prog-card:hover,.feat-card:hover,.online-card:hover,.doc-row:hover{border-color:transparent;box-shadow:var(--rc-card-hover);transform:translateY(-2px)}

/* обложка-заглушка вместо «пикселей» — .sx-art: градиент, кольцо, точки, значок */
.pix-bg{display:block!important;opacity:1!important;background:radial-gradient(circle at -8% 128%,transparent 0 37%,rgba(255,255,255,.38) 37.5% 45%,transparent 45.5%),linear-gradient(135deg,var(--a1,#FFE9DC),var(--a2,#FFC6A3))}
.pix-bg > span{display:none!important}
.pix-bg::before{content:"";position:absolute;right:6%;bottom:8%;width:40%;max-width:120px;aspect-ratio:1;background:var(--ai,#E06020);opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22 style=%22fill:rgba(0,0,0,.45);stroke:none%22/%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22/%3E%3Cpath d=%22M12 4.5V8%22/%3E%3Ccircle cx=%2212%22 cy=%223.5%22 r=%221.2%22/%3E%3Ccircle cx=%229%22 cy=%2213%22 r=%221.3%22/%3E%3Ccircle cx=%2215%22 cy=%2213%22 r=%221.3%22/%3E%3Cpath d=%22M9.5 16.8h5M2 12.5v3M22 12.5v3%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22 style=%22fill:rgba(0,0,0,.45);stroke:none%22/%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2212%22 rx=%223.5%22/%3E%3Cpath d=%22M12 4.5V8%22/%3E%3Ccircle cx=%2212%22 cy=%223.5%22 r=%221.2%22/%3E%3Ccircle cx=%229%22 cy=%2213%22 r=%221.3%22/%3E%3Ccircle cx=%2215%22 cy=%2213%22 r=%221.3%22/%3E%3Cpath d=%22M9.5 16.8h5M2 12.5v3M22 12.5v3%22/%3E%3C/svg%3E") center/contain no-repeat}
.pix-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.55) 1.2px,transparent 1.4px);background-size:14px 14px;-webkit-mask-image:linear-gradient(to bottom left,#000,transparent 70%);mask-image:linear-gradient(to bottom left,#000,transparent 70%)}
/* оттенки по порядку карточек, как у афиши портала */
:is(.events-grid,.cat-grid,.jury-grid,.online-grid,.feat-grid) > :nth-child(4n+2){--a1:#E6EFFF;--a2:#B9CEFF;--ai:#1f5fe0}
:is(.events-grid,.cat-grid,.jury-grid,.online-grid,.feat-grid) > :nth-child(4n+3){--a1:#E3F6EA;--a2:#AEE3C2;--ai:#1d8a4a}
:is(.events-grid,.cat-grid,.jury-grid,.online-grid,.feat-grid) > :nth-child(4n+4){--a1:#F1EAFE;--a2:#D2C2FA;--ai:#6a46c9}

/* мероприятия */
.event-cover{background:#FFF2EC}
.event-cover .date-chip{top:14px;left:14px;padding:7px 12px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.event-cover .date-chip .d{font-weight:700;color:#E06020}
.event-cover .date-chip .m{font-size:10px;font-weight:700;letter-spacing:.06em;color:#6b7280}
.event-cover .e-tag{left:14px;bottom:14px;padding:5px 10px;background:rgba(255,255,255,.95);color:#212121;font-family:var(--font-s);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:0 2px 8px rgba(0,0,0,.10);-webkit-backdrop-filter:none;backdrop-filter:none}
.event-body{padding:18px 18px 20px;gap:12px}
.event-title{font-size:17px;font-weight:700;letter-spacing:-.005em}
.event-meta{font-size:13px;color:#4b5260}
.event-meta .icn{display:inline-flex;color:#E06020;margin-top:0}
.event-meta .icn .rci{width:17px;height:17px;--rci-fill:#FFE2CC}
.event-actions{gap:8px}
.event-actions .btn{min-height:44px;padding:0 18px}

/* новости */
.news-card{padding:22px;gap:12px}
.news-meta .n-date{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:#8a9099}
.news-meta .n-tag{padding:3px 9px;border:0;background:#FFF2EC;color:#B84D18;font-size:11px;font-weight:700;letter-spacing:.04em}
.news-title{font-size:18px;font-weight:700;line-height:1.3;letter-spacing:-.005em}
.news-excerpt{font-size:14px;color:#4b5260}
.news-more{color:#E06020;font-weight:700}

/* оргкомитет и жюри: обложка-градиент с инициалами (.sx-art__mono) */
.jury-body-title{font-size:22px;letter-spacing:-.01em;text-align:left}
.juror .photo{background:linear-gradient(135deg,var(--a1,#FFE9DC),var(--a2,#FFC6A3))}
.juror .photo::before{content:"";position:absolute;left:-30%;bottom:-60%;width:90%;aspect-ratio:1;border-radius:50%;border:22px solid rgba(255,255,255,.35);pointer-events:none}
.juror .photo .ph-grid{background-image:radial-gradient(rgba(255,255,255,.55) 1.2px,transparent 1.4px);background-size:14px 14px;-webkit-mask-image:linear-gradient(to bottom left,#000,transparent 70%);mask-image:linear-gradient(to bottom left,#000,transparent 70%)}
.juror .photo .ini-big{position:relative;font-size:84px;font-weight:800;color:#fff;opacity:.85;letter-spacing:-.04em}
.juror .photo .ph-tag{left:12px;right:auto;bottom:12px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.95);color:#212121;font-family:var(--font-s);font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.juror .body{padding:18px 20px 20px;gap:6px}
.juror .name{font-size:19px;letter-spacing:-.01em}
.juror .org{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:#6b7280}
.juror-body-chip{font-family:var(--font-s);font-size:10.5px;font-weight:700;letter-spacing:.02em;text-transform:none;background:#f8f9fa;border-color:#eef0f3}
.juror-body-chip--current{background:#FFF2EC;border-color:#FFE2CC;color:#B84D18}
.juror .bio{font-size:13.5px;color:#4b5260}

/* партнёры */
.partners-grid{gap:12px}
.partner{padding:18px 18px 14px}
.partner .p-tier{font-size:11px;font-weight:700;letter-spacing:.06em;color:#8a9099}
.partner .p-name{font-size:15px;font-weight:700;letter-spacing:0}
.partner .p-ini{width:64px;height:64px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#FFF2EC;color:#E06020;font-size:22px;font-weight:800;letter-spacing:-.02em}

/* о фестивале: цифры — плитки */
.about-grid{gap:24px;align-items:stretch}
.about-grid > div:first-child{padding:24px 26px;border-radius:16px;background:#fff;box-shadow:var(--rc-card)}
.about p.lede{font-size:19px;line-height:1.5}
.about p.body{font-size:15.5px;color:#4b5260}
.stats{gap:12px;border-top:0}
.stat,.stat:nth-child(odd),.stat:nth-child(even){padding:20px 22px;border:0;border-radius:16px;background:#fff;box-shadow:var(--rc-card)}
.stat .num{font-size:44px;font-weight:800;color:#212121}
.stat .num .acc{color:#FF7538}
.stat .lbl{font-size:13px;font-weight:600;color:#6b7280}

/* программа дня */
.schedule .legend{font-family:var(--font-s);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:#4b5260}
.schedule .legend .sw.common{background:#eef0f3;border-color:#dfe3e8}
.gantt-wrap{border:0;border-radius:20px;background:#fff}
.vg-head,.vg-corner{background:#f8f9fa}
.vg-corner,.vg-hour,.gantt-foot{font-family:var(--font-s);letter-spacing:.04em;font-weight:600}
.vg-track.is-common{background-color:#fafbfc}
.vg-bar{border-radius:12px}
.vg-bar .b-time{font-family:var(--font-s);font-weight:700;letter-spacing:.02em}
.vg-bar.kind-track{background:#FFF2EC;border-color:#FFD6BF;color:#B84D18}
.vg-bar.kind-track.accent{background:#FF7538;border-color:#E06020;color:#fff}
.vg-bar.kind-common{background:#eef0f3;border-color:#dfe3e8;color:#212121}
.vg-track-head .tic{background:#FFF2EC;border-color:#FFE2CC;color:#E06020}
.gantt-foot{background:#f8f9fa;color:#8a9099}

/* площадка */
.venue-stack{gap:20px}
.venue-facts{gap:12px}
.fact-chip{border:0;border-radius:16px;padding:16px 18px}
.fact-dt{font-family:var(--font-s);font-size:11px;font-weight:700;letter-spacing:.06em;color:#8a9099}
.fact-dd{font-size:14px;font-weight:600}
.map{border:0;border-radius:20px}

/* регистрация — карточка-герой */
.register{padding:44px 0}
.register > .wrap{padding:40px}
.register-grid{gap:40px}
.register h2{margin:14px 0 14px;font-size:38px;font-weight:700;line-height:1.12;letter-spacing:-.01em}
.register .lede{margin-bottom:22px;font-size:16px;color:#4b5260}
.cta-stack{gap:12px}
.cta-card{padding:20px 22px;border:1px solid #eef0f3;border-radius:16px;box-shadow:none;background:#fff}
.cta-card.primary{background:#E06020;border-color:#E06020;color:#fff}
.cta-card.primary:hover{background:#B84D18;border-color:#B84D18}

/* страницы-разделы: оборудование, организаторам, программы, кубок, олимпиада */
.manifesto,.steps{padding:44px 0;border-bottom:0;background:transparent}
.cats-section{padding:28px 0 44px}
.manifesto::before{display:none}
.manifesto-inner{padding:32px;border-radius:20px;background:#fff;box-shadow:var(--rc-card)}
.section--alt{border:0}
.cat-empty,.coming-inner{border-color:transparent;background:#fff;box-shadow:var(--rc-card)}
.cat-cover{aspect-ratio:16/10;background:#FFF2EC}
.cat-tag{padding:5px 10px;background:rgba(255,255,255,.95);color:#212121;font-family:var(--font-s);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.prog-card__tag{letter-spacing:.04em;font-weight:700}
.step__num{background:#FFF2EC;color:#E06020}
.feat-icon{border-color:transparent}

/* тексты: документ, новость, политика — белый лист */
.policy-wrap,.doc-wrap,.article-wrap{width:calc(100% - 2 * var(--rc-gap));max-width:880px;margin:24px auto 44px;padding:40px 48px;border-radius:20px;background:#fff;box-shadow:var(--rc-card)}
.policy-meta-card,.doc-toc{border-color:#eef0f3;background:#f8f9fa;box-shadow:none}
.doc-toc h2{font-family:var(--font-s);font-weight:700;letter-spacing:.06em}
.doc-type,.article-tag{border:0;font-family:var(--font-s);font-weight:700;letter-spacing:.04em}
@media print{
  .policy-wrap,.doc-wrap,.article-wrap{width:auto;max-width:none;margin:0;padding:0;box-shadow:none;border-radius:0}
}

/* ── 9. Подвал — как .ozon-footer портала ── */
footer{padding:36px 0 22px;background:#f8f9fa;border-top:2px solid #FFF2EC}
.foot-grid{gap:28px 44px}
.foot-col h4{margin:0 0 10px;font-family:var(--font-s);font-size:15px;font-weight:600;letter-spacing:.2px;text-transform:none;color:#2a2a2a}
.foot-col ul{gap:6px}
.foot-col li a{font-size:15px;font-weight:500;color:#E06020}
.foot-col li a:hover{color:#B84D18;text-decoration:underline;text-underline-offset:2px}
footer .brand svg{height:24px}
footer .brand .b-first{fill:#212121}
footer .brand .b-accent{fill:#FF7538}
.foot-org{font-size:12px;color:#6b7280}
.foot-inn{font-family:var(--font-s);font-size:11px;color:#8a9099}
.meta-strip{font-family:var(--font-s);font-size:12px;letter-spacing:0;text-transform:none;border-top-color:#eef0f3}

/* ── 10. Окно «Хочу в команду / партнёром» ── */
.cm-backdrop{background:rgba(17,24,39,.45)}
.cm-modal{border-radius:16px}
.cm-header{padding:20px 24px;border-bottom-color:#e2efe2}
.cm-title{font-family:var(--font-s);color:#212121}
.cm-close{border-color:#dfe3e8}
.cm-close:hover{border-color:#FF7538;color:#B84D18}
.cm-body{padding:16px 24px 24px}
.cm-label span.req{color:#E06020}
.cm-input,.cm-textarea{font-family:var(--font-s);border-color:#dfe3e8}
.cm-input:focus,.cm-textarea:focus{border-color:#FF7538}
.cm-submit{background:#E06020;font-family:var(--font-s)}
.cm-submit:hover{background:#B84D18}
.cm-sent-icon{background:#3bc46c}

/* ── 11. Ширина экрана ── */
@media (max-width:1320px){
  .topbar .nav a{font-size:14px;padding:8px 10px}
  .topbar .nav .btn{padding:10px 16px;font-size:14px}
}
@media (max-width:1024px){
  .topbar .wrap{padding:0 12px}
  .topbar .nav a:not(.btn){display:none}
  .rc-nav-toggle{display:inline-flex}
  .hero-grid{grid-template-columns:1fr}
  .hero h1{font-size:52px}
  .hero-card{flex:1 1 240px}
  .hero-card .big,.hero-card.hero-card--when .big{font-size:22px}
  section,.register{padding:36px 0}
  .section-head h2{font-size:28px}
  .stat .num{font-size:38px}
}
@media (max-width:767px){
  :root{--rc-gap:16px}
  .wrap{width:calc(100% - 2 * var(--rc-gap))}
  .topbar-inner{min-height:62px}
  .topbar .wrap{padding:0 12px 0 16px}
  .topbar .brand svg{height:18px}
  .topbar .nav .btn{margin-left:6px;padding:9px 14px;font-size:13.5px}
  .hero > .wrap,.page-hero > .wrap,.register > .wrap{padding:20px 16px;border-radius:16px}
  .hero > .wrap::after,.page-hero > .wrap::after,.register > .wrap::after{width:100%}
  .hero-card{flex:0 0 auto}
  .policy-wrap,.doc-wrap,.article-wrap{margin:16px auto 28px;padding:24px 18px;border-radius:16px}
  .manifesto-inner{padding:20px 16px;border-radius:16px}
  .hero,.page-hero{padding-top:16px}
  .hero h1{font-size:40px}
  .hero-lede{font-size:16px}
  .page-hero h1{font-size:26px}
  .page-hero .lede{font-size:15px}
  section,.register{padding:28px 0}
  .section-head{margin-bottom:18px}
  .section-head h2{margin-top:12px;font-size:24px}
  .register h2{font-size:26px}
  .stats{grid-template-columns:1fr 1fr}
  .stat,.stat:nth-child(odd),.stat:nth-child(even){padding:14px 16px}
  .stat .num{font-size:30px}
  .eyebrow{font-size:11px}
}
@media (max-width:420px){
  .topbar .nav .btn .arrow{display:none}
  .rc-nav-toggle span{display:none}
}
