/* Россия твоими глазами — классы страниц. Общий вид — assets/rc-site.css (копия robocity.info).
 * Блоки .hm-, .rg-, .nw-, .dc- — те же, что на robocity.info (main/index.html, regions.html,
 * news.php, doc.php): сайт олимпиады устроен по тому же шаблону. Своё — .r3-* в конце. */

/* ===== Главная (как .hm-* в main/index.html) ===== */
/* Главная РОБОСИТИ. Общий вид — assets/rc-site.css, здесь только классы главной (.hm-). */
.rc-body a.hm-plain,.rc-body a.hm-plain:hover{color:var(--rc-ink)}

/* первый экран */
.hm-top{padding-top:32px}
.hm-hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px;min-height:640px;padding:clamp(28px,4.5vw,64px)}
.hm-hero__text{flex:1 1 430px;min-width:0;position:relative;z-index:2}
.hm-h1{margin-top:28px;font-size:clamp(44px,5.6vw,80px)}
.hm-lead{margin-top:26px;max-width:540px}
.hm-cta{margin-top:36px}
.hm-art{flex:1 1 420px;min-width:0;position:relative;height:540px}
.hm-art__circle{position:absolute;left:50%;top:52%;width:min(470px,94%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:var(--rc-bg);animation-delay:.15s;animation-duration:.9s}
.hm-art__robot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation-delay:.3s;animation-duration:1s}
.hm-art__move{width:100%;display:flex;justify-content:center;transition:transform .8s var(--rc-ease)}
.hm-art__img{width:114%;max-width:640px;height:auto;display:block;filter:drop-shadow(0 34px 34px rgba(22,40,90,.2));animation-duration:7s}
.hm-chip{position:absolute;z-index:3}
.hm-chip--a{left:0;top:4%;animation-delay:.8s}
.hm-chip--b{right:0;bottom:6%;animation-delay:1s}
.hm-chip__move{transition:transform .6s var(--rc-ease)}
.hm-card-float{display:flex;align-items:center;gap:14px;padding:12px 22px 12px 12px;border-radius:9px;background:var(--rc-white);box-shadow:0 24px 50px -22px rgba(22,40,90,.45)}
.hm-card-float--col{flex-direction:column;align-items:flex-start;gap:2px;padding:18px 24px}
.hm-date{flex:0 0 56px;height:60px;border:2px solid var(--rc-coral);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hm-date b{font-size:23px;font-weight:800;color:var(--rc-coral-ink)}
.hm-date b.hm-date__m{font-size:16px;letter-spacing:.02em}
.hm-date small{margin-top:4px;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--rc-muted)}
.hm-t17{font-size:17px;font-weight:700;white-space:nowrap}
.hm-t15{font-size:15px;font-weight:500;color:var(--rc-muted);white-space:nowrap}
.hm-big{font-size:34px;line-height:1;font-weight:800;letter-spacing:-.03em}

/* цифры */
.hm-stats{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hm-stat{display:flex;flex-direction:column;gap:28px;padding:36px}
.hm-num{font-size:64px;line-height:1;font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-stat__lbl{margin-top:12px;font-size:18px;line-height:1.4;font-weight:500;color:var(--rc-muted)}
.hm-trust{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px}
.rc-body a.hm-trust__item{flex:1 1 360px;min-width:0;display:flex;align-items:center;gap:16px;padding:14px 22px 14px 14px;border-radius:10px;background:var(--rc-white);border:1px solid var(--rc-line);color:var(--rc-ink);transition:border-color .2s,translate .25s}
.rc-body a.hm-trust__item:hover{border-color:var(--rc-coral);translate:0 -2px}
.hm-trust__crest{flex:0 0 52px;width:52px;height:52px;object-fit:contain}
.hm-trust__name{display:block;font-size:16px;line-height:1.3;font-weight:700}
.hm-trust__meta{display:block;margin-top:2px;font-size:14px;line-height:1.4;color:var(--rc-muted)}

/* партнёры */
.hm-count{min-width:48px;height:48px;padding:0 14px;border-radius:8px;background:var(--rc-white);border:1px solid var(--rc-line);display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:800}
.hm-pgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:56px 32px}
.hm-pgrid+.hm-pgrid{margin-top:56px}
.hm-pgrid>li{min-width:0}
.rc-body a.hm-partner,.hm-partner{height:100%;display:flex;flex-direction:column;gap:18px;padding:0 8px;color:var(--rc-ink)}
.hm-plogo{height:104px;display:flex;align-items:center;justify-content:center}
.hm-plogo img{display:block;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.hm-pword{font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.02em;text-align:center;color:var(--rc-ink)}
.hm-pcap{margin-top:auto;text-align:center}
.hm-pname{font-size:16px;line-height:1.3;font-weight:700}
.hm-pcap .rc-pill{margin-top:12px}
.hm-more{margin-top:48px}

/* как это было */
.hm-video{position:relative;display:block;width:100%;height:620px;margin:0 0 16px;padding:0;border:0;border-radius:17px;overflow:hidden;background:var(--rc-ink);cursor:pointer;text-align:left}
.hm-video>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--rc-ease)}
.hm-video:hover>img{transform:scale(1.04)}
.hm-play{position:absolute;left:50%;top:50%;width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:50%;background:var(--rc-coral);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 60px -16px rgba(33,60,112,.55);transition:transform .35s var(--rc-ease)}
.hm-video:hover .hm-play{transform:scale(1.1)}
.hm-play>span{position:absolute;inset:0;border-radius:50%;background:var(--rc-coral)}
.hm-play svg{position:relative;width:46px;height:46px;margin-left:6px}
.hm-video__cap{position:absolute;left:28px;bottom:28px;display:flex;flex-direction:column;gap:4px;padding:18px 24px;border-radius:10px;background:var(--rc-white);color:var(--rc-ink)}
.hm-video__cap b{font-size:22px;line-height:1.2;font-weight:800}
.hm-vbox{position:fixed;inset:0;z-index:95;background:rgba(25,24,26,.9);display:flex;align-items:center;justify-content:center;padding:16px}
.hm-vbox__in{width:100%;max-width:1100px}
.hm-vbox__close{display:flex;justify-content:flex-end;margin-bottom:12px}
.hm-vbox__close button{height:46px;padding:0 20px;border-radius:8px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#FFFFFF;font-size:16px;font-weight:600;cursor:pointer}
.hm-vbox__frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.hm-vbox__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hm-gal{flex:0 0 auto;display:flex;gap:16px;margin:0;padding:0 16px 0 0;list-style:none}
.hm-gal li{flex:0 0 auto;width:460px;height:320px;border-radius:13px;overflow:hidden;background:var(--rc-sand)}
.hm-gal img{display:block;width:100%;height:100%;object-fit:cover}
.hm-gal-track{animation-duration:80s}

/* категории */
.hm-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-body a.hm-cat{display:flex;flex-direction:column;overflow:hidden;color:var(--rc-ink)}
.hm-cat__img{display:block;aspect-ratio:4/3;overflow:hidden}
.hm-cat__img img{width:100%;height:100%;object-fit:cover;display:block}
.hm-cat__body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:8px}
.hm-cat__t{font-size:23px;line-height:1.25;font-weight:700}
.hm-cat__s{font-size:17px;line-height:1.45;color:var(--rc-muted)}
.hm-mqs{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.hm-mq-ul{flex:0 0 auto;display:flex;gap:12px;margin:0;padding:0 12px 0 0;list-style:none;font-size:19px;font-weight:700;white-space:nowrap}
.hm-mq-ul li{display:flex;align-items:center;height:60px;padding:0 26px;border-radius:8px;background:var(--rc-white);border:1px solid var(--rc-line)}

/* как попасть на финал */
.hm-steps{display:flex;flex-wrap:wrap;gap:16px}
.hm-steps__photo{flex:1 1 460px;min-width:0;min-height:560px;position:relative;border-radius:13px;overflow:hidden;background:var(--rc-white)}
.hm-steps__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.hm-steps__list{flex:1 1 520px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.hm-step{flex:1 1 auto;display:flex;align-items:center;gap:28px;padding:32px 36px}
.hm-step__n{flex:0 0 64px;font-size:88px;line-height:.85;font-weight:800;letter-spacing:-.05em;color:var(--rc-coral)}
.hm-step h3{margin:0 0 8px;font-size:24px;line-height:1.25;font-weight:700}
.hm-step p{font-size:17px;line-height:1.55;color:var(--rc-muted)}
.hm-step .rc-link{margin-top:12px;font-size:17px}

/* мероприятия */
.hm-evs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-body a.hm-ev{height:100%;display:flex;flex-direction:column;gap:22px;padding:30px;color:var(--rc-ink);animation-duration:.45s}
.hm-ev__top{display:flex;align-items:center;gap:18px}
.hm-ev__date{flex:0 0 76px;height:80px;border:2px solid var(--rc-coral);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hm-ev__date b{font-size:32px;font-weight:800;color:var(--rc-coral-ink)}
.hm-ev__date small{margin-top:6px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--rc-muted)}
.hm-ev__where{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:600;color:var(--rc-muted)}
.hm-ev__where span:first-child{color:var(--rc-ink)}
.hm-ev__t{font-size:22px;line-height:1.3;font-weight:700}
.hm-ev__st{margin-top:auto;padding-top:18px;border-top:1px solid var(--rc-line);display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--rc-muted)}
.hm-ev__st--open{color:#1F7A3C}
@keyframes hmpulse{0%{box-shadow:0 0 0 0 rgba(46,158,84,.5)}100%{box-shadow:0 0 0 9px rgba(46,158,84,0)}}
.hm-ev__dot{width:9px;height:9px;border-radius:50%;background:#2E9E54;animation:hmpulse 1.6s ease-out infinite}
.rc-body a.hm-ev-all{height:100%;min-height:300px;display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:13px;background:var(--rc-coral-soft);color:var(--rc-ink)}
.hm-ev-all b{font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.02em}
.hm-ev-all span{font-size:17px;line-height:1.5;color:var(--rc-muted)}
.hm-ev-all i{margin-top:auto;width:56px;height:56px;border-radius:50%;background:var(--rc-coral);color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.hm-ev-all i .rc-arrow{width:24px;height:24px}
.hm-empty{grid-column:1/-1;padding:32px;border-radius:13px;background:var(--rc-white);border:1px solid var(--rc-line);font-size:18px;color:var(--rc-muted)}

/* платформа */
.hm-plat{display:flex;flex-wrap:wrap;align-items:stretch;gap:32px 48px;padding:24px 24px 24px 64px}
.hm-plat__text{flex:1 1 440px;min-width:0;padding:40px 0;display:flex;flex-direction:column;justify-content:center}
.hm-plat__text p{margin-top:18px;max-width:520px;font-size:19px;line-height:1.5}
.hm-plat__text p.hm-plat__who{font-size:16px;color:var(--rc-muted)}
.hm-plat__text .rc-btn{margin-top:30px;align-self:flex-start}
.hm-plat__photo{flex:1 1 420px;min-width:0;min-height:440px;position:relative;border-radius:12px;overflow:hidden;background:var(--rc-bg)}
.hm-plat__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}

/* новости */
.hm-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-body a.hm-new{display:flex;flex-direction:column;overflow:hidden;color:var(--rc-ink)}
.hm-new__img{height:240px;overflow:hidden;background:var(--rc-sand)}
.hm-new__img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hm-new__body{display:flex;flex-direction:column;gap:14px;padding:28px 28px 32px}
.hm-new__meta{display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:600;color:var(--rc-muted)}
.hm-new__meta span:first-child{color:var(--rc-coral-ink)}
.hm-new__t{font-size:24px;line-height:1.28;font-weight:700;transition:color .2s}
.rc-body a.hm-new:hover .hm-new__t{color:var(--rc-coral-ink)}
.hm-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hm-new__ex{font-size:17px;line-height:1.55;color:var(--rc-muted)}

/* оргкомитет */
.hm-jury{position:relative;height:560px;border-radius:17px;overflow:hidden;background:var(--rc-sand)}
.hm-jury img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hm-jury__cap{position:absolute;left:24px;bottom:24px;display:flex;flex-direction:column;gap:4px;padding:18px 24px;border-radius:10px;background:var(--rc-white);box-shadow:0 18px 40px -20px rgba(25,24,26,.35)}
.hm-jury__cap b{font-size:20px;font-weight:800}
.hm-jury__cap span{font-size:16px;color:var(--rc-muted)}
.hm-team{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hm-member{display:flex;flex-direction:column;gap:22px;padding:14px 14px 26px;border-radius:14px}
.hm-portrait{position:relative;height:320px;border-radius:11px;overflow:hidden;background:var(--rc-coral-soft);display:flex;align-items:center;justify-content:center;font-size:96px;font-weight:800;letter-spacing:-.04em;color:var(--rc-coral-ink)}
.hm-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-member__body{padding:0 12px;display:flex;flex-direction:column;gap:8px}
.hm-member__name{font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.hm-member__org{font-size:17px;line-height:1.45;color:var(--rc-muted)}
.hm-member__bio{font-size:16px;line-height:1.5;color:var(--rc-ink-2)}
.hm-member__chips{display:flex;flex-wrap:wrap;gap:6px}

/* скелеты */
@keyframes hmshine{from{background-position:-600px 0}to{background-position:600px 0}}
.hm-skel{background:linear-gradient(90deg,#E7EEF8 25%,#F5F8FD 50%,#E7EEF8 75%);background-size:1200px 100%;animation:hmshine 1.4s linear infinite;border-radius:10px}

@media (max-width: 760px){
  .hm-top{padding-top:16px}
  .hm-hero{min-height:0;padding:24px 18px 18px;border-radius:12px;gap:28px}
  .hm-h1{font-size:44px}
  .hm-art{height:380px;flex-basis:100%}
  .hm-chip--a{left:0;top:0}
  .hm-chip--b{right:0;bottom:0}
  .hm-t17{font-size:16px}
  .hm-big{font-size:28px}
  .hm-stats{grid-template-columns:minmax(0,1fr)}
  .hm-stat{flex-direction:row;align-items:center;gap:18px;padding:22px}
  .hm-num{font-size:44px}
  .hm-stat__lbl{margin-top:6px;font-size:16px}
  .rc-body a.hm-trust__item{flex-basis:100%;padding:12px 16px 12px 12px}
  .hm-trust__crest{flex-basis:44px;width:44px;height:44px}
  .hm-pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
  .hm-pgrid+.hm-pgrid{margin-top:36px}
  .hm-partner{padding:0 !important;gap:12px}
  .hm-plogo{height:76px}
  .hm-pword{font-size:19px}
  .hm-more{margin-top:32px}
  .hm-video{height:230px;border-radius:12px}
  .hm-play{width:80px;height:80px;margin:-40px 0 0 -40px}
  .hm-play svg{width:30px;height:30px}
  .hm-video__cap{left:12px;bottom:12px;padding:10px 14px;border-radius:8px}
  .hm-video__cap b{font-size:18px}
  .hm-gal li{width:280px;height:200px;border-radius:10px}
  .hm-gal{gap:12px;padding-right:12px}
  .hm-cat__body{padding:20px 22px 24px}
  .hm-cat__t{font-size:21px}
  .hm-mq-ul{font-size:17px}
  .hm-mq-ul li{height:52px;padding:0 20px}
  .hm-steps__photo{min-height:280px;flex-basis:100%}
  .hm-step{gap:18px;padding:22px}
  .hm-step__n{flex-basis:40px;font-size:56px}
  .hm-step h3{font-size:21px}
  .rc-body a.hm-ev{padding:24px;gap:18px}
  .rc-body a.hm-ev-all{min-height:260px;padding:24px}
  .hm-plat{padding:16px;border-radius:12px;gap:8px}
  .hm-plat__text{padding:12px 8px 20px}
  .hm-plat__photo{min-height:240px;flex-basis:100%}
  .hm-news{grid-template-columns:minmax(0,1fr)}
  .hm-new__img{height:200px}
  .hm-new__body{padding:22px 22px 26px}
  .hm-new__t{font-size:21px}
  .hm-jury{height:300px;border-radius:12px}
  .hm-jury__cap{left:12px;bottom:12px;padding:12px 16px;border-radius:8px}
  .hm-jury__cap b{font-size:17px}
  .hm-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hm-member{padding:10px 10px 18px;gap:14px;border-radius:10px}
  .hm-portrait{height:190px;font-size:56px;border-radius:8px}
  .hm-member__body{padding:0 6px}
  .hm-member__name{font-size:19px}
  .hm-member__org{font-size:15px}
  .hm-member__bio{display:none}
}

/* ===== Регионы (как .rg-* в main/regions.html) ===== */
/* Отборочные этапы — классы rg-* ; общий вид — assets/rc-site.css */

.rg-hero{display:flex;flex-wrap:wrap;align-items:center;gap:32px 48px}
.rg-hero__text{flex:1.1 1 440px;min-width:0}
.rg-hero__text .rc-h1{margin-top:26px}
.rg-hero__text .rc-lead{margin-top:24px;max-width:540px}
.rg-hero__cta{margin-top:34px}
.rg-ways-hero{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:14px}
.rg-fmt{display:flex;align-items:center;gap:24px;padding:28px;border-radius:13px;background:var(--rc-bg)}
.rg-fmt b{display:block;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
.rg-fmt p{margin-top:8px;font-size:17px;line-height:1.5;color:var(--rc-muted)}

.rg-head-right{display:inline-flex}
.rg-maptile{position:relative;padding:40px}
.rg-map{position:relative;width:100%;aspect-ratio:1200/680}
.rg-map>img{display:block;width:100%;height:100%}
.rg-pin{position:absolute;z-index:3;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transform:translate(-50%,-50%);animation:rgpop .6s var(--rc-ease) both}
.rg-pin:hover{transform:translate(-50%,-50%) scale(1.12) !important}
.rg-pin__ping{position:absolute;inset:0;border-radius:50%;background:var(--rc-coral)}
.rg-pin__dot{position:absolute;inset:0;border-radius:50%;background:var(--rc-coral);border:5px solid #FFFFFF;box-shadow:0 6px 16px -4px rgba(22,40,90,.45);transition:background .2s}
.rg-pin[aria-pressed="true"] .rg-pin__dot{background:var(--rc-ink)}
.rg-label{position:absolute;z-index:2;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:8px;background:#FFFFFF;box-shadow:0 16px 36px -18px rgba(22,40,90,.45);white-space:nowrap;pointer-events:none;animation:rglab .6s var(--rc-ease) both}
.rg-label b{font-size:17px;font-weight:800}
.rg-label span{font-size:15px;font-weight:500;color:var(--rc-muted)}
@keyframes rgpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}100%{opacity:1;transform:translate(-50%,-50%)}}
@keyframes rglab{0%{opacity:0;transform:translate(-10px,-50%)}100%{opacity:1;transform:translate(0,-50%)}}
.rg-online{position:absolute;right:40px;bottom:40px;display:flex;align-items:center;gap:16px;padding:16px 22px 16px 16px;border-radius:10px;border:1.5px solid #FFFFFF;background:#FFFFFF;color:var(--rc-ink);font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 18px 40px -22px rgba(22,40,90,.45)}
.rg-online[aria-pressed="true"]{border-color:var(--rc-coral)}
.rg-online b{display:block;font-size:18px;font-weight:800}
.rg-online small{display:block;font-size:15px;font-weight:500;color:var(--rc-muted)}

.rg-table{border-radius:15px;overflow:hidden}
.rg-cols{display:grid;grid-template-columns:132px minmax(0,1.7fr) minmax(0,1.25fr) minmax(0,1.05fr) 132px;gap:24px}
.rg-thead{padding:20px 32px;font-size:15px;font-weight:700;color:var(--rc-muted)}
.rg-row{align-items:start;padding:28px 32px;border-top:1px solid var(--rc-line);transition:background .2s;animation:rcin .5s var(--rc-ease) both}
.rg-row:hover{background:#F7FAFE}
.rg-date{display:flex;flex-direction:column;gap:4px}
.rg-date b{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.04em}
.rg-date strong{font-size:16px;font-weight:700}
.rg-date span{font-size:15px;color:var(--rc-muted)}
.rg-title{font-size:20px;line-height:1.3;font-weight:700}
.rg-cats{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.rg-cats span{display:inline-flex;align-items:center;min-height:30px;padding:3px 12px;border-radius:8px;background:var(--rc-bg);font-size:14px;font-weight:600;color:var(--rc-ink-2)}
.rg-cell{font-size:16px;line-height:1.5}
.rg-cell small{display:block;font-size:14px;font-weight:600;color:var(--rc-muted)}
@media (min-width: 761px){.rg-cell small{display:none}}
.rg-act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rg-empty{display:flex;flex-wrap:wrap;align-items:center;gap:28px 40px}
.rg-empty__text{flex:1 1 420px;min-width:0}
.rg-empty__text b{display:block;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.rg-empty__text p{margin-top:10px;font-size:18px;line-height:1.5;color:var(--rc-muted)}

.rg-flag{display:block;flex:0 0 auto;height:44px;width:auto;border-radius:8px;box-shadow:0 0 0 1px rgba(25,24,26,.08),0 6px 14px -8px rgba(22,40,90,.35)}
.rg-flag--s{display:inline-block;height:18px;border-radius:4px;margin-right:8px;vertical-align:-3px;box-shadow:0 0 0 1px rgba(25,24,26,.1)}
.rg-where{display:block}
.rg-date--period b{font-size:20px;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
.rg-region{display:flex;flex-direction:column;gap:20px;padding:28px}
.rg-region__stages{display:flex;flex-direction:column;gap:10px}
.rg-region__stage b{display:block;font-size:18px;font-weight:800}
.rg-region__stage span{display:block;margin-top:2px;font-size:16px;line-height:1.45;color:var(--rc-muted)}
.rg-region__org{font-size:16px;font-weight:600;color:var(--rc-ink-2)}
.rg-region__head{display:flex;align-items:center;gap:14px}
.rg-region__head h3{font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.rg-region .rg-cats{margin-top:0}
.rg-ops{display:flex;flex-direction:column;gap:14px}
.rg-op{display:flex;align-items:center;gap:14px;min-width:0}
.rg-op__logo{flex:0 0 64px;width:64px;height:64px;border-radius:8px;background:var(--rc-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:24px;font-weight:800;color:var(--rc-coral)}
.rg-op__logo img{width:100%;height:100%;padding:8px;box-sizing:border-box;object-fit:contain;mix-blend-mode:multiply}
.rg-op__body{min-width:0;display:flex;flex-direction:column;gap:4px}
.rg-op__body b{font-size:17px;line-height:1.3;font-weight:700}
.rg-op__body b a{color:inherit;text-decoration:none}
.rg-op__body b a:hover{color:var(--rc-coral)}
.rg-op__body span{font-size:15px;line-height:1.45;color:var(--rc-muted);overflow-wrap:anywhere}
.rg-op__body span a{color:inherit}
.rg-way{display:flex;flex-direction:column;gap:20px;padding:36px}
.rg-way__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.rg-way__num{font-size:88px;line-height:.85;font-weight:800;letter-spacing:-.05em;color:var(--rc-coral)}
.rg-way__pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.rg-way h3{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.rg-way p{margin-top:10px;font-size:17px;line-height:1.55;color:var(--rc-muted)}

.rg-host{display:flex;flex-wrap:wrap;align-items:stretch;gap:32px 48px;padding:24px}
.rg-host__photo{flex:1 1 420px;min-width:0;min-height:420px;border-radius:13px;overflow:hidden;background:var(--rc-sand)}
.rg-host__photo img{display:block;width:100%;height:100%;object-fit:cover}
.rg-host__text{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:24px 24px 24px 0}
.rg-host__text p{margin-top:18px;font-size:19px;line-height:1.5}
.rg-host__text .rc-row{margin-top:32px}

@media (max-width: 760px){
  .rg-hero{padding:24px 18px 18px;gap:28px}
  .rg-fmt{padding:20px;gap:18px}
  .rg-fmt b{font-size:22px}
  .rg-maptile{padding:18px;border-radius:12px}
  .rg-label{display:none}
  .rg-online{position:static;margin-top:14px;width:100%}
  .rg-thead{display:none}
  .rg-cols{grid-template-columns:minmax(0,1fr);gap:14px}
  .rg-row{padding:22px 18px}
  .rg-date{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}
  .rg-date b{font-size:34px}
  .rg-table{border-radius:12px}
  .rg-empty{padding:24px}
  .rg-way{padding:24px}
  .rg-region{padding:22px}
  .rg-date--period b{font-size:22px}
  .rg-way__num{font-size:64px}
  .rg-host{padding:14px;gap:20px}
  .rg-host__photo{min-height:240px;flex-basis:100%}
  .rg-host__text{padding:4px 6px 10px}
  .rg-host__text p{font-size:17px}
}

/* ===== Новости (как .nw-* в main/news.php) ===== */
/* Новости — классы nw-* ; общий вид — assets/rc-site.css */
.nw-page{padding-top:32px}
.nw-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px 0 14px;border-radius:8px;background:var(--rc-white);border:1px solid var(--rc-line);font-size:16px;font-weight:600;color:var(--rc-ink);transition:border-color .2s,transform .2s var(--rc-ease)}
.rc-body a.nw-back{color:var(--rc-ink)}
.rc-body a.nw-back:hover{border-color:var(--rc-coral);color:var(--rc-coral-ink)}
.nw-back__ic{width:20px;height:20px;transition:transform .2s var(--rc-ease)}
.nw-back:hover .nw-back__ic{transform:translateX(-3px)}
.nw-art{max-width:880px;margin:28px auto 0}
.nw-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:22px}
.nw-date{font-size:16px;font-weight:600;color:var(--rc-muted)}
.nw-title{font-size:clamp(32px,4.4vw,56px);line-height:1.06;font-weight:800;letter-spacing:-.035em;text-wrap:balance}
.nw-cover{margin-top:36px;border-radius:13px;overflow:hidden;background:var(--rc-sand)}
.nw-cover img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}
.nw-body{margin-top:24px;padding:48px 56px;font-size:19px;line-height:1.7;color:var(--rc-ink-2)}
.nw-body > :first-child{margin-top:0}
.nw-body p{margin:0 0 1.1em}
.nw-body h2,.nw-body h3{margin:1.5em 0 .6em;color:var(--rc-ink);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.nw-body h2{font-size:30px}
.nw-body h3{font-size:24px}
.nw-body ul,.nw-body ol{margin:0 0 1.2em;padding-left:1.4em}
.nw-body li{margin-bottom:.45em}
.nw-body li::marker{color:var(--rc-coral)}
.nw-body strong,.nw-body b{color:var(--rc-ink);font-weight:700}
.nw-body a{color:var(--rc-coral-ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.nw-body img{display:block;max-width:100%;height:auto;border-radius:8px;margin:1.4em 0}
.nw-body blockquote{margin:1.4em 0;padding:20px 26px;border-left:4px solid var(--rc-coral);border-radius:0 8px 8px 0;background:var(--rc-bg);color:var(--rc-ink)}
.nw-body .article-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;margin:1.4em 0}
.nw-body .article-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nw-body .article-table{overflow-x:auto;margin:0 0 1.2em}
.nw-body .article-table table{border-collapse:collapse;width:100%;font-size:16px}
.nw-body .article-table th,.nw-body .article-table td{border:1px solid var(--rc-line);padding:10px 14px;text-align:left;vertical-align:top}
.nw-body .article-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:0 0 1.2em}
.nw-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:20px}
.nw-share{display:flex;flex-wrap:wrap;gap:8px}
/* карточки — как в блоке «Новости» на главной */
.nw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-body a.nw-card{display:flex;flex-direction:column;overflow:hidden;color:var(--rc-ink)}
.nw-card__img{height:220px;overflow:hidden;background:var(--rc-sand);display:flex;align-items:center;justify-content:center}
.nw-card__img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s var(--rc-ease)}
.rc-body a.nw-card:hover .nw-card__img img{transform:scale(1.05)}
.nw-card__img .rci{width:64px;height:64px;color:var(--rc-coral)}
.nw-card__body{display:flex;flex-direction:column;gap:12px;padding:24px 26px 28px}
.nw-card__meta{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;color:var(--rc-muted)}
.nw-card__meta span:first-child{color:var(--rc-coral-ink)}
.nw-card__t{font-size:22px;line-height:1.28;font-weight:700;transition:color .2s}
.rc-body a.nw-card:hover .nw-card__t{color:var(--rc-coral-ink)}
.nw-card__ex{font-size:16px;line-height:1.55;color:var(--rc-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* первая новость в списке — крупно */
.rc-body a.nw-card--lead{grid-column:1/-1;flex-direction:row}
.nw-card--lead .nw-card__img{flex:1.25 1 0;height:auto;min-height:380px}
.nw-card--lead .nw-card__body{flex:1 1 0;justify-content:center;padding:44px}
.nw-card--lead .nw-card__t{font-size:34px;line-height:1.15;letter-spacing:-.02em}
.nw-card--lead .nw-card__ex{font-size:18px;-webkit-line-clamp:5}
.nw-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:40px}
.nw-pager__nums{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.nw-pager__n{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:8px;font-size:16px;font-weight:700;background:var(--rc-white);border:1px solid var(--rc-line);transition:border-color .2s,color .2s}
.rc-body a.nw-pager__n{color:var(--rc-ink)}
.rc-body a.nw-pager__n:hover{border-color:var(--rc-coral);color:var(--rc-coral-ink)}
.nw-pager__n.is-cur{background:var(--rc-coral);border-color:var(--rc-coral);color:#fff}
.nw-pager__gap{padding:0 4px;color:var(--rc-muted)}
.nw-pager .nw-back__ic{width:20px;height:20px}
.nw-state{max-width:640px;margin:40px auto 0;padding:56px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.nw-state b{font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.nw-state p{font-size:18px;color:var(--rc-muted)}
@media (max-width: 991px){
  .nw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-body a.nw-card--lead{flex-direction:column}
  .nw-card--lead .nw-card__img{min-height:0;height:300px;flex:none}
}
@media (max-width: 760px){
  .nw-page{padding-top:20px}
  .nw-cover{margin-top:24px;border-radius:10px}
  .nw-body{padding:26px 20px;font-size:18px}
  .nw-body h2{font-size:25px}
  .nw-grid{grid-template-columns:minmax(0,1fr)}
  .nw-card__img{height:200px}
  .nw-card--lead .nw-card__img{height:220px}
  .nw-card--lead .nw-card__body{padding:24px 22px 28px}
  .nw-card--lead .nw-card__t{font-size:26px}
  .nw-state{padding:36px 22px}
}

/* ===== Документ (как .dc-* в main/doc.php) ===== */
/* Документ фестиваля — классы dc-* ; общий вид — assets/rc-site.css */
.dc-page{padding-top:32px}
.rc-body a.dc-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px 0 14px;border-radius:8px;background:var(--rc-white);border:1px solid var(--rc-line);font-size:16px;font-weight:600;color:var(--rc-ink);transition:border-color .2s}
.rc-body a.dc-back:hover{border-color:var(--rc-coral);color:var(--rc-coral-ink)}
.dc-back__ic{width:20px;height:20px;transition:transform .2s var(--rc-ease)}
.dc-back:hover .dc-back__ic{transform:translateX(-3px)}
.dc-head{display:flex;gap:28px;align-items:flex-start;margin-top:28px;padding:40px}
.dc-head__ic{flex:0 0 auto}
.dc-head__body{min-width:0;flex:1}
.dc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}
.dc-date{font-size:16px;font-weight:600;color:var(--rc-muted)}
.dc-title{font-size:clamp(30px,3.8vw,50px);line-height:1.08;font-weight:800;letter-spacing:-.03em;text-wrap:balance}
.dc-lede{margin-top:16px;font-size:19px;line-height:1.55;color:var(--rc-muted);max-width:760px}
.dc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.dc-cats{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}
.dc-cats b{font-size:15px;font-weight:600;color:var(--rc-muted);margin-right:4px}
.rc-body a.dc-cat{display:inline-flex;align-items:center;min-height:34px;padding:4px 14px;border-radius:8px;background:var(--rc-bg);font-size:15px;font-weight:600;color:var(--rc-ink-2);transition:background .2s,color .2s}
.rc-body a.dc-cat:hover{background:var(--rc-coral-soft);color:var(--rc-coral-ink)}
.dc-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}
.dc-layout--single{grid-template-columns:minmax(0,1fr)}
.dc-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding:26px 22px}
.dc-toc h2{font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rc-muted);margin-bottom:12px}
.dc-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rc-body .dc-toc a{display:block;padding:7px 10px;border-radius:8px;font-size:15px;line-height:1.35;font-weight:600;color:var(--rc-ink-2)}
.rc-body .dc-toc li.h3 a{padding-left:24px;font-weight:500;color:var(--rc-muted)}
.rc-body .dc-toc a:hover,.rc-body .dc-toc a.is-on{background:var(--rc-coral-soft);color:var(--rc-coral-ink)}
.dc-body{padding:48px 56px;font-size:18px;line-height:1.7;color:var(--rc-ink-2)}
.dc-body > :first-child{margin-top:0}
.dc-body p{margin:0 0 1em}
.dc-body h2,.dc-body h3{scroll-margin-top:100px;margin:1.6em 0 .6em;color:var(--rc-ink);font-weight:800;letter-spacing:-.02em;line-height:1.25}
.dc-body h2{font-size:28px}
.dc-body h3{font-size:22px}
.dc-body ul,.dc-body ol{margin:0 0 1.1em;padding-left:1.4em}
.dc-body li{margin-bottom:.4em}
.dc-body li::marker{color:var(--rc-coral)}
.dc-body strong,.dc-body b{color:var(--rc-ink)}
.dc-body a{color:var(--rc-coral-ink);text-decoration:underline;text-underline-offset:3px}
.dc-body img{display:block;max-width:100%;height:auto;border-radius:8px;margin:1.2em 0}
.dc-body blockquote{margin:1.2em 0;padding:18px 24px;border-left:4px solid var(--rc-coral);border-radius:0 8px 8px 0;background:var(--rc-bg);color:var(--rc-ink)}
.dc-body .article-table{overflow-x:auto;margin:0 0 1.2em}
.dc-body .article-table table,.dc-body table{border-collapse:collapse;width:100%;font-size:16px}
.dc-body th,.dc-body td{border:1px solid var(--rc-line);padding:10px 14px;text-align:left;vertical-align:top}
.dc-body th{background:var(--rc-bg);color:var(--rc-ink)}
.dc-body .article-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;margin:1.2em 0}
.dc-body .article-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dc-body .article-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:0 0 1.2em}
.dc-file{display:flex;align-items:center;gap:22px;padding:36px 40px;margin-top:20px}
.dc-file b{display:block;font-size:22px;font-weight:800}
.dc-file p{margin-top:6px;font-size:17px;color:var(--rc-muted)}
.dc-state{max-width:640px;margin:40px auto 0;padding:56px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.dc-state b{font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.dc-state p{font-size:18px;color:var(--rc-muted)}
@media (max-width: 991px){
  .dc-layout{grid-template-columns:minmax(0,1fr)}
  .dc-toc{position:static;max-height:none}
}
@media (max-width: 760px){
  .dc-page{padding-top:20px}
  .dc-head{flex-direction:column;gap:18px;padding:24px 20px}
  .dc-body{padding:26px 20px;font-size:17px}
  .dc-body h2{font-size:24px}
  .dc-file{flex-direction:column;align-items:flex-start;padding:24px 20px}
  .dc-state{padding:36px 22px}
}
@media print{
  #rc-header,#rc-footer,.dc-back,.dc-actions,.dc-toc,.rc-bug-btn,.rc-cookie,.rc-sticky{display:none!important}
  body.rc-body{background:#fff}
  .dc-head,.dc-body{padding:0;box-shadow:none;border:0}
  .dc-layout{display:block}
  .dc-body a{color:inherit}
}

/* ===== Своё у россия3д.рф (.r3-*) ===== */

/* ===== Палитра презентации олимпиады (пастельная): небо, синий и красный ===== */
/* Токены шаблона robocity.info переопределены здесь, rc-site.css остаётся копией. */
:root{
  --rc-bg:#F3F5F9;
  --rc-white:#FFFFFF;
  --rc-line:#E1E6EF;
  --rc-line-2:#D3DAE6;
  --rc-sand:#E8ECF3;
  --rc-ink:#14213D;
  --rc-ink-2:#384460;
  --rc-muted:#646E87;
  --rc-coral:#213C70;
  --rc-coral-hover:#182F5C;
  --rc-coral-ink:#1F3C78;
  --rc-coral-deep:#152A50;
  --rc-coral-soft:#E6EBF3;
  --rc-peach:#C8D3E4;
  --r3-flag-blue:#0039A6;
  --r3-flag-red:#D52B1E;
  --r3-red:#C53328;
  --r3-red-ink:#A6291F;
  --r3-red-soft:#F7E6E4;
  --r3-navy-grad:linear-gradient(155deg,#2D4F8C 0%,#1F3A6E 52%,#132648 100%);
  --r3-sky-1:#E9F2FB;
  --r3-sky-2:#B9D6EE;
}
:where(.rc-body) a:hover{color:var(--rc-coral-hover)}
.rc-lift:hover{box-shadow:0 18px 44px -22px rgba(20,38,72,.35)}
.rc-sticky .rc-btn{box-shadow:0 18px 40px -14px rgba(22,40,90,.45)}
.rc-dot,.rc-nav a[aria-current="page"]::before{background:var(--r3-red)}
.rc-pill--coral{background:var(--r3-red-soft);color:var(--r3-red-ink)}
.hm-date,.hm-ev__date{border-color:var(--r3-red)}
.hm-date b,.hm-ev__date b{color:var(--r3-red-ink)}
.hm-new__meta span:first-child,.nw-card__meta span:first-child{color:var(--r3-red-ink)}
.rc-archive-bar__tag{background:var(--r3-red)}

/* полоса триколора — как волна внизу слайдов презентации, только ровная */
.r3-flag{height:12px;background:linear-gradient(180deg,#FFFFFF 0 33.3%,var(--r3-flag-blue) 33.3% 66.6%,var(--r3-flag-red) 66.6%)}

/* первый экран: небо и Кремль — одна картинка во всю ширину, текст по центру на небе */
.r3-hero{--r3-img-h:calc(100vw * 975 / 2400);position:relative;overflow:hidden;background:#F2FAFF}
.r3-hero__img{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block}
.r3-hero__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(36px,4.6vw,72px);padding-bottom:calc(var(--r3-img-h) * .63)}
.r3-hero .hm-cta{margin-top:30px;justify-content:center}
.r3-hero__date{margin:22px 0 0;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;background:rgba(255,255,255,.88);border:1px solid var(--rc-line);font-size:15px;line-height:1.3;color:var(--rc-ink-2)}
.r3-hero__date .rci{width:20px;height:20px;flex:0 0 auto;color:var(--rc-coral-ink);--rci-fill:var(--rc-peach)}
.r3-hero__date b{font-weight:700;color:var(--rc-ink)}
.r3-hero .rc-btn--outline{background:rgba(255,255,255,.85);border-color:transparent}
.r3-hero .rc-btn--outline:hover{background:#FFFFFF;border-color:var(--rc-coral)}
.r3-stats{padding-top:24px}

/* логотип: куб с триколором и надпись в две строки */
.rc-body a.r3-logo{display:flex;align-items:center;gap:10px;color:var(--rc-ink)}
.r3-logo__t{display:flex;flex-direction:column;color:var(--r3-flag-blue);font-family:'Montserrat',var(--rc-font);font-size:18px;line-height:1;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}
.r3-logo__t span{margin-top:4px;font-size:11.5px;letter-spacing:.07em;color:var(--r3-flag-red)}
.rc-foot__about .r3-logo{margin-bottom:8px}
.r3-foot__mark text{font-family:var(--rc-font);font-size:90px;font-weight:800;fill:var(--rc-ink)}

/* карточки номинаций и этапов бывают и без ссылки (div) — тот же вид, что у <a> */
.hm-cat{display:flex;flex-direction:column;overflow:hidden;color:var(--rc-ink)}
.hm-ev{height:100%;display:flex;flex-direction:column;gap:22px;padding:30px;color:var(--rc-ink)}

/* регион на главной: флаг вместо даты */
.hm-ev__flag{flex:0 0 auto;height:56px;width:auto;border-radius:10px;box-shadow:0 0 0 1px rgba(25,24,26,.08),0 6px 14px -8px rgba(22,40,90,.35)}

/* флаг не загрузился — подпись не должна раздвигать карточку */
.rg-flag{max-width:66px;overflow:hidden}
.rg-region__head h3{min-width:0}

/* работы участников: подпись под фото в ленте */
.r3-gal li{position:relative}
.r3-gal figcaption{position:absolute;left:14px;bottom:14px;right:14px;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:8px;background:var(--rc-white);font-size:15px;line-height:1.3;color:var(--rc-muted)}
.r3-gal figcaption b{font-size:16px;color:var(--rc-ink)}
.r3-gal a{display:block;width:100%;height:100%;color:inherit}

@media (max-width: 760px){
  .r3-logo__t{font-size:16px}
  .r3-logo__t span{font-size:10.5px}
  .hm-ev{padding:24px;gap:18px}
  .r3-seasons{max-width:100%;overflow-x:auto;scrollbar-width:none}
  .r3-seasons::-webkit-scrollbar{display:none}
  .r3-hero .hm-cta{width:100%}
  .r3-gal figcaption{left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:8px}
}

/* ===== Главная: блоки по слайдам презентации ===== */
/* значки — свои (assets/r3-icons.svg): белый рисунок на синей плитке, как в презентации */
.rc-ic{background:#E9EEF6;color:var(--rc-coral-ink);--rci-fill:#D2DCEB;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(31,60,120,.07)}
.rc-ic--s{border-radius:8px}
.rci{stroke-width:1.6}

/* цифры — одной полосой */
.r3-stats{padding-top:28px}
.r3-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:13px}
.r3-band__i{display:flex;align-items:center;gap:16px;padding:26px 28px;min-width:0}
.r3-band__i+.r3-band__i{border-left:1px solid var(--rc-line)}
.r3-band__n{display:block;font-family:'Montserrat',var(--rc-font);font-size:38px;line-height:1;font-weight:900;letter-spacing:-.02em;color:var(--rc-ink)}
.r3-band__n--word{font-size:26px;line-height:1.15}
.r3-band__l{display:block;margin-top:6px;font-size:15px;line-height:1.3;color:var(--rc-muted)}

/* при поддержке — министерства */
.r3-support{margin-top:28px;display:flex;align-items:center;gap:16px 36px;padding:0 4px}
.r3-support__t{flex:0 0 auto;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rc-muted)}
.r3-support__list{flex:1 1 auto;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px}
.r3-support__list li{display:flex;align-items:center;height:72px}
.r3-support__list img{display:block;max-height:76px;max-width:220px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.r3-support__list span{font-size:14px;font-weight:700;max-width:220px}


/* об олимпиаде: текст, работа участника и история по годам */
.r3-about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px 48px;padding:40px 40px 32px}
.r3-about__text{display:flex;flex-direction:column;justify-content:center}
.r3-about__p{margin:6px 0 0;font-size:20px;line-height:1.5;font-weight:500;color:var(--rc-ink)}
.r3-about__p2{margin:14px 0 0;font-size:16px;line-height:1.55;color:var(--rc-muted)}
.r3-about__img{position:relative;margin:0;min-height:300px;border-radius:12px;overflow:hidden;background:#EEF1F6}
.r3-about__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r3-about__img figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.94);font-size:13px;font-weight:600;color:var(--rc-ink-2)}
.r3-hist{grid-column:1 / -1;list-style:none;margin:4px 0 0;padding:24px 0 0;border-top:1px solid var(--rc-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.r3-hist li{position:relative;display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:2px solid var(--rc-line-2)}
.r3-hist li.is-now{border-left-color:var(--r3-flag-red)}
.r3-hist__y{font-size:28px;line-height:1.1;font-weight:700;color:var(--rc-coral-ink)}
.r3-hist__t{margin-top:4px;font-size:16px;line-height:1.3;font-weight:700;color:var(--rc-ink)}
.r3-hist__s{font-size:14px;line-height:1.45;color:var(--rc-muted)}

/* возрастные категории и номинации */
.r3-ages{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.r3-ages li{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:8px 18px;border-radius:8px;background:var(--rc-white);border:1px solid var(--rc-line)}
.r3-ages b{font-family:'Montserrat',var(--rc-font);font-size:17px;font-weight:900;color:var(--rc-coral-ink)}
.r3-ages span{font-size:13px;font-weight:600;color:var(--rc-muted)}
.r3-nom .hm-cat__img{position:relative}
.r3-nom__ic{position:absolute;left:16px;top:16px;background:#FFFFFF;box-shadow:0 8px 20px -10px rgba(19,38,72,.45)}
.r3-nom .hm-cat__body{flex:1 1 auto}
.r3-clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r3-nom__foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}

/* критерии: «40 баллов» и четыре критерия в одну строку */
.r3-crit{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.r3-crit__max{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:12px;color:#FFFFFF;background:radial-gradient(110% 80% at 100% 0%,rgba(74,110,170,.55) 0%,rgba(74,110,170,0) 60%),linear-gradient(160deg,#24427A 0%,#152A50 100%);box-shadow:0 24px 50px -30px rgba(19,38,72,.8)}
.r3-crit__max-n{display:flex;align-items:baseline;gap:8px}
.r3-crit__max-n b{font-family:'Montserrat',var(--rc-font);font-size:64px;line-height:.9;font-weight:900;letter-spacing:-.03em}
.r3-crit__max-n small{font-size:17px;font-weight:700}
.r3-crit__max-t{font-size:18px;line-height:1.2;font-weight:800}
.r3-crit__max-s{margin-top:auto;font-size:14px;line-height:1.4;color:rgba(255,255,255,.78)}
.r3-crit__i{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:12px}
.r3-crit__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.r3-crit__top .rc-pill{font-size:12px;min-height:26px;padding:3px 10px;white-space:nowrap}
.r3-crit__t{font-size:18px;line-height:1.25;font-weight:800}
.r3-crit__s{font-size:15px;line-height:1.4;color:var(--rc-muted)}

/* как участвовать: четыре шага и синяя карточка заявки */
.r3-how{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.9fr);grid-template-rows:auto auto;gap:16px}
.r3-step{display:flex;flex-direction:column;gap:8px;padding:26px 28px}
.r3-step__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.r3-step__n{font-family:'Montserrat',var(--rc-font);font-size:44px;line-height:1;font-weight:900;color:var(--rc-coral-soft);-webkit-text-stroke:1.5px var(--rc-coral)}
.r3-step__t{font-size:21px;line-height:1.25;font-weight:800}
.r3-step__s{font-size:16px;line-height:1.45;color:var(--rc-muted)}
.r3-step__meta{margin-top:auto;padding-top:10px;font-size:14px;font-weight:700;color:var(--rc-coral-ink)}
.rc-body a.r3-how__cta{grid-column:3;grid-row:1 / span 2;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:32px;border-radius:13px;color:#FFFFFF;background:radial-gradient(110% 80% at 100% 0%,rgba(74,110,170,.55) 0%,rgba(74,110,170,0) 60%),linear-gradient(160deg,#24427A 0%,#152A50 100%);box-shadow:0 30px 60px -34px rgba(19,38,72,.8);position:relative;overflow:hidden}
.r3-how__cta b{font-size:28px;line-height:1.1;font-weight:800}
.r3-how__cta span{font-size:16px;color:rgba(255,255,255,.8)}
.r3-how__cta i{margin-top:18px;width:56px;height:56px;border-radius:50%;background:#FFFFFF;color:var(--rc-coral-ink);display:flex;align-items:center;justify-content:center}

/* регионы на главной: плотные карточки и мини-карта */
.r3-reg{display:flex;flex-direction:column;gap:18px;padding:26px 28px}
.r3-reg__head{display:flex;align-items:center;gap:14px}
.r3-reg__head h3{min-width:0;font-size:21px;line-height:1.2;font-weight:800}
.r3-reg__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.r3-reg__rows li{display:flex;align-items:flex-start;gap:12px;padding-top:12px;border-top:1px solid var(--rc-line)}
.r3-reg__rows b{display:block;font-size:16px;line-height:1.3;font-weight:700}
.r3-reg__rows small{display:block;margin-top:2px;font-size:14px;color:var(--rc-muted)}
.r3-reg__ic{flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:var(--rc-coral-soft);color:var(--rc-coral-ink);display:flex;align-items:center;justify-content:center;--rci-fill:var(--rc-peach)}
.r3-reg__ic .rci{width:18px;height:18px}
.rc-body a.r3-mapcard{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:22px 24px;color:var(--rc-ink)}
.r3-mapcard__map{position:relative;display:block}
.r3-mapcard__map img{display:block;width:100%;height:auto}
.r3-mapcard__map i{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--r3-flag-red);border:3px solid #FFFFFF;box-shadow:0 0 0 6px rgba(217,71,59,.18)}
.r3-mapcard__t{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;font-weight:700}

/* организаторы и партнёры: группы, ровные карточки с логотипами */
.r3-pgroup+.r3-pgroup{margin-top:20px;padding-top:20px;border-top:1px solid var(--rc-line)}
.r3-pgroup__t{margin-bottom:14px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rc-muted)}
.r3-plist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.r3-plist li{min-width:0}
.r3-pcard{height:120px;display:flex;align-items:center;justify-content:center;padding:10px 18px;color:var(--rc-ink);background:transparent;border:0;box-shadow:none}
.r3-pcard img{display:block;max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s var(--rc-ease)}
.r3-pcard:hover img{transform:scale(1.05)}
.r3-pcard__word{font-size:18px;line-height:1.25;font-weight:800;text-align:center;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

@media (max-width: 1100px){
  .r3-band{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r3-band__i:nth-child(3){border-left:0}
  .r3-band__i:nth-child(n+3){border-top:1px solid var(--rc-line)}
  .r3-crit{grid-template-columns:repeat(2,minmax(0,1fr))}
  .r3-crit__max{grid-column:1 / -1}
  .r3-how{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rc-body a.r3-how__cta{grid-column:1 / -1;grid-row:auto;min-height:220px}
  .r3-plist{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 760px){
  .r3-band{border-radius:10px}
  .r3-band__i{padding:18px 16px;gap:12px}
  .r3-band__n{font-size:30px}
  .r3-band__n--word{font-size:17px}
  .r3-band__l{font-size:13px}
  .r3-support{margin-top:28px;display:flex;align-items:center;gap:16px 36px;padding:0 4px}
  .r3-support__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;width:100%}
  .r3-support__list li{height:76px;justify-content:center;min-width:0}
  .r3-support__list img{max-height:76px;max-width:100%}
  .r3-about{grid-template-columns:minmax(0,1fr);padding:22px 18px 20px;gap:20px}
  .r3-about__p{font-size:17px}
  .r3-about__img{min-height:220px}
  .r3-hist{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding-top:18px}
  .r3-hist__y{font-size:24px}
  .r3-hist__t{font-size:15px}
  .r3-hist__s{font-size:13px}
  .r3-ages li{min-height:48px;padding:6px 14px}
  .r3-crit{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .r3-crit__i{padding:16px}
  .r3-crit__t{font-size:16px}
  .r3-crit__s{font-size:14px}
  .r3-how{grid-template-columns:minmax(0,1fr)}
  .r3-crit__max{padding:26px}
  .r3-step,.r3-reg{padding:22px}
  .r3-plist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .r3-pcard{height:90px;padding:6px 8px}
  .r3-pcard img{max-height:70px}
  .r3-pcard__word{font-size:15px}
}

/* плотнее, чем robocity.info: меньше воздуха между блоками */
.rc-sec{padding-top:76px}
.rc-head{margin-bottom:26px}
.rc-h2{font-size:clamp(30px,3.2vw,46px)}
@media (max-width: 760px){
  .rc-sec{padding-top:52px}
  .r3-hero{--r3-img-h:300px}
  .r3-hero__img{height:300px;object-fit:cover;object-position:16% 100%}
  .r3-hero__in{padding-bottom:calc(var(--r3-img-h) * .8)}
  .r3-crit__top .rc-pill{display:none}
  .r3-crit__max-n b{font-size:52px}
}

/* ===== Строгий вид, как у официальных сайтов: спокойные заголовки,
   небольшие скругления, прямоугольные кнопки, тёмно-синий подвал ===== */
.rc-h1,.rc-h2,.rc-h2--xl{font-weight:700;letter-spacing:-.02em}
.rc-h2{font-size:clamp(28px,2.8vw,40px);line-height:1.12}
.hm-cat__t,.r3-crit__t,.r3-step__t,.r3-reg__head h3,.nw-card__t,.r3-crit__max-t,.r3-how__cta b,.r3-pcard__word{font-weight:700}
.r3-band__n,.r3-ages b,.r3-crit__max-n b{font-family:var(--rc-font);font-weight:700;letter-spacing:-.02em}
.r3-band__n{font-size:34px}
.r3-crit__max-n b{font-size:56px}
.r3-step__n{font-family:var(--rc-font);font-size:13px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rc-muted);-webkit-text-stroke:0}

.rc-tile{border-radius:16px}
.rc-card{border-radius:12px}
.rc-ic{border-radius:12px}
.rc-ic--s{border-radius:10px}
.rc-btn{border-radius:6px;font-weight:600}
.rc-pill{border-radius:6px}
.rc-badge,.rc-chip,.rc-seg{border-radius:10px}
.rc-menu-btn{border-radius:6px}
.rc-inp{border-radius:12px}
.rc-seg>a,.rc-seg>button{border-radius:8px}
.rc-dlg{border-radius:16px}
.rc-done{border-radius:12px}
.rc-archive-bar__tag{border-radius:6px}
.r3-nom__ic{border-radius:10px}

/* шапка: разделы — простыми ссылками, текущий — на светлой плашке */
.rc-nav{gap:2px;padding:0;border:0;border-radius:0;background:none}
.rc-body .rc-nav a{height:44px;padding:0 14px;border-radius:8px;color:var(--rc-ink-2)}
.rc-body .rc-nav a:hover{background:var(--rc-coral-soft);color:var(--rc-ink)}
.rc-body .rc-nav a[aria-current="page"]{padding-left:14px;background:var(--rc-coral-soft);color:var(--rc-ink)}
.rc-nav a[aria-current="page"]::before{display:none}
.rc-cab{border-radius:6px}

/* крупные синие карточки — ровный тёмно-синий, без бликов */
.r3-crit__max,.rc-body a.r3-how__cta{border-radius:12px;background:linear-gradient(180deg,#1C3767 0%,#13284E 100%);box-shadow:none}
.r3-how__cta i{border-radius:6px;box-shadow:0 4px 0 #9FB0CC}

/* подвал — тёмно-синий */
.rc-footer{background:#10224A;border-top:0;color:rgba(255,255,255,.72)}
.rc-foot__about{color:rgba(255,255,255,.66)}
.rc-foot__col h4{color:#FFFFFF}
.rc-body .rc-foot a{color:rgba(255,255,255,.86)}
.rc-body .rc-foot a:hover{color:#FFFFFF}
.rc-foot__bottom{border-top-color:rgba(255,255,255,.16);color:rgba(255,255,255,.6)}
.rc-footer .r3-logo__t{color:#FFFFFF}
.rc-footer .r3-logo__t span{color:#FF7A6E}
@media (max-width: 760px){
  .rc-tile{border-radius:14px}
  .r3-band__n{font-size:28px}
  .r3-crit__max-n b{font-size:48px}
}
.rc-body .rc-menu__nav a{font-size:26px;font-weight:700;letter-spacing:-.02em}
.r3-band__n.r3-band__n--word{font-size:26px}
.r3-about .rc-h2{margin-bottom:16px}
/* как участвовать: четыре шага в ряд, заявка — полосой под ними */
.r3-how{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto}
.rc-body a.r3-how__cta{grid-column:1 / -1;grid-row:auto;min-height:0;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:26px 32px}
.r3-how__ctat{display:flex;flex-direction:column;gap:4px}
.r3-how__cta i{margin-top:0;flex:0 0 auto}
@media (max-width: 1100px){
  .r3-how{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .r3-band__n.r3-band__n--word{font-size:17px}
  .r3-how{grid-template-columns:minmax(0,1fr)}
  .rc-body a.r3-how__cta{padding:22px}
  .r3-how__cta b{font-size:22px}
}
@media (max-width: 760px){
  .r3-hero__in{padding-bottom:calc(var(--r3-img-h) - 34px)}
  .r3-hero__date{font-size:14px;text-align:left}
}
.rc-h1{font-size:clamp(36px,4.4vw,60px);line-height:1.06}
.nw-title,.dc-title{font-weight:700;letter-spacing:-.02em}

/* ===== Знак — кремлёвская башня из кубиков с флагом ===== */
.r3-logo__tower{display:block;width:30px;height:auto;flex:0 0 auto}
.rc-logo.r3-logo{gap:12px}
/* первый экран: башня и надпись, как в логотипе олимпиады */
.r3-hero__in{padding-top:clamp(36px,3.6vw,56px)}
.r3-emb{margin:0;display:flex;align-items:flex-end;justify-content:center;gap:.4em;font-size:clamp(40px,6.4vw,92px);font-family:'Montserrat',var(--rc-font);font-weight:900;line-height:1;text-transform:uppercase;text-align:left}
.r3-emb__tower{display:block;width:1.5em;height:auto;filter:drop-shadow(0 .1em .16em rgba(0,0,0,.25))}
.r3-emb__t{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:.08em}
.r3-emb__1{font-size:1em;letter-spacing:-.005em;color:var(--r3-flag-blue)}
.r3-emb__2{margin-top:.04em;font-size:.47em;color:var(--r3-flag-red)}
.r3-emb__bars{display:flex;gap:.1em;width:100%;margin-top:.14em}
.r3-emb__bars i{flex:1 1 0;height:.05em;border-radius:.03em;background:#FFFFFF;box-shadow:0 0 0 1px var(--rc-line-2)}
.r3-emb__bars i:nth-child(2){background:var(--r3-flag-blue);box-shadow:none}
.r3-emb__bars i:nth-child(3){background:var(--r3-flag-red);box-shadow:none}
.r3-emb__3{margin-top:.24em;font-family:var(--rc-font);font-size:.19em;font-weight:600;letter-spacing:.01em;text-transform:none;line-height:1.3;color:var(--rc-ink-2)}
.r3-hero .hm-cta{margin-top:30px}
/* днём — дневное небо, вечером и ночью (класс r3-night ставит скрипт в <head>) — вечернее */
.r3-hero__img--night{display:none}
html.r3-night .r3-hero__img--night{display:block}
html.r3-night .r3-hero__img--day{display:none}
html.r3-night .r3-hero{background:#0B1B40}
html.r3-night .r3-emb__1{color:#FFFFFF}
html.r3-night .r3-emb__2{color:#FF6E62}
html.r3-night .r3-emb__3{color:rgba(255,255,255,.8)}
html.r3-night .r3-emb__bars i:first-child{box-shadow:none}
html.r3-night .rc-body .r3-hero a.rc-btn--primary,html.r3-night .rc-body .r3-hero a.rc-btn--primary:hover{background:#D52B1E;border-color:#D52B1E;color:#FFFFFF}
html.r3-night .rc-body .r3-hero a.rc-btn--primary:hover{background:#B8241A;border-color:#B8241A}
html.r3-night .rc-body .r3-hero a.rc-btn--outline{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.45);color:#FFFFFF}
html.r3-night .rc-body .r3-hero a.rc-btn--outline:hover{background:rgba(255,255,255,.14);border-color:#FFFFFF;color:#FFFFFF}
html.r3-night .r3-hero__date{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.82)}
html.r3-night .r3-hero__date b{color:#FFFFFF}
html.r3-night .r3-hero__date .rci{color:#FFFFFF;--rci-fill:rgba(255,255,255,.2)}
/* шапка главной вечером — того же цвета, что небо */
html.r3-night .rc-header.r3-hdr--hero{background:#0B1B40;border-bottom-color:rgba(255,255,255,.08);-webkit-backdrop-filter:none;backdrop-filter:none}
html.r3-night .r3-hdr--hero .r3-logo__t{color:#FFFFFF}
html.r3-night .r3-hdr--hero .r3-logo__t span{color:#FF6E62}
html.r3-night .r3-hdr--hero .rc-nav a{color:rgba(255,255,255,.72)}
html.r3-night .rc-body .r3-hdr--hero .rc-nav a:hover{background:rgba(255,255,255,.08);color:#FFFFFF}
html.r3-night .rc-body .r3-hdr--hero .rc-nav a[aria-current="page"]{background:rgba(255,255,255,.12);color:#FFFFFF}
html.r3-night .rc-body .r3-hdr--hero a.rc-btn--outline{background:transparent;border-color:rgba(255,255,255,.35);color:#FFFFFF}
html.r3-night .r3-hdr--hero .rc-menu-btn{background:transparent;border-color:rgba(255,255,255,.35);color:#FFFFFF}
html.r3-night .r3-hdr--hero .rc-burger i{background:#FFFFFF}
@media (max-width: 760px){
  .r3-logo__tower{width:26px}
  .r3-emb{font-size:clamp(30px,10vw,46px)}
  .r3-emb__3{font-size:12px}
  .r3-hero__in{padding-bottom:calc(var(--r3-img-h) - 6px)}
}

/* ===== Кнопки-кубики: объёмный блок, как кубики башни — грань справа и снизу.
   Наведение приподнимает блок, нажатие вдавливает, при открытии страницы
   кнопки первого экрана падают на место. Цвет грани — --r3-side. ===== */
.rc-btn{--r3-side:#C3CCDB;position:relative;overflow:hidden;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),5px 5px 0 var(--r3-side),5px 5px 0 var(--r3-side);
  transition:background .2s,border-color .2s,color .2s,translate .15s ease-out,box-shadow .15s ease-out}
.rc-btn:hover{translate:-2px -2px;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),6px 6px 0 var(--r3-side),7px 7px 0 var(--r3-side)}
.rc-btn:active{translate:4px 4px;transition-duration:.06s;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side),1px 1px 0 var(--r3-side)}
.rc-btn--primary,.rc-body a.rc-btn--primary{--r3-side:#0E1F45}
/* блик по кнопке при наведении */
.rc-btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,0));transform:skewX(-18deg);pointer-events:none;opacity:0}
.rc-btn:hover::after{animation:r3shine .7s ease-out}
@keyframes r3shine{from{left:-60%;opacity:1}to{left:130%;opacity:1}}
.rc-menu-btn{box-shadow:1px 1px 0 #C3CCDB,2px 2px 0 #C3CCDB,3px 3px 0 #C3CCDB,4px 4px 0 #C3CCDB}
.rc-sticky .rc-btn,.rc-sticky .rc-btn:hover{translate:0;box-shadow:inset 0 2px 0 rgba(255,255,255,.18),1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),0 18px 40px -14px rgba(22,40,90,.45)}
html.r3-night .rc-body .r3-hero a.rc-btn--primary{--r3-side:#8A1A12}
html.r3-night .rc-body .r3-hero a.rc-btn--outline,html.r3-night .rc-body .r3-hdr--hero a.rc-btn--outline{--r3-side:rgba(255,255,255,.22)}
html.r3-night .r3-hdr--hero .rc-menu-btn{box-shadow:1px 1px 0 rgba(255,255,255,.22),2px 2px 0 rgba(255,255,255,.22),3px 3px 0 rgba(255,255,255,.22),4px 4px 0 rgba(255,255,255,.22)}
/* кнопки первого экрана мягко опускаются на место, как кубики — без отскока */
.r3-hero .hm-cta .rc-btn{animation:r3block .8s cubic-bezier(.22,.61,.36,1) both;animation-delay:.55s}
.r3-hero .hm-cta .rc-btn+.rc-btn{animation-delay:.68s}
@keyframes r3block{from{transform:translateY(-18px);opacity:0}45%{opacity:1}to{transform:none;opacity:1}}
/* башня на первом экране после сборки слегка парит */
.r3-emb__tower{animation:r3float 5.5s ease-in-out 3.2s infinite}
/* башня в шапке: готовая, флаг развевается, сама башня чуть покачивается */
.r3-logo__tower{transform-origin:50% 100%;animation:r3sway 4.5s ease-in-out infinite}
@keyframes r3sway{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-1.5px) rotate(-2deg)}70%{transform:translateY(-1px) rotate(1.5deg)}}
@keyframes r3float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion: reduce){
  .r3-hero .hm-cta .rc-btn,.r3-emb__tower,.r3-logo__tower,.rc-btn:hover::after{animation:none}
}

/* ===== Кубики везде: карточки, плитки и плашки — того же вида, что кнопки-кубики =====
   Почти прямые углы (4px) и грань справа-снизу, как у кнопок и кубиков башни:
   крупные блоки — грань 6px, плитки значков и плашки — 3px. Мягких теней нет.
   Карточки-ссылки (.rc-lift) при наведении приподнимаются, как кнопки: блок
   уходит вверх-влево, грань растёт. Цвет грани — --r3-side у самого блока. */
.rc-tile,.rc-card,.r3-crit__max,.rc-body a.r3-how__cta,.hm-gal li,.rg-table,.rg-maptile,.rg-online,.rg-fmt,.hm-empty{
  --r3-side:#D3DAE6;border-radius:4px;border-color:#D3DAE6;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),6px 6px 0 var(--r3-side)}
.r3-crit__max,.rc-body a.r3-how__cta{--r3-side:#0A1733;background:#1A3463}
.hm-gal li{--r3-side:#C3CCDB}
.rc-lift{transition:translate .15s ease-out,box-shadow .15s ease-out,border-color .2s}
.rc-lift:hover{translate:-2px -2px;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),6px 6px 0 var(--r3-side),7px 7px 0 var(--r3-side),8px 8px 0 var(--r3-side)}
.rc-lift:active{translate:3px 3px;transition-duration:.06s;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side)}
/* плитки значков, плашки и мелкие блоки — кубики поменьше */
.rc-ic,.rc-ic--s,.r3-nom__ic,.r3-reg__ic,.r3-ages li,.r3-hero__date,.hm-count,.hm-date,.hm-card-float,.rg-op__logo,.rg-label{
  --r3-side:#C8D3E4;border-radius:3px;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side)}
.rc-ic,.rc-ic--s,.r3-reg__ic{background:#E9EEF6}
.r3-nom__ic{--r3-side:rgba(10,23,51,.55)}
.r3-ages li{border-color:#D3DAE6}
/* стрелка в «Подать заявку» — такая же кнопка-кубик, как остальные */
.r3-how__cta i{--r3-side:#8FA2C2;border-radius:4px;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side);
  transition:translate .15s ease-out,box-shadow .15s ease-out}
.rc-body a.r3-how__cta:hover i{translate:-2px -2px;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),6px 6px 0 var(--r3-side),7px 7px 0 var(--r3-side)}
/* полоса цифр — один блок, ячейки делят его ровными линиями */
.r3-band__i+.r3-band__i{border-left-color:#D3DAE6}
/* история олимпиады — столбики-кубики вместо тонких линий */
.r3-hist li{border-left:4px solid #D3DAE6;padding-left:14px}
.r3-hist li.is-now{border-left-color:var(--r3-flag-red)}
/* всё остальное — те же почти прямые углы */
.rc-btn,.rc-menu-btn,.rc-cab,.rc-pill,.rc-badge,.rc-chip,.rc-seg,.rc-seg>a,.rc-seg>button,.rc-inp,.rc-done,.rc-archive-bar__tag,
.rc-body .rc-nav a,.r3-gal figcaption,.r3-about__img,.r3-about__img figcaption,.hm-video,.hm-video__cap,.hm-vbox__frame,.hm-vbox__close button,
.hm-mq-ul li,.hm-steps__photo,.hm-ev__date,.rc-body a.hm-ev-all,.hm-plat,.hm-plat__photo,.hm-jury,.hm-jury__cap,.hm-member,.hm-portrait,.hm-skel,.hm-hero,
.hm-ev__flag,.rc-body a.hm-trust__item,.rg-cats span,.rg-flag,.rg-host__photo,.nw-back,.nw-cover,.nw-body img,.nw-body .article-video,.nw-pager__n,
.rc-body a.dc-back,.rc-body a.dc-cat,.rc-body .dc-toc a,.dc-body img,.dc-body .article-video,.rc-dlg{border-radius:4px}
.rc-pill,.rc-badge,.r3-gal figcaption,.r3-about__img figcaption,.rg-cats span,.rg-flag{border-radius:3px}
.nw-body blockquote,.dc-body blockquote{border-radius:0 4px 4px 0}
@media (max-width: 760px){
  .rc-tile,.rc-card{border-radius:4px}
  .hm-gal li{border-radius:4px}
}
@media (prefers-reduced-motion: reduce){
  .rc-lift,.rc-lift:hover,.rc-lift:active,.rc-body a.r3-how__cta:hover i{translate:none;transition:none}
}

/* ===== Пиксельные значки (assets/r3-icons.svg собирает inc/r3-icons.py) =====
   16x16 «кубиков»: показываем кратно 16 (16, 32, 48, 64 px), иначе пиксели
   размываются. Внутренность — белая, контур — тёмно-синий. */
.rci{image-rendering:pixelated}
.rc-ic .rci{width:48px;height:48px}
.rc-ic--s .rci{width:32px;height:32px}
.r3-reg__ic .rci,.r3-hero__date .rci{width:16px;height:16px}
.rc-ic,.rc-ic--s,.r3-reg__ic,.r3-hero__date{--rci-fill:#FFFFFF}
.r3-nom__ic{--rci-fill:#E9EEF6}
@media (max-width: 760px){
  .rc-ic .rci,.rc-ic--s .rci{width:32px;height:32px}
}

/* ===== Сборка башни — только при первом заходе =====
   Второй и следующие заходы (html.r3-seen, отметка в localStorage): сразу готовая
   башня с флагом, кнопки на месте, башня парит без задержки. */
.r3-emb__tower--ready{display:none}
html.r3-seen .r3-emb__tower--build{display:none}
html.r3-seen .r3-emb__tower--ready{display:block;animation-delay:0s}
html.r3-seen .r3-hero .hm-cta .rc-btn{animation:none}

/* ===== Пасхалка: башню на первом экране можно взять и покрутить (assets/r3d.js) =====
   На время вращения картинку подменяет canvas с той же моделью. */
.r3-emb{position:relative}
.r3-emb__tower{cursor:grab;touch-action:pan-y;-webkit-user-drag:none;user-select:none}
.r3-emb__tower:active{cursor:grabbing}
.r3-emb__tower.is-spun{visibility:hidden;animation-play-state:paused}
.r3-emb__spin{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 .1em .16em rgba(0,0,0,.25))}

/* ===== Окошко про куки внизу экрана (assets/r3d.js) =====
   Кубиком, как карточки, печенье — пиксельное (inc/r3-icons.py). На телефоне встаёт
   над кнопкой «Подать заявку». */
.r3-cookie{--r3-side:#D3DAE6;position:fixed;left:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:14px;max-width:440px;padding:12px 14px 12px 12px;
  background:#FFFFFF;border:1px solid #D3DAE6;border-radius:4px;color:var(--rc-ink);font-size:15px;line-height:1.35;
  box-shadow:1px 1px 0 var(--r3-side),2px 2px 0 var(--r3-side),3px 3px 0 var(--r3-side),4px 4px 0 var(--r3-side),5px 5px 0 var(--r3-side),6px 6px 0 var(--r3-side),0 24px 50px -24px rgba(10,23,51,.5);
  animation:r3cookie .5s cubic-bezier(.22,.61,.36,1) 1.2s both}
.r3-cookie__img{flex:none;width:64px;height:64px;display:block;image-rendering:pixelated;transform-origin:50% 60%}
.r3-cookie:hover .r3-cookie__img{animation:r3cookiewob .6s steps(4) both}
.r3-cookie__text{flex:1 1 auto;margin:0;font-weight:600}
.rc-body .r3-cookie__text a{display:block;margin-top:2px;color:var(--rc-ink-2);font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.r3-cookie .r3-cookie__ok{flex:none;height:44px;padding:0 22px;font-size:15px}
.r3-cookie.is-gone{animation:r3cookieout .3s ease-in both}
@keyframes r3cookie{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes r3cookieout{from{opacity:1;transform:none}to{opacity:0;transform:translateY(24px)}}
@keyframes r3cookiewob{0%,100%{transform:none}33%{transform:rotate(-12deg)}66%{transform:rotate(8deg)}}
@media (max-width: 760px){
  .r3-cookie{left:12px;right:12px;bottom:12px;max-width:none;gap:10px;padding:10px 12px 10px 10px;font-size:14px}
  .rc-sticky~.r3-cookie{bottom:88px}
  .r3-cookie__img{width:48px;height:48px}
  .r3-cookie .r3-cookie__ok{height:40px;padding:0 16px}
}
@media print{.r3-cookie{display:none}}
