
/* Astrela patch 1.0.11: local Golos Text font.
   Files are installed by tools/astrela-download-vendor-assets.sh.
   If files are absent, browser falls back to the system stack. */
@font-face {
  font-family: "Golos Text";
  src: url("/theme/astrela/assets/vendor/fonts/golos-text/files/golos-text-cyrillic-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("/theme/astrela/assets/vendor/fonts/golos-text/files/golos-text-cyrillic-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("/theme/astrela/assets/vendor/fonts/golos-text/files/golos-text-cyrillic-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("/theme/astrela/assets/vendor/fonts/golos-text/files/golos-text-cyrillic-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("/theme/astrela/assets/vendor/fonts/golos-text/files/golos-text-cyrillic-800-normal.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Astrela Tech theme. Generated from approved mockup: tech.css + base.css. */

:root {
  --font-body: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --line-height: 1.48;
  --body-tracking: 0;
  --container: 1168px;
  --container-gutter: 64px;

  --accent: #0b7cff;
  --accent-2: #0068ef;
  --accent-soft: rgba(11,124,255,.12);
  --accent-border: rgba(11,124,255,.34);
  --text: #0b1730;
  --text-strong: #14243d;
  --muted: #8490a2;
  --heading: #11192a;
  --card-title: #071733;
  --card-text: #243552;
  --link-accent: #0068ef;
  --page-bg: #f7faff;
  --section-bg: linear-gradient(180deg, #f8fbff 0%, #f2f7fd 100%);

  --header-text: #fff;
  --header-muted: rgba(255,255,255,.88);
  --header-bg: rgba(3, 12, 19, .96);
  --header-border: 1px solid rgba(255,255,255,.12);
  --header-blur: blur(10px);
  --header-shadow: none;
  --header-height: 80px;
  --brand-col: 242px;
  --header-gap: 28px;
  --logo-width: 210px;
  --nav-gap: clamp(18px, 3vw, 48px);
  --nav-size: 14px;
  --nav-weight: 700;
  --nav-tracking: 0;
  --nav-transform: none;
  --nav-padding-y: 28px;
  --nav-underline-bottom: 20px;
  --nav-underline-height: 2px;
  --phone-gap: 14px;
  --phone-width: 235px;
  --phone-icon-size: 44px;
  --phone-icon-border: 2px solid var(--accent);
  --phone-icon-radius: 50%;
  --phone-icon-font-size: 21px;
  --phone-main-size: 19px;
  --phone-sub-size: 18px;
  --control-radius: 10px;
  --mobile-toggle-border: 1px solid rgba(255,255,255,.18);
  --mobile-toggle-bg: rgba(255,255,255,.04);
  --mobile-menu-border: 1px solid rgba(255,255,255,.15);
  --mobile-menu-radius: 14px;
  --mobile-menu-bg: rgba(4,13,20,.98);
  --mobile-menu-shadow: 0 22px 45px rgba(0,0,0,.28);
  --mobile-menu-hover: rgba(255,255,255,.06);
  --theme-picker-gap: 4px;
  --theme-picker-padding: 4px;
  --theme-picker-border: 1px solid rgba(255,255,255,.18);
  --theme-picker-radius: 999px;
  --theme-picker-bg: rgba(255,255,255,.05);
  --theme-button-height: 34px;
  --theme-button-pad-x: 12px;
  --theme-button-radius: 999px;
  --theme-button-size: 12px;
  --theme-button-active-text: #fff;
  --theme-button-active-bg: linear-gradient(180deg, #1689ff 0%, #006cf4 100%);
  --theme-button-active-shadow: 0 8px 20px rgba(0,113,245,.28);

  --hero-height: 452px;
  --feature-strip-space: 88px;
  --hero-bg: #07131d;
  --hero-image-position: center right;
  --hero-image-opacity: .98;
  --hero-image-filter: saturate(1.05) contrast(1.02);
  --hero-image-transform: none;
  --hero-overlay: linear-gradient(90deg, rgba(4,14,23,.96) 0%, rgba(4,14,23,.75) 38%, rgba(4,14,23,.18) 72%, rgba(4,14,23,.05) 100%);
  --hero-content-width: 570px;
  --hero-inner-padding: 28px 0 0;
  --hero-content-padding: 18px 0 26px;
  --hero-copy-max: 640px;
  --hero-mobile-padding: 56px 0 30px;
  --hero-mobile-image-opacity: .55;
  --hero-mobile-image-position: center right 34%;
  --kicker-color: rgba(255,255,255,.68);
  --kicker-size: 13px;
  --kicker-weight: 800;
  --kicker-tracking: .08em;
  --kicker-transform: uppercase;
  --eyebrow-mb: 14px;
  --h1-min: 34px;
  --h1-fluid: 4.2vw;
  --h1-max: 48px;
  --h1-mobile: 32px;
  --h1-line: 1.08;
  --h1-tracking: -.045em;
  --h1-weight: 850;
  --h1-max-width: 640px;
  --h1-mark-top: 2px;
  --hero-text-margin: 24px 0 28px;
  --hero-text-width: 465px;
  --hero-text-color: rgba(255,255,255,.88);
  --hero-text-size: 17px;
  --hero-text-line: 1.55;
  --hero-text-weight: 400;
  --button-gap: 18px;
  --button-height: 54px;
  --button-pad-x: 29px;
  --button-radius: 7px;
  --button-border: 1px solid transparent;
  --button-weight: 800;
  --button-hover-y: -1px;
  --button-primary-text: #fff;
  --button-primary-bg: linear-gradient(180deg, #1689ff 0%, #006cf4 100%);
  --button-primary-shadow: 0 13px 28px rgba(0,113,245,.32);
  --button-outline-text: #fff;
  --button-outline-bg: rgba(255,255,255,.03);
  --button-outline-border: rgba(255,255,255,.72);
  --feature-strip-padding: 0 0 28px;
  --mini-feature-gap: 0;
  --mini-feature-height: 44px;
  --mini-feature-inner-gap: 13px;
  --mini-feature-padding: 0 22px 0 0;
  --mini-feature-border: 1px solid rgba(255,255,255,.26);
  --mini-feature-border-mobile: 1px solid rgba(255,255,255,.18);
  --mini-feature-bg: transparent;
  --mini-feature-radius: 0;
  --mini-feature-icon: 25px;
  --mini-feature-text: rgba(255,255,255,.84);
  --mini-feature-size: 12px;

  --section-padding: 22px;
  --section-tight-padding: 20px;
  --title-align: center;
  --title-margin: 0 0 24px;
  --h2-size: 27px;
  --h2-tracking: -.025em;
  --h2-weight: 850;
  --title-kicker-mb: 6px;
  --title-line-width: 54px;
  --title-line-height: 3px;
  --title-line-margin: 12px auto 0;
  --title-line-bg: var(--accent);
  --title-compact-mb: 20px;
  --inverse-heading: #fff;
  --inverse-kicker: rgba(255,255,255,.58);
  --inverse-text: #fff;
  --inverse-muted: rgba(255,255,255,.86);

  --direction-gap: 24px;
  --direction-min-height: 314px;
  --direction-padding: 18px 22px 22px;
  --card-border: 1px solid #d8e1ec;
  --card-radius-lg: 16px;
  --card-radius: 12px;
  --card-bg: rgba(255,255,255,.88);
  --card-shadow: 0 16px 38px rgba(23,52,83,.06);
  --card-hover-y: -4px;
  --card-hover-shadow: 0 22px 55px rgba(12,26,45,.10);
  --direction-image-box-height: 132px;
  --direction-image-align: center;
  --direction-image-margin: 0 0 18px;
  --direction-image-fit: contain;
  --direction-image-transform: scale(1.08);
  --image-radius: 12px;
  --image-bg: linear-gradient(180deg, rgba(11,124,255,.05), rgba(11,124,255,.00));
  --card-title-mb: 12px;
  --card-text-mb: 18px;
  --direction-title-size: 19px;
  --direction-title-weight: 850;
  --direction-text-size: 14px;
  --direction-text-line: 1.62;
  --direction-link-size: 14px;

  --service-gap: 16px;
  --service-min-height: 132px;
  --service-padding: 22px 18px 18px;
  --service-icon-col: 38px;
  --service-column-gap: 13px;
  --service-bg: rgba(255,255,255,.88);
  --service-shadow: 0 12px 30px rgba(23,52,83,.04);
  --service-icon-size: 36px;
  --service-title-size: 14px;
  --service-title-weight: 850;
  --service-text-size: 12px;

  --why-padding: 22px;
  --why-section-bg: #f5f8fc;
  --why-panel-padding: 18px 36px 35px;
  --why-panel-radius: 12px;
  --why-panel-bg: radial-gradient(circle at 80% 0%, rgba(14,124,255,.22), transparent 32%), linear-gradient(180deg, #071520 0%, #030b12 100%);
  --why-panel-shadow: 0 16px 38px rgba(4,14,24,.18);
  --why-panel-border: 0;
  --why-panel-glare: linear-gradient(120deg, transparent 0 40%, rgba(255,255,255,.03) 48%, transparent 58%);
  --why-grid-gap: 0;
  --why-item-height: 150px;
  --why-item-padding: 8px 26px 0;
  --why-item-border: 1px solid rgba(255,255,255,.25);
  --why-mobile-border: 1px solid rgba(255,255,255,.18);
  --why-item-bg: transparent;
  --why-item-radius: 0;
  --why-icon-height: 48px;
  --why-icon-size: 50px;
  --why-icon-mb: 20px;
  --why-title-size: 15px;
  --why-text-size: 12px;

  --work-section-padding: 20px;
  --process-gap: 16px;
  --process-padding: 2px 10px 26px;
  --process-line-top: 27px;
  --process-line-side: 8%;
  --process-line: 2px dashed rgba(86,112,143,.45);
  --process-step-padding: 8px 0 0;
  --process-step-bg: transparent;
  --process-step-border: 0;
  --process-step-radius: 0;
  --number-size: 36px;
  --number-radius: 50%;
  --number-text: #fff;
  --number-bg: var(--accent);
  --number-shadow: 0 0 0 5px #f5f8fc;
  --process-icon-height: 55px;
  --process-icon-margin: 12px 0 3px;
  --process-icon-color: #061a3c;
  --process-icon-size: 47px;
  --process-title-size: 14px;
  --process-text-width: 155px;
  --process-text-size: 12px;

  --request-section-padding: 0 0 22px;
  --request-section-bg: linear-gradient(180deg, #f2f7fd 0%, #f8fbff 100%);
  --request-info-width: 360px;
  --request-gap: 34px;
  --request-padding: 29px 42px 18px;
  --request-border: 1px solid #d8e1ec;
  --request-radius: 13px;
  --request-bg: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.94) 66%, rgba(255,255,255,.84));
  --request-shadow: 0 14px 36px rgba(22,48,76,.06);
  --request-title-margin: 0 0 18px;
  --request-title-size: 28px;
  --request-title-line: 1.02;
  --request-title-tracking: -.03em;
  --request-text-width: 280px;
  --request-text-mb: 24px;
  --request-text-size: 14px;
  --request-text-weight: 600;
  --contact-text: #0a1c38;
  --contact-text-size: 14px;
  --contact-list-gap: 16px;
  --contact-icon-col: 36px;
  --contact-gap: 12px;
  --contact-icon-size: 30px;
  --contact-icon-font: 27px;
  --form-gap: 12px;
  --form-row-gap: 14px;
  --input-height: 44px;
  --input-pad-x: 17px;
  --input-text: #0d1d34;
  --input-border: 1px solid #cfdae8;
  --input-radius: 7px;
  --input-bg: rgba(255,255,255,.88);
  --input-shadow: inset 0 1px 0 rgba(255,255,255,.74);
  --input-focus-shadow: 0 0 0 3px var(--accent-soft);
  --textarea-height: 73px;
  --textarea-pad-top: 13px;
  --submit-height: 48px;
  --policy-margin: -1px 0 0;
  --policy-size: 11px;

  --footer-bg: linear-gradient(180deg, #06111a 0%, #02080e 100%);
  --footer-text: rgba(255,255,255,.9);
  --footer-title: #fff;
  --footer-link: rgba(255,255,255,.78);
  --footer-muted: rgba(255,255,255,.6);
  --footer-gap: 28px;
  --footer-padding: 28px 0 25px;
  --footer-line: 1px solid rgba(255,255,255,.14);
  --footer-logo-width: 200px;
  --footer-title-size: 14px;
  --footer-link-size: 13px;
}

:root {
  --font-body: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --line-height: 1.55;
  --body-tracking: .002em;
  --container: 1220px;
  --container-gutter: 72px;

  --accent: #00a6c8;
  --accent-2: #0089a6;
  --accent-soft: rgba(0,166,200,.15);
  --accent-border: rgba(0,166,200,.42);
  --text: #0b1720;
  --text-strong: #102d38;
  --muted: #6f8590;
  --heading: #0b1720;
  --card-title: #061923;
  --card-text: #284955;
  --link-accent: #0089a6;
  --page-bg: #f4f9fb;
  --section-bg: radial-gradient(circle at 12% 0%, rgba(0,166,200,.10), transparent 28%), linear-gradient(180deg, #f8fdfe 0%, #eef8fb 100%);

  --header-bg: rgba(7,26,35,.78);
  --header-border: 1px solid rgba(110,214,231,.20);
  --header-blur: blur(18px);
  --header-shadow: 0 18px 50px rgba(0,28,38,.22);
  --header-height: 76px;
  --brand-col: 228px;
  --header-gap: 22px;
  --logo-width: 202px;
  --nav-gap: clamp(16px, 2.2vw, 36px);
  --nav-size: 13px;
  --nav-weight: 800;
  --nav-tracking: .04em;
  --nav-transform: none;
  --nav-padding-y: 27px;
  --nav-underline-bottom: 17px;
  --nav-underline-height: 2px;
  --phone-icon-border: 1px solid rgba(110,214,231,.8);
  --phone-icon-radius: 16px;
  --phone-icon-size: 42px;
  --phone-main-size: 18px;
  --phone-sub-size: 16px;
  --control-radius: 16px;
  --theme-picker-radius: 18px;
  --theme-picker-bg: rgba(255,255,255,.08);
  --theme-picker-border: 1px solid rgba(110,214,231,.22);
  --theme-button-radius: 14px;
  --theme-button-active-bg: linear-gradient(135deg, #6ed6e7 0%, #00a6c8 100%);
  --theme-button-active-text: #04212b;
  --theme-button-active-shadow: 0 10px 25px rgba(0,166,200,.26);

  --hero-height: 500px;
  --feature-strip-space: 96px;
  --hero-bg: #071a23;
  --hero-image-position: center right;
  --hero-image-opacity: .92;
  --hero-image-filter: saturate(1.12) contrast(1.04);
  --hero-overlay: radial-gradient(circle at 72% 44%, rgba(0,166,200,.20), transparent 30%), linear-gradient(90deg, rgba(7,26,35,.98) 0%, rgba(7,26,35,.82) 42%, rgba(7,26,35,.24) 72%, rgba(7,26,35,.06) 100%);
  --hero-content-width: 590px;
  --hero-inner-padding: 34px 0 0;
  --hero-content-padding: 26px 0 34px;
  --kicker-color: rgba(176,241,250,.76);
  --kicker-size: 12px;
  --kicker-tracking: .12em;
  --eyebrow-mb: 16px;
  --h1-min: 36px;
  --h1-fluid: 4.3vw;
  --h1-max: 54px;
  --h1-mobile: 33px;
  --h1-line: 1.06;
  --h1-tracking: -.055em;
  --h1-weight: 900;
  --hero-text-margin: 26px 0 30px;
  --hero-text-size: 18px;
  --button-height: 56px;
  --button-pad-x: 30px;
  --button-radius: 999px;
  --button-primary-bg: linear-gradient(135deg, #6ed6e7 0%, #00a6c8 52%, #0089a6 100%);
  --button-primary-text: #021d26;
  --button-primary-shadow: 0 20px 42px rgba(0,166,200,.30);
  --button-outline-bg: rgba(255,255,255,.06);
  --button-outline-border: rgba(110,214,231,.58);
  --feature-strip-padding: 0 0 32px;
  --mini-feature-gap: 14px;
  --mini-feature-padding: 14px 16px;
  --mini-feature-border: 1px solid rgba(110,214,231,.18);
  --mini-feature-border-mobile: 1px solid rgba(110,214,231,.18);
  --mini-feature-bg: rgba(255,255,255,.055);
  --mini-feature-radius: 22px;
  --mini-feature-text: rgba(237,252,255,.84);

  --section-padding: 42px;
  --section-tight-padding: 36px;
  --title-align: center;
  --title-margin: 0 0 32px;
  --h2-size: 32px;
  --h2-tracking: -.045em;
  --h2-weight: 900;
  --title-line-width: 42px;
  --title-line-height: 7px;
  --title-line-margin: 14px auto 0;
  --title-line-bg: radial-gradient(circle, #6ed6e7 0%, #00a6c8 58%, transparent 62%);
  --title-compact-mb: 28px;
  --inverse-kicker: rgba(176,241,250,.70);

  --direction-gap: 26px;
  --direction-min-height: 358px;
  --direction-padding: 18px 18px 24px;
  --card-border: 1px solid rgba(0,166,200,.18);
  --card-radius-lg: 28px;
  --card-radius: 24px;
  --card-bg: rgba(255,255,255,.78);
  --card-shadow: 0 22px 60px rgba(0,48,64,.08);
  --card-hover-y: -6px;
  --card-hover-shadow: 0 28px 70px rgba(0,86,112,.16);
  --direction-image-box-height: 154px;
  --direction-image-margin: 0 0 20px;
  --image-radius: 22px;
  --image-bg: linear-gradient(180deg, rgba(0,166,200,.10), rgba(255,255,255,.62));
  --direction-image-fit: contain;
  --direction-image-transform: scale(1.08);
  --direction-title-size: 20px;
  --direction-title-weight: 900;
  --direction-text-size: 14px;
  --direction-text-line: 1.66;

  --service-gap: 18px;
  --service-min-height: 150px;
  --service-padding: 24px 20px 20px;
  --service-icon-col: 42px;
  --service-bg: rgba(255,255,255,.72);
  --service-shadow: 0 18px 48px rgba(0,48,64,.06);
  --service-icon-size: 38px;
  --service-title-size: 15px;

  --why-padding: 42px;
  --why-section-bg: #eef8fb;
  --why-panel-padding: 28px 32px 38px;
  --why-panel-radius: 28px;
  --why-panel-bg: radial-gradient(circle at 75% 0%, rgba(0,166,200,.30), transparent 34%), linear-gradient(145deg, #0a2834 0%, #06141b 100%);
  --why-panel-border: 1px solid rgba(110,214,231,.18);
  --why-panel-shadow: 0 24px 70px rgba(0,34,45,.22);
  --why-panel-glare: linear-gradient(120deg, transparent 0 30%, rgba(110,214,231,.08) 46%, transparent 62%);
  --why-grid-gap: 14px;
  --why-item-padding: 18px 16px;
  --why-item-border: 1px solid rgba(110,214,231,.16);
  --why-mobile-border: 1px solid rgba(110,214,231,.16);
  --why-item-bg: rgba(255,255,255,.045);
  --why-item-radius: 22px;

  --work-section-padding: 36px;
  --process-gap: 18px;
  --process-padding: 0 0 36px;
  --process-line: 2px solid rgba(0,166,200,.18);
  --process-step-padding: 18px 16px;
  --process-step-bg: rgba(255,255,255,.68);
  --process-step-border: 1px solid rgba(0,166,200,.14);
  --process-step-radius: 24px;
  --number-size: 38px;
  --number-bg: linear-gradient(135deg, #6ed6e7, #00a6c8);
  --number-text: #02212b;
  --number-shadow: 0 0 0 7px rgba(0,166,200,.10);
  --process-icon-color: #06303e;
  --process-icon-size: 44px;

  --request-section-padding: 0 0 40px;
  --request-section-bg: linear-gradient(180deg, #eef8fb 0%, #f8fdfe 100%);
  --request-info-width: 380px;
  --request-gap: 38px;
  --request-padding: 34px 42px 26px;
  --request-border: 1px solid rgba(0,166,200,.18);
  --request-radius: 28px;
  --request-bg: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 68%, rgba(255,255,255,.72));
  --request-shadow: 0 24px 70px rgba(0,48,64,.09);
  --request-title-size: 32px;
  --request-text-weight: 600;
  --contact-text: #102d38;
  --input-radius: 18px;
  --input-height: 48px;
  --input-border: 1px solid rgba(0,166,200,.22);
  --input-bg: rgba(255,255,255,.86);
  --footer-bg: linear-gradient(180deg, #071a23 0%, #041016 100%);
  --footer-line: 1px solid rgba(110,214,231,.18);
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(110,214,231,.65), transparent);
}
.direction-card,
.service-card,
.process-step,
.request-card {
  backdrop-filter: blur(12px);
}
.direction-card a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
}


* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--page-bg);
  font-family: var(--font-body);
  line-height: var(--line-height);
  letter-spacing: var(--body-tracking);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }

.container {
  width: min(var(--container), calc(100% - var(--container-gutter)));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  color: var(--header-text);
  background: var(--header-bg);
  border-bottom: var(--header-border);
  backdrop-filter: var(--header-blur);
  box-shadow: var(--header-shadow);
}
.header-inner {
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: var(--brand-col) 1fr auto auto;
  align-items: center;
  gap: var(--header-gap);
}
.brand-logo { width: var(--logo-width); height: auto; }
.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--nav-gap);
  font-size: var(--nav-size);
  font-weight: var(--nav-weight);
  letter-spacing: var(--nav-tracking);
  text-transform: var(--nav-transform);
}
.main-nav a {
  position: relative;
  padding: var(--nav-padding-y) 0;
  color: var(--header-muted);
  white-space: nowrap;
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: var(--nav-underline-bottom);
  width: 100%;
  height: var(--nav-underline-height);
  transform: scaleX(0);
  transform-origin: right;
  background: var(--accent);
  border-radius: 99px;
  transition: transform .18s ease, background .18s ease;
}
.main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }

.header-phones {
  display: flex;
  align-items: center;
  gap: var(--phone-gap);
  min-width: var(--phone-width);
  justify-content: flex-end;
}
.header-phones .phone-icon {
  display: grid;
  place-items: center;
  width: var(--phone-icon-size);
  height: var(--phone-icon-size);
  border: var(--phone-icon-border);
  border-radius: var(--phone-icon-radius);
  color: var(--accent);
  font-size: var(--phone-icon-font-size);
}
.header-phones div { display: flex; flex-direction: column; gap: 2px; }
.header-phones a { font-size: var(--phone-main-size); font-weight: 800; line-height: 1.1; }
.header-phones span:not(.phone-icon) { font-size: var(--phone-sub-size); font-weight: 700; color: var(--header-muted); }

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: var(--mobile-toggle-border);
  background: var(--mobile-toggle-bg);
  border-radius: var(--control-radius);
  padding: 9px;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--header-text);
  margin: 5px 0;
  border-radius: 999px;
}

.theme-picker {
  display: inline-flex;
  align-items: center;
  gap: var(--theme-picker-gap);
  padding: var(--theme-picker-padding);
  border: var(--theme-picker-border);
  border-radius: var(--theme-picker-radius);
  background: var(--theme-picker-bg);
  white-space: nowrap;
}
.theme-picker__button {
  min-height: var(--theme-button-height);
  padding: 0 var(--theme-button-pad-x);
  border: 0;
  border-radius: var(--theme-button-radius);
  background: transparent;
  color: var(--header-muted);
  cursor: pointer;
  font-size: var(--theme-button-size);
  font-weight: 800;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.theme-picker__button:hover { color: var(--header-text); transform: translateY(-1px); }
.theme-picker__button.is-active {
  color: var(--theme-button-active-text);
  background: var(--theme-button-active-bg);
  box-shadow: var(--theme-button-active-shadow);
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: var(--hero-height);
  color: #fff;
  background: var(--hero-bg);
}
.hero-media,
.hero-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-media {
  background: url("/theme/astrela/assets/img/hero-office-tech.webp") var(--hero-image-position) / cover no-repeat;
  opacity: var(--hero-image-opacity);
  filter: var(--hero-image-filter);
  transform: var(--hero-image-transform);
}
.hero-shade {
  background: var(--hero-overlay);
}
.hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, var(--hero-content-width)) 1fr;
  align-items: center;
  min-height: calc(var(--hero-height) - var(--feature-strip-space));
  padding: var(--hero-inner-padding);
  z-index: 2;
}
.hero-content {
  position: relative;
  z-index: 2;
  max-width: var(--hero-copy-max);
  padding: var(--hero-content-padding);
}
.eyebrow,
.section-kicker {
  margin: 0;
  color: var(--kicker-color);
  font-size: var(--kicker-size);
  font-weight: var(--kicker-weight);
  letter-spacing: var(--kicker-tracking);
  text-transform: var(--kicker-transform);
}
.eyebrow { margin-bottom: var(--eyebrow-mb); }
.hero h1 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(var(--h1-min), var(--h1-fluid), var(--h1-max));
  line-height: var(--h1-line);
  letter-spacing: var(--h1-tracking);
  font-weight: var(--h1-weight);
  max-width: var(--h1-max-width);
}
.hero h1 span { display: block; }
.hero h1 mark {
  display: block;
  margin-top: var(--h1-mark-top);
  color: var(--accent);
  background: none;
}
.hero-text {
  margin: var(--hero-text-margin);
  max-width: var(--hero-text-width);
  color: var(--hero-text-color);
  font-size: var(--hero-text-size);
  line-height: var(--hero-text-line);
  font-weight: var(--hero-text-weight);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--button-gap); }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: var(--button-height);
  padding: 0 var(--button-pad-x);
  border-radius: var(--button-radius);
  border: var(--button-border);
  font-weight: var(--button-weight);
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(var(--button-hover-y)); }
.btn-primary {
  color: var(--button-primary-text);
  background: var(--button-primary-bg);
  box-shadow: var(--button-primary-shadow);
}
.btn-outline {
  color: var(--button-outline-text);
  background: var(--button-outline-bg);
  border-color: var(--button-outline-border);
}
.btn-outline:hover { border-color: var(--accent); background: var(--accent-soft); }
.bag { font-size: 20px; line-height: 1; opacity: .9; }

.feature-strip {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  gap: var(--mini-feature-gap);
  padding: var(--feature-strip-padding);
  z-index: 2;
}
.mini-feature {
  display: flex;
  align-items: center;
  min-height: var(--mini-feature-height);
  gap: var(--mini-feature-inner-gap);
  padding: var(--mini-feature-padding);
  border-right: var(--mini-feature-border);
  background: var(--mini-feature-bg);
  border-radius: var(--mini-feature-radius);
}
.mini-feature:last-child { border-right: 0; }
.mini-feature span { color: var(--accent); font-size: var(--mini-feature-icon); line-height: 1; }
.mini-feature p { margin: 0; color: var(--mini-feature-text); font-size: var(--mini-feature-size); font-weight: 700; line-height: 1.3; }

.section { padding: var(--section-padding) 0 0; background: var(--section-bg); }
.section-tight { padding-top: var(--section-tight-padding); }
.section-title { text-align: var(--title-align); margin: var(--title-margin); }
.section-title h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--h2-size);
  line-height: 1.15;
  letter-spacing: var(--h2-tracking);
  color: var(--heading);
  font-weight: var(--h2-weight);
}
.section-title .section-kicker { margin-bottom: var(--title-kicker-mb); }
.section-title span {
  display: block;
  width: var(--title-line-width);
  height: var(--title-line-height);
  margin: var(--title-line-margin);
  background: var(--title-line-bg);
  border-radius: 999px;
}
.section-title.compact { margin-bottom: var(--title-compact-mb); }
.section-title.inverse h2 { color: var(--inverse-heading); }
.section-title.inverse .section-kicker { color: var(--inverse-kicker); }

.direction-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--direction-gap);
}
.direction-card {
  min-height: var(--direction-min-height);
  padding: var(--direction-padding);
  border: var(--card-border);
  border-radius: var(--card-radius-lg);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  overflow: hidden;
}
.direction-card:hover {
  transform: translateY(var(--card-hover-y));
  border-color: var(--accent-border);
  box-shadow: var(--card-hover-shadow);
}
.direction-card__image {
  height: var(--direction-image-box-height);
  display: flex;
  align-items: center;
  justify-content: var(--direction-image-align);
  margin: var(--direction-image-margin);
  border-radius: var(--image-radius);
  background: var(--image-bg);
  overflow: hidden;
}
.direction-card__image img {
  width: 100%;
  height: 100%;
  object-fit: var(--direction-image-fit);
  object-position: center;
  transform: var(--direction-image-transform);
}
.direction-card h3 {
  margin: 0 0 var(--card-title-mb);
  font-family: var(--font-heading);
  font-size: var(--direction-title-size);
  line-height: 1.15;
  color: var(--card-title);
  font-weight: var(--direction-title-weight);
}
.direction-card p {
  margin: 0 0 var(--card-text-mb);
  color: var(--card-text);
  font-size: var(--direction-text-size);
  line-height: var(--direction-text-line);
}
.direction-card a {
  color: var(--link-accent);
  font-weight: 800;
  font-size: var(--direction-link-size);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--service-gap);
}
.service-card {
  min-height: var(--service-min-height);
  padding: var(--service-padding);
  display: grid;
  grid-template-columns: var(--service-icon-col) 1fr;
  grid-template-rows: auto 1fr;
  column-gap: var(--service-column-gap);
  border: var(--card-border);
  border-radius: var(--card-radius);
  background: var(--service-bg);
  box-shadow: var(--service-shadow);
}
.line-icon {
  grid-row: 1 / span 2;
  color: var(--accent);
  font-size: var(--service-icon-size);
  line-height: 1;
  font-weight: 800;
}
.service-card h3 {
  margin: 0 0 8px;
  font-family: var(--font-heading);
  font-size: var(--service-title-size);
  line-height: 1.18;
  color: var(--card-title);
  font-weight: var(--service-title-weight);
}
.service-card p {
  grid-column: 2;
  margin: 0;
  color: var(--card-text);
  font-size: var(--service-text-size);
  line-height: 1.58;
}

.why { padding: var(--why-padding) 0 0; background: var(--why-section-bg); }
.why-panel {
  position: relative;
  overflow: hidden;
  padding: var(--why-panel-padding);
  border-radius: var(--why-panel-radius);
  color: var(--inverse-text);
  background: var(--why-panel-bg);
  box-shadow: var(--why-panel-shadow);
  border: var(--why-panel-border);
}
.why-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--why-panel-glare);
  pointer-events: none;
}
.why-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--why-grid-gap);
}
.why-grid article {
  min-height: var(--why-item-height);
  padding: var(--why-item-padding);
  text-align: center;
  border-right: var(--why-item-border);
  background: var(--why-item-bg);
  border-radius: var(--why-item-radius);
}
.why-grid article:last-child { border-right: 0; }
.why-icon {
  height: var(--why-icon-height);
  color: var(--accent);
  font-size: var(--why-icon-size);
  line-height: .9;
  font-weight: 700;
  margin-bottom: var(--why-icon-mb);
}
.why-grid h3 {
  margin: 0 0 8px;
  font-family: var(--font-heading);
  font-size: var(--why-title-size);
  line-height: 1.2;
  color: var(--inverse-heading);
}
.why-grid p {
  margin: 0;
  color: var(--inverse-muted);
  font-size: var(--why-text-size);
  line-height: 1.55;
}

.work-section { padding-top: var(--work-section-padding); }
.process {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--process-gap);
  padding: var(--process-padding);
}
.process::before {
  content: "";
  position: absolute;
  top: var(--process-line-top);
  left: var(--process-line-side);
  right: var(--process-line-side);
  border-top: var(--process-line);
}
.process-step {
  position: relative;
  text-align: center;
  padding: var(--process-step-padding);
  background: var(--process-step-bg);
  border: var(--process-step-border);
  border-radius: var(--process-step-radius);
}
.number {
  position: relative;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: var(--number-size);
  height: var(--number-size);
  border-radius: var(--number-radius);
  color: var(--number-text);
  background: var(--number-bg);
  box-shadow: var(--number-shadow);
  font-weight: 800;
}
.process-icon {
  height: var(--process-icon-height);
  margin: var(--process-icon-margin);
  color: var(--process-icon-color);
  font-size: var(--process-icon-size);
  line-height: 1;
}
.process-step h3 {
  margin: 0 0 5px;
  font-family: var(--font-heading);
  font-size: var(--process-title-size);
  color: var(--card-title);
}
.process-step p {
  max-width: var(--process-text-width);
  margin: 0 auto;
  color: var(--card-text);
  font-size: var(--process-text-size);
  line-height: 1.35;
}

.request-section {
  padding: var(--request-section-padding);
  background: var(--request-section-bg);
}
.request-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: var(--request-info-width) 1fr;
  gap: var(--request-gap);
  padding: var(--request-padding);
  border: var(--request-border);
  border-radius: var(--request-radius);
  background: var(--request-bg), url("/theme/astrela/assets/img/contact-office.webp") right center/contain no-repeat;
  box-shadow: var(--request-shadow);
}
.request-info h2 {
  margin: var(--request-title-margin);
  font-family: var(--font-heading);
  font-size: var(--request-title-size);
  line-height: var(--request-title-line);
  letter-spacing: var(--request-title-tracking);
  color: var(--heading);
}
.request-info h2 span { color: var(--accent); }
.request-info > p:not(.section-kicker) {
  max-width: var(--request-text-width);
  margin: 0 0 var(--request-text-mb);
  color: var(--text-strong);
  font-size: var(--request-text-size);
  line-height: 1.55;
  font-weight: var(--request-text-weight);
}
.contact-list {
  display: grid;
  gap: var(--contact-list-gap);
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--contact-text);
  font-size: var(--contact-text-size);
  font-weight: 700;
}
.contact-list li {
  display: grid;
  grid-template-columns: var(--contact-icon-col) 1fr;
  align-items: center;
  gap: var(--contact-gap);
}
.contact-list span {
  display: grid;
  place-items: center;
  width: var(--contact-icon-size);
  height: var(--contact-icon-size);
  color: var(--accent);
  font-size: var(--contact-icon-font);
}
.request-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--form-gap);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--form-row-gap); }
.request-form label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
input, select, textarea {
  width: 100%;
  min-height: var(--input-height);
  padding: 0 var(--input-pad-x);
  color: var(--input-text);
  border: var(--input-border);
  border-radius: var(--input-radius);
  background: var(--input-bg);
  outline: 0;
  box-shadow: var(--input-shadow);
}
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: var(--input-focus-shadow); }
textarea {
  min-height: var(--textarea-height);
  padding-top: var(--textarea-pad-top);
  resize: vertical;
}
.form-submit { width: 100%; min-height: var(--submit-height); border: 0; }
.policy { margin: var(--policy-margin); color: var(--muted); font-size: var(--policy-size); }
.form-note {
  display: none;
  margin: 0;
  color: var(--link-accent);
  font-size: 13px;
  font-weight: 700;
}
.form-note.visible { display: block; }

.site-footer {
  color: var(--footer-text);
  background: var(--footer-bg);
}
.footer-grid {
  display: grid;
  grid-template-columns: 270px 140px 180px 180px 1fr;
  gap: var(--footer-gap);
  padding: var(--footer-padding);
  border-bottom: var(--footer-line);
}
.footer-brand img { width: var(--footer-logo-width); }
.site-footer h3 {
  margin: 0 0 10px;
  color: var(--footer-title);
  font-family: var(--font-heading);
  font-size: var(--footer-title-size);
}
.site-footer a { display: block; color: var(--footer-link); font-size: var(--footer-link-size); margin: 8px 0; }
.site-footer a:hover { color: var(--footer-title); }
.footer-contacts {
  font-style: normal;
  display: grid;
  gap: 10px;
  justify-self: end;
  min-width: 280px;
  border-left: var(--footer-line);
  padding-left: 28px;
}
.footer-contacts p {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  margin: 0;
  color: var(--footer-title);
  font-size: 14px;
  line-height: 1.38;
  font-weight: 700;
}
.footer-contacts span { color: var(--accent); font-size: 25px; line-height: 1; }
.footer-bottom { padding: 12px 0 17px; }
.footer-bottom p { margin: 0; color: var(--footer-muted); font-size: 12px; }

@media (max-width: 1180px) {
  .header-inner { grid-template-columns: minmax(170px, var(--brand-col)) 1fr auto; }
  .theme-picker { grid-column: 2 / 4; justify-self: end; }
  .header-phones { display: none; }
}

@media (max-width: 1100px) {
  .container { width: min(100% - 40px, var(--container)); }
  .header-inner { gap: 18px; }
  .brand-logo { width: min(var(--logo-width), 190px); }
  .main-nav { gap: 20px; }
  .hero-inner { grid-template-columns: 1fr 1fr; }
  .direction-grid { grid-template-columns: repeat(2, 1fr); }
  .service-grid { grid-template-columns: repeat(3, 1fr); }
  .why-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .why-grid article { padding-inline: 14px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(3, 1fr); }
  .footer-contacts { grid-column: 1 / -1; justify-self: stretch; border-left: 0; border-top: var(--footer-line); padding: 18px 0 0; grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .header-inner { min-height: 72px; grid-template-columns: auto 1fr auto; }
  .brand { order: 1; }
  .theme-picker { order: 2; grid-column: auto; justify-self: end; }
  .nav-toggle { order: 3; display: block; justify-self: end; }
  .main-nav { order: 4; }
  .main-nav {
    position: absolute;
    left: 20px;
    right: 20px;
    top: calc(100% + 8px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px;
    border: var(--mobile-menu-border);
    border-radius: var(--mobile-menu-radius);
    background: var(--mobile-menu-bg);
    box-shadow: var(--mobile-menu-shadow);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 14px 12px; border-radius: var(--control-radius); }
  .main-nav a:hover { background: var(--mobile-menu-hover); }
  .main-nav a::after { display: none; }
  .hero { min-height: auto; }
  .hero-media { opacity: var(--hero-mobile-image-opacity); background-position: var(--hero-mobile-image-position); }
  .hero-inner { grid-template-columns: 1fr; min-height: auto; padding: var(--hero-mobile-padding); }
  .hero-content { max-width: 640px; }
  .feature-strip { grid-template-columns: repeat(2, 1fr); gap: 18px 0; }
  .mini-feature:nth-child(2) { border-right: 0; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .why-panel { padding-inline: 24px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .why-grid article { border-right: 0; border-bottom: var(--why-mobile-border); padding-bottom: 24px; }
  .why-grid article:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .process { grid-template-columns: repeat(2, 1fr); gap: 28px 18px; }
  .process::before { display: none; }
  .request-card { grid-template-columns: 1fr; gap: 24px; padding: 26px; }
  .request-info > p:not(.section-kicker) { max-width: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-contacts { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .theme-picker { gap: 3px; padding: 3px; }
  .theme-picker__button { min-height: 32px; padding-inline: 8px; font-size: 11px; }
  .container { width: min(100% - 28px, var(--container)); }
  .brand-logo { width: 168px; }
  .hero h1 { font-size: var(--h1-mobile); }
  .hero-text { font-size: 15px; }
  .hero-actions { gap: 12px; }
  .btn { width: 100%; padding-inline: 20px; }
  .feature-strip { grid-template-columns: 1fr; padding-bottom: 22px; }
  .mini-feature { border-right: 0; border-bottom: var(--mini-feature-border-mobile); padding-bottom: 12px; }
  .mini-feature:last-child { border-bottom: 0; }
  .direction-grid,
  .service-grid,
  .why-grid,
  .process,
  .footer-grid { grid-template-columns: 1fr; }
  .direction-card { min-height: auto; }
  .service-card { grid-template-columns: 34px 1fr; }
  .why-grid article, .why-grid article:last-child { grid-column: auto; }
  .form-row { grid-template-columns: 1fr; }
  .request-card { padding: 22px 18px; }
  .contact-list li { grid-template-columns: 30px 1fr; }
  .footer-contacts { min-width: 0; }
}

@media (max-width: 430px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .theme-picker { grid-column: 1 / -1; justify-self: stretch; justify-content: center; order: 4; margin-bottom: 8px; }
  .nav-toggle { order: 2; }
}




/* ky6 production adjustments */
.theme-picker{display:none!important}
.header-inner{grid-template-columns:var(--brand-col) 1fr auto}
.main-nav{justify-content:center}
.phone-icon{font-family:Arial,sans-serif}
.request-card .request-form{background:rgba(255,255,255,.92);border:1px solid rgba(216,225,236,.95);border-radius:var(--card-radius-lg);padding:22px;box-shadow:0 18px 45px rgba(12,26,45,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--form-row-gap)}
.form-field{display:block;position:relative}.form-field:nth-of-type(n+3){grid-column:1/-1}.form-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.form-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:var(--policy-size)}
.form-check span{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;font-weight:600}.form-check input{width:auto;min-height:0;margin-top:3px;box-shadow:none}.form-note{padding:12px;border-radius:10px;background:rgba(11,124,255,.09)}.form-note.error{background:#fff1f2;color:#be123c}.form-note.success{background:#e8f8ef;color:#10723a}.feedback-form__hp{position:absolute;left:-9999px}.request-form__submit{width:100%;min-height:var(--submit-height);border:0;grid-column:1/-1}

/* ky6 catalog/news components */
.catalog-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--direction-gap)}
.catalog-card,.news-card,.category-card,.contact-card,.prose-card,.fact-card,.detail-card,.article-detail,.empty-note{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius-lg);box-shadow:var(--card-shadow)}
.catalog-card,.news-card{overflow:hidden}.catalog-card__image,.news-card__image{display:block;height:190px;background:var(--image-bg);overflow:hidden}.catalog-card__image img,.news-card__image img{width:100%;height:100%;object-fit:cover}.catalog-card__body,.news-card__body{padding:20px}.catalog-card h3,.news-card h3{margin:12px 0 10px;font-family:var(--font-heading);font-size:19px;line-height:1.2;color:var(--card-title)}.catalog-card p,.news-card p{margin:0 0 14px;color:var(--card-text);font-size:14px;line-height:1.58}.catalog-card__note{font-size:12px!important;color:var(--muted)!important}.teaser-link{font-weight:850;color:var(--link-accent)}.stock-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--link-accent);font-size:12px;font-weight:850}.stock-pill--in_stock{background:#e8f8ef;color:#10723a}.stock-pill--out_of_stock{background:#eef2f7;color:#6b7280}.stock-pill--on_request{background:#fff7ed;color:#9a3412}.news-card time{color:var(--muted);font-size:13px;font-weight:750}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{display:flex;gap:16px;align-items:center;padding:14px}.category-card__image{width:92px;height:72px;flex:0 0 92px;border-radius:12px;background:var(--image-bg);overflow:hidden}.category-card__image img{width:100%;height:100%;object-fit:cover}.category-card strong{display:block;color:var(--card-title);font-size:16px}.category-card small{display:block;margin-top:4px;color:var(--card-text);font-size:13px;line-height:1.45}
.empty-note{padding:18px;color:var(--muted);border-style:dashed;background:#fff}

/* ky6 inner pages */
.page-hero{padding:72px 0;background:#07131d;color:#fff;position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(14,124,255,.26),transparent 34%);pointer-events:none}.page-hero .container{position:relative;z-index:1}.page-hero h1{margin:0;font-family:var(--font-heading);font-size:clamp(34px,4.2vw,54px);line-height:1.08;letter-spacing:-.045em}.page-hero p:not(.eyebrow){max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.84);font-size:18px;line-height:1.55}
.prose-grid,.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}.contact-grid{grid-template-columns:.9fr 1.1fr}.prose-card,.contact-card,.fact-card{padding:28px}.prose-card h2,.contact-card h2{margin-top:0;color:var(--heading)}.prose-card p,.prose-card li,.contact-card dd{color:var(--card-text)}.fact-card b{display:block;font-size:42px;color:var(--accent);line-height:1}.fact-card span{display:block;margin-top:8px;color:var(--card-text)}.contact-card dl{display:grid;grid-template-columns:100px 1fr;gap:14px}.contact-card dt{font-weight:850;color:var(--heading)}.contact-card dd{margin:0}.contact-media{border-radius:var(--card-radius-lg);overflow:hidden;box-shadow:var(--card-shadow);min-height:360px}.contact-media img{width:100%;height:100%;object-fit:cover}
.detail-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;padding:24px}.detail-card__media{min-height:360px;border-radius:14px;background:var(--accent-soft);overflow:hidden}.detail-card__media img{width:100%;height:100%;object-fit:cover}.detail-card h1,.article-detail h1{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:8px 0 16px;color:var(--heading)}.lead{font-size:18px;color:var(--card-text)}.notice-box{margin:18px 0;padding:14px 16px;border-radius:12px;background:#f3f7ff;border:1px solid #d9e7fb}.article-detail{padding:28px;max-width:920px;margin:0 auto}.article-detail__image{height:380px;border-radius:14px;overflow:hidden;margin-bottom:24px}.article-detail__image img{width:100%;height:100%;object-fit:cover}.article-detail time{color:var(--muted);font-size:13px;font-weight:750}.back-link{color:var(--link-accent);font-weight:850}.legal-prose{max-width:880px;margin:0 auto}.breadcrumbs,.pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 12px;border-radius:9px;background:#fff;border:1px solid #d8e1ec}.pagination span{background:var(--accent);color:#fff}

.footer-logo{width:var(--footer-logo-width);margin-bottom:12px}.footer-brand p{margin:12px 0 0;color:var(--footer-text);font-size:13px;line-height:1.5}.footer-bottom{display:block}

@media(max-width:980px){.header-inner{grid-template-columns:minmax(170px,var(--brand-col)) 1fr auto}.catalog-grid,.news-grid,.category-grid,.prose-grid,.contact-grid,.detail-card{grid-template-columns:1fr 1fr}.request-card .request-form{padding:20px}.main-nav{justify-content:flex-start}.contact-card dl{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr repeat(3,1fr)}.footer-contacts{grid-column:1/-1;justify-self:stretch;border-left:0;border-top:var(--footer-line);padding:18px 0 0;grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.catalog-grid,.news-grid,.category-grid,.prose-grid,.contact-grid,.detail-card{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-contacts{grid-template-columns:1fr}.contact-media{min-height:260px}.article-detail__image{height:240px}}
@media(max-width:640px){.header-inner{grid-template-columns:auto 1fr auto}.request-card .request-form{padding:18px}.footer-grid{grid-template-columns:1fr}.footer-contacts{min-width:0}.page-hero{padding:54px 0}.page-hero h1{font-size:34px}}

/* Astrela cleanup patch 1.0.2 */
html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body > main {
  flex: 1 0 auto;
  display: block;
  padding-bottom: 56px;
}

.site-footer {
  flex: 0 0 auto;
  margin-top: 0;
}

.section {
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}

.section-tight {
  padding-top: var(--section-tight-padding);
  padding-bottom: var(--section-tight-padding);
}

.why {
  padding-top: var(--why-padding);
  padding-bottom: var(--why-padding);
}

.work-section {
  padding-top: var(--work-section-padding);
  padding-bottom: var(--work-section-padding);
}

.request-section {
  padding-top: 18px;
  padding-bottom: 72px;
}

body > main > .request-section:last-child,
body > main > .section:last-child {
  padding-bottom: 84px;
}

.catalog-grid,
.news-grid,
.category-grid,
.direction-grid,
.service-grid,
.prose-grid,
.contact-grid {
  row-gap: 32px;
}

.catalog-card,
.news-card,
.category-card,
.service-card,
.direction-card,
.contact-card,
.prose-card,
.fact-card,
.detail-card {
  min-width: 0;
}

.catalog-card,
.news-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.catalog-card__body,
.news-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.catalog-card__body .teaser-link,
.news-card__body .teaser-link {
  margin-top: auto;
}

.contact-card dl {
  grid-template-columns: 122px minmax(0, 1fr);
  column-gap: 18px;
  row-gap: 16px;
}

.contact-card dd,
.contact-card a {
  min-width: 0;
}

.contact-card a {
  display: inline;
  margin: 0;
}

.contact-phones a,
.contact-phones span {
  display: block;
  white-space: nowrap;
}

.footer-grid {
  grid-template-columns: minmax(220px, 1.2fr) minmax(120px, .7fr) minmax(160px, .85fr) minmax(150px, .75fr) minmax(292px, 1.25fr);
  align-items: start;
}

.footer-contacts {
  width: 100%;
  min-width: 0;
  max-width: 340px;
}

.footer-contacts p {
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 10px;
  word-break: normal;
  overflow-wrap: normal;
}

.footer-contacts a {
  display: inline;
  margin: 0;
}

.footer-phone strong,
.footer-phone small {
  display: block;
  white-space: nowrap;
}

.footer-phone small {
  color: var(--footer-title);
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .footer-grid {
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(130px, .75fr));
  }
  .footer-contacts {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
    border-left: 0;
    border-top: var(--footer-line);
    padding: 20px 0 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body > main {
    padding-bottom: 36px;
  }
  .section,
  .section-tight,
  .why,
  .work-section {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .request-section,
  body > main > .request-section:last-child,
  body > main > .section:last-child {
    padding-bottom: 56px;
  }
  .contact-card dl {
    grid-template-columns: 1fr;
  }
  .footer-contacts {
    grid-template-columns: 1fr;
  }
}


/* Astrela cleanup patch 1.0.3 */
:root {
  --kicker-color-light: #0099b8;
}

.ui-icon {
  display: block;
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.eyebrow,
.section-kicker {
  color: var(--kicker-color-light);
}

.hero .eyebrow,
.page-hero .eyebrow,
.section-title.inverse .section-kicker {
  color: rgba(255, 255, 255, .72);
}

.section-title .section-kicker,
.request-info .section-kicker {
  color: #00a6c8;
}

.catalog-grid,
.news-grid {
  padding-bottom: 3em;
}

.pagination {
  justify-content: center;
  margin: 6px 0 3em;
}

.pagination a,
.pagination span {
  min-width: 40px;
  text-align: center;
  font-weight: 800;
}

.catalog-card__note,
.notice-box:empty {
  display: none !important;
}

.request-card {
  max-width: 100%;
  grid-template-columns: minmax(280px, var(--request-info-width)) minmax(0, 1fr);
}

.request-info,
.request-card .request-form,
.request-info h2,
.request-info p,
.contact-list,
.contact-list li {
  min-width: 0;
}

.request-info h2,
.request-info p {
  overflow-wrap: anywhere;
}

.contact-list li {
  align-items: flex-start;
}

.contact-list .contact-icon,
.footer-icon {
  display: inline-grid;
  place-items: center;
  color: var(--accent);
  line-height: 1;
}

.contact-list .contact-icon .ui-icon {
  width: 24px;
  height: 24px;
}

.contact-list a {
  overflow-wrap: anywhere;
}

.footer-grid {
  grid-template-columns: minmax(220px, 1.15fr) minmax(120px, .65fr) minmax(170px, .85fr) minmax(150px, .75fr) minmax(330px, 1.35fr);
}

.footer-contacts {
  max-width: 390px;
}

.footer-contacts p {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  margin: 0 0 18px;
}

.footer-icon {
  width: 28px;
  height: 28px;
  font-size: 21px !important;
}

.footer-icon .ui-icon {
  width: 20px;
  height: 20px;
}

.footer-phone__text,
.footer-phone strong,
.footer-phone small {
  display: block;
  min-width: 0;
}

.footer-phone strong a,
.footer-phone small {
  white-space: nowrap;
}

.footer-phone small {
  color: var(--footer-title);
  font-size: 14px;
  line-height: 1.45;
  margin-top: 4px;
}

.header-phones .phone-icon .ui-icon {
  width: 22px;
  height: 22px;
}

.brand-logo,
.footer-logo {
  height: auto;
}

@media (max-width: 1180px) {
  .footer-grid {
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(130px, .75fr));
  }
  .footer-contacts {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
    border-left: 0;
    border-top: var(--footer-line);
    padding: 20px 0 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

@media (max-width: 760px) {
  .catalog-grid,
  .news-grid {
    padding-bottom: 2em;
  }
  .pagination {
    margin-bottom: 2em;
  }
  .footer-contacts {
    grid-template-columns: 1fr;
  }
  .footer-phone strong a,
  .footer-phone small {
    white-space: normal;
  }
}

/* Astrela patch 1.0.4: hard layout cleanup */
html,
body {
  min-height: 100%;
}

body.astrela-site,
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main,
main#top {
  flex: 1 0 auto;
}

.site-footer {
  flex-shrink: 0;
  margin-top: 72px;
}

.catalog-grid,
.news-grid {
  padding-bottom: 3em !important;
  row-gap: 36px !important;
}

.category-grid,
.direction-grid,
.service-grid {
  row-gap: 32px !important;
}

.catalog-card__note,
.product-note,
.stock-note,
.price-note {
  display: none !important;
}

.eyebrow,
.section-kicker {
  color: #008ba8 !important;
  opacity: 1 !important;
}

.hero .eyebrow,
.page-hero .eyebrow,
.section-title.inverse .section-kicker,
.why .section-kicker {
  color: rgba(255, 255, 255, .78) !important;
}

.request-card {
  max-width: 100%;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) !important;
  overflow: hidden;
}

.request-info {
  min-width: 0;
  padding-right: 24px;
}

.request-info h2 {
  max-width: 100%;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.05;
  overflow-wrap: normal;
}

.request-info p,
.contact-list,
.contact-list li,
.contact-list a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.contact-list li {
  align-items: flex-start;
}

.footer-grid {
  grid-template-columns: minmax(200px, 1fr) minmax(120px, .55fr) minmax(175px, .8fr) minmax(150px, .7fr) minmax(390px, 1.35fr) !important;
  gap: 40px !important;
  align-items: start;
}

.footer-contacts {
  min-width: 390px;
  max-width: 440px;
}

.footer-contacts p {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: start !important;
  margin: 0 0 18px !important;
}

.footer-icon {
  display: inline-grid !important;
  place-items: center;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  color: var(--accent) !important;
  line-height: 1 !important;
}

.footer-icon .ui-icon {
  width: 21px !important;
  height: 21px !important;
}

.footer-phone__text,
.footer-phone__text strong,
.footer-phone__text small {
  display: block !important;
  min-width: 0;
}

.footer-phone__text a,
.footer-phone__text small {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.footer-phone__text small {
  margin-top: 4px;
  line-height: 1.45;
}

.pagination {
  display: flex !important;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 3em !important;
}

.pagination a,
.pagination span {
  min-width: 40px;
  text-align: center;
  font-weight: 800;
}

@media (max-width: 1360px) {
  .footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .footer-contacts {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: none;
    border-left: 0 !important;
    border-top: var(--footer-line);
    padding: 22px 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 28px;
  }
}

@media (max-width: 980px) {
  .request-card {
    grid-template-columns: 1fr !important;
  }

  .request-info h2 {
    font-size: clamp(30px, 7vw, 42px);
  }

  .footer-contacts {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .site-footer {
    margin-top: 48px;
  }

  .catalog-grid,
  .news-grid {
    padding-bottom: 2em !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-phone__text a,
  .footer-phone__text small {
    white-space: normal !important;
  }
}

/* Astrela patch 1.0.x: reset-safe catalog and layout cleanup */
.catalog-grid,
.news-grid {
  padding-bottom: 3em !important;
  row-gap: 36px !important;
}

.stock-pill,
.catalog-card__note,
.product-note,
.stock-note,
.price-note,
.notice-box.product-sync,
.notice-box.stock-sync {
  display: none !important;
}

.catalog-card__meta {
  margin: -2px 0 10px !important;
  color: #66788f !important;
  font-size: 12px !important;
  font-weight: 750;
  line-height: 1.45;
}

.catalog-card__image {
  background: #fff !important;
}

.catalog-card__image img {
  object-fit: contain !important;
  padding: 18px;
  background: #fff;
}

.product-detail-card__media {
  background: #fff !important;
  display: grid;
  place-items: center;
}

.product-detail-card__media img {
  object-fit: contain !important;
  padding: 28px;
  background: #fff;
}

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

.product-meta div {
  padding: 12px 14px;
  border: 1px solid #d8e1ec;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}

.product-meta dt {
  margin: 0 0 4px;
  color: #728096;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.product-meta dd {
  margin: 0;
  color: var(--card-title);
  font-weight: 850;
}

.product-specs {
  margin: 22px 0;
}

.product-specs h2 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.2;
}

.product-specs table,
.spec-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}

.product-specs th,
.product-specs td,
.spec-table th,
.spec-table td {
  padding: 11px 14px;
  border-bottom: 1px solid #e3ebf3;
  text-align: left;
  vertical-align: top;
}

.product-specs th,
.spec-table th {
  width: 38%;
  color: #66788f;
  font-weight: 800;
}

.product-specs tr:last-child th,
.product-specs tr:last-child td,
.spec-table tr:last-child th,
.spec-table tr:last-child td {
  border-bottom: 0;
}

.footer-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(120px, .6fr) minmax(170px, .8fr) minmax(150px, .7fr) minmax(430px, 1.4fr) !important;
  gap: 40px !important;
}

.footer-contacts {
  max-width: none !important;
  min-width: 0 !important;
}

.footer-contacts p {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: start !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.footer-phone__text,
.footer-phone__text strong,
.footer-phone__text small,
.footer-phone__text a {
  display: inline-block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.footer-phone__text strong {
  display: block !important;
}

.footer-phone__text small {
  display: flex !important;
  gap: 6px;
  align-items: center;
  flex-wrap: nowrap;
}

.request-card {
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr) !important;
}

.request-info h2 {
  font-size: clamp(30px, 3vw, 42px) !important;
  max-width: 100%;
}

.request-info,
.request-info p,
.contact-list,
.contact-list li {
  min-width: 0;
}

.contact-list a,
.contact-list strong,
.contact-list span:last-child {
  overflow-wrap: anywhere;
}

.eyebrow,
.section-kicker {
  color: #008ca7 !important;
  opacity: 1 !important;
}

.hero .eyebrow,
.page-hero .eyebrow,
.section-title.inverse .section-kicker,
.why .section-kicker {
  color: rgba(255,255,255,.78) !important;
}

.site-footer {
  margin-top: 72px !important;
}

body.astrela-site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1 0 auto;
}

@media (max-width: 1360px) {
  .footer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .footer-contacts {
    grid-column: 1 / -1;
    border-left: 0 !important;
    border-top: var(--footer-line);
    padding-top: 22px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 28px;
  }
}

@media (max-width: 980px) {
  .request-card,
  .detail-card {
    grid-template-columns: 1fr !important;
  }
  .product-meta {
    grid-template-columns: 1fr;
  }
  .footer-contacts {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .footer-phone__text small {
    display: block !important;
  }
  .footer-phone__text small a,
  .footer-phone__text small span {
    display: inline !important;
    white-space: nowrap !important;
  }
}



/* Astrela patch 1.0.6: mobile footer, local icon sprite, cookie banner, clickable contacts */
:root {
  --font-body: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bi {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
}

.brand-logo,
.footer-logo {
  width: auto !important;
  height: 3em !important;
  max-width: min(230px, 100%) !important;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(255,255,255,.34)) drop-shadow(0 0 24px rgba(81,228,255,.24));
}

.brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.brand:hover .brand-logo,
.footer-brand:hover .footer-logo {
  filter: drop-shadow(0 0 12px rgba(255,255,255,.45)) drop-shadow(0 0 30px rgba(81,228,255,.34));
}

.header-phones a,
.footer-contacts a,
.contact-card a,
.contact-list a {
  text-decoration: none;
}

.header-phones span a {
  color: var(--header-muted);
  font-size: inherit;
  font-weight: 700;
}

.header-phones span a:hover {
  color: #fff;
}

.catalog-card,
.news-card,
.category-card,
.service-card,
.direction-card,
.contact-card,
.prose-card,
.fact-card,
.detail-card,
.request-card {
  box-shadow: 0 18px 44px rgba(0,48,64,.08), 0 0 0 1px rgba(81,228,255,.10) !important;
}

.catalog-card:hover,
.news-card:hover,
.category-card:hover,
.service-card:hover,
.direction-card:hover {
  box-shadow: 0 26px 72px rgba(0,86,112,.16), 0 0 0 1px rgba(81,228,255,.24), 0 0 34px rgba(81,228,255,.11) !important;
}

.site-footer {
  margin-top: 80px !important;
}

.footer-grid {
  grid-template-columns: minmax(220px, 1.1fr) minmax(160px, .75fr) minmax(190px, .85fr) minmax(160px, .75fr) minmax(330px, 1.25fr) !important;
  align-items: start;
  gap: 36px !important;
}

.footer-col,
.footer-brand,
.footer-contacts {
  min-width: 0;
}

.footer-contacts {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
}

.footer-contacts p {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  column-gap: 13px !important;
  align-items: start !important;
}

.footer-icon,
.contact-icon,
.phone-icon {
  display: inline-grid !important;
  place-items: center;
  color: var(--accent) !important;
}

.footer-icon .bi,
.contact-icon .bi {
  width: 1.15em;
  height: 1.15em;
}

.footer-phone__text,
.footer-phone__text strong,
.footer-phone__text small,
.footer-phone__text a {
  min-width: 0;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.footer-phone__text strong {
  display: block !important;
}

.footer-phone__text small {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 7px !important;
  line-height: 1.35 !important;
}

.footer-bottom {
  display: flex !important;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-legal {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.contact-phones {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.astrela-cookie {
  position: fixed;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 1000;
  width: min(560px, calc(100% - 48px));
  display: none;
  grid-template-columns: 34px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid rgba(81,228,255,.28);
  border-radius: 18px;
  background: rgba(4, 16, 22, .96);
  color: rgba(255,255,255,.9);
  box-shadow: 0 22px 70px rgba(0,0,0,.30), 0 0 34px rgba(81,228,255,.14);
  backdrop-filter: blur(12px);
}

.astrela-cookie.ky6-cookie--visible {
  display: grid;
}

.astrela-cookie.is-hidden {
  display: none !important;
}

.astrela-cookie__icon {
  color: var(--accent);
  font-size: 24px;
}

.astrela-cookie__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.astrela-cookie__text a {
  color: #51e4ff;
  font-weight: 800;
  text-decoration: none;
}

.astrela-cookie__actions {
  display: flex;
  gap: 8px;
}

.astrela-cookie__btn {
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  background: linear-gradient(180deg, #1689ff 0%, #006cf4 100%);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 40px !important;
  }
  .footer-contacts {
    grid-column: auto !important;
    border-left: 0 !important;
    border-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 760px) {
  .brand-logo {
    height: 2.65em !important;
  }
  .footer-logo {
    height: 3em !important;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .footer-col h3 {
    margin-bottom: 8px;
  }
  .site-footer a {
    margin: 7px 0;
  }
  .footer-contacts {
    padding-top: 20px !important;
    border-top: var(--footer-line) !important;
  }
  .astrela-cookie {
    left: 14px;
    right: 14px;
    bottom: 14px;
    width: auto;
    grid-template-columns: 28px 1fr;
  }
  .astrela-cookie__actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .astrela-cookie__btn {
    width: 100%;
  }
}

.mini-feature span .bi,
.why-icon .bi,
.process-icon .bi {
  width: 1em;
  height: 1em;
}


/* Astrela patch 1.0.9: accessibility, readable templates and schema cleanup */
.request-card {
  background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.96) 38%, rgba(255,255,255,.88) 100%), url("/theme/astrela/assets/img/contact-office.webp") right center/cover no-repeat !important;
}

.request-info {
  position: relative;
  z-index: 2;
  max-width: 430px;
  padding-right: 18px;
}

.request-info::before {
  content: "";
  position: absolute;
  inset: -16px -12px -16px -22px;
  z-index: -1;
  border-radius: 24px;
  background: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.96) 78%, rgba(255,255,255,.36) 100%);
}

.form-check {
  align-items: flex-start !important;
  gap: 10px !important;
  color: var(--card-text) !important;
  line-height: 1.35 !important;
}

.form-check input[type="checkbox"] {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border-radius: 4px !important;
}

.form-check__label,
.form-check span {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  overflow: visible !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--card-text) !important;
}

.form-check a {
  display: inline !important;
  color: var(--link-accent) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.form-check a:hover {
  text-decoration: underline !important;
}

.brand-logo,
.footer-logo {
  filter: drop-shadow(0 0 12px rgba(255,255,255,.50)) drop-shadow(0 0 28px rgba(81,228,255,.28)) !important;
}

@media (max-width: 900px) {
  .request-info {
    max-width: none;
    padding-right: 0;
  }
  .request-info::before {
    inset: -12px;
    background: rgba(255,255,255,.94);
  }
}


/* Astrela patch 1.0.9: accessible honeypot field */
.feedback-form__hp-wrap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.feedback-form__hp-wrap label,
.feedback-form__hp-wrap input {
  position: static !important;
}


/* Astrela patch 1.0.11: stable Bootstrap Icons rendering */
:root {
  --font-body: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Golos Text", Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.bi {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
  overflow: visible;
}
.mini-feature .bi,
.why-icon .bi,
.process-icon .bi,
.contact-icon .bi,
.footer-icon .bi,
.phone-icon .bi {
  color: currentColor;
  fill: currentColor;
}
.why-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
}
.why-icon .bi {
  width: 1em;
  height: 1em;
  max-width: 56px;
  max-height: 56px;
}
.process-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.process-icon .bi {
  width: 1em;
  height: 1em;
}


/* Astrela patch 1.0.12: themed Twig error pages */
.error-page { padding: clamp(42px, 7vw, 96px) 0; }
.error-page__wrap { display: grid; place-items: center; }
.error-page__card { width: min(820px, 100%); padding: clamp(34px, 5vw, 66px); border: 1px solid var(--line); border-radius: 30px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-soft), 0 0 36px rgba(81,228,255,.12); }
.error-page__card h1 { margin: 0 0 16px; font-size: clamp(36px, 6vw, 62px); line-height: 1.05; }
.error-page__card p:not(.section-kicker) { max-width: 620px; margin: 0 0 24px; color: var(--muted); font-size: 18px; }
.error-page__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Astrela patch 1.0.13: embedded feedback forms on product/service pages */
.request-form {
  scroll-margin-top: 110px;
}

.detail-request {
  margin-top: 28px;
  padding: 24px;
  border: 1px solid rgba(216, 225, 236, .96);
  border-radius: var(--card-radius-lg);
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,247,255,.96));
  box-shadow: 0 18px 45px rgba(12, 26, 45, .08);
}

.detail-request__header {
  margin-bottom: 18px;
}

.detail-request__header h2 {
  margin: 4px 0 8px;
  font-family: var(--font-heading);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
  color: var(--heading);
}

.detail-request__header p:not(.section-kicker) {
  max-width: 680px;
  margin: 0;
  color: var(--card-text);
  font-size: 15px;
  line-height: 1.58;
}

.detail-request .request-form {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.detail-request .form-grid {
  grid-template-columns: 1fr 1fr;
}

.detail-request .form-field:nth-of-type(n+3),
.detail-request .form-check,
.detail-request .request-form__submit,
.detail-request .form-note {
  grid-column: 1 / -1;
}

.detail-back-actions {
  margin-top: 18px;
}

@media (max-width: 760px) {
  .detail-request {
    padding: 20px 16px;
  }

  .detail-request .form-grid {
    grid-template-columns: 1fr;
  }
}
