
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Icons:wght@400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap&subset=cyrillic,latin");
@charset "UTF-8";
:root {
  --MainFont:var(--disp);
  --MonoFont:var(--mono);
  --MaterialIcons:"Material Icons";
  --BG:"";
  --InLine:3;
  --InPLine:3;
  --Color1:var(--ink);
  --Color2:var(--cobalt);
  --Color6:var(--lime);
  --Red:#EB2B1E;
  --Color3:var(--paper);
  --MainFrameBg:#EDF2F7;
  --Color4:#BFC3C8;
  --Gray8:#1E2939;
  --Gray7:#374151;
  --Gray5:#6A7282;
  --Gray4:#99A1AF;
  --Gray3:#D1D5DC;
  --Gray2:#E5E7EB;
  --Gray0:#F9FAFB;
  --GradFrom:var(--Color2);
  --GradTo:var(--Color6);
  --Gradient:var(--cobalt);
  --GradientR:var(--cobalt);
  --Bfr:"";
  --Unit:calc(100cqw/1760);
  --MainCoef:tan(atan2(1760px,100cqw));
  --MainGap:var(--24);
  --Gap:var(--30);
  --Body:var(--1200);
  --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));
  --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));
  --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));
  --128: calc(128 * var(--Unit));
  --150: calc(150 * var(--Unit));
  --192: calc(192 * var(--Unit));
  --195: calc(195 * var(--Unit));
  --230: calc(230 * var(--Unit));
  --250: calc(250 * var(--Unit));
  --395: calc(395 * var(--Unit));
  --500: calc(500 * var(--Unit));
  --550: calc(550 * var(--Unit));
  --560: calc(560 * var(--Unit));
  --600: calc(600 * 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));
  --MainContentGap:var(--50);
  --MainPadding:var(--80);
  --SidePadding:var(--64);
  --MoreGap:var(--15);
  --HeaderSliderPaddingTB:var(--230);
  --HeaderSliderPaddingLR:var(--SidePadding);
  --HeaderSliderMinWidth:var(--550);
  --HeaderSliderMaxWidth:var(--600);
  --ContentVerticalGapTB:var(--40);
  --ContentVerticalGapLR:0;
  --MainBorderRadius:var(--10);
  --MainBlockPadding:var(--30);
  --ContentShortGap:var(--10);
  --HalfPadding:var(--880);
  --LogoHeight:var(--64);
  --LogoWidth:var(--250);
  --Type2-1Height:var(--395);
  --Type3Padding:var(--150);
  --PhotoSize:var(--150);
  --S5-8Padding:var(--970);
  --ButtonPaddingTB:var(--19);
  --ButtonPaddingLR:var(--32);
  --ButtonsBorderRadius:0;
  --BlockIconWidth:var(--60);
  --BigIconWidth:var(--100);
  --SideTitleWidth:var(--500);
  --MainHeaderFontSize:var(--40);
  --Type2-1Width:var(--560);
  --Type4Height:auto;
  --ArrowRight:var(--40);
  --ArrowBottom:var(--40);
  --ArrowWidth:var(--50);
  --ArrowHeight:var(--50);
  --ArrowImageURL:url("../images/arrow.svg");
  --ArrowHoverImageURL:url("../images/arrow-h.svg");
  --BorderColor:var(--Color2);
  --HalfBorderRadius:50%;
  --HeadingWeight:700;
  --HeadingTracking:-0.01em;
  --HeadingTransform:none;
  --HeadingLine:none;
  --HeadingLineFill:var(--Gradient);
  --H3Weight:700;
  --HeroSize:var(--96);
  --HeroWeight:900;
  --HeroTransform:uppercase;
  --SectionHeadSize:var(--48);
  --LabelFont:var(--mono);
  --LabelTransform:uppercase;
  --LabelTracking:.12em;
  --CardRadius:var(--MainBorderRadius);
  --CardRadiusLg:var(--24);
  --CardSharpRadius:0;
  --CardFill:var(--MainFrameBg);
  --CardShadow:0 var(--10) var(--15) rgba(0,0,0,.1), 0 var(--4) var(--6) rgba(0,0,0,.1);
  --CardBorderWidth:var(--2);
  --CardAccentBorder:var(--4);
  --BadgeRadius:var(--12);
  --DividerWidth:1px;
  --DividerColor:var(--BorderColor);
  --ButtonBorderWidth:var(--2);
  --ButtonTransform:uppercase;
  --ButtonFont:var(--MonoFont);
  --paper:#F3F1EA;
  --paper2:#FBFAF6;
  --ink:#0B0B0C;
  --cobalt:#2D5BFF;
  --lime:#7C8B3A;
  --ink-60:rgba(11,11,12,.6);
  --ink-40:rgba(11,11,12,.4);
  --ink-12:rgba(11,11,12,.12);
  --ink-08:rgba(11,11,12,.08);
  --disp:'Space Grotesk', system-ui, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
  --11: calc(11 * var(--Unit));
  --13: calc(13 * var(--Unit));
  --17: calc(17 * var(--Unit));
  --21: calc(21 * var(--Unit));
  --23: calc(23 * var(--Unit));
  --28: calc(28 * var(--Unit));
  --34: calc(34 * var(--Unit));
  --38: calc(38 * var(--Unit));
  --46: calc(46 * var(--Unit));
  --56: calc(56 * var(--Unit));
  --68: calc(68 * var(--Unit));
  --110: calc(110 * var(--Unit));
  --120: calc(120 * var(--Unit));
  --132: calc(132 * var(--Unit));
  --140: calc(140 * var(--Unit));
  --160: calc(160 * var(--Unit));
  --200: calc(200 * var(--Unit));
  --260: calc(260 * var(--Unit));
  --300: calc(300 * var(--Unit));
  --320: calc(320 * var(--Unit));
  --360: calc(360 * var(--Unit));
  --400: calc(400 * var(--Unit));
  --440: calc(440 * var(--Unit));
  --480: calc(480 * var(--Unit));
  --640: calc(640 * var(--Unit));
  --720: calc(720 * var(--Unit));
  --1200: calc(1200 * var(--Unit));
  --39:calc(39 * 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(--20);
}
.description ul,
.description ol {
  margin-top: 0;
  margin-bottom: 0;
}
.description > p + ol, .description > p + ul {
  margin-top: var(--10);
}
.description:empty {
  display: none;
}
.description.annotation {
  font-size: var(--18);
  line-height: var(--26);
}

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(--40);
  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(--40);
  font-weight: var(--HeadingWeight);
  color: var(--Color1);
}
.h2,
h2.title {
  font-size: var(--40);
  font-weight: var(--HeadingWeight);
  text-transform: var(--HeadingTransform);
  color: var(--Color1);
  position: relative;
  padding-bottom: var(--20);
}
.h2:after,
h2.title:after {
  content: "";
  display: var(--HeadingLine);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  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(--30);
  font-weight: var(--H3Weight);
  color: var(--Color1);
}

.h2.up,
h2.title.up {
  text-transform: uppercase;
}

.description,
.type33aaa:before {
  font-size: var(--20);
  line-height: 1.6;
  color: var(--Gray7);
  hyphens: auto;
}
.description a,
.type33aaa:before a {
  color: var(--Color1);
}
.description.annotation,
.type33aaa:before.annotation {
  font-family: var(--LabelFont);
  font-size: var(--15);
  line-height: 1.65;
  letter-spacing: var(--LabelTracking);
  text-transform: var(--LabelTransform);
  color: var(--Gray5);
}
.description p:has(.btn),
.type33aaa:before p:has(.btn) {
  font-size: 0;
  line-height: 0;
  display: flex;
  align-items: center;
  gap: var(--24);
}
.t0a .info .description,
.t21a > .title {
  font-size: var(--24);
  line-height: 1.35;
  font-weight: 300;
  color: var(--Gray3);
  hyphens: none;
}
.t0a .info .description p,
.t21a > .title p {
  margin: 0 0 var(--24);
}
.t0a .info .description p + p,
.t21a > .title p + p {
  margin: 0;
}
.t0a .info .description p:has(.btn),
.t21a > .title p:has(.btn) {
  margin-top: var(--64);
  align-items: center;
  justify-content: center;
}
.t0a .info .description p.alt,
.t21a > .title p.alt {
  color: var(--Gray4);
  line-height: 1.625;
  font-size: var(--18);
  font-family: var(--MonoFont);
  margin-bottom: var(--32);
}
.t0a .info .description p.price,
.t21a > .title p.price {
  padding-top: var(--48);
  font-size: var(--72);
  line-height: 1;
  font-weight: 900;
  background: var(--GradientR);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  margin-bottom: var(--8);
  display: inline-block;
}
.more:empty {
  display: none;
}
.more:after {
  content: "→";
  font-family: var(--MonoFont);
  transition: transform 0.25s ease;
}
.more:hover {
  text-decoration: none;
}
.more:hover:before {
  transform: scaleX(1);
}
.more:hover:after {
  transform: translateX(var(--5));
}
.more.sm {
  font-size: var(--14);
}
.more.sm:after {
  content: none;
}
.btn {
  display: inline-block;
  line-height: 1.45;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transform: scale(1);
  transform-origin: center;
}
.btn.cl {
  background: var(--Gradient);
  border: var(--2) solid var(--ink);
  color: var(--Color3);
  font-family: var(--mono);
  font-weight: 900;
  letter-spacing: .04em;
  font-size: var(--14);
  line-height: 1.4;
  padding: var(--14) var(--26);
}
.btn.t1 {
  border-color: color-mix(in srgb, currentColor 30%, transparent);
  color: inherit;
}
.t15a .title {
  font-size: var(--36);
  font-weight: 600;
  line-height: var(--42);
  cursor: pointer;
  padding: var(--ButtonPaddingTB) 0;
}
.t23a > .title {
  font-size: var(--64);
  color: var(--Color1);
}
#sections {
  container-type: inline-size;
}

html {
  padding: 0;
  margin: 0;
  min-height: 100vh;
  scroll-behavior: smooth;
}
body {
  font-family: var(--disp);
  width: 100%;
  min-height: 100vh;
  color: var(--ink);
  font-style: normal;
  position: relative;
  scroll-behavior: smooth;
  background: var(--paper);
  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%;
}

@media print {
  body:has(.popupBox.visible) {
    overflow: auto !important;
    background: #fff !important;
  }
  body:has(.popupBox.visible) > *:not(.popupBox) {
    display: none !important;
  }
  .popupBox {
    padding: 0 !important;
    position: relative;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    background: #fff !important;
    height: auto;
  }
  .popupBox .popup {
    height: auto;
  }
  .popupBox .popup .cover {
    max-height: none !important;
  }
  .popupBox .popup a.close,
  .popupBox .popup a.print,
  .popupBox .popup a.arrow {
    display: none !important;
  }
}
.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(--24);
}
.popupBox .popup > a.close {
  display: block;
  width: var(--MainContentGap);
  height: var(--MainContentGap);
  background: url("../images/close.svg") no-repeat center center;
  background-size: var(--22);
  position: absolute;
  right: var(--20);
  top: var(--20);
}
.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(--Color2);
  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(--10);
}
.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(--20);
  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(--20);
  padding-left: var(--30);
}
.cb + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--24);
  height: var(--24);
  border: var(--2) solid var(--Color2);
  background-color: var(--Color3);
  border-radius: var(--3);
}
.cb + label:after {
  content: "";
  position: absolute;
  display: none;
  left: var(--8);
  top: var(--2);
  width: var(--8);
  height: var(--16);
  border: solid var(--Color2);
  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(--BorderColor);
  border-radius: var(--MainBorderRadius);
  padding: var(--ButtonPaddingTB);
  background: var(--Color3);
  color: var(--Color1);
  font-size: var(--22);
  line-height: var(--30);
}

textarea.text {
  resize: vertical;
}

.message {
  font-weight: 500;
  font-size: var(--20);
}
.message.error {
  color: var(--Red);
}
.message.success {
  color: var(--Color2);
}
.message.success:first-child {
  margin-bottom: var(--MainGap);
}

#requestPopup .message.success,
.type23 .message.success {
  color: var(--Color3);
}

.text + .message {
  margin-top: var(--10);
}
.body {
  width:100%;
  max-width:var(--Body);
  margin-inline:auto;
  .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");
}
footer.footer .body {
  flex: 1;
  display: flex;
  gap: var(--MainGap);
  align-items: center;
}
footer.footer .social {
  display: flex;
  gap: var(--MoreGap);
}
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;
  pointer-events: none;
  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 .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 li {
  position: relative;
}
header.header .menu .current > a {
  background: var(--Gradient) left bottom/100% var(--2) no-repeat;
  padding-bottom: var(--5);
}
header.header .menu .sub > a:after {
  content: "";
  display: inline-block;
  width: var(--6);
  height: var(--6);
  margin: 0 0 var(--2) var(--8);
  border-right: var(--2) solid currentColor;
  border-bottom: var(--2) solid currentColor;
  transform: rotate(45deg);
}
header.header .menu .sub menu {
  position: absolute;
  top: 100%;
  left: calc(-1 * var(--20));
  margin: 0;
  padding: var(--14) var(--20) var(--16);
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--12);
  min-width: max-content;
  background: rgba(255, 255, 255, 0.1);
  border: var(--1) solid rgba(255, 255, 255, 0.2);
  border-radius: var(--MainBorderRadius);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(var(--10));
  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(--16);
  pointer-events: auto;
}
header.header .contacts a:before {
  content:"";
  background:var(--BG) center center/contain no-repeat;
  display:block;
  width:var(--20);
  height:var(--20);
  filter:none;
}
header.header .contacts a span {
  display: none;
}
header.header .m {
  display: none;
}

#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);
}

div.t0,
section.t0 {
  position: relative;
}
.t0 .container,
.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 .container {
  display: flex;
  overflow: hidden;
  width: 100%;
}
.t0 .scroll {
  position: absolute;
  left: 50%;
  bottom: var(--48);
  display: inline-flex;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--14);
  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:hover {
  transform: translate(-1px,-1px);
}
.t0a svg {
  opacity: 0.3;
  position: absolute;
  pointer-events: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  animation: svgOpacity 1.5s linear;
}
.t0a:before {
  content: "";
  display: block;
  width: var(--128);
  height: var(--128);
  right: var(--80);
  top: var(--80);
  border-radius: 50%;
  border: var(--2) solid rgba(102, 70, 213, 0.3);
  position: absolute;
  pointer-events: none;
  animation: t0art 7s ease-in-out infinite alternate;
}
.t0a:after {
  content: "";
  display: block;
  width: var(--96);
  height: var(--96);
  bottom: var(--128);
  left: var(--128);
  background: rgba(153, 186, 43, 0.2);
  position: absolute;
  pointer-events: none;
  animation: t0alb 13s ease-in-out infinite alternate;
}
.t0a .lnk {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.t0a .body {
  animation:t0aInit 1.5s ease-out 1 forwards;
  opacity:0;
  position:relative;
  z-index:2;
  max-width:var(--1200);
  margin:0 auto;
  width:100%;
}
.t0a .body:before {
  content: "";
  display: block;
  pointer-events: none;
  width: var(--48);
  height: var(--48);
  border-radius: 50%;
  background: var(--Color6);
  z-index: -1;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  animation: t0aInit 1.5s ease-out 1 forwards;
  animation-delay: 0.3s;
  opacity: 0;
}
.t0a .body:after {
  content: "";
  display: block;
  pointer-events: none;
  width: var(--64);
  height: var(--64);
  border-radius: 50%;
  border: var(--4) solid var(--Color2);
  position: absolute;
  right: 0;
  top: 0;
  animation: t0aInit 1.5s ease-out 1 forwards;
  animation-delay: 0.6s;
  opacity: 0;
}
.t0a .info .description p:nth-child(1) {
  animation-delay: 0.6s;
}
.t0a .info .description p:nth-child(2) {
  animation-delay: 0.8s;
}
.t0a .info .description p:nth-child(3) {
  animation-delay: 1s;
}
.t0a .info .description p:nth-child(4) {
  animation-delay: 1.2s;
}
.t0a .info .description p:nth-child(5) {
  animation-delay: 1.4s;
}
.t0a.w .info .more,
.t0a.w .info .description,
.t0a.w .info .title {
  color: var(--Color3);
}

@keyframes SlideInfoIn {
  from {
    opacity: 0;
    transform: translateY(var(--20));
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes t0scroll {
  0% {
    transform: translate(-50%, -25%);
  }
  100% {
    transform: translate(-50%, 25%);
  }
}
@keyframes svgOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.3;
  }
}
@keyframes t0art {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  100% {
    transform: translate(var(--150), calc(0px - var(--50))) rotate(360deg) scale(1.2);
  }
}
@keyframes t0alb {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  100% {
    transform: translate(calc(0px - var(--150)), var(--50)) rotate(360deg) scale(1.2);
  }
}
@keyframes HeroGradient {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes t0aInit {
  0% {
    opacity: 0;
    transform: translateY(var(--50));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes t0aFromBottom {
  0% {
    opacity: 0;
    transform: translateY(var(--50));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.s.t1:not(.bg) {
  background: var(--MainFrameBg);
}

.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), 58%);
  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);
}
.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(--32);
}
.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(--Color2);
  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 0.3s;
}
.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(--20);
  flex:1;
  padding:var(--24);
  font-weight:900;
  line-height:1.4;
  transition:color 0.3s linear 0.3s;
}
.t2a .more {
  margin: 0 var(--24) var(--24);
  align-self: flex-start;
}
.t2a:hover {
  border-left-color: var(--Color6);
  transform: translateY(calc(0px - var(--10)));
  text-decoration: none;
}
.t2a:hover .title {
  color: var(--Color2);
}
.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%);
}
.t3,
.t6 {
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
}
.t3 .items,
.t6 .items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--MainGap);
}
.t4:not(.d) .info .title,
.t4:not(.d) .info .description,
.t4:not(.d) .info .description a {
  color: var(--Color3);
}
.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(--48);
}
.t6a {
  --HeadColor:var(--Color2);
  counter-increment: section6;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--16);
  border: var(--CardBorderWidth) solid color-mix(in srgb, var(--HeadColor) 60%, 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(--32);
  transition: transform 0.5s ease-in-out 0.3s, border-color 0.3s ease-in-out;
}
.t6a:nth-child(odd) {
  --HeadColor:var(--Color2);
}
.t6a:nth-child(even) {
  --HeadColor:var(--Color6);
}
.t6a:after {
  content: "";
  display: block;
  height: var(--2);
  width: var(--50);
  background: color-mix(in srgb, var(--HeadColor) 60%, transparent);
  position: absolute;
  right: calc(0px - var(--50) / 2 - var(--MainGap) / 2);
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.t6a:nth-child(even):after, .t6a:last-child:after {
  content: none;
}
.t6a:before {
  content: "0" counter(section6);
  background: var(--HeadColor);
  color: var(--Color3);
  text-align: center;
  font-weight: 900;
  font-size: var(--24);
  border-radius: var(--BadgeRadius);
  width: var(--64);
  height: var(--64);
  line-height: var(--64);
  transform: rotateZ(6deg);
  transition: transform 0.3s ease-in-out 0.3s, background-color 0.3s ease-in-out 0s;
}
.t6a:hover {
  transform: scale(1.025);
}
.t6a:hover:before {
  transform: rotateZ(-2deg);
  animation: t6aHoverBg 2s ease-in-out infinite alternate;
}
.t6a .info {
  display: flex;
  flex-direction: column;
  gap: var(--16);
  flex: 1;
}
.t6a h3.title {
  color: var(--HeadColor);
  font-weight: 900;
  font-size: var(--24);
  line-height: 1.33;
}
.t6a .description {
  color: var(--ink-60);
  line-height: 1.65;
  font-size: var(--17);
}

@keyframes t6aHoverBg {
  0% {
    background: var(--HeadColor);
    transform: rotateZ(6deg) scale(1);
  }
  100% {
    background: color-mix(in srgb, var(--HeadColor) 60%, transparent);
    transform: rotateZ(-2deg) scale(1.05);
  }
}
.t6.il .t6a {
  flex-direction: row;
}

.t6.il .t6a .info,
.t6.it .t6a .info {
  gap: var(--MainGap);
}
.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);
}
.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);
  width: calc((100% - var(--MainGap) * (var(--InPLine) - 1)) / var(--InPLine));
}

.t8 .items .s.t1 {
  background: none;
}

.t9 {
  border-radius: var(--CardRadius);
  padding: var(--MainBlockPadding);
  background: var(--CardFill);
}
.t9 .info {
  padding: 0;
}
.t9 > .items {
  display: flex;
  flex-wrap: wrap;
  gap: var(--MainGap);
  flex: 0 0 calc((100% - var(--MainGap)) / 2);
}
.t10,
.t13a {
  text-align: center;
  overflow: hidden;
}
.t10 img,
.t13a img {
  border-radius: var(--MainBorderRadius);
}
.t12a span {
  display: block;
  border-radius: var(--MainBorderRadius);
  overflow: hidden;
}
.t12a a {
  display: block;
}
.t14 > .up {
  flex: 0 0 min(var(--SideTitleWidth), 40%);
}
.t14 .info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
}
.t15a.current .description {
  display: block;
  animation: SlideInfoIn 0.3s ease both;
}
@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;
  }
}
.t16 .body {
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
}
.t16.dark {
  background: var(--Color1);
  padding: var(--128) var(--SidePadding);
  color: var(--Color3);
}
.t16.dark a {
  color: var(--Color3);
}
.t16.dark .body {
  max-width: var(--1280);
  margin: 0 auto;
  gap: var(--48);
}
.t16.dark h2.title {
  color: var(--Color3);
  font-size: var(--72);
  line-height: 1.05;
}
.t16.dark .description {
  color: var(--Gray3);
  font-weight: 300;
  line-height: 1.625;
}
.t16.dark .line {
  gap: var(--80);
}
.t16 .line .content {
  display: flex;
  flex: 0 0 var(--300);
  flex-direction: column;
  gap: var(--16);
}
.t16.mr .line .map {
  flex: 1;
  border-radius: var(--MainBorderRadius);
  overflow: hidden;
}
.t16.mt .body > .map {
  flex: 0 0 min(var(--600), 45%);
  border-radius: var(--MainBorderRadius);
  overflow: hidden;
}
.t16a:nth-child(3n+2) {
  --BGC:var(--Color6);
}
.t16a:nth-child(3n) {
  --BGC:#25D366;
}

.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;
  filter: drop-shadow(0 0 var(--10) var(--Color2));
}
.t16 .form,
.t16 .form form {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--24);
}

.t16:not(.f) .form {
  display: none;
}
.t16b {
  display: flex;
  flex-direction: column;
  gap: var(--8);
}
.t16b > label {
  cursor: pointer;
  text-transform: var(--LabelTransform);
  color: var(--Gray5);
  letter-spacing: var(--LabelTracking);
  font-size: var(--14);
  font-family: var(--LabelFont);
}
.t16.dark .form {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(8px);
  border: var(--1) solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
}
.t16.dark .form h3.title {
  font-weight: 900;
  font-size: var(--24);
  line-height: 1.33;
  color: var(--Color3);
}
.t16.dark .form .t16b > label {
  color: var(--Gray4);
}
.t16.dark .form .text {
  color: var(--Color3);
  padding: var(--12) 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: var(--2) solid rgba(255, 255, 255, 0.3);
  font-size: var(--16);
  line-height: normal;
  transition: border-color 0.15s ease;
}
.t16.dark .form .text:focus {
  border-bottom-color: var(--Color6);
  outline: none;
}
.t16.dark .form .text::placeholder {
  color: var(--Gray5);
}
.t16.dark .form .btn {
  background: var(--Gradient);
  border: 0;
  margin-top: var(--16);
  text-align: center;
  color: var(--Color3);
  letter-spacing: 0.1em;
  font-weight: 900;
  font-family: var(--MainFont);
  font-size: var(--18);
  line-height: 1.55;
  padding: var(--16) 0;
  width: 100%;
}
.t17 {
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
}

.t17a {
  flex:0 0 calc((100% - var(--Gap) * (var(--InLine) - 1)) / var(--InLine));
  text-align:center;
  position:relative;
  background:transparent;
  border:none;
  box-shadow:none;
  padding-top:var(--80);
}
.t17a .info .title.s {
  color: var(--Color4, );
  font-size: var(--22);
  line-height: var(--30);
}
.t18 .description {
  color: var(--Gray4);
}
.t19 .info h2.title {
  font-size: var(--40);
  padding-bottom: 0;
}
.t19 .info h2.title:after {
  content: none;
}
.t19 .info .description strong,
.t19 .info .description b {
  display: block;
  font-family: var(--MainFont);
  font-weight: 900;
  font-size: var(--36);
  line-height: 1.2;
  letter-spacing: 0;
  background: var(--GradientR);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.t20 .container {
  display: flex;
  gap: var(--MainGap);
  align-items: center;
  overflow-x:auto;overflow-y:hidden;
}

.t20a {
  flex: 0 0 var(--195);
}
.t20a a {
  display: block;
}
.t21 .body {
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
  text-align: center;
}

.t21.dark {
  color: var(--Color3);
  background: var(--Color1);
  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(--Color2);
}

.t21.dark .bullets .item {
  background: var(--Color3);
}
.t21.dark .bullets .item:hover, .t21.dark .bullets .item.current {
  background: var(--Color4);
  width: var(--ButtonPaddingTB);
  height: var(--ButtonPaddingTB);
}

.t21a {
  display: flex;
  flex-direction: column;
  gap: var(--MainGap);
  flex: 0 0 100%;
}
.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:0px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--Gap);
}

.t22a {
  flex: 0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  overflow: hidden;
}
.t22a a {
  display: block;
}
.t22a img {
  width: 100%;
  transition: transform 0.3s ease, opacity 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(--Color2);
  font-weight: 600;
}
.t23aaa:after {
  content: "";
  order: 2;
  flex: 1 1 auto;
  border-bottom: 1px dashed var(--Color4);
  transform: translateY(calc(0px - var(--5)));
  align-self: flex-end;
}
.t16 .map:not(:empty){ background-image:none; }
#gvp.popupBox{background:color-mix(in srgb, var(--paper,var(--paper)) 92%, var(--ink,var(--ink)));
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);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:#fff;width:48px;height:48px;right:0;top:0;z-index:3;border:2px solid var(--ink,#0B0B0C);border-radius:0;box-shadow:4px 4px 0 var(--ink,#0B0B0C);transition:.12s;}
#gvp .popup > a.close::before,#gvp .popup > a.close::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;background:var(--ink,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{background:var(--cobalt,var(--cobalt));box-shadow:2px 2px 0 var(--ink,#0B0B0C);transform:translate(2px,2px);}
#gvp .popup > a.close:hover::before,#gvp .popup > a.close:hover::after{background:#fff;}
#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{
  display:block;
  width:52px;
  height:54px;
  background:#fff;
  transition:.12s;
  position:relative;
  border:2px solid var(--ink,#0B0B0C);
  border-radius:0;
  box-shadow:4px 4px 0 var(--ink,#0B0B0C);
  transform:none;}
#gvp .popup .photo > .arrow .arrow::before{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;border-left:2.5px solid var(--ink,#0B0B0C);border-bottom:2.5px solid var(--ink,#0B0B0C);transform:translate(-30%,-50%) rotate(45deg);}
#gvp .popup .photo > .arrow.right .arrow::before{transform:translate(-70%,-50%) rotate(225deg);}
#gvp .popup .photo > .arrow .arrow:hover{
  background-image:var(--ArrowHoverImageURL);
  background:var(--cobalt,var(--cobalt));
  box-shadow:2px 2px 0 var(--ink,#0B0B0C);
  transform:translate(2px,2px);}
#gvp .popup .photo > .arrow .arrow:hover::before{border-color:#fff;}
#gvp .popup .photo > .cover{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;}
#gvp .popup .photo > .cover img{max-width:100%;max-height:80vh;object-fit:contain;background:#fff;border-radius:0;
  border:2px solid var(--ink,#0B0B0C);box-shadow:10px 10px 0 var(--cobalt,#2D5BFF);}
#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,var(--ink));font-family:var(--DisplayFont,'Space Grotesk',sans-serif);font-weight:700;font-size:clamp(24px,2.7vw,40px);line-height:1.08;letter-spacing:-.02em;text-transform:none;}
#gvp .popup .info-block .title::before{content:"// gallery.view( 01 )";display:block;font-family:var(--MonoFont,'JetBrains Mono',monospace);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--cobalt,var(--cobalt));margin-bottom:13px;}
#gvp .popup .info-block .description{color:#3a3933;line-height:1.6;font-family:var(--MainFont,'Space Grotesk',sans-serif);}

@media (max-width: 1024px) {
  html {
    touch-action: manipulation;
  }
  body.menu {
    overflow: hidden;
  }
  ::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
.body {
  width: 100%;
}
  :root {
    --Unit: 1px;
    --MainCoef: 1;
    --MainGap: var(--15);
    --MainBlockPadding: var(--20);
    --SidePadding: var(--16);
    --ImageHeight: var(--250);
    --ButtonPaddingTB: var(--10);
    --ButtonPaddingLR: var(--15);
    --MainHeaderFontSize: var(--30);
  }
  .btn {
    font-size: var(--16);
    line-height: normal;
  }
  input.text,
  select.text,
  textarea.text {
    font-size: var(--16);
    line-height: normal;
  }
  .type1 .body,
  .type4 .items,
  .type5,
  .type6,
  .type7,
  .type8,
  .type9,
  .type9.a,
  .type10 .items,
  .type11 .items,
  .type11a,
  .type12 .items,
  .type13 .items,
  .type15,
  .type15a,
  .type19 .items,
  .type20,
  .type22 .line,
  .type23 .line,
  .type24 .line,
  .type26 .items,
  footer.footer {
    flex-direction: column;
    flex-wrap: initial;
  }
  .h1, h1.title, .h2, h2.title, .h3, h3.title {
    font-size: var(--30);
    line-height: normal;
    hyphens: auto;
  }
  .h3,
  h3.title {
    font-size: var(--20);
  }
  .description,
  .type33aaa:before {
    font-size: var(--16);
    line-height: normal;
  }
  .t2a .title {
    font-size: var(--20);
    line-height: normal;
  }
  .more {
    font-size: var(--14);
  }
  .type1 .body:before,
  .type9:before {
    flex: 0 0 var(--ImageHeight);
  }
  .type1 .body .info,
  .type9 .info,
  .type15 .info {
    padding: 0 var(--MainBlockPadding) var(--MainBlockPadding);
  }
  .type2 h2.title,
  .type4 h2.title,
  .type10 h2.title,
  .type11 h2.title,
  .type12 h2.title,
  .type14,
  .type15 > .items,
  .type17,
  .type19 h2.title,
  .type20,
  .type21,
  .type22 h2.title,
  .type22 .line .content,
  .type24 h2.title,
  .type24 .line,
  .type25 h2.title,
  .type25 .container,
  .type28 h2.title,
  .type28 .container,
  .type29,
  .type31 h2.title,
  .type31 .description,
  #gvp .popup .info-block,
  .type33 {
    padding: 0 var(--MainBlockPadding);
  }
  .type15 > .items,
  #gvp .popup .info-block {
    padding-bottom: var(--MainBlockPadding);
  }
  .type5,
  .type6,
  .type7,
  .type8 {
    padding: 0;
    display: flex;
    background: var(--Color1);
  }
  .type5:before,
  .type6:before,
  .type7:before,
  .type8:before {
    content: "";
    background: var(--BG) right center/cover no-repeat;
    flex: 0 0 var(--ImageHeight);
  }
  .type5 .info,
  .type6 .info,
  .type7 .info,
  .type8 .info,
  .type23 .body,
  .type26,
  .type27,
  .type27 .info,
  .type30 {
    padding: var(--MainBlockPadding);
  }
  .type15,
  .type23,
  #gvp .popup {
    padding: 0;
  }
  .type22 .line .map,
  .type24 .map {
    flex: 0 0 var(--ImageHeight);
  }
  #gvp .popup .photo > .arrow {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    z-index: 1;
  }
  #gvp .popup .photo > .arrow.right {
    left: auto;
    right: 0;
  }
  header.header {
    position: relative;
    mix-blend-mode: normal;
    background: var(--Color1);
    padding: var(--15) var(--SidePadding);
  }
  header.header .logo .pixio {
    font-size: var(--22);
  }
  header.header .contacts a {
    width: var(--40);
    height: var(--40);
  }
  header.header .contacts a:before {
    width: var(--18);
    height: var(--18);
  }
  header.header .logo {
    flex: none;
  }
  header.header .m {
    display: block;
    flex: 0 0 var(--20);
  }
  header.header .m .mb {
    display: block;
    width: var(--20);
    height: var(--20);
    position: relative;
  }
  header.header .m .mb:before {
    content: "";
    display: block;
    position: absolute;
    top: var(--3);
    height: var(--14);
    width: var(--14);
    left: var(--3);
    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: var(--3);
    height: 2px;
    width: var(--14);
    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;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(5px);
    transition: all 0.3s linear;
    flex-direction: column;
    padding: var(--Type3Padding) var(--BlockIconWidth);
    gap: var(--MainBlockPadding);
  }
  header.header .menu a {
    font-size: var(--16);
  }
  header.header .menu .sub > a:after {
    display: none;
  }
  header.header .menu .sub menu {
    position: static;
    margin: 0;
    padding: var(--12) 0 0 var(--16);
    background: none;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    display: flex;
    flex-direction: column;
    gap: var(--12);
  }
  .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: var(--1);
    border-bottom-width: var(--1);
    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;
    pointer-events: auto;
  }
  .popupBox .popup > a.close {
    right: 0;
    top: 0;
    z-index: 2;
  }
  .popupBox#requestPopup .popup {
    flex: 0 0 100%;
  }
  .type0 .arrows {
    right: var(--15);
    bottom: var(--15);
  }
  .type0 .arrows .arrow {
    width: var(--30);
    height: var(--30);
  }
  .type0 .type0a {
    padding: var(--MainBlockPadding);
  }
  .type0 .type0a .info {
    --HeaderSliderMinWidth: 100%;
    --HeaderSliderMaxWidth: 100%;
  }
  .type2 .items {
    flex-direction: column;
  }
  .type3 {
    padding: var(--MainBlockPadding);
    background: none;
    position: relative;
  }
  .type3:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--BG);
    z-index: -1;
    opacity: 0.25;
  }
  .type4a {
    flex: none;
  }
  .type4a .info {
    flex: none;
  }
  .type6:before,
  .type8:before {
    background-position: left center;
  }
  .type7,
  .type8 {
    background: var(--Color3);
  }
  .type9 .info {
    padding-bottom: 0;
  }
  .type13aa {
    flex: 0 0 calc((100% - var(--MainGap)) / 2);
  }
  .type15 {
    flex-direction: column-reverse;
  }
  .type15 .info {
    padding: var(--MainBlockPadding);
  }
  .type18a {
    flex: 0 0 80%;
  }
  .type18a img {
    max-width: 100%;
  }
  .type20 > .up {
    flex: none;
  }
  .type22 .line .content,
  .type23 .line .content,
  .type24 .line .content {
    flex: none;
  }
  .type25a {
    flex: 0 0 80%;
  }
  .type26 .items {
    gap: var(--MainGap);
  }
  .type28a {
    flex: none;
    max-width: 70%;
  }
  .type29 .bullets,
  .type30 .bullets {
    flex-wrap: wrap;
  }
  .type31a {
    flex: 0 0 50%;
  }
  .type33 .items {
    column-count: 1;
  }
  .t0 {
    min-height: 100svh;
  }
  .t0a:before, .t0a:after {
    display: none;
  }
  .t0a .info .title {
    font-size: var(--40);
  }
  .t0a .info .description, .t21a > .title {
    padding: 0;
    font-size: var(--18);
  }
  .t0a .info .description p.price, .t21a > .title p.price {
    font-size: var(--48);
  }
  .t2 .items,
  .t6 .items {
    --InLine: 1;
  }
  .t2 h2.title,
  .t6 h2.title {
    font-size: var(--30);
  }
  .t6a:after {
    content: none !important;
  }
  .t14 > .up {
    flex: none;
  }
  .t16.dark {
    padding: var(--64) var(--SidePadding);
  }
  .t16.dark h2.title {
    font-size: var(--36);
  }
  .t16 .line {
    flex-direction: column;
    gap: var(--32);
  }
  .t16 .line .content {
    flex: 0 0 var(--300);
  }
  .t18 .items {
    gap: var(--24);
  }
  .t18a .title {
    font-size: var(--60);
  }
#gvp.popupBox{padding:14px;}
  #gvp .popup .photo > .arrow .arrow{
    background-color:rgba(255, 255, 255, 0.75);
    width:44px;
    height:46px;
    box-shadow:3px 3px 0 var(--ink,#0B0B0C);}
  #gvp .popup .photo > .cover img{max-height:54vh;box-shadow:6px 6px 0 var(--cobalt,#2D5BFF);}
  #gvp .popup .info-block .title{font-size:22px;}
  #gvp .popup{
    flex-direction:column;
    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{flex:0 1 auto;min-height:0;}
  #gvp .popup .info-block{
    flex:0 0 auto;}
  .t14{
    flex-direction:column;
    padding:0 var(--16);
  }
  .t15{
    padding:0 var(--16);
  }
  .t7 .items, .t13 .items{
    flex-direction:column;
  }
  .t7a{
    width:100%;
    flex:none;
  }
  .t17a{
    flex:0 0 75%;
  }
}

.s .container,
#mb .container {
  max-width: none !important;
}

.t0a .body,
.t0a .body:before,
.t0a .body:after,
.t0a .info .HeaderSliderDescription p {
  opacity: 1;
  animation: none;
}
.t0a.current .info {
  animation:none;
}

body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--disp);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
#mb > .s.body{ margin:0 auto; }
#mb > .s{
  margin:0 var(--SidePadding);
  margin-top:var(--96);
  margin-left:var(--SidePadding);
  margin-right:var(--SidePadding); }
#mb > .s.t0, #mb > .s.t4, #mb > .s.t18, #mb > .s:first-child{ margin-top:0; }
h1, h2, h3, h2.title, .h2, .h3{
  font-family:var(--disp); color:var(--ink); letter-spacing:-.02em; text-transform:none;
}
h2.title{ font-size:var(--44); font-weight:700; padding-bottom:var(--16); line-height:1.05; }
h2.title:after{ display:none; }
h2.title span{ -webkit-text-fill-color:var(--cobalt); color:var(--cobalt); background:none; }
.description{ color:var(--ink-60); font-size:var(--17); line-height:1.65; }
.description.annotation{ font-family:var(--mono); color:var(--cobalt); }
.s > h2.title{ position:relative; }
.s.kicker > h2.title:before{
  content:attr(data-k); display:block; font-family:var(--mono); font-size:var(--13);
  letter-spacing:.16em; color:var(--cobalt); margin-bottom:var(--14); font-weight:500; text-transform:uppercase;
}
.btn{
  font-family:var(--mono); font-size:var(--14); letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink); background:var(--paper2); border:var(--2) solid var(--ink); border-radius:0;
  padding:var(--14) var(--26); box-shadow:var(--5) var(--5) 0 var(--ink);
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
}
.btn:hover{
  text-decoration:none;
  transform:translate(-2px,-2px);
  box-shadow:var(--8) var(--8) 0 var(--ink); }
.btn:active{ transform:translate(2px,2px); box-shadow:var(--2) var(--2) 0 var(--ink); }
.btn.cl, .btn.t1{
  background:var(--cobalt); color:var(--paper); border-color:var(--ink); box-shadow:var(--5) var(--5) 0 var(--ink);
}
.btn.cl:hover, .btn.t1:hover{ box-shadow:var(--8) var(--8) 0 var(--ink); }
.more{
  display:inline-flex;
  gap:var(--10);
  align-items:baseline;
  line-height:1.4;
  text-decoration:none;
  position:relative;
  padding-bottom:var(--5);
  font-family:var(--mono);
  color:var(--cobalt);
  text-transform:lowercase;
  letter-spacing:.02em;
  font-size:var(--14);
}
.more:before{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:var(--2);
  background:var(--Gradient);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 0.25s ease;
  content:"> ";
  color:var(--cobalt); }
header.header{
  mix-blend-mode:normal; background:rgba(243,241,234,.82); backdrop-filter:blur(10px) saturate(120%);
  border-bottom:var(--2) solid var(--ink); padding:var(--16) var(--SidePadding);
}
header.header .logo .pixio{
  font-size:var(--30);
  line-height:1.2;
  font-weight:900;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--ink); }
header.header .logo img{ height:var(--34); display:block; }
header.header .logo .label{
  font-size:var(--12);
  line-height:1.3;
  color:var(--ink-60);
  font-family:var(--mono); }
header.header .menu a{
  display:inline-block;
  text-transform:uppercase;
  font-family:var(--mono);
  color:var(--ink);
  font-size:var(--13);
  letter-spacing:.08em; }
header.header .menu a:hover{
  text-decoration:none;
  color:var(--cobalt); }
header.header .menu a:before{ content:"["; color:var(--cobalt); opacity:0; transition:opacity .15s; margin-right:.2em; }
header.header .menu a:after{ content:"]"; color:var(--cobalt); opacity:0; transition:opacity .15s; margin-left:.2em; }
header.header .menu a:hover:before, header.header .menu a:hover:after{ opacity:1; }
header.header .contacts a{
  font-size:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  --BG:url('../images/ic-phone.svg');
  background-color:var(--paper2);
  border:var(--2) solid var(--ink);
  border-radius:0;
  width:var(--46);
  height:var(--46);
  box-shadow:var(--3) var(--3) 0 var(--ink);
  transition:transform .14s ease, box-shadow .14s ease;
}
header.header .contacts a.whatsapp{ --BG:url('../images/ic-wa.svg'); }
header.header .contacts a:hover{
  text-decoration:none;
  background-color:var(--cobalt);
  transform:translate(-1px,-1px);
  box-shadow:var(--5) var(--5) 0 var(--ink); }
footer.footer{
  display:flex;
  gap:var(--MainGap);
  align-items:center;
  background:var(--ink);
  padding:var(--40) var(--SidePadding);
  margin-top:var(--120);
  border-top:var(--4) solid var(--cobalt); }
footer.footer .description{
  flex:1;
  font-size:var(--17);
  letter-spacing:0.05em;
  color:var(--paper);
  font-family:var(--mono); }
footer.footer .description a{ color:var(--paper); }
footer.footer .social a.s{
  display:block;
  width:var(--40);
  height:var(--40);
  background:var(--BG) center center/contain no-repeat;
  opacity:0.7;
  transition:opacity 0.25s ease, transform 0.25s ease;
  filter:grayscale(1) brightness(0) invert(1); }
#mb{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:var(--MainContentGap);
  overflow-x:clip; }
.t0{
  display:flex;
  align-items:stretch;
  justify-content:center;
  background:var(--paper);
  min-height:100vh;
  overflow:clip; }
.t0 .herobg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; pointer-events:none;
  transform:perspective(1200px) rotateY(var(--hry,0deg)) rotateX(var(--hrx,0deg)); transform-origin:70% 50%;
  transition:transform .4s ease;
}
.t0a{
  display:flex;
  flex:0 0 100%;
  position:relative;
  background:var(--paper);
  padding:0 var(--SidePadding);
  justify-content:flex-start;
  align-items:center; }
.t0a:before, .t0a:after{ display:none; }
.t0a .body:before, .t0a .body:after{ display:none; }
.t0a .info{
  display:flex;
  flex-direction:column;
  gap:var(--32);
  will-change:transform;
  align-items:flex-start;
  text-align:left;
  max-width:var(--640); }
.t0a .info .title{
  font-family:var(--disp); font-weight:700; font-size:var(--80); line-height:1.0; letter-spacing:-.035em;
  color:var(--ink); text-transform:none; text-shadow:none;
}
.t0a .info .title span{
  background-size:200% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  animation:HeroGradient 4s ease-in-out infinite;
  color:var(--cobalt);
  -webkit-text-fill-color:var(--cobalt);
  background:none; }
.t0a.w .info .title, .t0a.w .info .description{ color:var(--ink); }
.t0a .info .description{
  font-family:var(--mono); font-size:var(--16); color:var(--ink-60); margin-top:var(--24); line-height:1.6;
}
.t0a .info .description p{
  animation:t0aFromBottom 1.5s ease forwards;
  opacity:0;
  font-family:var(--mono); }
.t0a .info .description p:nth-child(1):before{ content:"// "; color:var(--cobalt); }
.t0a .info .more{
  color:var(--Color6);
  align-self:center;
  position:relative;
  z-index:1;
  margin-top:var(--32); }
.t0a.w .info .more{ color:var(--cobalt); }
.t0a .info:before{
  content:"[ онлайн-школа · алматы ]"; font-family:var(--mono); font-size:var(--13); letter-spacing:.14em;
  color:var(--cobalt); display:block; margin-bottom:var(--20); padding:var(--6) var(--12); border:var(--1) solid var(--cobalt);
  align-self:flex-start; text-transform:uppercase;
}
.t0 .arrows .arrow{
  background:var(--paper2); border:var(--2) solid var(--ink); box-shadow:var(--3) var(--3) 0 var(--ink);
  width:var(--52); height:var(--52); display:flex; align-items:center; justify-content:center; transition:transform .14s, box-shadow .14s;
}
.t0 .arrows .arrow:after{ content:""; width:var(--14); height:var(--14); border-left:var(--3) solid var(--ink); border-bottom:var(--3) solid var(--ink); transform:rotate(45deg); margin-left:var(--3); }
.t0 .arrows .arrow:hover{
  background-image:var(--ArrowHoverImageURL);
  background:var(--cobalt);
  transform:translate(-1px,-1px);
  box-shadow:var(--5) var(--5) 0 var(--ink); }
.t0 .arrows .arrow:hover:after{ border-color:var(--paper); }
.t0 .arrows .arrow.right:after{ transform:rotate(-135deg); margin-left:calc(-1 * var(--3)); }
.t0:after{
  content:"> compiling career... [████████░░] 80%"; position:absolute; left:var(--SidePadding); bottom:var(--32);
  font-family:var(--mono); font-size:var(--13); color:var(--ink-40); z-index:2; pointer-events:none;
}
.t13 .items{ display:flex; flex-direction:column; --MainGap: 0; border-top:var(--2) solid var(--ink); }
.t13a{
  display:flex;
  flex-direction:column;
  flex:0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  flex-direction:row !important;
  align-items:center;
  gap:var(--24);
  padding:var(--26) var(--16);
  border-radius:0;
  background:transparent;
  border-bottom:var(--1) solid var(--ink-12);
  position:relative;
  counter-increment:feat;
  transition:background .2s, padding-left .2s;
  text-align:left;
}
.t13a:before{
  display:block;
  content:"";
  flex:0 0 var(--56);
  width:var(--56);
  height:var(--56);
  background:var(--BG) center/contain no-repeat;
  align-self:center;
  aspect-ratio:1 / 1;
}
.t13a > .description:before{
  content:"// 0" counter(feat) "  "; font-family:var(--mono); font-size:var(--14); color:var(--cobalt); letter-spacing:.04em; font-weight:500;
}
.t13a:hover{ background:var(--paper2); padding-left:var(--28); transform:none; box-shadow:none; }
.t13{ counter-reset:feat; }
.t13a .description{
  font-family:var(--disp); font-size:var(--21); font-weight:500; color:var(--ink); line-height:1.35; flex:1;
}
.t13a .description b, .t13a .description strong{ color:var(--cobalt); font-weight:700; }
.t4{
  border-radius:var(--MainBorderRadius);
  background:var(--ink);
  color:var(--paper);
  min-height:var(--440);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:var(--80) var(--SidePadding);
  position:relative;
  overflow:hidden;
  border:none;
}
.t4:before{
  content:""; position:absolute; inset:0; z-index:0;
  background:var(--BG) center/cover no-repeat; opacity:.5;
}
.t4 .info{
  padding-right:var(--S5-8Padding);
  display:flex;
  flex-direction:column;
  color:var(--Color3);
  position:relative;
  z-index:1;
  flex:0 0 var(--560);
  width:var(--560);
  max-width:50%;
  text-align:left;
  padding:0;
  gap:0; }
.t4.r .info{
  padding-left:var(--S5-8Padding);
  padding-right:0;
  padding:0; }
.t4.r{ justify-content:flex-end; }
.t4 .info .title{ color:var(--paper); font-size:var(--40); font-weight:700; letter-spacing:-.02em; }
.t4 .info .description{ color:rgba(243,241,234,.75); font-family:var(--mono); font-size:var(--16); margin-top:var(--16); }
.t4 .info:before{
  content:"$ sudo apply --now"; display:block; font-family:var(--mono); font-size:var(--13); color:var(--cobalt);
  letter-spacing:.1em; margin-bottom:var(--16);
}
.t20{
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--MainGap);
  padding:var(--56) 0; }
.t20 h2.title{ text-align:center; font-size:var(--22); color:var(--ink-60); font-family:var(--mono); text-transform:uppercase; letter-spacing:.1em; padding-bottom:var(--32); }
.t20 h2.title:after{ display:none; }
.t20a img{
  opacity:0.7;
  filter:grayscale(1) opacity(.55);
  transition:filter .25s, transform .25s; }
.t20a:hover img{
  opacity:1;
  filter:grayscale(0) opacity(1);
  transform:scale(1.06); }
.t14{ display:grid; grid-template-columns:var(--320) 1fr; gap:var(--56); align-items:start; }
.t14 h2.title.up, .t14 h2.up{
  font-family:var(--mono); font-size:var(--14); letter-spacing:.16em; color:var(--cobalt);
  text-transform:uppercase; padding:0; position:sticky; top:var(--120); font-weight:500;
}
.t14 h2.title.up:before{ content:"/* "; }
.t14 h2.title.up:after{ content:" */"; display:inline; background:none; }
.t14 .info .title{ font-size:var(--36); font-weight:700; letter-spacing:-.02em; line-height:1.1; }
.t14 .info .description{ margin-top:var(--24); font-size:var(--18); column-count:2; column-gap:var(--40); }
.t14 .info .description p{ break-inside:avoid; margin-bottom:var(--16); }
.t7 h2.title{ text-align:center; }
.t7 > .items{ display:flex; gap:var(--32); justify-content:center; flex-wrap:wrap; }
.t7a{ flex:1 1 var(--440); border:var(--2) solid var(--ink); box-shadow:var(--6) var(--6) 0 var(--ink); background:var(--paper2); padding:var(--32); }
.t7a > h2.title{ font-family:var(--mono); font-size:var(--16); text-transform:uppercase; letter-spacing:.08em; color:var(--cobalt); padding-bottom:var(--24); text-align:left; }
.t7a > h2.title:after{ display:none; }
.t7a > .items{ display:grid; grid-template-columns:1fr 1fr; gap:var(--24); }
.t7aa{
  align-items:center;
  flex:0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--6);
  padding-left:var(--40);
  position:relative; }
.t7aa:before{
  display:block;
  content:"";
  position:absolute;
  left:0;
  top:var(--2);
  width:var(--28);
  height:var(--28);
  background:var(--BG) center/contain no-repeat; }
.t7aa .title{ font-family:var(--mono); font-size:var(--40); font-weight:700; color:var(--ink); line-height:1; }
.t7aa .description{ font-size:var(--14); color:var(--ink-60); font-family:var(--disp); }
.t12{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  display:flex;
  gap:var(--16);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:var(--12); }
.t12::-webkit-scrollbar{ height:var(--6); }
.t12::-webkit-scrollbar-thumb{ background:var(--ink); }
.t12a{
  cursor:pointer;
  flex:0 0 auto;
  scroll-snap-align:start; }
.t12a img{
  max-width:none;
  height:var(--260);
  width:auto;
  display:block;
  border:var(--2) solid var(--ink);
  filter:saturate(.9);
  transition:transform .2s; }
.t12a:hover img{ transform:translateY(-4px); }
.t12a .cover{ position:relative; display:block; }
.t12a .cover:after{ content:"⤢"; position:absolute; right:var(--10); bottom:var(--10); width:var(--28); height:var(--28); background:var(--cobalt); color:var(--paper); display:flex; align-items:center; justify-content:center; font-size:var(--16); }
.t19{
  display:flex;
  align-items:center;
  justify-content:center;
  border:var(--3) solid var(--ink);
  border-image:none;
  background:var(--paper2);
  box-shadow:var(--10) var(--10) 0 var(--cobalt);
  padding:var(--64);
  position:relative; }
.t19:before{ content:"[ enroll ]"; position:absolute; top:calc(-1 * var(--14)); left:var(--40); font-family:var(--mono); font-size:var(--14); background:var(--paper); padding:0 var(--12); color:var(--cobalt); letter-spacing:.1em; }
.t19 .info{
  background:var(--Color3);
  border:var(--3) solid;
  border-image:var(--Gradient) 1;
  padding:var(--36) var(--52);
  text-align:center;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:var(--16);
  align-items:flex-start; }
.t19 .info .title{ font-size:var(--40); font-weight:700; letter-spacing:-.02em; }
.t19 .info .description{
  text-transform:var(--LabelTransform);
  letter-spacing:var(--LabelTracking);
  font-family:var(--LabelFont);
  color:var(--Gray5);
  font-size:var(--18); }
.t19 .info .description strong, .t19 .info .description b{
  font-family:var(--mono); font-size:var(--56); font-weight:700; color:var(--cobalt); background:none; -webkit-text-fill-color:var(--cobalt); display:inline-block; margin-top:var(--8);
}
.t3 .items{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--24); }
.t3a{
  border-radius:var(--CardRadius);
  overflow:hidden;
  flex:0 0 calc((100% - var(--MainGap) * (var(--InLine) - 1)) / var(--InLine));
  border:var(--2) solid var(--ink);
  background:var(--paper2);
  box-shadow:var(--6) var(--6) 0 var(--ink);
  transition:transform .16s, box-shadow .16s;
  display:flex;
  flex-direction:column; }
.t3a:hover{ transform:translate(-3px,-3px); box-shadow:var(--10) var(--10) 0 var(--cobalt); }
.t3a img{
  height:var(--Type4Height);
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  border-bottom:var(--2) solid var(--ink); }
.t3a .info{
  background:var(--CardFill);
  padding:var(--24);
  display:flex;
  flex-direction:column;
  gap:var(--12);
  flex:1; }
.t3a .info .title{
  line-height:var(--26);
  font-family:var(--disp);
  font-size:var(--24);
  font-weight:700;
  color:var(--ink); }
.t3a .info .title:before{ content:"const "; font-family:var(--mono); font-size:var(--14); color:var(--cobalt); font-weight:500; }
.t3a .info .description{ font-size:var(--15); color:var(--ink-60); flex:1; }
.t3a .info .more{ margin-top:auto; }
.t18 h2.title{ color:var(--paper); text-align:center; font-size:var(--28); margin-bottom:var(--40); }
.t18 h2.title:after{ display:none; }
.t18 .items{
  flex-wrap:wrap;
  justify-content:center;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--24);
  max-width:var(--1200);
  margin:0 auto; }
.t18a{
  display:flex;
  flex-direction:column;
  gap:var(--MainGap);
  text-align:left;
  padding:var(--24);
  border:var(--1) solid rgba(243,241,234,.2);
  position:relative; }
.t18a:before{ content:"0" counter(cnt); counter-increment:cnt; font-family:var(--mono); font-size:var(--13); color:var(--cobalt); position:absolute; top:var(--12); right:var(--16); }
.t18{
  display:flex;
  flex-direction:column;
  gap:var(--MainGap);
  color:var(--Color3);
  text-align:center;
  background:var(--ink);
  padding:var(--72) var(--SidePadding);
  counter-reset:cnt; }
.t18a .description{ font-family:var(--mono); font-size:var(--13); color:rgba(243,241,234,.6); text-transform:uppercase; letter-spacing:.08em; margin-top:var(--8); }
.t18a .title{
  background:var(--Gradient);
  background-clip:text;
  -webkit-background-clip:text;
  font-family:var(--mono);
  font-size:var(--56);
  font-weight:700;
  color:var(--paper);
  line-height:1;
  overflow:hidden;
  display:inline-block;
  transform:translateY(110%);
  transition:transform .8s cubic-bezier(.2,0,0,1); }
.t18.in .t18a .title{ transform:translateY(0); }
.t17 h2.title{ font-size:var(--36); }
.t17 .container{
  display:flex;
  overflow-x:auto;
  overflow-y:hidden;
  gap:var(--24);
  padding-bottom:var(--12);
  padding-top:var(--80); }
.t17a:before{
  content:"";
  display:block;
  background:var(--BG) center center/cover no-repeat;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:0;
  box-shadow:none;
  outline:var(--2) solid var(--ink);
  outline-offset:0;
  width:var(--120);
  height:var(--120);
  top:calc(-1 * var(--40));
  z-index:2;
}
.t17a .info{
  display:flex;
  flex-direction:column;
  background:var(--paper2);
  border:var(--2) solid var(--ink);
  box-shadow:var(--5) var(--5) 0 var(--ink);
  border-radius:0;
  padding:var(--72) var(--24) var(--24);
  gap:var(--4);
  height:100%;
}
.t17a .info .title.h3, .t17a .info .h3.title{ font-family:var(--disp); font-size:var(--20); font-weight:700; color:var(--ink); }
.t17a .info .s.title{ font-family:var(--mono); font-size:var(--13); color:var(--cobalt); text-transform:uppercase; letter-spacing:.04em; }
.t17a .info .description{ font-size:var(--14); color:var(--ink-60); margin-top:var(--8); }
.t15 h2.title{ text-align:left; }
.t15 .items{
  display:flex;
  flex-direction:column;
  border-top:var(--2) solid var(--ink); }
.t15a{ border-bottom:var(--1) solid var(--ink-12); padding:var(--24) 0; }
.t15a > .title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--MainGap);
  font-family:var(--disp);
  font-size:var(--20);
  font-weight:600;
  color:var(--ink);
  position:relative;
  padding-left:var(--40);
  cursor:pointer; }
.t15a > .title:before{ content:"?"; font-family:var(--mono); color:var(--cobalt); position:absolute; left:0; top:0; font-weight:700; font-size:var(--20); }
.t15a > .title:after{
  font-family:var(--MaterialIcons), ui-serif;
  font-size:var(--MainHeaderFontSize);
  color:var(--Color2);
  content:"";
  position:absolute;
  right:0;
  top:var(--6);
  width:var(--12);
  height:var(--12);
  border-right:var(--2) solid var(--ink);
  border-bottom:var(--2) solid var(--ink);
  transform:rotate(45deg);
  transition:transform .25s;
  background:none; }
.t15a.current > .title:after{ transform:rotate(-135deg); }
.t15a .description{
  display:none;
  padding-bottom:var(--ButtonPaddingTB);
  font-size:var(--16);
  color:var(--ink-60);
  padding-left:var(--40);
  margin-top:var(--12); }
.t16 h2.title{ font-size:var(--40); }
.t16 .line{ display:flex; gap:var(--32); align-items:stretch; }
.t16 .content{ flex:0 0 var(--300); display:flex; flex-direction:column; gap:var(--16); }
.t16a{
  --BGC:var(--Color2);
  display:flex;
  align-items:center;
  gap:var(--14);
  position:relative; }
.t16a .description{
  font-weight:500;
  font-family:var(--mono);
  font-size:var(--15); }
.t16a .description a{ color:var(--ink); }
.t16a:before{
  display:block;
  flex:0 0 var(--48);
  width:var(--48);
  height:var(--48);
  line-height:var(--48);
  text-align:center;
  color:var(--Color3);
  font-family:var(--MaterialIcons), ui-serif;
  font-size:var(--24);
  content:"";
  background:var(--paper2);
  border:var(--2) solid var(--ink);
  border-radius:0;
  box-shadow:var(--3) var(--3) 0 var(--ink);
  --BGC:var(--paper2);
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:var(--22);
  mask-size:var(--22);
  position:relative;
}
.t16a:after{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:var(--48); height:var(--48);
  background:var(--cobalt); pointer-events:none;
  -webkit-mask-position:center; mask-position:center; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:var(--22); mask-size:var(--22);
}
.t16a:nth-child(1):after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z'/%3E%3C/svg%3E"); }
.t16a:nth-child(2):after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='M3 6l9 7 9-7'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='M3 6l9 7 9-7'/%3E%3C/svg%3E"); }
.t16a:nth-child(3):after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5 7 13 7 13s7-8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5 7 13 7 13s7-8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.t16 .form{
  border-radius:var(--CardRadius);
  flex:1;
  background:var(--paper2);
  border:var(--2) solid var(--ink);
  box-shadow:var(--6) var(--6) 0 var(--ink);
  padding:var(--28);
  display:flex;
  flex-direction:column;
  gap:var(--14); }
.t16 .form:before{ content:"// заявка на консультацию"; font-family:var(--mono); font-size:var(--13); color:var(--cobalt); }
.t16 .map{
  background:var(--ink) url('../images/map.svg') center/cover no-repeat;
  background-size:cover;
  flex:1;
  min-height:var(--360);
  border:var(--2) solid var(--ink); }
.t16 .form .text, .t16 .form input.text, .t16 .form textarea.text{
  font-family:var(--mono); font-size:var(--15); padding:var(--14) var(--16); border:var(--1) solid var(--ink);
  border-radius:0; background:var(--paper); color:var(--ink); transition:border-color .15s, box-shadow .15s;
}
.t16 .form .text::placeholder{ color:var(--ink-40); }
.t16 .form .text:focus-visible{ outline:none; border-color:var(--cobalt); box-shadow:var(--3) var(--3) 0 var(--cobalt); }
.t16 .form textarea.text{ min-height:var(--110); resize:vertical; }
.t16 .form .btn{ width:100%; margin-top:var(--6); }
body.rv-on .s.body, body.rv-on .t4, body.rv-on .t18, body.rv-on .t0a .info{
  opacity:0; transform:translateY(var(--24)); transition:opacity .6s ease, transform .6s ease;
}
body.rv-on .s.body.in, body.rv-on .t4.in, body.rv-on .t18.in, body.rv-on .t0a.current .info{ opacity:1; transform:none; }
.reveal-words .w{ color:var(--ink-40); transition:color .5s; transition-delay:calc(var(--i) * 55ms); }
.reveal-words.in .w{ color:var(--ink); }
.reveal-words.in .w.acc{ color:var(--cobalt); }
#caret{
  position:fixed; left:0; top:0; width:var(--3); height:var(--22); background:var(--cobalt); z-index:9999;
  pointer-events:none; transform:translate(calc(var(--mx,.5) * 100vw), calc(var(--my,.5) * 100vh)) translate(-50%,-50%);
  mix-blend-mode:multiply; transition:width .15s, height .15s, background .15s;
  animation:caretBlink 1.05s steps(1) infinite;
}
body.caret-hot #caret{ width:var(--14); height:var(--24); background:rgba(45,91,255,.35); animation:none; }
@keyframes caretBlink{ 0%,55%{opacity:1} 56%,100%{opacity:0} }
@media (hover:none){ #caret{ display:none; } }
@media (prefers-reduced-motion:reduce){
  #caret{ animation:none; }
  body.rv-on .s.body, body.rv-on .t4, body.rv-on .t18{ opacity:1; transform:none; transition:none; }
  .t18a .title{ transform:none; }
}
@media (max-width:1024px){
  :root{
    --SidePadding:16px;
    --MainGap:14px;
    --Body:100%;
  }
  .body {
    width:100%;
    padding:0 var(--16);
  }
  .body .body {
    padding:0;
  }
  #mb > .s.body{ max-width:100%; }
  #caret{ display:none; }
  header.header{ pointer-events:auto; background:var(--paper); border-bottom:2px solid var(--ink); padding:12px 16px; }
  header.header .logo img{ height:30px; }
  header.header .m .mb{ display:block; }
  header.header .m .mb:after{ background:var(--ink) !important; }
  header.header .m .mb:before{ border-top-color:var(--ink) !important; border-bottom-color:var(--ink) !important; }
  header.header .menu{ background:var(--ink); backdrop-filter:none; justify-content:center; }
  body.menu header.header .menu{ background:var(--ink) !important; backdrop-filter:none; }
  body.menu header.header .m .mb:before{ border-top-color:var(--paper) !important; border-bottom-color:var(--paper) !important; }
  body.menu header.header .m .mb:after{ background:var(--paper) !important; }
  header.header .menu a{ color:var(--paper); font-size:20px; font-family:var(--mono); }
  header.header .menu a:hover{ color:var(--cobalt); }

  #mb > .s{ margin-top:48px; }
  .t0a .body{ max-width:100%; }
  .t0a .info{ max-width:100%; }
  .t0a .info .title{ font-size:40px; }
  .t0a .info .description{ font-size:14px; }
  .t0 .herobg{ opacity:.18; }
  .t0:after{ font-size:11px; left:16px; }
  .t0a .info:before{ font-size:11px; }

  .t13a{ flex-wrap:wrap; gap:14px; padding:20px 8px; }
  .t13a:before{ flex:0 0 auto; }
  .t13a .description{ font-size:18px; flex:1 1 100%; }

  .t4{ padding:48px 16px; min-height:auto; }
  .t4 .info{ max-width:none; }
  .t4 .info .title{ font-size:28px; }

  .t14{ grid-template-columns:1fr; gap:20px; }
  .t14 h2.title.up{ position:static; }
  .t14 .info .description{ column-count:1; }
  .t14 .info .title{ font-size:26px; }

  .t7 > .items{ flex-direction:column; }
  .t7a{ box-shadow:4px 4px 0 var(--ink); padding:20px;width:100%;flex:none; }
  .t7a > .items{ grid-template-columns:1fr 1fr; }
  .t7aa .title{ font-size:30px; }

  .t12a img{ height:200px; }

  .t19{ padding:32px 20px; box-shadow:6px 6px 0 var(--cobalt); }
  .t19 .info .title{ font-size:26px; }
  .t19 .info .description strong{ font-size:40px; }

  .t3 .items{ grid-template-columns:1fr; }

  .t18{ padding:48px 16px; }
  .t18 .items{ grid-template-columns:1fr 1fr; }
  .t18a .title{ font-size:40px; }

  .t15a > .title{ font-size:17px; }

  .t16 .line{ flex-direction:column; }
  .t16 .content{ flex:0 0 auto; }
  .t16 .form{ flex:0 0 auto; width:100%; }
  .t16 .map{ flex:0 0 auto; min-height:280px; }
  .t16 h2.title{ font-size:28px; }

  footer.footer{ flex-direction:column; align-items:flex-start; gap:16px; padding:32px 16px; margin-top:48px; }

  .t17a{flex:0 0 75%;}
}
.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,#fff);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:#fff;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:#fff;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)}
