:root{
  --brand:#020035;
  --brand2:#02066F;
}

body.bg-light{
background:#f8f9fa;
}

html {
    scroll-behavior: smooth;
    width: 100%;
    max-width: 100%;
}

body {
    background:#f8f9fa;
    font-family: 'Inter', sans-serif;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}
.fs-14 {
  font-size: 14px;
}

.text-brand{
  color:var(--brand) !important;
}

.bg-brand{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
}

.bg-brand-2{
  background:var(--brand2) !important;
}

.text-white-75{
  color:rgba(255,255,255,.78) !important;
}

.text-accent{
  color:#bcd0ff;
}

.btn-brand{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#fff;
}

.btn-brand:hover{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}

.btn-brand:focus,
.btn-brand:focus-visible,
.btn-brand:active,
.btn-brand.active{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#fff;
  box-shadow:none;
}

.btn-brand:disabled,
.btn-brand.disabled{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#fff;
  opacity:.6;
}

.btn-outline-primary-vk{
  border-color:var(--brand2);
  color:var(--brand2);
}

.btn-outline-primary-vk:hover{
  background:var(--brand2);
  border-color:var(--brand2);
  color:#fff;
}

.brand-mark{
  width:44px;
  height:44px;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
}

.phone-badge{
  background:rgba(2,6,111,.08);
  color:var(--brand2);
  border:1px solid rgba(2,6,111,.15);
  padding:.35rem .6rem;
  border-radius:999px;
  font-weight:600;
}

.hero-card{
  min-height:calc(100vh - 120px);
  position:relative;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:url("../assets/img/pult.webp") center/cover no-repeat;
  transform:scale(1.02);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,rgba(2,0,53,.92),rgba(2,6,111,.55));
}

.hero-content{
  position:relative;
  z-index:2;
}

.hero-chip{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.92);
  padding:.45rem .75rem;
  border-radius:999px;
}

.mini-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:12px 14px;
}

.mini-card i{
  color:rgba(255,255,255,.92);
  font-size:20px;
  display:inline-block;
  margin-bottom:6px;
}

.glass{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.service-tile{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(2,6,111,.10);
  border-radius:18px;
  padding:18px;
  height:100%;
  min-height:180px;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}

.service-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(2,0,53,.08);
  border-color:rgba(2,6,111,.22);
}

.service-tile .icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(2,6,111,.08);
  color:var(--brand2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  margin-bottom:10px;
}

.service-tile .title{
  color:var(--brand);
  font-weight:800;
  margin-bottom:6px;
}

.service-tile .text{
  color:#6c757d;
}

@media (max-width:575.98px){
  .hero-card{
    min-height:calc(100vh - 96px);
  }

  .brand-mark{
    width:40px;
    height:40px;
  }
}
/*cookie-banner*/
.cookie-banner{
  position:fixed;
  bottom:24px;
  left:24px;
  z-index:1080;
  max-width:480px;
  width:calc(100% - 48px);
  padding:16px 20px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 12px 24px rgba(38,38,38,.16);
}

.cookie-banner__inner{flex-wrap:nowrap;}

.cookie-banner a{ text-decoration:underline; }

.cookie-banner a:hover,
.cookie-banner a:focus{ text-decoration:none; }

@media(max-width:767.98px){
  .cookie-banner{
    left:50%;
    transform:translateX(-50%);
    bottom:12px;
    width:calc(100% - 32px);
    max-width:100%;
  }
  .cookie-banner__text{ font-size:12px; }
}

/*_____*/