/* INFORCELEX — landing for certification bodies.
   Isolated under .os-landing so it does not affect the existing DLE theme. */
.os-landing, .os-landing *{box-sizing:border-box}
.os-landing{margin:0;background:#fff;color:#051b36;font:17px/1.65 Inter,Arial,Helvetica,sans-serif}
.os-landing a{color:inherit;text-underline-offset:4px}
.os-landing a:focus-visible,.os-landing summary:focus-visible{outline:3px solid #8b6f48;outline-offset:5px}

/* Базовый ограничитель ширины */
.os-landing .wrap {
    max-width: 1180px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.os-landing .eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:13px;font-weight:700;color:#755f42;margin:0 0 24px}

/* 1. Хлебные крошки ("Все услуги / ...") на страницах услуг */
.os-landing .wrap.crumb {
  padding-top: 195px !important;
  padding-bottom: 12px !important;
  font-size: 14px;
  color: #607184;
}
.os-landing .wrap.crumb a {
  color: #505868;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.os-landing .wrap.crumb a::before {
  content: '← ';
  margin-right: 4px;
}
.os-landing .wrap.crumb a:hover {
  color: #051b36;
  text-decoration: underline;
}

/* 2. Первый блок на страницах услуг */
.os-landing .hero {
  padding-top: 35px !important;
  padding-bottom: 70px !important;
  background: #f6f3eb;
}

/* 3. Первый блок на главной странице хаба */
.os-landing .home-hero {
  padding-top: 215px !important;
  padding-bottom: 70px !important;
  background: #f6f3eb;
}

/* Мобильные отступы шапки */
@media (max-width: 991px) {
  .os-landing .wrap.crumb {
    padding-top: 130px !important;
    padding-bottom: 10px !important;
  }
  .os-landing .hero {
    padding-top: 20px !important;
    padding-bottom: 50px !important;
  }
  .os-landing .home-hero {
    padding-top: 140px !important;
    padding-bottom: 50px !important;
  }
}

/* Сетка первого экрана из образца: центрирование и точные пропорции */
.os-landing .hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: center !important;
}

.os-landing .hero-grid h1 {
  font-size: clamp(32px, 3.5vw, 48px) !important;
  line-height: 1.15 !important;
  letter-spacing: -1.8px;
  font-weight: 650;
  margin: 0 0 24px !important;
  max-width: 940px;
}

.os-landing h1{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-1.8px;font-weight:650;margin:0 0 26px;max-width:940px}
.os-landing h2{font-size:34px;letter-spacing:-.8px;line-height:1.22;margin:0 0 28px}
.os-landing h3{font-size:21px;line-height:1.35;margin:0 0 12px}
.os-landing .lead{font-size:21px;color:#505868;max-width:790px;margin:0 0 30px}
.os-landing .btn{display:inline-block;text-decoration:none;background:#051b36;color:#fff;padding:15px 24px;border-radius:4px;font-weight:700;font-size:16px}
.os-landing .btn:hover{background:#173a64}
.os-landing .ghost{display:inline-block;margin:14px 0 0 22px;color:#42566a;font-size:15px}

/* Блок иллюстрации из образца */
.os-landing .hero-visual {
  display: flex;
  flex-direction: column;
}

.os-landing .service-art {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* Плашка сроков и стоимости из образца */
.os-landing .hero-visual .aside,
.os-landing .aside {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  margin-top: 24px !important;
  padding-top: 18px !important;
  border-top: 2px solid #a38c6d !important;
}

.os-landing .hero-visual .aside p,
.os-landing .aside p {
  margin: 0 !important;
  border-bottom: 1px solid #cbd8e2;
  padding-bottom: 14px;
}

.os-landing .hero-visual .aside span,
.os-landing .aside span {
  display: block;
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #647586;
  margin-bottom: 6px;
}

.os-landing .hero-visual .aside strong,
.os-landing .aside strong {
  font-size: 17px !important;
  font-weight: 700;
  color: #051b36;
  display: block;
  line-height: 1.35;
}

.os-landing .section{padding:65px 0;border-bottom:1px solid #dce3eb}
.os-landing .split{display:grid;grid-template-columns:1fr 1.6fr;gap:65px}
.os-landing .clean{list-style:none;padding:0;margin:0}
.os-landing .clean li{padding:18px 0 18px 28px;border-top:1px solid #d7e0e7;position:relative}
.os-landing .clean li:before{content:'—';position:absolute;left:0;color:#755f42}
.os-landing .steps{display:grid;grid-template-columns:1fr 1fr;gap:38px 50px}
.os-landing .num{font-size:14px;color:#755f42;letter-spacing:1px;display:block;margin-bottom:12px}
.os-landing .steps p{margin:0;color:#516171}
.os-landing .result{background:#051b36;color:#fff}
.os-landing .result .eyebrow{color:#dcc8a9}
.os-landing .result h2, .os-landing .result h3 {color: #ffffff !important;}
.os-landing .result .clean li{border-color:#375161}
.os-landing .result .clean li:before{color:#dcc8a9}
.os-landing .muted{color:#647384}
.os-landing .section p{margin:0 0 18px}
.os-landing details{border-top:1px solid #d5dfe7;padding:20px 0}
.os-landing details:last-child{border-bottom:1px solid #d5dfe7}
.os-landing summary{font-size:19px;font-weight:600;cursor:pointer}
.os-landing details p{padding:16px 24px 0 0;color:#526171}
.os-landing .contact{background:#f6f3eb;padding:48px;border-radius:4px;display:grid;grid-template-columns:1.3fr 1fr;gap:50px}
.os-landing .contact p{color:#4c5260}
.os-landing .phone{font-size:29px;font-weight:700;white-space:nowrap}
.os-landing .small{font-size:14px;color:#637384}

/* Сетка карточек на десктопе */
@media (min-width: 801px) {
  .os-landing .cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 36px !important;
  }
}

/* Изоляция от Bootstrap .card */
.os-landing .card {
    position: static !important;
    display: block !important;
    flex-direction: unset !important;
    min-width: unset !important;
    height: unset !important;
    word-wrap: unset !important;
    background-color: transparent !important;
    background-clip: unset !important;
    border: none !important;
    border-top: 1px solid #bcccd8 !important;
    border-radius: 0 !important;
    padding: 28px 0 !important;
    text-decoration: none !important;
}

.os-landing .card h3{font-size:24px}
.os-landing .card:hover h3{color:#755f42}
.os-landing .card p{color:#617082}
.os-landing .card .go{font-size:14px;font-weight:700;color:#755f42}
.os-landing .home-hero h1{max-width:950px}
.os-landing .bar{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid #c8d6df;margin-top:44px;padding-top:22px;color:#506578;font-size:15px}
.os-landing table{width:100%;border-collapse:collapse;font-size:15px}
.os-landing td,.os-landing th{padding:18px;border:1px solid #d5dfe7;text-align:left;vertical-align:top}
.os-landing th{background:#e9f0f5}
.os-landing code{overflow-wrap:anywhere}
.os-landing .tablewrap{overflow:auto}

/* Мобильная адаптация */
@media(max-width:800px){
 .os-landing .wrap{padding-left:22px !important; padding-right:22px !important}
 .os-landing .hero-grid{grid-template-columns:1fr !important; gap:30px !important}
 
 /* Фикс картинки на мобильных: центрирование и ограничение высоты */
 .os-landing .hero-visual{
   width: 100% !important;
   max-width: 460px !important;
   margin: 0 auto !important;
 }
 .os-landing .service-art {
   width: 100% !important;
   height: auto !important;
   max-height: 260px !important;
   aspect-ratio: 3 / 2 !important;
   object-fit: cover !important;
   border-radius: 8px !important;
 }

 .os-landing .split,.os-landing .contact{grid-template-columns:1fr;gap:28px}
 .os-landing h1{letter-spacing:-1px;font-size:38px}
 .os-landing h2{font-size:29px}
 .os-landing .lead{font-size:19px}
 .os-landing .aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}
 .os-landing .section{padding:44px 0}
 .os-landing .steps,
 .os-landing .cards{grid-template-columns:1fr !important; gap:24px !important}
 .os-landing .contact{padding:26px}
 .os-landing .ghost{margin-left:0;display:block}
 .os-landing .phone{font-size:25px}
}

@media(max-width:600px){
 .os-landing .wrap{padding-left:18px !important; padding-right:18px !important}
}

@media(prefers-reduced-motion:reduce){.os-landing{scroll-behavior:auto}}

/* Отступ снизу страницы перед подвалом */
.os-landing #contact {
  padding-bottom: 90px;
}