/* ===== tokens ===== */:root {  --color-background: #ffffff;  --color-page-background: #f5f7fa;  --color-surface: #ffffff;  --color-surface-alt: #f3f5f8;  --color-surface-soft: #eef2f6;  --color-section-alt: #f4f7f6;  --color-section-soft: #eef2f6;  --color-heading: #161c24;  --color-heading-strong: #0f141a;  --color-text: #52606d;  --color-text-secondary: #6b7280;  --color-muted: var(--color-text-secondary);  --color-border: #dde5ed;  --color-border-hover: #c7d0d9;  --border-subtle: #e2e8f0;  --color-accent: #5f7f73;  --color-accent-hover: #4b665c;  --color-accent-contrast: #ffffff;  --color-accent-strong: #7fa094;  --color-success: #15803d;  --color-warning: #d97706;  --color-danger: #dc2626;  --color-bg-dark: #161c24;  --color-bg-dark-elevated: #4b665c;  --color-text-inverse: #ffffff;  --color-text-inverse-secondary: rgba(255, 255, 255, 0.78);  --color-border-inverse: rgba(255, 255, 255, 0.08);  --header-background: var(--color-surface);  --surface-card: var(--color-surface);  --surface-muted: var(--color-surface-alt);  --surface-soft: var(--color-surface-soft);  --shadow-card: 0 8px 24px rgba(15, 23, 42, 0.04);  --shadow-elevated: 0 16px 40px rgba(15, 23, 42, 0.08);  --shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.18);  --shadow-sm: var(--shadow-card);  --shadow-lg: var(--shadow-elevated);  --radius-sm: 12px;  --radius-md: 16px;  --radius-lg: 20px;  --space-4: 4px;  --space-8: 8px;  --space-12: 12px;  --space-16: 16px;  --space-20: 20px;  --space-24: 24px;  --space-32: 32px;  --space-40: 40px;  --space-48: 48px;  --space-64: 64px;  --space-96: 96px;  --container-width: 1200px;  --container-width-narrow: 880px;  --container-width-wide: 1440px;  --container-padding: var(--space-16);  --content-width-article: 760px;  --section-space-sm: var(--space-32);  --section-space-md: var(--space-32);  --section-space-lg: var(--space-48);  --section-space: var(--section-space-md);  --section-head-space: var(--space-20);  --card-padding: var(--space-24);  --card-padding-compact: var(--space-16);  --card-gap: var(--space-16);  --card-radius: var(--radius-md);  --card-shadow: var(--shadow-card);  --button-height: 48px;  --button-padding-inline: var(--space-20);  --button-gap: var(--space-8);  --button-radius: var(--radius-sm);  --button-font-size: 15px;  --button-line-height: 1.2;  --button-font-weight: 600;  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Arial, sans-serif;  --font-family-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Arial, sans-serif;  --font-size-xs: 12px;  --font-size-sm: 14px;  --font-size-base: 16px;  --font-size-lg: 18px;  --font-size-lead: 20px;  --font-size-h1: clamp(2rem, 1.6rem + 1.8vw, 3.5rem);  --font-size-h2: clamp(1.75rem, 1.45rem + 1.2vw, 2.75rem);  --font-size-h3: clamp(1.375rem, 1.2rem + 0.7vw, 2rem);  --font-size-h4: clamp(1.125rem, 1.05rem + 0.3vw, 1.5rem);  --font-size-h5: 1.125rem;  --font-size-h6: 1rem;  --line-height-base: 1.6;  --line-height-sm: 1.5;  --line-height-heading: 1.2;  --letter-spacing-heading-lg: -0.02em;  --letter-spacing-heading-md: -0.01em;  --transition-fast: 0.2s ease;  --transition-base: 0.3s ease;}/* ===== base ===== */*,*::before,*::after {  box-sizing: border-box;}html {  font-size: 100%;}body {  margin: 0;  background: var(--color-background);  -webkit-font-smoothing: antialiased;  text-rendering: optimizeLegibility;}img,picture,video,canvas,svg {  display: block;  max-width: 100%;  height: auto;}button,input,textarea,select {  font: inherit;  color: inherit;}/* ===== layout ===== */.container {  width: min(100% - (var(--container-padding) * 2), var(--container-width));  margin-inline: auto;}.container--narrow {  width: min(100% - (var(--container-padding) * 2), var(--container-width-narrow));}.container--wide {  width: min(100% - (var(--container-padding) * 2), var(--container-width-wide));}.site-main {  display: block;  width: 100%;}.site-section {  padding-block: var(--section-space);}.site-section--alt {  background: var(--color-section-alt);}.site-section--soft {  background: var(--color-section-soft);}@media (max-width: 576px) {  .site-section {    padding-block: var(--space-20);  }}.grid-cluster {  display: grid;  gap: var(--space-24);}.grid-cluster--2 {  grid-template-columns: repeat(2, minmax(0, 1fr));}.grid-cluster--3 {  grid-template-columns: repeat(3, minmax(0, 1fr));}.grid-cluster--4 {  grid-template-columns: repeat(4, minmax(0, 1fr));}.grid-cluster--compact {  gap: var(--space-16);}.grid-cluster--spacious {  gap: var(--space-32);}@media (max-width: 1200px) {  .grid-cluster--4 {    grid-template-columns: repeat(3, minmax(0, 1fr));  }}@media (max-width: 992px) {  .grid-cluster--3,  .grid-cluster--4 {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}/* ===== typography ===== */body {  font-family: var(--font-family-base);  font-size: var(--font-size-base);  line-height: var(--line-height-base);}h1,h2,h3,h4,h5,h6 {  margin: 0;  font-family: var(--font-family-heading);  font-weight: 700;  line-height: var(--line-height-heading);  color: var(--color-heading);}h1 {  font-size: var(--font-size-h1);  letter-spacing: var(--letter-spacing-heading-lg);}h2 {  font-size: var(--font-size-h2);  letter-spacing: var(--letter-spacing-heading-lg);}h3 {  font-size: var(--font-size-h3);  letter-spacing: var(--letter-spacing-heading-md);}h4 {  font-size: var(--font-size-h4);}h5 {  font-size: var(--font-size-h5);}h6 {  font-size: var(--font-size-h6);}p {  margin: 0;  font-size: var(--font-size-base);  line-height: var(--line-height-base);}strong,b {  color: var(--color-heading);  font-weight: 700;}small {  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);}/* ===== header ===== */.site-header {  position: static;  z-index: 10;  background: var(--header-background);  border-bottom: 1px solid var(--color-border);}.header-inner {  display: flex;  align-items: center;  gap: var(--space-24);  min-height: 72px;  padding: var(--space-12) 0;}.site-logo {  flex: 0 1 auto;  display: inline-flex;  flex-direction: column;  min-width: 0;  text-decoration: none;  color: inherit;  text-transform: uppercase;}.site-logo__title {  font-size: 17px;  font-weight: 700;  color: var(--color-heading);  line-height: 1.2;}.site-logo__subtitle {  margin-top: 2px;  font-size: 11px;  color: var(--color-text-secondary);  line-height: 1.3;}.site-nav {  display: flex;  align-items: center;  min-width: 0;  flex: 1 1 auto;}.site-header > .container,.site-header .container {  position: relative;}.site-header > .container .btn,.site-header .container .btn {  flex: 0 0 auto;}.burger {  display: none;  flex-direction: column;  align-items: center;  justify-content: center;  width: 40px;  height: 40px;  border: 1px solid var(--color-border);  border-radius: var(--radius-sm);  background: var(--color-surface);  cursor: pointer;  margin-left: var(--space-12);}.burger__line {  width: 16px;  height: 2px;  background: var(--color-heading);}.burger__line + .burger__line {  margin-top: 4px;}@media (max-width: 1100px) {  .header-inner {    gap: var(--space-16);  }  .site-logo__title {    font-size: 16px;  }  .site-logo__subtitle {    font-size: 10px;  }  .site-header > .container .btn,  .site-header .container .btn {    height: 40px;    padding-inline: var(--space-12);    font-size: 13px;  }}@media (max-width: 992px) {  .site-logo__title {    font-size: 17px;  }  .site-logo__subtitle {    display: none;  }  .site-header > .container .btn,  .site-header .container .btn {    display: none;  }  .burger {    display: inline-flex;  }}@media (max-width: 576px) {  .header-inner {    min-height: 64px;    padding: var(--space-8) 0;    gap: var(--space-12);  }  .site-logo__title {    font-size: 16px;  }}/* ===== navigation ===== */.site-nav {  display: flex;  align-items: center;  min-width: 0;  flex: 0 1 auto;  margin-left: auto;}.site-menu {  display: flex;  flex-wrap: wrap;  justify-content: flex-start;  align-items: center;  align-content: center;  gap: 4px var(--space-8);  width: 100%;  margin: 0;  padding: 0;  list-style: none;}.site-menu__item {  position: relative;  margin: 0;  padding: 0;}.site-menu__item::before {  content: none;}.site-menu__link {  display: inline-flex;  align-items: center;  padding: 3px 5px;  border-radius: var(--radius-sm);  color: var(--color-heading);  font-size: 13px;  font-weight: 500;  line-height: 1.1;  text-decoration: none;  white-space: nowrap;  transition: background-color var(--transition-fast), color var(--transition-fast);}.site-menu__link:hover,.site-menu__link:focus-visible {  color: var(--color-heading);  background: var(--surface-muted);}.site-menu__item.is-active > .site-menu__link,.site-menu__link.is-active {  background: var(--surface-muted);  color: var(--color-heading);}@media (max-width: 1180px) {  .site-menu {    gap: 2px var(--space-8);  }  .site-menu__link {    padding: 3px 5px;    font-size: 12px;  }}@media (max-width: 992px) {  .site-nav {    position: absolute;    top: calc(100% + var(--space-8));    left: var(--space-12);    right: var(--space-12);    display: block;    flex: none;    min-width: auto;    padding: var(--space-12);    border: 1px solid var(--color-border);    border-radius: var(--radius-md);    background: var(--color-surface);    box-shadow: var(--shadow-lg);    opacity: 0;    visibility: hidden;    pointer-events: none;    transform: translateY(-8px);    transition: opacity var(--transition-fast), visibility var(--transition-fast), transform var(--transition-fast);    z-index: 20;  }  .site-nav.is-open {    opacity: 1;    visibility: visible;    pointer-events: auto;    transform: translateY(0);  }  .site-menu {    display: flex;    flex-direction: column;    align-items: stretch;    justify-content: flex-start;    gap: var(--space-8);    width: 100%;  }  .site-menu__link {    width: 100%;    min-height: 44px;    justify-content: flex-start;    padding: var(--space-12) var(--space-16);    font-size: var(--font-size-sm);    line-height: 1.2;    white-space: normal;  }}@media (max-width: 576px) {  .site-nav {    left: var(--space-8);    right: var(--space-8);    padding: var(--space-12);  }}/* ===== breadcrumbs ===== */.breadcrumbs {  margin: 0 0 var(--space-16);  color: var(--color-text-secondary);  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);}.breadcrumbs__list {  display: flex;  flex-wrap: wrap;  align-items: center;  gap: var(--space-8);  margin: 0;  padding: 0;  list-style: none;}.breadcrumbs__item {  display: inline-flex;  align-items: center;  min-width: 0;}.breadcrumbs__item:not(:last-child)::after {  content: "/";  margin-left: var(--space-8);  color: var(--color-text-secondary);}.breadcrumbs__link {  color: var(--color-text-secondary);  text-decoration: none;  transition: color var(--transition-fast);}.breadcrumbs__link:hover,.breadcrumbs__link:focus-visible {  color: var(--color-accent);}.breadcrumbs__current {  color: var(--color-text-secondary);}.is-home .breadcrumbs {  display: none;}@media (max-width: 768px) {  .breadcrumbs {    margin-bottom: var(--space-12);  }  .breadcrumbs__list {    gap: var(--space-4);  }  .breadcrumbs__item:not(:last-child)::after {    margin-left: var(--space-4);  }}/* ===== footer ===== */.site-footer {  margin-top: var(--space-40);  padding-top: var(--space-24);  padding-bottom: var(--space-20);  background: var(--footer-background);  border-top: 1px solid var(--color-border);}.site-footer__inner {  display: flex;  justify-content: space-between;  align-items: center;  gap: var(--space-20);  flex-wrap: wrap;}.site-footer__nav {  display: flex;  flex-wrap: wrap;  align-items: center;}.site-footer__nav a {  color: var(--color-text);  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);  text-decoration: none;}.site-footer__nav a:hover {  color: var(--color-accent);}.site-footer__nav a + a::before {  content: "\00B7";  margin: 0 var(--space-12);  color: var(--color-text);  opacity: 0.5;}.site-footer__contacts {  display: flex;  flex-direction: column;  gap: var(--space-8);  align-items: flex-end;}.site-footer__contact {  color: var(--color-text);  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);  text-decoration: none;  white-space: nowrap;}.site-footer__contact:hover {  color: var(--color-accent);}.site-footer__bottom {  margin-top: var(--space-16);  padding-top: var(--space-12);  border-top: 1px solid var(--color-border);}.footer-copyright {  margin: 0;  color: var(--color-muted);  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);}@media (max-width: 576px) {  .site-footer__inner {    flex-direction: column;    align-items: flex-start;  }  .site-footer__contacts {    align-items: flex-start;  }}/* ===== buttons ===== */.btn {  display: inline-flex;  align-items: center;  justify-content: center;  gap: var(--button-gap);  min-height: var(--button-height);  padding-inline: var(--button-padding-inline);  border: 1px solid transparent;  border-radius: var(--button-radius);  background: var(--color-surface);  color: var(--color-heading);  font-size: var(--button-font-size);  font-weight: var(--button-font-weight);  line-height: var(--button-line-height);  text-align: center;  text-decoration: none;  white-space: nowrap;  cursor: pointer;  transition:    background-color var(--transition-fast),    border-color var(--transition-fast),    color var(--transition-fast),    box-shadow var(--transition-fast),    opacity var(--transition-fast),    transform var(--transition-fast);}.btn:focus-visible {  outline: 0;  box-shadow: var(--shadow-focus);}.btn:disabled,.btn[disabled] {  opacity: 0.6;  cursor: not-allowed;  pointer-events: none;}.btn--accent {  background: var(--color-accent);  color: var(--color-accent-contrast);  border-color: var(--color-accent);  box-shadow: var(--shadow-sm);  font-weight: 700;}.btn--accent:hover,.btn--accent:focus-visible {  background: var(--color-accent-hover);  border-color: var(--color-accent-hover);  color: var(--color-accent-contrast);}.btn--strong {  background: #2b3440;  color: var(--color-text-inverse);  border-color: #2b3440;  box-shadow: none;  font-weight: 600;  opacity: 0.9;}.btn--strong:hover,.btn--strong:focus-visible {  background: #1f2933;  border-color: #1f2933;  opacity: 1;}.btn--light {  border-color: var(--color-border);  background: var(--color-surface);  color: var(--color-heading);}.btn--light:hover,.btn--light:focus-visible {  border-color: var(--color-border-hover);  background: var(--surface-muted);  color: var(--color-heading);}.btn--outline-white {  border-color: var(--color-border-inverse);  background: transparent;  color: var(--color-text-inverse);}.btn--outline-white:hover,.btn--outline-white:focus-visible {  border-color: var(--color-text-inverse);  background: rgba(255, 255, 255, 0.08);  color: var(--color-text-inverse);}.btn--ghost {  border-color: transparent;  background: transparent;  color: var(--color-accent);}.btn--ghost:hover,.btn--ghost:focus-visible {  background: var(--surface-muted);  color: var(--color-accent-hover);}.btn--primary {  background: var(--color-accent-strong);  color: var(--color-accent-contrast);  border-color: var(--color-accent-strong);  font-weight: 700;  box-shadow: var(--shadow-sm);}.btn--primary:hover,.btn--primary:focus-visible {  background: #7fa094;  border-color: #7fa094;  color: var(--color-accent-contrast);}.btn--block {  width: 100%;}.site-header .btn {  min-height: 40px;  padding-inline: var(--space-16);  font-size: var(--font-size-sm);}.cta-block .btn--accent,.cta-block .btn--strong,.cta-block .btn--primary {  min-height: 48px;  padding-inline: var(--space-20);  box-shadow: var(--shadow-sm);}.cta-block .btn--light {  border-color: var(--color-border);  background: var(--color-surface);  color: var(--color-heading);}.cta-block .btn--light:hover,.cta-block .btn--light:focus-visible {  border-color: var(--color-border-hover);  background: var(--surface-muted);  color: var(--color-heading);}.cta-block .btn--outline-white {  border-color: var(--color-border-inverse);  background: transparent;  color: var(--color-text-inverse);}.cta-block .btn--outline-white:hover,.cta-block .btn--outline-white:focus-visible {  border-color: var(--color-text-inverse);  background: rgba(255, 255, 255, 0.08);  color: var(--color-text-inverse);}@media (max-width: 768px) {  .btn {    min-height: 44px;    padding-inline: var(--space-16);  }  .site-header .btn {    min-height: 40px;    padding-inline: var(--space-12);  }  .cta-block .btn--accent,  .cta-block .btn--strong,  .cta-block .btn--primary {    min-height: 44px;  }}@media (max-width: 576px) {  .btn {    width: 100%;  }  .btn--light {    font-weight: 600;  }  .btn--accent,  .btn--strong,  .btn--primary {    min-height: 44px;    font-weight: 700;  }  .hero-main__actions .btn--accent,  .hero-main__actions .btn--strong,  .hero-main__actions .btn--primary {    width: 100%;  }  .site-header .btn {    width: auto;  }}/* ===== section-head ===== */.section-head {  margin-bottom: var(--space-24);}.section-head h2 {  margin: 0;  font-size: clamp(24px, 4vw, 32px);  line-height: 1.15;  letter-spacing: -0.02em;  color: var(--color-heading);  position: relative;  padding-bottom: var(--space-12);}.section-head h2::after {  content: "";  display: block;  width: var(--space-40);  height: 2px;  margin-top: var(--space-8);  border-radius: 999px;  background: var(--color-accent-strong);}.section-head p {  max-width: 720px;  margin-top: var(--space-12);  font-size: 16px;  line-height: 1.5;  color: var(--color-text-secondary);}.hero-main .section-head h2,.cta-block .section-head h2 {  padding-bottom: 0;}.hero-main .section-head h2::after,.cta-block .section-head h2::after {  display: none;}@media (max-width: 768px) {  .section-head {    margin-bottom: var(--space-20);  }  .section-head p {    font-size: 15px;  }  .section-head h2 {    padding-bottom: var(--space-10);  }  .section-head h2::after {    width: var(--space-32);    margin-top: var(--space-6);  }}@media (max-width: 576px) {  .section-head {    margin-bottom: var(--space-16);  }}/* ===== admining ===== */.admining {  margin-top: var(--space-24);}.admining__title {  display: block;  margin: 0 0 var(--space-12);  color: var(--color-heading);  font-size: var(--font-size-sm);  line-height: var(--line-height-sm);  font-weight: 700;  text-decoration: none;}.admin-menu {  margin: 0;  padding: 0;  list-style: none;}.admin-menu__item {  margin: 0;}.admin-menu__item + .admin-menu__item {  margin-top: var(--space-8);}.admin-menu__link {  display: inline-block;  color: var(--color-text);  font-size: var(--font-size-sm);  line-height: var(--line-height-base);  text-decoration: none;  transition: color var(--transition-fast);}.admin-menu__link:hover,.admin-menu__link:focus-visible {  color: var(--color-accent);  text-decoration: underline;}.admin-menu__link.is-active {  color: var(--color-accent);  font-weight: 600;  text-decoration: none;}/* ===== card-base ===== */.card {  display: block;  color: inherit;  text-decoration: none;  background: var(--surface-card);  border: 1px solid var(--color-border);  border-radius: var(--card-radius);  box-shadow: var(--card-shadow);  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-fast);}.card:hover {  transform: translateY(-4px);  border-color: var(--color-border-hover);  box-shadow: var(--shadow-lg);}.card:visited {  color: inherit;}.card:hover,.card:focus-visible,.card:active {  text-decoration: none;  color: inherit;}/* ===== section-listing-card ===== */.section-listing--cards .section-listing__item > .section-listing__link {  display: block;  width: 100%;  padding: var(--space-20) var(--space-24);  border: 1px solid var(--color-border);  border-radius: var(--radius-lg);  background: var(--color-surface);  color: var(--color-heading);  text-decoration: none;  transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);  font-size: var(--font-size-h5);  line-height: 1.5;  font-weight: 500;}.section-listing--cards .section-listing__item > .section-listing__link:hover,.section-listing--cards .section-listing__item > .section-listing__link:focus-visible {  border-color: var(--color-border-hover);}.section-listing--cards .section-listing__item > .section-listing__link:active {  transform: translateY(1px);}/* ===== service-card ===== */.service-card {  display: flex;  flex-direction: column;  height: 100%;  padding: var(--space-24);}.service-card h3 {  margin: 0 0 var(--space-8);  font-size: 16px;  line-height: 1.35;  letter-spacing: -0.01em;  color: var(--color-heading);}.service-card p {  margin: 0;  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);}@media (max-width: 576px) {  .service-card {    padding: var(--space-12);  }  .service-card h3 {    font-size: 15px;    line-height: 1.3;  }  .service-card p {    font-size: 13px;    line-height: 1.45;  }}/* ===== situation-card ===== */.situation-card {  padding: var(--space-16) var(--space-20);}.situation-icon {  display: flex;  align-items: center;  justify-content: center;  width: 18px;  height: 18px;  margin-bottom: var(--space-8);  border-radius: var(--space-8);  background: rgba(95,127,115,0.12);  color: var(--color-accent-strong);  font-size: 14px;}.situation-card h3 {  margin: 0 0 var(--space-8);  font-size: 17px;  line-height: 1.2;}.situation-card p {  margin: 0;  font-size: 14px;  line-height: 1.45;  color: var(--color-text-secondary);}/* ===== process-step ===== */.process-step {  padding: var(--space-24);}.process-step__number {  display: inline-flex;  align-items: center;  justify-content: center;  width: 44px;  height: 44px;  margin-bottom: var(--space-12);  border-radius: var(--radius-md);  background: var(--color-accent-strong);  color: var(--color-accent-contrast);  font-size: 18px;  font-weight: 800;}.process-step h3 {  margin: 0 0 var(--space-8);  font-size: 18px;  line-height: 1.2;}.process-step p {  margin: 0;  font-size: 14px;  line-height: 1.45;  color: var(--color-text-secondary);}@media (max-width: 576px) {  .process-step {    padding: var(--space-12);  }  .process-step__number {    width: 36px;    height: 36px;    margin-bottom: var(--space-8);    border-radius: var(--radius-sm);    font-size: 16px;  }  .process-step h3 {    font-size: 15px;    line-height: 1.25;  }  .process-step p {    font-size: 13px;    line-height: 1.45;  }}/* ===== metric-item ===== */.metric-item {  text-align: center;  padding: 24px;}.metric-item__number {  font-size: 36px;  font-weight: 800;  color: var(--color-accent-strong);  margin-bottom: 6px;}.metric-item__text {  font-size: 14px;  color: var(--color-text-secondary);}/* ===== advantage-card ===== */.advantage-card {  display: flex;  flex-direction: column;  height: 100%;  padding: var(--space-24);  gap: var(--space-8);}.advantage-card h3 {  margin: 0 0 var(--space-8);  font-size: 16px;  line-height: 1.35;  color: var(--color-heading);  font-weight: 600;}.advantage-card p {  margin: 0;  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);}@media (max-width: 576px) {  .advantage-card {    padding: var(--space-12);  }  .advantage-card h3 {    font-size: 15px;    line-height: 1.3;  }  .advantage-card p {    font-size: 13px;    line-height: 1.45;  }}/* ===== project-card ===== */.project-card {  display: flex;  flex-direction: column;  height: 100%;  overflow: hidden;}.project-card img {  display: block;  width: 100%;  height: 200px;  object-fit: cover;  transition: transform var(--transition-base);}.project-card__body {  display: flex;  flex-direction: column;  gap: var(--space-8);  padding: var(--space-20);}.project-card__place {  font-size: 12px;  font-weight: 600;  letter-spacing: 0.04em;  text-transform: uppercase;  color: var(--color-accent-strong);}.project-card h3 {  margin: 0;  font-size: 16px;  line-height: 1.35;  color: var(--color-heading);}.project-card p {  margin: 0;  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);}.project-card:hover img {  transform: scale(1.05);}@media (max-width: 768px) {  .project-card img {    height: 180px;  }}@media (max-width: 576px) {  .project-card img {    height: 160px;  }  .project-card__body {    padding: var(--space-12);  }}/* ===== price-card ===== */.price-card {  display: flex;  flex-direction: column;  height: 100%;  gap: var(--space-8);  padding: var(--space-24);}.price-card__title {  font-size: 16px;  line-height: 1.4;  font-weight: 600;  color: var(--color-heading);}.price-card__desc {  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);}.price-card__value {  margin-top: var(--space-8);  font-size: 20px;  font-weight: 700;  color: var(--color-accent-strong);}@media (max-width: 576px) {  .price-card {    padding: var(--space-12);    gap: var(--space-8);  }  .price-card__title {    font-size: 15px;    line-height: 1.35;  }  .price-card__desc {    font-size: 13px;    line-height: 1.45;  }  .price-card__value {    margin-top: var(--space-4);    font-size: 17px;  }}/* ===== article-card ===== */.article-card {  display: flex;  flex-direction: column;  justify-content: flex-start;  height: 100%;  min-height: 160px;  padding: var(--space-24);}.article-card h3 {  margin: 0 0 var(--space-8);  font-size: 16px;  line-height: 1.35;  color: var(--color-heading);  text-align: left;}.article-card p {  margin: 0;  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);  text-align: left;}@media (max-width: 576px) {  .article-card {    min-height: 0;    padding: var(--space-16);  }  .article-card h3 {    font-size: 15px;    line-height: 1.3;  }  .article-card p {    font-size: 13px;    line-height: 1.45;  }}/* ===== section-listing ===== */.section-listing {  display: grid;  gap: var(--space-24);}.section-listing__title {  margin: 0;  color: var(--color-heading);  font-size: var(--font-size-h4);  line-height: var(--line-height-heading);  font-weight: 600;  letter-spacing: var(--letter-spacing-heading-md);  opacity: 0.8;}.section-listing__list,.section-listing__sublist {  display: grid;  gap: var(--space-12);  margin: 0;  padding: 0;  list-style: none;}.section-listing__item {  margin: 0;}.section-listing__sublist {  margin-top: var(--space-8);  padding-left: var(--space-16);}.section-listing__item > .section-listing__link {  display: block;  width: 100%;  color: var(--color-heading);  text-decoration: none;}.section-listing__item > .section-listing__link:hover,.section-listing__item > .section-listing__link:focus-visible,.section-listing__item > .section-listing__link:visited {  color: var(--color-heading);  text-decoration: none;}.section-listing__item > .section-listing__link:focus-visible {  outline: 2px solid var(--color-accent);  outline-offset: 2px;}@media (max-width: 768px) {  .section-listing {    gap: var(--space-16);  }  .section-listing__list,  .section-listing__sublist {    gap: var(--space-8);  }}/* ===== section-listing-cards ===== */.section-listing--cards .section-listing__list {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: var(--space-16);  align-items: stretch;}.section-listing--cards .section-listing__sublist {  display: grid;  gap: var(--space-8);}@media (max-width: 768px) {  .section-listing--cards .section-listing__list {    grid-template-columns: 1fr;    gap: var(--space-12);  }}@media (max-width: 576px) {  .section-listing--cards .section-listing__list {    gap: var(--space-8);  }}/* ===== hero-main ===== */.hero-main {  padding: var(--space-16) 0 var(--space-24);  background: var(--color-background);  border-bottom: 1px solid var(--color-border);}.hero-main__inner {  display: grid;  grid-template-columns: minmax(0, 1.4fr) minmax(320px, 420px);  gap: var(--space-32);  align-items: start;}.hero-main__content {  min-width: 0;  padding-top: var(--space-8);}.hero-main__lead {  max-width: 720px;  margin: 0;  font-size: var(--font-size-lead);  line-height: 1.55;  font-weight: 500;  color: var(--color-heading);}.hero-main__lead + .hero-main__lead {  margin-top: var(--space-12);}.hero-main__list {  display: grid;  gap: var(--space-12);  max-width: 720px;  margin: var(--space-24) 0 0;  padding: var(--space-16) 0 0;  list-style: none;  border-top: 1px solid var(--color-border);}.hero-main__list li {  position: relative;  margin: 0;  padding-left: var(--space-24);  font-size: var(--font-size-base);  line-height: 1.55;  color: var(--color-heading);  font-weight: 500;}.hero-main__list li::before {  content: "";  position: absolute;  left: 0;  top: 0.5em;  width: 10px;  height: 10px;  border-radius: 999px;  background: var(--color-accent-strong);  box-shadow: 0 0 0 3px rgba(95,127,115,0.12);}.hero-main__aside {  min-width: 0;}.hero-main__panel {  display: grid;  gap: var(--space-16);  padding: var(--space-24);  background: var(--surface-card);  border: 1px solid var(--color-border);  border-radius: var(--radius-lg);  box-shadow: var(--shadow-sm);}.hero-main__panel-label {  font-size: var(--font-size-xs);  line-height: 1.2;  font-weight: 700;  letter-spacing: 0.06em;  text-transform: uppercase;  color: var(--color-accent-strong);}.hero-main__panel-title {  margin: 0;  color: var(--color-heading);  font-size: var(--font-size-h4);  line-height: 1.2;  font-weight: 700;  letter-spacing: var(--letter-spacing-heading-md);}.hero-main__panel-list {  display: grid;  gap: var(--space-12);  margin: 0;  padding: 0;  list-style: none;  color: var(--color-text-secondary);}.hero-main__panel-list li {  position: relative;  margin: 0;  padding-left: var(--space-16);  line-height: 1.5;}.hero-main__panel-list li::before {  content: "";  position: absolute;  left: 0;  top: 0.6em;  width: 6px;  height: 6px;  border-radius: 999px;  background: var(--color-accent-strong);}.hero-main__panel-actions {  display: grid;  gap: var(--space-12);}.hero-main__panel-actions > * {  min-width: 0;}.hero-main__panel-actions .btn {  width: 100%;}@media (max-width: 1024px) {  .hero-main__inner {    grid-template-columns: minmax(0, 1fr);    gap: var(--space-24);  }  .hero-main__content {    padding-top: 0;  }  .hero-main__panel {    max-width: 640px;  }}@media (max-width: 768px) {  .hero-main {    padding: var(--space-24) 0 var(--space-32);  }  .hero-main__lead {    font-size: 18px;  }  .hero-main__list {    gap: var(--space-8);    margin-top: var(--space-20);    padding-top: var(--space-12);  }  .hero-main__list li {    padding-left: var(--space-16);    font-size: 15px;  }  .hero-main__list li::before {    width: 6px;    height: 6px;  }  .hero-main__panel {    padding: var(--space-20);    gap: var(--space-12);  }  .hero-main__panel-list {    gap: var(--space-8);  }}@media (max-width: 576px) {  .hero-main {    padding: var(--space-16) 0 var(--space-20);  }  .hero-main__inner {    gap: var(--space-12);  }  .hero-main__lead {    font-size: 15px;    line-height: 1.45;  }  .hero-main__lead + .hero-main__lead {    margin-top: var(--space-8);  }  .hero-main__list {    gap: var(--space-8);    margin-top: var(--space-12);    padding-top: var(--space-8);  }  .hero-main__list li {    font-size: 14px;    line-height: 1.45;  }  .hero-main__panel {    padding: var(--space-16);    gap: var(--space-10);  }  .hero-main__panel-title {    font-size: 18px;  }}/* ===== services-grid ===== */.services-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: var(--space-24);}@media (max-width: 1080px) {  .services-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 768px) {  .services-grid {    gap: var(--space-20);  }}@media (max-width: 576px) {  .services-grid {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== situations-grid ===== */.situations-grid {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: 16px 24px;}@media (max-width: 680px) {  .situations-grid {    grid-template-columns: 1fr;  }}/* ===== objects-grid ===== */.objects-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: var(--space-16);  padding: 0;  list-style: none;}.objects-grid li {  position: relative;  margin: 0;  padding: var(--space-16) var(--space-20) var(--space-16) var(--space-32);  border: 1px solid var(--color-border);  border-radius: var(--radius-lg);  background: var(--color-surface);  color: var(--color-heading);  font-size: var(--font-size-h5);  font-weight: 600;  line-height: 1.4;}.objects-grid li::before {  content: "";  position: absolute;  top: 50%;  left: var(--space-16);  width: 6px;  height: 6px;  border-radius: 999px;  background: var(--color-accent-strong);  transform: translateY(-50%);}@media (max-width: 992px) {  .objects-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 768px) {  .objects-grid {    grid-template-columns: 1fr;    gap: var(--space-12);  }}@media (max-width: 576px) {  .objects-grid li {    font-size: var(--font-size-base);    line-height: 1.5;  }}/* ===== process-steps ===== */.process-steps {  display: grid;  grid-template-columns: repeat(4, minmax(0, 1fr));  gap: var(--space-24);}@media (max-width: 1080px) {  .process-steps {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 680px) {  .process-steps {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== metrics-section ===== */.metrics-section {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: var(--space-24);}@media (max-width: 900px) {  .metrics-section {    grid-template-columns: repeat(2, 1fr);  }}@media (max-width: 600px) {  .metrics-section {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== advantages-grid ===== */.advantages-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: var(--space-24);}@media (max-width: 1024px) {  .advantages-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 768px) {  .advantages-grid {    gap: var(--space-20);  }}@media (max-width: 576px) {  .advantages-grid {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== projects-grid ===== */.projects-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: var(--space-24);}@media (max-width: 1024px) {  .projects-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 768px) {  .projects-grid {    gap: var(--space-20);  }}@media (max-width: 576px) {  .projects-grid {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== prices-grid ===== */.prices-grid {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: var(--space-24);}.prices-note {  margin-top: var(--space-16);  font-size: 14px;  line-height: 1.5;  color: var(--color-text-secondary);}@media (max-width: 768px) {  .prices-grid {    grid-template-columns: 1fr;    gap: var(--space-16);  }}/* ===== articles-grid ===== */.articles-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: var(--space-24);}.articles-section__actions {  margin-top: var(--space-24);}@media (max-width: 1024px) {  .articles-grid {    grid-template-columns: repeat(2, minmax(0, 1fr));  }}@media (max-width: 768px) {  .articles-grid {    gap: var(--space-20);  }}@media (max-width: 576px) {  .articles-grid {    grid-template-columns: 1fr;    gap: var(--space-16);  }  .articles-section__actions .btn {    width: 100%;  }}/* ===== cta-block ===== */.cta-block {  padding: 0 0 var(--space-64);}.cta-block__inner {  display: flex;  align-items: center;  justify-content: space-between;  gap: var(--space-24);  padding: var(--space-32);  border-radius: var(--radius-lg);  background: linear-gradient(180deg, var(--color-bg-dark) 0%, var(--color-bg-dark-elevated) 100%);  border: 1px solid var(--color-border-inverse);  box-shadow: var(--shadow-lg);  color: var(--color-text-inverse);}.cta-block__content {  max-width: 520px;}.cta-block__inner h2 {  margin: 0;  font-size: 24px;  line-height: 1.2;  letter-spacing: -0.01em;}.cta-block__inner p {  margin-top: var(--space-12);  color: var(--color-text-inverse-secondary);}.cta-block .cta-block__title {  color: var(--cta-title-color);}.cta-block__actions {  display: flex;  flex-wrap: wrap;  gap: var(--space-12);}.cta-block__actions .btn {  min-width: 200px;}@media (max-width: 768px) {  .cta-block__inner {    flex-direction: column;    align-items: flex-start;    padding: var(--space-24);  }  .cta-block__content {    max-width: none;  }}@media (max-width: 576px) {  .cta-block {    padding-bottom: var(--space-48);  }  .cta-block__inner {    padding: var(--space-20);  }  .cta-block__actions {    flex-direction: column;    width: 100%;  }  .cta-block__actions .btn {    width: 100%;    min-width: 0;  }}/* ===== content-flow ===== */.content-flow {  display: grid;  gap: var(--space-24);}.content-flow > * {  margin: 0;  min-width: 0;}.content-flow h2,.content-flow h3,.content-flow h4,.content-flow h5,.content-flow h6 {  margin: 0;  color: var(--color-heading);}.content-flow h2 {  margin-top: var(--space-40);}.content-flow h3,.content-flow h4 {  margin-top: var(--space-32);}.content-flow p,.content-flow ul,.content-flow ol,.content-flow blockquote,.content-flow table {  margin: 0;}.content-flow ul,.content-flow ol {  padding-left: 1.25em;}.content-flow li + li {  margin-top: var(--space-8);}.content-flow strong,.content-flow b {  color: var(--color-heading);}.content-flow a:not(.btn) {  color: var(--color-accent);  text-decoration: none;  transition: color var(--transition-fast);}.content-flow a:not(.btn):hover,.content-flow a:not(.btn):focus-visible {  color: var(--color-accent-hover);}.content-flow hr {  margin: var(--space-32) 0;  border: 0;  border-top: 1px solid var(--color-border);}.content-flow > :first-child {  margin-top: 0;}.content-flow > h2:first-child,.content-flow > h3:first-child,.content-flow > h4:first-child,.content-flow > h5:first-child,.content-flow > h6:first-child {  margin-top: 0;}.content-flow > .site-map {  width: 100%;  max-width: none;}@media (max-width: 768px) {  .content-flow ul,  .content-flow ol {    padding-left: var(--space-20);  }}/* ===== site-map ===== */.site-map {  width: 100%;  max-width: none;  margin-top: var(--space-24);}.site-map-list,.site-map-sublist {  margin: 0;  padding: 0;  list-style: none;}.site-map-list {  display: grid;  grid-template-columns: repeat(2, minmax(0, 1fr));  gap: var(--space-32) var(--space-48);}.site-map-item {  margin: 0;}.site-map-list > .site-map-item {  display: grid;  gap: var(--space-12);  align-content: start;}.site-map-list > .site-map-item > .site-map-link {  display: inline-block;  color: var(--color-heading);  font-weight: 600;  text-decoration: none;  line-height: var(--line-height-base);  transition: color var(--transition-fast);}.site-map-list > .site-map-item > .site-map-link:hover,.site-map-list > .site-map-item > .site-map-link:focus-visible {  color: var(--color-accent);}.site-map-sublist > .site-map-item > .site-map-link {  display: inline-block;  color: var(--color-text);  font-weight: 400;  text-decoration: none;  line-height: 1.5;  transition: color var(--transition-fast);}.site-map-sublist > .site-map-item > .site-map-link:hover,.site-map-sublist > .site-map-item > .site-map-link:focus-visible {  color: var(--color-accent);}@media (max-width: 992px) {  .site-map-list {    gap: var(--space-24) var(--space-32);  }  .site-map-sublist {    grid-template-columns: 1fr;  }}@media (max-width: 768px) {  .site-map {    margin-top: var(--space-20);  }  .site-map-list {    grid-template-columns: 1fr;    gap: var(--space-20);  }  .site-map-list > .site-map-item {    gap: var(--space-8);  }  .site-map-sublist {    padding-left: var(--space-8);  }}/* ===== section-listing-plain ===== */.section-listing--plain {  display: block;}.section-listing--plain .section-listing__title {  margin-bottom: var(--space-8);}.section-listing--plain .section-listing__list,.section-listing--plain .section-listing__sublist {  margin: 0;  padding-left: var(--space-20);  list-style: disc;}.section-listing--plain .section-listing__sublist {  margin-top: var(--space-4);}.section-listing--plain .section-listing__item {  margin: 0 0 var(--space-4);}.section-listing--plain .section-listing__item > .section-listing__link {  display: inline;  width: auto;  padding: 0;  border: 0;  background: none;  color: var(--color-link);  font-size: inherit;  line-height: inherit;  font-weight: inherit;  text-decoration: underline;}.section-listing--plain .section-listing__item > .section-listing__link:hover,.section-listing--plain .section-listing__item > .section-listing__link:focus-visible,.section-listing--plain .section-listing__item > .section-listing__link:visited {  color: var(--color-link);  background: none;  border: 0;}/* ===== content-pagination ===== */.content-pagination {  display: flex;  align-items: flex-start;  justify-content: flex-start;  gap: var(--space-16);}.content-pagination__prev,.content-pagination__next {  display: inline-flex;  align-items: center;  gap: var(--space-8);  color: var(--color-heading);  font-weight: 500;  line-height: var(--line-height-base);  text-decoration: none;  transition: color var(--transition-fast);}.content-pagination__prev:hover,.content-pagination__prev:focus-visible,.content-pagination__next:hover,.content-pagination__next:focus-visible {  color: var(--color-accent);}@media (max-width: 768px) {  .content-pagination {    gap: var(--space-12);  }}/* ===== related-services ===== */.related-services {  display: grid;  gap: var(--space-20);}.related-services h2 {  margin: 0;  color: var(--color-heading);  font-size: var(--font-size-h3);  line-height: var(--line-height-heading);  letter-spacing: var(--letter-spacing-heading-md);  font-weight: 700;}.related-services ul {  margin: 0;  padding: 0;  list-style: none;  display: grid;  gap: var(--space-12);}.related-services li {  margin: 0;}.related-services a {  display: block;  padding: var(--space-16) var(--space-20);  border: 1px solid var(--color-border);  border-radius: var(--radius-lg);  background: var(--color-surface-alt);  color: var(--color-heading);  text-decoration: none;  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);  font-size: var(--font-size-base);  line-height: var(--line-height-base);  font-weight: 500;}.related-services a:hover,.related-services a:focus-visible {  border-color: var(--color-border-hover);  background: var(--color-surface-alt);  color: var(--color-accent);  text-decoration: none;}.related-services a:visited {  color: var(--color-heading);}.related-services a:visited:hover,.related-services a:visited:focus-visible {  color: var(--color-accent);}.related-services a:focus-visible {  outline: 2px solid var(--color-accent);  outline-offset: 2px;}/* ===== related-publications ===== */.related-publications {  display: grid;  gap: var(--space-20);}.related-publications h2 {  margin: 0;  color: var(--color-heading);  font-size: var(--font-size-h3);  line-height: var(--line-height-heading);  letter-spacing: var(--letter-spacing-heading-md);  font-weight: 700;}.related-publications ul {  margin: 0;  padding: 0;  list-style: none;  display: grid;  gap: var(--space-12);}.related-publications li {  margin: 0;}.related-publications li a {  display: block;  padding: var(--space-16) var(--space-20);  border: 1px solid var(--color-border);  border-radius: var(--radius-lg);  background: var(--color-surface-alt);  color: var(--color-heading);  text-decoration: none;  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);  font-size: var(--font-size-base);  line-height: var(--line-height-base);  font-weight: 500;}.related-publications li a:hover,.related-publications li a:focus-visible {  border-color: var(--color-border-hover);  background: var(--color-surface-alt);  color: var(--color-accent);  text-decoration: none;}.related-publications li a:visited {  color: var(--color-heading);}.related-publications li a:visited:hover,.related-publications li a:visited:focus-visible {  color: var(--color-accent);}.related-publications li a:focus-visible {  outline: 2px solid var(--color-accent);  outline-offset: 2px;}/* ===== page-shell ===== */.page-shell {  padding: var(--space-32) 0 var(--section-space-lg);}.page-shell__inner {  width: min(100% - (var(--container-padding) * 2), var(--container-width));  margin-inline: auto;}.page-title {  margin: 0 0 var(--space-24);}.content-zone {  width: 100%;  min-width: 0;}.admin-zone {  margin-top: var(--space-32);}.page-shell--default .page-shell__inner {  max-width: var(--container-width);}.page-shell--narrow .page-shell__inner {  max-width: 960px;}.page-shell--wide .page-shell__inner {  max-width: 1320px;}.page-shell--article .page-shell__inner {  max-width: 900px;}@media (max-width: 992px) {  .page-shell {    padding: var(--space-24) 0 var(--space-48);  }  .page-title {    margin-bottom: var(--space-20);  }  .admin-zone {    margin-top: var(--space-24);  }}@media (max-width: 768px) {  .page-shell {    padding: var(--space-20) 0 var(--space-40);  }  .page-title {    margin-bottom: var(--space-16);  }  .admin-zone {    margin-top: var(--space-20);  }}@media (max-width: 576px) {  .page-shell {    padding: var(--space-16) 0 var(--space-32);  }  .page-title {    margin-bottom: var(--space-12);  }  .admin-zone {    margin-top: var(--space-16);  }}/* ===== admin-home ===== */.admin-home {  max-width: 760px;  display: grid;  gap: var(--space-32);}.admin-home > .notes {  display: block;  margin: 0;  color: var(--color-text-muted);  font-size: var(--font-size-body-sm);  line-height: 1.7;}.admin-home > .notes br + br {  display: none;}.admin-home h2 {  margin: 0 0 var(--space-16);  color: var(--color-heading);  font-size: var(--font-size-h3);  line-height: var(--line-height-heading);  font-weight: 800;}.admin-home a {  color: var(--color-link);  text-decoration: none;}.admin-home a:hover,.admin-home a:focus-visible {  text-decoration: underline;}.admin-home > a {  display: inline-block;  margin: 0 0 var(--space-4);  font-size: var(--font-size-body);  line-height: var(--line-height-body);  font-weight: 600;}.admin-home > .notes + br,.admin-home > a + br,.admin-home > h2 + a + br {  display: none;}.admin-home font.notes {  display: block;  margin: 0 0 var(--space-16);  color: var(--color-text-muted);  font-size: var(--font-size-body-sm);  line-height: 1.6;}.admin-home h2 + a {  margin-top: 0;}.admin-home h2:not(:first-of-type) {  margin-top: var(--space-8);}.admin-home > br {  display: none;}/* ===== default ===== */:root {  --hero-background: linear-gradient(    180deg,    #eef2f7 0%,    var(--color-background) 100%  );  --cta-background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);  --cta-title-color: #f8fafc;  --cta-text-color: rgba(255, 255, 255, 0.85);  --header-background: var(--color-surface);  --footer-background: var(--color-background);  --nav-active-background: var(--color-surface-alt);  --nav-active-color: var(--color-accent);}