@charset "UTF-8";

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-Regular.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-Italic.woff2") format("woff2");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-BoldItalic.woff2") format("woff2");
  font-weight:700;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-Medium.ttf") format("truetype");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Roboto Condensed";
  src:url("../fonts/RobotoCondensed-MediumItalic.ttf") format("truetype");
  font-weight:500;
  font-style:italic;
  font-display:swap;
}

:root{
  /* =========================================================
     SHAIBA PRO DESIGN TOKENS
     Меняй цвета, шрифты, радиусы, размеры кнопок, веса и базовые
     параметры интерфейса здесь. Остальные CSS-файлы используют эти переменные.
     ========================================================= */

  /* Fonts */
  --sp-font-sans: "Roboto Condensed", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --sp-font-display: "Roboto Condensed", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --sp-font-post-title: "Roboto Condensed", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  /* Main palette */
  --sp-bg: #050A11;
  --sp-bg-soft: #07111D;
  --sp-bg-deep: #051322;
  --sp-bg-top: #07101A;
  --sp-surface: rgba(8,18,30,.88);
  --sp-surface-solid: #0A1520;
  --sp-surface-2: #0B1C2D;
  --sp-surface-3: #0A2543;
  --sp-surface-map: #10141d;

  /* Text palette */
  --sp-text: #F2F5F9;
  --sp-text-soft: #D7E6F8;
  --sp-muted: #8D9AAE;
  --sp-muted-2: #687485;
  --sp-white: #fff;
  --sp-danger: #ff5c7a;

  /* Accent palette: голубой / светло-синий стиль */
  --sp-accent: #22D4FF;
  --sp-accent-2: #1E8CFF;
  --sp-accent-3: #76E8FF;
  --sp-accent-gradient-end: var(--sp-accent-2);
  --sp-accent-text: #9AEAFF;
  --sp-accent-contrast: #03101A;

  /* Lines */
  --sp-line: rgba(126,205,255,.12);
  --sp-line-strong: var(--sp-line);
  --sp-line-hover: var(--sp-accent-alpha-34);
  --sp-line-hover-soft: var(--sp-accent-alpha-34);

  /* Alpha helpers: white */
  --sp-white-025: rgba(255,255,255,.025);
  --sp-white-026: rgba(255,255,255,.026);
  --sp-white-03: rgba(255,255,255,.03);
  --sp-white-035: rgba(255,255,255,.035);
  --sp-white-04: rgba(255,255,255,.04);
  --sp-white-045: rgba(255,255,255,.045);
  --sp-white-05: rgba(255,255,255,.05);
  --sp-white-055: rgba(255,255,255,.055);
  --sp-white-06: rgba(255,255,255,.06);
  --sp-white-07: rgba(255,255,255,.07);
  --sp-white-075: rgba(255,255,255,.075);
  --sp-white-08: rgba(255,255,255,.08);
  --sp-white-09: rgba(255,255,255,.09);
  --sp-white-12: rgba(255,255,255,.12);
  --sp-white-14: rgba(255,255,255,.14);
  --sp-white-16: rgba(255,255,255,.16);
  --sp-white-26: rgba(255,255,255,.26);
  --sp-white-28: rgba(255,255,255,.28);
  --sp-white-62: rgba(255,255,255,.62);
  --sp-white-70: rgba(255,255,255,.7);
  --sp-white-72: rgba(255,255,255,.72);
  --sp-white-95: rgba(255,255,255,.95);

  /* Alpha helpers: black/dark */
  --sp-black-12: rgba(0,0,0,.12);
  --sp-black-22: rgba(0,0,0,.22);
  --sp-black-28: rgba(0,0,0,.28);
  --sp-black-38: rgba(0,0,0,.38);
  --sp-black-42: rgba(0,0,0,.42);
  --sp-black-45: rgba(0,0,0,.45);
  --sp-black-90: rgba(0,0,0,.9);

  /* Alpha helpers: accent */
  --sp-accent-alpha-075: rgba(34,212,255,.075);
  --sp-accent-alpha-08: rgba(34,212,255,.08);
  --sp-accent-alpha-09: rgba(34,212,255,.09);
  --sp-accent-alpha-12: rgba(34,212,255,.12);
  --sp-accent-alpha-13: rgba(34,212,255,.13);
  --sp-accent-alpha-14: rgba(34,212,255,.14);
  --sp-accent-alpha-16: rgba(34,212,255,.16);
  --sp-accent-alpha-18: rgba(34,212,255,.18);
  --sp-accent-alpha-20: rgba(34,212,255,.20);
  --sp-accent-alpha-22: rgba(34,212,255,.22);
  --sp-accent-alpha-24: rgba(34,212,255,.24);
  --sp-accent-alpha-32: rgba(34,212,255,.32);
  --sp-accent-alpha-34: rgba(34,212,255,.34);
  --sp-accent-alpha-42: rgba(34,212,255,.42);
  --sp-accent-alpha-54: var(--sp-card-border-hover);
  --sp-accent-alpha-75: rgba(34,212,255,.75);
  --sp-accent-alpha-90: rgba(34,212,255,.90);

  /* Alpha helpers: secondary accent */
  --sp-accent-2-alpha-07: rgba(30,140,255,.07);
  --sp-accent-2-alpha-09: rgba(30,140,255,.09);
  --sp-accent-2-alpha-12: rgba(30,140,255,.12);
  --sp-accent-2-alpha-14: rgba(30,140,255,.14);
  --sp-accent-2-alpha-16: rgba(30,140,255,.16);
  --sp-accent-2-alpha-34: rgba(30,140,255,.34);

  /* Unified borders */
  --sp-border: var(--sp-line);
  --sp-border-hover: var(--sp-accent-alpha-34);
  --sp-card-border: var(--sp-border);
  --sp-card-border-hover: var(--sp-border-hover);

  /* Compatibility aliases */
  --sp-accent-rgb: 34,212,255;
  --sp-bg-2: var(--sp-bg-soft);
  --sp-black: #000;
  --sp-black-62: rgba(0,0,0,.62);
  --sp-container-pad: var(--sp-gutter);
  --sp-on-accent: var(--sp-accent-contrast);
  --sp-radius-card: var(--sp-radius-md);

  /* Alpha helpers: third accent */
  --sp-accent-3-alpha-06: rgba(118,232,255,.06);

  /* Dark glass surfaces */
  --sp-glass-dark-72: rgba(5,7,10,.72);
  --sp-glass-dark-78: rgba(10,14,21,.78);
  --sp-glass-dark-84: rgba(10,14,21,.84);
  --sp-glass-dark-88: rgba(10,14,21,.88);
  --sp-glass-dark-92: rgba(10,14,21,.92);
  --sp-glass-dark-96: rgba(10,14,21,.96);
  --sp-header-glass-72: rgba(7,9,13,.72);
  --sp-header-glass-86: rgba(7,9,13,.86);
  --sp-header-glass-94: rgba(7,9,13,.94);
  --sp-footer-glass-88: rgba(9,12,18,.88);
  --sp-tabbar-glass-92: rgba(12,16,24,.92);
  --sp-panel-glass-72: rgba(12,17,26,.72);

  /* Gradients */
  --sp-gradient-accent: linear-gradient(135deg, var(--sp-accent), var(--sp-accent-gradient-end));
  --sp-gradient-page-bg:
    radial-gradient(900px 620px at 12% -8%, var(--sp-accent-alpha-13), transparent 62%),
    radial-gradient(980px 680px at 92% 4%, var(--sp-accent-2-alpha-16), transparent 58%),
    radial-gradient(800px 520px at 50% 110%, var(--sp-accent-3-alpha-06), transparent 62%),
    linear-gradient(180deg, var(--sp-bg-top) 0%, var(--sp-bg) 48%, var(--sp-bg-deep) 100%);
  --sp-gradient-grid-line-y: linear-gradient(var(--sp-white-035) 1px, transparent 1px);
  --sp-gradient-grid-line-x: linear-gradient(90deg, var(--sp-white-03) 1px, transparent 1px);
  --sp-gradient-mask-bottom: linear-gradient(to bottom, var(--sp-black-90), var(--sp-black-12));
  --sp-gradient-card: linear-gradient(180deg, var(--sp-white-055), var(--sp-white-025));
  --sp-gradient-card-hover: linear-gradient(180deg, var(--sp-white-075), var(--sp-white-03));
  --sp-gradient-surface: linear-gradient(135deg, var(--sp-white-075), var(--sp-white-026));
  --sp-gradient-surface-strong: linear-gradient(135deg, var(--sp-white-09), var(--sp-white-025));
  --sp-gradient-media-placeholder: linear-gradient(135deg, var(--sp-accent-alpha-12), var(--sp-accent-2-alpha-14));
  --sp-gradient-hero-home: var(--sp-gradient-surface);
  --sp-gradient-hero-glow: radial-gradient(circle, var(--sp-accent-alpha-18), transparent 65%);
  --sp-gradient-teams-hero:
    radial-gradient(700px 260px at 12% 0%, var(--sp-accent-alpha-16), transparent 62%),
    radial-gradient(620px 280px at 90% 10%, var(--sp-accent-2-alpha-16), transparent 58%),
    linear-gradient(180deg, var(--sp-white-07), var(--sp-white-025));
  --sp-gradient-team-card:
    radial-gradient(260px 140px at 12% 0%, var(--sp-accent-2-alpha-09), transparent 60%),
    var(--sp-gradient-card);
  --sp-gradient-team-card-hover:
    radial-gradient(280px 160px at 12% 0%, var(--sp-accent-alpha-12), transparent 62%),
    var(--sp-gradient-card-hover);
  --sp-gradient-map-wrap:
    radial-gradient(560px 220px at 10% 0%, var(--sp-accent-alpha-13), transparent 62%),
    var(--sp-gradient-card);

  /* Radius */
  --sp-radius-xs: 10px;
  --sp-radius-sm: 14px;
  --sp-radius-md: 20px;
  --sp-radius-lg: 28px;
  --sp-radius-pill: 999px;
  --sp-radius-button: var(--sp-radius-pill);
  --sp-radius-card-small: 18px;
  --sp-radius-logo: 16px;
  --sp-radius-logo-large: 22px;
  --sp-radius-mobile: 24px;
  --sp-radius-code: 8px;
  --sp-radius-control: 12px;
  --sp-radius-brand-footer: 14px;
  --sp-radius-map-control: 16px;
  --sp-radius-map-popup: 20px;
  --sp-radius-cookie: 22px;
  --sp-radius-marker: 50% 50% 50% 4px;

  /* Shadows */
  --sp-shadow: 0 22px 70px var(--sp-black-42);
  --sp-shadow-soft: 0 16px 42px var(--sp-black-28);
  --sp-shadow-header: 0 18px 45px var(--sp-black-22);
  --sp-shadow-footer: 0 -18px 45px var(--sp-black-45);
  --sp-shadow-button-accent: 0 12px 32px var(--sp-accent-alpha-20);
  --sp-shadow-filter-active: 0 14px 34px var(--sp-accent-alpha-18);
  --sp-shadow-popup: 0 18px 54px var(--sp-black-42);
  --sp-shadow-marker: 0 12px 28px var(--sp-black-38), 0 0 0 6px var(--sp-accent-alpha-13);
  --sp-shadow-tabbar: 0 18px 50px var(--sp-black-45);
  --sp-shadow-header-scrolled: 0 14px 40px var(--sp-black-22);
  --sp-shadow-map-control: 0 14px 34px var(--sp-black-28);

  /* Layout */
  --sp-max: 1400px;
  --sp-gutter: 24px;
  --sp-header-height: 78px;
  --sp-mobile-gutter: 14px;
  --sp-section-gap: clamp(42px,6vw,76px);
  --sp-section-gap-small: clamp(32px,5vw,64px);
  --sp-content-padding-top: clamp(28px,4vw,56px);
  --sp-content-padding-bottom: clamp(54px,7vw,96px);

  /* Buttons */
  --sp-button-min-height: 44px;
  --sp-button-padding-y: 12px;
  --sp-button-padding-x: 18px;
  --sp-button-padding: var(--sp-button-padding-y) var(--sp-button-padding-x);
  --sp-button-font-weight: 850;
  --sp-button-line-height: 1;
  --sp-filter-button-min-height: 44px;
  --sp-filter-button-padding: 11px 18px;
  --sp-popup-button-min-height: 34px;
  --sp-popup-button-padding: 8px 12px;
  --sp-line-height-tight: 1;
  --sp-nav-link-min-height: 40px;
  --sp-mobile-nav-link-min-height: 46px;
  --sp-tabbar-min-height: 62px;
  --sp-card-mini-min-height: 84px;
  --sp-pagination-min-size: 42px;
  --sp-hero-min-height: 460px;
  --sp-hero-panel-mobile-min-height: 260px;
  --sp-team-card-min-height: 124px;
  --sp-team-card-mobile-min-height: 112px;
  --sp-map-min-height: 520px;
  --sp-map-tablet-min-height: 480px;
  --sp-map-mobile-min-height: 420px;

  /* Font sizes */
  --sp-fs-xxs: 11px;
  --sp-fs-xs: 13px;
  --sp-fs-sm: 14px;
  --sp-fs-base: 16px;
  --sp-fs-body: clamp(16px,2vw,20px);
  --sp-fs-body-lg: clamp(17px,2vw,22px);
  --sp-fs-md: 18px;
  --sp-fs-lg: 20px;
  --sp-fs-xl: 22px;
  --sp-fs-2xl: 24px;
  --sp-fs-section-title: clamp(28px,4vw,46px);
  --sp-fs-page-title: clamp(34px,7vw,76px);
  --sp-fs-empty-title: clamp(38px,7vw,76px);
  --sp-fs-score-large: clamp(38px,5vw,64px);
  --sp-fs-hero-title: clamp(42px,8vw,92px);
  --sp-fs-teams-title: clamp(36px,6vw,76px);
  --sp-fs-teams-section-title: clamp(26px,3vw,42px);
  --sp-fs-map-title: clamp(28px,4vw,48px);
  --sp-fs-stat-value: clamp(24px,4vw,42px);
  --sp-fs-post-title: clamp(26px,7vw,50px);
  --sp-fs-post-lead: clamp(17px,2vw,21px);
  --sp-fs-spm-heading: clamp(20px,3vw,30px);
  --sp-fs-team-card-title: clamp(19px,2vw,24px);
  --sp-fs-team-single-title: clamp(36px,6vw,76px);
  --sp-fs-team-single-section-title: clamp(26px,3vw,42px);
  --sp-fs-team-single-card-title: clamp(20px,2vw,28px);
  --sp-fs-map-popup-title: 17px;
  --sp-fs-nav-child: 12px;
  --sp-fs-mobile-body: 18px;

  /* Font weights */
  --sp-fw-norm: 400;
  --sp-fw-medium: 400;
  --sp-fw-bold: 700;
  --sp-fw-button: 700;
  --sp-fw-heavy: 700;
  --sp-fw-black: 700;

  /* Motion */
  --sp-ease: cubic-bezier(.2,.8,.2,1);
  --sp-transition-fast: .18s var(--sp-ease);
  --sp-transition-normal: .2s var(--sp-ease);
  --sp-transition-image: .35s var(--sp-ease);
}

*{
  box-sizing:border-box;
}

html{
  min-height:100%;
  background:var(--sp-bg);
  scroll-behavior:smooth;
}

html::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:var(--sp-gradient-page-bg);
}

html::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.22;
  background-image:var(--sp-gradient-grid-line-y), var(--sp-gradient-grid-line-x);
  background-size:42px 42px;
  mask-image:var(--sp-gradient-mask-bottom);
}

body{
  margin:0;
  min-height:100%;
  font-family:var(--sp-font-sans);
  color:var(--sp-text);
  background:transparent;
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.is-menu-open{
  overflow:hidden;
}

body.is-barba-loading{
  cursor:progress;
}

a{
  color:inherit;
  text-decoration:none;
}

a:hover{
  color:var(--sp-text);
}

img,
svg,
video{
  display:block;
  max-width:100%;
  height:auto;
}

button,
input,
textarea,
select{
  font:inherit;
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-family:var(--sp-font-display);
  font-weight:var(--sp-fw-medium);
}

button{
  cursor:pointer;
}

::selection{
  background:var(--sp-accent-alpha-24);
  color:var(--sp-text);
}

.screen-reader-text{
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}