:root {
  --orange: darkorange;
  --white: #fff;
  --nav-border-color: #0003;
  --size-unit: 16;
  --size-container-ideal: 1440;
  --size-container-min: 991px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
  --nav-blend-mode: normal;
  --nav-color: black;
  --nav-bg-color: white;
  --border-color: rgba(0, 0, 0, 0.48);
  --border-top-color-menu: rgba(0, 0, 0, 0);
  /* убрано 0px */
  --nav-border-bottom-color: 1px solid rgba(0, 0, 0, 0.19);
  --breadcroumbs-border-bottom-color: 0px solid rgba(0, 0, 0, 0);
  --padding-container: 2rem;
  --overflow-state: hidden;
  --grid-closed: 0fr;
  --grid-open: 1fr;
  --grid-trans-speed: 0.5s;
  --grid-trans-speed-desktop: 0.6s;
  --ease-main: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --br-default-size: 0.4375rem;
  --br-default-color: hsla(0, 0.00%, 100.00%, 1.00);
}

html {
  font-size: var(--size-font);
  scrollbar-gutter: stable;
}

body {
  letter-spacing: .04rem;
  font-family: Geist, sans-serif;
  font-weight: 300;
  line-height: 1;
  font-size: var(--size-font);
  background-color: #000;
  margin: 0;
  min-height: 100%;
}

h1 {
  color: var(--black);
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 4.6rem;
  font-weight: 400;
  line-height: 110%;
}

h2 {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 3.3rem;
  font-weight: 400;
  line-height: 110%;
}

h3 {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 110%;
}

h4 {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 1.71rem;
  font-weight: 400;
  line-height: 110%;
}

h5 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.23rem;
  font-weight: 400;
  line-height: 110%;
}

h6 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: .89rem;
  font-weight: 400;
  line-height: 110%;
}

p {
  color: var(--black);
  margin-top: 0;
  text-align: left;
  margin-bottom: 1.25rem;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 140%;
}

a {
  color: var(--black);

  text-decoration: none;

  display: block;
}

ul {
  grid-row-gap: 1.3rem;
  text-align: left;
  flex-flow: column;
  margin-top: 1.3rem;
  margin-bottom: 1.5rem;
  padding-left: 0;
  display: flex;
}

ol {
  grid-column-gap: 1.3rem;
  grid-row-gap: 1.3rem;
  flex-flow: column;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-left: 0;
  display: flex;
}

li {
  background-image: url("../img/dot-blue.svg");
  background-position: 0 5px;
  background-repeat: no-repeat;
  background-size: .6rem;
  padding-left: 1em;
  font-size: 1.2rem;
  line-height: 1.1;
  list-style-type: none;
}

img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}

strong {
  font-weight: bold;
}

blockquote {
  border-left: 3px solid var(--blue);
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  padding: 0 20px;
  font-size: 1.3rem;
  line-height: 130%;
}



/* Tablet (Portrait & Landscape) */

/* Mobile Landscape */

/* Mobile Portrait */

aside,
footer,
main,
nav,
section,
summary {
  display: block;
}

canvas,
video {
  vertical-align: baseline;
  display: inline-block;
}

[hidden],
template {
  display: none;
}

a:active,
a:hover {
  outline: 0;
}

b,
strong {
  font-weight: bold;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
}

* {
  box-sizing: border-box;
}

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

input.w-button {
  -webkit-appearance: button;
}

.w-embed:before,
.w-embed:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-embed:after {
  clear: both;
}

button,
[type="button"],
[type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}

label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}

.w-input:focus,
.w-select:focus {
  border-color: #3898ec;
  outline: 0;
}

.w-file-upload-uploading {
  color: #333;
  display: inline-block;
}

.w-file-upload-uploading.w-hidden {
  display: none;
}

.w-file-upload-uploading-btn {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: flex;
}

.w-icon-file-upload-uploading {
  width: 20px;
  margin-right: 8px;
  display: inline-block;
  height: 20px;
}

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -10px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}

.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.w-widget-twitter-count-shim.w--vertical:before {
  border-width: 5px;
  border-color: #5d6c7b #75869600 #75869600;
  margin-left: -5px;
}

.w-widget-twitter-count-shim.w--vertical:after {
  border-width: 4px;
  border-color: #fff #fff0 #fff0;
  margin-left: -4px;
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}

.w-slider-nav-invert>div.w-active {
  background-color: #222;
}

.w-slider-dot.w-active {
  background-color: #fff;
}

.w-slider-dot:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff;
}

.w-slider-dot:focus.w-active {
  box-shadow: none;
}

.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
  outline: 0;
}

.w-slider-force-show {
  display: block !important;
}

.w-dropdown-toggle:focus {
  outline: 0;
}

.w-dropdown-list.w--open {
  display: block;
}

.w-dropdown-link.w--current {
  color: #0082f3;
}

.w-dropdown-link:focus {
  outline: 0;
}

.w-lightbox-active {
  opacity: .3;
}

.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0;
}

.w-richtext:before,
.w-richtext:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-richtext:after {
  clear: both;
}

.w-richtext ol,
.w-richtext ul {
  overflow: hidden;
  display: flex;
  flex-flow: column;
  gap: 0.5rem;
  margin-top: 0;
  margin-bottom: 1.5rem;
  padding-left: 0;
  text-align: left;
  letter-spacing: 0.02rem;
  list-style: none;
  /* Убиваем системные маркеры */
}

.w-nav-link.w--current {
  color: #0082f3;
}

[data-nav-menu-open] {
  text-align: center;
  background: #c8c8c8;
  min-width: 200px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  display: block !important;
}

.w--nav-link-open {
  display: block;
  position: relative;
}

.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}

.w-nav[data-animation="over-left"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto;
}

.w-nav[data-animation="over-right"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto;
}

.w-nav-button:focus {
  outline: 0;
}

.w-nav-button.w--open {
  color: #fff;
  background-color: #c8c8c8;
}

.w--nav-dropdown-open,
.w--nav-dropdown-toggle-open {
  display: block;
}

.w--nav-dropdown-list-open {
  position: static;
}

.w-tab-link.w--current {
  background-color: #c8c8c8;
}

.w-tab-link:focus {
  outline: 0;
}

.w--tab-active {
  display: block;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.w-condition-invisible {
  display: none !important;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.body {
  color: #333;
  letter-spacing: .04rem;
  height: auto;
  font-family: Geist, sans-serif;
  font-weight: 300;
  line-height: 1;
  font-size: var(--size-font);
  background-color: #000;
}

.nav {
  z-index: 100;
  mix-blend-mode: var(--nav-blend-mode);
  color: var(--nav-color);
  background-color: var(--nav-bg-color);
  border-bottom: var(--nav-border-bottom-color);
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 1rem;
  text-decoration: none;
  display: flex;
  position: fixed;
  inset: 0% 0% auto;
}

.section-hero {
  z-index: 2;
  color: #fff;
  background-color: #000;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100%;
  min-height: 100vh;
  padding-bottom: 5.9rem;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
}

.container {
  width: 100%;
  height: 100%;
  padding-left: var(--padding-container);
  padding-right: var(--padding-container);
  overflow: var(--overflow-state);
  margin-left: auto;
  margin-right: auto;
}

.background-video {
  background-image: url('../img/poster-main.webp');
  background-size: cover;
  background-attachment: scroll;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
}

.mask-hero {
  z-index: 1;
  opacity: .5;
  background-color: #000;
  position: absolute;
  inset: 0%;
}

.mask-hero.section-parallax {
  opacity: 1;
  background-color: #0000;
  background-image: linear-gradient(135deg, #0000001a, #000000bf 91%);
}

.mask-hero.opacity-35 {
  opacity: .35;
}

.wrapper-down-hero {
  z-index: 1;
  flex-flow: row;
  justify-content: flex-end;
  align-items: flex-end;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  position: absolute;
  inset: auto 0% 2rem;
}

.wrapper-hero-btn {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: auto;
  display: flex;
}

.subheading {
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1;
}

.subheading.short {
  line-height: 1.2;
}

.subheading.left {
  margin-right: auto;
}

.heading-hero {
  z-index: 1;
  color: #fff;
  letter-spacing: -.3rem;
  text-transform: uppercase;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 36rem;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 8rem;
  font-weight: 400;
  line-height: 1;
  display: flex;
  position: relative;
}

.preview-vid {
  opacity: .5;
  background-image: url('../img/frame_0001.webp');
  background-position: 0 0;
  background-size: cover;
  height: 100%;
  position: relative;
}

.text-in-player {
  letter-spacing: .1rem;
  mix-blend-mode: lighten;
  font-size: .6rem;
  position: absolute;
  inset: .8rem auto auto .5rem;
  z-index: 3 !important;
  color: white !important;
}

.text-in-player.right-dwon {
  inset: auto .5rem .4rem auto;
}

.text-in-player.right-dwon.preview-element {
  z-index: 3;
  pointer-events: none;
}

.text-in-player.preview-element {
  z-index: 2;
  text-transform: uppercase;
}

.player-css,
.center-play-btn {
  display: none;
}

.wrapper-hero-btn-mob {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-flow: column;
  width: 100%;
  max-width: 14.3rem;
  display: flex;
}

.mega-trigger {
  cursor: pointer;
  background-color: #f0f0f000;
  justify-content: space-between;
  align-items: center;
  width: 10rem;
  height: 2.5rem;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 0;
  transition: width .444s, height .555s;
  display: flex;
  position: relative;
  --br-w-bottom: 0px;
  --br-h-bottom: 0px;
}

.trigger-icon {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  border-style: solid;
  border-width: 1px;
  border-color: var(--border-color);
  border-top-color: var(--border-color);
  border-right-color: var(--border-color);
  border-bottom-color: var(--border-color);
  border-left-color: var(--border-color);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 100%;
  display: flex;
  position: relative;
}

.line-m {
  padding-bottom: 0;
  padding-right: 0;
  display: block;
  position: absolute;
  left: 50%;
  height: 1px;
  width: round(nearest, 1.25rem, 2px);
  /* чётное число px, -50% даёт целое */
  background-color: var(--nav-color);
  border-radius: 1px;
  transform: translateX(-50%);

  transition:
    top 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.wrapper-nav {
  z-index: 17;
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.btn-s {
  color: #fff;
  text-align: center;
  letter-spacing: .03rem;
  background-color: #0000;
  padding: .8rem 2rem;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  position: relative;
}

.btn-s.h {
  padding-left: .8rem;
  padding-right: .8rem;
}

.btn-s.nav-b {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  color: var(--nav-color);
  padding: 0 .7rem .2rem;
  display: flex;
}

.btn-s.menu-b {
  color: #333;
  cursor: pointer;
  padding: .8rem 1.25rem;
}

.btn-s.menu-b.cart {
  width: 100%;
}

.btn-s.section-s {
  color: #333;
  margin-top: 2rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.btn-s.section-s.hide {
  display: none;
}

.btn-s.section-big {
  color: #000;
  margin-top: 1.5rem;
  font-size: 1.1rem;
}

.btn-s.section-big.smaller {
  padding: .6rem 1.5rem;
  font-size: 1rem;
}

.btn-s.btn-toolip {
  color: #000;
  padding: .6rem;
  font-size: .8rem;
}

.btn-s.about-s {
  color: #333;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.btn-s.cart-delete {
  color: #333333d9;
  text-transform: uppercase;
  margin-left: auto;
  padding: .2rem .5rem;
  font-size: .7rem;
  --br-pos-y: 2px;
  --br-color: rgba(51, 51, 51, 0.75);
}

.btn-s.success-form {
  color: #000;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.br {
  width: var(--br-w);
  border-style: solid;
  border-width: 1px;
  border-top-color: var(--br-color);
  border-right-color: var(--br-color);
  height: var(--br-h);
  border-bottom-color: var(--br-color);
  border-left-color: var(--br-color);
  transition-property: height, width;
  transition-duration: .555s, .444s;
  transition-timing-function: cubic-bezier(.55, .055, .675, .19), cubic-bezier(.55, .055, .675, .19);
  position: absolute;
}

.br.br-tl {
  left: var(--br-pos-x);
  top: var(--br-pos-y);
  border-bottom-width: 0;
  border-right-width: 0;
}

.br.br-tr {
  left: var(--br-pos-x);
  bottom: var(--br-pos-y);
  border-top-width: 0;
  border-right-width: 0;
}

.br.br-bl {
  right: var(--br-pos-x);
  top: var(--br-pos-y);
  width: var(--br-w-bottom, var(--br-w));
  height: var(--br-h-bottom, var(--br-h));
  border-bottom-width: 0;
  border-left-width: 0;
}

.br.br-br {
  right: var(--br-pos-x);
  bottom: var(--br-pos-y);
  width: var(--br-w-bottom, var(--br-w));
  height: var(--br-h-bottom, var(--br-h));
  border-top-width: 0;
  border-left-width: 0;
}

.mega-materials-grid {
  flex-direction: column;
  justify-content: space-around;
  align-items: stretch;
  gap: 2rem;
  display: flex;
}

.nav-link {
  padding-top: .3125rem;
  padding-bottom: .3125rem;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  --line-color: var(--nav-color);
}

.mega-sidebar {
  position: relative;
}

.text-m {
  height: 1rem;
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.section-architecture {
  z-index: 1;
  background-color: #000;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}

.mega-item {
  z-index: 250;
}

.mega-item.is-active {
  background-color: #f0efeb;
}

.svg-cart {
  width: 2.3rem;
  height: 2.1rem;
  display: block;
  position: relative;
}

.svg-cart.empty {
  width: 2.5rem;
}

.mega-item-footer {
  flex-flow: row;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: .7rem;
  display: flex;
}

.number-cart {
  opacity: 0;
  font-size: .9rem;
  font-weight: 500;
  line-height: 1;
  transition: opacity .2s;
  position: relative;
  inset: .65rem 0% auto;
}

.mega-chips {
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  gap: .7rem;
  max-height: 35vh;
  padding-bottom: 1rem;
  display: flex;
  overflow: hidden auto;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.mega-item-inner-wrap {
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
  display: flex;
}

.mega-dropdown {
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  background-color: #fff;
  border-bottom: #d8d8df;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  transform: translate(0, 4.5rem);
  visibility: hidden;
  height: auto;
  max-height: 100vh;
}

.mega-dropdown.is-open {
  opacity: 1;
  pointer-events: auto;
  max-height: 100vh;
  transform: translate(0);
  visibility: visible;
}

.brand {
  width: 7rem;
}

.brand.dyplicate {
  z-index: 101;
  position: fixed;
  top: 1.4rem;
  left: 2rem;
}

.mega-col-title {
  color: #6e6e72;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-bottom: #d8d8df;
  margin-bottom: .8rem;
  font-size: 11px;
  font-weight: 600;
}

.mega-item-content {
  border-bottom: 1px solid #00000024;
  border-left: 1px solid #00000024;
  grid-template-columns: 1fr;
  padding: 2rem .625rem 1rem 2rem;
  grid-column: 2;
  grid-row: 1 / span 100;
  display: grid;
  grid-template-rows: var(--grid-closed);
  overflow: hidden;
  padding-right: 0.625rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(0.5rem);
  transition:
    opacity 0.3s var(--ease-main),
    visibility 0.3s,
    transform 0.3s var(--ease-main),
    grid-template-rows 0.3s var(--ease-main);
}

.css-burger {
  display: none;
}

.mega-tab {
  color: #333;
  border-bottom: 1px solid #00000021;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-right: 1rem;
  font-size: 1rem;
  text-decoration: none;
  transition: all .555s;
  display: flex;
  position: relative;
  grid-column: 1;
  cursor: pointer;
  user-select: none;
}

.mega-tab:hover {
  padding-left: 1rem;
}

.global-css {
  display: none;
}

.mega-pill {
  color: #333;
  border: 1px solid #0000001f;
  border-bottom-color: #00000021;
  border-radius: 0;
  align-items: center;
  gap: 8px;
  padding: .75rem 16px;
  font-size: 1rem;
  text-decoration: none;
  transition: all .555s;
  position: relative;
}

.mega-pill:hover {
  color: var(--orange);
  border-color: #00000021;
}

.player-wrapper {
  z-index: 80;
  aspect-ratio: 16 / 9;
  cursor: pointer;
  background-color: #000;
  border-radius: .6rem;
  width: 12rem;
  height: 7.2rem;
  position: absolute;
  top: -23.8rem;
  right: 2rem;
  overflow: hidden;
}

.mega-wrap {
  border-top: var(--border-top-color-menu);
  background-color: #fff;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 16.5rem 1fr;
  grid-auto-columns: .25fr;
  width: 100%;
  max-height: 100vh;
  margin-top: 4.6rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: grid;
  position: relative;
}

.mob-sidebar-extra {
  border-top: none;
  flex-direction: column;
  display: none;
}

.text-m-inner {
  text-align: center;
  transition: transform .333s cubic-bezier(.25, .46, .45, .94);
}

.nav-link-mask {
  height: 1rem;
  overflow: hidden;
}

.nav-link-mask.author {
  height: .8rem;
}

.nav-link-mask.contact {
  height: 1.3rem;
}

.arrow {
  width: 1rem;
}

.wrapper-row-menu {
  flex-flow: column;
  display: flex;
}

.mega-menu-css {
  border: 1px solid #000;
  display: none;
}

.cart-drawer-overlay {
  z-index: 1100;
  opacity: 0;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  pointer-events: none;
  background-color: #00000080;
  position: fixed;
  inset: 0;
}

.cart-drawer-overlay.is-open {
  opacity: 1;
  cursor: pointer;
  pointer-events: all;
}

.cart-drawer {
  z-index: 1101;
  opacity: 0;
  visibility: hidden;
  background-color: #fff;
  border-left: 1px solid #d8d8df;
  flex-direction: column;
  width: min(27rem, 90vw);
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translate(100%);
}

.cart-drawer.is-open {
  opacity: 1;
  visibility: visible;
  background-color: #fff;
  transform: translate(0%);
}

.cart-close {
  color: #000;
  cursor: pointer;
  background-color: #fff;
  border: 0 #0000;
  border-radius: .2rem;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: .3rem;
  font-size: 1.6rem;
  transition: all .555s;
  display: flex;
  position: relative;
  transform: rotate(0);
}

.cart-close:hover {
  color: var(--orange);
  border-color: #00000029;
  transform: rotate(90deg);
}

.cart-close.item {
  border-style: none;
  width: 1.5rem;
  height: 1.5rem;
  padding: .4rem;
  font-size: 1.2rem;
  position: absolute;
  inset: 4.4rem 1rem auto auto;
}

.cart-item-info {
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.cart-item-name {
  color: #000;
  margin-bottom: .2rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.1;
}

.cart-item-detail {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  color: #333333d9;
  letter-spacing: .05rem;
  text-transform: uppercase;
  width: 100%;
  margin-top: .5rem;
  font-size: .7rem;
  line-height: 1.1;
  display: flex;
}

.cart-item-detail.finishing {
  margin-bottom: .2rem;
}

.cart-summary {
  color: #000000ad;
  letter-spacing: .03rem;
  text-transform: uppercase;
  justify-content: space-between;
  margin-bottom: 1rem;
  font-size: .8rem;
  display: flex;
}

.img-cart {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 5.5rem;
  max-height: 4.8rem;
}

.heading-cart {
  letter-spacing: .02rem;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
}

.bold-text {
  color: #000;
}

.reveal-wrapper {
  height: 200vh;
  position: relative;
}

.parallax-content {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #f0efeb;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: block;
}

.section-benefits {
  background-color: #f0efeb;
  padding-bottom: 2rem;
}

.heading-section {
  letter-spacing: 0;
  margin-top: auto;
  margin-bottom: 0;
  font-size: 3.6rem;
  font-weight: 300;
  line-height: .9;
}

.heading-section.products {
  width: 100%;
  margin-top: 0;
  font-size: 3.6rem;
}

.heading-section.about {
  letter-spacing: .03rem;
  font-size: 3rem;
  line-height: 1;
}

.heading-section.cart {
  font-size: 3rem;
}

.wrapper {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-bottom: 1px solid #0003;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: center;
  height: 100%;
  display: grid;
}

.container-rigth {
  border-left: 1px solid #0003;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 4.5rem;
  display: flex;
}

.container-rigth.gap-3rem {
  grid-column-gap: 2.9rem;
  grid-row-gap: 2.9rem;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 2rem;
}

.container-left {
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding-bottom: 2rem;
  padding-left: 2rem;
  display: flex;
}

.text-second-section {
  letter-spacing: .02rem;
  margin-top: auto;
  font-size: 1.0625rem;
  line-height: 1.1;
}

.image-second-s {
  object-fit: cover;
  width: 100%;
  height: 120%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.benefits_card_mask_clip {
  transition: all .555s;
  overflow: hidden;
}

.benefits_card {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  will-change: transform;
  border: 1px #0003;
  border-style: none none solid solid;
  border-radius: 0;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
  padding: 2rem;
  display: flex;
}

.benefits_card.last {
  border-right-style: solid;
}

.benefits_card.no-down-border {
  border-bottom-style: none;
}

.benefits_card_title {
  text-wrap: balance;
  width: 15rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.benefits_card_title.bigger {
  width: 21rem;
}

.service-heading-wrapper {
  grid-column-gap: .9rem;
  grid-row-gap: .9rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.result-div {
  opacity: 0;
  letter-spacing: .02rem;
  font-size: 1.0625rem;
  transition: opacity .444s cubic-bezier(.6, .04, .98, .335);
}

.benefits_card_mask_wrap {
  will-change: grid-template-rows;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  transition-property: all;
  transition-duration: .555s;
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  display: grid;
}

.benefits_layout {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  will-change: height;
  flex-flow: row;
  flex: 0 auto;
  height: 20rem;
  transition-property: all;
  transition-duration: .444s;
  transition-timing-function: ease;
  display: flex;
}

.benefits_wrap {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  flex-flow: column;
  justify-content: center;
  height: 40rem;
  display: flex;
  overflow: hidden;
  container-type: inline-size;
}

.benefits-heigh {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-around;
  overflow: hidden;
}

.benefits_card_wrap {
  will-change: width;
  flex-flow: column;
  width: 100%;
  padding-bottom: .1rem;
  transition-property: width;
  transition-duration: .444s;
  transition-timing-function: ease;
  display: flex;
  position: relative;
  overflow: hidden;
}

.text-result {
  width: 27rem;
  margin-bottom: 0;
  font-size: 1.0625rem;
}

.text-result.bigger {
  width: 38rem;
}

.line {
  -webkit-text-stroke-color: red;
  border-style: solid;
  border-width: 1px;
}

.cart-item {
  border-bottom: 1px solid #0003;
  flex-flow: column;
  justify-content: space-between;
  width: 100%;
  padding: 1.3rem 1.5rem 1.5rem;
  display: none;
  position: relative;
}

.cart-drawer-body {
  letter-spacing: .03rem;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: -1px;
  display: flex;
  overflow-x: hidden;
}

.cart-drawer-head {
  border-bottom: 1px solid #0003;
  justify-content: space-between;
  padding: 1.5rem 1rem 1.5rem 1.5rem;
  display: flex;
}

.cart-drawer-footer {
  z-index: 1;
  background-color: #fff;
  border-top: 1px solid #0003;
  padding: 1.6rem 1.5rem 1.5rem;
  position: relative;
}

.icon-svg {
  width: 1rem;
  height: 1rem;
  margin-left: auto;
  transition: transform .555s ease-out;
  position: relative;
  transform: rotate(-135deg);
}

.number-prem {
  margin-left: auto;
  font-size: 1.5rem;
  line-height: 1.2;
  display: block;
  position: relative;
}

.cart-text {
  text-align: center;
  letter-spacing: .03rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: auto;
  margin-bottom: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: .9rem;
  line-height: 1.4;
  display: none;
}

.span-block {
  display: inline-block;
}

.section-frames {
  background-color: #f0efeb;
}

.sab-container {
  position: relative;
}

.sab-isolated-1 {
  z-index: 2;
  background-color: #f0efeb;
  border-top: 1px solid #ffffff1a;
  border-radius: 39rem;
  height: 400vh;
  position: relative;
}

.sab-overlay {
  z-index: 10;
  pointer-events: none;
  will-change: transform;
  border-radius: 5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
  overflow: hidden;
  transform: scale(.9);
}

.sab-sequence {
  z-index: 0;
  backface-visibility: hidden;
  object-fit: cover;
  will-change: transform;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateZ(0);
}

.sab-anim {
  z-index: 4;
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  color: #fff;
  text-align: left;
  letter-spacing: .04rem;
  flex-flow: column;
  width: 28rem;
  font-family: Playfair Display, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
  display: flex;
  position: absolute;
  top: auto;
  bottom: -2rem;
  right: 2rem;
  transform: translateY(-50%);
}

.sab-anim.variant-2 {
  width: 31rem;
  inset: 14rem auto auto 2rem;
}

.remas-preloader {
  z-index: 5;
  opacity: 0;
  pointer-events: none;
  background-color: #00000040;
  justify-content: center;
  align-items: center;
  transition: opacity .3s;
  display: flex;
  position: absolute;
  inset: 0%;
}

.section-type {
  background-color: #f0efeb;
  border-bottom: 1px solid #0003;
  padding-top: 6rem;
  padding-bottom: 4rem;
}

.tag-scroll-section {
  letter-spacing: .1rem;
  font-family: Geist, sans-serif;
  font-size: .8rem;
  font-weight: 300;
}

.heading-scroll-section {
  font-family: Playfair Display, sans-serif;
  font-size: 2.8rem;
  line-height: 1.1;
}

.text-scroll-section {
  letter-spacing: .03rem;
  font-family: Geist, sans-serif;
  font-size: 1.0625rem;
  font-weight: 300;
}

.text-scroll-section.sm {
  width: 26rem;
}

.product-card {
  color: inherit;
  cursor: pointer;
  flex-direction: column;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.product-card:hover {
  border-color: #0000001a;
}

.card-image {
  contain: paint;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.card-badge {
  z-index: 6;
  color: #000;
  letter-spacing: .04em;
  text-transform: uppercase;
  background-color: #fff;
  border-radius: 3px;
  padding: .25rem .625rem;
  font-size: .5625rem;
  font-weight: 700;
  position: absolute;
  top: .7rem;
  right: .7rem;
}

.card-body {
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  color: #333;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: .8rem;
  padding-bottom: .1rem;
  font-size: 1rem;
  display: flex;
}

.card-material {
  color: #333c;
  text-transform: uppercase;
  font-size: .7rem;
}

.card-name {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
}

.card-specs {
  font-size: .7rem;
}

.image-product {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
  transition: transform .666s;
  position: relative;
  inset: 0% auto auto 0%;
}

.image-product.absolut {
  z-index: 2;
  filter: brightness(160%);
  contain: layout style;
  transition-property: none;
  position: absolute;
  inset: 0%;
  transform: translate(0, 0) !important;
  clip-path: inset(100% 0 0 0);
  /* ИСПРАВЛЕНО: убрана запятая, добавлена точка с запятой */
  transition: clip-path .666s cubic-bezier(0.455, 0.03, 0.515, 0.955),
    filter .666s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.paragraph {
  margin-bottom: 0;
  font-size: 1.0625rem;
}

.paragraph.heading {
  width: 54rem;
}

.paragraph.cycle-section {
  max-width: 50%;
  font-size: 1.25rem;
  line-height: 1.2;
}

.paragraph.sticky {
  font-size: 1rem;
  position: sticky;
  bottom: 2rem;
}

.div-block {
  justify-content: center;
  align-items: flex-end;
  padding-top: 18.4rem;
  display: flex;
  position: relative;
}

.new-line {
  display: block;
}

.finishing-grid {
  grid-column-gap: 0vw;
  grid-row-gap: 0vw;
  border-top: 1px solid #0003;
  border-bottom: 1px solid #0003;
  grid-template-rows: auto;
  grid-template-columns: 3fr 3fr;
  align-items: start;
  margin-top: 2rem;
  padding-left: 0;
  padding-right: 2rem;
  display: grid;
}

.finishing-list {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-direction: column;
  margin: 0;
  padding: .5rem 0 0;
  display: flex;
  overflow: hidden;
}

.finishing-item {
  letter-spacing: .06rem;
  cursor: pointer;
  border-bottom: 1px solid #ffffff0d;
  margin-bottom: -1px;
  padding: 1.5rem 2rem;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
  transition: all .555s ease-out;
  position: relative;
  box-shadow: 0 1px #0003;
}

.finishing-item.is-active {
  color: var(--orange);
  padding-left: 4rem;
}

.finishing-image-col {
  border-left: 1px solid #0003;
  justify-content: flex-end;
  align-items: flex-end;
  height: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  position: relative;
}

.finishing-sticky {
  aspect-ratio: 3 / 2;
  background-color: #111;
  width: 30rem;
  height: 21.875rem;
  position: sticky;
  bottom: 2rem;
  overflow: hidden;
}

.image-layer {
  object-fit: cover;
  will-change: transform, clip-path, filter;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax-wrapper {
  width: 20rem;
  height: 20rem;
  position: relative;
  overflow: hidden;
}

.parallax-wrapper.right {
  aspect-ratio: 1;
  height: 15rem;
}

.wrapper-card {
  flex-direction: column;
  margin-top: 3rem;
  display: flex;
  position: relative;
}

.card-header {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.card-num {
  font-size: 1.5rem;
  font-weight: 300;
}

.card-title {
  text-transform: uppercase;
  max-width: 60%;
  font-size: 1.8rem;
  line-height: 1;
}

.wrapper-process {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.card-sticky {
  z-index: 3;
  will-change: transform;
  background-color: #f0efeb;
  flex-direction: column;
  justify-content: space-between;
  height: 60vh;
  padding-left: 2rem;
  padding-right: 2rem;
  position: sticky;
}

.wrapper-header-p {
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
}

.section-process {
  background-color: #f0efeb;
  padding-top: 4rem;
  padding-bottom: 2rem;
}

.borders-div {
  border-top: 1px solid #0003;
  border-left: 1px solid #0003;
  border-right: 1px solid #0003;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: 2rem;
  display: flex;
}

.borders-div.no-top-b {
  border-top-style: none;
}

.image-p {
  object-fit: cover;
  background-image: url('../img/frame_1605.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.image-p.approval {
  background-image: url('../img/frame_1798.webp');
}

.image-p.print {
  background-image: url('../img/frame_4159.webp');
}

.image-p.archive {
  background-image: url('../img/frame_4464.webp');
}

.section-image {
  background-color: #f0efeb;
  border-bottom: 1px solid #0003;
  height: 100vh;
  position: relative;
  overflow: visible;
}

.section-image.n {
  border-bottom-style: none;
  height: auto;
  padding-top: 4rem;
  overflow: visible;
}

.video {
  object-fit: cover;
  background-image: url('../img/frame_2089.webp');
  background-position: 0%;
  background-size: cover;
  width: 100%;
  height: 120%;
}

.page-wrapper {
  background-color: #fff;
}

.breadcrumbs {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-color: #f4f4f6;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0;
  padding: 5.8rem 2rem 1.2rem;
  font-size: .7rem;
  display: flex;
}

.current {
  font-weight: 500;
}

.type-switcher-wrapper {
  z-index: 90;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #fff;
  border-top: 1px solid #0003;
  border-bottom: 1px solid #0003;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  font-weight: 400;
  display: flex;
  position: sticky;
  top: 4.375rem;
}

.filter-group-badge {
  opacity: 0;
  color: #000;
  justify-content: center;
  align-items: center;
  font-size: .8rem;
  font-weight: 500;
  transition: all .333s cubic-bezier(.455, .03, .515, .955);
}

.type-switcher-label {
  margin-right: .5rem;
}

.type-btn {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 1.25rem 1.1rem;
  font-size: .9rem;
  font-weight: 400;
  transition: color .444s, background-color .444s;
  display: flex;
}

.type-btn:hover {
  color: var(--orange);
  background-color: #f4f4f6;
}

.type-btn.w--current {
  display: none;
}

.catalog-page {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background-color: #fff;
  grid-template-rows: auto;
  grid-template-columns: minmax(auto, .25fr) 1fr;
  min-height: calc(100vh - 6rem);
  display: grid;
  position: relative;
}

.filter-heading {
  letter-spacing: .04em;
  flex: none;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1.6rem;
  padding-right: 1rem;
  font-size: .8125rem;
  display: flex;
}

.filter-reset {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  cursor: pointer;
  background-color: #fff;
  border-style: none;
  border-width: 0;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  transition: color .444s;
  display: flex;
}

.filter-reset:hover {
  color: var(--orange);
}

.filters-sidebar-content {
  flex: auto;
  min-height: 0;
  padding-bottom: 12rem;
  overflow: auto;
}

.landing-context-banner {
  margin-bottom: 1rem;
  display: none;
}

.landing-context-banner.is-visible {
  display: none;
}

.landing-banner-inner {
  font-size: .8rem;
}

.filter-group {
  flex-flow: column;
  margin-bottom: .5rem;
}

.filter-group-title {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border: 0 #0000;
  border-bottom: 1px solid #d8d8df;
  justify-content: flex-start;
  align-items: flex-end;
  padding-top: .5rem;
  padding-bottom: 1rem;
  padding-right: 2rem;
  font-size: .9rem;
  display: flex;
}

.filter-group-title.filter-accordion-toggle {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  font-size: .9rem;
  transition: color .444s, padding .444s;
}

.filter-group-title.filter-accordion-toggle:hover {
  color: var(--orange);
}

.accordion-arr {
  margin: 0 0 0 auto;
  font-size: 14px;
}

.filter-accordion-body {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
  overflow: hidden;
}

.filter-accordion-inner {
  min-height: 0;
  margin-left: -1px;
  padding-top: 1rem;
  padding-left: 1rem;
  padding-right: 1.3rem;
}

.filter-option-wrap {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.filter-option {
  z-index: 40;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  margin-bottom: .5rem;
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: .9rem;
  font-weight: 300;
  line-height: 1.1;
  transition-property: all;
  transition-duration: .444s;
  transition-timing-function: cubic-bezier(.455, .03, .515, .955);
  display: flex;
}

.filter-option:hover {
  color: var(--orange);
}

.filter-checkbox {
  border: 1px solid #0003;
  border-radius: 1px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  display: flex;
  position: relative;
}

.tooltip {
  z-index: 50;
  opacity: 0;
  letter-spacing: .02rem;
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #0003;
  flex-flow: column;
  width: 100%;
  padding: 1rem;
  transition-property: all;
  transition-duration: .444s;
  transition-timing-function: cubic-bezier(.215, .61, .355, 1);
  position: absolute;
  top: 100%;
  right: 0;
  transform: translateY(6px)scale(.97);
}

.tooltip.is-active {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0)scale(1);
}

.tooltip-arrow {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: #ffffffbf;
  border-top: 1px solid #d8d8df;
  border-bottom: 0 #0000;
  border-left: 0 #0000;
  border-right: 1px solid #d8d8df;
  width: 10px;
  height: 10px;
  position: absolute;
  top: -.375rem;
  right: .5rem;
  transform: rotate(-45deg);
}

.tooltip-title {
  margin-bottom: .6rem;
  font-size: .8125rem;
  font-weight: 500;
}

.tooltip-desc {
  margin-bottom: 1rem;
  font-size: .8rem;
  font-weight: 300;
  line-height: 1.2;
}

.tooltip-link:hover {
  opacity: .8;
}

.filter-mobile-footer {
  display: none;
}

.catalog-content {
  border-left: 1px solid #0003;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
}

.taxonomy-hero {
  background-color: #f4f4f6;
  flex-flow: row;
  min-height: 17.5rem;
  margin-bottom: 2rem;
  display: flex;
  position: relative;
  overflow: visible;
}

.taxonomy-hero-content {
  z-index: 2;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  background-color: #fff;
  border: 1px solid #0003;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
  padding: 2.2rem 2rem 1.5rem;
  display: flex;
  position: relative;
}

.hero-badge {
  color: #333333d9;
  letter-spacing: .04rem;
  text-transform: uppercase;
  align-self: flex-start;
  font-size: .7rem;
  font-weight: 400;
}

.hero-actions {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  display: flex;
}

.taxonomy-hero-visual {
  flex: 1;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
  overflow: visible;
}

.css-abstract-bg {
  width: 100%;
  position: sticky;
  top: 7.8rem;
}

.catalog-header {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  align-items: center;
  margin: 0 0 20px;
  display: flex;
}

.catalog-title {
  margin-bottom: .9rem;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 600;
}

.catalog-count {
  font-size: .8125rem;
}

.product-grid {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
}

.no-results {
  text-align: center;
  border: 1px solid #0003;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  margin-top: 0;
  padding: 4rem 2rem;
  display: none;
}

.no-results.is-visible {
  justify-content: center;
  align-items: center;
  display: flex;
}

.no-results-title {
  font-size: 1.4rem;
  font-weight: 600;
}

.no-results-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px #ff8d004d;
}

.filters-sidebar {
  z-index: 2;
  max-height: min(calc(100vh - 8rem), var(--sb-room, 100vh));
  flex-flow: column;
  align-self: start;
  padding-top: 1.8rem;
  font-weight: 400;
  display: flex;
  position: sticky;
  top: 7.5rem;
  overflow: hidden;
}

.locked-group-title {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: flex-start;
  align-items: flex-end;
  font-size: .9rem;
  font-weight: 400;
  display: flex;
}

.locked-option {
  border-left: 2px solid var(--orange);
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-left: 1rem;
  display: flex;
}

.locked-option:hover {
  opacity: .7;
}

.locked-cross {
  color: var(--muted);
  justify-content: center;
  align-items: center;
  padding: 4px;
  transition: color .2s;
  display: flex;
}

.info-btn {
  color: #000000b5;
  cursor: pointer;
  background-color: #fff0;
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  padding-left: .3rem;
  padding-right: .3rem;
  transition: all .333s;
  position: relative;
  will-change: transform;
}

.info-btn:hover,
.info-btn.is-active {
  color: var(--orange);
  transform: scale(1.08);
}

.mobile-toolbar {
  display: none;
  /* При ЗАКРЫТИИ: ждем 0.4s (пока уедет список), затем скругляем углы за 0.2s */
  transition: border-radius 0.4s var(--ease-main) 0.4s;
}

.type-switcher {
  flex-flow: row;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: .9rem;
  display: flex;
}

.clened-css {
  display: none;
}

.filter-close {
  color: #000;
  cursor: pointer;
  background-color: #f0bbbb00;
  border: 0 #0000;
  border-radius: .2rem;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: .3rem;
  font-size: 1.6rem;
  transition: all .555s;
  position: relative;
  transform: rotate(0);
}

.filter-close:hover {
  color: var(--orange);
  border-color: #00000029;
  transform: rotate(90deg);
}

.footer-author {
  color: #000;
  padding-top: .325rem;
  padding-bottom: .325rem;
  font-family: Geist, sans-serif;
  position: relative;
  overflow: hidden;
}

.wrapper-box-lines {
  box-sizing: border-box;
  border-top: 1px solid #00000026;
  width: 100%;
  padding-top: 0;
  padding-bottom: 6rem;
}

.grid-about {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: .5fr .5fr;
  grid-auto-columns: 1fr;
  padding-top: 0;
  padding-bottom: 0;
  display: grid;
}

.footer-meta-row {
  z-index: 10;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 2rem;
  font-family: Geist, sans-serif;
  font-size: .85rem;
  display: flex;
  position: relative;
}

.about-label-col {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: column;
  padding-top: 6rem;
  padding-bottom: 6rem;
  padding-left: 2rem;
  display: flex;
}

.footer-huge-logo {
  color: #000;
  letter-spacing: -.04em;
  flex: 0 auto;
  font-family: Geist, sans-serif;
  font-size: clamp(4rem, 28vw, 32rem);
  font-weight: 900;
  display: block;
}

.tech-tag {
  color: gray;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: Geist, Roboto, sans-serif;
  font-size: .75rem;
}

.footer-huge-logo-wrap {
  z-index: 1;
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 2rem;
  line-height: .7;
  display: flex;
  position: relative;
}

.footer-contact-text {
  color: #000;
  margin: 0;
  font-family: Geist, sans-serif;
  font-size: 1rem;
  line-height: 1.4;
}

.footer-links-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.footer-col-title {
  color: #000;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-family: Geist, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}

.footer-premium {
  box-sizing: border-box;
  background-color: #ff8c00;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.footer-col {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.container-footer {
  box-sizing: border-box;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  padding-bottom: 0;
  display: flex;
}

.footer-grid-row {
  z-index: 10;
  grid-column-gap: 3.75rem;
  grid-row-gap: 3.75rem;
  border-bottom: 1px #00000026;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1.2fr;
  padding: 6rem 2rem 4rem;
  display: grid;
  position: relative;
}

.footer-cta-row {
  z-index: 10;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border: 1px solid #0003;
  border-left: 0 #0000;
  border-right: 0 #0000;
  grid-template-rows: auto;
  grid-template-columns: 1fr .5fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  padding-left: 2rem;
  padding-right: 2rem;
  display: block;
  position: relative;
}

.par-container {
  z-index: 2;
  position: relative;
  overflow: visible;
}

.par-overlay {
  z-index: 10;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 200lvh;
  padding-top: clamp(15lvh, 22lvh, 320px);
  display: flex;
  position: relative;
  overflow: hidden;
}

.par-parallax-canvas {
  z-index: 5;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
  -webkit-mask-image: linear-gradient(#0000 0%, #000 7% 93%, #0000 100%);
  mask-image: linear-gradient(#0000 0%, #000 7% 93%, #0000 100%);
}

.par-card {
  will-change: transform, opacity;
  transform-origin: center;
  contain: layout paint;
  background-color: #e5e7eb;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.par-center-type {
  z-index: 25;
  grid-column-gap: 1.8rem;
  grid-row-gap: 1.8rem;
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.par-badge {
  color: #000;
  text-transform: uppercase;
  pointer-events: auto;
  font-size: .9rem;
  font-weight: 400;
}

.par-title {
  pointer-events: auto;
  color: #000;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 0;
  margin-right: 0;
  font-family: Playfair Display, sans-serif;
  font-size: 5rem;
  font-weight: 600;
  line-height: .9;
}

.orange-t {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  color: var(--orange);
  letter-spacing: .1rem;
  text-transform: none;
  justify-content: center;
  align-items: flex-end;
  font-weight: 700;
  display: block;
  position: relative;
}

.bold-numers {
  display: block;
}

.product-page {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  padding-top: 2rem;
  padding-bottom: 6rem;
  display: grid;
}

.product-title {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 2rem;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.1;
}

.specs-table {
  letter-spacing: .02rem;
  border-collapse: collapse;
  flex-flow: column;
  width: 100%;
  margin-top: 2rem;
  line-height: 1.4;
}

.product-brief {
  background-color: #f4f4f6;
  margin-top: 3rem;
  margin-bottom: 0;
  margin-right: 0;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.brief-header {
  margin: 0 0 24px;
}

.brief-title {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  letter-spacing: .02rem;
  align-items: center;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  display: flex;
}

.brief-subtitle {
  letter-spacing: .02rem;
  font-size: .9rem;
  line-height: 1.4;
}

.brief-base {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: #1b1b1d;
  background-color: #fff;
  align-items: center;
  padding: 1rem;
  font-size: .9rem;
  display: flex;
}

.brief-grid {
  flex-flow: column;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 2rem;
  display: block;
}

.brief-field.full {
  grid-column: 1 / -1;
}

.brief-finishing {
  margin-bottom: 2rem;
}

.finishing-selector {
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  flex-wrap: wrap;
  display: flex;
}

.finish-input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.finish-name {
  padding-top: 8px;
  padding-bottom: 8px;
}

.requirements-link {
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  color: #000;
  align-items: center;
  font-size: .6875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .444s;
  display: inline-flex;
}

.requirements-link:hover {
  color: var(--orange);
}

.upload-zone {
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  border: 2px dashed #d8d8df;
  padding: 2rem;
  transition: all .444s;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.upload-zone:hover {
  background-color: #ff8d0005;
  border-color: #000;
}

.upload-content {
  grid-column-gap: .7rem;
  grid-row-gap: .7rem;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.upload-text {
  color: #1b1b1d;
  font-size: 14px;
  font-weight: 500;
}

.upload-limit {
  color: #6e6e72;
  font-size: 11px;
}

.upload-file-info {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  background-color: #ececee;
  border: 1px solid #d8d8df;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 12px 20px;
  display: flex;
}

.file-name {
  color: #1b1b1d;
  font-size: 14px;
  font-weight: 600;
}

.file-remove {
  color: #000;
  cursor: pointer;
  background-color: #eee;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: .8rem;
  transition: all .444s;
  display: flex;
}

.file-remove:hover {
  background-color: var(--orange);
  color: #000;
}

.brief-actions {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 2rem;
  display: flex;
}

.brief-actions.notfound {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}

.brief-actions.cart-succes {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.brief-actions.privacy {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  display: none;
}

.brief-note {
  letter-spacing: 0;
  border: 0 #0000;
  border-top: 1px solid #ffffff0d;
  align-items: center;
  font-size: .8rem;
  font-weight: 300;
  line-height: 1.3;
  display: flex;
}

.back-catalog-link {
  grid-column-gap: .6rem;
  grid-row-gap: .6rem;
  border: 1px solid #0003;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  padding: 1rem;
  font-size: .9rem;
  font-weight: 400;
  transition: all .444s;
  display: flex;
}

.back-catalog-link:hover {
  color: var(--orange);
  border-color: #0000004d;
}

.footer-link {
  color: #000;
  padding-top: .3125rem;
  padding-bottom: .3125rem;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.footer-link.contact {
  font-weight: 500;
}

.theme-color-bar {
  justify-content: flex-end;
  align-items: flex-end;
  height: 100%;
  padding-top: .2rem;
  padding-bottom: .2rem;
}

.wraper-section-video {
  height: 100%;
  overflow: hidden;
}

.cookie-banner {
  z-index: 99999;
  grid-column-gap: 1.2rem;
  grid-row-gap: 1.2rem;
  opacity: 0;
  background-color: #ffffffd9;
  border: 1px solid #ffffff80;
  border-radius: 1rem;
  flex-direction: column;
  max-width: 420px;
  padding: 1.5rem;
  font-family: Geist, sans-serif;
  display: none;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
}

.cookie-banner.is-visible {
  opacity: 1;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  justify-content: flex-end;
  align-items: stretch;
  transition: opacity .555s;
  display: flex;
}

.cookie-actions {
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  flex-direction: column;
  display: flex;
}

.cookie-links {
  text-align: center;
  margin: .5rem 0 0;
}

.cookie-modal-overlay {
  z-index: 100000;
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: #0006;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0;
}

.cookie-modal-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
  display: flex;
}

.cookie-modal-content {
  background-color: #fff;
  border-radius: 1rem;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 90%;
  max-width: 450px;
  padding: 2.5rem 2rem;
  font-family: Geist, sans-serif;
  display: flex;
  transform: scale(.95);
  box-shadow: 0 10px 40px #0003;
}

.cookie-option {
  border: 0 #0000;
  border-bottom: 1px solid #eee;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  display: flex;
}

.wrapper-btn-cookie {
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
}

.svg-reset {
  order: 9999;
  width: 1.1rem;
}

.product-grid-main-page {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-columns: 1fr 1fr 1fr 1fr 1.5fr;
  grid-auto-columns: 1fr;
  margin-top: 2rem;
  display: grid;
}

.img-catalog {
  aspect-ratio: 3 / 2;
  cursor: pointer;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .666s;
  position: relative;
  top: 0;
}

.img-catalog.absolut {
  z-index: 2;
  filter: brightness(130%);
  contain: layout style;
  transition-property: none;
  position: absolute;
  transform: translate(0, 0) !important;
  clip-path: inset(50% 0 50% 0);
  /* ИСПРАВЛЕНО: убрана запятая, добавлена точка с запятой */
  transition: clip-path .666s cubic-bezier(0.455, 0.03, 0.515, 0.955),
    filter .666s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.lightbox-container {
  z-index: 10000;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 80px 20px 140px;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}

.lightbox-container.active {
  display: flex;
}

.lightbox-counter {
  z-index: 10002;
  color: #fff;
  letter-spacing: .5px;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  position: fixed;
  top: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
}

.lightbox-arrow {
  z-index: 10002;
  opacity: .7;
  cursor: pointer;
  background-color: #0000;
  border-style: none;
  border-width: 0;
  justify-content: center;
  align-items: center;
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-arrow:hover {
  opacity: 1;
}

.lightbox-arrow.left {
  left: 1.25rem;
}

.lightbox-arrow.right {
  right: 1.25rem;
}

.lightbox-spinner {
  border: 3px solid #ffffff4d;
  border-top-color: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: .8s linear infinite spin;
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lightbox-image-wrapper {
  opacity: 0;
  transform: scale(.95);
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  max-width: 90vw;
  max-height: calc(100vh - 240px);
  margin: 0 auto;
}

.lightbox-thumbnails {
  z-index: 10001;
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: 1.25rem;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}

.lightbox-overlay {
  z-index: 9999;
  opacity: 0;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  cursor: zoom-out;
  background-color: #000000e6;
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}

.lightbox-overlay.active {
  opacity: 1;
  display: block;
}

.heading-catalog {
  margin-top: .3rem;
  margin-bottom: .5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}

.heading-catalog.cartedit {
  margin-bottom: 2rem;
}

.wraper-light-box-catalog {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.catalog-badge {
  z-index: 6;
  opacity: 0;
  color: #000;
  cursor: pointer;
  background-color: #fff;
  padding: .6rem .7125rem;
  font-size: .8rem;
  font-weight: 400;
  transition: all .444s;
  display: block;
  position: absolute;
  bottom: .625rem;
  left: auto;
  right: .625rem;
}

.catalog-badge:hover {
  color: #fff;
  background-color: #000;
}

.section-catalog {
  border-bottom: 1px solid #0003;
  margin-bottom: 6rem;
}

.text-no-found-search {
  letter-spacing: .02rem;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  padding-left: 5rem;
  padding-right: 5rem;
  font-size: 1.06rem;
  line-height: 1.3;
  display: block;
}

.lightbox-close {
  color: #fff;
  cursor: pointer;
  border: 0 #0000;
  border-radius: .2rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  padding: .3rem;
  transition: all .555s;
  display: flex;
  position: absolute;
  inset: 2rem 2rem auto auto;
  transform: rotate(0);
}

.lightbox-close:hover {
  color: var(--orange);
  border-color: #00000029;
  transform: rotate(90deg);
}

.line-table {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: 1px solid #0003;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2fr;
  grid-auto-columns: 1fr;
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: grid;
}

.table-name {
  font-weight: 500;
}

.section-technology {
  background-color: #f0efeb;
  border-bottom: 1px solid #0003;
  padding-top: 6rem;
  padding-bottom: 4rem;
}

.section-about {
  background-color: #f0efeb;
  padding-top: 4rem;
  padding-bottom: 0;
}

.wrapper-text-product {
  padding-right: 2rem;
}

.g-card {
  aspect-ratio: 3 / 2;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.g-card.gallery-thumb.active {
  opacity: .5;
}

.gallery-main-video {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: 1;
}

.gallery-thumbs {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  display: grid;
}

.mobile-slider-counter {
  display: none;
}

.gallery-static {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  width: 100%;
  display: flex;
  position: sticky;
  top: 7.5rem;
}

.input {
  border: 1px #000;
  width: 100%;
  padding: .7rem 1rem;
  font-size: 1rem;
  transition: all .333s;
}

.label {
  margin-bottom: .7rem;
  font-size: .75rem;
  font-weight: 500;
}

.mega-pill-form {
  color: #333;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #0000;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
  padding: .7rem 16px;
  font-size: .9rem;
  font-weight: 400;
  text-decoration: none;
  transition: all .555s;
  display: block;
  position: relative;
}

.mega-pill-form:hover {
  color: var(--orange);
  border-color: #00000021;
}

.div-flex-from {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.btn-black {
  color: #fff;
  text-align: center;
  letter-spacing: .02rem;
  background-color: #000;
  padding: .8rem 2rem;
  transition: all .444s;
}

.btn-black:hover {
  color: #000;
  background-color: #0000;
  box-shadow: inset 0 0 0 1px #000;
}

.btn-black.cart {
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.btn-black.editable {
  width: 100%;
}

.btn-black.cart-success {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  justify-content: center;
  align-items: center;
  padding-top: .8rem;
  padding-bottom: .8rem;
  display: flex;
}

.svg-folder {
  width: 3rem;
}

.lightbox-caption {
  opacity: 0;
  backdrop-filter: blur(16px);
  pointer-events: none;
  color: #fff;
  background-color: #0006;
  border: 1px solid #ffffff26;
  border-style: solid solid none none;
  padding: 1rem;
  font-size: .85rem;
  transition: opacity .2s;
  display: block;
  position: absolute;
  inset: auto auto 0 0%;
  max-width: calc(100% - 32px);
  -webkit-backdrop-filter: blur(16px);
}

.cart-page {
  background-color: #fff;
  padding-top: 2rem;
  padding-bottom: 6rem;
}

.cart-header {
  border: 0 #0000;
  border-bottom: 1px solid #0003;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
}

.cart-count-top {
  color: #000;
  font-size: .8rem;
}

.cart-content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  height: 0;
  min-height: 100%;
  max-height: 100%;
  padding-left: 2rem;
  display: flex;
  overflow: hidden;
}

.cart-empty-box {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 70vh;
  display: none;
}

.cart-empty-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 30px #00000026;
}

.cart-item-mockup-tag {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-color: #f4f4f6;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: .4rem .5rem;
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.3;
  display: inline-flex;
}

.checkout-box {
  background-color: #f4f4f6;
  border-bottom: 1px #0003;
  border-left: 1px solid #0003;
  padding: 0 2rem 2rem;
}

.checkout-type-tabs {
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: flex;
}

.checkout-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 2rem;
  display: grid;
}

.form-field {
  flex-direction: column;
  display: flex;
}

.form-field.form-legal-only {
  display: none;
}

.form-field.full {
  grid-column: 1 / -1;
  width: 100%;
}

.checkout-success-block {
  height: 70vh;
  display: none;
}

.success-icon-wrap {
  background-color: #f4f4f6;
  border: 1px solid #0003;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  margin-bottom: 2rem;
  display: flex;
  position: relative;
}

.success-title {
  letter-spacing: -.02em;
  margin-bottom: 1.5rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

.success-desc {
  text-align: center;
  max-width: 31rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
  line-height: 1.2;
}

.success-order-box {
  background-color: #00000008;
  border: 1px dashed #0000001a;
  margin-bottom: 2.25rem;
  padding: 1rem 2.25rem;
  box-shadow: inset 0 2px 4px #00000003;
}

.success-order-label {
  color: #333333b3;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .4rem;
  font-size: .6875rem;
  font-weight: 500;
  display: block;
}

.success-order-num {
  color: #333;
  letter-spacing: .125rem;
  font-size: 1.5rem;
  font-weight: 800;
}

.success-pdf-btn:hover {
  color: #000;
  background-color: #fff;
}

.success-pdf-btn.is-hidden {
  display: none !important;
}

.modal {
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background-color: #0009;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100% !important;
}

.modal.is-open {
  cursor: pointer;
  animation: .25s ease-out fadeIn;
  display: flex;
}

.modal-content {
  cursor: auto;
  background-color: #f4f4f6;
  border: 1px solid #d8d8df;
  width: 100%;
  max-width: 33rem;
  padding-top: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  position: relative;
  overflow: auto;
  box-shadow: 0 20px 50px #0000004d;
}

.policy-checkbox {
  z-index: 40;
  grid-column-gap: .7rem;
  grid-row-gap: .7rem;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: .5rem;
  padding-top: .25rem;
  padding-bottom: .25rem;
  font-size: .8rem;
  font-weight: 300;
  line-height: 1.1;
  transition-property: all;
  transition-duration: .444s;
  transition-timing-function: cubic-bezier(.455, .03, .515, .955);
  display: flex;
  position: relative;
}

.checkbox {
  border: 1px solid #0003;
  border-radius: 1px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1rem;
  height: 1rem;
  display: flex;
  position: relative;
}

.policy-link {
  font-weight: 700;
  transition: all .555s;
  display: inline;
}

.policy-link:hover {
  color: var(--orange);
}

.grid-cart {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-bottom: 1px solid #0003;
  grid-template-rows: auto;
  grid-template-columns: 1.85fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cart-column-header {
  color: #000;
  border-bottom: 1px solid #000000a6;
  justify-content: space-between;
  margin-top: 2.5rem;
  padding-bottom: 1rem;
  font-size: .8rem;
  display: flex;
}

.type-tab {
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #000;
  width: 100%;
  padding: .7rem 1rem;
  font-size: .9rem;
  font-weight: 300;
  transition: all .555s;
  position: relative;
}

.type-tab.is-active {
  color: #fff;
  background-color: #000;
}

.wrapper-item-cart {
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.item-top {
  color: #333333d9;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: .9rem;
  font-size: .7rem;
  display: flex;
}

.val {
  color: #000;
  letter-spacing: .03rem;
  text-transform: none;
  font-size: .75rem;
  font-weight: 300;
}

.finishing-types-cart {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border-top: 1px dotted #0006;
  flex-flow: wrap;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: flex;
}

.finishing-cart-t {
  color: #000;
  text-transform: uppercase;
  background-color: #f4f4f6;
  padding: .4rem .3rem;
  font-size: .625rem;
  font-weight: 400;
}

.span-left-auto {
  margin-left: auto;
}

.cart-item-row {
  border-bottom: 1px solid #0003;
  flex-flow: column;
  justify-content: space-between;
  width: 100%;
  padding-top: 1.3rem;
  padding-bottom: 1.5rem;
  display: none;
  position: relative;
}

.img-cart-row {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  max-height: 5rem;
}

.wrapper-cart-comments {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.modal-close {
  color: #000;
  cursor: pointer;
  background-color: #f0bbbb00;
  border: 0 #0000;
  border-radius: .2rem;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  margin-left: auto;
  padding-left: .3rem;
  padding-right: .3rem;
  font-size: 1.6rem;
  transition: all .555s;
  display: block;
  position: relative;
  transform: rotate(0);
}

.modal-close:hover {
  color: var(--orange);
  border-color: #00000029;
  transform: rotate(90deg);
}

.author-link-wrapper {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: center;
  align-items: center;
  display: flex;
}

.contact-info-wrapper {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 1rem;
  display: grid;
}

.contact-info-wrapper.padding {
  border-top: 1px solid #0003;
  margin-top: 1rem;
  padding-top: 2.5rem;
}

.adress-wrapper {
  grid-column-gap: .8rem;
  grid-row-gap: .8rem;
  color: #333333d9;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: .7rem;
  display: flex;
}

.address-text {
  color: #000;
  font-size: 1.3rem;
  line-height: 1.2;
}

.address-text.shorter {
  padding-top: .3rem;
  padding-bottom: .1rem;
}

.address-text.privacy-t {
  font-size: 1rem;
}

.form-contact {
  margin-top: 2rem;
}

.contact-text {
  font-size: .8rem;
  line-height: 1.2;
}

.contact-text.pad {
  width: 19.5rem;
  margin-bottom: .5rem;
}

.contact-text.privacy-t {
  line-height: 1.4;
}

.cart-items-scroll {
  flex: auto;
  min-height: 0;
  padding-right: 1.25rem;
  overflow: auto;
}

.contact-content {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  padding-left: 2rem;
  display: flex;
}

.contact-link-text {
  color: #000;
  padding-top: .3125rem;
  padding-bottom: .3125rem;
  font-size: 1.3rem;
  line-height: 1;
  position: relative;
  overflow: hidden;
}

.privacy-page {
  background-color: #fff;
  padding-top: 2rem;
  padding-bottom: 6rem;
}

.privacy-grid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2.75fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.wrapper-privacy-text {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-bottom: 1px solid #0003;
  flex-flow: column;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
}

.left-privacy-col {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  background-color: #f4f4f6;
  border-bottom: 1px solid #0003;
  border-right: 1px solid #0003;
  flex-flow: column;
  height: 100vh;
  padding: 0 2rem 2rem;
  display: flex;
  position: sticky;
  top: 4.4rem;
}

.text-block-2 {
  color: #333333d9;
}

#w-node-_4b5da324-19a8-fb4b-09b5-4e7277205cb9-f1a479b8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_346c58ea-a8d4-56f9-6bed-16c352a28c1f-f1a479b8,
#w-node-_1428c6ad-044a-214e-9779-1d64ee41a9f5-f1a479b8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_8ee579ed-8db8-4645-39e6-d978cce335ac-f1a479b8 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#w-node-_75fae03d-6cf0-7fca-afbb-ca6ce45a1a35-f1a479b8,
#w-node-_2916766c-56f1-b51e-b5e5-095bf744c60c-f1a479b8,
#w-node-_2ce4a69d-572d-5b70-5111-e2a58481125f-f1a479b8 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_26094d88-d060-97a1-f5f0-ad1fab410819-ab4107e5 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-a5f87bd4-dc36-1f85-368f-23d9a98654b6-56789157,
#w-node-e85811a8-fc9f-478f-40af-31b393f46a34-56789157,
#w-node-fb260f2c-0c44-472d-fea0-a5a948faf27c-56789157,
#w-node-_554c8a5d-8d29-c0ee-239e-b78146bb621f-1cfc8aa6,
#w-node-_99b1dbfd-4979-bbe7-b804-103746951bdd-9b0cbbf7 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_99b1dbfd-4979-bbe7-b804-103746951c14-9b0cbbf7,
#w-node-_99b1dbfd-4979-bbe7-b804-103746951c2a-9b0cbbf7,
#w-node-_99b1dbfd-4979-bbe7-b804-103746951c2e-9b0cbbf7 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-f2a7d7ec-dae4-9c44-cb5a-eacf518850b2-fc2833bd {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_47a37a1e-53a9-2627-7fdd-14d1961025e2-fc2833bd,
#w-node-f2a7d7ec-dae4-9c44-cb5a-eacf51885112-fc2833bd,
#w-node-f2a7d7ec-dae4-9c44-cb5a-eacf51885116-fc2833bd,
#w-node-f2a7d7ec-dae4-9c44-cb5a-eacf5188511a-fc2833bd,
#w-node-_77259b94-5acf-ff56-ba57-365ac98af6c9-fc2833bd {
  grid-area: span 1 / span 2 / span 1 / span 2;
}


/* ═══════════════════════════════════════════
   Extracted inline \3c style> blocks
   ═══════════════════════════════════════════ */

/* — about.html — */

/* Tablet (Portrait & Landscape) */

/* Mobile Landscape */

/* Mobile Portrait */

[data-cart-item="template"],
#cartItemTemplate,
.is-hidden {
  display: none !important;
}

[data-barba-namespace='home'] {
  --nav-blend-mode: difference;
  --nav-color: #ffffff;
  --nav-bg-color: transparent;
  --border-color: rgba(255, 255, 255, 0.48);
  --border-top-color-menu: 1px solid rgba(0, 0, 0, 0.19);
  --nav-border-bottom-color: 0px solid rgba(0, 0, 0, 0);
}

.contact__transition::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #f4f4f6;
  clip-path: var(--clip);
  pointer-events: none;
  z-index: 99999;
}

html.lenis-scrolling .nav {
  pointer-events: auto !important;
}

/* Блокировка pointer-events во время переходов Barba */
body.is__transitioning,
body.is__transitioning *,
.is__transitioning,
.is__transitioning *,
.contact__transition,
.contact__transition * {
  pointer-events: none !important;
}

/* Блокировка скролла во время открытого меню или корзины */

.cart-drawer-body,
.filters-sidebar,
.mega-dropdown,
.modal {
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
}

.section-about-page {
  --padding-container: 0rem;
}

.section-architecture,
.section-technology,
.section-process,
.section-about,
.cart-page,
.privacy-page {
  --padding-container: 0rem;
}

.section-type,
.section-catalog,
.section-product,
.section-technology,
.section-process,
.section-about,
.cart-page,
.privacy-page {
  --overflow-state: visible;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

html.is-preloading,
html.is-preloading body {
  background-color: black;
  overflow: hidden !important;
  height: 100% !important;
}

html.is-preloading .wrapper-page {
  clip-path: inset(50dvh 100% 50dvh 0%);
  -webkit-clip-path: inset(50dvh 100% 50dvh 0%);
  transform: scale(1.1);
  transform-origin: 50vw 50dvh;
}

#remas-preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  background: transparent;
  pointer-events: none;
}

.preloader-counter-r {
  position: absolute;
  bottom: 0%;
  right: 0%;
  padding-right: 2rem;
  padding-bottom: 3rem;
  font-family: 'Geist', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.01rem;
}

.preloader-brand {
  position: absolute;
  bottom: 0%;
  left: 0%;
  padding-left: 2rem;
  padding-bottom: 3rem;
  font-family: 'Geist', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.01rem;
  text-transform: uppercase;
}

.preloader-tagline {
  position: absolute;
  top: 0%;
  padding-top: 2rem;
  font-family: 'Geist', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.01rem;
  text-transform: uppercase;
}

.preloader-tagline.is-left {
  left: 0%;
  padding-left: 2rem;
}

.preloader-tagline.is-right {
  right: 0%;
  padding-right: 2rem;
}

.Text-Span {
  font-family: Geist, sans-serif;
  font-weight: 400;
}

input[name="website"],
#smartCaptchaWrapper {
  display: none !important;
}

/* === 1. АККОРДЕОН === */
/* Скрытый контейнер (Идеально плавный 0fr) */
[data-drop="content"] {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  transition: grid-template-rows 0.4s var(--ease-main), visibility 0.4s var(--ease-main);
  will-change: grid-template-rows;
  /* Ускоряем пересчет высоты */
}

/* Открытое состояние (Идеальный 1fr) */
[data-drop="wrap"].is-active [data-drop="content"] {
  grid-template-rows: 1fr;
  visibility: inherit;
  /* Заменили visible на inherit */
  pointer-events: inherit;
}

/* Внутренний блок для правильного схлопывания */
[data-drop="inner"] {
  min-height: 0;
  overflow: hidden;
}

/* Поворот стрелочки */
[data-drop="wrap"] [data-drop="arrow"] {
  transition: transform 0.3s var(--ease-main);
  will-change: transform;
  /* Подготавливаем GPU к вращению */
}

[data-drop="wrap"].is-active [data-drop="arrow"] {
  transform: rotate(180deg);
}

[data-drop="wrap"].is-active .accordion-arr[data-drop="arrow"] {
  transform: rotate(270deg);
}

.type-switcher-wrapper[data-drop="wrap"].is-active .mobile-toolbar {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  transition: border-radius 0.3s var(--ease-main) 0s;
}

.type-switcher-dropdown[data-drop="content"] {
  /* При ЗАКРЫТИИ: список прячется сразу за 0.4s, задержка 0s */
  transition: grid-template-rows 0.4s var(--ease-main) 0s, visibility 0.4s var(--ease-main) 0s;
}

.type-switcher-wrapper[data-drop="wrap"].is-active .type-switcher-dropdown[data-drop="content"] {
  /* При ОТКРЫТИИ: список ждет 0.2s (пока углы станут прямыми), затем выезжает за 0.4s */
  transition: grid-template-rows 0.4s var(--ease-main) 0.2s, visibility 0.4s var(--ease-main) 0.2s;
}

/* === 2. УНИВЕРСАЛЬНЫЕ ТУЛТИПЫ ПО АТРИБУТАМ === */

/* Заранее готовим тултип к появлению */
[data-tooltip="content"] {
  will-change: transform, opacity;
}

/* Заранее готовим кнопку к увеличению (scale) */

/* Состояние для кликов на мобилках */
[data-tooltip="content"].is-active {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0) scale(1);
}

/* Создаем физический мост между кнопкой и окном */
[data-tooltip="content"]::before {
  content: "";
  position: absolute;
  top: -1.875rem;
  /* Перекрывает зазор от translateY и сдвига top */
  right: 0;
  width: 3.125rem;
  height: 1.875rem;
  background: transparent;
  cursor: pointer;
}

/* Расширяем область триггера, чтобы компенсировать микро-движения пальца/мыши */
[data-tooltip="trigger"]::after {
  content: "";
  position: absolute;
  inset: -0.625rem;
  background: transparent;
}

/* === 3. ТОЧЕЧНЫЙ ВЗЛОМ ДЛЯ ТУЛТИПОВ === */
/* Если внутри группы навели на кнопку, на тултип ИЛИ тултип активен по клику — выпускаем его за края */
[data-drop="wrap"]:has([data-tooltip="trigger"]:hover, [data-tooltip="content"]:hover, [data-tooltip="content"].is-active) [data-drop="content"],
[data-drop="wrap"]:has([data-tooltip="trigger"]:hover, [data-tooltip="content"]:hover, [data-tooltip="content"].is-active) [data-drop="inner"] {
  overflow: visible;
}

.player-wrapper:fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  border-radius: 0 !important;
  top: 0 !important;
  right: 0 !important;
}

.player-wrapper:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  border-radius: 0 !important;
  top: 0 !important;
  right: 0 !important;
}

#bgVideo,
[data-role='preview-video'],
[data-role='main-video'] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: inherit !important;
}

[data-role='preview-video'] {
  z-index: 1;
  opacity: 0.5;
}

[data-role='main-video'] {
  z-index: 2;
  opacity: 0;
}

[data-role='close-btn'] {
  position: fixed;
  top: 30px;
  right: 40px;
  z-index: 1010;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  background: white;
  border-radius: 0.3rem;
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.5s;
  backdrop-filter: blur(4px);
}

[data-role='close-btn']:hover {
  background: black;
}

[data-role='close-btn'] svg {
  width: 22px;
  height: 22px;
  stroke: black;
  transition: stroke 0.5s;
}

[data-role='close-btn']:hover svg {
  stroke: white;
}

.center-play-btn svg {
  width: 32px;
  height: 32px;
  fill: white;
  margin-left: 6px;
}

.progress-wrapper {
  width: 100%;
  padding: 10px 0;
  cursor: pointer;
}

.progress-container {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  position: relative;
  transition: height 0.2s ease;
}

.progress-filled {
  width: 0%;
  height: 100%;
  background: #fff;
  border-radius: 4px;
  pointer-events: none;
  position: relative;
}

.progress-thumb {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%) scale(0);
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.progress-wrapper:hover .progress-container,
.progress-wrapper.is-dragging .progress-container {
  height: 10px;
}

.progress-wrapper:hover .progress-thumb,
.progress-wrapper.is-dragging .progress-thumb {
  transform: translate(50%, -50%) scale(1);
}

.controls-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 40px 20px 20px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), transparent);
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  pointer-events: none;
  z-index: 20;
  color: white;
  font-family: 'Inter', Arial, sans-serif;
}

.controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.controls-left,
.controls-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

button.ui-btn {
  background: none;
  border: none;
  color: white;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 10px;
  border-radius: 8px;
  transition:
    background 0.2s,
    transform 0.1s;
  display: flex;
  align-items: center;
  justify-content: center;
}

button.ui-btn:hover {
  background: rgba(255, 255, 255, 0.15);
}

button.ui-btn:active {
  transform: scale(0.95);
}

button.ui-btn svg {
  width: 20px;
  height: 20px;
  fill: white;
}

[data-role='icon-fs-exit'] {
  display: none;
}

.time-display {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  opacity: 0.8;
  letter-spacing: 0.5px;
  pointer-events: none;
  user-select: none;
}

.volume-group {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
}

.volume-slider-wrap {
  width: 0;
  overflow: hidden;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
}

.volume-group:hover .volume-slider-wrap,
.volume-group.is-dragging .volume-slider-wrap {
  width: 80px;
}

.volume-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 80px;
  height: 4px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}

.volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}

.volume-slider::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
  border: none;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}

.ripple-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30%;
  z-index: 12;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.ripple-zone.left {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.15), transparent);
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}

.ripple-zone.right {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.15), transparent);
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}

.ripple-text {
  color: white;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.5);
  padding: 8px 12px;
  border-radius: 20px;
}

.quality-menu {
  position: absolute;
  bottom: 100%;
  right: -10px;
  background: rgba(28, 28, 28, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 8px;
  padding: 8px 0;
  min-width: 120px;
  display: none;
  flex-direction: column;
  z-index: 30;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  margin-bottom: 10px;
}

.quality-menu.show {
  display: flex;
}

.quility-c {
  position: relative;
}

.quality-item {
  background: none;
  border: none;
  color: white;
  text-align: left;
  padding: 8px 16px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.2s;
}

.quality-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

.quality-item.active {
  font-weight: bold;
  color: #4dabf7;
}

.quality-item.active::after {
  content: '✓';
}

.video-preloader {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.85);
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.video-preloader.is-active {
  opacity: 1;
  pointer-events: auto;
}

.video-preloader__spinner {
  box-sizing: border-box;
  margin: 0;
  width: 48px;
  height: 48px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  border-top-color: #ffffff;
  animation: spin 1s linear infinite;

  /* Защита от прыжков */
  display: inline-block;
  flex-shrink: 0;
  will-change: transform;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ════════════════════════════════════════
   1. ПЕРЕМЕННЫЕ (ГЛОБАЛЬНЫЕ НАСТРОЙКИ)
════════════════════════════════════════ */

/* ════════════════════════════════════════
   2. БАЗА + ДЕСКТОП 
════════════════════════════════════════ */
.mega-dropdown,
.cart-drawer,
.filters-sidebar {
  transition:
    opacity 0.4s var(--ease-main),
    visibility 0.4s,
    transform 0.6s var(--ease-main);
}

/* Задаём цвет по умолчанию для nav-link и чёрный для footer-link */

.footer-link,
.footer-author,
.contact-link-text {
  --line-color: #000000;
}

.link-orange {
  --line-color: var(--nav-color);
}

.contact-link-text:hover .text-m-inner,
.footer-author:hover .text-m-inner,
.nav-link:hover .text-m-inner,
.footer-link:hover .text-m-inner,
.mega-trigger.is-active .text-m-inner {
  transform: translateY(-100%) !important;
}

/* Общие стили полос */
.contact-link-text::before,
.contact-link-text::after,
.footer-author::before,
.footer-author::after,
.link-orange::before,
.link-orange::after,
.nav-link::before,
.nav-link::after,
.footer-link::before,
.footer-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 50%;
  height: 1px;
  background-color: var(--line-color);
  transition: transform 0.4s var(--ease-main);
  will-change: transform;
  backface-visibility: hidden;
}

/* Начальное состояние: левая половина */
.contact-link-text::before,
.footer-author::before,
.nav-link::before,
.link-orange::before,
.footer-link::before {
  left: 0;
  transform: scaleX(0) translateZ(0);
  transform-origin: left;
}

/* Начальное состояние: правая половина */
.contact-link-text::after,
.footer-author::after,
.nav-link::after,
.link-orange::after,
.footer-link::after {
  right: 0;
  transform: scaleX(0) translateZ(0);
  transform-origin: right;
}

/* Hover: левая половина */
.contact-link-text:hover::before,
.footer-author:hover::before,
.nav-link:hover::before,
.link-orange:hover::before,
.footer-link:hover::before {
  transform: scaleX(1) translateZ(0);
  transform-origin: right;
}

/* Hover: правая половина */
.contact-link-text:hover::after,
.footer-author:hover::after,
.nav-link:hover::after,
.link-orange:hover::after,
.footer-link:hover::after {
  transform: scaleX(1) translateZ(0);
  transform-origin: left;
}

.panel-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  transition: transform 0.15s var(--ease-main);
}

.mega-item.is-active .mega-tab {
  color: var(--orange);
  padding-left: 1rem;
}

/* Только глобальный скролл страницы */
html::-webkit-scrollbar {
  width: 2px;
}

html::-webkit-scrollbar-track {
  background: #191a21;
}

html::-webkit-scrollbar-thumb {
  background: #ffffff;
  border-radius: 6px;
}

.cart-items-scroll::-webkit-scrollbar,
.mega-chips::-webkit-scrollbar,
.cart-drawer-body::-webkit-scrollbar,
.mega-item-content::-webkit-scrollbar,
.modal::-webkit-scrollbar,
.modal-content::-webkit-scrollbar {
  width: 3px;
}

.filters-sidebar-content::-webkit-scrollbar,
.mega-item-content::-webkit-scrollbar {
  width: 0px;
}

.cart-items-scroll::-webkit-scrollbar-track,
.mega-chips::-webkit-scrollbar-track,
.cart-drawer-body::-webkit-scrollbar-track,
.modal::-webkit-scrollbar-track,
.modal-content::-webkit-scrollbar-track {
  background: transparent;
}

/* 1. Дефолтный светлый скроллбар для меню и корзины */
.cart-items-scroll::-webkit-scrollbar-thumb,
.mega-chips::-webkit-scrollbar-thumb,
.cart-drawer-body::-webkit-scrollbar-thumb {
  background: #d8d8df;
  border-radius: 10px;
}

/* 2. Только для модалки делаем ползунок темнее */
.modal::-webkit-scrollbar-thumb,
.modal-content::-webkit-scrollbar-thumb {
  background: #888888;
  /* можно сделать еще темнее, например #555555 или rgba(0, 0, 0, 0.4) */
  border-radius: 10px;
}

/* ГРИД ДЕСКТОПА */
.mega-sidebar,
.mega-item {
  display: contents;
}

.mega-item.is-active .mega-item-content {
  opacity: 1;
  visibility: inherit;
  pointer-events: inherit;
  transform: translateX(0);
  grid-template-rows: var(--grid-open);
  max-height: calc(100vh - 4rem - 2rem);
  /* Ограничение десктопа */
  overflow-y: auto;
  transition:
    opacity var(--grid-trans-speed-desktop) var(--ease-main),
    visibility var(--grid-trans-speed-desktop),
    transform var(--grid-trans-speed-desktop) var(--ease-main),
    grid-template-rows var(--grid-trans-speed-desktop) var(--ease-main);
}

.mega-item-inner {
  min-height: 0;
}

.mega-item.is-active .panel-link,
.mega-item.is-active .mega-pill,
.mega-item.is-active .mega-cta {
  animation: itemFadeIn 0.25s var(--ease-main) 0.2s both;
}

/* ════════════════════════════════════════
   3. ПЛАНШЕТ И МОБИЛКА (до 991px)
════════════════════════════════════════ */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes itemFadeIn {
  from {
    opacity: 0;
    transform: translateX(10px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@container (width > 55em) {
  .benefits_layout:has(.benefits_card_wrap:is(:hover, :focus-within)) .benefits_card_wrap:not(:is(:hover, :focus-within)) .benefits_card_content {
    opacity: 0;
  }



  .benefits_card_wrap:is(:hover, :focus-within) {
    width: 125%;
  }


  .benefits_card_wrap:is(:hover, :focus-within) .icon-svg {
    transform: rotate(0deg)
  }


  .benefits_card_wrap:is(:hover, :focus-within) .result-div {
    opacity: 1;
  }

  .benefits_card_wrap:is(:hover, :focus-within) .benefits_card_mask_wrap {
    grid-template-rows: 1fr;
  }



  .benefits_card_mask_wrap {
    grid-template-rows: 0fr;
  }

  .benefits_layout {
    flex-direction: row;
    transition: height 0.4s ease;
  }

  /* 👇 увеличение высоты родителя при ховере */
  .benefits_layout:has(.benefits_card_wrap:is(:hover, :focus-within)) {
    height: 24rem;
    /* можно поставить fixed px/rem или проценты */
  }
}

/* =========================================
   1. БАЗА (САМИ ЛИНИИ)
   ========================================= */

.line-m:nth-child(1) {
  top: calc(50% - round(nearest, 0.4rem, 1px));
}

.line-m:nth-child(2) {
  top: 50%;
  width: round(nearest, 0.875rem, 2px);
  transition:
    top 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.25s,
    width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.line-m:nth-child(3) {
  top: calc(50% + round(nearest, 0.4rem, 1px));
}

/* =========================================
   2. ЗАЩИТА СТИЛЕЙ (SPECIFICITY)
   ========================================= */
.trigger-icon .line-m {
  background-color: var(--nav-color) !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  filter: blur(0);
}

/* =========================================
   3. АНИМАЦИЯ ПО КЛИКУ (ACTIVE STATE - ВЕЗДЕ)
   ========================================= */
.mega-trigger.is-active .line-m:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 1.25rem;
}

.mega-trigger.is-active .line-m:nth-child(2) {
  opacity: 0;
  transform: translateX(-50%) scaleX(0);
}

.mega-trigger.is-active .line-m:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) rotate(-45deg);
}

/* =========================================
   4. АНИМАЦИЯ ПРИ НАВЕДЕНИИ (HOVER - ТОЛЬКО ДЕСКТОП)
   ========================================= */

/* 1. Исходное состояние верхней (наезжающей) картинки */

/* 2. При наведении: маска открывается вверх */
/* html.hover-locked — мобилка сразу после Barba-перехода (снимается на первом touchstart) */
html:not(.hover-locked) .wraper-light-box-catalog:hover .img-catalog.absolut,
html:not(.hover-locked) .product-card:hover .image-product.absolut {
  clip-path: inset(0 0 0 0);
  filter: brightness(100%);
  will-change: clip-path, filter;
}

/* 4. При наведении: нижняя картинка увеличивается (если хочешь, чтобы она отдалялась, меняй 1.1 на 0.85) */
html:not(.hover-locked) .wraper-light-box-catalog:hover .img-catalog:not(.absolut),
html:not(.hover-locked) .product-card:hover .image-product:not(.absolut) {
  transform: scale(1.1);
  will-change: transform;
}

/* =========================================
   1. БАЗОВЫЕ ЗНАЧЕНИЯ
   ========================================= */
.btn-s,
.mega-trigger {
  --br-pos-y: 5px;
  --br-pos-x: 0px;
  --br-w: var(--br-default-size);
  --br-h: var(--br-default-size);
  --br-color: var(--br-default-color);
}

.btn-s.btn-toolip,
.btn-s.cart-delete {
  --br-default-size: 0.25rem;
}

/* mega-trigger прячет нижние скобки на старте */

/* Цвета */
.btn-s.nav-b,
.mega-trigger {
  --br-color: var(--nav-color);
}

.btn-s.menu-b,
.btn-s.section-s,
.btn-s.section-big,
.btn-s.about-s,
.btn-s.success-form,
.btn-s.btn-toolip {
  --br-color: #000;
}

/* =========================================
   2. АНИМАЦИИ (ГЛОБАЛЬНО ДЛЯ ВСЕХ ЭКРАНОВ)
   ========================================= */

/* Анимация при наведении мыши (ПК) ИЛИ касании пальцем (Мобилка) */
.btn-s:hover,
.btn-s:active,
.mega-trigger.is-active {
  --br-w: 50%;
  --br-h: 100%;
}

.mega-trigger.is-active {
  --br-w-bottom: 50%;
  --br-h-bottom: 100%;
}

/* Исключение для корзины: ВЫСОТА не меняется при ховере и клике */
.btn-s.nav-b:hover,
.btn-s.nav-b:active {
  --br-h: var(--br-default-size);
}

/* =========================================
   3. МЕДИА-ЗАПРОСЫ
   ========================================= */

/* Gallery Section */
.par-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

/* sticky-cards- Section */
.card-sticky:nth-child(1) {
  top: 10vh;
  z-index: 1;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.card-sticky:nth-child(2) {
  top: 22vh;
  z-index: 2;
}

.card-sticky:nth-child(3) {
  top: 34vh;
  z-index: 3;
}

.card-sticky:nth-child(4) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  z-index: 4;
}

.lightbox-video {
  display: none;
  width: auto;
  height: auto;
  max-width: 90vw;
  max-height: calc(100vh - 240px);
  object-fit: contain;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  margin: 0 auto;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 3/2;
}

.lightbox-container.active .lightbox-image-wrapper {
  transform: scale(1);
  opacity: 1;
}

.lightbox-container.is-video .lightbox-caption {
  bottom: -1px;
}

.lightbox-image-wrapper img {
  max-width: 90vw;
  max-height: calc(100vh - 240px);
  width: auto;
  height: auto;
  display: block;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  cursor: default;
  margin: 0;
}

.lightbox-caption:empty {
  display: none !important;
}

/* Стрелки */
.lightbox-arrow::before {
  content: '';
  width: 12px;
  height: 12px;
  border-left: 2px solid white;
  border-bottom: 2px solid white;
  transform: rotate(45deg);
}

.lightbox-arrow.right::before {
  transform: rotate(-135deg);
}

/* Миниатюры */

.lightbox-container.active .lightbox-thumbnails {
  display: flex;
}

.lightbox-thumbnails::-webkit-scrollbar {
  height: 6px;
}

.lightbox-thumbnails::-webkit-scrollbar-track {
  background: transparent;
}

.lightbox-thumbnails::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
}

.lightbox-thumbnail {
  width: 5rem;
  height: 3.75rem;
  flex-shrink: 0;
  cursor: pointer;
  opacity: 0.5;
  transition:
    opacity 0.2s,
    outline 0.2s;
}

.lightbox-thumbnail:hover,
.lightbox-thumbnail.active {
  opacity: 1;
  outline: 2px solid white;
}

.lightbox-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Спиннер загрузки */
@keyframes lightbox-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Мобильная адаптация */

/* Блокировка скролла страницы при открытом лайтбоксе */
body.lightbox-open {
  overflow-x: hidden;
}

ul li {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23000000'/%3E%3C/svg%3E");
  background-position: 0 0.55em;
  background-repeat: no-repeat;
  background-size: .4rem;
  padding-left: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.1;
  list-style-type: none;
}

ol li {
  font-size: 1.2rem;
  line-height: 1.1;
}

/* 1. Обнуление крайних отступов и пустых тегов */
.w-richtext> :first-child {
  margin-top: 0 !important;
}

.w-richtext> :last-child {
  margin-bottom: 0 !important;
}

.w-richtext p:empty {
  display: none;
}

/* 2. Заголовки (Правило близости: отрываем от верха, клеим к низу) */
.w-richtext h1,
.w-richtext h2,
.w-richtext h3,
.w-richtext h4,
.w-richtext h5,
.w-richtext h6 {
  color: var(--black);
  font-weight: 300;
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
}

.w-richtext h1 {
  font-size: 3.54rem;
  line-height: 1;
}

.w-richtext h2 {
  font-size: 2.54rem;
  line-height: 1;
}

.w-richtext h3 {
  font-size: 1.77rem;
  line-height: 1.1;
}

.w-richtext h4 {
  font-size: 1.31rem;
  line-height: 1.1;
}

.w-richtext h5 {
  font-size: 0.95rem;
  line-height: 1.2;
}

.w-richtext h6 {
  font-size: 0.68rem;
  line-height: 1.2;
}

/* 3. Параграфы и ссылки (Монохромная журнальная верстка) */
.w-richtext p {
  color: var(--black);
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 1.0625rem;
  /* База для всего Rich Text */
  font-weight: 300;
  line-height: 1.4;
  text-align: left;
  letter-spacing: 0.02rem;
}

.w-richtext li p {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: inherit;
}

.w-richtext li p+p {
  margin-top: 0.5rem;
}

.w-richtext a {
  color: var(--orange);
  display: inline;
  font-weight: 400;
  text-decoration: none;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: color 444ms ease;
  letter-spacing: 0.02rem;
}

.w-richtext a:hover {
  color: var(--black);
}

/* 4. Списки (Жесткая привязка к параграфу 1rem) */

.w-richtext li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--black);
  letter-spacing: 0.02rem;
  /* Точно как у параграфа */
}

.w-richtext ul li {
  padding-left: 1.25rem;
  /* Уменьшенный отступ специально для точек */
}

/* Нумерация для ol */
.w-richtext ol {
  counter-reset: custom-counter;
}

.w-richtext ol li::before {
  counter-increment: custom-counter;
  content: counter(custom-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 400;
  line-height: 1.4;
  color: var(--black);
  letter-spacing: 0.02rem;
  /* Синхрон со строкой */
}

/* 5. Остальные элементы */
.w-richtext img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem 0;
}

.w-richtext strong,
.w-richtext b {
  font-weight: 500;
}

.w-richtext blockquote {
  border-left: 2px solid var(--black);
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  padding: 0 1.25rem;
  font-size: 1.1rem;
  line-height: 1.3;
}

.legal-richtext h2:not(:first-of-type) {
  margin-top: 3rem !important;
}

.legal-richtext h1 {
  font-size: 2.32rem;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.legal-richtext h2 {
  font-size: 1.8rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.legal-richtext h3 {
  font-size: 1.42rem;
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.legal-richtext h4 {
  font-size: 1.16rem;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.legal-richtext h5 {
  font-size: 0.95rem;
  line-height: 1.3;
  letter-spacing: 0;
}

.legal-richtext h6 {
  font-size: 0.78rem;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

/* Запрещаем Safari ломать строку и переносить цифры вниз */
.contact-text a,
.privacy-t a,
a[x-apple-data-detectors] {
  display: inline !important;
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* Скроллбар для сайдбара фильтров */
.filters-sidebar::-webkit-scrollbar {
  width: 0px;
}

.filters-sidebar::-webkit-scrollbar-track {
  background: transparent;
}

.filters-sidebar::-webkit-scrollbar-thumb {
  background: #d8d8df;
  border-radius: 12px;
}

.taxonomy-hero.no-visual {
  min-height: auto;
  background-color: transparent;
}

.taxonomy-hero.no-visual .taxonomy-hero-content {
  width: 100%;
  flex: 1 1 100%;
}

.breadcrumbs a:hover {
  color: darkorange;
  transition: color .333s;
}

/* Кастомные чекбоксы */
.filter-option.is-active .filter-checkbox,
.policy-checkbox.is-active .checkbox,
.policy-checkbox input:checked+.checkbox {
  border-color: rgba(0, 0, 0, 0.2);
  background: darkorange;
}

.filter-checkbox::after,
.checkbox::after {
  content: '✓';
  font-size: 0.7rem;
  color: white;
  opacity: 0;
  transition: opacity .15s;
}

.filter-option.is-active .filter-checkbox::after,
.policy-checkbox.is-active .checkbox::after,
.policy-checkbox input:checked+.checkbox::after {
  opacity: 1;
}

/* Стилизуем нативный инпут: не 0x0, чтобы браузер мог прикрепить плажку валидации */

.policy-checkbox input {
  position: absolute;
  top: 0.25rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  opacity: 0;
  margin: 0;
  cursor: pointer;
  z-index: 2;
}

.spec-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.g-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, opacity 0.2s ease;
  will-change: transform;
}

.g-card:not(.gallery-main):not(.active):hover img {
  transform: scale(1.05);
}

.gallery-thumbs .gallery-thumb:nth-child(n + 5) {
  display: none;
}

.gallery-thumb:hover .more-overlay {
  background: rgba(0, 0, 0, 0.7);
}

.gallery-main:hover .zoom-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.gallery-main .video-indicator {
  width: 64px;
  height: 64px;
}

.video-indicator {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(4px);
  color: white;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
}

.video-indicator svg {
  width: 50%;
  height: 50%;
}

.g-card__gallery-thumb {
  box-sizing: border-box;
  border: 2px solid transparent;
}

.more-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.05rem;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.4s ease;
  background-color: rgba(0, 0, 0, 0.5);
}

/* Media Queries Grouped */

.brief-base strong {
  font-weight: 500;
}

/* Стилизация полей ввода для товара (.brief-field), корзины (.form-field) и формы (form) */
.brief-field input,
.brief-field textarea,
.form-field input,
.form-field textarea,
.form input:not([type='checkbox']):not([type='radio']),
.form textarea,
form input.input,
form textarea.input {
  width: 100%;
  font-weight: 300;
  padding: 1rem;
  border: 0px solid;
  background: white;
  font-family: inherit;
  font-size: 0.9rem;
  outline: none;
  transition: all 0.2s;
}

/* Предотвращение зума в iOS Safari на мобильных */

.brief-field textarea,
.form-field textarea,
.form textarea,
form textarea.input {
  min-height: 5rem;
  resize: vertical;
}

.brief-field input::placeholder,
.brief-field textarea::placeholder,
.form-field input::placeholder,
.form-field textarea::placeholder,
.form input::placeholder,
.form textarea::placeholder,
form input.input::placeholder,
form textarea.input::placeholder {
  color: #555;
}

.brief-field input:focus,
.brief-field textarea:focus,
.form-field input:focus,
.form-field textarea:focus,
.form input:focus,
.form textarea:focus,
form input.input:focus,
form textarea.input:focus {
  outline: none;
  background: #fff !important;
  border-color: black !important;
  box-shadow: 0 1px 0 0 black !important;
}

.mega-pill-form:has(.finish-input:checked) {
  background-color: darkorange;
  color: black;
  font-weight: 500;
}

/* 1. Исправленные кейфреймы: в конце transform полностью удаляется */
@keyframes awwFadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes awwPulse {

  0%,
  100% {
    opacity: 0.85;
  }

  50% {
    opacity: 0.4;
  }
}

/* Стейты остаются без изменений */
[data-state='loading'] {
  opacity: 0.7 !important;
  pointer-events: none !important;
  position: relative;
  animation: awwPulse 1.5s infinite ease-in-out;
}

[data-element='upload-zone'][data-state='dragover'] {
  border-color: var(--accent) !important;
  background: rgba(255, 141, 0, 0.05) !important;
  transform: scale(1.02);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-state='hidden'] {
  display: none !important;
}

[data-state='visible'] {
  display: flex !important;
  animation: awwFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

[data-state='block-visible'] {
  display: block !important;
  animation: awwFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

[data-state='inline-visible'] {
  display: inline-flex !important;
  animation: awwFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 2. Добавь этот фикс к основному классу зоны загрузки в твой CSS */

/* 1. Состояние пустой корзины */
.cart-page.is-empty,
html.is-cart-empty .cart-page {
  min-height: 70vh !important;
  display: flex !important;
  flex-direction: column !important;
}

.cart-page.is-empty .grid-cart,
html.is-cart-empty .grid-cart {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  width: 100% !important;
}

.cart-page.is-empty .cart-content,
html.is-cart-empty .cart-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.cart-page.is-empty .cart-header,
.cart-page.is-empty .cart-column-header,
.cart-page.is-empty .checkout-box,
.cart-page.is-empty .cart-item-row,
.cart-page.is-empty .cart-count-top,
html.is-cart-empty .cart-header,
html.is-cart-empty .cart-column-header,
html.is-cart-empty .checkout-box,
html.is-cart-empty .cart-item-row,
html.is-cart-empty .cart-count-top {
  display: none !important;
}

/* 2. Экран успешного оформления ТЗ (на уровне всей страницы) */

/* При успехе скрываем всю сетку (товары + форму) и верхний счетчик позиций */
.cart-page.is-success .cart-header,
.cart-page.is-success .grid-cart,
.cart-page.is-success .cart-count-top {
  display: none !important;
}

/* Задаем комфортную высоту страницы при успехе, чтобы футер не перекрывал экран и не ломал ScrollTrigger */
.cart-page.is-success {
  min-height: 70vh !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Показываем вынесенный экран успеха по центру всей страницы */
.cart-page.is-success .checkout-success-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  animation: fadeIn 0.4s ease-out forwards;
}

.cart-item-mockup-tag::before {
  content: '';
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  background: darkorange;
  border-radius: 50%;
  flex-shrink: 0;
}

@keyframes fadeIn {}

.checkout-box.is-legal .form-field.form-legal-only {
  display: flex;
}

#innResult {
  display: none !important;
  grid-column: 1 / -1;
}

#innResult.is-active {
  display: block !important;
  padding: 12px;
  border-radius: var(--radius);
  background: rgba(255, 141, 0, 0.06);
  border: 1px solid rgba(255, 141, 0, 0.2);
  font-size: 12px;
  line-height: 1.6;
}

#innResult.is-error {
  display: block !important;
  color: #ff4d4d;
  background: rgba(255, 77, 77, 0.06);
  border: 1px solid rgba(255, 77, 77, 0.2);
}

.cookie-banner h4 {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #000;
  font-weight: 600;
}

.cookie-banner p {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.5;
  margin-bottom: 0;
  font-weight: 400;
}

.cookie-links a {
  font-size: 0.8rem;
  color: #666;
  text-decoration: underline;
  transition: color 0.3s;
}

.cookie-links a:hover {
  color: #000;
}

.cookie-modal-overlay.is-open .cookie-modal-content {
  transform: scale(1);
}

.cookie-modal-content h4 {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #000;
}

.cookie-modal-content>p {
  font-size: 0.95rem;
  color: #666;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}

.cookie-option:last-of-type {
  border-bottom: none;
}

.cookie-option h5 {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: #000;
  font-weight: 500;
}

.cookie-option-info p {
  font-size: 0.85rem;
  color: #888;
  margin: 0;
  line-height: 1.3;
}

.cookie-toggle input[type='checkbox'] {
  width: 1.4rem;
  height: 1.4rem;
  cursor: pointer;
  accent-color: #000;
}


/* — index.html — */
html,
body {
  overflow-anchor: none;
}

@media screen and (max-width: 991px) and (orientation: portrait) {
  :root {
    --size-container-ideal: 834;
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

@media screen and (max-width: 991px) and (orientation: landscape) {
  :root {
    --size-container-ideal: 667;
    /* iPhone landscape fallback */
    --size-container-min: 480px;
    --size-container-max: 991px;
  }
}

@media screen and (max-width: 991px) {
  .nav {
    transition: background-color .555s;
  }

  .container {
    max-width: none;
  }

  .wrapper-down-hero {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .heading-hero {
    font-size: 7rem;
  }

  .btn-s.nav-b {
    display: flex;
  }

  .btn-s.menu-b.filter {
    text-transform: uppercase;
    padding: 1rem 2.65rem;
    font-size: 1rem;
    font-weight: 400;
  }

  .btn-s.section-s.hide {
    margin-top: 0;
    display: block;
  }

  .nav-link {
    display: none;
  }

  .mega-item.is-active {
    background-color: #fff;
  }

  .svg-cart {
    top: -1px;
  }

  .mega-item-inner-wrap {
    padding-top: 1.5rem;
    padding-left: 0;
    padding-right: 1.25rem;
  }

  .mega-item-content {
    border-bottom-style: none;
    border-left-style: none;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0 !important;
  }

  .mega-tab:hover {
    padding-left: 0;
  }

  .mega-wrap {
    padding-bottom: 8rem;
    overflow-y: auto;
    height: calc(100vh - 4.6rem) !important;
  }

  .mob-sidebar-extra {
    display: flex;
  }

  .arrow {
    transform: rotate(90deg);
  }

  .cart-close.item {
    right: 1rem;
  }

  .parallax-content {
    opacity: 0;
  }

  .heading-section {
    font-size: 3.3rem;
  }

  .heading-section.about {
    font-size: 2.5rem;
  }

  .wrapper {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .container-rigth {
    order: -1;
    justify-content: center;
    align-items: flex-start;
  }

  .container-rigth.gap-3rem {
    border-left-style: none;
    padding-top: 2rem;
  }

  .benefits_card {
    border-left-style: none;
    border-right-style: none;
  }

  .benefits_card.last {
    border-right-style: none;
  }

  .benefits_card.no-down-border {
    border-bottom-style: solid;
  }

  .benefits_card_title,
  .benefits_card_title.bigger {
    width: auto;
  }

  .result-div {
    opacity: 1;
  }

  .benefits_layout {
    flex-flow: column;
    height: auto;
  }

  .benefits_wrap {
    height: auto;
  }

  .text-result,
  .text-result.bigger {
    width: auto;
  }

  .icon-svg {
    order: -9999;
    display: none;
  }

  .sab-sequence {
    object-position: 90% 100% !important;
  }

  .sab-anim.variant-2 {
    top: 12rem;
  }

  .section-type {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .paragraph.heading {
    width: auto;
  }

  .paragraph.cycle-section {
    max-width: none;
  }

  .paragraph.sticky {
    font-size: 1.0625rem;
    position: static;
  }

  .div-block {
    padding-top: 0;
  }

  .finishing-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    border-top-style: none;
    flex-flow: column;
    grid-template-columns: 1fr;
    padding-right: 0;
    display: flex;
  }

  .finishing-list {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-row: 2;
    width: 100%;
    padding-top: 0;
  }

  .finishing-item {
    padding: 1rem;
    font-size: 1.5rem;
    transition: color .333s cubic-bezier(.455, .03, .515, .955);
  }

  .finishing-item.is-active {
    padding-left: 1.5rem;
  }

  .finishing-image-col {
    z-index: 5;
    background-color: #f0efeb;
    border-top: 1px solid #0000001a;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 1rem;
    position: sticky;
    bottom: 0;
    overflow: hidden;
    transform: translate(0);
  }

  .finishing-sticky {
    grid-row: 1;
    width: 12rem;
    height: auto;
    position: relative;
    top: 0;
  }

  .parallax-wrapper {
    width: 14rem;
    height: 14rem;
  }

  .parallax-wrapper.right {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
  }

  .wrapper-card {
    margin-top: 2rem;
  }

  .card-header {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
  }

  .card-num {
    align-self: flex-end;
  }

  .card-title {
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.8rem;
  }

  .wrapper-process {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .card-sticky {
    height: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    position: relative;
  }

  .wrapper-header-p {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .borders-div {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: flex;
  }

  .borders-div.no-top-b.l {
    border-top-style: solid;
  }

  .image-p {
    height: 110%;
  }

  .image-p.audit {
    height: 115%;
  }

  .section-image.n {
    border-bottom-style: none;
  }

  .breadcrumbs {
    background-color: #fff;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .type-switcher-wrapper {
    background-color: #fff0;
    border-top-style: none;
    border-bottom-style: none;
    justify-content: center;
    top: 6rem;
  }

  .mobile-toolbar-btn {
    grid-column-gap: .7rem;
    grid-row-gap: .7rem;
    cursor: pointer;
    background-color: #f0f0f000;
    border-style: none;
    border-width: 0;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: .85rem;
    font-weight: 400;
    display: inline-flex;
  }

  .mobile-toolbar-sep {
    background-color: #d8d8df;
    width: 1px;
    margin: 12px 0;
  }

  .filter-group-badge {
    opacity: 0;
  }

  .type-switcher-label {
    display: none;
  }

  .type-btn {
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 0;
  }

  .type-btn:hover {
    background-color: #0000;
  }

  .catalog-page {
    grid-template-columns: 1fr;
  }

  .filter-heading {
    border: 0 #0000;
    border-bottom: 1px solid #d8d8df;
    margin-bottom: 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    font-size: .8rem;
    font-weight: 500;
  }

  .filter-reset {
    font-size: .8rem;
  }

  .filters-sidebar-content {
    flex: 1;
    padding-top: 1rem;
    padding-bottom: 1rem;
    overflow-y: auto;
  }

  .landing-context-banner.is-visible {
    border-bottom: 1px solid #0003;
    flex-flow: column;
    margin-bottom: 2.5rem;
    display: flex;
  }

  .landing-banner-inner {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    border-top: 1px solid #0003;
    flex-flow: column;
    margin-top: 1.5rem;
    padding: 2rem 1rem;
    display: flex;
  }

  .filter-group {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .filter-group-title {
    padding-right: 0;
  }

  .filter-accordion-inner {
    padding-right: 1rem;
  }

  .tooltip {
    right: 0;
  }

  .filter-mobile-footer {
    border-top: 1px solid #d8d8df;
    justify-content: center;
    align-items: center;
    padding-top: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: flex;
  }

  .catalog-content {
    border-left-style: none;
    padding-left: 0;
  }

  .taxonomy-hero {
    flex-direction: column-reverse;
    min-height: auto;
  }

  .taxonomy-hero-visual {
    flex: none;
    width: 100%;
  }

  .filters-sidebar {
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    background-color: #fff;
    flex-direction: column;
    width: 100%;
    height: 100dvh;
    max-height: none;
    padding-bottom: 4rem;
    position: fixed;
    inset: 0;
    transform: translate(0%, 2rem);
  }

  .filters-sidebar.is-open {
    opacity: 1;
    visibility: visible;
    justify-content: center;
    align-items: stretch;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
    display: flex;
    transform: translate(0%);
  }

  .locked-option {
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.5;
  }

  .locked-cross {
    padding: 2px;
  }

  .mobile-toolbar {
    pointer-events: auto;
    background-color: #fff;
    border: 1px solid #0003;
    border-radius: 10px;
    width: 100%;
    max-width: 19rem;
    height: 48px;
    display: flex;
  }

  .type-switcher {
    z-index: 999;
    pointer-events: auto;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    padding: .5rem 1rem;
  }

  .type-switcher.is-open {
    opacity: 1;
    background-color: #f4f4f6;
    flex-flow: column;
    display: flex;
    overflow: auto;
  }

  .type-switcher-dropdown {
    background-color: #fff;
    border: 1px solid #0003;
    border-top-style: none;
    border-radius: 0 0 10px 10px;
    width: 100%;
    max-width: 19rem;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    inset: 100% 0% auto;
  }

  .filter-close {
    align-self: flex-end;
    width: 1.7rem;
    height: 1.7rem;
    margin-right: 1rem;
    display: flex;
  }

  .wrapper-box-lines {
    padding-top: 2rem;
    padding-bottom: 5rem;
  }

  .grid-about {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    flex-flow: column;
    grid-template-columns: 1fr;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
  }

  .footer-meta-row {
    padding: 2rem 0;
  }

  .about-label-col {
    order: -9999;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 2rem;
  }

  .footer-huge-logo {
    flex: 1;
    margin-bottom: auto;
    font-size: clamp(4rem, 26vw, 32rem);
  }

  .footer-huge-logo-wrap {
    z-index: 10;
    white-space: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin-top: 0;
    margin-bottom: 3rem;
    padding-top: 3rem;
  }

  .footer-premium {
    background-color: var(--orange);
    overflow: visible;
  }

  .container-footer {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .footer-grid-row {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    grid-template-columns: 1fr 1fr;
    padding-left: 0;
    padding-right: 0;
  }

  .footer-cta-row {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    border-bottom-style: none;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 0;
    padding-right: 0;
  }

  .par-center-type {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .product-page {
    flex-flow: wrap-reverse;
    display: flex;
  }

  .product-title {
    margin-bottom: 1.5rem;
    font-size: 2rem;
  }

  .brief-actions.privacy {
    display: flex;
  }

  .theme-color-bar {
    z-index: 5;
    opacity: .1;
    background-color: #000;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
    position: sticky;
    bottom: 0;
    overflow: hidden;
    transform: translate(0, -80%);
  }

  .theme-color-bar.black {
    z-index: 1;
    transform: translate(0, -50%);
  }

  .wraper-section-video {
    z-index: 2;
    position: relative;
  }

  .cookie-option {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .filter-svg {
    width: 1.1rem;
  }

  .product-grid-main-page {
    grid-template-columns: 1fr 1fr;
  }

  .lightbox-counter {
    top: 2rem;
  }

  .wraper-light-box-catalog:hover {
    filter: none;
  }

  .section-catalog {
    margin-bottom: 4rem;
  }

  .text-no-found-search {
    padding-left: 0;
    padding-right: 0;
  }

  .section-technology {
    padding-top: 4rem;
  }

  .wrapper-text-product {
    padding-right: 0;
  }

  .g-card.gallery-thumb {
    scroll-snap-align: start;
    flex: 0 0 100%;
    border-color: none !important;
  }

  .g-card.gallery-thumb.active {
    opacity: 1;
  }

  .gallery-thumbs {
    grid-column-gap: 0;
    grid-row-gap: 0;
    scroll-snap-type: x mandatory;
    display: flex;
    overflow-x: auto;
  }

  .mobile-slider-counter {
    z-index: 10;
    pointer-events: none;
    color: #fff;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    background-color: #00000080;
    border-radius: 20px;
    padding: 4px 12px;
    font-size: .85rem;
    font-weight: 500;
    display: block;
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
  }

  .gallery-static {
    order: 1;
    width: 100%;
    position: relative;
    top: 0;
    overflow: hidden;
    display: block !important;
  }

  .input {
    font-size: 16px;
  }

  .div-flex-from {
    margin-bottom: .5rem;
  }

  .btn-black {
    color: #fff;
  }

  .cart-header {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .cart-header.privcy-flex {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
  }

  .cart-count-top {
    align-self: flex-end;
  }

  .cart-content {
    height: auto;
    min-height: auto;
    max-height: none;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .checkout-box {
    border-bottom-style: none;
    border-left-style: none;
  }

  .checkout-success-block {
    text-align: center;
  }

  .grid-cart {
    border-bottom-style: none;
    flex-flow: column;
    display: flex;
  }

  .finishing-types-cart {
    margin-bottom: .5rem;
  }

  .modal-close {
    align-self: flex-end;
    width: 1.7rem;
    height: 1.7rem;
    margin-left: auto;
    display: flex;
  }

  .contact-text {
    display: inline-flex;
  }

  .cart-items-scroll {
    flex: 0 auto;
    min-height: auto;
    padding-right: 0;
    overflow: visible;
  }

  .contact-content {
    height: auto;
    min-height: auto;
    max-height: none;
    padding-left: 0;
  }

  .privacy-page {
    padding-left: 0;
    padding-right: 0;
  }

  .privacy-grid {
    flex-flow: column;
    display: flex;
  }

  .left-privacy-col {
    border-bottom-style: none;
    border-left-style: none;
    border-right-style: none;
    height: auto;
    position: relative;
    top: 0;
  }

  .privacy-h {
    display: none;
  }

  #w-node-_8ee579ed-8db8-4645-39e6-d978cce335ac-f1a479b8 {
    order: -9999;
    grid-area: span 1 / span 4 / span 1 / span 4;
  }
}

@media (max-width: 991px) {

  html.is-scroll-locked,
  body.is-scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  .section-benefits {
    --padding-container: 0rem;
  }

  .mega-dropdown {
    inset: 0;
    height: 100vh;
    overflow: hidden;
    transform: translateY(4.5rem);
  }

  .mega-dropdown.is-open {
    transform: translateY(0);
  }

  .mega-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
  }

  .mega-sidebar {
    width: 100%;
    display: block;
  }

  .mega-item {
    display: block;
  }

  .mega-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .mega-tab .arrow {
    display: block;
    transition: transform 0.3s var(--ease-main);
  }

  .mega-item.is-active .mega-tab .arrow {
    transform: rotate(270deg);
  }

  /* ЛОМАЕМ ДЕСКТОПНЫЙ ГРИД В АККОРДЕОН */
  .mega-item-content {
    display: grid !important;
    position: static !important;
    width: 100% !important;
    opacity: 1;
    visibility: inherit;
    pointer-events: inherit;
    transform: none;
    padding-right: 0;
    grid-template-rows: var(--grid-closed);
    transition: grid-template-rows var(--grid-trans-speed) var(--ease-main);
  }

  .mega-item.is-active .mega-item-content {
    grid-template-rows: var(--grid-open);
    max-height: none;
    /* Убиваем десктопное ограничение высоты */
    overflow: hidden;
    transition: grid-template-rows var(--grid-trans-speed) var(--ease-main);
  }

  .mega-item.is-active .panel-link,
  .mega-item.is-active .mega-pill,
  .mega-item.is-active .mega-cta {
    animation: none !important;
  }

  .mega-item-grid {
    grid-template-columns: 1fr;
  }

  .mega-col-title.show {
    display: block !important;
  }

  .mega-2-col {
    grid-template-columns: 1fr;
  }

  .card-sticky:nth-child(1) {
    top: 0vh;
  }

  .card-sticky:nth-child(2) {
    top: 0vh;
  }

  .card-sticky:nth-child(3) {
    top: 0vh;
  }

  .card-sticky:nth-child(4) {
    border-top: 0px solid rgba(0, 0, 0, 0.2);
  }

  .gallery-thumbs {
    scrollbar-width: none;
  }

  .gallery-thumbs::-webkit-scrollbar {
    display: none;
  }

  .gallery-thumbs .gallery-thumb {
    flex: 0 0 100%;
    scroll-snap-align: start;
    border-radius: 0;
    border: none !important;
    aspect-ratio: 4/3;
  }

  .gallery-thumbs .gallery-thumb:nth-child(n + 5) {
    display: block !important;
  }

  .gallery-thumbs .gallery-thumb:nth-child(4) .more-overlay {
    display: none !important;
  }

  .gallery-thumb[data-video-src] img,
  .gallery-thumb[data-video-src] .video-indicator {
    display: none !important;
  }

  .mobile-slider .badge-hit {
    top: 16px;
    left: 16px;
    padding: 6px 12px;
    font-size: 0.7rem;
  }

  .g-card.gallery-main {
    display: none !important;
  }

  .mobile-only-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
  }

  .brief-field input,
  .brief-field textarea,
  .form-field input,
  .form-field textarea,
  .form input:not([type='checkbox']):not([type='radio']),
  .form textarea,
  form input.input,
  form textarea.input {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .video-preloader__spinner {
    width: 36px;
    height: 36px;
    border-width: 2px;
  }
}

@media screen and (max-width: 767px) {
  .section-hero {
    justify-content: flex-start;
    align-items: center;
    min-height: 200vh;
  }

  .wrapper-down-hero {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    align-items: flex-end;
    display: flex;
  }

  .wrapper-hero-btn {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: row;
    grid-template-rows: auto;
    grid-template-columns: .6fr .25fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    display: grid;
  }

  .subheading.short {
    line-height: 1.3;
  }

  .subheading.left {
    order: 9999;
  }

  .heading-hero {
    font-size: 5.1rem;
  }

  .wrapper-hero-btn-mob {
    max-width: none;
  }

  .btn-s.section-big {
    margin-top: 1rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .mega-item-inner-wrap {
    padding-left: 0;
  }

  .mega-tab {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .player-wrapper {
    height: auto;
    position: relative;
    top: 0;
    right: 0;
  }

  .reveal-wrapper {
    height: 400vh;
  }

  .container-left {
    padding-right: 2rem;
  }

  .sab-isolated-1 {
    height: 300vh;
  }

  .parallax-wrapper {
    width: 11rem;
    height: 11rem;
  }

  .breadcrumbs {
    position: relative;
  }

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

  .filters-sidebar {
    overflow: auto;
  }

  .filters-sidebar.is-open {
    height: auto;
    display: block;
  }

  .footer-huge-logo-wrap {
    margin-bottom: 1rem;
    padding-top: 1rem;
  }

  .par-center-type {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .par-title {
    font-size: 4rem;
  }

  .product-page {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
    padding-top: .2rem;
  }

  .product-info {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .product-title {
    font-size: 2rem;
  }

  .brief-actions.cart-succes {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    align-items: stretch;
  }

  .cookie-banner {
    max-width: none;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .lightbox-container {
    padding: 80px 10px 120px;
  }

  .lightbox-counter {
    font-size: 12px;
  }

  .lightbox-arrow {
    width: 50px;
    height: 50px;
  }

  .lightbox-thumbnails {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    padding: 15px 10px;
  }

  .cart-page {
    padding-bottom: 4rem;
  }

  .cart-header.privcy-flex {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .cart-item-mockup-tag {
    margin-top: 1rem;
  }

  .checkout-success-block {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .wrapper-cart-comments {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: column;
  }

  .contact-info-wrapper {
    flex-flow: column;
    display: flex;
  }

  .contact-info-wrapper.padding {
    margin-top: 1rem;
  }

  .address-text.shorter {
    padding-right: 0;
  }

  #filtersSidebar.w-node-c58f558e-d90c-ec26-f47a-03005f9b3958-56789157 {
    align-self: auto;
  }
}

@media (max-width: 767px) {
  .section-product {
    --padding-container: 0rem;
  }

  [data-role='close-btn'] {
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
  }

  [data-role='close-btn'] svg {
    width: 18px;
    height: 18px;
  }

  .volume-slider-wrap {
    display: none !important;
  }

  button.ui-btn {
    padding: 6px 8px;
    font-size: 13px;
  }

  button.ui-btn svg {
    width: 18px;
    height: 18px;
  }

  .time-display {
    font-size: 11px;
  }

  .controls-overlay {
    padding: 20px 10px 10px;
    gap: 8px;
  }

  h1 {
    font-size: 2rem;
  }

  .lightbox-image-wrapper img {
    max-height: calc(100vh - 200px);
  }

  .more-overlay {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 479px) and (orientation: portrait) {
  :root {
    --size-container-ideal: 390;
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

@media screen and (max-width: 479px) {
  .nav {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: .7rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .section-hero {
    min-height: 100vh;
    padding-bottom: 7rem;
  }

  .background-video {
    background-position: 50%;
  }

  .mask-hero.section-parallax {
    background-image: linear-gradient(135deg, #0006, #000000b3 80%);
  }

  .wrapper-down-hero {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-end;
    padding-left: 1rem;
    padding-right: 1rem;
    bottom: 3rem;
  }

  .wrapper-hero-btn {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: row;
    grid-template-rows: auto;
    grid-template-columns: 1.6fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    display: grid;
  }

  .subheading {
    letter-spacing: .05rem;
    font-size: .9rem;
  }

  .subheading.left {
    order: 9999;
  }

  .heading-hero {
    width: auto;
    font-size: 3.4rem;
    line-height: 1.2;
  }

  .text-in-player.preview-element {
    letter-spacing: .06rem;
    font-size: .6rem;
    font-weight: 400;
  }

  .wrapper-hero-btn-mob {
    grid-column-gap: .8rem;
    grid-row-gap: .8rem;
    justify-content: space-around;
  }

  .mega-trigger {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    width: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .trigger-icon {
    display: none;
  }

  .wrapper-nav {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    justify-content: flex-start;
    align-items: center;
    width: auto;
  }

  .btn-s {
    box-shadow: none;
    text-align: center;
    letter-spacing: .05rem;
    padding: 0;
    font-size: .8rem;
  }

  .btn-s.h {
    letter-spacing: .02rem;
    padding: .7rem .5rem;
    font-size: .9rem;
  }

  .btn-s.nav-b {
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;
    padding-bottom: 0;
    padding-left: .4rem;
    padding-right: .4rem;
    display: flex;
  }

  .btn-s.menu-b {
    padding: .6rem 1rem;
    font-size: 1rem;
  }

  .btn-s.section-s {
    margin-top: 0;
    padding: .6rem 1rem;
    font-size: 1rem;
  }

  .btn-s.section-big {
    margin-top: 1rem;
    padding: .8rem 1rem;
    font-size: 1.1rem;
  }

  .btn-s.about-s {
    margin-top: 0;
    padding: .6rem 1rem;
    font-size: 1rem;
  }

  .btn-s.success-form {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1rem;
  }

  .mega-materials-grid {
    gap: 1rem;
  }

  .mega-sidebar {
    flex-flow: column;
  }

  .text-m {
    flex-flow: column;
    display: flex;
  }

  .section-architecture {
    z-index: 1;
  }

  .svg-cart {
    width: 2.3rem;
    height: 2.5rem;
  }

  .mega-item-footer {
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    place-items: flex-start end;
  }

  .number-cart {
    font-size: .8rem;
    top: .85rem;
  }

  .mega-chips {
    max-height: none;
  }

  .mega-item-inner-wrap {
    border-bottom-style: none;
    border-left-style: none;
    border-right-style: none;
    padding-left: 0;
  }

  .brand.dyplicate {
    top: 1.1rem;
    left: 1rem;
  }

  .mega-item-content {
    border-bottom-style: none;
    border-left-style: none;
  }

  .mega-tab {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    text-decoration: none;
  }

  .mega-pill {
    padding-left: 1.25rem;
  }

  .player-wrapper {
    width: 100%;
    height: 100%;
  }

  .mega-wrap {
    margin-top: 4.3rem;
    padding-top: .7rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cart-close.item {
    font-size: 1.3rem;
  }

  .heading-cart {
    font-size: 1.5rem;
  }

  .reveal-wrapper {
    height: 200vh;
  }

  .parallax-content {
    z-index: 2;
    flex-flow: column;
    position: relative;
  }

  .heading-section {
    letter-spacing: -.06rem;
    font-size: 3rem;
    line-height: 1;
  }

  .heading-section.products {
    font-size: 3rem;
  }

  .heading-section.about,
  .heading-section.cart {
    font-size: 2rem;
  }

  .wrapper {
    flex-flow: column;
    justify-content: flex-end;
    align-items: center;
    display: flex;
  }

  .container-rigth {
    grid-column-gap: 1.8rem;
    grid-row-gap: 1.8rem;
    height: auto;
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .container-rigth.gap-3rem {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    padding-bottom: 2rem;
  }

  .container-left {
    order: 9999;
    justify-content: flex-start;
    align-items: flex-start;
    height: auto;
    padding: 1rem 0 2rem 1rem;
    display: block;
  }

  .text-second-section {
    width: 18rem;
    font-size: 1.1rem;
    line-height: 1.3;
  }

  .benefits_card {
    grid-column-gap: 1.2rem;
    grid-row-gap: 1.2rem;
    padding: 1.8rem 1rem;
  }

  .service-heading-wrapper {
    grid-column-gap: .7rem;
    grid-row-gap: .7rem;
    justify-content: space-between;
    align-items: flex-start;
  }

  .cart-drawer-head {
    padding-right: 1rem;
  }

  .number-prem {
    font-size: 1.5rem;
    font-weight: 300;
  }

  .cart-text {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sab-overlay {
    border-radius: 2rem;
  }

  .sab-anim {
    grid-column-gap: 1.2rem;
    grid-row-gap: 1.2rem;
    width: auto;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .sab-anim.variant-2 {
    width: auto;
    top: 12rem;
    left: 1rem;
    right: 1rem;
  }

  .tag-scroll-section {
    font-size: .7rem;
  }

  .heading-scroll-section {
    font-size: 2rem;
  }

  .text-scroll-section.sm {
    width: 22rem;
  }

  .card-body {
    grid-column-gap: .6rem;
    grid-row-gap: .6rem;
    line-height: 1.2;
  }

  .card-name {
    font-size: .9rem;
  }

  .paragraph {
    position: relative;
    bottom: 0;
  }

  .paragraph.cycle-section {
    font-size: 1.0625rem;
  }

  .paragraph.about-section {
    letter-spacing: .02rem;
  }

  .div-block {
    justify-content: center;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
  }

  .finishing-item {
    font-size: 1.4rem;
  }

  .finishing-item:hover {
    color: #333;
    padding-left: 1rem;
  }

  .finishing-item.is-active {
    color: #ff8d00;
    padding-left: 1rem;
  }

  .finishing-sticky {
    z-index: 10;
    width: 7.2rem;
    height: 5.8rem;
    box-shadow: none;
  }

  .image-layer {
    aspect-ratio: 2 / 3;
  }

  .parallax-wrapper {
    width: 10rem;
    height: 10rem;
  }

  .parallax-wrapper.right {
    height: auto;
  }

  .card-num {
    align-self: flex-end;
  }

  .card-title {
    font-size: 1.5rem;
  }

  .wrapper-process {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .card-sticky {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .borders-div {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    padding: 1.5rem;
  }

  .borders-div.no-top-b {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .section-image.n {
    padding-top: 2rem;
  }

  .breadcrumbs {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .mobile-toolbar-btn {
    grid-column-gap: .7rem;
    grid-row-gap: .7rem;
  }

  .landing-context-banner.is-visible {
    margin-bottom: 1.5rem;
  }

  .filter-accordion-inner {
    padding-right: 0;
  }

  .taxonomy-hero-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .product-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1.25rem;
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .no-results {
    min-height: 50vh;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .filters-sidebar {
    height: 100dvh;
    overflow: hidden;
  }

  .filters-sidebar.is-open {
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    display: flex;
  }

  .mobile-toolbar,
  .type-switcher-dropdown {
    max-width: 19rem;
  }

  .wrapper-box-lines {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }

  .footer-meta-row {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 1rem;
  }

  .about-label-col {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer-huge-logo {
    font-size: clamp(4rem, 26.5vw, 32rem);
  }

  .footer-huge-logo-wrap {
    margin-bottom: 5.5rem;
    padding-top: 6rem;
  }

  .footer-col-title {
    color: #000000d1;
    font-size: 1rem;
  }

  .container-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .footer-grid-row {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    grid-template-columns: 1fr;
    padding-top: 4rem;
    padding-bottom: 2rem;
  }

  .par-overlay {
    justify-content: center;
    align-items: center;
    height: 120lvh;
    padding-bottom: 20vh;
  }

  .par-center-type {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .par-badge {
    margin-bottom: .2rem;
    padding-left: 18px;
    padding-right: 18px;
    font-size: .8rem;
    font-weight: 500;
  }

  .par-title {
    font-size: 3rem;
  }

  .product-info {
    padding-left: 0;
    padding-right: 0;
  }

  .product-brief {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .brief-actions {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .brief-actions.notfound {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-flow: column;
    align-items: stretch;
    width: 100%;
    padding-left: 4rem;
    padding-right: 4rem;
    display: flex;
  }

  .brief-actions.cart-btns,
  .brief-actions.cart-succes,
  .brief-actions.privacy {
    display: flex;
  }

  .back-catalog-link {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .product-grid-main-page {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    grid-template-columns: 1fr 1fr 1fr;
    display: flex;
  }

  .line-table {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: .75fr 1.25fr;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .wrapper-text-product {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .mega-pill-form {
    padding-left: 1.25rem;
  }

  .div-flex-from {
    grid-column-gap: .3rem;
    grid-row-gap: .3rem;
    flex-flow: column;
    margin-bottom: 1rem;
  }

  .btn-black {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
  }

  .btn-black.cart-success {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cart-page {
    padding: 1rem 0 3rem;
  }

  .cart-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cart-count-top {
    line-height: 1.2;
  }

  .cart-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cart-empty-box {
    height: 90vh;
    padding-bottom: 8rem;
  }

  .checkout-box {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .checkout-success-block {
    height: 90vh;
    padding-bottom: 2rem;
  }

  .success-icon-wrap {
    width: 4rem;
    height: 4rem;
  }

  .success-title {
    font-size: 2rem;
  }

  .modal-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .cart-column-header.privacy-flex {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr .5fr;
    grid-auto-columns: 1fr;
    line-height: 1.3;
    display: grid;
  }

  .contact-info-wrapper.padding {
    margin-top: .6rem;
    padding-top: 2rem;
  }

  .contact-text {
    width: auto;
  }

  .contact-text.pad {
    width: auto;
    padding-right: 3rem;
  }

  .contact-text.privacy-t {
    flex-flow: column;
  }

  .contact-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .privacy-page {
    padding: 1rem 0 4rem;
  }

  .wrapper-privacy-text,
  .left-privacy-col {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  #w-node-_346c58ea-a8d4-56f9-6bed-16c352a28c1f-f1a479b8,
  #w-node-_1428c6ad-044a-214e-9779-1d64ee41a9f5-f1a479b8 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-_8ee579ed-8db8-4645-39e6-d978cce335ac-f1a479b8 {
    order: -9999;
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-_75fae03d-6cf0-7fca-afbb-ca6ce45a1a35-f1a479b8 {
    grid-area: span 1 / span 3 / span 1 / span 3;
  }

  #w-node-a5f87bd4-dc36-1f85-368f-23d9a98654b6-56789157,
  #w-node-e85811a8-fc9f-478f-40af-31b393f46a34-56789157,
  #w-node-fb260f2c-0c44-472d-fea0-a5a948faf27c-56789157 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_99b1dbfd-4979-bbe7-b804-103746951c6f-9b0cbbf7 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_1ce15f19-82f9-928e-65f3-80e91e4f4f69-744df15a {
    justify-self: end;
  }
}

@media (max-width: 479px) {
  :root {
    --padding-container: 1rem;
  }

  /* Базовое уменьшение размера скобок */
  .mega-trigger,
  .btn-s {
    --br-default-size: 0.3125rem;
  }

  /* ВОТ ОНО! Оставил жесткие нижние размеры ТОЛЬКО для мега-меню */
  .mega-trigger {
    --br-w-bottom: 0.3125rem;
    --br-h-bottom: 0.3125rem;
  }

  /* Корзине меняем только отступ, ширину она теперь возьмет синхронно из --br-w */
  .mega-trigger,
  .nav-b,
  .s {
    --br-pos-y: 6px;
  }

  /* Анимация тапа пальцем для мега-меню */
  .mega-trigger.is-active,
  .mega-trigger:active {
    --br-w-bottom: 50%;
    --br-h-bottom: 100%;
  }

  /* Корзине (.nav-b) отдельные правила для ширины тут больше НЕ НУЖНЫ. 
     Она отработает от глобального .btn-s:active */
}

@media (min-width: 768px) {

  .w-lightbox-control:hover {
    opacity: 1;
  }
}

@media (min-width: 992px) {

  /* На ПК отменяем скрытие, меню всегда открыто */
  .type-switcher-wrapper [data-drop="content"] {
    pointer-events: auto;
    /* Добавить эту строку */
    grid-template-rows: 1fr;
    overflow: visible;
    visibility: visible;
  }

  /* На ПК отменяем скрытие, меню всегда открыто */

  /* Превращение в крестик при наведении */
  .mega-trigger:hover .line-m:nth-child(1) {
    top: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 1.25rem;
  }

  .mega-trigger:hover .line-m:nth-child(2) {
    opacity: 0;
    transform: translateX(-50%) scaleX(0);
  }

  .mega-trigger:hover .line-m:nth-child(3) {
    top: 50%;
    transform: translateX(-50%) rotate(-45deg);
  }
}

@media (hover: hover) {

  /* Мышь на триггере открывает следующий за ним контент */
  [data-tooltip="trigger"]:hover+[data-tooltip="content"],
  /* Мышь на самом контенте держит его открытым */
  [data-tooltip="content"]:hover {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0) scale(1);
  }

  /* Держим кнопку визуально активной, пока курсор на тултипе */
  .filter-option-wrap:has([data-tooltip="content"]:hover) .info-btn {
    color: var(--orange);
    transform: scale(1.08);
  }

  .info-btn:hover {
    color: var(--orange);
    transform: scale(1.08);
  }

  .mega-trigger:hover {
    --br-w: 50%;
    --br-h: 100%;
    --br-w-bottom: 50%;
    --br-h-bottom: 100%;
  }
}

@media (hover: none) {
  html.lenis-scrolling body {
    pointer-events: none;
  }
}