/* cyrillic */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/russo-one/russo-one-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/russo-one/russo-one-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/fonts/russo-one/russo-one-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.rally-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 12px 0 30px;
  border: 1px solid rgba(14,165,233,.55);
  border-radius: 8px;
  background: #0b1220;
  box-shadow: 0 10px 24px #0004;
}
.rally-banner .rally-stage { position:relative; isolation:isolate; aspect-ratio:16/9; overflow:hidden; }
.rally-banner .rally-media,
.rally-banner .rally-scene,
.rally-banner .rally-shade { position:absolute; inset:0; }
.rally-banner .rally-media { z-index:0; }
.rally-banner .rally-scene { opacity:0; transition:opacity .4s ease; }
.rally-banner .rally-scene.is-active { opacity:1; }
.rally-banner .rally-scene img,
.rally-banner .rally-scene video { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--scene-position); }
.rally-banner .rally-shade {
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse 83% 84% at 0 0,
    rgba(0,0,0,.74) 0%, rgba(0,0,0,.53) 30%, rgba(0,0,0,.24) 52%, transparent 78%);
}
.rally-banner .rally-heading {
  --rally-title-size: clamp(3.5rem, 8.4vw, 6.5rem);
  --rally-type-scale: 1;
  position: absolute;
  z-index: 2;
  top: clamp(20px, 3vw, 40px);
  left: clamp(20px, 3.4vw, 44px);
  right: clamp(20px, 3.4vw, 44px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(4px, .55vw, 8px);
  margin: 0;
  color: #fff;
  font-family: 'Russo One', 'Arial Black', sans-serif;
  font-size: calc(var(--rally-title-size) * var(--rally-type-scale));
  font-style: italic;
  font-weight: 400;
  font-synthesis: style;
  line-height: 1.08;
  letter-spacing: .01em;
  text-align: left;
  text-transform: uppercase;
  pointer-events: none;
}
.rally-banner .rally-heading::before {
  content: '';
  display: block;
  width: clamp(44px, 6vw, 84px);
  height: 4px;
  margin-bottom: clamp(5px, .7vw, 9px);
  background: #b7ff2a;
}
.rally-banner .rally-heading > span {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  -webkit-text-stroke: 2px #07100c;
  paint-order: stroke fill;
  text-shadow: 0 3px 10px rgba(0,0,0,.75);
}
.rally-banner .rally-heading-topline { font-size: max(13px, .42em); }
.rally-banner .rally-heading-title { font-size: 1em; }
.rally-banner .rally-heading-date { font-size: max(16px, .48em); color: #b7ff2a; }
/* Longer translations retain the complete title without stretching the letters. */
.rally-banner .rally-heading:lang(en) { --rally-type-scale: .6; }
.rally-banner .rally-heading:lang(ru) { --rally-type-scale: .52; }
.rally-banner .rally-heading:lang(lv) { --rally-type-scale: .85; }
.rally-banner .rally-heading:lang(lt) { --rally-type-scale: .9; }
.rally-banner .rally-actions { position:absolute; right:14px; bottom:14px; z-index:3; display:flex; justify-content:flex-end; align-items:stretch; flex-wrap:wrap; gap:10px; padding:0; border:0; background:transparent; }
.rally-banner .rally-actions::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -48px -56px -34px -56px;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 70%,
    rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 35%, rgba(0,0,0,.2) 55%, transparent 78%);
}
.rally-banner .rally-actions .btn { padding:11px 18px; min-height:44px; box-sizing:border-box; font-size:15px; text-decoration:none; }
.rally-banner .rally-actions .btn:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:760px) {
  .rally-banner { margin-top:5px; }
  .rally-banner .rally-stage { aspect-ratio:4/3; }
  .rally-banner .rally-heading { --rally-title-size:clamp(2.25rem, 11.5vw, 3.625rem); top:18px; left:20px; right:20px; gap:5px; }
  .rally-banner .rally-heading > span { -webkit-text-stroke-width:1px; text-shadow:0 2px 7px rgba(0,0,0,.8); }
  .rally-banner .rally-actions { left:10px; right:10px; bottom:10px; gap:7px; }
  .rally-banner .rally-actions::before { inset:-36px -30px -26px; }
  .rally-banner .rally-actions .btn { flex:1 1 0; min-width:0; min-height:44px; padding:9px 6px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .rally-banner .rally-scene { transition:none; }
}
