:root{
  --brand:#45903E;
  --brand2:#173A1C;

  --body-bg:#f8f9fa;
  --white:#fff;
  --text-muted:#6c757d;
  --text-brand:#173A1C;


  --white-75:rgba(255,255,255,.78);
  --white-92:rgba(255,255,255,.92);
  --white-10:rgba(255,255,255,.10);
  --white-08:rgba(255,255,255,.08);
  --white-14:rgba(255,255,255,.14);
  --white-16:rgba(255,255,255,.16);
  --white-18:rgba(255,255,255,.18);

  --accent:#173A1C;

  --brand-soft:rgba(12,105,162,.08);
  --brand-border:rgba(12,105,162,.15);
  --brand-border-light:rgba(12,105,162,.10);
  --brand-border-hover:rgba(12,105,162,.24);

  --hero-overlay-start:rgba(23,58,28,.92);
  --hero-overlay-end:rgba(69,144,62,.58);

  --service-shadow:rgba(3,32,54,.08);
  --cookie-shadow:rgba(38,38,38,.16);
}

body.bg-light{
  background:var(--body-bg);
}

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

body {
  background:var(--body-bg);
  font-family: 'Inter', sans-serif;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

.fs-14 {
  font-size: 14px;
}
.fs-13 {
  font-size: 13px;
}
.fs-12 {
  font-size: 12px;
}

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

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

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

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

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

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

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

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

.btn-brand:disabled,
.btn-brand.disabled{
  background:var(--brand2);
  border-color:var(--brand2);
  color:var(--white);
  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:var(--white);
}

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

.phone-badge{
  background:var(--brand-soft);
  color:var(--brand2);
  border:1px solid var(--brand-border);
  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,var(--hero-overlay-start),var(--hero-overlay-end));
}

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

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

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

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

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

.service-tile{
  display:block;
  text-decoration:none;
  background:var(--white);
  border:1px solid var(--brand-border-light);
  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 var(--service-shadow);
  border-color:var(--brand-border-hover);
}

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

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

.service-tile .text{
  color:var(--text-muted);
}

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

  .brand-mark{
    width:40px;
    height:40px;
  }
}

.cookie-banner{
  position:fixed;
  bottom:24px;
  left:24px;
  z-index:1080;
  max-width:480px;
  width:calc(100% - 48px);
  padding:16px 20px;
  background:var(--white);
  border-radius:10px;
  box-shadow:0 12px 24px var(--cookie-shadow);
}

.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;
  }
}