/* Generated automatically. Do not edit this file directly. */

/* source: ui/css/fonts.css */
/* path: src/core/static/ui/css/fonts.css */

@font-face{
  font-family:"Inter";
  src:url("../fonts/Inter-SemiBold.b72fa2728a8e.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

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

@font-face{
  font-family:"Roboto";
  src:url("../fonts/Roboto-Light.69f8a0617ac4.woff2") format("woff2");
  font-weight:300;
  font-style:normal;
  font-display:swap;
}

/* source: ui/css/tokens.css */
/* path: core/static/ui/css/tokens.css */

:root{
  /* ==========================================================================
     Color
     ========================================================================== */

  --bg:#384047;

  --surface:#2B3138;
  --surface-2:#3F474E;
  --surface-3:#454d56;

  --divider:rgba(255,255,255,.045);
  --divider-2:rgba(255,255,255,.085);
  --divider-3:rgba(255,255,255,.19);

  --text:rgba(255,255,255,.92);
  --text-2:rgba(255,255,255,.70);
  --text-3:rgba(255,255,255,.46);

  --accent:#CF8524;
  --accent-strong:#E09A3A;
  --accent-soft:rgba(207,133,36,.16);

  /* ==========================================================================
     Radius
     ========================================================================== */

  --r-0:0px;
  --r-s:8px;
  --r-m:12px;
  --r-pill:999px;

  /* ==========================================================================
     Sizes
     ========================================================================== */

  --h-header:72px;
  --h-input:48px;
  --h-btn:52px;

  /* ==========================================================================
     Layout
     ========================================================================== */

  --pad:16px;
  --maxw:1200px;
  --maxw-wide:1360px;

  /* ==========================================================================
     Spacing
     ========================================================================== */

  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:18px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:56px;
  --space-9:72px;

  /* ==========================================================================
     Typography
     ========================================================================== */

  --font-head:"Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-body:"Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

  --body:1rem;
  --small:0.8125rem;

  --h1:2.4rem;
  --h2:clamp(1.375rem, 4.6vw, 1.5rem);

  --lh:1.45;
}

/* source: ui/css/base.css */
/* path: core/static/ui/css/base.css */

*{box-sizing:border-box}
html,body{height:100%}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:var(--body);
  line-height:var(--lh);
  overflow-x:hidden;
}

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

button{
  font:inherit;
}

.Main{
  min-height:100vh;
}

.Container{
  width:100%;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad);
}

.Container--wide{
  max-width:var(--maxw-wide);
}

.Secondary{
  color:var(--text-2);
}

.Muted{
  color:var(--text-3);
}

/* ============================================================
   BLOCK (shared section system)
   ============================================================ */

.Block{
  padding:var(--space-7) 0;
}

.Block--alt{
  background:var(--surface-2);
}

.Block__head{
  max-width:760px;
  margin:0 0 var(--space-4);
}

.Block__title{
  margin:0 0 var(--space-2);
  font-size:1.9rem;
  line-height:1.05;
  letter-spacing:-.02em;
}

.Block__subtitle{
  margin:0;
  font-size:1.05rem;
  line-height:1.4;
  color:var(--text-2);
}

.Block__body{
  margin:var(--space-6) 0 0;
}

.Block__cta{
  margin-top:0;
  display:flex;
  gap:var(--space-2);
  flex-wrap:wrap;
}

@media (min-width:768px){
  .Block{
    padding:var(--space-8) 0;
  }

  .Block__body{
    margin:var(--space-7) 0 0;
  }
}

/* ============================================================
   CARD — CLEAN / FLAT
   ============================================================ */

.Card{
  background:var(--surface);
  border-radius:var(--r-m);
  border:1px solid var(--divider);
  box-shadow:none;
}

.CardInteractive{
  transition:
    background .15s ease,
    border-color .15s ease;
}

@media (hover:hover){
  .CardInteractive:hover{
    border-color:var(--divider-2);
    background:var(--surface-2);
  }
}

.CardInteractive:focus-within{
  border-color:var(--divider-2);
}

/* ============================================================
   INPUT
   ============================================================ */

.Input{
  width:100%;
  height:var(--h-input);
  padding:0 var(--space-3);
  border:1px solid transparent;
  border-radius:var(--r-s);
  background:transparent;
  color:var(--text);
  font:inherit;
  outline:none;
}

.Input::placeholder{
  color:var(--text-3);
  opacity:1;
}

.Input:focus::placeholder{
  opacity:0;
}

/* ============================================================
   BUTTONS — CLEAN
   ============================================================ */

.Btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--h-btn);
  padding:0 var(--space-3);
  border:0;
  border-radius:var(--r-m);
  cursor:pointer;
  font:inherit;
  font-size:1.2rem;
  line-height:1;
  white-space:nowrap;
  width:auto;
  text-decoration:none;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

.Btn--block{
  width:100%;
}

.BtnPrimary{
  background:var(--accent);
  color:#fff;
}

.BtnPrimary:hover{
  background:var(--accent-strong);
}

.BtnPrimary:active{
  transform:translateY(1px);
}

.BtnSecondary{
  background:transparent;
  border:1px solid var(--divider-2);
  color:var(--text);
}

.BtnSecondary:hover{
  background:rgba(255,255,255,.03);
  border-color:var(--divider-3);
}

.BtnSecondary:active{
  transform:translateY(1px);
}

.BtnGhost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--h-btn);
  padding:0 var(--space-4);
  border-radius:var(--r-pill);
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
  color:var(--text);
  text-decoration:none;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

@media (hover:hover){
  .BtnGhost:hover{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.18);
  }
}

.BtnGhost:active{
  transform:translateY(1px);
}

/* ============================================================
   TEXT UTILS
   ============================================================ */

.Accent{
  color:var(--accent);
}

strong,
b{
  font-family:var(--font-head);
  font-weight:700;
}

/* source: ui/css/ui/audience_state.css */
/* core/static/ui/css/ui/audience_state.css */

/* Audience-based visibility (desktop + mobile overlay) */
[data-audience-only]{ display:none !important; }

/* Показываем обратно */
html[data-audience="private"]  [data-audience-only="private"],
html[data-audience="business"] [data-audience-only="business"]{
  display:revert !important;
}

/* ВАЖНО: если это ссылка-кнопка (a.Btn) — фиксируем display кнопки */
html[data-audience="private"]  a.Btn[data-audience-only="private"],
html[data-audience="business"] a.Btn[data-audience-only="business"]{
  display:inline-flex !important;
}

/* source: ui/css/ui/audience_toggle.css */
/* path: src/core/static/ui/css/ui/audience_toggle.css */

/* =============================================================================
   Audience toggle
   ============================================================================= */

.AudienceToggle{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid var(--divider);
  border-radius:var(--r-m);
  background:var(--surface);
  box-sizing:border-box;
}

.AudienceToggle__btn{
  flex:1;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:0;
  border-radius:var(--r-s);
  background:transparent;
  color:var(--text-2);
  text-decoration:none;
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  box-sizing:border-box;
}

.AudienceToggle__btn.is-active{
  background:var(--accent);
  color:var(--text);
}

/* =============================================================================
   Header variant
   ============================================================================= */

.AudienceToggle--header{
  display:flex;
  align-items:center;
  gap:4px;
  height:42px;
  margin:0;
  padding:3px;
  border:1px solid var(--divider-2);
  border-radius:var(--r-m);
  background:var(--surface);
  box-sizing:border-box;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.AudienceToggle--header .AudienceToggle__btn{
  flex:0 0 auto;
  height:34px;
  padding:0 14px;
  border-radius:var(--r-s);
  color:var(--text-2);
  font-size:.95rem;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
}

.AudienceToggle--header .AudienceToggle__btn.is-active{
  background:rgba(255,255,255,.16);
  color:var(--text);
  box-shadow:none;
}

/* source: ui/css/layout/header.css */
/* path: src/core/static/ui/css/layout/header.css */

/* =============================================================================
   Header
   ============================================================================= */

.Header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:var(--h-header);
  display:flex;
  align-items:center;
  z-index:50;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
  box-sizing:border-box;
}

.Header--solid{
  background:var(--bg);
  border-bottom-color:var(--divider-2);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.Header--hidden{
  transform:translateY(-100%);
}

.Header__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  height:var(--h-header);
}

.Header__logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  height:var(--h-header);
  padding:0;
}

.Header__logoImg{
  display:block;
  width:auto;
  height:40px;
}

.Header__logoText{
  font-weight:600;
  letter-spacing:-.01em;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* =============================================================================
   Header controls
   ============================================================================= */

.Header__burger,
.HeaderNav__overflowBtn{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border:1px solid var(--divider-2);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

.Header__burger{
  border-radius:var(--r-s);
  font-size:22px;
}

.HeaderNav__overflowBtn{
  border-radius:var(--r-m);
}

.has-mouse .Header__burger:hover,
.has-mouse .HeaderNav__overflowBtn:hover{
  background:rgba(255,255,255,.03);
  border-color:var(--divider-3);
}

.Header__burger:active,
.HeaderNav__overflowBtn:active{
  transform:translateY(1px);
}

/* =============================================================================
   Visibility
   ============================================================================= */

[data-header-tablet],
[data-header-desktop]{
  display:none;
}

.Header__audience,
.Header__phone,
.Header__cta{
  flex:0 0 auto;
}

/* =============================================================================
   Phone
   ============================================================================= */

.HeaderPhone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text-2);
  font-size:1rem;
  white-space:nowrap;
  user-select:text;
  cursor:text;
}

.HeaderPhone__icon{
  opacity:.6;
}

.HeaderPhone__text{
  letter-spacing:.01em;
}

.HeaderPhone--muted{
  color:var(--text-3);
}

/* =============================================================================
   Navigation
   ============================================================================= */

.HeaderNav{
  display:none;
  align-items:center;
  gap:10px;
  min-width:0;
}

.HeaderNav__list{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  gap:6px;
  margin:0;
  padding:0;
  overflow:visible;
  list-style:none;
  white-space:nowrap;
}

.HeaderNav__item{
  position:relative;
}

.HeaderNav__item--dropdown::after{
  content:"";
  position:absolute;
  top:100%;
  left:0;
  right:0;
  height:12px;
  display:none;
}

.HeaderNav__list > .HeaderNav__item--dropdown.is-open::after{
  display:block;
}

.HeaderNav__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--text-2);
  white-space:nowrap;
  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

.has-mouse .HeaderNav__link:hover{
  color:var(--text);
  background:rgba(255,255,255,.03);
  border-color:var(--divider-2);
}

.HeaderNav__link:active{
  transform:translateY(1px);
}

.HeaderNav__link--btn{
  cursor:pointer;
}

.HeaderNav__chev{
  opacity:.85;
  font-size:.9em;
}

/* =============================================================================
   Dropdown panels
   ============================================================================= */

.HeaderNav__dropdown,
.HeaderNav__overflowPanel{
  position:absolute;
  top:calc(100% + 10px);
  padding:10px;
  border:1px solid var(--divider-2);
  border-radius:var(--r-m);
  background:var(--surface);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  display:none;
}

.HeaderNav__dropdown{
  left:0;
  min-width:240px;
  z-index:80;
}

.HeaderNav__overflowPanel{
  right:0;
  width:min(360px, 92vw);
  z-index:90;
}

.HeaderNav__dropLink,
.HeaderNav__overflowList .HeaderNav__link{
  padding:10px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  transition:
    background .15s ease,
    border-color .15s ease;
}

.HeaderNav__dropLink{
  display:block;
}

.HeaderNav__overflowList .HeaderNav__link{
  display:flex;
  width:100%;
  justify-content:flex-start;
}

.has-mouse .HeaderNav__dropLink:hover,
.has-mouse .HeaderNav__overflowList .HeaderNav__link:hover{
  background:var(--surface-2);
  border-color:var(--divider-2);
}

.HeaderNav__item.is-open > .HeaderNav__dropdown,
.HeaderNav__overflowPanel.is-open{
  display:block;
}

/* =============================================================================
   Overflow
   ============================================================================= */

.HeaderNav__overflow{
  position:relative;
  flex:0 0 auto;
}

.HeaderNav__overflowTitle{
  margin:6px 6px 8px;
  color:var(--text);
  font-weight:600;
}

.HeaderNav__overflowList{
  display:grid;
  gap:0;
}

.HeaderNav__overflowList .HeaderNav__item--dropdown{
  position:static;
}

.HeaderNav__overflowList .HeaderNav__item--dropdown > .HeaderNav__dropdown{
  position:static;
  top:auto;
  left:auto;
  min-width:0;
  padding:6px 0 0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:none;
  display:none;
}

.HeaderNav__overflowList .HeaderNav__item--dropdown.is-open > .HeaderNav__dropdown{
  display:block;
}

/* =============================================================================
   CTA
   ============================================================================= */

.Header__cta{
  display:none;
  align-items:center;
  gap:10px;
}

.HeaderCta{
  height:44px;
  padding:0 18px;
  border-radius:999px;
  font-size:1rem;
}

/* =============================================================================
   Tablet: 768–1119px
   ============================================================================= */

@media (min-width:768px){
  [data-header-tablet]{
    display:block;
  }
}

@media (min-width:768px) and (max-width:1119px){
  .Header__phone[data-header-tablet]{
    margin-left:auto;
  }
}

/* =============================================================================
   Desktop: 1120px+
   ============================================================================= */

@media (min-width:1120px){
  [data-header-desktop]{
    display:block;
  }

  .HeaderNav[data-header-desktop]{
    display:flex;
  }

  .Header__cta[data-header-desktop]{
    display:flex;
  }

  [data-header-mobile]{
    display:none;
  }

  .Header__logo{
    max-width:none;
  }
}

/* =============================================================================
   Small screens
   ============================================================================= */

@media (max-width:360px){
  .Header__logo{
    padding:7px 0;
  }

  .Header__logoImg{
    height:42px;
    max-width:200px;
  }
}

/* source: ui/css/layout/mobile_menu_overlay.css */
/* path: core/static/ui/css/layout/mobile_menu_overlay.css */

/* =============================================================================
   Mobile Menu Overlay — CLEAN / FLAT (no blur)
   ============================================================================= */

.MenuOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:60;

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .2s ease,
    visibility .2s ease;
}

.MenuOverlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.MenuOverlay__panel{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(380px, 100%);
  background:var(--bg);
  border-left:1px solid var(--divider-2);

  transform:translateX(100%);
  transition:transform .24s ease;
}

.MenuOverlay.is-open .MenuOverlay__panel{
  transform:translateX(0);
}

.MenuOverlay__head{
  height:var(--h-header);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--pad);
}

.MenuOverlay__title{
  font-weight:600;
  color:var(--text);
}

.MenuOverlay__close{
  width:40px;
  height:40px;
  border:1px solid var(--divider-2);
  background:transparent;
  color:var(--text);
  border-radius:var(--r-s);
  font-size:22px;
  cursor:pointer;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

@media (hover:hover){
  .MenuOverlay__close:hover{
    border-color:var(--divider-3);
    background:rgba(255,255,255,.03);
  }
}

.MenuOverlay__close:active{
  transform:translateY(1px);
}

.MenuOverlay__body{
  padding:0 var(--space-3);
  height:calc(100% - var(--h-header));
  overflow:auto;
}

/* =============================================================================
   Layout
   ============================================================================= */

.MenuOverlay__list{
  margin-top:var(--space-3);
}

.MenuOverlay__group{
  display:flex;
  flex-direction:column;
}

.MenuOverlay__group + .MenuOverlay__group{
  margin-top:var(--space-4);
}

.MenuOverlay__group > * + *{
  margin-top:var(--space-1);
}

/* =============================================================================
   Items
   ============================================================================= */

.MenuOverlay__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;

  padding:var(--space-4);
  background:var(--surface);
  border:1px solid var(--divider);
  border-radius:var(--r-s);
  color:var(--text);

  line-height:1.1;
  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease;
}

@media (hover:hover){
  .MenuOverlay__item:hover{
    background:var(--surface-2);
    border-color:var(--divider-3);
  }
}

.MenuOverlay__item:active{
  transform:translateY(1px);
}

.MenuOverlay__item--cta{
  background:var(--accent);
  border-color:transparent;
  color:#fff;

  margin-top:var(--space-3);
}

@media (hover:hover){
  .MenuOverlay__item--cta:hover{
    background:var(--accent-strong);
  }
}

.MenuOverlay__item--sub{
  padding:var(--space-4);
  background:var(--surface-2);
  border-color:var(--divider);
}

/* =============================================================================
   Accordion
   ============================================================================= */

.MenuOverlay__acc{
  border-radius:var(--r-s);
  background:var(--surface);
  border:1px solid var(--divider);
  overflow:hidden;
}

.MenuOverlay__accSum{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:var(--space-4);
  cursor:pointer;
  color:var(--text);

  user-select:none;
  list-style:none;
}

.MenuOverlay__accSum::-webkit-details-marker{
  display:none;
}

.MenuOverlay__accIcon{
  opacity:.8;
  transition:transform .15s ease;
}

.MenuOverlay__acc[open] .MenuOverlay__accIcon{
  transform:rotate(180deg);
}

.MenuOverlay__accBody{
  padding:var(--space-1);
  padding-top:0;
}

.MenuOverlay__accBody > * + *{
  margin-top:var(--space-1);
}

/* =============================================================================
   Contacts
   ============================================================================= */

.MenuOverlay__contacts{
  padding-top:var(--space-4);
  border-top:1px solid var(--divider);
}

.MenuOverlay__contactsTitle{
  margin:0 0 var(--space-2);
  font-weight:600;
  color:var(--text);
}

.MenuOverlay__contactsList{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1);
}

.MenuOverlay__contactChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;

  background:var(--surface);
  border:1px solid var(--divider);
  border-radius:var(--r-pill);

  color:var(--text-2);
  text-decoration:none;
  line-height:1;
  white-space:nowrap;

  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .08s ease;
}

@media (hover:hover){
  .MenuOverlay__contactChip:hover{
    background:var(--surface-2);
    border-color:var(--divider-3);
    color:var(--text);
  }
}

.MenuOverlay__contactChip:active{
  transform:translateY(1px);
}

.MenuOverlay__contactChip--primary{
  color:var(--text);
  border-color:rgba(207,133,36,.28);
}

/* source: ui/css/layout/bottom_bar.css */
/* path: core/static/ui/css/layout/bottom_bar.css */

/* =============================================================================
   BottomBar — CLEAN / FLAT
   ============================================================================= */

.BottomBar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:var(--surface);
  border-top:1px solid var(--divider-2);
  z-index:80;
  transform:translateY(0);
  opacity:1;
  transition:transform .2s ease, opacity .2s ease;
  will-change:transform, opacity;
}

.BottomBar--hidden{
  transform:translateY(100%);
  opacity:0;
  pointer-events:none;
}

.BottomBar__row{
  max-width:var(--maxw);
  margin:0 auto;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
  align-items:stretch;
}

.BottomBar__item{
  display:grid;
  grid-template-rows:24px auto;
  align-items:center;
  justify-items:center;
  gap:4px;
  color:var(--text-2);
  padding:8px 6px;
  min-height:54px;
  text-align:center;
  border-radius:var(--r-s);
  transition:background .15s ease, color .15s ease, transform .08s ease;
}

.BottomBar__icon{
  width:24px;
  height:24px;
  display:block;
  color:currentColor;
}

.BottomBar__label{
  font-size:12px;
  line-height:1.1;
  font-weight:500;
}

.BottomBar__item.is-disabled{
  opacity:.45;
  pointer-events:none;
}

/* Главная CTA */
.BottomBar__item--main{
  background:var(--accent);
  color:#fff;
  border-radius:var(--r-m);
  font-weight:600;
  padding:10px 6px;
}

.BottomBar__item--main .BottomBar__icon{
  width:24px;
  height:24px;
}

.BottomBar__item--main .BottomBar__label{
  font-weight:600;
}

@media (hover:hover){
  .BottomBar__item:hover{
    background:rgba(255,255,255,.03);
    color:var(--text);
  }

  .BottomBar__item--main:hover{
    background:var(--accent-strong);
    color:#fff;
  }
}

.BottomBar__item:active{
  transform:translateY(1px);
}

/* скрыть BottomBar на экранах больше мобильных */
@media (min-width:768px){
  .BottomBar{
    display:none;
  }
}

/* source: ui/css/layout/footer.css */
/* path: src/core/static/ui/css/layout/footer.css */

/* =============================================================================
   Footer
   ============================================================================= */

.Footer{
  margin-top:0;
  padding:var(--space-7) 0 calc(120px + env(safe-area-inset-bottom));
  background:var(--surface);
  border-top:1px solid var(--divider);
}

.Footer .Container{
  padding-left:calc(var(--pad) + 2px);
  padding-right:calc(var(--pad) + 2px);
}

.Footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-6);
}

.Footer__brandCol,
.Footer__navCol{
  min-width:0;
}

.Footer__brand{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
}

.Footer__logo{
  display:block;
  width:auto;
  height:40px;
  max-width:100%;
}

.Footer__desc{
  max-width:360px;
  margin:var(--space-2) 0 0;
  color:var(--text-2);
  font-size:.95rem;
  line-height:1.45;
}

.Footer__contacts{
  margin-top:var(--space-5);
}

.Footer__contactChips{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1);
}

.Footer__chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 var(--space-3);
  border:1px solid var(--divider-2);
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.025);
  color:var(--text);
  font-size:.9rem;
  line-height:1;
  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease;
}

.Footer__contactList{
  display:grid;
  gap:6px;
  margin-top:var(--space-3);
}

.Footer__contactLink{
  display:inline-block;
  width:auto;
  max-width:100%;
  color:var(--text-2);
  font-size:.95rem;
  line-height:1.35;
  overflow-wrap:anywhere;
  transition:color .15s ease;
}

.Footer__muted{
  color:var(--text-3);
  font-size:.9rem;
  line-height:1.35;
}

.Footer__title{
  margin:0 0 var(--space-2);
  color:var(--text);
  font-family:var(--font-head);
  font-size:.95rem;
  font-weight:600;
  line-height:1.2;
}

.Footer__list{
  display:grid;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}

.Footer__list li{
  min-width:0;
}

.Footer__link{
  display:inline;
  width:auto;
  max-width:100%;
  color:var(--text-2);
  font-size:.95rem;
  line-height:1.4;
  overflow-wrap:anywhere;
  word-break:normal;
  transition:color .15s ease;
}

.Footer__bottom{
  display:grid;
  gap:var(--space-3);
  margin-top:var(--space-6);
  padding-top:var(--space-5);
  border-top:1px solid var(--divider);
}

.Footer__copyright{
  color:var(--text-2);
  font-size:var(--small);
  line-height:1.35;
}

.Footer__legal{
  display:grid;
  gap:4px;
  color:var(--text-3);
  font-size:var(--small);
  line-height:1.35;
}

@media (hover:hover){
  .Footer__brand:hover,
  .Footer__contactLink:hover,
  .Footer__link:hover{
    color:var(--accent-strong);
  }

  .Footer__chip:hover{
    background:var(--accent-soft);
    border-color:rgba(207,133,36,.35);
    color:var(--accent-strong);
  }
}

/* =============================================================================
   Tablet: 2 columns
   ============================================================================= */

@media (min-width:768px){
  .Footer{
    padding:var(--space-7) 0 var(--space-6);
  }

  .Footer__grid{
    grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
    gap:var(--space-7) var(--space-6);
    align-items:start;
  }

  .Footer__contacts{
    margin-top:var(--space-4);
  }

  .Footer__bottom{
    grid-template-columns:1fr;
    gap:var(--space-3);
    margin-top:var(--space-6);
    padding-top:var(--space-4);
  }

  .Footer__legal{
    max-width:680px;
    text-align:left;
  }
}

/* =============================================================================
   Desktop: 4 columns
   ============================================================================= */

@media (min-width:1024px){
  .Footer__grid{
    grid-template-columns:
      minmax(240px, 1.15fr)
      minmax(190px, .9fr)
      minmax(170px, .75fr)
      minmax(260px, 1fr);
    gap:var(--space-6);
  }

  .Footer__bottom{
    grid-template-columns:minmax(180px, auto) 1fr;
    align-items:start;
    gap:var(--space-4);
  }

  .Footer__legal{
    justify-self:end;
    max-width:680px;
    text-align:right;
  }
}

@media (min-width:1200px){
  .Footer__grid{
    gap:var(--space-7);
  }
}

/* source: ui/css/blocks/hero.css */
/* path: core/static/ui/css/blocks/hero.css */

/* =============================================================================
   HERO
   ============================================================================= */

.Hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 40px;
}

.Hero > .Container{
  position:relative;
  z-index:1;
}

.Hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-5);
  align-items:start;
}

.Hero__main{
  min-width:0;
  display:grid;
  gap:var(--space-3);
}

.Hero__media{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
}

.Hero__mediaInner{
  width:100%;
  max-width:620px;
  min-height:140px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.Hero__image{
  display:block;
  width:100%;
  height:auto;
  max-height:230px;
  object-fit:contain;
  object-position:center center;
  pointer-events:none;
  user-select:none;
}

/* =============================================================================
   TEXT
   ============================================================================= */

.Hero__title{
  max-width:100%;
  margin:0 0 var(--space-2);
  font-family:var(--font-head);
  font-size:var(--h1);
  line-height:1.04;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--text);
  text-wrap:balance;
}

.Hero__accent{
  color:var(--accent);
}

.Hero__desc{
  max-width:100%;
  margin:0;
  font-family:var(--font-body);
  font-weight:400;
  font-size:1.02rem;
  line-height:1.38;
  letter-spacing:-.01em;
  color:var(--text-2);
  text-wrap:pretty;
}

/* =============================================================================
   TOGGLE
   ============================================================================= */

.Hero__toggle .AudienceToggle{
  width:100%;
}

/* =============================================================================
   CALC
   ============================================================================= */

.HeroCalc{
  display:grid;
  gap:var(--space-2);
  width:100%;
  padding:var(--space-3);
  border:1px solid var(--divider-2);
  border-radius:var(--r-m);
  background:var(--surface);
}

.HeroCalc .Input{
  background:transparent;
  font-family:var(--font-body);
  font-weight:300;
  font-size:1.12rem;
  border-radius:var(--r-s);
}

.HeroCalc__route{
  position:relative;
  overflow:hidden;
  padding-right:calc(44px + var(--space-2));
  border:1px solid var(--divider-2);
  border-radius:var(--r-s);
  background:var(--surface-2);
}

.HeroCalc__route .Input.HeroCalc__input{
  width:100%;
  height:54px;
  padding:0 var(--space-3);
  background:transparent;
  border-radius:0;
  font-size:1.05rem;
  color:var(--text);
}

.HeroCalc__route .Input.HeroCalc__input::placeholder{
  color:var(--text-2);
}

.HeroCalc__divider{
  position:relative;
  height:1px;
  margin:0 21px;
  opacity:.9;
  background-image:repeating-linear-gradient(
    to right,
    var(--divider-3) 0 6px,
    transparent 6px 14px
  );
}

.HeroCalc__divider::before{
  content:"";
  position:absolute;
  left:-7px;
  top:50%;
  transform:translateY(-50%);
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--divider-3);
}

.HeroCalc__divider::after{
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  transform:translateY(-50%);
  width:6px;
  height:6px;
  border-radius:50%;
  border:1px solid var(--divider-3);
}

.HeroCalc__route:focus-within{
  border-color:var(--accent-soft);
}

.HeroCalc__route:focus-within .HeroCalc__divider{
  opacity:1;
  background-image:repeating-linear-gradient(
    to right,
    var(--accent) 0 6px,
    transparent 6px 14px
  );
}

.HeroCalc__route:focus-within .HeroCalc__divider::before{
  background:var(--accent);
}

.HeroCalc__route:focus-within .HeroCalc__divider::after{
  border-color:var(--accent);
}

.HeroCalc__swap{
  position:absolute;
  right:var(--space-2);
  top:50%;
  z-index:5;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  cursor:pointer;
  border:1px solid var(--divider);
  border-radius:var(--r-s);
  background:var(--surface);
  transition:
    border-color .12s ease,
    background .12s ease,
    transform .12s ease;
}

.HeroCalc__swap:hover{
  border-color:var(--divider-2);
  background:var(--surface-2);
}

.HeroCalc__swap:active{
  transform:translateY(-50%) scale(.98);
}

.HeroCalc__swapIcon{
  color:var(--text-2);
  font-family:var(--font-body);
  font-size:1.14rem;
  line-height:1;
}

.HeroCalc__note{
  margin:0;
  color:var(--text-2);
  font-size:var(--small);
  line-height:1.35;
  text-align:center;
}

.HeroCalc__note .Accent{
  color:var(--accent);
  font-weight:600;
}

/* =============================================================================
   TABLET
   ============================================================================= */

@media (min-width:768px){
  .Hero{
    padding:112px 0 56px;
  }

  .Hero__grid{
    gap:var(--space-5);
  }

  .Hero__main{
    gap:var(--space-5);
  }

  .Hero__title{
    margin-bottom:var(--space-4);
  }

  .Hero__desc{
    max-width:40ch;
    font-size:1.08rem;
    line-height:1.42;
  }

  .Hero__mediaInner{
    max-width:760px;
    min-height:240px;
  }

  .Hero__image{
    max-height:320px;
  }

  .HeroCalc{
    gap:var(--space-3);
    padding:var(--space-4);
  }

  .HeroCalc__route{
    padding-right:calc(var(--h-input) + var(--space-2));
  }

  .HeroCalc__route .Input.HeroCalc__input{
    height:56px;
    padding:0 var(--space-4);
    font-size:1.14rem;
  }

  .HeroCalc__divider{
    margin:0 var(--space-4);
  }

  .HeroCalc__swap{
    width:var(--h-input);
    height:var(--h-input);
  }
}

/* =============================================================================
   DESKTOP
   ============================================================================= */

@media (min-width:1100px){
  .Hero{
    padding:88px 0 76px;
  }

  .Hero__grid{
    grid-template-columns:minmax(0, 580px) minmax(440px, 1fr);
    grid-template-areas:
      "main media"
      "form media";
    column-gap:16px;
    row-gap:var(--space-3);
    align-items:center;
  }

  .Hero__main{
    grid-area:main;
    gap:0;
  }

  .Hero__toggle{
    display:none;
  }

  .Hero__form{
    grid-area:form;
  }

  .Hero__media{
    grid-area:media;
    justify-content:flex-end;
    align-self:stretch;
  }

  .Hero__mediaInner{
    max-width:780px;
    min-height:440px;
    justify-content:flex-end;
    align-items:center;
    padding-top:14px;
  }

  .Hero__image{
    max-width:100%;
    max-height:560px;
    object-position:right center;
  }

  /*
  .Hero__title{
    max-width:16.5ch;
  }
  */

  .Hero__desc{
    max-width:36ch;
  }

  .Hero__accent{
    display:block;
  }

  .Hero__desc{
    max-width:58ch;
  }

  .HeroCalc{
    max-width:520px;
  }

  .HeroCalc__divider{
    margin:0 24px;
  }
}

/* =============================================================================
   WIDE DESKTOP
   ============================================================================= */

@media (min-width:1280px){
  .Hero__grid{
    grid-template-columns:minmax(0, 600px) minmax(490px, 1fr);
    column-gap:12px;
    row-gap:16px;
  }

  .Hero__mediaInner{
    justify-content:flex-end;
    align-items:center;
    padding-top:18px;
    max-width:800px;
    min-height:400px;
  }
}

/* =============================================================================
   VALIDATION
   ============================================================================= */

.HeroCalc__route.is-invalid{
  border-color:#ff5a66;
  box-shadow:
    0 0 0 1px rgba(255,90,102,.22),
    0 0 0 4px rgba(255,90,102,.10),
    0 0 20px rgba(255,90,102,.20);
}

.HeroCalc__route.is-invalid:focus-within{
  border-color:#ff5a66;
  box-shadow:
    0 0 0 1px rgba(255,90,102,.24),
    0 0 0 4px rgba(255,90,102,.12),
    0 0 22px rgba(255,90,102,.22);
}

.HeroCalc__route.is-invalid .HeroCalc__divider{
  opacity:1;
  background-image:repeating-linear-gradient(
    to right,
    #ff5a66 0 6px,
    transparent 6px 14px
  );
}

.HeroCalc__route.is-invalid .HeroCalc__divider::before{
  background:#ff5a66;
}

.HeroCalc__route.is-invalid .HeroCalc__divider::after{
  border-color:#ff5a66;
}

/* =============================================================================
   Hero followed by company stats
   ============================================================================= */

.Hero:has(+ .CompanyStats){
  padding-bottom:var(--space-5);
}

@media (min-width:1100px){
  .Hero:has(+ .CompanyStats){
    padding-bottom:var(--space-7);
  }
}

/* source: ui/css/ui/page_titles.css */
/* path: src/core/static/ui/css/ui/page_titles.css */

.Breadcrumbs{
  padding: 96px 0 10px;
}

.Breadcrumbs__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.Breadcrumbs__item{
  display:inline-flex;
  align-items:center;
  min-width:0;
}

.Breadcrumbs__sep{
  display:inline-block;
  margin:0 6px 0 0;
  color:var(--text-3);
}

.Breadcrumbs__link{
  color:var(--text-2);
  text-decoration:none;
  transition:color .2s ease;
}

.Breadcrumbs__link:hover{
  color:var(--text);
}

.Breadcrumbs__current{
  color:var(--text);
}

.PageTitle{
  padding:0 0 24px;
}

.PageTitle__title{
  margin:0;
  font-size:clamp(2rem, 5vw, 3.4rem);
  line-height:.98;
  letter-spacing:-0.03em;
  max-width:25ch;
}

.PageTitle__subtitle{
  max-width:760px;
  margin:16px 0 0;
  color:var(--text-2);
  font-size:1rem;
  line-height:1.45;
}

.PageBody{
  padding:0 0 56px;
}

.PageBody__inner{
  min-width:0;
}

.SectionTitle{
  margin:0 0 20px;
}

.SectionTitle__eyebrow{
  margin:0 0 8px;
  color:var(--accent);
  font-size:.95rem;
  line-height:1.2;
}

.SectionTitle__title{
  margin:0;
}

.SectionTitle__subtitle{
  max-width:720px;
  margin:12px 0 0;
  color:var(--text-2);
  line-height:1.45;
}

@media (min-width: 768px){
  .Breadcrumbs{
    padding:112px 0 12px;
  }

  .PageTitle{
    padding:0 0 28px;
  }

  .PageBody{
    padding:0 0 72px;
  }

  .SectionTitle{
    margin:0 0 24px;
  }
}
