

/* Start:/local/templates/site-v2/assets/css/font.css?179112268610044*/
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmS-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmb-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmR-HYoEoeyxMI.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/local/templates/site-v2/assets/font/gNMKW3F-SZuj7xmf-HYoEoey.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* End */


/* Start:/local/templates/site-v2/assets/css/main.css?179112268582716*/
/* Editorial — flat surfaces, crisp borders (modern minimal) */

:root {
  --color-bg: #f7f5f2;
  --color-bg-warm: #faf8f5;
  --color-text: #141414;
  --color-text-invert: #faf8f5;
  --color-text-muted: #5c5855;
  --color-navy: #0f172a;
  --color-navy-soft: #1e3a5f;
  --color-gold: #0d6efd;
  --color-gold-light: #3d8bfd;
  --color-gold-deep: #0a58ca;
  --color-surface: rgba(255, 252, 248, 0.82);
  --color-surface-card: rgba(255, 253, 249, 0.92);
  --color-surface-dark: #0f172a;
  --border-color: rgba(92, 88, 85, 0.12);
  --border-warm: rgba(13, 110, 253, 0.15);
  --font-main: "Onest", system-ui, sans-serif;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --transition: 0.2s ease;
  --gradient-gold: linear-gradient(145deg, var(--color-gold-light), var(--color-gold));
  --gradient-accent-soft: linear-gradient(135deg, rgba(30, 58, 95, 0.08), rgba(13, 110, 253, 0.06));
  --color-header-bg: rgba(255, 255, 255, 0.85);
  --color-header-scrolled: rgba(255, 255, 255, 0.95);
  --color-mega-bg: rgba(255, 255, 255, 0.95);
}

[data-theme="dark"] {
  --color-bg: #0d1117;
  --color-bg-warm: #161b22;
  --color-text: #f0f6fc;
  --color-text-invert: #faf8f5;
  --color-text-muted: #8b949e;
  --color-navy: #ffffff;
  --color-navy-soft: #c9d1d9;
  --color-surface: rgba(13, 17, 23, 0.82);
  --color-surface-card: rgba(22, 27, 34, 0.92);
  --color-surface-dark: #0d1117;
  --border-color: rgba(240, 246, 252, 0.12);
  --border-warm: rgba(13, 110, 253, 0.2);
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --gradient-accent-soft: linear-gradient(135deg, rgba(201, 209, 217, 0.08), rgba(13, 110, 253, 0.06));
  --color-header-bg: rgba(13, 17, 23, 0.85);
  --color-header-scrolled: rgba(13, 17, 23, 0.95);
  --color-mega-bg: rgba(22, 27, 34, 0.95);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  font-family: var(--font-main);
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--color-navy);
  color: #faf8f5;
}

.text-gradient {
  background: linear-gradient(135deg, var(--color-gold-light) 0%, var(--color-gold-deep) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

.text-gradient-2 {
  background: linear-gradient(135deg, var(--color-navy-soft), var(--color-navy));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 2rem;
}

.glass {
  background: var(--color-surface);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1px solid rgba(255, 253, 249, 0.85);
  box-shadow: none;
}

.glass-dark {
  background: linear-gradient(155deg, #121c33 0%, var(--color-surface-dark) 55%);
  color: #f4f1eb;
  border: 1px solid rgba(255, 250, 240, 0.08);
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: background var(--transition), border-color var(--transition);
  background: var(--color-header-bg);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border-color);
}

.header.scrolled {
  background: var(--color-header-scrolled);
  box-shadow: none;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 2rem;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* Поиск в шапке */
.header-search {
  position: relative;
}

.header-search__toggle {
  background: transparent;
  border: none;
  color: var(--color-navy);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: background var(--transition), color var(--transition);
}

.header-search__toggle:hover {
  background: var(--border-color);
  color: var(--color-gold-deep);
}

.header-search--open .header-search__toggle {
  background: var(--border-color);
  color: var(--color-gold-deep);
}

.header-search__panel {
  position: fixed;
  top: 72px;
  top: calc(env(safe-area-inset-top, 0px) + 72px);
  left: 0;
  right: 0;
  z-index: 106;
  padding: 1rem 0 1.25rem;
  background: var(--color-bg);
  background-image: linear-gradient(
    180deg,
    var(--color-bg) 0%,
    var(--color-bg-warm) 100%
  );
  border-bottom: 1px solid var(--border-color);
  box-shadow: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.header-search--open .header-search__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.header-search__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  max-width: 720px;
  margin: 0 auto;
}

.header-search__input {
  flex: 1 1 180px;
  min-width: 0;
  padding: 0.65rem 1rem;
  font-family: var(--font-main);
  font-size: 0.95rem;
  color: var(--color-text);
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  outline: none;
  transition: border-color var(--transition);
}

.header-search__input::placeholder {
  color: var(--color-text-muted);
}

.header-search__input:focus {
  border-color: var(--color-gold-deep);
  box-shadow: none;
  outline: 2px solid rgba(13, 110, 253, 0.35);
  outline-offset: 1px;
}

.header-search__submit {
  flex: 0 0 auto;
  padding: 0.6rem 1.25rem;
  font-size: 0.875rem;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.burger-menu {
  display: none;
  background: transparent;
  border: none;
  color: var(--color-navy);
  cursor: pointer;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  z-index: 101;
}

.theme-toggle {
  background: transparent;
  border: none;
  color: var(--color-navy);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: background var(--transition), color var(--transition);
}

.theme-toggle:hover {
  background: var(--border-color);
  color: var(--color-gold-deep);
}

.logo {
  font-size: 1.15rem;
  font-weight: 800;
  text-decoration: none;
  color: var(--color-navy);
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.logo::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: var(--color-gold);
  border-radius: 50%;
}

.nav {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  height: 100%;
}

.nav__item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.nav__link {
  text-decoration: none;
  color: var(--color-text-muted);
  font-weight: 500;
  font-size: 0.9rem;
  transition: color var(--transition);
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.nav__link svg {
  width: 14px;
  height: 14px;
  transition: transform var(--transition);
  opacity: 0.7;
}

.nav__item:hover .nav__link svg {
  transform: rotate(180deg);
}

.nav__link:hover,
.nav__link.active {
  color: var(--color-navy);
}

.nav__link.active::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  background: var(--color-gold);
  border-radius: 50%;
}

/* Mega Menu */
.mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 800px;
  background: var(--color-mega-bg);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: none;
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 3rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  z-index: 100;
}

.nav__item:hover .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.mega-menu__col-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.mega-menu__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mega-menu__link {
  text-decoration: none;
  color: var(--color-navy);
  font-weight: 600;
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  transition: transform var(--transition);
}

.mega-menu__link:hover {
  transform: translateX(4px);
}

.mega-menu__link span {
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--color-text-muted);
}

.mega-menu__list-item--has-sub {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.mega-menu__sublist {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1rem;
  border-left: 2px solid var(--border-color);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mega-menu__sublist-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color var(--transition), transform var(--transition);
}

.mega-menu__sublist-link:hover {
  color: var(--color-navy);
  transform: translateX(2px);
}

.mega-menu__featured {
  background: var(--color-bg-warm);
  border-radius: 12px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid var(--border-color);
}

.mega-menu__featured-media {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.mega-menu__featured-media .mega-menu__featured-img {
  width: 100%;
  height: 120px;
  border-radius: 0;
  background-size: cover;
  background-position: center;
}

.mega-menu__featured-overlay.blog-card__image-overlay {
  padding: 0.38rem 0.45rem 0.42rem;
  gap: 0.32rem;
}

.mega-menu__featured-overlay .blog-card__overlay-top .blog-card__tag {
  padding: 0.18rem 0.5rem;
  font-size: 0.62rem;
  font-weight: 700;
}

.mega-menu__featured-overlay .blog-card__stat {
  font-size: 0.615rem;
  gap: 0.28rem;
}

.mega-menu__featured-overlay .blog-card__stat:not(:first-child) {
  margin-left: 0.35rem;
  padding-left: 0.35rem;
}

.mega-menu__featured-overlay .blog-card__stat-icon {
  width: 11px;
  height: 11px;
}

.mega-menu__featured-overlay .blog-card__overlay-bottom .blog-card__date {
  font-size: 0.62rem;
  font-weight: 600;
}

.mega-menu__featured-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-navy);
}

.mega-menu__featured-link {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-gold-deep);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.mega-menu.mega-menu--simple {
  display: block;
  width: auto;
  min-width: 12rem;
  max-width: 16rem;
  padding: 1rem 1.25rem;
  grid-template-columns: unset;
}

.mega-menu__list--simple {
  gap: 0.35rem;
}

.mega-menu__simple-link {
  text-decoration: none;
  color: var(--color-navy);
  font-weight: 600;
  font-size: 0.95rem;
  display: block;
  padding: 0.35rem 0;
  transition: color var(--transition), transform var(--transition);
}

.mega-menu__simple-link:hover {
  color: var(--color-gold-deep);
  transform: translateX(3px);
}

.mega-menu__simple-link[aria-current="page"] {
  color: var(--color-gold-deep);
  font-weight: 700;
}

@media (max-width: 992px) {
  .burger-menu {
    display: flex;
  }

  /* Полноэкранный .nav перекрывает бургер в порядке слоёв; пока меню закрыто — не перехватываем клики */
  .logo {
    position: relative;
    z-index: 110;
  }

  .header__actions {
    position: relative;
    z-index: 110;
  }

  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    /* Непрозрачный фон: иначе полупрозрачный header + backdrop дают «просвет» контента */
    background: var(--color-bg);
    background-image: linear-gradient(
      180deg,
      var(--color-bg) 0%,
      var(--color-bg-warm) 100%
    );
    box-shadow: 0 0 0 1px var(--border-color);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: calc(5.25rem + env(safe-area-inset-top, 0px)) 1.5rem calc(2rem + env(safe-area-inset-bottom, 0px));
    gap: 0.35rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    z-index: 105;
    pointer-events: none;
  }

  .nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .nav__item {
    width: 100%;
    text-align: left;
    height: auto;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
    /* Иначе .mega-menu оказывается справа от ссылки (flex-direction: row по умолчанию) */
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: 0;
  }

  .nav__link {
    font-size: 1.35rem;
    justify-content: flex-start;
    width: 100%;
    padding: 0.5rem 0;
  }

  /* Сброс десктопного absolute + translateX(-50%), иначе блок «плывёт» в сторону */
  .nav__item .mega-menu,
  .nav__item:hover .mega-menu,
  .nav__item.is-open .mega-menu {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-top: 0.35rem;
    margin-left: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none;
  }

  .nav__item:not(.is-open) .mega-menu {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    margin-top: 0;
  }

  .mega-menu {
    position: static;
    transform: none;
    width: 100%;
    background: var(--color-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    box-shadow: none;
    padding: 0.75rem 1rem;
    display: none;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .nav__item.is-open .mega-menu {
    display: grid;
  }

  .nav__item.is-open .mega-menu--simple {
    display: block;
  }

  .mega-menu.mega-menu--simple {
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 0.65rem 0.85rem;
  }

  .mega-menu__list--simple {
    gap: 0.25rem;
  }

  .mega-menu__list {
    gap: 0.5rem;
  }

  .mega-menu__col-title {
    margin-bottom: 0.65rem;
  }

  .mega-menu__featured {
    display: none;
  }

  .header .btn {
    display: none;
  }
}

.header .btn {
  padding: 0.6rem 1.25rem;
  font-size: 0.85rem;
  border-radius: 8px;
}

.hover-line {
  position: relative;
  display: inline-block;
}

.hover-line::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: -4px;
  left: 0;
  background: linear-gradient(90deg, var(--color-gold), var(--color-gold-light));
  transform-origin: bottom right;
  transition: transform 0.2s ease;
  border-radius: 2px;
}

.hover-line:hover::after,
.nav__link.active.hover-line::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.65rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background var(--transition), border-color var(--transition),
    color var(--transition), opacity var(--transition);
  border: none;
  position: relative;
  overflow: hidden;
  box-shadow: none;
}

.btn-text {
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.btn--primary {
  background: var(--color-gold);
  color: var(--color-text-invert);
  border: 1px solid var(--color-gold-deep);
}

.btn--primary::before {
  display: none;
}

.btn--primary:hover {
  background: var(--color-gold-deep);
  border-color: var(--color-gold-deep);
}

.btn--primary:focus-visible {
  outline: 2px solid var(--color-gold-light);
  outline-offset: 2px;
}

.btn--outline {
  background: transparent;
  border: 1.5px solid var(--border-color);
  color: var(--color-navy);
  box-shadow: none;
}

.btn--outline:hover {
  border-color: var(--color-navy-soft);
  background: var(--color-surface-card);
}

.btn--text {
  background: transparent;
  color: var(--color-navy-soft);
  border-radius: 0;
  padding: 0.5rem 0;
  box-shadow: none;
}

.btn--text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--color-navy);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--transition);
}

.btn--text:hover {
  color: var(--color-navy);
  transform: none;
}

.btn--text:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.btn--full {
  width: 100%;
}

.hero {
  padding: 15rem 0 7rem;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.hero__badge {
  display: inline-block;
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  border: 1px solid var(--border-warm);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 2rem;
  background: var(--color-surface-card);
  color: var(--color-navy-soft);
}

.hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  align-items: center;
  margin-bottom: 2rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-text-muted);
}

.hero__trust span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.hero__trust .sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-gold);
  opacity: 0.7;
}

.hero__title {
  font-size: clamp(3rem, 7vw, 6.25rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.038em;
  margin-bottom: 1.75rem;
  color: var(--color-text);
}

.hero__title .line {
  display: block;
  overflow: hidden;
  padding-bottom: 0.06em;
  margin-bottom: -0.06em;
}

.hero__subtitle {
  font-size: clamp(1.05rem, 1.85vw, 1.35rem);
  color: var(--color-text-muted);
  max-width: 38rem;
  margin-bottom: 2.25rem;
  line-height: 1.55;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
}

.marquee-section {
  padding: 3.5rem 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  background: rgba(255, 253, 249, 0.55);
  overflow: hidden;
  backdrop-filter: blur(12px);
}

.marquee {
  display: flex;
  width: 200%;
}

.marquee__inner {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: marquee 32s linear infinite;
}

.marquee span {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  color: transparent;
  -webkit-text-stroke: 1.2px rgba(92, 88, 85, 0.35);
  transition: color var(--transition), -webkit-text-stroke var(--transition);
}

.marquee span:hover {
  -webkit-text-stroke: 0;
  color: var(--color-navy);
}

.marquee .dot {
  width: 10px;
  height: 10px;
  background: var(--gradient-gold);
  border-radius: 50%;
  margin: 0 2.5rem;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.section {
  padding: 8rem 0;
}

.section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  margin-bottom: 4rem;
}

.section__title {
  font-size: clamp(2.6rem, 4.5vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 4rem;
  overflow: hidden;
  color: var(--color-navy);
}

.section__header .section__title {
  margin-bottom: 0;
}

.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.35rem;
}

.bento-item {
  grid-column: span 6;
  border-radius: var(--radius-md);
  padding: 3rem;
  display: flex;
  flex-direction: column;
  /* justify-content: space-between; */
  transition: border-color var(--transition), background var(--transition);
  box-shadow: none;
  position: relative;
  overflow: hidden;
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
}

.bento-item::before {
  content: "";
  position: absolute;
  top: var(--mouse-y, 0);
  left: var(--mouse-x, 0);
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(255, 253, 249, 0.95) 0%, transparent 68%);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.35s;
  pointer-events: none;
  z-index: 0;
}

.bento-item:hover::before {
  opacity: 1;
}

.bento-item > * {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

.bento-item:hover {
  border-color: rgba(92, 88, 85, 0.22);
  background: var(--color-bg);
}

.bento-item--large {
  grid-column: span 12;
  flex-direction: row;
  align-items: center;
  gap: 4rem;
}

.bento-item h3 {
  font-size: 1.65rem;
  font-weight: 800;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
  color: var(--color-navy);
}

.bento-item p {
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.62;
}

.mockup-code {
  background: var(--color-navy);
  color: #c8e6d8;
  padding: 2rem;
  border-radius: var(--radius-sm);
  font-family: ui-monospace, monospace;
  font-size: 0.98rem;
  box-shadow: none;
  border: 1px solid rgba(255, 250, 240, 0.06);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

.portfolio-item {
  text-decoration: none;
  color: var(--color-text);
  display: block;
}

.portfolio-item__image-wrapper {
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 1.75rem;
  box-shadow: none;
  transition: border-color var(--transition);
  position: relative;
  border: 1px solid var(--border-color);
}

.portfolio-item__image {
  width: 100%;
  aspect-ratio: 4/3;
  transition: transform 0.35s ease;
}

.portfolio-item__overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #faf8f5;
  font-size: 1.15rem;
  font-weight: 700;
  opacity: 0;
  transition: opacity var(--transition);
  backdrop-filter: blur(6px);
}

.portfolio-item:hover .portfolio-item__image-wrapper {
  border-color: var(--color-navy-soft);
}

.portfolio-item:hover .portfolio-item__image {
  transform: scale(1.03);
}

.portfolio-item:hover .portfolio-item__overlay {
  opacity: 1;
}

.portfolio-item__tags {
  display: flex;
  gap: 0.6rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.portfolio-item__tags span {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.35rem 0.85rem;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  background: var(--color-surface-card);
  color: var(--color-navy-soft);
}

.portfolio-item__result {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--color-gold-deep);
  margin-bottom: 0.65rem;
  letter-spacing: -0.01em;
}

.portfolio-item h3 {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.28;
  color: var(--color-navy);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.blog-card {
  text-decoration: none;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
}

.blog-card__image-wrapper {
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 1.35rem;
  aspect-ratio: 16/10;
  position: relative;
  isolation: isolate;
  box-shadow: none;
  transition: border-color var(--transition);
  border: 1px solid var(--border-color);
}

.blog-card__image-overlay {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.62rem 0.72rem 0.72rem;
  pointer-events: none;
  background-image: linear-gradient(
      to bottom,
      rgba(15, 23, 42, 0.62) 0%,
      rgba(15, 23, 42, 0.18) 32%,
      transparent 52%
    ),
    linear-gradient(
      to top,
      rgba(15, 23, 42, 0.94) 0%,
      rgba(15, 23, 42, 0.52) 48%,
      transparent 76%
    );
}

.blog-card__overlay-top {
  flex-shrink: 0;
}

.blog-card__overlay-bottom {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem 1rem;
}

.blog-card__overlay-bottom .blog-card__stats {
  margin: 0;
}

.blog-card__overlay-bottom .blog-card__date {
  margin-left: auto;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

@media (max-width: 380px) {
  .blog-card__overlay-bottom .blog-card__date {
    margin-left: 0;
    width: 100%;
  }
}

.blog-card__image-overlay .blog-card__tag {
  color: rgba(255, 255, 255, 0.98);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.blog-card__image-overlay .blog-card__date {
  color: rgba(255, 255, 255, 0.88);
}

.blog-card__image-overlay .blog-card__stats {
  margin: 0;
}

.blog-card__image-overlay .blog-card__stat {
  color: rgba(255, 255, 255, 0.92);
}

.blog-card__image-overlay .blog-card__stat:not(:first-child) {
  border-left-color: rgba(255, 255, 255, 0.26);
}

.blog-card:hover .blog-card__image-overlay .blog-card__stat {
  color: #ffffff;
}

.blog-card__image-overlay .blog-card__stat-icon {
  opacity: 0.92;
  color: rgba(255, 255, 255, 0.95);
}

.blog-card:hover .blog-card__image-overlay .blog-card__stat-icon {
  opacity: 1;
}

.blog-card--featured .blog-card__image-overlay {
  padding: 0.82rem 1rem 1rem;
}

.blog-card--featured .blog-card__image-overlay .blog-card__stat {
  font-size: 0.875rem;
}

.blog-card--featured .blog-card__image-overlay .blog-card__stat:not(:first-child) {
  margin-left: 0.85rem;
  padding-left: 0.85rem;
}

.blog-card--featured .blog-card__image-overlay .blog-card__stat-icon {
  width: 16px;
  height: 16px;
}

.blog-card--featured
  .blog-card__image-overlay
  .blog-card__overlay-bottom
  .blog-card__date {
  font-size: 0.825rem;
}

.blog-card__image-wrapper picture {
  display: block;
  width: 100%;
  height: 100%;
}

.blog-card__image-wrapper .blog-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-card:hover .blog-card__image-wrapper {
  border-color: var(--color-navy-soft);
}

.blog-card:hover .blog-card__image-wrapper .blog-card__image {
  transform: scale(1.03);
}

.blog-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin-bottom: 0;
  font-weight: 600;
}

.blog-card__tag {
  color: var(--color-navy);
  background: rgba(13, 110, 253, 0.18);
  padding: 0.28rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--border-warm);
}

.blog-card__date {
  white-space: nowrap;
}

.blog-card__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-feature-settings: "tnum" 1;
}

.blog-card__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.2;
  color: var(--color-text-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  transition: color var(--transition);
}

.blog-card__stat:not(:first-child) {
  margin-left: 0.7rem;
  padding-left: 0.7rem;
  border-left: 1px solid var(--border-color);
}

.blog-card__stat-icon {
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  opacity: 0.72;
  stroke: currentColor;
  color: inherit;
  transition: opacity var(--transition), color var(--transition);
}

.blog-card__title {
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.35;
  margin-bottom: 1.25rem;
  letter-spacing: -0.015em;
  color: var(--color-navy);
}

#blog .blog-card__title {
  margin-bottom: 0.5rem;
}

#blog .blog-card__excerpt {
  margin: 0 0 0.9rem;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.58;
  color: var(--color-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.article-read-more .blog-card__title {
  margin-bottom: 0.45rem;
}

.article-read-more .blog-card__excerpt {
  margin: 0 0 0.85rem;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.58;
  color: var(--color-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card__arrow {
  margin-top: auto;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1.5px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition), background var(--transition),
    border-color var(--transition), color var(--transition);
}

.blog-card:hover .blog-card__arrow {
  background: var(--color-gold);
  color: var(--color-text-invert);
  transform: translateX(4px);
  border-color: transparent;
}

.blog-grid > .blog-card--featured {
  grid-column: 1 / -1;
  flex-direction: row;
  gap: 3rem;
  align-items: center;
}

.blog-card--featured .blog-card__image-wrapper.blog-card__image-wrapper--featured {
  flex: 0 0 58%;
  max-width: 58%;
  margin-bottom: 0;
  aspect-ratio: 16 / 9;
}

.blog-card--featured .blog-card__featured-body {
  flex: 1;
  min-width: 0;
  padding-right: 1rem;
}

.blog-card--featured .blog-card__title--large {
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  margin-bottom: 1.25rem;
}

@media (max-width: 992px) {
  .blog-card--featured {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .blog-card--featured .blog-card__image-wrapper.blog-card__image-wrapper--featured {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  .blog-card--featured .blog-card__featured-body {
    padding-right: 0;
  }
}

/* ---------- Страница блога: листинг (blog.html) ---------- */
.blog-page__hero {
  min-height: 46vh;
  padding-bottom: 2.75rem;
  position: relative;
}

.blog-page__hero-inner {
  max-width: 52rem;
}

.blog-page__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}

.blog-page__hero-lead {
  max-width: 40rem;
}

.blog-page__listing-section.section {
  padding-top: 0;
}

.blog-page__toolbar {
  margin-bottom: 2.25rem;
}

.blog-page__toolbar-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.95rem;
}

.blog-page__toolbar-meta {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-muted);
}

.blog-page__toolbar-tags {
  padding: 0.55rem 0.65rem;
  border-radius: var(--radius-md);
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
}

.blog-page__toolbar-tags .filter-tags {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .blog-page__toolbar-tags .filter-tags {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    gap: 0.55rem;
    padding-bottom: 0.2rem;
    margin-right: -0.25rem;
    padding-right: 0.25rem;
  }

  .blog-page__toolbar-tags .filter-tag {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}

.blog-page__grid.blog-grid {
  gap: 2.35rem;
}

.blog-page .blog-card__featured-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-gold-deep);
  margin-bottom: 0.75rem;
}

.blog-page .blog-card__excerpt {
  margin: 0;
}

.blog-page .blog-card__excerpt--featured {
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.62;
  margin-bottom: 1.65rem;
}

.blog-page .blog-card:not(.blog-card--featured) {
  height: 100%;
  border-radius: var(--radius-lg);
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  overflow: hidden;
  transition: transform 0.28s ease, border-color var(--transition),
    box-shadow 0.28s ease;
}

.blog-page .blog-card:not(.blog-card--featured):hover {
  transform: translateY(-4px);
  border-color: rgba(13, 110, 253, 0.22);
  box-shadow: 0 14px 44px rgba(15, 23, 42, 0.07);
}

[data-theme="dark"]
  .blog-page
  .blog-card:not(.blog-card--featured):hover {
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}

.blog-page .blog-card:not(.blog-card--featured) .blog-card__image-wrapper {
  margin-bottom: 0;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--border-color);
}

.blog-page .blog-card:not(.blog-card--featured) .blog-card__title {
  margin: 1.15rem 1.35rem 0.45rem;
  padding: 0;
}

.blog-page .blog-card:not(.blog-card--featured) .blog-card__excerpt:not(.blog-card__excerpt--featured) {
  margin: 0 1.35rem 1.1rem;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.58;
  color: var(--color-text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-page .blog-card:not(.blog-card--featured) .blog-card__arrow {
  margin-left: 1.35rem;
  margin-bottom: 0.35rem;
  margin-top: 0;
}

.blog-page .blog-grid > .blog-card--featured {
  gap: 0;
  align-items: stretch;
}

.blog-page .blog-card--featured {
  border-radius: var(--radius-lg);
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  gap: 0;
  overflow: hidden;
  transition: transform 0.28s ease, border-color var(--transition),
    box-shadow 0.28s ease;
}

.blog-page .blog-card--featured:hover {
  transform: translateY(-4px);
  border-color: rgba(13, 110, 253, 0.22);
  box-shadow: 0 14px 44px rgba(15, 23, 42, 0.07);
}

[data-theme="dark"] .blog-page .blog-card--featured:hover {
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}

.blog-page .blog-card--featured .blog-card__image-wrapper.blog-card__image-wrapper--featured {
  border: none;
  border-radius: 0;
  margin-bottom: 0;
}

@media (min-width: 993px) {
  .blog-page .blog-card--featured .blog-card__image-wrapper.blog-card__image-wrapper--featured {
    border-right: 1px solid var(--border-color);
  }
}

.blog-page .blog-card--featured .blog-card__featured-body {
  padding: 2rem 2.25rem 2.35rem;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}

.blog-page .blog-card--featured .blog-card__title--large {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.blog-page .blog-card--featured .blog-card__arrow {
  margin-top: auto;
}

.blog-page .blog-card__image-overlay {
  padding: 0.65rem 0.85rem 0.8rem;
}

.blog-page .blog-card--featured .blog-card__image-overlay {
  padding: 0.9rem 1.15rem 1.05rem;
}

.blog-page__pagination {
  /* margin-top: 3.25rem; */
  padding-top: 2.25rem;
  /* border-top: 1px solid var(--border-color); */
}

@media (max-width: 992px) {
  .blog-page__grid.blog-grid {
    gap: 1.85rem;
  }

  .blog-page .blog-card--featured .blog-card__featured-body {
    padding: 1.65rem 1.35rem 2rem;
  }

  .blog-page .blog-card--featured .blog-card__image-wrapper.blog-card__image-wrapper--featured {
    border-right: none;
  }
}

.filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 3rem;
}

.filter-tag {
  padding: 0.65rem 1.35rem;
  border-radius: 999px;
  border: 1px solid var(--border-color);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: var(--transition);
  background: var(--color-surface-card);
}

.filter-tag:hover,
.filter-tag.active {
  background: var(--color-navy);
  color: #faf8f5;
  border-color: var(--color-navy);
}

/* Страница «Полезные сервисы» */
.tools-page__hero .tools-page__title {
  font-size: clamp(2rem, 4vw, 3.25rem);
}

.tools-page__toolbar-section {
  padding-bottom: 1.5rem;
}

.tools-toolbar {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.tools-toolbar__group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.tools-toolbar__group--search {
  max-width: 28rem;
}

.tools-toolbar__label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
}

.tools-filter-tags.filter-tags {
  margin-bottom: 0;
}

button.filter-tag.tools-filter-btn {
  font: inherit;
  cursor: pointer;
}

.tools-filter-btn:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 2px;
}

.tools-search-wrap {
  position: relative;
}

.tools-search-input {
  width: 100%;
  padding: 0.95rem 1rem 0.95rem 2.85rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--color-surface-card);
  color: var(--color-text);
  font-family: var(--font-main);
  font-size: 1rem;
  transition: border-color var(--transition), background var(--transition);
  box-shadow: none;
}

.tools-search-input::placeholder {
  color: var(--color-text-muted);
  opacity: 0.85;
}

.tools-search-input:focus {
  outline: none;
  border-color: rgba(92, 88, 85, 0.35);
  background: var(--color-bg);
}

.tools-search-icon {
  position: absolute;
  left: 0.95rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  pointer-events: none;
  display: flex;
}

.tools-empty {
  margin: 0;
  font-size: 0.95rem;
  color: var(--color-text-muted);
}

.tools-section {
  padding-bottom: 3rem;
}

.tools-section--spaced {
  padding-top: 0;
}

.tools-section__title {
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-navy);
  margin-bottom: 1.35rem;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.35rem;
}

.tools-grid--two {
  grid-template-columns: repeat(2, 1fr);
  max-width: 58rem;
}

.tool-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.75rem;
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: none;
  transition: border-color var(--transition), background var(--transition);
}

.tool-card:hover {
  border-color: rgba(92, 88, 85, 0.22);
  background: var(--color-bg);
}

.tool-card.is-hidden {
  display: none !important;
}

.tool-card__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
  width: 100%;
}

.tool-card__icon {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.95rem;
  color: #fff;
  line-height: 1;
}

.tool-card__icon--squoosh {
  background: #ff6b35;
  border-radius: 50%;
  font-size: 1.1rem;
}

.tool-card__icon--iloveimg {
  background: #147af3;
  border-radius: 50%;
  font-size: 1rem;
}

.tool-card__icon--photoroom {
  background: #7c56f6;
  border-radius: 50%;
}

.tool-card__icon--case {
  background: #e63946;
  font-size: 0.75rem;
  letter-spacing: -0.03em;
}

.tool-card__icon--typo {
  background: #c42d2d;
  font-family: var(--font-main);
  font-size: 1.1rem;
}

.tool-card__title {
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0;
  color: var(--color-navy);
  letter-spacing: -0.02em;
}

.tool-card__desc {
  flex: 1;
  margin: 0 0 1.25rem;
  font-size: 0.98rem;
  line-height: 1.58;
  color: var(--color-text-muted);
}

.tool-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2563eb;
  text-decoration: none;
  pointer-events: auto;
}

.tool-card__link:hover {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

[data-theme="dark"] .tool-card__link {
  color: var(--color-gold-light);
}

.tool-card__link-icon {
  flex-shrink: 0;
  opacity: 0.9;
}

@media (max-width: 992px) {
  .tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .tools-grid,
  .tools-grid--two {
    grid-template-columns: 1fr;
    max-width: none;
  }
}

.article-hero {
  padding: 11rem 0 3rem;
  text-align: center;
}

.article-hero__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
  margin-bottom: 2rem;
  max-width: 760px;
  margin-inline: auto;
}

.article-meta {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem 0.95rem;
  margin-bottom: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text-muted);
  line-height: 1.45;
}

.article-meta__item--nowrap {
  white-space: nowrap;
}

@media (max-width: 420px) {
  .article-meta__item--nowrap {
    white-space: normal;
    text-align: center;
    max-width: 100%;
  }
}

.article-meta__item--wrap {
  flex-basis: 100%;
}

.article-meta__tag-wrap {
  flex-basis: 100%;
  display: flex;
  justify-content: center;
}

.article-meta__value {
  font-weight: 700;
  color: var(--color-navy-soft);
}

[data-theme="dark"] .article-meta__value {
  color: rgba(248, 250, 252, 0.88);
}

.article-meta__value--numeric {
  font-variant-numeric: tabular-nums;
}

.article-mvm-like.mvm-like {
  display: flex;
  justify-content: center;
}

.article-mvm-like .mvm-like__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
  padding: 0.55rem 1.15rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 600;
}

.article-mvm-like .mvm-like__btn svg {
  flex-shrink: 0;
}

.article-meta .tag {
  background: var(--gradient-gold);
  color: var(--color-text);
  padding: 0.35rem 1rem;
  border-radius: 999px;
  font-weight: 700;
}

.article-title {
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-bottom: 2.5rem;
  line-height: 1.08;
  max-width: 920px;
  margin-inline: auto;
  color: var(--color-navy);
}

.article-image {
  width: 100%;
  aspect-ratio: 21/9;
  border-radius: var(--radius-lg);
  object-fit: cover;
  box-shadow: none;
  margin-bottom: 3rem;
  border: 1px solid var(--border-color);
}

.prose {
  max-width: 760px;
  margin: 0 auto;
  font-size: 1.12rem;
  line-height: 1.82;
  color: var(--color-text);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.prose p {
  margin-bottom: 1.75rem;
}

.prose h2 {
  font-size: 1.85rem;
  margin: 3.5rem 0 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-navy);
  scroll-margin-top: 6.5rem;
}

.prose h3 {
  font-size: 1.35rem;
  margin: 2.5rem 0 1rem;
  font-weight: 700;
  color: var(--color-navy-soft);
  scroll-margin-top: 6rem;
}

.prose ul {
  margin-bottom: 1.75rem;
  padding-left: 1.35rem;
}

.prose li {
  margin-bottom: 0.65rem;
}

.prose blockquote {
  border-left: 3px solid var(--color-gold);
  padding: 1.35rem 1.75rem;
  background: rgba(13, 110, 253, 0.08);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style: italic;
  margin: 2.5rem 0;
  color: var(--color-text);
  font-size: 1.15rem;
  font-weight: 500;
}

.prose pre {
  background: var(--color-navy);
  color: #e8e6e1;
  padding: 1.75rem;
  border-radius: var(--radius-sm);
  overflow-x: auto;
  margin: 2.5rem 0;
  font-family: "Fira Code", ui-monospace, monospace;
  font-size: 0.92rem;
  border: 1px solid rgba(255, 250, 240, 0.06);
  box-shadow: none;
  position: relative;
}

.prose pre code {
  display: block;
  padding-right: 2rem;
}

.copy-btn {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition);
  opacity: 0;
}

.prose pre:hover .copy-btn {
  opacity: 1;
}

.copy-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: none;
}

.copy-btn.copied {
  background: var(--color-gold);
  border-color: var(--color-gold);
}

.prose code {
  font-family: "Fira Code", ui-monospace, monospace;
  font-size: 0.92em;
}
.prose img {
  width: 100%;
  border-radius: var(--radius-md);
  margin: 2.5rem 0;
  box-shadow: none;
  border: 1px solid var(--border-color);
}

.prose table {
  width: 100%;
  min-width: 28rem;
  margin: 2.25rem 0 2.75rem;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  font-size: 0.98rem;
  line-height: 1.5;
  background: var(--color-surface-card);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

[data-theme="dark"] .prose table {
  box-shadow: none;
}

.prose thead th {
  padding: 0.85rem 1.1rem;
  text-align: left;
  font-weight: 700;
  color: var(--color-navy);
  background: rgba(13, 110, 253, 0.08);
  border-bottom: 1px solid var(--border-color);
  vertical-align: bottom;
}

[data-theme="dark"] .prose thead th {
  color: rgba(248, 250, 252, 0.95);
  background: rgba(13, 110, 253, 0.18);
}

.prose tbody td {
  padding: 0.82rem 1.1rem;
  border-bottom: 1px solid var(--border-color);
  vertical-align: top;
  color: var(--color-text);
}

.prose tbody tr:last-child td {
  border-bottom: none;
}

.prose tbody tr:hover td {
  background: rgba(13, 110, 253, 0.04);
}

[data-theme="dark"] .prose tbody tr:hover td {
  background: rgba(255, 255, 255, 0.04);
}

@media (max-width: 640px) {
  .prose table {
    font-size: 0.92rem;
  }

  .prose thead th,
  .prose tbody td {
    padding: 0.7rem 0.82rem;
  }
}

.article-mvm-like--foot {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.author-box {
  max-width: 760px;
  margin: 5rem auto 0;
  padding: 2.5rem;
  border-radius: var(--radius-md);
  background: var(--color-surface-card);
  backdrop-filter: blur(16px);
  border: 1px solid var(--border-color);
  display: flex;
  gap: 1.75rem;
  align-items: center;
  box-shadow: none;
}

.author-box__avatar {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 2px solid var(--border-warm);
}

.author-box__info h4 {
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 0.4rem;
  color: var(--color-navy);
}

.author-box__info p {
  color: var(--color-text-muted);
  font-size: 1.02rem;
  margin-bottom: 1rem;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}

.contact-wrapper {
  border-radius: var(--radius-lg);
  padding: 5rem 4rem;
  position: relative;
  overflow: hidden;
}

/*.contact-wrapper::before {*/
/*  content: "";*/
/*  position: absolute;*/
/*  top: -30%;*/
/*  right: -15%;*/
/*  width: 55%;*/
/*  height: 140%;*/
/*  background: radial-gradient(circle at center, rgba(13, 110, 253, 0.14) 0%, transparent 62%);*/
/*  pointer-events: none;*/
/*}*/

.contact__title {
  font-size: clamp(2.35rem, 3.8vw, 3.75rem);
  font-weight: 900;
  line-height: 1.06;
  margin-bottom: 1.25rem;
  letter-spacing: -0.025em;
  color: #faf8f5;
}

.contact__subtitle {
  color: rgba(244, 241, 235, 0.72);
  font-size: 1.12rem;
  line-height: 1.58;
  margin-bottom: 2rem;
}

.contact-trust {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.contact-trust__item {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  font-size: 0.98rem;
  color: rgba(244, 241, 235, 0.85);
  line-height: 1.45;
}

.contact-trust__item strong {
  color: var(--color-gold-light);
  font-weight: 700;
  display: block;
  margin-bottom: 0.15rem;
}

.contact-trust__channels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.25rem;
}

.contact-trust__channels a {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(244, 241, 235, 0.22);
  color: #faf8f5;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.88rem;
  transition: border-color var(--transition), background var(--transition);
}

.contact-trust__channels a:hover {
  border-color: var(--color-gold);
  background: rgba(13, 110, 253, 0.12);
}

.form-group {
  margin-bottom: 1.25rem;
}

.form-input {
  width: 100%;
  padding: 1.15rem 1.35rem;
  background: rgba(255, 253, 249, 0.06);
  border: 1px solid rgba(244, 241, 235, 0.14);
  border-radius: var(--radius-sm);
  color: #faf8f5;
  font-family: var(--font-main);
  font-size: 1rem;
  transition: border-color var(--transition), background var(--transition);
}

.form-input:focus {
  outline: none;
  border-color: rgba(212, 175, 106, 0.55);
  background: rgba(255, 253, 249, 0.09);
  box-shadow: none;
}

.form-input::placeholder {
  color: rgba(244, 241, 235, 0.42);
}

.footer {
  padding: 3.25rem 0;
  border-top: 1px solid var(--border-color);
}

.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
  color: var(--color-text-muted);
  font-size: 0.95rem;
  font-weight: 500;
}

.footer__meta {
  flex: 1 1 18rem;
  max-width: 32rem;
}

.footer__copy {
  margin: 0 0 0.65rem;
  color: var(--color-navy);
  font-weight: 700;
  font-size: 0.95rem;
}

.footer__requisites {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.55;
  color: var(--color-text-muted);
  font-weight: 500;
}

.footer__requisites a {
  color: var(--color-gold-deep);
  text-decoration: none;
  font-weight: 600;
}

.footer__requisites a:hover {
  text-decoration: underline;
}

/* Чекбоксы — единый вид на всём сайте */
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  flex-shrink: 0;
  border: 1.5px solid var(--border-color);
  border-radius: 6px;
  background: var(--color-surface-card);
  cursor: pointer;
  position: relative;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

[data-theme="dark"] input[type="checkbox"] {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

input[type="checkbox"]:hover {
  border-color: rgba(92, 88, 85, 0.28);
}

[data-theme="dark"] input[type="checkbox"]:hover {
  border-color: rgba(240, 246, 252, 0.22);
}

input[type="checkbox"]:checked {
  background: linear-gradient(145deg, var(--color-gold-light), var(--color-gold-deep));
  border-color: var(--color-gold-deep);
  box-shadow: none;
}

input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 45%;
  width: 0.3rem;
  height: 0.55rem;
  border: 2px solid #fff;
  border-top-width: 0;
  border-left-width: 0;
  transform: translate(-50%, -50%) rotate(45deg);
  box-sizing: border-box;
}

input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--color-gold-light);
  outline-offset: 2px;
}

input[type="checkbox"]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(244, 241, 235, 0.88);
}

.form-consent input[type="checkbox"] {
  margin-top: 0.18rem;
}

.form-consent a {
  color: var(--color-gold-light);
  text-decoration: underline;
  text-underline-offset: 0.1em;
}

.footer__links {
  display: flex;
  gap: 1.75rem;
  flex-wrap: wrap;
}

.footer__links a {
  color: var(--color-navy);
  text-decoration: none;
  font-weight: 600;
}

/* Плашка согласия на cookie */
.cookie-banner {
  display: none;
  position: fixed;
  left: 24px;
  right: 24px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 200;
  max-width: 1040px;
  margin: 0 auto;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid #d1d9e5;
  border-radius: 12px;
  color: #171b24;
}
[data-theme="dark"] .cookie-banner { background: #141d2b; border-color: #344157; color: #f0f4fa; }
.cookie-banner.cookie-banner--visible { display: block; }
.cookie-banner__inner { display: flex; align-items: center; gap: 28px; width: 100%; max-width: none; padding: 0; }
.cookie-banner__copy { flex: 1; min-width: 0; }
.cookie-banner__title { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 600; }
.cookie-banner__text { margin: 0; font-size: 12px; line-height: 1.65; color: #526078; }
[data-theme="dark"] .cookie-banner__text { color: #a7b6ce; }
.cookie-banner__text a { color: #265ce0; text-decoration: underline; text-underline-offset: 3px; }
[data-theme="dark"] .cookie-banner__text a { color: #79a7ff; }
.cookie-banner__accept { flex: 0 0 auto; min-height: 44px; padding: 12px 26px; font-size: 14px; border-radius: 6px; }
.cookie-banner a:focus-visible, .cookie-banner button:focus-visible { outline: 2px solid #265ce0; outline-offset: 4px; }
[data-theme="dark"] .cookie-banner a:focus-visible, [data-theme="dark"] .cookie-banner button:focus-visible { outline-color: #79a7ff; }
@media (max-width: 600px) {
  .cookie-banner { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); padding: 18px; max-height: calc(100dvh - 24px); overflow-y: auto; }
  .cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 14px; }
  .cookie-banner__accept { width: 100%; }
}

.floating-cta {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  padding: 0.85rem 1.25rem calc(0.85rem + env(safe-area-inset-bottom, 0));
  background: linear-gradient(to top, rgba(247, 245, 242, 0.96), rgba(247, 245, 242, 0.88));
  backdrop-filter: blur(14px);
  border-top: 1px solid var(--border-color);
  box-shadow: none;
}

.floating-cta .btn {
  width: 100%;
}

@media (max-width: 992px) {
  .bento-item--large {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .contact-wrapper {
    padding: 3rem 2rem;
  }

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

  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .section__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .author-box {
    flex-direction: column;
    text-align: center;
    padding: 2rem;
  }
}

@media (max-width: 768px) {
  .bento-item {
    grid-column: span 12;
    padding: 2.25rem;
  }

  .header {
    width: calc(100% - 1.25rem);
    top: 0.85rem;
  }

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

  body {
    cursor: auto;
    padding-bottom: 5.5rem;
  }

  .cursor,
  .cursor-follower {
    display: none;
  }

  .hero {
    padding: 11rem 0 5rem;
  }

  .section {
    padding: 5.5rem 0;
  }

  .floating-cta {
    display: block;
  }

  .footer__inner {
    flex-direction: column;
    text-align: center;
  }

  .article-layout {
    grid-template-columns: 1fr;
  }

  .article-toc-wrap {
    position: static;
    max-height: none;
    overflow: visible;
    padding-right: 0;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
  }

  .article-toc {
    position: static;
    padding: 1rem 0;
  }
}

/* Хлебные крошки (SEO + ориентация) */
.breadcrumbs-wrap {
  padding-top: 6.5rem;
}

@media (max-width: 768px) {
  .breadcrumbs-wrap {
    padding-top: 5.75rem;
  }
}

.breadcrumbs {
  padding-block: 0.5rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-muted);
}

.breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  margin: 0;
  padding: 0;
}

.breadcrumbs li {
  display: inline-flex;
  align-items: baseline;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.breadcrumbs li:not(:last-child)::after {
  content: "";
  flex: 0 0 0.3125rem;
  width: 0.3125rem;
  height: 0.3125rem;
  align-self: center;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.55;
}

.breadcrumbs a {
  min-width: 0;
  padding-block: 0.25rem;
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
  transition: color var(--transition);
}

.breadcrumbs a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

.breadcrumbs a:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 4px;
  border-radius: 2px;
}

.breadcrumbs li:last-child {
  color: var(--color-text);
  font-weight: 500;
}

@media (max-width: 600px) {
  .breadcrumbs {
    padding-bottom: 1rem;
  }

  .breadcrumbs ol,
  .breadcrumbs li {
    column-gap: 0.625rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .breadcrumbs a {
    transition: none;
  }
}

/* Пагинация блога */
.pagination {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.pagination__info {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text-muted);
}

.pagination__controls {
  display: flex;
  gap: 0.65rem;
  align-items: center;
}

.pagination__list {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  list-style: none;
}

.pagination__list a,
.pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.65rem;
  min-height: 2.65rem;
  padding: 0 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-color);
  background: var(--color-surface-card);
  color: var(--color-navy);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: border-color var(--transition), background var(--transition),
    color var(--transition);
}

.pagination__list a:hover {
  border-color: var(--color-navy);
  background: #fff;
}

.pagination__list a[aria-current="page"] {
  background: var(--color-navy);
  color: #faf8f5;
  border-color: var(--color-navy);
}

.pagination__btn--disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

/* Оглавление статьи */
.article-body-section {
  padding-bottom: 5rem;
}

.article-layout {
  display: grid;
  grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}

.article-toc-wrap {
  position: relative;
}

.article-toc {
  position: sticky;
  top: 7rem;
  padding: 1.5rem;
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: none;
}

.article-toc__title {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-navy);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.article-toc__title::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: var(--color-gold);
  border-radius: 50%;
}

.article-toc ol {
  list-style: none;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}

.article-toc > ol::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--border-color);
  border-radius: 2px;
}

.article-toc ol ol {
  margin-top: 0.5rem;
  margin-left: 0.75rem;
}

.article-toc li {
  margin-bottom: 0.75rem;
  position: relative;
}

.article-toc a {
  color: var(--color-text-muted);
  text-decoration: none;
  transition: all var(--transition);
  display: block;
  padding-left: 1rem;
  position: relative;
}

.article-toc a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 0;
  background: var(--color-gold);
  transition: height var(--transition);
  border-radius: 2px;
}

.article-toc a:hover {
  color: var(--color-navy);
}

.article-toc a.active {
  color: var(--color-gold);
  font-weight: 700;
}

.article-toc a.active::before {
  height: 100%;
}

/* FAQ (главная — доверие + SEO) */
.faq-section {
  border-top: 1px solid var(--border-color);
}

.faq-intro {
  max-width: 40rem;
  color: var(--color-text-muted);
  font-size: 1.05rem;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 52rem;
}

.faq-item {
  border-bottom: 1px solid var(--border-color);
  overflow: hidden;
}

.faq-item:first-child {
  border-top: 1px solid var(--border-color);
}

.faq-item summary {
  padding: 1.5rem 0;
  font-weight: 600;
  font-size: 1.15rem;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--color-navy);
  transition: color var(--transition);
}

.faq-item summary:hover {
  color: var(--color-gold-deep);
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-right: 0.5rem;
}

.faq-item[open] summary::after {
  transform: rotate(-135deg);
}

.faq-item .faq-answer {
  padding: 0 0 1.5rem 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.62;
  margin: 0;
  animation: faq-fade-in 0.22s ease-out forwards;
}

@keyframes faq-fade-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Страница 404 */
.error-page {
  padding: clamp(5rem, 18vw, 10rem) 0 clamp(4rem, 12vw, 7rem);
  text-align: center;
}

.error-page__inner {
  max-width: 42rem;
  margin: 0 auto;
}

.error-page__code {
  font-size: clamp(3.75rem, 13vw, 8rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--color-navy);
  margin-bottom: 1.25rem;
}

.error-page__code-accent {
  color: var(--color-gold);
}

.error-page__title {
  font-size: clamp(1.25rem, 2.5vw, 1.65rem);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 0.75rem;
}

.error-page__text {
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.62;
  margin-bottom: 2rem;
}

.error-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.error-page__links {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-color);
}

.error-page__links-title {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}

.error-page__quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  justify-content: center;
}

.error-page__quick-links a {
  color: var(--color-navy-soft);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--transition);
}

.error-page__quick-links a:hover {
  color: var(--color-gold-deep);
}

/* Страницы инструментов (заготовки форм: htaccess и др.) */
.instrument-page {
  padding-bottom: 4rem;
}

.instrument-page__intro {
  padding-top: 0.5rem;
  padding-bottom: 2rem;
  max-width: 52rem;
}

.instrument-page__date {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--color-text-muted);
  margin-bottom: 0.75rem;
}

.instrument-page__title {
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0;
  color: var(--color-navy);
}

.instrument-form {
  max-width: 52rem;
}

.instrument-panel {
  background: var(--color-surface-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 1.75rem 1.5rem;
  margin-bottom: 1.35rem;
  box-shadow: none;
}

.instrument-panel--result {
  padding-top: 1.35rem;
}

.instrument-panel__title {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0 0 1.35rem;
  color: var(--color-navy);
  letter-spacing: -0.02em;
}

.instrument-panel__title--flat {
  margin-bottom: 0;
}

.instrument-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.instrument-field:last-child {
  margin-bottom: 0;
}

.instrument-field__main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
}

.instrument-field__label-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.instrument-field__control--inline {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
  font-weight: 600;
  color: var(--color-text);
}

.instrument-field__text {
  font-weight: 600;
  color: var(--color-text);
}

.instrument-help {
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 1px solid var(--border-color);
  border-radius: 50%;
  background: var(--color-bg);
  color: var(--color-text-muted);
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1;
  cursor: default;
}

.instrument-help--inline {
  margin-left: 0.15rem;
}

.instrument-select,
.instrument-input {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 0.95rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-main);
  font-size: 0.95rem;
  transition: border-color var(--transition), background var(--transition);
  box-shadow: none;
}

.instrument-select:focus,
.instrument-input:focus {
  outline: none;
  border-color: rgba(92, 88, 85, 0.32);
}

.instrument-input--padded {
  padding-left: 2.65rem;
}

.instrument-input-icon-wrap {
  position: relative;
  width: 100%;
}

.instrument-input-icon {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
  display: flex;
  pointer-events: none;
}

.instrument-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.instrument-textarea-block {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  overflow: hidden;
}

.instrument-textarea-block__bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0.35rem 0.45rem;
  border-bottom: 1px solid var(--border-color);
  background: var(--color-surface-card);
}

.instrument-textarea-block__actions {
  display: flex;
  gap: 0.2rem;
}

.instrument-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-muted);
  cursor: not-allowed;
  opacity: 0.55;
}

.instrument-icon-btn:not([disabled]) {
  cursor: pointer;
  opacity: 1;
}

.instrument-textarea {
  width: 100%;
  min-height: 12rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.82rem;
  line-height: 1.5;
  resize: vertical;
}

.instrument-textarea:focus {
  outline: 2px solid rgba(212, 175, 106, 0.35);
  outline-offset: -2px;
}

.instrument-textarea--result {
  min-height: 14rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  margin-top: 1rem;
}

.instrument-hint {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}

.instrument-check-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.85rem 1.25rem;
}

.instrument-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.instrument-check__label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-text);
  margin: 0;
}

/* Локальное выравнивание чекбоксов в форме htaccess */
.instrument-field__control--inline input[type="checkbox"] {
  margin-top: 0;
  align-self: center;
}

.instrument-check__label input[type="checkbox"] {
  margin-top: 0.1rem;
}

.instrument-actions {
  margin: 1.5rem 0 1.35rem;
}

.instrument-generate {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.instrument-result-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.instrument-result-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.instrument-result-btn[disabled] {
  opacity: 0.48;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 768px) {
  .instrument-split {
    grid-template-columns: 1fr;
  }

  .instrument-check-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .marquee__inner {
    animation: none;
    justify-content: center;
    flex-wrap: wrap;
    white-space: normal;
    width: 100%;
    gap: 1rem;
  }

  .blob {
    animation: none;
  }
}

/* Одна геометрия логотипа, отдельные цвета для каждой темы. */
.site-logo--dark { display: none; }
[data-theme="dark"] .site-logo--light { display: none; }
[data-theme="dark"] .site-logo--dark { display: inline; }

/* Compact cookie notice, independent of page content. */
.cookie-banner { left: auto; right: 24px; width: 390px; max-width: calc(100% - 48px); padding: 24px; border-radius: 16px; }
.cookie-banner__inner { display: block; }
.cookie-banner__heading { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.cookie-banner__icon { flex: 0 0 48px; width: 48px; height: 48px; color: #265ce0; transform: rotate(-8deg); }
[data-theme="dark"] .cookie-banner__icon { color: #79a7ff; }
.cookie-banner__title { margin: 0; font-size: 18px; line-height: 1.35; letter-spacing: -.015em; }
.cookie-banner__text { font-size: 13px; line-height: 1.65; }
.cookie-banner__accept { width: 100%; margin-top: 20px; }
@media (max-width: 600px) {
  .cookie-banner { left: 12px; right: 12px; width: auto; max-width: none; padding: 20px; }
  .cookie-banner__heading { margin-bottom: 12px; }
  .cookie-banner__accept { margin-top: 16px; }
}

.site-footer { --footer-muted: #526078; --footer-line: #d1d9e5; --footer-accent: #265ce0; background: #f7f6f3; color: #171b24; border-top: 1px solid var(--footer-line); padding: 60px 0 28px; }
[data-theme="dark"] .site-footer { --footer-muted: #a7b6ce; --footer-line: #2a374b; --footer-accent: #79a7ff; background: #0e131c; color: #f0f4fa; }
.site-footer__top { display: grid; grid-template-columns: 1.3fr .8fr 1fr; gap: 48px; padding-bottom: 48px; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--footer-accent); }
.site-footer a:focus-visible { outline: 2px solid var(--footer-accent); outline-offset: 5px; }
.site-footer__name { display: inline-block; font-size: clamp(24px, 2.5vw, 34px); font-weight: 650; letter-spacing: -.025em; line-height: 1.25; }
.site-footer__name span { color: var(--footer-accent); }
.site-footer__identity p { color: var(--footer-muted); margin: 16px 0 0; font-size: 15px; line-height: 1.75; }
.site-footer__heading { display: block; font-size: 13px; font-weight: 500; color: var(--footer-muted); margin-bottom: 16px; }
.site-footer__nav a { display: block; width: fit-content; padding: 8px 0; font-size: 14px; }
.site-footer__contact > a, .site-footer__contact > .phone-container { display: block; margin-bottom: 14px; }
.site-footer__email { font-size: 20px; font-weight: 500; }
.site-footer__email span { color: var(--footer-accent); margin-left: 8px; }
.site-footer__social { display: flex; gap: 24px; margin-top: 22px; color: var(--footer-accent); font-size: 14px; }
.site-footer__bottom { display: flex; justify-content: space-between; align-items: end; gap: 32px; border-top: 1px solid var(--footer-line); padding-top: 24px; font-size: 12px; line-height: 1.7; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom .site-footer__legal { color: var(--footer-muted); margin-top: 8px; }
.site-footer__policies { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--footer-muted); }
@media (max-width: 760px) {
  .site-footer { padding: 40px 0 24px; }
  .site-footer__top { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
  .site-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .site-footer__nav .site-footer__heading { grid-column: 1 / -1; }
  .site-footer__bottom { align-items: start; flex-direction: column; gap: 20px; }
}

.site-footer { overflow: hidden; }
.footer-playground { position: relative; display: grid; grid-template-columns: 1fr 120px; align-items: center; gap: 32px; padding: 12px 0 64px; margin-bottom: 40px; border-bottom: 1px solid var(--footer-line); }
.footer-playground__invite { font-size: clamp(40px, 6.5vw, 70px); line-height: 1.08; font-weight: 650; letter-spacing: -.035em; width: fit-content; }
.footer-playground__invite span { color: var(--footer-accent); }
.footer-playground__orb { width: 120px; height: 120px; border-radius: 50%; background: var(--footer-accent); color: #fff !important; display: grid; place-items: center; transition: border-radius 300ms ease, transform 300ms ease; }
[data-theme="dark"] .footer-playground__orb { color: #0e131c !important; }
.footer-playground__orb:hover { border-radius: 32%; transform: rotate(8deg); }
.footer-playground__orb svg { width: 85px; height: 85px; transform: translate(var(--orb-x, 0px), var(--orb-y, 0px)); transition: transform 160ms ease-out; }
.footer-playground__actions { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 32px; font-size: 14px; }
.footer-playground__actions > a, .footer-copy { min-height: 44px; display: inline-flex; align-items: center; }
.footer-copy { font: inherit; color: var(--footer-muted); background: none; border: 0; padding: 0; gap: 14px; cursor: pointer; }
.footer-copy:hover { color: var(--footer-accent); }
.footer-copy:focus-visible { outline: 2px solid var(--footer-accent); outline-offset: 5px; }
.footer-copy-status { color: var(--footer-accent); font-size: 12px; }
@media (max-width: 760px) {
  .footer-playground { grid-template-columns: 1fr 64px; gap: 24px 12px; padding-bottom: 32px; margin-bottom: 32px; }
  .footer-playground__invite { font-size: clamp(30px, 6.7vw, 50px); }
  .footer-playground__orb { width: 64px; height: 64px; }
  .footer-playground__orb svg { width: 40px; height: 40px; }
  .footer-playground__actions { gap: 8px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-playground__orb, .footer-playground__orb svg { transition: none; transform: none; }
  .footer-playground__orb:hover { transform: none; }
}

.site-header { --header-line: #d1d9e5; --header-accent: #265ce0; --header-panel: #fff; background: #f7f6f3; border-color: var(--header-line); backdrop-filter: none; -webkit-backdrop-filter: none; }
[data-theme="dark"] .site-header { --header-line: #2a374b; --header-accent: #79a7ff; --header-panel: #141d2b; background: #0e131c; }
.site-header.scrolled { background: var(--header-panel); }
.site-header .header__inner { max-width: 1440px; gap: 24px; height: 80px; }
.site-header .logo-img { flex: 0 0 auto; }
.site-header .logo-img img { width: 238px; max-height: 48px; }
.site-header .header__actions { gap: 8px; }
.site-header .header-search__toggle, .site-header .theme-toggle { width: 44px; height: 44px; border: 1px solid var(--header-line); border-radius: 10px; color: var(--color-text); background: transparent; }
.site-header .header-search__toggle:hover, .site-header .theme-toggle:hover { color: var(--header-accent); background: var(--header-panel); border-color: var(--header-accent); }
.site-header .header-project { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 0 16px; margin-right: 8px; color: var(--color-text); text-decoration: none; font-size: 13px; border-bottom: 1px solid var(--header-accent); white-space: nowrap; }
.site-header .header-project span { color: var(--header-accent); transition: transform 180ms ease; }
.site-header .header-project:hover span { transform: translate(2px, -2px); }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 2px solid var(--header-accent); outline-offset: 4px; }
.site-header .header-search__panel { background: var(--header-panel); border-color: var(--header-line); }
.site-header .header-search__input { border-radius: 8px; color: var(--color-text); }
@media (min-width: 993px) {
  .site-header .nav { gap: clamp(14px, 1.8vw, 28px); }
  .site-header .nav__link { font-size: 13px; padding: 12px 0; color: var(--color-text); }
  .site-header .nav__link:hover { color: var(--header-accent); }
}
@media (max-width: 1250px) { .site-header .header-project { display: none; } }
@media (max-width: 992px) { .site-header .header__inner { height: 72px; } }
@media (max-width: 600px) {
  .site-header .header__inner { padding: 0 20px; gap: 12px; }
  .site-header .logo-img img { width: 64px; height: 42px; }
  .site-header .header__actions { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .site-header .header-project span { transition: none; } }

/* Floating navigation shell. */
.site-header { top: calc(16px + env(safe-area-inset-top, 0px)); left: 24px; right: 24px; width: auto; max-width: 1280px; margin: 0 auto; border: 1px solid var(--header-line); border-radius: 16px; background: var(--header-panel); }
[data-theme="dark"] .site-header { background: var(--header-panel); }
.site-header .header__inner { height: 72px; padding: 0 20px; gap: 20px; }
.site-header .logo-img img { width: 220px; }
.site-header .header-search__panel { position: absolute; top: calc(100% + 10px); left: -1px; right: -1px; padding: 18px; border: 1px solid var(--header-line); border-radius: 14px; background-image: none; }
.site-header .header-search__inner { padding: 0; }
.site-header .header-search__toggle, .site-header .theme-toggle { border-color: transparent; }
.site-header .header__actions { border-left: 1px solid var(--header-line); padding-left: 12px; }
@media (min-width: 993px) {
  .site-header .nav { position: relative; gap: 2px; }
  .site-header .nav__link { padding: 12px 13px; z-index: 1; white-space: nowrap; }
  .site-header .nav__link::after { display: none; }
  .site-header .nav::before { content: ""; position: absolute; top: 14px; left: 0; height: 44px; width: var(--nav-width, 0px); transform: translateX(var(--nav-left, 0px)); border-radius: 9px; background: #edf2fa; opacity: var(--nav-visible, 0); transition: transform 220ms ease, width 220ms ease, opacity 150ms ease; pointer-events: none; }
  [data-theme="dark"] .site-header .nav::before { background: #243149; }
}
@media (max-width: 1100px) and (min-width: 993px) {
  .site-header .logo-img img { width: 190px; }
  .site-header .nav__link { padding: 12px 8px; font-size: 12px; }
}
@media (max-width: 992px) {
  .site-header { top: calc(10px + env(safe-area-inset-top, 0px)); left: 12px; right: 12px; }
  .site-header .header__inner { height: 64px; padding: 0 14px; }
  .site-header .logo-img { position: relative; z-index: 110; }
  .site-header .nav { background-image: none; backdrop-filter: none; }
}
@media (max-width: 600px) { .site-header .logo-img img { width: 56px; height: 38px; } }
@media (prefers-reduced-motion: reduce) { .site-header .nav::before { transition: none; } }
.site-header .header-search { position: static; }
@media (max-width: 992px) { .site-header .header-search__panel { position: fixed; top: calc(84px + env(safe-area-inset-top, 0px)); left: 12px; right: 12px; } }

.site-header .header-search__panel { padding: 28px 32px; }
.header-search__heading { font-size: 14px; font-weight: 500; color: var(--color-text-muted); margin-bottom: 18px; }
.site-header .header-search__form { max-width: none; gap: 20px; align-items: center; }
.site-header .header-search__input { min-width: 0; height: 64px; padding: 8px 0; font-size: clamp(20px, 2.5vw, 32px); letter-spacing: -.02em; border: 0; border-bottom: 1px solid var(--header-line); border-radius: 0; background: transparent; box-shadow: none; }
.site-header .header-search__input:focus { border-color: var(--header-accent); outline: none; box-shadow: 0 1px 0 var(--header-accent); }
.site-header .header-search__submit { display: flex; align-items: center; gap: 24px; min-height: 52px; padding: 12px 22px; border: 0; border-radius: 8px; background: var(--header-accent); color: #fff; }
[data-theme="dark"] .site-header .header-search__submit { color: #0e131c; }
.site-header .header-search__submit:hover { filter: brightness(.94); }
.header-search__submit span { font-size: 24px; }
.header-search__topics { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; font-size: 13px; }
.header-search__topics > span { color: var(--color-text-muted); }
.header-search__topics a { color: var(--header-accent); text-decoration: none; padding: 8px 0; }
.header-search__topics a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .site-header .header-search__panel { padding: 22px 18px; max-height: calc(100dvh - 100px); overflow-y: auto; }
  .site-header .header-search__form { flex-direction: column; align-items: stretch; gap: 16px; }
  .site-header .header-search__input { width: 100%; font-size: 20px; height: 52px; }
  .site-header .header-search__submit { justify-content: space-between; }
  .header-search__topics { gap: 4px 16px; }
}

/* End */


/* Start:/local/templates/site-v2/assets/css/site-layout.css?1791122685425*/
/* One outer grid for every site page; reading measures belong inside it. */
:root { --site-container-width:1320px; --site-container-gutter:32px; }
:root body .main .container, :root body .site-footer .container {
 width:100%; max-width:var(--site-container-width); margin-inline:auto;
 padding-inline:var(--site-container-gutter); box-sizing:border-box;
}
@media(max-width:600px) { :root { --site-container-gutter:20px; } }

/* End */


/* Start:/local/templates/site-v2/assets/css/engineering-hero.css?17911226855896*/
.engineering-hero {
  --eh-accent: #265ce0;
  --eh-panel: #fff;
  --eh-line: #b8c7e1;
  --eh-muted: #526078;
  padding: 156px 0 76px;
  overflow: clip;
}
[data-theme="dark"] .engineering-hero {
  --eh-accent: #79a7ff;
  --eh-panel: #141d2b;
  --eh-line: #364d70;
  --eh-muted: #a7b6ce;
}
.engineering-hero__grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
.engineering-hero__copy { min-width: 0; }
.engineering-hero h1 { font-size: clamp(42px, 4.5vw, 66px); line-height: 1.09; letter-spacing: -.035em; font-weight: 750; margin: 0; text-wrap: balance; }
.engineering-hero h1 span { color: var(--eh-accent); }
.engineering-hero__lead { font-size: 18px; line-height: 1.7; color: var(--eh-muted); margin-top: 28px; max-width: 52ch; }
.engineering-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin: 34px 0; }
.engineering-hero__actions .btn { gap: 22px; border-radius: 8px; font-size: 15px; padding: 16px 23px; }
.engineering-hero__link { color: var(--color-text); text-decoration: none; display: inline-flex; gap: 16px; align-items: center; min-height: 48px; font-size: 15px; }
.engineering-hero__link:hover { color: var(--eh-accent); }
.engineering-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 13px; color: var(--eh-muted); }
.engineering-hero__facts span + span { padding-left: 22px; border-left: 1px solid var(--eh-line); }
.engineering-hero__nda { color: var(--eh-muted); font-size: 12px; margin-top: 10px; }
.integration { min-width: 0; }
.integration__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--eh-muted); min-height: 44px; }
.integration__canvas { position: relative; aspect-ratio: 560 / 480; }
.integration__wires { width: 100%; height: 100%; position: absolute; inset: 0; }
.integration__orbit { stroke: var(--eh-line); stroke-width: .6; opacity: .5; }
.integration__wire { stroke: var(--eh-line); stroke-width: 1.5; }
.integration__pulse { stroke: var(--eh-accent); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 8 92; opacity: 0; }
.integration__junctions { fill: var(--eh-accent); }
.integration__core { position: absolute; top: 39%; left: 33%; width: 34%; height: 25%; background: var(--eh-panel); border: 1px solid var(--eh-accent); border-radius: 16px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.integration__core svg { width: 34px; height: 34px; color: var(--eh-accent); margin-bottom: 8px; }
.integration__core strong { font-size: clamp(14px, 1.6vw, 22px); line-height: 1.2; }
.integration__core > span { font-size: 9px; color: var(--eh-muted); margin-top: 6px; }
.integration__node { position: absolute; background: var(--eh-panel); border: 1px solid var(--eh-line); border-radius: 12px; color: var(--color-text); padding: 16px; display: flex; gap: 12px; align-items: center; text-align: left; font: inherit; cursor: pointer; width: 39%; min-height: 76px; transition: border-color .2s, transform .25s cubic-bezier(.16,1,.3,1), background-color .2s; }
.integration__node--catalog { top: 6%; left: 30.5%; }
.integration__node--erp { top: 75%; left: 1%; }
.integration__node--crm { top: 75%; right: 1%; }
.integration__node > svg { width: 28px; height: 28px; color: var(--eh-accent); flex-shrink: 0; }
.integration__node strong { display: block; font-size: 16px; font-weight: 600; }
.integration__node small { display: block; font-size: 10px; color: var(--eh-muted); white-space: nowrap; }
.integration__node-arrow { margin-left: auto; color: var(--eh-accent); }
.integration__node[aria-pressed="true"], .integration__node:hover { border-color: var(--eh-accent); }
@media (hover: hover) { .integration__node:hover { transform: translateY(-4px); } }
.engineering-hero :is(button, a):focus-visible { outline: 3px solid var(--eh-accent); outline-offset: 5px; }
.integration__detail { border-top: 1px solid var(--eh-line); padding-top: 20px; min-height: 125px; }
.integration__detail strong { font-size: 16px; }
.integration__detail p { font-size: 13px; line-height: 1.65; color: var(--eh-muted); margin: 6px 0 0; max-width: 58ch; }
.integration__hint { font-size: 11px; color: var(--eh-muted); }
.integration[data-active="catalog"] [data-wire="catalog"], .integration[data-active="erp"] [data-wire="erp"], .integration[data-active="crm"] [data-wire="crm"] { stroke: var(--eh-accent); }

@media (max-width: 1050px) {
  .engineering-hero__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .engineering-hero h1 { font-size: 46px; }
  .integration__node { padding: 12px 9px; gap: 8px; }
  .integration__node-arrow { display: none; }
}
@media (max-width: 760px) {
  .engineering-hero { padding: 114px 0 44px; }
  .engineering-hero__grid { grid-template-columns: 1fr; gap: 38px; }
  .engineering-hero h1 { font-size: clamp(38px, 8vw, 58px); max-width: 620px; }
  .engineering-hero__lead { font-size: 16px; margin-top: 22px; }
  .engineering-hero__actions { gap: 16px; margin: 26px 0; }
  .engineering-hero__actions .btn { padding: 14px 18px; }
  .integration { max-width: 560px; width: 100%; margin: auto; }
  .integration__core strong { font-size: 18px; }
  .integration__detail { min-height: 112px; }
}
@media (max-width: 400px) {
  .engineering-hero .container { padding-inline: 20px; }
  .integration__node { min-height: 64px; }
  .integration__node > svg { width: 22px; height: 22px; }
  .integration__node strong { font-size: 14px; }
  .integration__node small { font-size: 9px; }
  .integration__core > span { display: none; }
  .integration__core svg { width: 26px; height: 26px; margin-bottom: 4px; }
  .integration__core strong { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .integration__pulse { opacity: 0; }
  .integration__node { transition: none; }
  .integration__node:hover { transform: none; }
}

/* End */


/* Start:/local/templates/site-v2/assets/css/engineering-home.css?179112268617673*/
.engineering-home {
  --home-accent: #265ce0;
  --home-muted: #526078;
  --home-line: #d1d9e5;
  --home-panel: #fff;
  --home-tint: #edf2fa;
}
[data-theme="dark"] .engineering-home {
  --home-accent: #79a7ff;
  --home-muted: #a7b6ce;
  --home-line: #2a374b;
  --home-panel: #141d2b;
  --home-tint: #111923;
}
.engineering-home .section { padding: 88px 0; scroll-margin-top: 88px; }
.engineering-home .section__title, .home-expertise h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.18; letter-spacing: -.025em; color: var(--color-text); font-weight: 700; }
.engineering-home .section__header { align-items: center; gap: 24px; margin-bottom: 34px; }
.engineering-home .btn { border-radius: 8px; }
.engineering-home :is(a, button, summary, input, textarea):focus-visible { outline: 3px solid var(--home-accent); outline-offset: 5px; }
.engineering-home .home-expertise { border-block: 1px solid var(--home-line); padding: 62px 0 0; }
.home-expertise__main { display: grid; grid-template-columns: .9fr 2fr; gap: 44px; padding-bottom: 42px; }
.home-expertise__main h2 { font-size: clamp(28px, 2.6vw, 36px); }
.home-expertise__areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.expertise-area { padding: 0 24px; border-left: 1px solid var(--home-line); }
.home-icon { width: 40px; height: 40px; color: var(--home-accent); flex-shrink: 0; }
.expertise-area h3 { font-size: 19px; margin: 24px 0 12px; font-weight: 600; }
.expertise-area p, .home-expertise__support p { font-size: 14px; line-height: 1.75; color: var(--home-muted); }
.home-icon__needle { transform-origin: 24px 28px; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.expertise-area:hover .home-icon__needle { transform: rotate(18deg); }
.home-icon__detail { transition: opacity .25s; }
.expertise-area:hover .home-icon__detail { opacity: .25; }
.home-expertise__support { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--home-line); }
.home-expertise__support article { display: flex; gap: 20px; padding: 30px 34px 32px 0; }
.home-expertise__support article + article { border-left: 1px solid var(--home-line); padding-left: 34px; }
.home-expertise__support .home-icon { width: 30px; height: 30px; }
.home-expertise__support h3 { font-size: 16px; margin-bottom: 8px; }
.engineering-home .portfolio-grid { gap: 32px; }
.engineering-home .portfolio-item { display: block; min-width: 0; }
.engineering-home .portfolio-item__image-wrapper { border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-tint); aspect-ratio: 560 / 300; height: auto; }
.case-visual { width: 100%; height: 100%; stroke: var(--home-muted); stroke-width: 1.5; }
.case-visual__accent { stroke: var(--home-accent); fill: var(--home-panel); }
.case-visual__signal { stroke: var(--home-accent); stroke-dasharray: 300; stroke-dashoffset: 0; transition: stroke-dashoffset .65s ease; }
.portfolio-item:hover .case-visual__signal { stroke-dashoffset: 45; }
.engineering-home .portfolio-item__overlay { position: absolute; inset: auto 18px 14px auto; transform: none; background: none; opacity: 1; color: var(--home-muted); font-size: 11px; padding: 0; }
.engineering-home .portfolio-item__info { padding-top: 22px; }
.engineering-home .portfolio-item__tags { gap: 14px; margin-bottom: 14px; }
.engineering-home .portfolio-item__tags span { background: none; border: 0; padding: 0; color: var(--home-accent); font-size: 11px; }
.engineering-home .portfolio-item__result { color: var(--home-muted); font-size: 13px; }
.engineering-home .portfolio-item h3 { font-size: clamp(22px, 2vw, 28px); line-height: 1.35; margin-top: 10px; }
.engineering-home #about { border-block: 1px solid var(--home-line); background: var(--home-tint); }
.home-about { display: grid; grid-template-columns: .8fr 1.4fr; gap: 90px; }
.home-about .prose { max-width: 64ch; }
.engineering-home .home-about .prose p { color: var(--home-muted); }
.engineering-home .home-about .prose .lead { color: var(--color-text); font-size: 21px; line-height: 1.6; }
/* Homepage articles follow the same open columns as the service sections. */
.engineering-home #blog { border-top: 1px solid var(--home-line); }
.engineering-home .blog-grid { gap: 0; }
.engineering-home .blog-card { padding: 26px; border: 0; border-top: 1px solid var(--home-line); border-radius: 0; background: transparent; box-shadow: none; transform: none; overflow: visible; position: relative; }
.engineering-home .blog-card + .blog-card { border-left: 1px solid var(--home-line); }
.engineering-home .blog-card__image-wrapper { border: 0; border-radius: 0; overflow: visible; aspect-ratio: auto; margin: 0; }
.engineering-home .blog-card__image-wrapper picture { height: auto; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 4px; }
.engineering-home .blog-card__image-overlay { position: static; background: none; padding: 18px 0 0; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.engineering-home .blog-card__image-overlay .blog-card__tag { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--home-accent); font-size: 12px; font-weight: 600; }
.engineering-home .blog-card__overlay-bottom { flex: 1 1 auto; gap: 10px; justify-content: space-between; }
.engineering-home .blog-card__image-overlay .blog-card__date { color: var(--home-muted); font-size: 12px; font-weight: 400; letter-spacing: 0; margin: 0; }
.engineering-home .blog-card__image-overlay .blog-card__stat,
.engineering-home .blog-card__image-overlay .blog-card__stat-icon { color: var(--home-muted); }
.engineering-home .blog-card:hover .blog-card__image-overlay .blog-card__stat,
.engineering-home .blog-card:hover .blog-card__image-overlay .blog-card__stat-icon { color: var(--home-muted); }
.engineering-home .blog-card__image-overlay .blog-card__stat:not(:first-child) { border-color: var(--home-line); }
.engineering-home .blog-card__title { font-size: 20px; font-weight: 600; line-height: 1.45; letter-spacing: -.015em; color: var(--color-text); }
.engineering-home .blog-card__link { padding: 18px 0 0; text-decoration: none; }
.engineering-home .blog-card__link:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 5px; }
.engineering-home .blog-card:hover .blog-card__title { color: var(--home-accent); }
.engineering-home .blog-card__arrow { margin-top: 18px; border: 0; border-radius: 0; width: 24px; height: 24px; color: var(--home-accent); background: none; }
.engineering-home .blog-card:hover .blog-card__arrow { color: var(--home-accent); background: none; }
@media (max-width: 1000px) and (min-width: 761px) {
  .engineering-home .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .engineering-home .blog-card { padding: 20px 16px; }
  .engineering-home .blog-card__title { font-size: 18px; }
}
@media (max-width: 760px) {
  .engineering-home .blog-grid { grid-template-columns: 1fr; }
  .engineering-home .blog-card, .engineering-home .blog-card:first-child, .engineering-home .blog-card:last-child { padding: 24px 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .engineering-home .blog-card__image, .engineering-home .blog-card__arrow { transition: none; }
  .engineering-home .blog-card:hover .blog-card__image, .engineering-home .blog-card:hover .blog-card__arrow { transform: none; }
}
.engineering-home #faq { border-top: 1px solid var(--home-line); }
.engineering-home #faq > .container { display: grid; grid-template-columns: .8fr 1.4fr; column-gap: 90px; }
.engineering-home #faq h2 { grid-column: 1; margin-bottom: 20px; }
.engineering-home .faq-intro { grid-column: 1; color: var(--home-muted); font-size: 15px; }
.engineering-home .faq-list { grid-column: 2; grid-row: 1 / 4; max-width: none; width: 100%; }
.engineering-home .faq-item { background: transparent; border: 0; border-bottom: 1px solid var(--home-line); border-radius: 0; margin: 0; box-shadow: none; }
.engineering-home .faq-item:first-child { border-top: 1px solid var(--home-line); }
.engineering-home .faq-item summary { padding: 23px 40px 23px 0; font-size: 17px; }
.engineering-home .faq-item summary:hover { color: var(--home-accent); }
.engineering-home .faq-answer { color: var(--home-muted); padding: 0 30px 24px 0; font-size: 15px; }
.engineering-home #contact { background: var(--home-tint); border-top: 1px solid var(--home-line); }
.engineering-home .contact-wrapper { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; color: var(--color-text); gap: 80px; }
.engineering-home .contact__title { color: var(--color-text); font-size: clamp(32px, 3.6vw, 48px); line-height: 1.2; letter-spacing: -.025em; }
.engineering-home .contact__subtitle, .engineering-home .contact-trust__item, .engineering-home .form-note, .engineering-home .form-consent { color: var(--home-muted); }
.engineering-home .contact-trust__item strong { color: var(--color-text); }
.engineering-home .contact-trust__channels a, .engineering-home .form-consent a { color: var(--home-accent); }
.engineering-home .form-input { background: var(--home-panel); color: var(--color-text); border: 1px solid var(--home-line); border-radius: 8px; padding: 17px 18px; }
.engineering-home .form-input::placeholder { color: var(--home-muted); opacity: 1; }
.engineering-home .form-input:focus { border-color: var(--home-accent); }
@media (max-width: 1100px) {
  .home-expertise__main { grid-template-columns: 1fr; gap: 32px; }
  .expertise-area:first-child { border-left: 0; padding-left: 0; }
  .home-about, .engineering-home #faq > .container { gap: 32px; }
  .engineering-home .contact-wrapper { gap: 40px; }
}
@media (max-width: 760px) {
  .engineering-home .section { padding: 52px 0; }
  .engineering-home .home-expertise { padding-bottom: 0; }
  .home-expertise__areas, .home-expertise__support, .home-about, .engineering-home #faq > .container { grid-template-columns: 1fr; }
  .expertise-area, .expertise-area:first-child { padding: 24px 0; border-left: 0; border-top: 1px solid var(--home-line); display: grid; grid-template-columns: 42px 1fr; gap: 0 20px; }
  .expertise-area h3 { margin: 0 0 8px; }
  .expertise-area p { grid-column: 2; }
  .home-expertise__main { padding-bottom: 0; }
  .home-expertise__support article, .home-expertise__support article + article { padding: 24px 0; border-left: 0; }
  .home-expertise__support article + article { border-top: 1px solid var(--home-line); }
  .engineering-home .portfolio-grid { grid-template-columns: 1fr; gap: 38px; }
  .engineering-home .section__header { align-items: start; flex-direction: column; }
  .engineering-home .home-about { gap: 0; }
  .engineering-home #faq .faq-list { grid-column: 1; grid-row: auto; }
  .engineering-home .contact-wrapper { grid-template-columns: 1fr; gap: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-icon__needle, .home-icon__detail, .case-visual__signal { transition: none; }
  .expertise-area:hover .home-icon__needle { transform: none; }
}

.home-section-note { color: var(--home-muted); font-size: 14px; line-height: 1.7; }
.engineering-home .home-tasks { border-top: 1px solid var(--home-line); }
.home-tasks__layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; }
.home-tasks__choices { border-top: 1px solid var(--home-line); }
.home-task-choice { display: flex; align-items: center; gap: 18px; width: 100%; min-height: 86px; padding: 20px 12px; background: transparent; color: var(--color-text); border: 0; border-bottom: 1px solid var(--home-line); text-align: left; font: inherit; font-size: 17px; cursor: pointer; transition: background-color .2s, color .2s; }
.home-task-choice .home-icon { width: 28px; height: 28px; }
.home-task-choice__arrow { width: 22px; height: 22px; margin-left: auto; flex-shrink: 0; transition: transform .2s; }
.home-task-choice[aria-pressed="true"] { background: var(--home-tint); color: var(--home-accent); }
.home-task-choice:hover .home-task-choice__arrow { transform: translateX(4px); }
.home-task-panel { padding: 30px 34px; border: 1px solid var(--home-line); border-radius: 12px; background: var(--home-panel); min-height: 370px; }
.home-task-panel[hidden] { display: none; }
.home-task-panel h3 { font-size: clamp(23px, 2.4vw, 30px); line-height: 1.3; letter-spacing: -.02em; margin-bottom: 18px; }
.home-task-panel p { color: var(--home-muted); font-size: 15px; line-height: 1.75; }
.home-task-panel__prepare { margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--home-line); }
.home-task-panel__prepare strong { display: block; font-size: 13px; margin-bottom: 6px; }
.home-task-panel .btn { gap: 24px; }
.engineering-home .home-process { border-top: 1px solid var(--home-line); }
.home-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
.home-process__steps > li { padding: 28px 26px 0; border-top: 1px solid var(--home-line); position: relative; }
.home-process__steps > li:first-child { padding-left: 0; }
.home-process__steps > li + li { border-left: 1px solid var(--home-line); }
.home-process__number { display: block; color: var(--home-muted); font-size: 12px; margin-bottom: 30px; }
.home-process__steps .home-icon { display: block; margin-bottom: 24px; }
.home-process__steps h3 { font-size: 20px; line-height: 1.4; margin-bottom: 14px; min-height: 56px; }
.home-process__steps p { color: var(--home-muted); font-size: 14px; line-height: 1.75; }
.home-process__copy p { margin: 0; }
.home-process__result strong { display: block; color: var(--home-accent); font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.home-process__copy .home-process__result { margin-top: 20px; }
@media (max-width: 1000px) {
  .home-tasks__layout { gap: 28px; }
  .home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
  .home-process__steps > li:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 760px) {
  .home-tasks__layout { grid-template-columns: 1fr; gap: 24px; }
  .home-task-choice { font-size: 16px; min-height: 74px; }
  .home-task-panel { padding: 25px 22px; min-height: 0; }
  .home-process__steps { grid-template-columns: 1fr; }
  .home-process__steps > li, .home-process__steps > li + li { padding: 24px 0 0; border-left: 0; }
  .home-process__number { float: right; margin: 8px 0; }
  .home-process__steps h3 { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .home-task-choice, .home-task-choice__arrow { transition: none; }
  .home-task-choice:hover .home-task-choice__arrow { transform: none; }
}

.engineering-home .home-about__lead { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.45; font-weight: 500; color: var(--color-text); margin-bottom: 24px; letter-spacing: -.015em; }
.engineering-home .home-about .prose > p:not(.home-about__lead) { color: var(--home-muted); line-height: 1.8; }
.engineering-home .home-form-label { display: block; margin-bottom: 10px; color: var(--color-text); font-size: 14px; font-weight: 500; }
.engineering-home .form textarea { resize: vertical; min-height: 150px; }
.engineering-home .faq-item summary:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 4px; }

.engineering-home .home-contact-channels { display: grid; gap: 0; margin-top: 12px; }
.engineering-home .home-contact-channels a { display: grid; grid-template-columns: 24px minmax(0, 1fr) 18px; gap: 16px; align-items: center; padding: 15px 4px; border: 0; border-bottom: 1px solid var(--home-line); border-radius: 0; color: var(--color-text); font-size: 15px; font-weight: 500; }
.engineering-home .home-contact-channels a:first-child { border-top: 1px solid var(--home-line); }
.engineering-home .home-contact-channels a:hover { background: var(--home-panel); color: var(--home-accent); }
.engineering-home .home-contact-channels svg { width: 24px; height: 24px; color: var(--home-accent); }
.engineering-home .home-contact-channels small { display: block; margin-bottom: 4px; font-size: 12px; color: var(--home-muted); font-weight: 400; }
.engineering-home .home-contact-channels a:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 3px; }
.engineering-home .form-consent { gap: 12px; cursor: pointer; padding: 8px 0; }
.engineering-home .form-consent input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: 0 0 24px; width: 24px; height: 24px; margin: 1px 0 0; border: 1.5px solid var(--home-muted); border-radius: 5px; background: var(--home-panel); cursor: pointer; display: grid; place-content: center; }
.engineering-home .form-consent input[type="checkbox"]::after { content: ""; position: absolute; left: 50%; top: 45%; width: 7px; height: 12px; border: solid white; border-width: 0 2px 2px 0; box-sizing: border-box; transform: translate(-50%, -50%) rotate(45deg); visibility: hidden; }
.engineering-home .form-consent input[type="checkbox"]:checked { background: #265ce0; border-color: #265ce0; }
.engineering-home .form-consent input[type="checkbox"]:checked::after { visibility: visible; }
.engineering-home .form-consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 4px; }
@media (forced-colors: active) { .engineering-home .form-consent input[type="checkbox"] { appearance: auto; } .engineering-home .form-consent input[type="checkbox"]::after { display: none; } }
.engineering-home .contact-trust__item > div { width: 100%; min-width: 0; }

.engineering-home #contact .form-note { margin: 16px 0 0; font-size: 12px; line-height: 1.6; text-align: left; }
.engineering-home #contact .form-status:empty { display: none; }

/* End */


/* Start:/local/templates/site-v2/assets/css/retro.css?179112268510900*/
.retro[hidden],.retro [hidden]{display:none!important}
.retro-entry{position:fixed;bottom:20px;right:20px;z-index:90;border:1px solid #81899b;background:#eceee9;color:#202739;padding:8px 12px;font:12px/1.2 Tahoma,Arial,sans-serif;box-shadow:inset 1px 1px #fff,2px 3px 0 #172b4120;cursor:pointer}.retro-entry span{font-size:18px;margin-right:6px}
.retro-desktop{--desk:#2349ac;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:0;background:var(--desk);color:#162231;font:13px/1.45 Tahoma,Arial,sans-serif;overflow:hidden;isolation:isolate;color-scheme:light}
.retro-desktop::backdrop{background:#172444}.retro-desktop[data-wallpaper="1"]{--desk:#24625b}.retro-desktop[data-wallpaper="2"]{--desk:#573879}
.retro-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 80% 95%,#99c3ff55,transparent 60%)}.retro-sky:after{content:'';position:absolute;width:900px;height:900px;border:1px solid #ffffff19;border-radius:50%;right:-350px;bottom:-500px;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff04}.retro-sky>span{position:absolute;right:30px;bottom:55px;color:#ffffff13;font:bold clamp(100px,19vw,280px)/1 Arial;letter-spacing:-.04em}
.retro-icons{position:absolute;top:28px;left:16px;display:grid;gap:24px;width:96px}.retro-icons button{display:grid;justify-items:center;gap:7px;background:none;border:1px solid transparent;color:white;font:12px/1.3 Tahoma,Arial;text-shadow:1px 1px #142952;padding:3px;cursor:pointer}.retro-icons button:hover{background:#ffffff20;border:1px dotted #fff}.retro-icon{width:43px;height:39px;display:grid;place-items:center;font:bold 35px/1 monospace;text-shadow:none;filter:drop-shadow(2px 3px 0 #102a6740)}.retro-icon--pc{color:#9be3f3;background:#c8d3e3;border:4px ridge #f4f4e8;box-shadow:0 5px 0 -2px #b8c6df}.retro-icon--game{color:#f9ec85;background:#8270d8;border:3px outset #a697f0;border-radius:8px}.retro-icon--note{background:#fff9d6;color:#6f7a8a;border:1px solid #c9c3a9}.retro-icon--disc{border-radius:50%;background:conic-gradient(#c5f4f2,#afb2ff,#fff,#d9f4ad,#c5f4f2);color:#4f5596}
.retro-window{position:absolute;border:1px solid #132c67;border-radius:7px 7px 0 0;padding:3px;background:#e8e6df;box-shadow:5px 8px 0 #0b1d3d32;font:13px/1.4 Tahoma,Arial,sans-serif;box-sizing:border-box;max-width:calc(100% - 24px)}
.retro-window--home{left:140px;top:38px;width:620px;z-index:2}.retro-window--player{left:calc(100% - 340px);top:38px;width:304px;z-index:3}.retro-window--game{left:calc(100% - 453px);top:200px;width:410px;z-index:4}.retro-window--notes{left:240px;top:130px;width:420px;z-index:5}
.retro-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(#527eee,#2455c4 20%,#234fb6 80%,#183e95);color:#fff;border-radius:4px 4px 0 0;padding:5px 5px 5px 8px;cursor:move;touch-action:none;user-select:none}.retro-titlebar h2{font:bold 12px/1.3 Tahoma,Arial;margin:0;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.retro-titlebar button{width:22px;height:22px;flex-shrink:0;padding:0;border:1px solid #ecf3ff;background:#e5e9f3;color:#192b54;border-radius:2px;font:bold 17px/18px Arial;cursor:pointer;box-shadow:inset -1px -1px #8d9fc0}
.retro-menubar{display:flex;gap:18px;padding:6px 9px;font-size:11px;color:#333}.retro-address{display:flex;align-items:center;gap:9px;border-block:1px solid #c9c9bc;padding:5px 8px;font-size:11px}.retro-address>div{flex:1;background:white;border:1px inset #c8c8bd;padding:3px 7px;color:#394a63}
.retro-webpage{background:#fffcf1;margin:4px 0 0;padding:26px 28px 20px;color:#253a60}.retro-webhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:2px solid #253a60;font:12px/1.15 monospace;letter-spacing:1px}.retro-webhead b{font-size:23px;letter-spacing:-1px}.retro-online{font:11px/1.6 Tahoma,Arial;letter-spacing:0;text-align:right}.retro-online i{display:inline-block;width:7px;height:7px;background:#4d8a44;border-radius:50%;margin-right:4px}.retro-welcome{display:flex;gap:20px;align-items:center;margin:25px 0 14px}.retro-orbit{font:90px/1 Georgia;color:#e16631;transform:rotate(12deg)}.retro-welcome p{margin:0 0 8px;font:11px/1.5 Tahoma,Arial}.retro-welcome h3{font:bold 46px/.98 Georgia,serif;letter-spacing:-.035em;margin:0;color:#253a60}.retro-welcome h3 span{color:#e16631}.retro-bio{font:13px/1.7 Tahoma,Arial;margin:18px 0;max-width:56ch}.retro-webnav{display:flex;gap:24px;margin:20px 0 26px}.retro-webnav a{color:#154cb0;text-decoration:underline;font-size:12px}.retro-banner{display:flex;gap:15px;justify-content:space-between;align-items:center;border:1px solid #ba9d48;background:#f9e99b;padding:10px 13px;font:bold 11px/1.4 Tahoma,Arial;color:#594b22}.retro-banner>span{font-size:24px}.retro-banner small{display:block;font-weight:normal;font-size:10px;margin-top:3px}.retro-badges{display:flex;gap:9px;margin:21px 0;flex-wrap:wrap}.retro-badges>span,.retro-badges>button{font:8px/1.3 monospace;letter-spacing:.3px;padding:4px 6px;border:2px outset #eff4ea;background:#244279;color:#fff;text-align:center}.retro-badges>span:nth-child(2){background:#9d422c}.retro-badges>button{background:#dde5c5;color:#263b22;cursor:pointer}.retro-badges b{font-size:9px}.retro-webbottom{border-top:1px dashed #b8bdbe;display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:9px;color:#667183}.retro-counter{background:#172b45;color:#e3edc6;font:12px monospace;letter-spacing:2px;padding:2px 4px}.retro-webbottom small{display:block;text-align:right;font-size:8px;margin-top:5px}.retro-statusbar{display:flex;justify-content:space-between;padding:4px 7px;font-size:10px;border-top:1px solid #b4b7bc;color:#495463}
.retro-player-body{padding:9px;background:#cbcbd0}.retro-player-screen{background:#152226;border:2px inset #9c9da3;display:flex;gap:12px;align-items:center;padding:13px 8px;color:#a8e076}.retro-player-screen strong{font:11px monospace}.retro-player-screen span{display:block;font:8px monospace;margin-top:6px;color:#91a484}.retro-equalizer{display:flex;align-items:flex-end;height:30px;gap:3px}.retro-equalizer i{width:4px;height:7px;background:#a5db70}.retro-equalizer i:nth-child(3n){height:22px}.retro-equalizer i:nth-child(2n){height:15px}.is-playing .retro-equalizer i{animation:retro-eq .6s ease-in-out infinite alternate}.is-playing .retro-equalizer i:nth-child(2n){animation-delay:-.4s}.retro-player-controls{display:flex;gap:10px;align-items:center;margin-top:10px}.retro-player-controls>span{font-size:9px;color:#444957}
.retro :is(.retro-player-controls,.retro-game-controls) button{background:#eeeee7;border:2px outset #fff;color:#1d3049;padding:5px 10px;font:11px Tahoma,Arial;cursor:pointer}.retro :is(.retro-player-controls,.retro-game-controls) button:active{border-style:inset}.retro-notepad{background:#fffef7;padding:20px;color:#253044;font:12px/1.7 monospace}.retro-notepad p{margin:0 0 18px}.retro-notepad small{font-size:10px}
.retro-game-body{padding:12px;background:#131e38;color:#bdcce4}.retro-game-score{display:flex;justify-content:space-between;font:10px monospace;margin-bottom:10px;letter-spacing:1px}.retro-game-score b{color:#f4d876;margin-left:5px}.retro-game-body canvas{display:block;width:100%;height:auto;background:#101a30;touch-action:none;border:1px solid #35415f;box-sizing:border-box}.retro-game-controls{display:flex;gap:8px;margin-top:12px}.retro-game-controls button:first-child{flex:1}.retro-game-message{font:11px/1.5 Tahoma,Arial;margin:10px 0 4px;color:#e4eaf7}.retro-game-hint{font-size:9px;color:#a4b5d0}.retro-taskbar{position:absolute;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:6px;height:42px;background:linear-gradient(#e9ebf2,#c7d2e9);border-top:2px solid #f8fbff;padding:3px 8px;box-sizing:border-box}.retro-taskbar button{font:11px Tahoma,Arial;border:1px solid #8295b2;background:#e9edf5;padding:6px 12px;color:#25364c;cursor:pointer;white-space:nowrap}.retro-taskbar .retro-start{background:#327838;color:#fff;font-weight:bold;border-color:#23642c}.retro-exit{margin-left:auto}.retro-clock{padding:4px 10px;border:1px inset #e2eafa;color:#30435b;font:11px monospace}.retro :is(button,a,canvas):focus-visible{outline:2px dashed #ed7839;outline-offset:3px}.retro-desktop.is-inactive *{animation-play-state:paused!important}
@keyframes retro-eq{to{transform:scaleY(.25)}}
@media(max-width:1100px) and (min-width:761px){.retro-window--home{width:55%;left:115px;top:20px}.retro-window--game{width:34%;left:auto;right:18px;top:220px}.retro-window--player{left:auto;right:18px;width:28%;top:44px}.retro-webpage{padding:20px}.retro-welcome h3{font-size:38px}.retro-orbit{font-size:70px}}
@media(max-width:760px){.retro-desktop{overflow:auto;padding-bottom:58px;box-sizing:border-box}.retro-sky{position:fixed}.retro-icons{position:relative;top:auto;left:auto;display:flex;justify-content:space-around;gap:8px;width:auto;padding:18px 12px}.retro-icons button{width:78px;font-size:10px}.retro-icon{transform:scale(.8)}.retro-window{position:relative!important;left:auto!important;top:auto!important;right:auto!important;width:calc(100% - 24px);margin:0 auto 18px;max-width:620px;transform:none!important}.retro-titlebar{cursor:default}.retro-titlebar button{width:30px;height:28px}.retro-webpage{padding:20px 18px}.retro-menubar{gap:14px;font-size:10px}.retro-welcome{gap:12px}.retro-welcome h3{font-size:38px}.retro-orbit{font-size:68px}.retro-webhead b{font-size:21px}.retro-banner{gap:8px}.retro-banner>span{font-size:18px}.retro-webnav{gap:20px}.retro-bio{font-size:12px}.retro-webbottom{font-size:8px}.retro-taskbar{position:fixed}.retro-taskbar .retro-task{display:none}.retro-clock{display:none}.retro-taskbar .retro-exit{font-size:11px;padding:8px}.retro-player-controls button{min-height:36px}.retro-game-controls button{min-height:38px}}
@media(prefers-reduced-motion:reduce){.retro *{animation:none!important}}

.retro-floppy{display:inline-block;vertical-align:middle;width:16px;height:17px;background:#354a72;border:1px solid #19273d;border-radius:1px;position:relative}.retro-floppy:before{content:'';position:absolute;top:0;left:3px;width:8px;height:6px;background:#cbd2dc;border-right:2px solid #5f708b}.retro-floppy:after{content:'';position:absolute;bottom:1px;left:2px;width:10px;height:6px;background:#fff7e1}
@media(min-width:761px){.retro-window{max-height:calc(100dvh - 90px);overflow:auto}.retro-window--home{display:flex;flex-direction:column}.retro-window--home>.retro-webpage{overflow:auto;min-height:0}.retro-window--home>:not(.retro-webpage){flex-shrink:0}.retro-window--game{max-height:calc(100dvh - 250px)}}
@media(min-width:761px) and (max-height:650px){.retro-desktop{overflow:auto}.retro-window--game{top:175px;max-height:calc(100dvh - 220px)}.retro-window--player{top:12px}.retro-window--home{top:12px;max-height:calc(100dvh - 64px)}}

/* End */


/* Start:/local/templates/site-v2/template_styles.css?179112144312223*/
.blog-card__link{
  text-decoration: none;
}

.blog-card__arrow i.svg{
  line-height: 1;
  position: relative;
  top: 1;
}

.prose h2{
    line-height: 1.2;
}

.blog-card__excerpt{
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Количество строк */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero{
    padding: 8rem 0 7rem;
}


@media (max-width: 1024px) {
    .article-layout{
        grid-template-columns: 1fr;
    }

    .article-toc-wrap{
        display: none;
    }
}

.logo-img img{
    max-width: 100%;
    max-width: 260px;
    height: auto;
}


@media (max-width: 600px) {
    .logo-img img{
        max-width: 100%;
        max-width: 100px;
        height: auto;
        max-height: 42px;
    }
    .hero{
        min-height: auto;
        padding: 7rem 0 2rem;
    }

    .hero__badge{
        margin-bottom: 1rem;
    }

    .hero__trust{
        gap: 0.3rem 0.6rem;
    }

    .footer__meta{
        flex-basis: 100%;
    }

    .footer__links{
        gap: 0.75rem;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    body {
        cursor: auto;
        padding-bottom: 0rem;
        /* Временно убрал*/ 
    }

    .blog-page .hero {
        padding: 2rem 0 2rem;
    }

    .pagination{
        flex-direction: column;
    }
}


.form-note{
    font-size: 0.82rem;
    text-align: center;
    margin-top: 10px;
}


.form-note {
  margin: -0.25rem 0 1rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}

.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--color-text-muted);
  cursor: pointer;
}

.form-consent input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin-top: 0.15rem;
}

.form-consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.form-group.has-error .form-input {
  border-color: #ff6b6b;
}

.form-error {
  margin-top: 0.45rem;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #ff8a8a;
}

.form-status {
  min-height: 1.4rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  line-height: 1.45;
}

.form-status--success {
  color: #8ee6a8;
}

.form-status--error {
  color: #ff8a8a;
}

.form button[disabled] {
  opacity: 0.7;
  cursor: wait;
}




.contact-trust__channels .phone-container a::after{
   content: '';
   display: none !important;
}


.uslugi-page-list .bento-grid,
.solution-page .bento-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.35rem;
}

.uslugi-page-list .bento-item,
.solution-page .bento-item{
    grid-column: span 1;
}

.uslugi-page-list .bento-item > *,
.solution-page .bento-item > *{
  pointer-events: inherit
}

.uslugi-page-list .bento-item__label,
.solution-page .bento-item__label{
  display: block;
  font-size: 0.8rem; 
  color: var(--color-gold); 
  margin-bottom: 1rem; 
}

.uslugi-page-list .bento-item__title,
.solution-page .bento-item__title{
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.uslugi-page-list .bento-item__title a{
  color: inherit;
  text-decoration: none;
  line-height: 1.2;
}


.uslugi-page-list .bento-item__text,
.solution-page .bento-item__text{
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 2rem;
}

.solution-page .bento-item__tags{
    display: flex; 
    gap: 1rem; 
    align-items: center; 
    flex-wrap: wrap; 
    margin-top: auto;
}

.solution-page .bento-item__tag{
    margin: 0; 
    background: var(--border-color); 
    color: var(--color-text); 
    border: none;
}

.uslugi-page-list .bento-item__btn,
.solution-page .bento-item__btn{
  margin-top: 2rem; 
  width: 100%; 
  text-align: center; 
  justify-content: center;
}

.uslugi-page-list .bento-item__btn{
  margin-top: auto;
}


.pgae-qr{

}

.qr-offer {
  padding-bottom: 4rem;
}

.qr-offer__grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 3.5rem;
  align-items: start;
}

.qr-offer__content {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-text);
}

.qr-offer__lead {
  margin-bottom: 2rem;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-navy);
}

.qr-offer__code {
  font-size: 0.95rem;
  color: var(--color-gold-deep);
}

.qr-offer__title {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-navy);
}

.qr-benefits {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
  padding-left: 0;
  list-style-type: none;
}

.qr-benefits__item {
  position: relative;
  padding-left: 2rem;
}

.qr-benefits__icon {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
  color: var(--color-gold);
}

.qr-specs {
  position: sticky;
  top: 100px;
  padding: 2.5rem;
  grid-column: auto;
}

.qr-specs > *{
    pointer-events: inherit;
}

.qr-specs .qr-specs__title {
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-navy);
  text-align: center;

}

.qr-specs__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.qr-specs__row {
  border-bottom: 1px solid var(--border-color);
}

.qr-specs__label {
  padding: 0.85rem 0;
  color: var(--color-text-muted);
}

.qr-specs__value {
  padding: 0.85rem 0;
  text-align: right;
  font-weight: 600;
  color: var(--color-navy);
}

.qr-specs__footer {
  padding-top: 1.5rem;
  text-align: center;
}

.qr-specs__price {
  margin-bottom: 0.5rem;
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--color-navy);
}

.qr-specs__note {
  margin-bottom: 1.5rem;
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.qr-specs__btn {
  width: 100%;
  justify-content: center;
}


.qr-capabilities {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: var(--color-bg-warm);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.qr-capabilities__title {
  margin-bottom: 3rem;
}

.qr-capability {
  grid-column: span 4;
  background: var(--color-bg);
}

.qr-capability.bento-item{
    padding: 2rem;
}

@media (max-width: 1024px) {
    .qr-capability.bento-item{
        grid-column: span 6;
    }
}

.qr-capability__tag {
  /* margin-bottom: 1rem; */
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-gold);
}

.qr-capability__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-navy);
}

.qr-capability__text {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}


/* Business Value */

.qr-value {
  padding-top: 5rem;
  padding-bottom: 4rem;
}

.qr-value__title {
  margin-bottom: 3.5rem;
}

.qr-value__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.qr-value-card {
  display: flex;
  gap: 1.5rem;
  padding: 2.5rem;
  background: var(--color-surface-card);
  grid-column: auto
}

.qr-value-card__number {
  flex: 0 0 auto;
  font-size: 2rem;
  line-height: 1;
  color: var(--color-gold);
}

.qr-value-card__title {
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-navy);
}

.qr-value-card__text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--color-text-muted);
}


/* Demo */

.qr-demo {
  padding-top: 4rem;
  padding-bottom: 6rem;
  border-top: 1px solid var(--border-color);
}

.qr-demo__card {

}

.qr-demo__grid {

}

.qr-demo__eyebrow {
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
  color: var(--color-gold);
  text-transform: uppercase;
}

.qr-demo__btn {
  padding: 1.1rem 2.5rem;
  border-radius: 50px;
}

.qr-demo-credentials__title {
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border-color);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-gold);
}

.qr-demo-credentials__url {
  font-size: 0.8rem;
}

.qr-demo-credentials__password {
  color: var(--color-gold-deep);
}



/* Live Demo Panel Styling */
    .demo-card {
      border: 1px solid var(--border-color);
      border-radius: var(--radius-md);
      padding: 3rem;
      margin-top: 4rem;
      background: var(--color-bg);
      position: relative;
    }
    
    .demo-grid-wrapper {
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 3.5rem;
      align-items: center;
    }
    
    .demo-info__title {
      font-size: 2rem;
      font-weight: 800;
      color: var(--color-navy);
      margin-bottom: 1rem;
      letter-spacing: -0.02em;
    }

    .demo-info__text {
      color: var(--color-text-muted);
      line-height: 1.6;
      margin-bottom: 2rem;
      font-size: 1.05rem;
    }

    .credentials-panel {
      background: var(--color-bg-warm);
      border: 1px solid var(--border-color);
      border-radius: var(--radius-sm);
      padding: 1.75rem;
    }

    .credentials-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.75rem 0;
      border-bottom: 1px solid var(--border-color);
    }

    .credentials-row:last-child {
      border-bottom: none;
    }

    .credentials-label {
      color: var(--color-text-muted);
      font-size: 0.85rem;
    }

    .credentials-value-wrap {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .credentials-value {
      font-weight: 600;
      color: var(--color-navy);
      font-size: 0.9rem;
    }

    .btn-copy {
      background: transparent;
      border: 1px solid var(--border-color);
      color: var(--color-text-muted);
      padding: 0.35rem 0.65rem;
      border-radius: 4px;
      font-size: 0.75rem;
      cursor: pointer;
      font-family: 'Onest', sans-serif;
      transition: all 0.2s ease;
    }

    .btn-copy:hover {
      background: var(--color-surface-card);
      color: var(--color-gold-deep);
      border-color: var(--color-gold);
    }

    .btn-copy.copied {
      background: var(--color-navy-soft);
      color: #ffffff;
      border-color: var(--color-navy-soft);
    }

    @media (max-width: 991px) {
      .qr-banner-container {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding: 2rem;
      }
      .glowing-qr-box {
        transform: none;
      }
      .glowing-qr-box:hover {
        transform: scale(1.02);
      }
      .demo-grid-wrapper {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
      .demo-card {
        padding: 2rem;
      }
    }

    .qr-audience__grid{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .qr-audience__grid .qr-audience__item{
        grid-column: auto;
        padding: 2rem;
    }


    .product-screen {
        overflow: hidden;
        height: 18rem;
    }

    .product-screen img {
        object-fit: contain;
        width: 100%;
        height: 100%;
        object-position: center;
    }


.qr-interface {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section-head {
  max-width: 760px;
  margin-bottom: 3rem;
}

.section__subtitle {
  margin-top: 1rem;
  color: var(--color-text-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.qr-interface__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.qr-interface__item{
    grid-column: auto;
    padding: 2rem;
}

.qr-interface__item h3 {
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  color: var(--color-navy);
  font-size: 1.25rem;
  font-weight: 700;
}

.qr-interface__item p {
  color: var(--color-text-muted);
  font-size: 0.96rem;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .qr-interface__grid {
    grid-template-columns: 1fr;
  }

  .product-screen {
    padding: 8px;
    border-radius: 18px;
  }

  .product-screen img {
    border-radius: 12px;
  }
}


.qr-page h2{
    line-height: 1.2;
}


@media (max-width: 1024px) {
    .section__title{
        margin-bottom: 2rem;
    }
}

@media (max-width: 991px) {
    .qr-offer__grid{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .qr-value__grid,
    .qr-audience__grid{
        grid-template-columns: 1fr;
    }

    .qr-capability.bento-item{
        grid-column: span 12;
    }
}


/* End */
/* /local/templates/site-v2/assets/css/font.css?179112268610044 */
/* /local/templates/site-v2/assets/css/main.css?179112268582716 */
/* /local/templates/site-v2/assets/css/site-layout.css?1791122685425 */
/* /local/templates/site-v2/assets/css/engineering-hero.css?17911226855896 */
/* /local/templates/site-v2/assets/css/engineering-home.css?179112268617673 */
/* /local/templates/site-v2/assets/css/retro.css?179112268510900 */
/* /local/templates/site-v2/template_styles.css?179112144312223 */
