@charset "UTF-8";
:root {
  --MainFont: 'Geologica', system-ui, sans-serif;
  --MonoFont: 'IBM Plex Mono', ui-monospace, monospace;
  --MaterialIcons: "Material Icons";
  --BG: "";
  --InLine: 3;
  --InPLine: 3;
  --Ink:       #1A1D21;
  --Accent:    #1FA6A0;
  --Bg:        #ECEEF0;
  --BgMid:     #DFE3E7;
  --White:     #ffffff;
  --Color1:    var(--Ink);
  --Color2:    var(--Accent);
  --Color6:    #2BC4BD;
  --Red:       #EB2B1E;
  --Color3:    var(--White);
  --MainFrameBg: var(--Bg);
  --Color4:    #BFC3C8;
  --Gray8:     #1E2939;
  --Gray7:     #374151;
  --Gray5:     #6A7282;
  --Gray4:     #99A1AF;
  --Gray3:     #D1D5DC;
  --Gray2:     #E5E7EB;
  --Gray0:     #F9FAFB;
  --GradFrom:  #1FA6A0;
  --GradTo:    #0E7A76;
  --Gradient:  linear-gradient(90deg, var(--GradFrom), var(--GradTo));
  --GradientR: linear-gradient(90deg, var(--GradTo), var(--GradFrom));
  --Bfr: "";
  --Unit: calc(100cqw / 1760);
  --MainCoef: tan(atan2(1760px, 100cqw));
  --Body: var(--1280);
  --MainGap: var(--24);
  --Gap: var(--24);
  --MainPadding: var(--64);
  --SidePadding: var(--80);
  --MainContentGap: var(--40);
  --MoreGap: var(--12);
  --HeaderSliderPaddingTB: var(--200);
  --HeaderSliderPaddingLR: var(--SidePadding);
  --HeaderSliderMinWidth: var(--500);
  --HeaderSliderMaxWidth: var(--560);
  --ContentVerticalGapTB: var(--36);
  --ContentVerticalGapLR: 0;
  --MainBorderRadius: var(--4);
  --MainBlockPadding: var(--28);
  --ContentShortGap: var(--8);
  --HalfPadding: var(--640);
  --LogoHeight: var(--56);
  --LogoWidth: var(--220);
  --Type2-1Height: var(--360);
  --Type3Padding: var(--120);
  --PhotoSize: var(--140);
  --S5-8Padding: var(--880);
  --ButtonPaddingTB: var(--14);
  --ButtonPaddingLR: var(--28);
  --ButtonsBorderRadius: 0;
  --BlockIconWidth: var(--56);
  --BigIconWidth: var(--80);
  --SideTitleWidth: var(--480);
  --MainHeaderFontSize: var(--36);
  --Type2-1Width: var(--520);
  --Type4Height: auto;
  --ArrowRight: var(--32);
  --ArrowBottom: var(--32);
  --ArrowWidth: var(--48);
  --ArrowHeight: var(--48);
  --ArrowImageURL: url("../images/arrow.svg");
  --ArrowHoverImageURL: url("../images/arrow-h.svg");
  --BorderColor: var(--Accent);
  --HalfBorderRadius: 50%;
  --HeadingWeight: 700;
  --HeadingTracking: -0.02em;
  --HeadingTransform: none;
  --HeadingLine: none;
  --HeadingLineFill: var(--Gradient);
  --H3Weight: 600;
  --HeroSize: var(--80);
  --HeroWeight: 800;
  --HeroTransform: none;
  --SectionHeadSize: var(--40);
  --LabelFont: var(--MonoFont);
  --LabelTransform: uppercase;
  --LabelTracking: 0.1em;
  --CardRadius: var(--2);
  --CardRadiusLg: var(--4);
  --CardSharpRadius: 0;
  --CardFill: var(--White);
  --CardShadow: 0 var(--2) var(--12) rgba(26,29,33,0.06), 0 var(--1) var(--4) rgba(26,29,33,0.04);
  --CardBorderWidth: var(--1);
  --CardAccentBorder: var(--3);
  --BadgeRadius: var(--2);
  --DividerWidth: 1px;
  --DividerColor: var(--BgMid);
  --ButtonBorderWidth: var(--1);
  --ButtonTransform: uppercase;
  --ButtonFont: var(--MonoFont);
  --1: calc(1 * var(--Unit));
  --2: calc(2 * var(--Unit));
  --3: calc(3 * var(--Unit));
  --4: calc(4 * var(--Unit));
  --5: calc(5 * var(--Unit));
  --6: calc(6 * var(--Unit));
  --8: calc(8 * var(--Unit));
  --9: calc(9 * var(--Unit));
  --10: calc(10 * var(--Unit));
  --12: calc(12 * var(--Unit));
  --14: calc(14 * var(--Unit));
  --15: calc(15 * var(--Unit));
  --16: calc(16 * var(--Unit));
  --18: calc(18 * var(--Unit));
  --19: calc(19 * var(--Unit));
  --20: calc(20 * var(--Unit));
  --22: calc(22 * var(--Unit));
  --24: calc(24 * var(--Unit));
  --26: calc(26 * var(--Unit));
  --28: calc(28 * var(--Unit));
  --29: calc(29 * var(--Unit));
  --30: calc(30 * var(--Unit));
  --32: calc(32 * var(--Unit));
  --36: calc(36 * var(--Unit));
  --40: calc(40 * var(--Unit));
  --42: calc(42 * var(--Unit));
  --44: calc(44 * var(--Unit));
  --48: calc(48 * var(--Unit));
  --50: calc(50 * var(--Unit));
  --52: calc(52 * var(--Unit));
  --56: calc(56 * var(--Unit));
  --60: calc(60 * var(--Unit));
  --64: calc(64 * var(--Unit));
  --72: calc(72 * var(--Unit));
  --80: calc(80 * var(--Unit));
  --96: calc(96 * var(--Unit));
  --100: calc(100 * var(--Unit));
  --120: calc(120 * var(--Unit));
  --128: calc(128 * var(--Unit));
  --140: calc(140 * var(--Unit));
  --150: calc(150 * var(--Unit));
  --192: calc(192 * var(--Unit));
  --195: calc(195 * var(--Unit));
  --200: calc(200 * var(--Unit));
  --220: calc(220 * var(--Unit));
  --230: calc(230 * var(--Unit));
  --250: calc(250 * var(--Unit));
  --280: calc(280 * var(--Unit));
  --360: calc(360 * var(--Unit));
  --395: calc(395 * var(--Unit));
  --480: calc(480 * var(--Unit));
  --500: calc(500 * var(--Unit));
  --520: calc(520 * var(--Unit));
  --550: calc(550 * var(--Unit));
  --560: calc(560 * var(--Unit));
  --600: calc(600 * var(--Unit));
  --640: calc(640 * var(--Unit));
  --880: calc(880 * var(--Unit));
  --970: calc(970 * var(--Unit));
  --1015: calc(1015 * var(--Unit));
  --1152: calc(1152 * var(--Unit));
  --1280: calc(1280 * var(--Unit));
  --1760: calc(1760 * var(--Unit));
  --EaseOut: cubic-bezier(0.16, 1, 0.3, 1);
  --EaseUI: cubic-bezier(0.4, 0, 0.2, 1);
  --NavW: 220px;
  --11: calc(11 * var(--Unit));
  --39: calc(39 * var(--Unit));
  --13: calc(13 * var(--Unit));
  --400: calc(400 * var(--Unit));
}
textarea { -webkit-appearance: none; }
*, *:before, *:after {
  font-family: var(--MainFont), serif;
  scroll-behavior: smooth;
  box-sizing: border-box;
  transform-style: flat;
  backface-visibility: hidden;
}

.description > * + * { margin-top: var(--16); }
.description ul, .description ol { margin-top: 0; margin-bottom: 0; }
.description > p + ol, .description > p + ul { margin-top: var(--8); }
.description:empty { display: none; }
p { padding: 0; margin: 0; }
p + p, p + ul, ul + p, ol + p, p + ol { margin: 0; }

h1, h2, h3, h4, h5 {
  padding: 0; margin: 0;
  font-size: var(--36);
  font-weight: var(--HeadingWeight);
  letter-spacing: var(--HeadingTracking);
  color: var(--Color1);
}
h1:empty, h2:empty, h3:empty, h4:empty, h5:empty { display: none; }

.h1, h1.title {
  font-size: var(--36);
  font-weight: var(--HeadingWeight);
  color: var(--Color1);
}
.h2, h2.title {
  font-size: var(--36);
  font-weight: var(--HeadingWeight);
  text-transform: var(--HeadingTransform);
  color: var(--Color1);
  position: relative;
  padding-bottom: var(--16);
}
.h2:after, h2.title:after {
  content: "";
  display: var(--HeadingLine);
  position: absolute;
  left: 0; bottom: 0;
  width: var(--32); height: var(--2);
  background: var(--HeadingLineFill);
}
.h2 span, h2.title span {
  background: var(--Gradient);
  background-clip: text; -webkit-background-clip: text;
  color: transparent;
}
.h3, h3.title {
  font-size: var(--24);
  font-weight: var(--H3Weight);
  color: var(--Color1);
}
.h2.up, h2.title.up { text-transform: uppercase; }

.description, .type33aaa:before {
  font-size: var(--18);
  line-height: 1.65;
  color: var(--Gray7);
  hyphens: auto;
}
.description a, .type33aaa:before a { color: var(--Color1); }
.description.annotation {
  font-size: var(--13);
  line-height: 1.5;
  font-family: var(--LabelFont);
  letter-spacing: var(--LabelTracking);
  text-transform: var(--LabelTransform);
  color: var(--Gray5);
}
.description p:has(.btn) {
  font-size: 0; line-height: 0;
  display: flex; align-items: center; gap: var(--20);
}
.t0a .info .description, .t21a > .title {
  font-size: var(--20);
  line-height: 1.5;
  font-weight: 300;
  color: rgba(236,238,240,0.8);
  hyphens: none;
}
.t0a .info .description p + p { margin: 0; }
.t0a .info .description p:has(.btn) { margin-top: var(--48); align-items: center; justify-content: flex-start; }
.t0a .info .description p.alt {
  color: rgba(31,166,160,0.7); line-height: 1.5; font-size: var(--15);
  font-family: var(--MonoFont); margin-bottom: var(--24);
}
.t0a .info .description p.price {
  padding-top: var(--40); font-size: var(--64); line-height: 1; font-weight: 800;
  background: var(--GradientR); background-clip: text; -webkit-background-clip: text;
  color: transparent; margin-bottom: var(--8); display: inline-block;
}
.more {
  display: inline-flex; gap: var(--8);
  align-items: baseline;
  color: var(--Accent);
  font-family: var(--LabelFont);
  font-size: var(--13);
  line-height: 1.4;
  letter-spacing: var(--LabelTracking);
  text-transform: var(--LabelTransform);
  text-decoration: none;
  position: relative;
  padding-bottom: var(--4);
}
.more:empty { display: none; }
.more:before {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 100%; height: var(--1);
  background: var(--Gradient);
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.25s var(--EaseUI);
}
.more:after { content: "→"; font-family: var(--MonoFont); transition: transform 0.25s var(--EaseUI); }
.more:hover { text-decoration: none; }
.more:hover:before { transform: scaleX(1); }
.more:hover:after { transform: translateX(var(--5)); }
.more.sm { font-size: var(--12); }
.more.sm:after { content: none; }
.t3a .info .title { font-size: var(--18); font-weight: 600; line-height: var(--24); color: var(--Color1); }
.btn {
  display: inline-block; color: inherit;
  letter-spacing: var(--LabelTracking);
  font-size: var(--12); line-height: 1.45;
  font-family: var(--ButtonFont);
  text-transform: var(--ButtonTransform);
  padding: var(--12) var(--28);
  border: var(--ButtonBorderWidth) solid color-mix(in srgb, currentColor 35%, transparent);
  background: none; cursor: pointer;
  text-align: center; text-decoration: none;
  border-radius: var(--ButtonsBorderRadius);
  transition: all 0.25s var(--EaseUI);
}
.btn:hover { transform: none; text-decoration: none; background: rgba(31,166,160,0.08); }
.btn.cl {
  background: var(--Accent);
  border: 0; color: var(--White);
  font-family: var(--MainFont); font-weight: 700;
  letter-spacing: 0.04em; font-size: var(--16); line-height: 1.4;
  padding: var(--16) var(--36);
}
.btn.cl:hover { background: var(--GradTo); transform: none; }
.btn.t1 { border-color: color-mix(in srgb, currentColor 35%, transparent); color: inherit; }
.t15a .title {
  font-size: var(--22); font-weight: 600;
  line-height: var(--30); cursor: pointer;
  padding: var(--16) 0;
}
.t23a > .title { font-size: var(--48); color: var(--Color1); font-weight: 700; }
#sections { container-type: inline-size; }

html { padding: 0; margin: 0; min-height: 100vh; scroll-behavior: smooth; }

body {
  font-family: var(--MainFont), serif;
  width: 100%; min-height: 100vh;
  color: var(--Color1); font-style: normal; position: relative;
  scroll-behavior: smooth; background: var(--White);
  display: flex; flex-direction: column;
  overflow-x: hidden; padding: 0; margin: 0; font-size: 0;
}
body:has(.popupBox.visible) { overflow: hidden; }
body > div.mb { width: 100%; }
.popupBox {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: var(--Color3); display: flex;
  justify-content: center; align-items: center;
  z-index: -1; opacity: 0;
  transition: opacity 0.3s linear, visibility 0.3s linear, z-index 0.3s linear 0.3s;
  padding: var(--MainPadding); overflow: hidden; pointer-events: none;
}
.popupBox.visible { opacity: 1; pointer-events: auto; z-index: 1000; }
.popupBox .popup {
  position: relative; display: flex; flex-direction: column;
  background: var(--Color3); border-radius: var(--MainBorderRadius);
  overflow: hidden; max-height: calc(100% - var(--MainPadding) * 2);
  transition: all 0.3s linear;
}
.popupBox .popup > .title { color: var(--Color3); font-size: var(--22); }
.popupBox .popup > a.close {
  display: block; width: var(--MainContentGap); height: var(--MainContentGap);
  background: url("../images/close.svg") no-repeat center center;
  background-size: var(--20); position: absolute; right: var(--16); top: var(--16);
}
.popupBox#requestPopup {
  display: flex; background: rgba(255,255,255,0.9);
  justify-content: flex-end; padding: 0; overflow: hidden;
  align-items: flex-start; cursor: pointer; z-index: 2; backdrop-filter: blur(0);
}
.popupBox#requestPopup.visible { backdrop-filter: blur(3px) saturate(180%); }
.popupBox#requestPopup.visible .popup { transform: translateX(0); }
.popupBox#requestPopup.visible .popup > a.close { background-image: url("../images/close-w.svg"); }
.popupBox#requestPopup .popup {
  background: var(--Accent); padding: var(--MainBlockPadding);
  flex: 0 0 var(--HeaderSliderMaxWidth);
  transform: translateX(100%); transition: transform 0.3s linear;
  border-radius: 0; max-height: 100%; height: 100%; gap: var(--MainGap); cursor: auto;
}
.popupBox#requestPopup .popup > .title, .popupBox#requestPopup .popup .list { padding: var(--8); }
.popupBox#requestPopup .popup form {
  flex: 1; overflow: auto; display: flex; flex-direction: column; gap: var(--MainGap);
}
.popupBox#requestPopup .popup form .list {
  flex: 1; overflow: auto; display: flex; flex-direction: column; gap: var(--ContentShortGap);
}
.popupBox#requestPopup .popup form .list .description { color: var(--Color3); }
.popupBox#requestPopup .popup form .list .line {
  display: flex; flex-direction: column; gap: var(--ContentShortGap);
}
.popupBox#requestPopup .popup form .list .line > label:first-child {
  cursor: pointer; font-size: var(--18); color: var(--Color3);
}
.popupBox#requestPopup .popup form .actions { display: flex; gap: var(--MainGap); }
.popupBox#requestPopup .popup .cb + label { color: var(--Color3); }
.popupBox#requestPopup .popup .cb + label:after { border-color: var(--Color3); }
input[type=button], input[type=submit], input[type=reset] { -webkit-appearance: none; }
:has(> .cb) { position: relative; }
.cb { position: absolute; opacity: 0; width: 0; height: 0; border: 0; padding: 0; margin: 0; }
.cb:checked label:after { display: block; }
.cb + label {
  position: relative; display: inline-block; vertical-align: middle; cursor: pointer;
  font-size: var(--18); padding-left: var(--28);
}
.cb + label:before {
  content: ""; position: absolute; left: 0; top: 0; width: var(--20); height: var(--20);
  border: 1px solid var(--Accent); background-color: var(--Color3); border-radius: var(--2);
}
.cb + label:after {
  content: ""; position: absolute; display: none;
  left: var(--6); top: var(--2); width: var(--8); height: var(--14);
  border: solid var(--Accent); border-width: 0 var(--2) var(--2) 0; transform: rotate(45deg);
}
img { height: auto; max-width: 100%; }
a { color: var(--Color1); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
a img { border: 0; max-width: 100%; }
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
select::-ms-expand { display: none; }
article, aside, details, figcaption, figure, footer, header, menu, main, nav, section, summary {
  display: block; box-sizing: border-box; padding: 0; margin: 0; clear: both;
}
option { color: var(--Color1); }

div.text, input.text, select.text, textarea.text {
  width: 100%;
  border: 1px solid var(--BgMid);
  border-radius: var(--2);
  padding: var(--12) var(--16);
  background: var(--White);
  color: var(--Ink);
  font-size: var(--15);
  line-height: 1.5;
  font-family: var(--MainFont);
  transition: border-color 0.2s var(--EaseUI);
}
div.text:focus-visible, input.text:focus-visible, select.text:focus-visible, textarea.text:focus-visible {
  outline: none;
  border-color: var(--Accent);
  box-shadow: 0 0 0 3px rgba(31,166,160,0.15);
}
div.text::placeholder, input.text::placeholder, textarea.text::placeholder {
  color: var(--Gray4);
}
textarea.text { resize: vertical; }

.message { font-weight: 500; font-size: var(--16); }
.message.error { color: var(--Red); }
.message.success { color: var(--Accent); }
.message.success:first-child { margin-bottom: var(--MainGap); }
.text + .message { margin-top: var(--8); }

.body {
  max-width: var(--Body);
  margin-inline: auto;
  width: 100%;
  .body{
    width: 100%;
  } }
#gvp {
  padding: 0; background: var(--Color3); display: flex; flex-direction: column;
  --ArrowImageURL: url("../images/arrow-nb.svg");
  --ArrowHoverImageURL: url("../images/arrow-h.svg");
}
#gvp .popup .photo > .arrow.right .arrow { transform: rotate(180deg); }
footer.footer {
  background: var(--Ink);
  padding: var(--28) var(--SidePadding);
  display: flex; gap: var(--MainGap); align-items: center;
  margin-top: var(--MainPadding);
}
footer.footer .body { flex: 1; display: flex; gap: var(--MainGap); align-items: center; }
footer.footer .description { flex: 1; color: var(--Gray4); font-family: var(--MonoFont); font-size: var(--13); letter-spacing: 0.05em; }
footer.footer .description a { color: var(--Color3); }
footer.footer .social { display: flex; gap: var(--MoreGap); }
footer.footer .social a.s {
  display: block; width: var(--36); height: var(--36);
  background: var(--BG) center center/contain no-repeat;
  filter: grayscale(1) brightness(0) invert(1); opacity: 0.5;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
footer.footer .social a.s:hover { opacity: 1; transform: scale(1.1); }
@keyframes headerLogoSlideIn {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

header.header {
  position: fixed; left: 0; top: 0; width: 100%; z-index: 10;
  mix-blend-mode: difference; pointer-events: none;
  padding: var(--20) var(--32);
  display: flex; justify-content: space-between; gap: var(--MainGap); align-items: center;
}
header.header .logo { pointer-events: auto; display: flex; flex-direction: column; gap: var(--3); animation: headerLogoSlideIn 1s ease-out; }
header.header .logo .pixio { font-size: var(--24); line-height: 1.2; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--Color3); }
header.header .logo .label { font-family: var(--MonoFont); font-size: var(--11); line-height: 1.3; color: rgba(255,255,255,0.6); }
header.header .menu {
  flex: 1; display: flex; gap: var(--MainGap); justify-content: center;
  padding: 0; margin: 0; list-style: none; pointer-events: auto;
}
header.header .menu:empty { display: none; }
header.header .menu a { display: inline-block; font-family: var(--MonoFont); font-size: var(--12); letter-spacing: 0.1em; text-transform: uppercase; color: var(--Color3); }
header.header .menu a:hover { color: var(--Accent); text-decoration: none; }
header.header .menu li { position: relative; }
header.header .menu .current > a {
  background: var(--Gradient) left bottom/100% var(--2) no-repeat;
  padding-bottom: var(--4);
}
header.header .menu .sub > a:after {
  content: ""; display: inline-block; width: var(--5); height: var(--5);
  margin: 0 0 var(--2) var(--6); border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg);
}
header.header .menu .sub menu {
  position: absolute; top: 100%; left: calc(-1 * var(--16));
  margin: 0; padding: var(--12) var(--16) var(--14); list-style: none;
  display: flex; flex-direction: column; gap: var(--10); min-width: max-content;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--MainBorderRadius); backdrop-filter: blur(10px);
  opacity: 0; pointer-events: none; transform: translateY(var(--8));
  transition: opacity 0.15s ease, transform 0.15s ease;
}
header.header .menu .sub:hover menu, header.header .menu .sub:focus-within menu { opacity: 1; pointer-events: auto; transform: none; }
header.header .contacts { display: flex; align-items: center; gap: var(--14); pointer-events: auto; }
header.header .contacts a:before {
  content: ""; background: var(--BG) center center/contain no-repeat;
  display: block; width: var(--18); height: var(--18);
}
header.header .contacts a {
  font-size: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--44);
  height: var(--44);
  background-color: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 0;
  transition: background-color 0.15s ease, transform 0.15s ease;
  --BG: url("../images/phone.svg"); }
header.header .contacts a.whatsapp { --BG: url("../images/wa.svg"); }
header.header .contacts a span { display: none; }
header.header .contacts a:hover { background-color: rgba(31,166,160,0.25); transform: none; text-decoration: none; }
header.header .m { display: none; }
.comp-nav {
  position: fixed;
  left: 0; top: 0; bottom: 0;
  width: var(--NavW);
  z-index: 9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--80) 0 var(--40) 0;
  pointer-events: none;
}
.comp-nav ul {
  list-style: none; margin: 0; padding: 0 0 0 var(--24);
  display: flex; flex-direction: column; gap: var(--4);
}
.comp-nav li {
  pointer-events: auto;
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.4s var(--EaseOut), transform 0.4s var(--EaseOut);
}
.comp-nav.visible li { opacity: 1; transform: none; }
.comp-nav li:nth-child(1) { transition-delay: 0.05s; }
.comp-nav li:nth-child(2) { transition-delay: 0.10s; }
.comp-nav li:nth-child(3) { transition-delay: 0.15s; }
.comp-nav li:nth-child(4) { transition-delay: 0.20s; }
.comp-nav li:nth-child(5) { transition-delay: 0.25s; }
.comp-nav a {
  display: flex; align-items: center; gap: var(--8);
  font-family: var(--MonoFont); font-size: var(--11); letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--Gray4); text-decoration: none;
  padding: var(--6) 0; transition: color 0.2s ease;
}
.comp-nav a:hover { color: var(--Accent); text-decoration: none; }
.comp-nav a .idx {
  font-size: var(--10); color: var(--Accent); min-width: var(--20);
  opacity: 0.6;
}
.comp-nav a .bar {
  display: block; height: var(--1); width: var(--20);
  background: var(--BgMid);
  transition: width 0.3s ease, background 0.3s ease;
}
.comp-nav li.active a { color: var(--Accent); }
.comp-nav li.active a .bar { width: var(--36); background: var(--Accent); }
#mb > .s {
  margin: 0 var(--SidePadding);
}
#mb > .s.t0,
#mb > .s.t16.dark,
#mb > .s.t18,
#mb > .s.t19,
#mb > .s.t21.dark {
  margin: 0;
}
#mb > .s.t16.dark, #mb > .s.t21.dark { max-width: none; }
#mb > .s.t18, #mb > .s.t21.dark {
  padding-left: var(--SidePadding);
  padding-right: var(--SidePadding);
}
.s[id] { scroll-margin-top: 80px; }
.rv .s, .rv .comp-nav li {
  opacity: 0; transform: translateY(24px);
  transition: opacity 0.7s var(--EaseOut), transform 0.7s var(--EaseOut);
}
.rv .s.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rv .s, .rv .comp-nav li { opacity: 1 !important; transform: none !important; transition: none !important; }
}
div.t0, section.t0 { position: relative; }
.t0, .t17 .container, .t20 .container { scroll-snap-type: both mandatory; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.t0a, .t12a, .t17a, .t20a { scroll-snap-align: center; scroll-snap-stop: always; }

.t0 {
  overflow: hidden; min-height: 100vh;
  display: flex; align-items: stretch; justify-content: center;
  background: var(--Ink);
}
.t0 .container { display: flex; overflow: hidden; width: 100%; }
.t0 .scroll {
  position: absolute; left: 50%; bottom: var(--40);
  display: inline-flex; text-transform: uppercase;
  color: rgba(255,255,255,0.4); font-size: var(--12); font-family: var(--MonoFont);
  animation: t0scroll 1s ease-in-out infinite alternate; pointer-events: none;
}
.t0 .arrows {
  position: absolute; display: flex; height: 0; gap: var(--MainGap);
  align-items: flex-end; right: var(--ArrowRight); bottom: var(--ArrowBottom); z-index: 1; cursor: pointer;
}
.t0 .arrows .arrow.right { transform: rotate(180deg); }
.t0a {
  display: flex; padding: 0 var(--HeaderSliderPaddingLR);
  align-items: center; justify-content: flex-start;
  flex: 0 0 100%; position: relative;
  background: var(--BG) center center/cover no-repeat;
}
.t0a:before {
  content: "";
  display: block;
  width: 48%;
  height: 90%;
  right: 2%;
  top: 5%;
  position: absolute;
  background: url('../images/Sections/9601.svg') center center / contain no-repeat;
  opacity: 0.75;
  pointer-events: none;
  animation: heroSvgPulse 8s ease-in-out infinite alternate;
}
.t0a:after { display: none; }

@keyframes heroSvgPulse {
  0% { opacity: 0.5; transform: scale(0.98); }
  100% { opacity: 0.7; transform: scale(1.02); }
}

.t0a .lnk {
  display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;
}
.t0a .body {
  max-width: var(--560); position: relative; z-index: 2;
  opacity: 1;
}
.t0a .body:before, .t0a .body:after { display: none; }

.t0a .info {
  display: flex; flex-direction: column; gap: var(--28);
  align-items: flex-start; text-align: left;
}
.t0a .info .title {
  font-size: var(--HeroSize); line-height: 1.05;
  font-weight: var(--HeroWeight); text-transform: var(--HeroTransform);
  letter-spacing: -0.02em; color: var(--White);
}
.t0a .info .title span {
  background: linear-gradient(90deg, var(--GradTo), var(--GradFrom), var(--GradTo));
  background-size: 200% 100%; background-clip: text; -webkit-background-clip: text;
  color: transparent; animation: HeroGradient 4s ease-in-out infinite;
}
.t0a .info .description p {
  margin: 0 0 var(--20);
  opacity: 1; }
.t0a .info .more { color: var(--Accent); align-self: flex-start; position: relative; z-index: 1; }
.t0a.current .info { animation: SlideInfoIn 0.6s ease both; }
.t0a.w .info .more, .t0a.w .info .description, .t0a.w .info .title { color: var(--Color3); }
.t0:before {
  content: "";
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(31,166,160,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,166,160,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gridDrift 20s linear infinite;
}
@keyframes gridDrift {
  0% { background-position: 0 0; }
  100% { background-position: 60px 60px; }
}
.t0a .module-labels {
  position: absolute; right: var(--48); bottom: var(--80);
  z-index: 2; display: flex; flex-direction: column; gap: var(--8);
}
.t0a .module-labels span {
  font-family: var(--MonoFont); font-size: var(--10); letter-spacing: 0.1em;
  text-transform: uppercase; color: rgba(31,166,160,0.6);
  display: flex; align-items: center; gap: var(--8);
}
.t0a .module-labels span:before {
  content: ""; display: block; width: var(--20); height: var(--1); background: rgba(31,166,160,0.4);
}

@keyframes SlideInfoIn { from { opacity: 0; transform: translateY(var(--16)); } to { opacity: 1; transform: none; } }
@keyframes t0scroll { 0% { transform: translate(-50%, -25%); } 100% { transform: translate(-50%, 25%); } }
@keyframes HeroGradient { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

@media (prefers-reduced-motion: reduce) {
  .t0a .body, .t0a .body:before, .t0a .body:after, .t0a .info .description p { animation: none; opacity: 1; }
  .t0a.current .info, .t15a.current .description { animation: none; }
}
.s.t1:not(.bg) { background: var(--Bg); }
.t1 .body, .t5, .t9 { display: flex; gap: var(--MainGap); }
.t5.a, .t9.a { flex-direction: row-reverse; }
.t1 .body:before, .t5:before {
  content: ""; display: block;
  flex: 0 0 min(var(--1015), 55%);
  background: var(--BG) center center/cover no-repeat;
}
.t5:before { border-radius: var(--MainBorderRadius); flex: 0 0 calc((100% - var(--MainGap)) / 2); }
.t1 .body .info, .t5 .info, .t9 .info {
  flex: 1; min-width: 0; display: flex; flex-direction: column;
  gap: var(--MainGap); justify-content: center;
  padding: var(--ContentVerticalGapTB) var(--ContentVerticalGapLR);
}
.t1:not(.bg) .body .info { padding-right: var(--MainPadding); }
.t1 .body .info:before {
  content: "/ ОБ ОKNAPLAST";
  font-family: var(--MonoFont); font-size: var(--10); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--Accent); margin-bottom: var(--8);
}
.s.t1.bg { background: var(--BG) center center/cover no-repeat; border-radius: var(--MainBorderRadius); overflow: hidden; }
.s.t1.bg .body:before { display: none; }
.s.t1.bg .info { padding: var(--Type3Padding) var(--MainPadding) var(--Type3Padding) min(var(--HalfPadding), 50%); }
.t2, .t7, .t13, .t15 { display: flex; flex-direction: column; gap: var(--MainGap); }
.t2 .items, .t7 .items, .t13 .items { display: flex; gap: var(--MainGap); flex-wrap: wrap; }
.t2 { align-items: center; }
.t2 h2.title { font-size: var(--SectionHeadSize); text-align: center; }
.t2 .items { width: 100%; --MainGap: var(--24); }
.t2a {
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  width: calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  background: var(--Color3); border-left: var(--CardAccentBorder) solid var(--Accent);
  border-radius: var(--CardSharpRadius); box-shadow: var(--CardShadow);
  display: flex; flex-direction: column;
  transform: none; transition: border-left-color 0.3s linear, transform 0.3s linear;
}
.t2a:before {
  content: ""; display: block; width: 100%; aspect-ratio: 380/192;
  background: var(--BG) center center/cover no-repeat;
}
.t2a .title {
  color: var(--Color1);
  font-size: var(--18);
  flex: 1;
  padding: var(--20);
  font-weight: 700;
  line-height: 1.4;
  transition: color 0.3s linear; }
.t2a .more { margin: 0 var(--20) var(--20); align-self: flex-start; }
.t2a:hover { border-left-color: var(--Accent); transform: translateY(calc(0px - var(--4))); text-decoration: none; }
.t2a:hover .title { color: var(--Accent); }
.t3, .t6 { display: flex; flex-direction: column; gap: var(--MainGap); }
.t3 .items, .t6 .items { display: flex; flex-wrap: wrap; gap: var(--MainGap); }
.t3a {
  display: flex; flex-direction: column; border-radius: var(--CardRadius);
  overflow: hidden;
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid var(--BgMid);
}
.t3a:not(:has(img)):before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 560 / 395;
  background: var(--BG, var(--Ink)) center center / cover no-repeat;
  flex-shrink: 0;
}
.t3a img { height: var(--Type4Height); }
.t3a .info {
  flex: 1; display: flex; flex-direction: column; gap: var(--ContentShortGap);
  padding: var(--MainGap); background: var(--CardFill);
}
.t3a:hover { transform: translateY(calc(0px - var(--3))); box-shadow: 0 var(--10) var(--24) rgba(26,29,33,0.1); }
.t4 {
  border-radius: var(--MainBorderRadius); overflow: hidden;
  background: var(--BG) center center/cover no-repeat;
  padding: var(--HeaderSliderPaddingTB) var(--MainPadding);
}
.t4 .info { padding-right: var(--S5-8Padding); display: flex; flex-direction: column; gap: var(--MainGap); color: var(--Color3); }
.t4:not(.d) .info .title, .t4:not(.d) .info .description, .t4:not(.d) .info .description a { color: var(--Color3); }
.t4.r .info { padding-left: var(--S5-8Padding); padding-right: 0; }
.t4.d .info { color: initial; }
.t5 .info .items, .t8 .items, .t9 .items { display: flex; gap: var(--MainGap); flex-wrap: wrap; }
.t5 .t5a { background: none; }
.t6 { align-items: center; }
.t6 h2.title { font-size: var(--SectionHeadSize); text-align: center; }
.t6 > .description { text-align: center; font-weight: 300; }
.t6 .items { width: 100%; counter-reset: section6; --MainGap: var(--40); }

.t6a {
  --HeadColor: var(--Accent);
  counter-increment: section6;
  position: relative; display: flex; flex-direction: column; gap: var(--12);
  border: 1px solid color-mix(in srgb, var(--HeadColor) 30%, transparent);
  border-radius: var(--CardRadiusLg);
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  width: calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  padding: var(--28); transition: transform 0.4s ease, border-color 0.3s ease;
  background: var(--White);
}
.t6a:nth-child(odd) { --HeadColor: var(--Accent); }
.t6a:nth-child(even) { --HeadColor: #0E7A76; }
.t6a:after {
  content: ""; display: block; height: var(--1); width: var(--40);
  background: color-mix(in srgb, var(--HeadColor) 40%, transparent);
  position: absolute; right: calc(0px - var(--40) / 2 - var(--MainGap) / 2);
  top: calc(var(--28) + var(--BlockIconWidth) / 2);
  transform: translateY(-50%); pointer-events: none;
}
.t6a:last-child:after { content: none; }
.t6a:before {
  content: "0" counter(section6);
  background: var(--HeadColor); color: var(--White);
  text-align: center; font-weight: 700; font-size: var(--20);
  border-radius: var(--BadgeRadius); width: var(--56); height: var(--56);
  line-height: var(--56); transform: none;
  font-family: var(--MonoFont); letter-spacing: 0.05em;
}
.t6a:hover { transform: translateY(calc(0px - var(--4))); }
.t6a:hover:before { animation: none; }
.t6a .info { display: flex; flex-direction: column; gap: var(--12); flex: 1; }
.t6a h3.title { color: var(--HeadColor); font-weight: 700; font-size: var(--20); line-height: 1.3; }
.t6a .description { color: var(--Gray7); line-height: 1.6; font-size: var(--15); hyphens: manual; overflow-wrap: break-word; }
.t6a .info, .t6a .info .title, .t6a .info .description { min-width: 0; }
.t6.il .t6a { flex-direction: column; align-items: flex-start; }
.t6.il .t6a .info, .t6.it .t6a .info { gap: var(--12); width: 100%; }
.t6.il .t6a:before, .t6.it .t6a:before {
  content: ""; display: block;
  background: var(--BG) center top/cover no-repeat;
  width: var(--BlockIconWidth); height: var(--BlockIconWidth);
  border-radius: 0; line-height: normal; transform: none; padding-top: var(--ContentShortGap);
  flex-shrink: 0;
}
.t6.il .t6a:hover:before, .t6.it .t6a:hover:before { animation: none; transform: none; }
.t7a {
  display: flex; flex-direction: column; gap: var(--Gap);
  border-radius: var(--CardRadius); background: var(--CardFill);
  padding: var(--MainBlockPadding);
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InPLine) - 1)) / var(--InPLine));
  width: calc((100% - var(--MainGap) * (var(--InPLine) - 1)) / var(--InPLine));
}
.t7aa {
  display: flex; align-items: center; flex-direction: column;
  gap: var(--ContentShortGap);
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  text-align: center;
}
.t7aa:before {
  content: ""; display: block; width: var(--BlockIconWidth); height: var(--BlockIconWidth);
  background: var(--BG) center center/contain no-repeat;
}
.t7aa .title {
  font-size: var(--28);
  color: var(--Accent);
  font-weight: 600; }
.t10, .t13a { text-align: center; overflow: hidden; }
.t10 img, .t13a img { border-radius: var(--MainBorderRadius); }
.t13 { background: var(--Bg); border-radius: var(--4); padding: var(--48) var(--36); }
.t13 h2.title { text-align: left; margin-bottom: var(--8); }
.t13 .items {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--16);
}
.t13a {
  display: flex; flex-direction: column; gap: var(--16);
  border-radius: var(--2); padding: var(--24) var(--20);
  background: var(--White); border: 1px solid var(--BgMid);
  flex: none; width: auto;
  transition: transform 0.25s var(--EaseUI), box-shadow 0.25s var(--EaseUI), border-color 0.25s ease;
  cursor: default;
}
.t13a:before {
  content: ""; display: block; flex: 0 0 var(--BigIconWidth);
  height: var(--BigIconWidth);
  background: var(--BG) center bottom/contain no-repeat;
  aspect-ratio: 1 / 1;
}
.t13a:hover {
  transform: translateY(calc(0px - var(--4)));
  box-shadow: 0 var(--8) var(--24) rgba(31,166,160,0.12);
  border-color: var(--Accent);
}
.t13a .description { font-size: var(--15); font-weight: 500; color: var(--Ink); text-transform: none; letter-spacing: 0; line-height: 1.4; }
.t13a:nth-child(1) .description:before { content: "01 / "; color: var(--Accent); font-family: var(--MonoFont); font-size: var(--11); }
.t13a:nth-child(2) .description:before { content: "02 / "; color: var(--Accent); font-family: var(--MonoFont); font-size: var(--11); }
.t13a:nth-child(3) .description:before { content: "03 / "; color: var(--Accent); font-family: var(--MonoFont); font-size: var(--11); }
.t13a:nth-child(4) .description:before { content: "04 / "; color: var(--Accent); font-family: var(--MonoFont); font-size: var(--11); }
.t13a:nth-child(5) .description:before { content: "05 / "; color: var(--Accent); font-family: var(--MonoFont); font-size: var(--11); }
.t12 { display: flex; gap: var(--MainGap); overflow: auto; scroll-snap-type: both mandatory; -webkit-overflow-scrolling: touch; }
.t12a { cursor: pointer; }
.t12a span { display: block; border-radius: var(--MainBorderRadius); overflow: hidden; }
.t12a a { display: block; }
.t12a img { max-width: none; transition: transform 0.3s ease; }
.t12a:hover img { transform: scale(1.03); }
.t14 { display: flex; gap: var(--MainGap); }
.t14 > .up { flex: 0 0 min(var(--SideTitleWidth), 40%); }
.t14 .info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--MainGap); }
.t15 .items { display: flex; flex-direction: column; }
.t15a { border-bottom: var(--DividerWidth) solid var(--DividerColor); }
.t15a > .title {
  cursor: pointer; display: flex; align-items: center;
  justify-content: space-between; gap: var(--MainGap);
}
.t15a > .title:after {
  content: "";
  display: block; flex-shrink: 0;
  width: var(--20); height: var(--20);
  border-right: 2px solid var(--Accent); border-bottom: 2px solid var(--Accent);
  transform: rotate(45deg); margin-right: var(--4);
  transition: transform 0.25s ease;
}
.t15a .description { display: none; padding-bottom: var(--16); }
.t15a.current > .title:after { transform: rotate(225deg); }
.t15a.current .description { display: block; animation: SlideInfoIn 0.3s ease both; }
.t16 .body { display: flex; flex-direction: column; gap: var(--MainGap); }
.t16.dark {
  background: var(--Ink); padding: var(--96) var(--SidePadding); color: var(--Color3);
}
.t16.dark a { color: var(--Color3); }
.t16.dark .body { max-width: var(--1280); margin: 0 auto; gap: var(--40); }
.t16.dark h2.title { color: var(--Color3); font-size: var(--56); line-height: 1.05; }
.t16.dark .description { color: var(--Gray3); font-weight: 300; line-height: 1.6; }
.t16.dark .line { gap: var(--64); }
.t16 .line { display: flex; gap: var(--MainGap); }
.t16 .line .content { display: flex; flex: 0 0 min(var(--SideTitleWidth), 40%); flex-direction: column; gap: var(--20); }
.t16.mr .line .map { flex: 1; height: var(--480); max-height: var(--560); border-radius: var(--MainBorderRadius); overflow: hidden; }
.t16.mt .body > .map { flex: 0 0 min(var(--600), 45%); height: var(--400); max-height: var(--480); border-radius: var(--MainBorderRadius); overflow: hidden; }
.t16 .map { background: var(--BgMid); }
.t16a {
  --BGC: var(--Accent);
  display: flex; gap: var(--14); align-items: center;
}
.t16a:nth-child(3n+2) { --BGC: #0E7A76; }
.t16a:nth-child(3n) { --BGC: #1FA6A0; }
.t16a:before {
  content: ""; display: block;
  flex: 0 0 var(--40); width: var(--40); height: var(--40);
  border: 1px solid var(--BGC); border-radius: 0;
  background: var(--BGC) center center/60% no-repeat;
}
.t16a[style*="'call'"]:before { background-image: url('../images/ic-phone.svg'); background-size: 52%; filter: invert(1); }
.t16a[style*="'mail'"]:before { background-image: url('../images/ic-mail.svg'); background-size: 55%; filter: invert(1); }
.t16a[style*="'location_on'"]:before { background-image: url('../images/marker.svg'); background-size: 50%; }
.t16a .description { font-weight: 500; font-size: var(--16); }
.t16.dark .t16a .description { color: var(--Color3); }
.t16.dark .t16a .description a { color: var(--Color3); }

.icon-marker { cursor: pointer; width: var(--39); height: var(--39); position: relative; transform: translate(-50%,-50%); max-width: none; }
.t16 .form, .t16 .form form { flex: 1; display: flex; flex-direction: column; gap: var(--20); }
.t16 .form { padding: var(--28); background: var(--White); border-radius: var(--2); border: 1px solid var(--BgMid); }
.t16:not(.f) .form { display: none; }
.t16b { display: flex; flex-direction: column; gap: var(--6); }
.t16b > label {
  cursor: pointer; text-transform: var(--LabelTransform); color: var(--Gray5);
  letter-spacing: var(--LabelTracking); font-size: var(--12); font-family: var(--LabelFont);
}
.t16 .form .text {
  border: 1px solid var(--BgMid); border-radius: var(--2);
  padding: var(--12) var(--14); font-size: var(--15);
  line-height: 1.5; background: var(--White); color: var(--Ink);
  transition: border-color 0.2s var(--EaseUI), box-shadow 0.2s var(--EaseUI);
}
.t16 .form .text:focus-visible {
  outline: none; border-color: var(--Accent);
  box-shadow: 0 0 0 3px rgba(31,166,160,0.15);
}
.t16 .form .text::placeholder { color: var(--Gray4); }
.t16 .form .btn {
  background: var(--Accent); border: 0;
  color: var(--White); font-family: var(--MainFont);
  font-weight: 700; font-size: var(--15); line-height: 1.4;
  padding: var(--14) var(--24); width: 100%;
  letter-spacing: 0.04em; text-transform: none;
  border-radius: var(--2); cursor: pointer;
  transition: background 0.2s ease;
}
.t16 .form .btn:hover { background: var(--GradTo); }
.t16.dark .form { background: rgba(255,255,255,0.05); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.1); border-radius: 0; }
.t16.dark .form h3.title { font-weight: 700; font-size: var(--22); line-height: 1.33; color: var(--Color3); }
.t16.dark .form .t16b > label { color: var(--Gray4); }
.t16.dark .form .text {
  color: var(--Color3); padding: var(--10) 0; background: transparent;
  border: 0; border-radius: 0; border-bottom: 1px solid rgba(255,255,255,0.25); font-size: var(--15);
  line-height: normal; transition: border-color 0.15s ease;
}
.t16.dark .form .text:focus { border-bottom-color: var(--Accent); outline: none; }
.t16.dark .form .text::placeholder { color: var(--Gray5); }
.t16.dark .form .btn { background: var(--Accent); border: 0; margin-top: var(--12); text-align: center; color: var(--Color3); letter-spacing: 0.05em; font-weight: 700; font-family: var(--MainFont); font-size: var(--16); line-height: 1.5; padding: var(--14) 0; width: 100%; }
.t17 { display: flex; flex-direction: column; gap: var(--MainGap); }
.t17 .container { display: flex; gap: var(--Gap); overflow-x:auto;overflow-y:hidden; }
.t17a {
  flex: 0 0 calc((100% - var(--Gap) * (var(--InLine) - 1)) / var(--InLine));
  padding-top: var(--MainPadding); text-align: center; position: relative;
}
.t17a:before {
  content: ""; display: block; width: var(--PhotoSize); height: var(--PhotoSize);
  border-radius: var(--HalfBorderRadius);
  background: var(--BG) center center/cover no-repeat;
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  box-shadow: 0 0 0 var(--2) var(--Color3), 0 0 0 var(--4) var(--Accent);
}
.t17a .info {
  display: flex; flex-direction: column; gap: var(--ContentShortGap);
  padding: var(--MainPadding) var(--MainBlockPadding) var(--MainBlockPadding);
  background: var(--CardFill); border-radius: var(--CardRadius);
}
.t17a .info .title.s { color: var(--Color4); font-size: var(--20); line-height: var(--28); }
.t18 {
  background: var(--Ink); padding: var(--MainPadding);
  display: flex; flex-direction: column; gap: var(--MainGap);
  color: var(--Color3); text-align: center;
}
.t18 h2.title { color: var(--Color3); }
.t18 .items { display: flex; flex-wrap: wrap; gap: var(--MainGap) var(--MainPadding); justify-content: center; }
.t18 .description { color: var(--Gray4); }
.t18a { display: flex; flex-direction: column; gap: var(--MainGap); }
.t18a .title {
  font-size: var(--80); font-weight: 800;
  background: var(--Gradient); background-clip: text; -webkit-background-clip: text; color: transparent;
  font-family: var(--MonoFont); letter-spacing: -0.02em;
}
.t18a .description { font-family: var(--LabelFont); font-size: var(--12); letter-spacing: var(--LabelTracking); text-transform: var(--LabelTransform); }
.t19 { display: flex; align-items: center; justify-content: center; padding: var(--MainPadding) var(--SidePadding); }
.t19 .info {
  background: var(--Color3); border: 2px solid transparent;
  background-clip: padding-box; position: relative;
  padding: var(--36) var(--48);
  display: flex; flex-direction: column; align-items: center; gap: var(--10); text-align: center; max-width: 100%;
}
.t19 .info:before {
  content: ""; position: absolute; inset: calc(-1 * var(--2));
  background: var(--Gradient); border-radius: 0; z-index: -1;
}
.t19 .info h2.title { font-size: var(--28); padding-bottom: 0; }
.t19 .info h2.title:after { content: none; }
.t19 .info .description {
  text-transform: var(--LabelTransform); letter-spacing: var(--LabelTracking);
  font-family: var(--LabelFont); font-size: var(--13); color: var(--Gray5);
}
.t19 .info .description strong, .t19 .info .description b {
  display: block; font-family: var(--MainFont); font-weight: 800; font-size: var(--32); line-height: 1.2;
  letter-spacing: 0; background: var(--GradientR); background-clip: text; -webkit-background-clip: text; color: transparent;
}
.t20 { text-align: center; display: flex; flex-direction: column; gap: var(--MainGap); }
.t20 .container { display: flex; gap: var(--MainGap); align-items: center; overflow-x:auto;overflow-y:hidden; justify-content: center; flex-wrap: nowrap; }
.t20a { flex: 1 0 var(--140); max-width: var(--195); }
.t20a a { display: block; }
.t20a img {
  filter: grayscale(1) opacity(0.55);
  transition: filter 0.25s ease;
}
.t20a:hover img { filter: grayscale(0) opacity(1); }
.t21 .body { display: flex; flex-direction: column; gap: var(--MainGap); text-align: center; }
.t21.dark { color: var(--Color3); background: var(--Ink); padding: var(--MainPadding); }
.t21.dark h2.title { color: var(--Color3); }
.t21.dark .description { color: var(--Gray3); }
.t21 .container { display: flex; gap: var(--MainGap); overflow: hidden; scroll-behavior: smooth; }
.t21 .bullets { display: flex; justify-content: center; gap: var(--ContentShortGap); align-items: center; }
.t21 .bullets .item {
  display: inline-block; border-radius: var(--MainBorderRadius);
  background: var(--Color4); width: var(--MainBorderRadius); height: var(--MainBorderRadius); transition: all 0.3s linear;
}
.t21 .bullets .item:hover, .t21 .bullets .item.current { background: var(--Accent); }
.t21.dark .bullets .item { background: rgba(255,255,255,0.3); }
.t21.dark .bullets .item:hover, .t21.dark .bullets .item.current { background: var(--Color3); width: var(--ButtonPaddingTB); height: var(--ButtonPaddingTB); }
.t21a { display: flex; flex-direction: column; gap: var(--MainGap); flex: 0 0 100%; max-width: 100vw; }
.t21a .info { display: flex; flex-direction: column; gap: var(--ContentShortGap); }
.t22 { display: flex; flex-direction: column; gap: var(--MainGap); text-align: center; }
.t22 .items { --Gap: var(--8); display: flex; flex-wrap: wrap; gap: var(--Gap); }
.t22a {
  flex: 0 0 calc((100% - var(--Gap) * (var(--InLine) - 1)) / var(--InLine));
  overflow: hidden;
  aspect-ratio: 16/10;
  background: var(--BG, var(--Ink)) center center / cover no-repeat;
  position: relative;
  border-radius: var(--2);
}
.t22a a { display: block; position: absolute; inset: 0; }
.t22a img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease, opacity 0.3s ease; }
.t22a:hover { transform: scale(1.02); transition: transform 0.3s ease; }
.t22a:hover img { transform: scale(1.04); opacity: 0.92; }
.t23 { display: flex; flex-direction: column; gap: var(--MainGap); }
.t23 .items { columns: var(--InLine); column-gap: var(--MainGap); }
.t23a { display: flex; flex-direction: column; gap: var(--MainGap); }
.t23a + .t23a { margin-top: var(--MainGap); }
.t23a .items, .t23aa .items { display: flex; flex-direction: column; gap: var(--MainGap); }
.t23aa { display: flex; flex-direction: column; gap: var(--MainGap); }
.t23aaa { display: flex; gap: var(--MoreGap); break-inside: avoid; }
.t23aaa .description { flex: 1; hyphens: auto; order: 1; }
.t23aaa .description + .description { flex: none; white-space: nowrap; order: 3; color: var(--Accent); font-weight: 600; font-family: var(--MonoFont); }
.t23aaa:after {
  content: ""; order: 2; flex: 1 1 auto;
  border-bottom: 1px dashed var(--Color4); transform: translateY(calc(0px - var(--4))); align-self: flex-end;
}
.s .container, #mb .container { max-width: none !important; }
#sections::after {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(600px at calc(var(--mx, 0.5) * 100vw) calc(var(--my, 0.4) * 100vh), rgba(31,166,160,0.06), transparent 55%);
}
.s {
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.65s var(--EaseOut), transform 0.65s var(--EaseOut);
}
body.rv-on .s.in { opacity: 1; transform: none; }
body:not(.rv-on) .s { opacity: 1; transform: none; }
#mb > .s + .s { margin-top: 0; }
#mb {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-left: var(--NavW);
  gap: var(--48); }
h2.title { padding-bottom: var(--12); }
h2.title:after {
  display: block; width: var(--28); height: var(--2);
  background: var(--Accent); border-radius: 0;
}
#gvp.popupBox{background:color-mix(in srgb, var(--Bg) 86%, transparent);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:clamp(18px,4vw,64px);}
#gvp .popup{
  display: flex;
  gap: clamp(22px,3.2vw,52px);
  max-height: 100vh;
  width: 100%;
  background: transparent;
  flex-direction: row;
  padding: 0;
  flex: 1;
  position: relative;
  border-radius: 0;
  max-width: 1280px;
  align-items: stretch;}
#gvp .popup > a.close{background:var(--White);width:48px;height:48px;right:0;top:0;z-index:3;border:1.5px solid #1A1D21;border-radius:0;transition:.2s;}
#gvp .popup > a.close::before,#gvp .popup > a.close::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;background:var(--Ink);}
#gvp .popup > a.close::before{transform:translate(-50%,-50%) rotate(45deg);}
#gvp .popup > a.close::after{transform:translate(-50%,-50%) rotate(-45deg);}
#gvp .popup > a.close:hover::before,#gvp .popup > a.close:hover::after{background:var(--White);}
#gvp .popup .photo{
  flex: 1;
  display: flex;
  gap: 16px;
  align-items: center;}
#gvp .popup .photo > .arrow{
  flex: 0 0 auto;
  display: flex;
  align-items: center;}
#gvp .popup .photo > .arrow .arrow::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border-left:2px solid #1A1D21;border-bottom:2px solid #1A1D21;transform:translate(-30%,-50%) rotate(45deg);}
#gvp .popup .photo > .arrow.right .arrow::before{transform:translate(-70%,-50%) rotate(225deg);}
#gvp .popup .photo > .cover{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  position: relative;
  padding: 10px;}
#gvp .popup .photo > .cover::before,#gvp .popup .photo > .cover::after{content:"";position:absolute;width:22px;height:22px;pointer-events:none;}
#gvp .popup .photo > .cover::before{left:0;top:0;border-left:2px solid var(--Accent,#1FA6A0);border-top:2px solid var(--Accent,#1FA6A0);}
#gvp .popup .photo > .cover::after{right:0;bottom:0;border-right:2px solid var(--Accent,#1FA6A0);border-bottom:2px solid var(--Accent,#1FA6A0);}
#gvp .popup .photo > .cover img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:0;border:5px solid #fff;box-shadow:0 24px 56px -26px rgba(26,29,33,.5);}
#gvp .popup .info-block{
  flex: 0 0 var(--Type2-1Width);
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;}
#gvp .popup .info-block .title{color:var(--Ink);font-family:var(--MainFont,'Geologica',sans-serif);font-weight:700;font-size:clamp(22px,2.4vw,34px);line-height:1.14;}
#gvp .popup .info-block .title::before{content:"КОМПОНЕНТ · N°";display:block;font-family:var(--MonoFont,'IBM Plex Mono',monospace);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--Accent,var(--Accent));margin-bottom:13px;}
#gvp .popup .info-block .description{color:rgba(26,29,33,.66);line-height:1.62;font-family:var(--MainFont,'Geologica',sans-serif);}
#gvp .popup .photo > .arrow .arrow{
  display: block;
  width: 50px;
  height: 50px;
  background: var(--White);
  position: relative;
  border: 1.5px solid #1A1D21;
  border-radius: 0;
  transform: none;
  transition: border-color .22s, background-color .22s, box-shadow .22s, transform .22s !important;}
#gvp .popup .photo > .arrow .arrow:hover{
  background-image: var(--ArrowHoverImageURL);
  background: var(--Accent,var(--Accent)) !important;
  border-color: var(--Accent,var(--Accent)) !important;
  box-shadow: 0 0 22px -4px var(--Accent,#1FA6A0) !important;}
#gvp .popup .photo > .arrow .arrow:hover::before{
  border-color: var(--White) !important;}
#gvp .popup > a.close:hover{
  background: var(--Accent,var(--Accent));
  border-color: var(--Accent,var(--Accent)) !important;}



@media (max-width: 1024px) {
  .body{
    width: 100%;
  }
  html { touch-action: manipulation; }
  body.menu { overflow: hidden; }
  ::-webkit-scrollbar { width: 0; height: 0; }
  :root {
    --Unit: 1px;
    --MainCoef: 1;
    --MainGap: 16px;
    --MainBlockPadding: 20px;
    --SidePadding: 16px;
    --MainPadding: 40px;
    --ButtonPaddingTB: 10px;
    --ButtonPaddingLR: 14px;
    --MainHeaderFontSize: 28px;
    --NavW: 0px;
  }
  .comp-nav { display: none; }
  #mb { padding-left: 0; }
  .t0a:before { display: none; }
  .t0a .info { align-items: flex-start; }
  .t0a .info .title { font-size: 40px; }
  .t0a .info .description, .t21a > .title { font-size: 17px; }
  .t0a { padding: 80px 16px 60px; align-items: center; justify-content: center; min-height: 100svh; }
  .t0a .body { max-width: 100%; }
  .t0a .module-labels { display: none; }
  header.header {
    pointer-events: auto;
    position: relative;
    mix-blend-mode: normal;
    background: var(--Ink);
    padding: 14px 16px;
  }
  header.header .logo .pixio { font-size: 20px; }
  header.header .contacts a { width: 36px; height: 36px; }
  header.header .contacts a:before { width: 16px; height: 16px; }
  header.header .logo { flex: none; }
  header.header .m { display: block; flex: 0 0 20px; }
  header.header .m .mb { display: block; width: 20px; height: 20px; position: relative; }
  header.header .m .mb:before {
    content: ""; display: block; position: absolute; top: 3px;
    height: 14px; width: 14px; left: 3px;
    border-top: 2px solid var(--Color3); border-bottom: 2px solid var(--Color3); transition: all 0.3s linear;
  }
  header.header .m .mb:after {
    content: ""; display: block; position: absolute; top: 50%; left: 3px;
    height: 2px; width: 14px; background: var(--Color3); transform: translateY(-50%); transition: all 0.3s linear;
  }
  header.header .menu {
    position: fixed; left: 0; top: 0; width: 100vw; height: 100vh;
    z-index: -1; pointer-events: none; opacity: 0; visibility: hidden;
    background: rgba(26,29,33,0.96); backdrop-filter: blur(6px);
    transition: opacity 0.3s linear, visibility 0.3s linear;
    flex-direction: column; padding: 120px 24px 40px; gap: 20px;
    clip-path: inset(0 0 100% 0);
  }
  header.header .menu a { font-size: 15px; color: var(--White); }
  header.header .menu .sub > a:after { display: none; }
  header.header .menu .sub menu {
    position: static; margin: 0; padding: 10px 0 0 14px;
    background: none; border: none; border-radius: 0; backdrop-filter: none;
    opacity: 1; pointer-events: auto; transform: none; display: flex; flex-direction: column; gap: 10px;
  }
  .menu header.header .logo { z-index: 6; position: relative; }
  .menu header.header .m { z-index: 5; }
  .menu header.header .m .mb:before { height: 0; border-top-width: 1px; border-bottom-width: 1px; top: 50%; transform: translateY(-50%) rotate(45deg); }
  .menu header.header .m .mb:after { transform: translateY(-50%) rotate(-45deg); }
  .menu header.header .menu { z-index: 5; opacity: 1; visibility: visible; pointer-events: auto; clip-path: none; }
  .h1, h1.title, .h2, h2.title, .h3, h3.title { font-size: 26px; line-height: 1.2; hyphens: auto; }
  .h3, h3.title { font-size: 18px; }
  .description, .type33aaa:before { font-size: 15px; line-height: 1.5; }
  .t2a .title { font-size: 17px; }
  .more { font-size: 12px; }
  .btn { font-size: 13px; }
  .btn.cl { font-size: 14px; padding: 12px 24px; }
  #mb > .s.t0, #mb > .s.t16.dark, #mb > .s.t18, #mb > .s.t19, #mb > .s.t21.dark { margin: 0; }
  .t2 .items, .t6 .items, .t3 .items { --InLine: 1; flex-direction: column; }
  .t2 h2.title, .t6 h2.title { font-size: 26px; }
  .t6a:after { content: none !important; }
  .t13 { padding: 28px 16px; }
  .t1 .body { flex-direction: column; }
  .t1 .body:before { flex: 0 0 200px; }
  .t1:not(.bg) .body .info { padding-right: 0; padding: 20px; }
  .t1 .body .info:before { display: none; }
  .t14 { flex-direction: column; }
  .t14 > .up { flex: none; }
  .t16 .line { flex-direction: column; gap: 24px; }
  .t16 .line .content { flex: none; }
  .t16 .form { flex: 0 0 auto; width: 100%; }
  .t16.mr .line .map, .t16.mt .body > .map { flex: 0 0 auto; min-height: 240px; }
  .t16.dark { padding: 48px 16px; }
  .t16.dark h2.title { font-size: 30px; }
  .t16.dark .line { gap: 28px; }
  .t18 .items { gap: 20px; }
  .t18a .title { font-size: 56px; }
  .t21 .container { overflow: hidden; }
  .t21a { max-width: 100vw; overflow-x: clip; }
  footer.footer { flex-direction: column; padding: 28px 16px; }
  footer.footer .body { flex-direction: column; align-items: flex-start; }
  .popupBox#requestPopup .popup { flex: 0 0 100%; }
  .t22a { flex: 0 0 calc(50% - 4px); }
  .t20 .container { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; justify-content: center; }
  .t20a { flex: 1 0 140px; max-width: calc(50% - 8px); }
  .t23 .items { columns: 1; }
  #gvp .popup .photo > .arrow { position: absolute; left: 0; top: 0; height: 100%; z-index: 1; }
  #gvp .popup .photo > .arrow.right { left: auto; right: 0; }
  #mb > .s {
    padding: 0 12px;
    margin:0;
    overflow-x: clip; }
#gvp.popupBox{padding:14px;}
#gvp .popup .photo > .arrow .arrow{
    background-color: rgba(255,255,255,0.75);
    width: 44px;
    height: 44px;}
#gvp .popup .photo > .cover img{max-height:54vh;border-width:4px;}
#gvp .popup .info-block .title{font-size:20px;}
  #gvp .popup{
    flex-direction: column;
    padding: 0;
    gap: 16px;
    justify-content: center;
    align-items: stretch;
    max-height: 94vh;}
  #gvp .popup .photo{
    position: relative;
    flex: 0 1 auto;
    min-height: 0;
    align-items: center;}
  #gvp .popup .photo > .cover{
    padding: 6px;
    flex: 0 1 auto;
    min-height: 0;}
  #gvp .popup .info-block{
    flex: 0 0 auto;
    padding: 16px;}
  .t15{
    padding: 0 var(--16);
  }
  .t13 .items{
    grid-template-columns: repeat(2, 1fr);
    flex-direction: column;
  }
  .t17a{
    flex: 0 0 75%;
  }
  .t13,
  .t21 {
    padding-top:var(--16) !important;
    padding-bottom:var(--16) !important;
  }
}
.rq-ok{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,12,20,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;font-family:var(--MainFont,system-ui,-apple-system,Segoe UI,Roboto,sans-serif)}
.rq-ok.is-open{opacity:1;visibility:visible}
.rq-ok__box{position:relative;max-width:440px;width:100%;background:var(--Color3,var(--White));color:var(--Color1,#0e1116);border-radius:var(--MainBorderRadius,18px);padding:42px 34px 34px;text-align:center;box-shadow:0 40px 90px -20px rgba(0,0,0,.45);transform:translateY(16px) scale(.97);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.rq-ok.is-open .rq-ok__box{transform:none}
.rq-ok__ic{width:74px;height:74px;margin:0 auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--White);background:var(--Gradient,linear-gradient(135deg,#6646D5,#99BA2B))}
.rq-ok__t{font-size:23px;font-weight:800;letter-spacing:-.01em;margin:0 0 10px}
.rq-ok__d{font-size:15px;line-height:1.55;color:var(--Gray7,#5b6472);margin:0 0 26px}
.rq-ok__btn{font-family:var(--MonoFont,var(--MainFont,inherit));text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600;cursor:pointer;border:0;border-radius:var(--ButtonsBorderRadius,8px);padding:14px 32px;color:var(--White);background:var(--Gradient,linear-gradient(135deg,#6646D5,#99BA2B));transition:transform .2s ease}
.rq-ok__btn:hover{transform:scale(1.04)}
.rq-ok__x{position:absolute;top:12px;right:14px;width:34px;height:34px;border:0;background:transparent;cursor:pointer;font-size:26px;line-height:1;color:var(--Gray4,#9aa3af);transition:color .2s}
.rq-ok__x:hover{color:var(--Color1,#0e1116)}
.t12a .cover, .t22a > a{ position:relative; display:block; width:100%; height:100%; }
.t12a .cover .hov, .t22a > a .hov{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; }
.t12a:hover .cover .hov, .t22a:hover > a .hov{ opacity:1; }
.t0 .arrows .arrow {
  display: block;
  background: var(--ArrowImageURL) center center/contain no-repeat;
  --ArrowImageURL: url('../images/arrow.svg');
  --ArrowHoverImageURL: url('../images/arrow-h.svg');
  width: var(--52);
  height: var(--52);
  border: 1px solid rgba(31,166,160,0.35);
  border-radius: var(--10);
  background-color: rgba(31,166,160,0.08);
  background-size: var(--20);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.t0 .arrows .arrow:hover {
  background-image: var(--ArrowHoverImageURL);
  background-color: var(--Accent);
  border-color: var(--Accent);
  transform: scale(1.08);
}
.t0 .arrows .arrow.right:hover {
  transform: rotate(180deg) scale(1.08);
}

/* ============================================================
   SVG↔PNG hover-swap (Images.md §0.2): PNG по умолчанию, SVG на
   наведении — только там, где на слоте объявлен --BGHover (есть оба
   файла). Фолбэк var(--BGHover, var(--BG)) оставляет PNG, если SVG нет.
   t22a использует собственный fade-слой img.hov (строки ~1377).
   ============================================================ */
@media (hover: hover) and (pointer: fine) {
  .s.t1 .body:before { transition: background-image 0s; }
  .s.t1:hover .body:before { background-image: var(--BGHover, var(--BG)); }
  .t3a:not(:has(img)):before { transition: transform 0.4s ease; }
  .t3a:not(:has(img)):hover:before { background-image: var(--BGHover, var(--BG)); }
}
