@font-face {
  font-family: 'Roboto Flex';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url('/fonts/RobotoFlex-latin.woff2') format('woff2');
  unicode-range: 
    U+0020-007E,   /* базовая латиница, цифры, пунктуация */
    U+00A0-00FF,   /* расширенные символы Latin-1 */
    U+0024,        /* $ */
    U+0025,        /* % */
    U+0040,        /* @ */
    U+20AC;        /* € евро */
}

@font-face {
  font-family: 'zen';
  src: url('/fonts/zen.woff2') format('woff2'),
       url('/fonts/zen.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'zen' !important;

  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.icon-graph:before {
  content: "\e927";
}
.icon-forum:before {
  content: "\e940";
}
.icon-help:before {
  content: "\e9b7";
}
.icon-key:before {
  content: "\e9b9";
}
.icon-present_to_all:before {
  content: "\e9ba";
}
.icon-mail_outline:before {
  content: "\e9bb";
}
.icon-content_copy:before {
  content: "\e9bc";
}
.icon-redo:before {
  content: "\e9bd";
}
.icon-reply:before {
  content: "\e9be";
}
.icon-reply_all:before {
  content: "\e9bf";
}
.icon-undo:before {
  content: "\e9c0";
}
.icon-save_alt:before {
  content: "\e9c1";
}
.icon-money:before {
  content: "\e9c2";
}
.icon-insert_chart:before {
  content: "\e9c3";
}
.icon-dollar-circle:before {
  content: "\e9c4";
}
.icon-chart_outline:before {
  content: "\e9c5";
}
.icon-center_focus:before {
  content: "\e9c6";
}
.icon-center_focus-o:before {
  content: "\e9c7";
}
.icon-filter_center_focus1:before {
  content: "\e9c8";
}
.icon-filter_none:before {
  content: "\e9c9";
}
.icon-filter_tilt_shift1:before {
  content: "\e9cb";
}
.icon-grid_on:before {
  content: "\e9cc";
}
.icon-dollar-square:before {
  content: "\e9cd";
}
.icon-apps1:before {
  content: "\e9ce";
}
.icon-arrow_drop_down:before {
  content: "\e9cf";
}
.icon-arrow_drop_up:before {
  content: "\e9d0";
}
.icon-arrow_upward:before {
  content: "\e9d1";
}
.icon-arrow_left1:before {
  content: "\e9d2";
}
.icon-arrow_right1:before {
  content: "\e9d3";
}
.icon-arrow_downward:before {
  content: "\e9d4";
}
.icon-arrow_left:before {
  content: "\e9d5";
}
.icon-arrow_right:before {
  content: "\e9d6";
}
.icon-group1:before {
  content: "\e9d8";
}
.icon-person1:before {
  content: "\e9da";
}
.icon-person_add1:before {
  content: "\e9db";
}
.icon-earth1:before {
  content: "\e9dc";
}
.icon-settings1:before {
  content: "\e9dd";
}
.icon-work_outline:before {
  content: "\e9de";
}
.icon-dashboard_customize1:before {
  content: "\e9df";
}
.icon-logout1:before {
  content: "\e9e0";
}
.icon-users3:before {
  content: "\e9e1";
}
.icon-arrow_circle_down1:before {
  content: "\e9e2";
}
.icon-arrow_circle_up1:before {
  content: "\e9e3";
}
.icon-awesome1:before {
  content: "\e9e4";
}
.icon-login1:before {
  content: "\e9e5";
}
.icon-leaderboard:before {
  content: "\e9e6";
}
.icon-groups:before {
  content: "\e9e7";
}
.icon-error_outline:before {
  content: "\e91c";
}
.icon-av_timer:before {
  content: "\e91d";
}
.icon-games:before {
  content: "\e91e";
}
.icon-library_add:before {
  content: "\e91f";
}
.icon-recent_actors:before {
  content: "\e920";
}
.icon-add_to:before {
  content: "\e921";
}
.icon-add_circle:before {
  content: "\e922";
}
.icon-add_circle_outline:before {
  content: "\e924";
}
.icon-select_all:before {
  content: "\e925";
}
.icon-chart_outline1:before {
  content: "\e928";
}
.icon-filter_center:before {
  content: "\e929";
}
.icon-filter_shift:before {
  content: "\e92a";
}
.icon-flare:before {
  content: "\e92b";
}
.icon-view_comfy:before {
  content: "\e92e";
}
.icon-apps:before {
  content: "\e930";
}
.icon-cancel1:before {
  content: "\e931";
}
.icon-unfold_more:before {
  content: "\e932";
}
.icon-earth_lock:before {
  content: "\e933";
}
.icon-group:before {
  content: "\e934";
}
.icon-group_add:before {
  content: "\e935";
}
.icon-person:before {
  content: "\e936";
}
.icon-person_add:before {
  content: "\e937";
}
.icon-person_outline:before {
  content: "\e938";
}
.icon-public:before {
  content: "\e939";
}
.icon-check_box:before {
  content: "\e93a";
}
.icon-check_box_outline_blank:before {
  content: "\e93c";
}
.icon-radio_button_on:before {
  content: "\e93d";
}
.icon-account_balance:before {
  content: "\e93e";
}
.icon-account_balance_wallet:before {
  content: "\e93f";
}
.icon-account_box:before {
  content: "\e941";
}
.icon-account_circle:before {
  content: "\e942";
}
.icon-autorenew:before {
  content: "\e943";
}
.icon-cached:before {
  content: "\e944";
}
.icon-check_circle:before {
  content: "\e945";
}
.icon-exit_to_app:before {
  content: "\e947";
}
.icon-highlight_remove:before {
  content: "\e948";
}
.icon-input:before {
  content: "\e94a";
}
.icon-settings:before {
  content: "\e94b";
}
.icon-settings_backup_restore:before {
  content: "\e94c";
}
.icon-users4:before {
  content: "\e94f";
}
.icon-swap_horiz:before {
  content: "\e950";
}
.icon-swap_vert:before {
  content: "\e951";
}
.icon-swap_vertical_circle:before {
  content: "\e952";
}
.icon-shield_check:before {
  content: "\e953";
}
.icon-view_headline:before {
  content: "\e954";
}
.icon-view_module:before {
  content: "\e955";
}
.icon-card_travel:before {
  content: "\e956";
}
.icon-reorder1:before {
  content: "\e957";
}
.icon-check_circle_outline:before {
  content: "\e958";
}
.icon-offline_bolt:before {
  content: "\e959";
}
.icon-swap_horizontal_circle:before {
  content: "\e95a";
}
.icon-dashboard_customize:before {
  content: "\e95b";
}
.icon-add_check:before {
  content: "\e95c";
}
.icon-logout:before {
  content: "\e95d";
}
.icon-speed:before {
  content: "\e95e";
}
.icon-sync_alt:before {
  content: "\e95f";
}
.icon-post_add:before {
  content: "\e960";
}
.icon-people_alt:before {
  content: "\e961";
}
.icon-flip_camera_android:before {
  content: "\e962";
}
.icon-addchart:before {
  content: "\e963";
}
.icon-arrow_circle_down:before {
  content: "\e964";
}
.icon-arrow_circle_up:before {
  content: "\e965";
}
.icon-awesome:before {
  content: "\e966";
}
.icon-grading:before {
  content: "\e969";
}
.icon-login:before {
  content: "\e96a";
}
.icon-align-center:before {
  content: "\e96b";
}
.icon-align-justify1:before {
  content: "\e96c";
}
.icon-align-left1:before {
  content: "\e96d";
}
.icon-align-right1:before {
  content: "\e96e";
}
.icon-check-circle:before {
  content: "\e96f";
}
.icon-check-square1:before {
  content: "\e970";
}
.icon-clock:before {
  content: "\e971";
}
.icon-info1:before {
  content: "\e973";
}
.icon-lock1:before {
  content: "\e974";
}
.icon-log-in:before {
  content: "\e975";
}
.icon-log-out:before {
  content: "\e976";
}
.icon-plus-circle:before {
  content: "\e977";
}
.icon-plus-square1:before {
  content: "\e978";
}
.icon-shield1:before {
  content: "\e979";
}
.icon-target1:before {
  content: "\e97a";
}
.icon-unlock1:before {
  content: "\e97b";
}
.icon-user-plus:before {
  content: "\e97c";
}
.icon-users1:before {
  content: "\e97e";
}
.icon-x-circle:before {
  content: "\e97f";
}
.icon-activity:before {
  content: "\e985";
}
.icon-clock2:before {
  content: "\e984";
}
.icon-download:before {
  content: "\e986";
}
.icon-plus-circle1:before {
  content: "\e980";
}
.icon-plus-square11:before {
  content: "\e981";
}
.icon-upload:before {
  content: "\e987";
}
.icon-th-small:before {
  content: "\e988";
}
.icon-arrow-forward:before {
  content: "\e98b";
}
.icon-arrow-back:before {
  content: "\e98c";
}
.icon-delete:before {
  content: "\e98d";
}
.icon-delete-outline:before {
  content: "\e98e";
}
.icon-flash:before {
  content: "\e991";
}
.icon-checked:before {
  content: "\e9e8";
}
.icon-error:before {
  content: "\e9e9";
}
.icon-add1:before {
  content: "\e9ea";
}
.icon-minus:before {
  content: "\e9eb";
}
.icon-clock3:before {
  content: "\e055";
}
.icon-checkmark3:before {
  content: "\e995";
}
.icon-checkmark4:before {
  content: "\e996";
}
.icon-cancel2:before {
  content: "\e997";
}
.icon-cancel3:before {
  content: "\e998";
}
.icon-plus1:before {
  content: "\e999";
}
.icon-plus2:before {
  content: "\e99a";
}
.icon-cog1:before {
  content: "\e99b";
}
.icon-cog2:before {
  content: "\e99c";
}
.icon-suitcase:before {
  content: "\e99f";
}
.icon-suitcase1:before {
  content: "\e9a0";
}
.icon-time1:before {
  content: "\e9a1";
}
.icon-grid:before {
  content: "\e9a2";
}
.icon-layout1:before {
  content: "\e9a3";
}
.icon-chat:before {
  content: "\e9a4";
}
.icon-comments:before {
  content: "\e9a6";
}
.icon-calculator4:before {
  content: "\e9a8";
}
.icon-safe:before {
  content: "\e9a9";
}
.icon-rocket1:before {
  content: "\e9aa";
}
.icon-expand:before {
  content: "\e9ab";
}
.icon-collapse:before {
  content: "\e9ac";
}
.icon-globe:before {
  content: "\e9ad";
}
.icon-globe-o:before {
  content: "\e9af";
}
.icon-paperplane:before {
  content: "\e913";
}
.icon-plus:before {
  content: "\e901";
}
.icon-menu:before {
  content: "\e902";
}
.icon-resize:before {
  content: "\e904";
}
.icon-grid2:before {
  content: "\e905";
}
.icon-target:before {
  content: "\e906";
}
.icon-dashboard:before {
  content: "\e9a7";
}
.icon-down:before {
  content: "\e968";
}
.icon-briefcase:before {
  content: "\e9ae";
}
.icon-up:before {
  content: "\e967";
}
.icon-users:before {
  content: "\e972";
}
.icon-history:before {
  content: "\e94d";
}
.icon-cog:before {
  content: "\e994";
}
.icon-enter:before {
  content: "\ea13";
}
.icon-exit:before {
  content: "\ea14";
}
.icon-play3:before {
  content: "\ea1c";
}
.icon-updown:before {
  content: "\ea45";
}
.icon-info:before {
  content: "\ea0c";
}
.icon-file-text:before {
  content: "\1f376";
}
.icon-stats-bars2:before {
  content: "\e99d";
}
.icon-arrow-up:before {
  content: "\ea32";
}
.icon-cancel-circle:before {
  content: "\ea0d";
}
.icon-bit:before {
  content: "\e9b5";
}
.icon-pro:before {
  content: "\e9d9";
}
.icon-vip:before {
  content: "\e9a5";
}
.icon-telegram:before {
  content: "\ea95";
}
.icon-copy:before {
  content: "\e92c";
}
.icon-clock1:before {
  content: "\e94e";
}
.icon-enlarge:before {
  content: "\e989";
}
.icon-shrink:before {
  content: "\e98a";
}
.icon-cross:before {
  content: "\ea0f";
}
.icon-checkmark:before {
  content: "\ea10";
}
.icon-checkmark-o:before {
  content: "\ea11";
}
.icon-checkbox-checked:before {
  content: "\ea52";
}
.icon-compass:before {
  content: "\e949";
}
.icon-earth:before {
  content: "\e9ca";
}
.icon-acc:before {
  content: "\e9b8";
}
.icon-star-empty:before {
  content: "\e9d7";
}
.icon-file-text2:before {
  content: "\e926";
}
.icon-turnover:before {
  content: "\ea2e";
}
.icon-reward:before {
  content: "\e99e";
}
.icon-dollar-o:before {
  content: "\e93b";
}
.icon-spin:before {
  content: "\e97d";
}
.icon-reg:before {
  content: "\e907";
}
.icon-time:before {
  content: "\e908";
}
.icon-add:before {
  content: "\e90b";
}
.icon-layout:before {
  content: "\e90c";
}
.icon-checkmark1:before {
  content: "\e90d";
}
.icon-cancel:before {
  content: "\e90e";
}
.icon-hyperlink:before {
  content: "\e9ec";
}
.icon-calculator5:before {
  content: "\e9b6";
}
.icon-portfolio1:before {
  content: "\e9ed";
}
.icon-googleplus1:before {
  content: "\e9ee";
}
.icon-user:before {
  content: "\e9ef";
}
.icon-users2:before {
  content: "\e9b3";
}
.icon-user-plus1:before {
  content: "\e9f0";
}
.icon-rocket2:before {
  content: "\e9f1";
}
.icon-meter:before {
  content: "\e9f2";
}
.icon-briefcase2:before {
  content: "\e9f3";
}
.icon-eye:before {
  content: "\e9f4";
}
.icon-eye-blocked:before {
  content: "\e9f5";
}
.icon-question:before {
  content: "\ea09";
}
.icon-rain:before {
  content: "\e9b0";
}
.icon-stack:before {
  content: "\e9b1";
}
.icon-cog3:before {
  content: "\e9b2";
}
.icon-lines:before {
  content: "\e992";
}
.icon-googleplus:before {
  content: "\e993";
}
.icon-profile:before {
  content: "\e923";
}
.icon-lock:before {
  content: "\e98f";
}
.icon-unlocked:before {
  content: "\e990";
}
.icon-shield:before {
  content: "\e9b4";
}
.icon-align-left:before {
  content: "\f036";
}
.icon-align-right:before {
  content: "\f038";
}
.icon-align-justify:before {
  content: "\f039";
}
.icon-crosshairs:before {
  content: "\f05b";
}
.icon-sign-out:before {
  content: "\f08b";
}
.icon-sign-in:before {
  content: "\f090";
}
.icon-unlock:before {
  content: "\f09c";
}
.icon-briefcase1:before {
  content: "\f0b1";
}
.icon-bars:before {
  content: "\f0c9";
}
.icon-navicon:before {
  content: "\f0c9";
}
.icon-reorder:before {
  content: "\f0c9";
}
.icon-sort:before {
  content: "\f0dc";
}
.icon-unsorted:before {
  content: "\f0dc";
}
.icon-comments-o:before {
  content: "\f0e6";
}
.icon-plus-square:before {
  content: "\f0fe";
}
.icon-unlock-alt:before {
  content: "\f13e";
}
.icon-check-square:before {
  content: "\f14a";
}
.icon-space-shuttle:before {
  content: "\f197";
}
.icon-paper-plane1:before {
  content: "\f1d8";
}
.icon-send:before {
  content: "\f1d8";
}
.icon-paper-plane-o:before {
  content: "\f1d9";
}
.icon-send-o:before {
  content: "\f1d9";
}
.icon-calculator3:before {
  content: "\f1ec";
}
.icon-diamond:before {
  content: "\f219";
}
.icon-bars1:before {
  content: "\f0ca";
}
.icon-navicon1:before {
  content: "\f0ca";
}
.icon-reorder2:before {
  content: "\f0ca";
}
.icon-rocket:before {
  content: "\f135";
}
.icon-diamond1:before {
  content: "\f21a";
}
.icon-select-arrows:before {
  content: "\e914";
}
.icon-calculator2:before {
  content: "\e915";
}
.icon-circle-with-cross:before {
  content: "\e916";
}
.icon-circle-with-plus:before {
  content: "\e917";
}
.icon-paper-plane:before {
  content: "\e918";
}
.icon-squared-plus:before {
  content: "\e919";
}
.icon-text-document-inverted:before {
  content: "\e91a";
}
.icon-text-document:before {
  content: "\e91b";
}
.icon-calculator1:before {
  content: "\e900";
}
.icon-checkmark-outline:before {
  content: "\e903";
}
.icon-close-outline:before {
  content: "\e909";
}
.icon-close-solid:before {
  content: "\e90a";
}
.icon-conversation:before {
  content: "\e90f";
}
.icon-currency-dollar:before {
  content: "\e910";
}
.icon-envelope:before {
  content: "\e911";
}
.icon-portfolio:before {
  content: "\e912";
}










/* =========================
   ROOT SCALE
   ========================= */

:root {
  --body-font: 'Roboto Flex', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  /* --body-font: 'Circle', sans-serif; */
}









:root {
  /* BREAKPOINTS */
  
/* === 📱 Мобильные устройства === */
  
/* 320–359 px
Минимум, поддержка старых и бюджетных устройств.
Использовать один столбец, без сложных сеток. */
  --bp-320: 320;

/* 360–399 px
Основная масса Android.
Базовый мобильный макет. */
  --bp-360: 360;

/* 400–479 px
Крупные смартфоны.
Можно увеличивать отступы и шрифты. */
  --bp-400: 360;

/* === 📱➕ Фаблеты / маленькие планшеты === */

/* 480–575 px
Горизонтальный смартфон.
Можно слегка «дышать» макету. */
  --bp-480: 480;

/* === 📱➡️ Планшеты === */

/* 576–767 px
Малые планшеты.
Допустима 2-колоночная сетка. */
  --bp-576: 576;

/* 768–991 px
Классические планшеты (iPad).
Полноценная адаптивная сетка. */
  --bp-768: 768;

/* === 💻 Малые ноутбуки === */

/* 992–1199 px
13–14" ноутбуки.
Базовый десктоп-макет. */
  --bp-992: 992;

/* === 🖥️ Большие экраны === */

/* 1440–1679 px
QHD мониторы.
Ограничивать максимальную ширину контента. */
  --bp-1200: 1200;

/* 1680–1919 px
Широкие мониторы.
Центровка + max-width. */
  --bp-1440: 1440;

/* === 🖥️🖥️ 4K и выше === */

/* ≥1920 px
4K — норма в 2026.
Контент НЕ растягивать, только увеличивать воздух. */

--bp-1920: 1920;

}


:root {

  --zero-one: calc(
    (100vw - var(--bp-320) * 1px) / 
    (var(--bp-1440) - var(--bp-320))
  );

  --fluid-factor: clamp(
    0px,
    var(--zero-one),
    1px
  );
}


:root {
  --h0-font-size: clamp(
    28px,
    calc(28px + (48 - 28) * var(--fluid-factor)),
    48px
  );

  --h1-font-size: clamp(
    26px,
    calc(26px + (42 - 26) * var(--fluid-factor)),
    42px
  );

  --h2-font-size: clamp(
    22px,
    calc(22px + (34 - 22) * var(--fluid-factor)),
    34px
  );

  --h3-font-size: clamp(
    18px,
    calc(18px + (28 - 18) * var(--fluid-factor)),
    28px
  );

  --h4-font-size: clamp(
    16px,
    calc(16px + (22 - 16) * var(--fluid-factor)),
    22px
  );

  --normal-font-size: clamp(
    14px,
    calc(14px + (18 - 14) * var(--fluid-factor)),
    18px
  );

  --small-font-size: clamp(
    12px,
    calc(12px + (14 - 12) * var(--fluid-factor)),
    14px
  );

  --scroll-pos: clamp(
    24px,
    calc(16px + (48 - 24) * var(--fluid-factor)),
    48px
  );

  --scroll-size: clamp(
    48px,
    calc(46px + (64 - 48) * var(--fluid-factor)),
    64px
  );



  
  --padding-4-8: clamp(
    4px,
    calc(4px + (8 - 4) * var(--fluid-factor)),
    8px
  );

  /* clamp(8px, 1.5vw, 16px); */
  --padding-8-16: clamp(
    8px,
    calc(8px + (16 - 8) * var(--fluid-factor)),
    16px
  );
  
  /* === 🧱 Плотный UI / дашборды === */
  /* clamp(12px, 2vw, 24px); */
  --padding-12-24: clamp(
    12px,
    calc(12px + (24 - 12) * var(--fluid-factor)),
    24px
  );

  /* clamp(12px, 2.5vw, 32px); */
  --padding-12-32: clamp(
    12px,
    calc(12px + (32 - 12) * var(--fluid-factor)),
    32px
  );

  /* === 🔥 Универсальный (база) === */
  /* clamp(16px, 3vw, 32px); */
  --padding-16-32: clamp(
    16px,
    calc(16px + (32 - 16) * var(--fluid-factor)),
    32px
  );

  /* === 🎯 Контент + воздух (МАКСИМУМ РАЗУМНОГО) === */
  /* clamp(20px, 4vw, 40px); */

  --padding-20-40: clamp(
    20px,
    calc(20px + (40 - 20) * var(--fluid-factor)),
    40px
  );

  --padding-24-48: clamp(
    24px,
    calc(24px + (48 - 24) * var(--fluid-factor)),
    48px
  );

  --padding-24-60: clamp(
    24px,
    calc(24px + (60 - 24) * var(--fluid-factor)),
    60px
  );
 
  /* === Подходит только для «воздушных» маркетинговых лендингов === */

  --padding-24-96: clamp(
    24px,
    calc(16px + (96 - 24) * var(--fluid-factor)), /* 6vw */
    96px
  );


  --padding-24-60: clamp(
    24px,
    calc(24px + (60 - 24) * var(--fluid-factor)),
    60px
  );

  --padding-32-60: clamp(
    32px,
    calc(32px + (60 - 32) * var(--fluid-factor)),
    60px
  );

  --padding-48-96: clamp(
    48px,
    calc(48px + (96 - 48) * var(--fluid-factor)),
    96px
  );

  --width-300-400: clamp(
    300px,
    calc(300px + (400 - 300) * var(--fluid-factor)),
    400px
  );
  
  --width-300-500: clamp(
    300px,
    calc(300px + (500 - 300) * var(--fluid-factor)),
    500px
  );
  



}





/* =========================
   LAYOUT
   ========================= */

.container {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: var(--padding-16-32);
}

.section {
  padding-block: 5rem 1rem; 
  /* var(--padding-48-96); */
}



/* =========================
   GRID & STACK
   ========================= */

.grid {
    display: grid;
    /* grid-template-columns: repeat( auto-fit, minmax(clamp(240px, 30vw, 360px), 1fr) ); */
    gap: var(--padding-12-32);
}

.stack {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 2vw, 24px);
}

/* =========================
   CARD
   ========================= */

.card {
  padding: var(--padding-16-32);
  border-radius: var(--padding-8-16);
  position: relative;
  z-index: 0;
}

/* =========================
   BUTTONS
   ========================= */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: clamp(10px, 1.5vw, 16px)
             clamp(16px, 3vw, 32px);

    font-size: clamp(14px, 1.2vw, 18px);
    border-radius: clamp(6px, 1vw, 12px);
    cursor: pointer;
}

/* =========================
   FORM ELEMENTS
   ========================= */

input,
select,
textarea {
    width: 100%;
    padding: clamp(10px, 1.5vw, 14px);
    font-size: clamp(14px, 1.2vw, 18px);
    border-radius: clamp(6px, 1vw, 10px);
}

/* =========================
   UTILITIES
   ========================= */

.mt {
    margin-top: clamp(16px, 3vw, 32px);
}

.mb {
    margin-bottom: clamp(16px, 3vw, 32px);
}

.text-center {
    text-align: center;
}
