/* ==========================================================
   dianageo.ru — общие стили сайта.
   Действуют на всех страницах. Постраничное — в блоках T123.
   Кегли: 13 · 15 · 17 · 20 · 26 · 34 · 44
   Начертания: 400 текст · 500 заголовки · 600 капс и кнопки
   ========================================================== */

:root{
  --dp-accent:#2D5134;
  --dp-accent-dark:#24422A;
  --dp-bg:#FBFBFB;
  --dp-card:#FFFFFF;
  --dp-soft:#EAF0EC;
  --dp-head:#0F1A14;
  --dp-text:#5A6670;
}

body{
  background:var(--dp-bg);
  font-family:'TildaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- шапка ---------- */
#rec3467826901 .t-menu-base__textlogo{ line-height:1.15; }
#rec3467826901 .t-menu-base__textlogo::after{
  content:"ИНЖЕНЕР-ГЕОДЕЗИСТ"; display:block; margin-top:3px;
  font-size:11px; font-weight:600; letter-spacing:.12em; opacity:.55; white-space:nowrap;
}
#rec3467826901 [class*="__lang"]{ display:none !important; }
#rec3467826901 .t-btn{ transition:background-color .25s ease, transform .25s ease; }
#rec3467826901 .t-btn:hover{ background-color:var(--dp-accent-dark) !important; transform:translateY(-1px); }
#rec3467826901 .t-btn .t-btnflex__text::after{ content:" \2192"; }

/* ---------- подвал ---------- */
#rec3467963201 .t977__logo{ display:none !important; }
#rec3467963201 .t977__col-inner:nth-child(4){ display:none !important; }
#rec3467963201 .t977__text{ margin-top:0 !important; }
#rec3467963201 .t977__logo,
#rec3467963201 .t977__text,
#rec3467963201 .t977__descr,
#rec3467963201 .t977__descr a{ color:#fff !important; }
#rec3467963201 .dp-f-name{ display:block; font-size:20px; font-weight:500; line-height:1.3; color:#fff; margin-bottom:6px; }
#rec3467963201 .dp-f-role{ display:block; font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; opacity:.5; margin-bottom:20px; }
#rec3467963201 .dp-f-note{ display:block; font-size:15px; font-weight:400; line-height:1.6; opacity:.8; margin-bottom:20px; max-width:290px; }
#rec3467963201 .dp-f-facts{ display:block; font-size:15px; font-weight:400; line-height:1.7; opacity:.6; }
#rec3467963201 .dp-f-h{ display:block; margin-bottom:18px; font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; opacity:.45; }
#rec3467963201 .t977__descr ul{ margin:0; padding:0; list-style:none; }
#rec3467963201 .t977__descr li{ margin-bottom:11px; font-size:17px; line-height:1.5; opacity:.85; }
#rec3467963201 .t977__descr a{ opacity:1; text-decoration:none; transition:opacity .2s ease; }
#rec3467963201 .t977__descr a:hover{ opacity:.75; }

/* ---------- нижняя строка ---------- */
#rec3467978101{ background:var(--dp-accent-dark); }
#rec3467978101 .t-col{ width:100% !important; max-width:none !important; margin-left:0 !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box !important; }
#rec3467978101 .t046__text{ text-align:left !important; }
#rec3467978101 .t-text{
  display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:space-between; align-items:baseline;
  padding-top:24px; border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.55) !important; font-size:13px !important; font-weight:400 !important; line-height:1.6 !important;
}
#rec3467978101 .dp-bl-right a{ font-weight:400; margin-left:26px; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.7) !important; }
#rec3467978101 .dp-bl-right a:first-child{ margin-left:0; }
#rec3467978101 .dp-bl-right a:hover{ color:#fff !important; }

/* ---------- эффекты появления выключены ---------- */
.t-animate, .t-animate_started, [data-animationappear], .t-rec [class*="t-animate"]{
  opacity:1 !important; transform:none !important; visibility:visible !important;
  animation:none !important; transition:none !important;
}
.r_anim, .r_hidden, .r_showed{ opacity:1 !important; transform:none !important; }
.t-cover__carrier, .t-bgimg, .t-img, .t-slds__bgimg, .t-slds__item{ transition:none !important; }

/* ---------- мобильные ---------- */
@media screen and (max-width:640px){
  #rec3467963201{ padding-top:56px !important; padding-bottom:28px !important; }
  #rec3467978101{ padding-bottom:28px !important; }
  #rec3467978101 .t-text{ display:block; }
  #rec3467978101 .dp-bl-right{ display:block; margin-top:14px; }
  #rec3467978101 .dp-bl-right a{ display:block; margin:0 0 10px; }
}

/* ==========================================================
   Страницы услуг — общие классы (шесть страниц пользуются одним кодом)
   ========================================================== */

.dp-crumbs{ margin:0; font-size:15px; font-weight:400; line-height:1.5; color:var(--dp-text); }
.dp-crumbs a{ color:var(--dp-text); text-decoration:none; border-bottom:1px solid rgba(90,102,112,.28); }
.dp-crumbs a:hover{ color:var(--dp-accent); border-color:var(--dp-accent); }
.dp-crumbs .dp-sep{ opacity:.4; margin:0 5px; }

.dp-svc-eyebrow{ display:block; margin-bottom:14px; font-size:13px; font-weight:600; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; color:var(--dp-accent); }
.dp-svc-h1{ display:block; margin:0; max-width:24ch; font-size:44px; font-weight:500; line-height:1.15; letter-spacing:-.01em; color:var(--dp-head); }
.dp-svc-price{ display:block; margin-top:22px; font-size:26px; font-weight:500; line-height:1.3; color:var(--dp-head); font-variant-numeric:tabular-nums; }
.dp-svc-price > span{ margin-right:6px; font-size:17px; font-weight:400; color:var(--dp-text); }
.dp-svc-term{ display:block; margin-top:4px; font-size:15px; font-weight:400; font-style:normal; line-height:1.5; color:var(--dp-text); }

.dp-p{ margin:0 0 16px; font-size:17px; font-weight:400; line-height:1.7; color:var(--dp-text); }
.dp-p strong{ color:var(--dp-head); font-weight:500; }
.dp-h{ display:block; margin:34px 0 12px; font-size:13px; font-weight:600; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:var(--dp-accent); }
.dp-h:first-child{ margin-top:0; }
.dp-ul{ margin:0 0 16px; padding:0; list-style:none; }
.dp-ul li{ position:relative; padding-left:20px; margin-bottom:8px; font-size:17px; font-weight:400; line-height:1.6; color:var(--dp-text); }
.dp-ul li::before{ content:"\2022"; position:absolute; left:3px; top:-1px; font-size:19px; line-height:1.6; color:var(--dp-accent); }
.dp-note{ margin:18px 0 0; font-size:15px; font-weight:400; line-height:1.6; color:var(--dp-text); opacity:.78; }

.dp-svc-h2{ margin:0 0 18px; font-size:34px; font-weight:500; line-height:1.25; letter-spacing:-.01em; color:var(--dp-head); text-align:center; }
.dp-svc-h3{ margin:0 0 8px; font-size:20px; font-weight:500; line-height:1.3; color:var(--dp-head); }
.dp-faq-q{ margin:0; font-size:inherit; font-weight:inherit; line-height:inherit; letter-spacing:inherit; color:inherit; }

.dp-back{
  position:fixed; right:20px; bottom:24px; z-index:9000;
  display:inline-flex; align-items:center; gap:9px;
  height:46px; padding:0 18px 0 14px; border-radius:999px;
  background:var(--dp-card); color:var(--dp-head) !important;
  border:1px solid rgba(15,26,20,.08); box-shadow:0 2px 10px rgba(15,26,20,.14);
  font-size:15px; font-weight:400; line-height:1; text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease, color .2s ease;
}
.dp-back:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(15,26,20,.2); color:var(--dp-accent) !important; }
.dp-back svg{ width:16px; height:16px; flex:0 0 auto; }
@media print{ .dp-back{ display:none; } }

@media screen and (max-width:960px){
  .dp-svc-h1{ font-size:34px; max-width:none; }
  .dp-svc-h2{ font-size:28px; }
}
@media screen and (max-width:640px){
  .dp-svc-h1{ font-size:26px; }
  .dp-svc-h2{ font-size:26px; }
  .dp-svc-price{ font-size:22px; margin-top:16px; }
  .dp-p, .dp-ul li{ font-size:16px; }
  .dp-h{ margin-top:28px; }
  .dp-back{ right:12px; bottom:14px; height:42px; padding:0 14px 0 11px; font-size:14px; }
}

/* лид секций и подписи форм — вес 400 на всех страницах */
.js-block-header-descr{ font-weight:400 !important; }
.t-input-subtitle, .t678__form-bottom-text, .t678__form-bottom-text a{ font-weight:400 !important; }
