/* =========================
     0) Variables / Base
  ========================= */
  :root{
    --bg:#fff;
    --muted:#f5f7fb;
    --text:#111827;
    --text2:#4b5563;

    --primary:#1a73e8;
    --primary-2:#0b5bd3;

    --line: rgba(17,24,39,.10);
    --line2: rgba(17,24,39,.08);
    --lineActive: rgba(26,115,232,.28);

    --radius:14px;
    --radiusSm:12px;
    --shadow:0 8px 24px rgba(17,24,39,.06);
    --container:1200px;
  }

  *{box-sizing:border-box}
  html,body{overflow-x:hidden}
  body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;
    color:var(--text);
    background:var(--bg);
  }

  img{max-width:100%;display:block}
  a{color:inherit}
  iframe{max-width:100%}

  .container{max-width:var(--container);margin:0 auto;padding:0 16px}
  .section{padding:64px 0}

  /* =========================
     1) Typography helpers
  ========================= */
  h1,h2,h3{margin:0}
  .t-h2{font-size:clamp(20px, 3.4vw, 36px);line-height:1.15}
  .t-h3{font-size:clamp(16px, 2.4vw, 22px);line-height:1.2}

  /* =========================
     2) Buttons (single system)
  ========================= */
  .btn{
    display:inline-flex;align-items:center;gap:12px;
    padding:18px 26px;border-radius:var(--radius);
    font-weight:800;text-decoration:none;cursor:pointer;user-select:none;
    line-height:1;border:2px solid transparent;background:transparent;
    transition:.15s ease;white-space:nowrap;
    max-width:100%;
  }
  .btn:hover{transform:translateY(-1px)}
  .btn:active{transform:translateY(0)}

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

  .btn--ghost{
    border-color:rgba(26,115,232,.25);
    color:var(--primary);
    background:rgba(26,115,232,.06);
  }
  .btn--ghost:hover{
    background:rgba(26,115,232,.12);
    border-color:rgba(26,115,232,.40);
  }

  .btn--sm{
    font-size:12px;
    padding:10px 14px;
    gap:10px;
    border-radius:var(--radius);
    font-weight:800;
  }

  .btn__icon{
    width:34px;height:34px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--primary);color:#fff;flex:0 0 34px;
    transition:.15s ease;
  }
  .btn__icon svg{width:18px;height:18px;fill:#fff;display:block}

  /* =========================
     3) Header
  ========================= */
  .site-header{background:#fff;border-bottom:1px solid var(--line)}
  .header-top{
    display:flex;align-items:center;gap:18px;
    min-height:78px;min-width:0;
  }

  .header-logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
  .header-logo img{width:140px;height:auto}

  .header-address{
    display:flex;gap:10px;align-items:flex-start;
    color:var(--text2);font-size:12.5px;line-height:1.25;
    max-width:270px;min-width:0;
  }
  .header-address svg{width:18px;height:18px;flex:0 0 18px;margin-top:2px}
  .header-address svg path{fill:var(--primary)}
  .header-address p{margin:0}

  .header-download{border-color:#111 !important;color:#111 !important;background:#fff !important}
  .header-download:hover{background:#111 !important;color:#fff !important;border-color:#111 !important}
  .header-download .btn__icon{background:transparent !important;border:2px solid #111}
  .header-download .btn__icon svg{fill:#111}
  .header-download:hover .btn__icon{border-color:#fff}
  .header-download:hover .btn__icon svg{fill:#fff}

  .header-social{
    display:flex;align-items:center;gap:12px;color:var(--text2);line-height:1.2;
    flex:0 0 auto;min-width:0;
  }
  .header-social p{margin:0;font-size:13px}
  .header-social b{color:var(--text)}

  .online-dot{width:8px;height:8px;border-radius:999px;background:#16a34a;position:relative;flex:0 0 8px}
  .online-dot::after{
    content:"";position:absolute;inset:-8px;border-radius:999px;
    border:2px solid rgba(22,163,74,.25);
    animation:pulse 1.4s ease-out infinite;
  }
  @keyframes pulse{
    0%{transform:scale(.6);opacity:.9}
    70%{transform:scale(1.2);opacity:0}
    100%{transform:scale(1.2);opacity:0}
  }

  /* socials (desktop default) */
  .social-links{display:flex;align-items:center;gap:10px}
  .social-links a{display:inline-flex;transition:.15s ease;text-decoration:none}
  .social-links a:hover{transform:translateY(-1px)}
  .social-links img{width:26px;height:26px;max-width:none;max-height:none;object-fit:contain}

  .header-contacts{
    margin-left:auto;text-align:right;
    display:flex;flex-direction:column;gap:6px;flex:0 0 auto;min-width:0;
  }
  .header-contacts p{margin:0;font-size:12.5px;color:var(--text2)}
  .header-phone{
    font-size:18px;font-weight:900;text-decoration:none;white-space:nowrap;
  }
  .header-phone:hover{color:var(--primary)}
  .header-callback{
    font-size:14px;font-weight:800;color:var(--primary);
    text-decoration:none;border-bottom:1px dashed currentColor;
    width:fit-content;margin-left:auto;transition:.15s ease;white-space:nowrap;
  }
  .header-callback:hover{color:var(--primary-2)}

  .header-burger{
    display:none;
    width:48px;height:48px;border:2px solid rgba(26,115,232,.25);
    border-radius:var(--radiusSm);background:#fff;cursor:pointer;flex:0 0 auto;
  }
  .header-burger span{display:block;height:2px;margin:6px 10px;background:var(--primary);border-radius:2px}

  @media (max-width:1060px){
    .header-address{display:none}
    .header-download{display:none}
    .header-burger{display:block}
  }

  /* =========================
     4) Breadcrumbs
  ========================= */
  .breadcrumbs{padding:18px 0 0;color:var(--text2);font-size:14px}
  .breadcrumbs__nav{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
  .breadcrumbs__link{text-decoration:none;color:var(--text2)}
  .breadcrumbs__link:hover{color:var(--primary)}
  .breadcrumbs__sep{color:rgba(75,85,99,.6)}

  /* =========================
     5) HERO
  ========================= */
  .hero{padding:22px 0 56px}
  .hero__grid{
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap:28px;
    align-items:center;
    min-width:0;
  }
  .hero__left{min-width:0}
  .hero__title{
    margin:14px 0 16px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-0.02em;
    font-size:clamp(28px, 4.6vw, 54px);
    line-height:1.02;
    word-break: normal;
overflow-wrap: break-word; /* переносит только если реально нужно */


  }
  .hero__lead{
    margin:0 0 16px;
    color:var(--text2);
    font-size:clamp(15px, 2.0vw, 18px);
    line-height:1.55;
    max-width:560px;
    overflow-wrap:anywhere;
    hyphens:auto;
  }

  .hero__features{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:14px;
    margin:18px 0 18px;
    max-width:640px;
  }
  .hero__feature{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radiusSm);min-width:0}
  .hero__icon{
    width:44px;height:44px;border-radius:12px;
    border:2px solid rgba(26,115,232,.22);
    background:rgba(26,115,232,.05);
    flex:0 0 44px;
    display:flex;align-items:center;justify-content:center;
    color:var(--primary);font-weight:900;font-size:12px;
  }
  .hero__feature-text{
    font-size:14px;line-height:1.25;font-weight:800;color:var(--text);
    overflow-wrap:anywhere;
    min-width:0;
  }

  .hero__actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}
  .hero__note{color:var(--text2);font-size:13px}
  .hero__image{width:520px;max-width:100%;border-radius:18px;background:#fff}

  @media (max-width:980px){
    .hero__grid{grid-template-columns:1fr}
    .hero__features{grid-template-columns:1fr 1fr}
  }


/* =========================
   5.1) USP / Why us
========================= */
.usp{background:#fff}
.usp__title{margin:0 0 10px}
.usp__lead{
  margin:0 0 22px;
  color:var(--text2);
  line-height:1.55;
  max-width:760px;
}

.usp__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}

.usp__card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.usp__card:hover{border-color:var(--lineActive)}

.usp__icon{
  width:44px;height:44px;
  border-radius:12px;
  border:2px solid rgba(26,115,232,.22);
  background:rgba(26,115,232,.05);
  flex:0 0 44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);
  font-weight:900;
}

.usp__text{min-width:0}
.usp__card-title{
  font-weight:900;
  line-height:1.2;
  font-size:16px;
  overflow-wrap:anywhere;
}
.usp__card-desc{
  margin-top:6px;
  color:var(--text2);
  line-height:1.45;
  font-size:14px;
  overflow-wrap:anywhere;
}

.usp__cta{
  margin-top:18px;
  display:flex;
  justify-content:flex-start;
}

/* Responsive */
@media (max-width:980px){
  .usp__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .usp__cta{justify-content:stretch}
  .usp__cta .btn{width:100%;justify-content:center}
}

/* =========================
   Product XL (1 товар / 1 услуга)
========================= */
.product{background:var(--muted)}
.product__title{margin:0 0 10px}
.product__lead{
  margin:0 0 22px;
  color:var(--text2);
  line-height:1.55;
  max-width:860px;
}

.product__card{
  display:grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap:18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 8px 22px rgba(17,24,39,.06);
  padding:16px;
  min-width:0;
}
.product__media,.product__body{min-width:0}

.product__img{
  height:320px;
  border-radius:14px;
  border:1px solid var(--line2);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
}
.product__thumbs{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px;
}
.product__thumb{
  height:72px;
  border-radius:12px;
  border:1px solid var(--line2);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:rgba(75,85,99,.55);
  font-weight:800;
  font-size:12px;
}

.product__name{
  margin:0 0 12px;
  font-size:20px;
  font-weight:900;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.product__facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
  margin-bottom:14px;
}
.product__fact{
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  background:#fff;
}
.product__label{font-size:12px;color:var(--text2);line-height:1.2}
.product__value{margin-top:6px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.product__muted{color:rgba(75,85,99,.75);font-weight:700}

.product__specs-title,
.product__tnved-title{
  font-weight:900;
  margin:10px 0 8px;
}
.product__list{
  margin:0;
  padding:0 0 0 18px;
  color:var(--text2);
  line-height:1.5;
  font-size:14px;
}
.product__list li{margin:6px 0}

.product__tnved{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
}
.product__tnved-value{font-weight:900;overflow-wrap:anywhere}

.product__actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.product__btn{padding:14px 18px}

.product__note{
  margin-top:12px;
  color:var(--text2);
  line-height:1.45;
  font-size:14px;
}

@media (max-width:980px){
  .product__card{grid-template-columns:1fr}
  .product__img{height:280px}
  .product__thumbs{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width:520px){
  .product__facts{grid-template-columns:1fr}
  .product__actions{justify-content:stretch}
  .product__actions .btn{width:100%;justify-content:center}
}
/* =========================
   USECASES
========================= */
.usecases {
  padding: 72px 0;
}

.usecases__title {
  margin: 0 0 12px;
}

.usecases__lead {
  max-width: 720px;
  margin: 0 0 32px;
  color: #5f6673;
}

.usecases__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.usecases__card {
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: 22px;
  border: 1px solid #e7ebf0;
  border-radius: 20px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.usecases__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  border-color: #d9e1ea;
}

.usecases__badge {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f6fa;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  color: #3d4756;
}

.usecases__name {
  margin: 0 0 10px;
}

.usecases__text {
  color: #5f6673;
  line-height: 1.55;
}

.usecases__more {
  margin-top: auto;
  padding-top: 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .usecases__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .usecases {
    padding: 56px 0;
  }

  .usecases__grid {
    grid-template-columns: 1fr;
  }

  .usecases__card {
    min-height: unset;
    padding: 18px;
    border-radius: 16px;
  }
}
/* =========================
   Related products / variants
========================= */

.related{
  background:#fff;
}

.related__title{
  margin:0 0 8px;
}

.related__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

/* 🔥 авто-сетка: 1 / 2 / 3+ карточек */
.related__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.related__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:14px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  display:flex;
  flex-direction:column;
  min-width:0;
}

.related__img{
  width:100%;
  aspect-ratio: 4 / 3;
  border-radius:12px;
  border:1px solid var(--line2);
  background:#f9fafb;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  color:rgba(75,85,99,.6);
  font-weight:800;
  overflow:hidden;
  margin-bottom:10px;
}

.related__name{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.related__specs{
  margin:0 0 10px;
  padding:0 0 0 16px;
  font-size:13px;
  color:var(--text2);
  line-height:1.45;
}

.related__specs li{margin:4px 0}

.related__price{
  margin-top:auto;
  font-size:15px;
  font-weight:900;
}

.related__actions{
  margin-top:10px;
}

.related__btn{
  width:100%;
  justify-content:center;
  padding:12px 16px;
}

/* MOBILE */
@media (max-width:520px){
  .related__img{aspect-ratio:1 / 1}
}

/* ===============================
   БЛОК: Документы и условия
   =============================== */

.docs {
  background: #fff;
}

.docs__title {
  margin: 0 0 28px;
  font-size: clamp(22px, 3.6vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.docs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px 22px;
}

.docs__item {
  display: flex;
  gap: 14px;
  padding: 16px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 6px 16px rgba(17,24,39,.04);
}

.docs__item:hover {
  border-color: var(--lineActive);
}

.docs__icon {
  flex: 0 0 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(26,115,232,.08);
  color: var(--primary);
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.docs__content {
  min-width: 0;
}

.docs__name {
  font-weight: 900;
  font-size: 15px;
  margin-bottom: 4px;
}

.docs__text {
  font-size: 14px;
  line-height: 1.45;
  color: var(--text2);
}

.docs__note {
  margin-top: 22px;
  font-size: 13px;
  color: var(--text2);
  max-width: 760px;
}

/* Адаптив */
@media (max-width: 900px) {
  .docs__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px) {
  .docs__grid {
    grid-template-columns: 1fr;
  }
  .docs__item {
    padding: 14px;
  }
}
/* =========================
   БЛОК: Сервис и сопровождение
========================= */
.service{background:#fff}

.service__title{margin:0 0 8px}
.service__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.service__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.service__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:14px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
  display:flex;
  flex-direction:column;
}
.service__card:hover{border-color:var(--lineActive)}

.service__top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
  min-width:0;
}
.service__icon{
  width:44px;height:44px;
  border-radius:12px;
  border:2px solid rgba(26,115,232,.22);
  background:rgba(26,115,232,.05);
  flex:0 0 44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);
  font-weight:900;
}
.service__name{
  margin:0;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
  min-width:0;
}

.service__text{
  color:var(--text2);
  line-height:1.45;
  font-size:14px;
  margin-bottom:10px;
}

.service__list{
  margin:0 0 10px;
  padding:0 0 0 16px;
  font-size:13px;
  color:var(--text2);
  line-height:1.45;
}
.service__list li{margin:4px 0}

.service__actions{margin-top:auto}
.service__btn{
  width:100%;
  justify-content:center;
  padding:12px 16px;
}

.service__note{
  margin-top:16px;
  color:var(--text2);
  font-size:13px;
  max-width:860px;
}

/* =========================
   БЛОК: Процесс работ
========================= */
.process{background:var(--muted)}
.process__title{margin:0 0 8px}
.process__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

/* авто-сетка: 1/2/3+ */
.process__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.process__item{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.process__item:hover{border-color:var(--lineActive)}

.process__num{
  width:44px;height:44px;
  border-radius:12px;
  border:2px solid rgba(26,115,232,.22);
  background:rgba(26,115,232,.06);
  color:var(--primary);
  font-weight:900;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}

.process__name{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.process__text{
  color:var(--text2);
  font-size:14px;
  line-height:1.45;
  margin-bottom:10px;
}

.process__list{
  margin:0;
  padding:0 0 0 16px;
  font-size:13px;
  color:var(--text2);
  line-height:1.45;
}
.process__list li{margin:4px 0}

.process__cta{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

@media (max-width:520px){
  .process__cta{justify-content:stretch}
  .process__cta .btn{width:100%;justify-content:center}
}

/* =========================
   БЛОК: Сроки
========================= */
.timing{background:#fff}
.timing__title{margin:0 0 8px}
.timing__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.timing__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.timing__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.timing__card:hover{border-color:var(--lineActive)}

.timing__top{
  display:flex;align-items:center;gap:12px;
  margin-bottom:10px;min-width:0;
}
.timing__icon{
  width:44px;height:44px;
  border-radius:12px;
  border:2px solid rgba(26,115,232,.22);
  background:rgba(26,115,232,.06);
  flex:0 0 44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-weight:900;
}
.timing__name{
  margin:0;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
  min-width:0;
}

.timing__value{
  font-size:18px;
  font-weight:900;
  margin-bottom:6px;
}
.timing__text{
  color:var(--text2);
  font-size:14px;
  line-height:1.45;
}

.timing__factors{
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:16px;
}
.timing__sub{margin:0 0 12px;font-weight:900}
.timing__fgrid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:10px 12px;
}
.timing__factor{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
  font-weight:800;
  color:var(--text2);
  overflow-wrap:anywhere;
}
.timing__note{
  margin-top:12px;
  color:var(--text2);
  font-size:13px;
  line-height:1.45;
}

.timing__cta{
  margin-top:16px;
  display:flex;
  justify-content:center;
}
@media (max-width:520px){
  .timing__cta{justify-content:stretch}
  .timing__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Цена / факторы стоимости
========================= */
.price{background:var(--muted)}
.price__title{margin:0 0 8px}
.price__lead{
  margin:0 0 24px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.price__grid{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:24px;
}

/* Левая колонка */
.price__box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.price__label{
  color:var(--text2);
  font-size:14px;
  margin-bottom:6px;
}
.price__value{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:10px;
}
.price__amount{
  font-size:clamp(28px, 4vw, 44px);
  font-weight:900;
  letter-spacing:-0.02em;
}
.price__currency{
  font-size:16px;
  font-weight:800;
}
.price__note{
  color:var(--text2);
  font-size:14px;
  line-height:1.45;
  margin-bottom:14px;
}
.price__actions{margin-top:10px}

.price__disclaimer{
  margin-top:10px;
  font-size:12px;
  color:var(--text2);
}

/* Правая колонка */
.price__factors{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
}
.price__sub{margin:0 0 14px;font-weight:900}

.price__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.price__list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.45;
  color:var(--text2);
}
.price__list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--primary);
  font-weight:900;
}

/* Адаптив */
@media (max-width:900px){
  .price__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .price__actions .btn{
    width:100%;
    justify-content:center;
  }
}
/* =========================
   БЛОК: E-E-A-T
========================= */
.eeat{background:#fff}
.eeat__title{margin:0 0 8px}
.eeat__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.eeat__grid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:18px;
  align-items:start;
}

.eeat__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:18px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.eeat__card:hover{border-color:var(--lineActive)}

.eeat__head{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:10px;
  min-width:0;
}
.eeat__logo{
  width:54px;height:54px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(75,85,99,.65);
  flex:0 0 54px;
}
.eeat__name{font-weight:900;font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.eeat__role{color:var(--text2);font-size:13px;line-height:1.2}

.eeat__desc{
  color:var(--text2);
  line-height:1.55;
  font-size:14px;
  margin-bottom:12px;
}

.eeat__badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.eeat__badge{
  font-size:12px;
  font-weight:900;
  color:var(--primary);
  background:rgba(26,115,232,.08);
  border:1px solid rgba(26,115,232,.18);
  padding:6px 10px;
  border-radius:999px;
}

.eeat__actions{margin-top:8px}
.eeat__actions .btn{max-width:100%}

.eeat__meta{
  margin-top:12px;
  color:var(--text2);
  font-size:12px;
  line-height:1.45;
}

/* правая колонка */
.eeat__side{display:flex;flex-direction:column;gap:16px;min-width:0}

.eeat__stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.eeat__stat{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:12px;
}
.eeat__statnum{
  font-weight:900;
  font-size:18px;
}
.eeat__stattext{
  color:var(--text2);
  font-size:13px;
  line-height:1.25;
}

.eeat__ratingbox{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.eeat__ratingtitle{font-weight:900;margin-bottom:8px}
.eeat__ratingrow{display:flex;gap:10px;align-items:center;justify-content:space-between}
.eeat__stars{color:var(--primary);font-weight:900;letter-spacing:1px}
.eeat__score{color:var(--text2)}
.eeat__ratingmeta{margin-top:8px;color:var(--text2);font-size:13px;line-height:1.35}

.eeat__ratinglinks{
  margin-top:10px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.eeat__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.eeat__link:hover{color:var(--primary-2)}

.eeat__docs{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.eeat__docitem{
  display:flex;gap:12px;align-items:flex-start;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:12px;
}
.eeat__docicon{
  width:38px;height:38px;border-radius:12px;
  border:2px solid rgba(26,115,232,.22);
  background:rgba(26,115,232,.06);
  flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-weight:900;
}
.eeat__docname{font-weight:900;font-size:14px;line-height:1.2}
.eeat__doctext{color:var(--text2);font-size:13px;line-height:1.3;margin-top:4px}

/* адаптив */
@media (max-width:980px){
  .eeat__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .eeat__stats{grid-template-columns:1fr 1fr}
  .eeat__actions .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Что входит / что не входит
========================= */
.scope{background:var(--muted)}
.scope__title{margin:0 0 8px}
.scope__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.scope__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}

.scope__col{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:18px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.scope__col:hover{border-color:var(--lineActive)}

.scope__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  min-width:0;
}

.scope__icon{
  width:44px;height:44px;
  border-radius:12px;
  flex:0 0 44px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  border:2px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  color:var(--primary);
}

/* акценты мягкие, без “красного/зелёного крика” */
.scope__icon--in{
  border-color:rgba(26,115,232,.22);
}
.scope__icon--out{
  border-color:rgba(17,24,39,.12);
  background:rgba(17,24,39,.04);
  color:rgba(17,24,39,.70);
}

.scope__name{margin:0;font-weight:900}

.scope__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.scope__list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.45;
  color:var(--text2);
}
.scope__list li::before{
  content:"•";
  position:absolute;
  left:0;top:0;
  color:var(--primary);
  font-weight:900;
}

.scope__col--out .scope__list li::before{
  color:rgba(17,24,39,.35);
}

.scope__note{
  margin-top:14px;
  color:var(--text2);
  font-size:13px;
  line-height:1.45;
}

.scope__footer{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.scope__footertext{
  color:var(--text2);
  line-height:1.45;
  max-width:760px;
}
.scope__cta{margin-left:auto}

@media (max-width:900px){
  .scope__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .scope__cta{width:100%}
  .scope__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Гарантии / ограничения
========================= */
.guarantee{background:#fff}
.guarantee__title{margin:0 0 8px}
.guarantee__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:860px;
  line-height:1.5;
}

.guarantee__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}

.guarantee__col{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:18px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.guarantee__col:hover{border-color:var(--lineActive)}

.guarantee__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  min-width:0;
}

.guarantee__icon{
  width:44px;height:44px;
  border-radius:12px;
  flex:0 0 44px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  border:2px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  color:var(--primary);
}

/* не делаем красным — оставляем “деловой” вид */
.guarantee__icon--no{
  border-color:rgba(17,24,39,.14);
  background:rgba(17,24,39,.04);
  color:rgba(17,24,39,.75);
}

.guarantee__name{margin:0;font-weight:900}

.guarantee__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.guarantee__list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.45;
  color:var(--text2);
}
.guarantee__list li::before{
  content:"•";
  position:absolute;
  left:0;top:0;
  color:var(--primary);
  font-weight:900;
}
.guarantee__col--no .guarantee__list li::before{
  color:rgba(17,24,39,.35);
}

.guarantee__note{
  margin-top:14px;
  color:var(--text2);
  font-size:13px;
  line-height:1.45;
}

.guarantee__footer{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.guarantee__footertext{
  color:var(--text2);
  line-height:1.45;
  max-width:860px;
}
.guarantee__cta{margin-left:auto}

@media (max-width:900px){
  .guarantee__grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .guarantee__cta{width:100%}
  .guarantee__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Отзывы
========================= */
.reviews{background:var(--muted)}

.reviews__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.reviews__title{margin:0 0 8px}
.reviews__lead{
  margin:0;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.reviews__summary{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:14px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:260px;
}
.reviews__score{display:flex;align-items:baseline;gap:10px}
.reviews__scoreNum{font-weight:900;font-size:28px;letter-spacing:-0.02em}
.reviews__scoreMeta{color:var(--text2);font-size:13px}
.reviews__stars{color:var(--primary);font-weight:900;letter-spacing:1px;margin-top:4px}
.reviews__count{color:var(--text2);font-size:13px;margin-top:6px}

.reviews__platforms{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.reviews__platform{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  color:var(--primary);
  font-weight:900;
  font-size:12px;
  text-decoration:none;
}
.reviews__platform:hover{
  background:rgba(26,115,232,.12);
  border-color:rgba(26,115,232,.32);
  color:var(--primary-2);
}

.reviews__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.reviews__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  min-width:0;
}
.reviews__card:hover{border-color:var(--lineActive)}

.reviews__top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
  min-width:0;
}
.reviews__avatar{
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(75,85,99,.65);
  flex:0 0 44px;
}
.reviews__who{min-width:0}
.reviews__name{font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.reviews__meta{color:var(--text2);font-size:12.5px;line-height:1.2;margin-top:2px}
.reviews__rate{margin-left:auto;color:var(--primary);font-weight:900;letter-spacing:1px;flex:0 0 auto}

.reviews__text{
  color:var(--text2);
  font-size:14px;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.reviews__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.reviews__tag{
  font-size:12px;
  font-weight:900;
  color:rgba(17,24,39,.70);
  background:rgba(17,24,39,.04);
  border:1px solid rgba(17,24,39,.10);
  padding:6px 10px;
  border-radius:999px;
}

.reviews__links{margin-top:12px}
.reviews__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.reviews__link:hover{color:var(--primary-2)}

.reviews__cta{
  margin-top:18px;
  display:flex;
  justify-content:center;
}
@media (max-width:520px){
  .reviews__summary{width:100%}
  .reviews__cta{justify-content:stretch}
  .reviews__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Кейсы / объекты
========================= */
.cases{background:#fff}

.cases__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.cases__title{margin:0 0 8px}
.cases__lead{
  margin:0;
  color:var(--text2);
  max-width:780px;
  line-height:1.5;
}

.cases__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}

/* Карточка — горизонтальная на десктопе */
.cases__card{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  overflow:hidden;
  min-width:0;
}
.cases__card:hover{border-color:var(--lineActive)}

.cases__media{
  position:relative;
  background:var(--muted);
  min-height:260px;
}
.cases__img{
  height:100%;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
}
.cases__badge{
  position:absolute;
  left:12px;
  top:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.08);
  color:var(--primary);
  font-size:12px;
  font-weight:900;
}

.cases__body{
  padding:16px;
  min-width:0;
}
.cases__name{
  margin:0 0 10px;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.cases__meta{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.cases__metaItem{
  border:1px solid var(--line);
  background:var(--muted);
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  color:var(--text2);
  line-height:1.25;
  min-width:0;
  overflow-wrap:anywhere;
}
.cases__metaItem span{color:rgba(17,24,39,.75);font-weight:900}

.cases__blocks{
  display:grid;
  gap:10px;
}
.cases__block{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px;
}
.cases__label{
  font-weight:900;
  font-size:13px;
  margin-bottom:6px;
}
.cases__text{
  color:var(--text2);
  font-size:13.5px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

/* мини до/после */
.cases__mini{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cases__miniItem{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--muted);
  padding:10px;
}
.cases__miniCap{
  font-size:12px;
  color:var(--text2);
  font-weight:900;
  margin-bottom:8px;
}
.cases__miniImg{
  height:90px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
}

.cases__links{
  margin-top:12px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.cases__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.cases__link:hover{color:var(--primary-2)}

.cases__cta{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

@media (max-width:980px){
  .cases__card{grid-template-columns:1fr}
  .cases__media{min-height:220px}
  .cases__meta{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .cases__meta{grid-template-columns:1fr}
  .cases__cta{justify-content:stretch}
  .cases__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Фото до/после
========================= */
.beforeafter{background:var(--muted)}
.beforeafter__title{margin:0 0 8px}
.beforeafter__lead{
  margin:0 0 22px;
  color:var(--text2);
  max-width:760px;
  line-height:1.5;
}

.beforeafter__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
}

.beforeafter__pair{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  padding:16px;
  min-width:0;
}
.beforeafter__pair:hover{border-color:var(--lineActive)}

.beforeafter__pairHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.beforeafter__pairTitle{
  font-weight:900;
  font-size:16px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.beforeafter__pairMeta{
  color:var(--text2);
  font-size:13px;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.beforeafter__imgs{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}

.beforeafter__imgBox{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--muted);
  min-width:0;
}
.beforeafter__cap{
  padding:10px 12px;
  font-weight:900;
  font-size:13px;
  color:var(--text2);
  background:#fff;
  border-bottom:1px solid var(--line);
}
.beforeafter__img{
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--muted);
  color:rgba(75,85,99,.65);
  font-weight:900;
}

.beforeafter__note{
  margin-top:12px;
  color:var(--text2);
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.beforeafter__cta{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

@media (max-width:900px){
  .beforeafter__img{height:200px}
}
@media (max-width:520px){
  .beforeafter__imgs{grid-template-columns:1fr}
  .beforeafter__img{height:200px}
  .beforeafter__cta{justify-content:stretch}
  .beforeafter__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Сертификаты
========================= */
.certs{background:#fff}

.certs__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.certs__title{margin:0 0 8px}
.certs__lead{
  margin:0;
  color:var(--text2);
  max-width:780px;
  line-height:1.5;
}

.certs__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.certs__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  overflow:hidden;
  min-width:0;
}
.certs__card:hover{border-color:var(--lineActive)}

.certs__preview{
  height:180px;
  background:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
  border-bottom:1px solid var(--line);
}

.certs__body{padding:14px}
.certs__name{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.certs__meta{
  color:var(--text2);
  font-size:12.5px;
  line-height:1.25;
  margin-bottom:10px;
  overflow-wrap:anywhere;
}
.certs__text{
  color:var(--text2);
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.certs__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.certs__tag{
  font-size:12px;
  font-weight:900;
  color:var(--primary);
  background:rgba(26,115,232,.06);
  border:1px solid rgba(26,115,232,.18);
  padding:6px 10px;
  border-radius:999px;
}

.certs__links{
  margin-top:12px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.certs__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.certs__link:hover{color:var(--primary-2)}

.certs__footer{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.certs__footerText{
  color:var(--text2);
  line-height:1.45;
  max-width:860px;
}
.certs__cta{margin-left:auto}

@media (max-width:520px){
  .certs__cta{width:100%}
  .certs__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Команда
========================= */
.team{background:var(--muted)}

.team__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.team__title{margin:0 0 8px}
.team__lead{
  margin:0;
  color:var(--text2);
  max-width:780px;
  line-height:1.5;
}

.team__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.team__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  overflow:hidden;
  min-width:0;
}
.team__card:hover{border-color:var(--lineActive)}

.team__media{
  position:relative;
  background:var(--muted);
}
.team__photo{
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
  border-bottom:1px solid var(--line);
}
.team__badge{
  position:absolute;
  left:12px;
  top:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.08);
  color:var(--primary);
  font-size:12px;
  font-weight:900;
}

.team__body{padding:14px}
.team__name{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.team__role{
  color:var(--text2);
  font-size:13px;
  line-height:1.25;
  margin-bottom:12px;
}

.team__facts{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.team__fact{
  border:1px solid var(--line);
  background:var(--muted);
  border-radius:14px;
  padding:10px 12px;
  color:var(--text2);
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.team__fact span{color:rgba(17,24,39,.75);font-weight:900}

.team__skills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.team__skill{
  font-size:12px;
  font-weight:900;
  color:rgba(17,24,39,.70);
  background:rgba(17,24,39,.04);
  border:1px solid rgba(17,24,39,.10);
  padding:6px 10px;
  border-radius:999px;
}

.team__links{
  margin-top:12px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.team__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.team__link:hover{color:var(--primary-2)}

.team__footer{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.team__footerText{
  color:var(--text2);
  line-height:1.45;
  max-width:860px;
}
.team__cta{margin-left:auto}

@media (max-width:520px){
  .team__photo{height:200px}
  .team__cta{width:100%}
  .team__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: География / районы
========================= */
.geo{background:#fff}

.geo__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.geo__title{margin:0 0 8px}
.geo__lead{
  margin:0;
  color:var(--text2);
  max-width:820px;
  line-height:1.5;
}

.geo__grid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap:16px;
  align-items:start;
  min-width:0;
}
.geo__map,.geo__right{min-width:0}

.geo__mapBox{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  overflow:hidden;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.geo__mapTitle{
  padding:12px 14px;
  background:#fff;
  border-bottom:1px solid var(--line);
  font-weight:900;
}
.geo__mapMock{
  height:340px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(75,85,99,.65);
  font-weight:900;
}

.geo__rules{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:14px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.geo__rulesTitle{
  font-weight:900;
  margin-bottom:10px;
}
.geo__rulesList{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.geo__rulesList li{
  position:relative;
  padding-left:18px;
  color:var(--text2);
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.geo__rulesList li::before{
  content:"•";
  position:absolute;left:0;top:0;
  color:var(--primary);
  font-weight:900;
}

.geo__listCard{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.geo__listTitle{margin:0 0 8px;font-weight:900}
.geo__listLead{margin:0 0 12px;color:var(--text2);line-height:1.45}

.geo__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.geo__chip{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  color:var(--primary);
  font-weight:900;
  font-size:13px;
  text-decoration:none;
}
.geo__chip:hover{
  background:rgba(26,115,232,.12);
  border-color:rgba(26,115,232,.32);
  color:var(--primary-2);
}

.geo__hint{
  margin-top:12px;
  color:var(--text2);
  font-size:13px;
  line-height:1.45;
}

.geo__facts{
  margin-top:12px;
  display:grid;
  gap:10px;
}
.geo__fact{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--muted);
  padding:12px 14px;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.geo__factIcon{
  width:34px;height:34px;
  border-radius:12px;
  border:2px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(26,115,232,.9);
  flex:0 0 34px;
}
.geo__factText{
  color:var(--text2);
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.geo__factText b{color:var(--text)}

.geo__cta{
  margin-top:12px;
  display:flex;
  justify-content:flex-start;
}

@media (max-width:980px){
  .geo__grid{grid-template-columns:1fr}
  .geo__mapMock{height:300px}
}
@media (max-width:520px){
  .geo__cta{justify-content:stretch}
  .geo__cta .btn{width:100%;justify-content:center}
}
/* =========================
   БЛОК: Доп. услуги
========================= */
.addons{background:var(--muted)}

.addons__head{
  display:block;
  margin-bottom:18px;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.addons__title{margin:0 0 8px}
.addons__lead{
  margin:0;
  color:var(--text2);
  max-width:820px;
  line-height:1.5;
}

.addons__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:16px;
}

.addons__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 6px 16px rgba(17,24,39,.04);
  padding:16px;
  display:flex;
  gap:12px;
  min-width:0;
}
.addons__card:hover{border-color:var(--lineActive)}

.addons__icon{
  width:48px;height:48px;
  border-radius:14px;
  border:2px solid rgba(26,115,232,.18);
  background:rgba(26,115,232,.06);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:rgba(26,115,232,.9);
  flex:0 0 48px;
}
.addons__body{min-width:0}

.addons__name{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.addons__text{
  color:var(--text2);
  font-size:14px;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.addons__meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.addons__price{
  font-weight:900;
  color:var(--text);
  background:var(--muted);
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
}
.addons__time{
  color:var(--text2);
  background:var(--muted);
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
}

.addons__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.addons__tag{
  font-size:12px;
  font-weight:900;
  color:var(--primary);
  background:rgba(26,115,232,.06);
  border:1px solid rgba(26,115,232,.18);
  padding:6px 10px;
  border-radius:999px;
}

.addons__actions{
  margin-top:12px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.addons__link{
  color:var(--primary);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
  font-weight:900;
}
.addons__link:hover{color:var(--primary-2)}

.addons__footer{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.addons__footerText{
  color:var(--text2);
  line-height:1.45;
  max-width:860px;
}
.addons__cta{margin-left:auto}

@media (max-width:520px){
  .addons__card{padding:14px}
  .addons__icon{width:44px;height:44px;flex:0 0 44px}
  .addons__cta{width:100%}
  .addons__cta .btn{width:100%;justify-content:center}
}
/* === Addons tweaks: list + no-icon mode + чуть “разряженнее” === */
.addons__list{
  margin:10px 0 0;
  padding:0 0 0 18px;
  color:var(--text2);
  font-size:14px;
  line-height:1.55;
}
.addons__list li{margin:4px 0}

/* когда icon_type = none */
.addons__card--noicon{
  gap:0; /* убираем пустое расстояние */
}
/* =========================
   БЛОК: Финальный CTA
========================= */
.final-cta{
  background: linear-gradient(
    180deg,
    rgba(26,115,232,.06),
    rgba(26,115,232,.02)
  );
}

.final-cta__box{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:36px;
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:32px;
  align-items:center;
  box-shadow:0 8px 24px rgba(17,24,39,.06);
}

.final-cta__content{min-width:0}

.final-cta__title{
  margin:0 0 14px;
  font-size:clamp(22px,3.2vw,36px);
  line-height:1.15;
}

.final-cta__lead{
  margin:0 0 18px;
  color:var(--text2);
  line-height:1.55;
  max-width:640px;
}

.final-cta__points{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.final-cta__points li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.45;
}
.final-cta__points li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--primary);
  font-weight:900;
}

.final-cta__actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
}

.final-cta__note{
  font-size:13px;
  color:var(--text2);
}

@media (max-width:980px){
  .final-cta__box{
    grid-template-columns:1fr;
    gap:20px;
    padding:26px;
  }
}

@media (max-width:520px){
  .final-cta__actions{
    width:100%;
  }
  .final-cta__actions .btn{
    width:100%;
    justify-content:center;
  }
}

  /* =========================
     6) FAQ
  ========================= */
  .faq{background:var(--muted)}
  .faq__title{
    margin:0 0 26px;
    font-size:clamp(20px, 3.2vw, 34px);
    letter-spacing:-0.01em;
    line-height:1.15;
  }
  .faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
  .faq__item{
    background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);
    padding:16px;
    box-shadow:0 6px 16px rgba(17,24,39,.04);
    min-width:0;
  }
  .faq__item:hover{border-color:var(--lineActive)}
  .faq__question{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
    background:transparent;border:0;padding:0;cursor:pointer;text-align:left;
    min-width:0;
  }
  .faq__qtext{font-size:clamp(14px, 2.0vw, 17px);line-height:1.25;font-weight:650;min-width:0;overflow-wrap:anywhere}
  .faq__plus{
    width:38px;height:38px;border-radius:999px;background:var(--primary);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 38px;
    transition:.15s ease;
  }
  .faq__item:hover .faq__plus{background:var(--primary-2)}
  .faq__answer{padding-top:12px;color:var(--text2);font-size:16px;line-height:1.55;overflow-wrap:anywhere}
  .faq__more{margin-top:22px}
  .faq__cta{margin-top:26px;display:flex;justify-content:center}

  @media (max-width:900px){.faq__grid{grid-template-columns:1fr}}

  .faq__morelink{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--primary);
    font-weight:800;
    text-decoration:none;
    border-bottom:1px dotted rgba(26,115,232,.55);
    cursor:pointer;
    padding:6px 0;
    background:transparent;
    border-top:0;border-left:0;border-right:0;
    max-width:100%;
  }
  .faq__morelink:hover{color:var(--primary-2);border-bottom-color:rgba(11,91,211,.7)}
  .faq__morelink svg{width:16px;height:16px;fill:currentColor}

  /* =========================
     7) CONTACTS
  ========================= */
  .contacts{padding:64px 0}
  .contacts__container{
    display:grid;
    grid-template-columns: 0.95fr 1.05fr 1.25fr;
    gap:34px;
    align-items:start;
    min-width:0;
  }

  .contacts__info,
  .contacts__images,
  .contacts__address{min-width:0}

  .contacts__info-title{
    margin:0 0 18px;
    font-size:clamp(26px, 3.8vw, 44px);
    line-height:1.05;
    letter-spacing:-0.02em;
    overflow-wrap:anywhere;
  }
  .contacts__info-container{display:flex;flex-direction:column;gap:16px}
  .contacts__row{display:flex;gap:14px;align-items:flex-start;min-width:0}
  .contacts__row svg{width:18px;height:18px;margin-top:4px;flex:0 0 18px}
  .contacts__row svg path{fill:var(--primary)}
  .contacts__value{color:var(--text2);line-height:1.35;min-width:0;overflow-wrap:anywhere}
  .contacts__value a{color:var(--text);font-weight:900;text-decoration:none}
  .contacts__value a:hover{color:var(--primary)}

  .contacts__social-block{margin-top:18px}
  .contacts__social-title{margin:0 0 10px;color:var(--text2)}
  .contacts__social-icons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .contacts__social-icons a{display:inline-flex;transition:.15s ease}
  .contacts__social-icons a:hover{transform:translateY(-1px)}
  .contacts__social-icons img{width:30px;height:30px}

  .contacts__links{margin-top:16px}
  .contacts__link{color:var(--primary);text-decoration:none;border-bottom:1px dotted currentColor;font-weight:800}
  .contacts__link:hover{color:var(--primary-2)}

  .contacts__images{display:flex;flex-direction:column;gap:22px}
  .contacts__images-item p{margin:0 0 10px;font-size:18px;font-weight:900;overflow-wrap:anywhere}
  .contacts__images-grid{
    display:grid;
    grid-template-columns: 1.7fr 1fr;
    grid-auto-rows: 118px;
    gap:10px;
    min-width:0;
  }
  .contacts__thumb{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 6px 16px rgba(17,24,39,.04);
    background:#fff;
    min-width:0;
  }
  .contacts__thumb:hover{border-color:var(--lineActive)}
  .contacts__thumb img{width:100%;height:100%;object-fit:cover}
  .contacts__thumb.big{grid-row:1 / span 2}

  .contacts__address-head{
    display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px;
    min-width:0
  }
  .contacts__address-title{margin:0;font-size:20px;font-weight:900;overflow-wrap:anywhere}
  .contacts__address-link{
    color:var(--primary);text-decoration:none;border-bottom:1px dotted currentColor;font-weight:800;
    white-space:nowrap;
  }
  .contacts__address-link:hover{color:var(--primary-2)}
  .contacts__map-frame{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    min-width:0;
  }
  .contacts__map-frame iframe{width:100%;height:560px;border:0;display:block}

  @media (max-width:1100px){
    .contacts__container{grid-template-columns:1fr;gap:26px}
    .contacts__map-frame iframe{height:420px}
    .contacts__images-grid{grid-template-columns: 1.6fr 1fr; grid-auto-rows: 130px;}
    .contacts__address-link{white-space:normal}
  }

  /* =========================
     8) Footer
  ========================= */
  .site-footer{background:#0b1220;color:rgba(255,255,255,.86);padding:34px 0;margin-top:40px}
  .footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .footer__brand{display:flex;align-items:center;gap:12px}
  .footer__brand img{width:140px;height:auto;filter:brightness(0) invert(1);opacity:.92}
  .footer__meta{margin-top:12px;color:rgba(255,255,255,.70);font-size:13px;line-height:1.5;max-width:560px}
  .footer__links{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right}
  .footer__links a{color:rgba(255,255,255,.86);text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.50);width:fit-content;margin-left:auto}
  .footer__links a:hover{color:#fff;border-bottom-color:#fff}
  .footer__bottom{
    margin-top:18px;padding-top:14px;
    border-top:1px solid rgba(255,255,255,.10);
    color:rgba(255,255,255,.60);
    font-size:12px;
    display:flex;flex-wrap:wrap;gap:10px;
    justify-content:space-between;
  }
  @media (max-width:820px){
    .footer__grid{grid-template-columns:1fr}
    .footer__links{align-items:flex-start;text-align:left}
    .footer__links a{margin-left:0}
  }

  /* =========================
     9) MOBILE (single block)
  ========================= */
  @media (max-width:520px){
    /* layout padding on mobile */
    .container{padding:0 14px}

    /* CTA compact */
    .btn{
      padding:14px 18px;
      font-size:14px;
      border-radius:14px;
      white-space:normal;
    }
    .btn__icon{width:30px;height:30px;flex:0 0 30px}
    .btn__icon svg{width:16px;height:16px}

    /* header sticky + compact */
    .site-header{
      position:sticky;
      top:0;
      z-index:9999;
      background:#fff;
    }
    .header-top{
      gap:6px;
      min-height:56px;
      flex-wrap:nowrap;
    }

    /* you already tuned logo to 60px */
    .header-logo{flex:0 0 auto;max-width:92px}
    .header-logo img{width:60px;max-width:60px;height:auto}

    /* remove “we online” on mobile */
    .header-social{margin-left:auto;gap:6px}
    .header-social p{display:none !important}
    .online-dot{display:none !important}

    /* chat icons tight */
    .social-links{gap:2px}
    .social-links a{
      width:22px;height:22px;
      display:inline-flex;align-items:center;justify-content:center;
      flex-shrink:0;
      margin:0;
    }
    .social-links img{width:16px;height:16px;max-width:none;max-height:none;object-fit:contain}

    /* contacts smaller */
    .header-contacts{margin-left:6px;gap:2px;text-align:right}
    .header-contacts p{display:none}
    .header-phone{font-size:clamp(12px, 3.6vw, 15px);line-height:1.05}
    .header-callback{font-size:clamp(10px, 3.0vw, 12px);line-height:1.05;margin-top:0}

    /* burger smaller */
    .header-burger{
      display:block;
      width:36px;height:36px;
      margin-left:4px;
      border-radius:12px;
    }
    .header-burger span{margin:5px 9px}

    /* HERO mobile order already correct */
    .hero{padding:16px 0 44px}
    .hero__grid{grid-template-columns:1fr;gap:14px}
    .hero__left{display:contents}
    .hero__title{
      grid-row:1;
      font-size:clamp(24px, 8.2vw, 34px);
      line-height:1.02;
      margin:10px 0 10px;
    }
    .hero__lead{
      grid-row:2;
      font-size:clamp(14px, 4.4vw, 16px);
      margin-bottom:6px;
    }
    .hero__right{grid-row:3}
    .hero__features{
      grid-row:4;
      grid-template-columns:1fr;
      gap:10px;
      margin-top:6px;
    }
    .hero__actions{
      grid-row:5;
      width:100%;
      align-items:stretch;
    }
    .hero__actions .btn{justify-content:center}

    /* FAQ mobile CTA */
    .faq__cta{justify-content:stretch}
    .faq__cta .btn{width:100%;justify-content:center}
    .faq__more{display:flex;justify-content:flex-start}

    /* CONTACTS mobile */
    .contacts{padding:48px 0}
    .contacts__map-frame iframe{height:360px}
    .contacts__images-item p{font-size:16px}
  }
/* ===== FIX: OFFER media overflow (images not leaking) ===== */
.product__card,
.product__media,
.product__body{
  min-width: 0; /* важно для grid/flex чтобы контент не распирал */
}

.product__img{
  overflow: hidden;
  border-radius: var(--radius);
}

.product__img img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* thumbs тоже не должны распирать карточку */
.product__thumb{
  overflow: hidden;
  border-radius: var(--radiusSm);
}

.product__thumb img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* на всякий: если где-то остался фикс-ширинный контент */
.product__media *{
  max-width: 100%;
}
.product__thumb{
  cursor:pointer;
  border:2px solid transparent;
  transition:.2s ease;
}

.product__thumb:hover{
  border-color: var(--primary);
}

.product__thumb.is-active{
  border-color: var(--primary);
}
.product__thumb.is-main{
  outline:2px solid var(--lineActive);
}

/* =========================
   HOME PAGE
========================= */

.home-page .section {
  padding: 72px 0;
}

.home-section-title {
  margin: 0 0 12px;
}

.home-section-lead {
  max-width: 820px;
  margin: 0 0 32px;
  color: #5f6673;
}

.home-section-lead--narrow {
  max-width: 760px;
}

/* HERO */
.home-hero {
  padding-top: 56px;
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 28px;
  align-items: center;
}

.home-hero__eyebrow {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #3d4756;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.home-hero__title {
  margin: 0 0 18px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.home-hero__lead {
  max-width: 760px;
  margin: 0 0 28px;
  font-size: 18px;
  line-height: 1.65;
  color: #5f6673;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 28px;
}

.home-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.home-hero__stat {
  padding: 16px;
  border: 1px solid #e7ebf0;
  border-radius: 18px;
  background: #fff;
}

.home-hero__stat strong {
  display: block;
  margin-bottom: 6px;
  font-size: 22px;
  line-height: 1;
}

.home-hero__stat span {
  display: block;
  color: #5f6673;
  font-size: 14px;
  line-height: 1.45;
}

.home-hero__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.home-hero__card {
  min-height: 168px;
  padding: 22px;
  border: 1px solid #e7ebf0;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.home-hero__card-title {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}

.home-hero__card-text {
  color: #5f6673;
  line-height: 1.55;
}

/* COMMON CARDS */
.home-card {
  display: block;
  padding: 22px;
  border: 1px solid #e7ebf0;
  border-radius: 20px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-card:hover {
  transform: translateY(-2px);
  border-color: #d9e1ea;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.home-card h3 {
  margin: 0 0 10px;
}

.home-card p {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

/* DIRECTIONS */
.home-directions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* SOLUTIONS */
.home-solutions__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.home-chip {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid #e7ebf0;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-chip:hover {
  transform: translateY(-1px);
  border-color: #d9e1ea;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

/* PROCESS */
.home-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-step {
  padding: 22px;
  border: 1px solid #e7ebf0;
  border-radius: 20px;
  background: #fff;
}

.home-step__num {
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 800;
  color: #7b8794;
  letter-spacing: .08em;
}

.home-step h3 {
  margin: 0 0 10px;
}

.home-step p {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

/* ADVANTAGES */
.home-advantages__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* PARTNERS */
.home-partners__box {
  padding: 32px;
  border: 1px solid #e7ebf0;
  border-radius: 26px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.home-partners__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.home-partners__item {
  padding: 16px 18px;
  border: 1px solid #e7ebf0;
  border-radius: 16px;
  background: #fff;
  color: #3d4756;
  line-height: 1.55;
}

.home-partners__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* FAQ */
.home-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.home-faq__item {
  padding: 22px;
  border: 1px solid #e7ebf0;
  border-radius: 20px;
  background: #fff;
}

.home-faq__item h3 {
  margin: 0 0 10px;
}

.home-faq__item p {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

/* CTA */
.home-cta__box {
  padding: 32px;
  border: 1px solid #e7ebf0;
  border-radius: 26px;
  background: #fff;
}

.home-cta__box h2 {
  margin: 0 0 12px;
}

.home-cta__box p {
  max-width: 760px;
  margin: 0 0 24px;
  color: #5f6673;
  line-height: 1.6;
}

.home-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* CONTACTS */
.home-contacts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.home-contacts__grid a {
  color: inherit;
  text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
  .home-hero__grid,
  .home-process__grid,
  .home-directions__grid,
  .home-advantages__grid,
  .home-contacts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-faq__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .home-page .section {
    padding: 56px 0;
  }

  .home-hero__grid,
  .home-directions__grid,
  .home-process__grid,
  .home-advantages__grid,
  .home-contacts__grid,
  .home-partners__list,
  .home-hero__cards,
  .home-hero__stats {
    grid-template-columns: 1fr;
  }

  .home-hero__title {
    font-size: 34px;
  }

  .home-hero__lead {
    font-size: 16px;
  }

  .home-partners__box,
  .home-cta__box {
    padding: 22px;
    border-radius: 20px;
  }
}
/* =========================
   DIRECTION PAGE
========================= */

.direction-page .section {
  padding: 72px 0;
}

.direction-hero {
  padding-top: 48px;
}

.direction-hero__box {
  padding: 28px;
  border: 1px solid #e7ebf0;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.direction-hero__eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #3d4756;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.direction-hero__title {
  margin: 0 0 14px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.direction-hero__lead {
  max-width: 860px;
  margin: 0;
  color: #5f6673;
  font-size: 17px;
  line-height: 1.65;
}

.direction-list__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.direction-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e7ebf0;
  border-radius: 22px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.direction-card:hover {
  transform: translateY(-2px);
  border-color: #d9e1ea;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.direction-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f4f7fa;
}

.direction-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.direction-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  min-height: 220px;
}

.direction-card__badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #3d4756;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.direction-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.direction-card__text {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

.direction-card__more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  font-weight: 700;
}

.direction-empty {
  padding: 24px;
  border: 1px solid #e7ebf0;
  border-radius: 20px;
  background: #fff;
}

@media (max-width: 1180px) {
  .direction-list__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .direction-page .section {
    padding: 56px 0;
  }

  .direction-hero__box {
    padding: 22px;
    border-radius: 20px;
  }

  .direction-list__grid {
    grid-template-columns: 1fr;
  }

  .direction-card__body {
    min-height: unset;
  }

  .direction-card__title {
    font-size: 20px;
  }
}
/* =========================
   HOME LANDINGS
========================= */

.home-landings__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.home-landing-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e7ebf0;
  border-radius: 22px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-landing-card:hover {
  transform: translateY(-2px);
  border-color: #d9e1ea;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.home-landing-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f4f7fa;
}

.home-landing-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.home-landing-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  min-height: 220px;
}

.home-landing-card__badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #3d4756;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.home-landing-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.home-landing-card__text {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

.home-landing-card__more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .home-landings__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .home-landings__grid {
    grid-template-columns: 1fr;
  }

  .home-landing-card__body {
    min-height: unset;
  }

  .home-landing-card__title {
    font-size: 20px;
  }
}

/* =========================
   INTERNAL LINKS
========================= */

.internal-links__group + .internal-links__group {
  margin-top: 42px;
}

.internal-links__title {
  margin: 0 0 12px;
}

.internal-links__lead {
  max-width: 760px;
  margin: 0 0 28px;
  color: #5f6673;
}

.internal-links__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.internal-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e7ebf0;
  border-radius: 22px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.internal-card:hover {
  transform: translateY(-2px);
  border-color: #d9e1ea;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.internal-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f4f7fa;
}

.internal-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.internal-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  min-height: 220px;
}

.internal-card__badge {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f6fa;
  color: #3d4756;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.internal-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.internal-card__text {
  margin: 0;
  color: #5f6673;
  line-height: 1.6;
}

.internal-card__more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  font-weight: 700;
}

.internal-links__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.internal-chip {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid #e7ebf0;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.internal-chip:hover {
  transform: translateY(-1px);
  border-color: #d9e1ea;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

@media (max-width: 1180px) {
  .internal-links__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .internal-links__grid {
    grid-template-columns: 1fr;
  }

  .internal-card__body {
    min-height: unset;
  }

  .internal-card__title {
    font-size: 20px;
  }
}