@charset "UTF-8";
/*! Typography settings */
@font-face{
  font-family:"Manrope";
  src:url(../fonts/manrope-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Manrope";
  src:url(../fonts/manrope-medium.woff2) format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Manrope";
  src:url(../fonts/manrope-semibold.woff2) format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"Manrope";
  src:url(../fonts/manrope-bold.woff2) format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:fallback;
}
:root{
  --font-manrope:"Manrope", sans-serif;
}

.f-manrope-400{
  font-family:var(--font-manrope);
  font-weight:400;
}

.f-manrope-500{
  font-family:var(--font-manrope);
  font-weight:500;
}

.f-manrope-600{
  font-family:var(--font-manrope);
  font-weight:600;
}

.f-manrope-700{
  font-family:var(--font-manrope);
  font-weight:700;
}

.critical-css-font-carrier{
  font-family:var(--font-manrope);
}

.f-body{
  font-family:var(--text-body-ff);
  font-size:var(--text-body-fz);
  line-height:var(--text-body-lh);
}

.f-xs{
  font-size:1.4rem;
  line-height:2rem;
}

.f-sm{
  font-size:1.6rem;
  line-height:1.5;
}

.f-sm-fluid{
  font-size:1.6rem;
  line-height:1.5;
}

.f-sm-fluid-2{
  font-size:1.6rem;
  line-height:1.5;
}

.f-md{
  font-size:1.8rem;
  line-height:2.4rem;
}

.f-md-fluid{
  font-size:1.8rem;
  line-height:2.4rem;
}

.f-lg{
  font-size:2rem;
  line-height:1.6;
}

.f-500{
  font-weight:500;
}

.f-600{
  font-weight:600;
}

/*! Initial styling for basic html-elements */
*,
::before,
::after{
  box-sizing:border-box;
}

*{
  padding:0;
  margin:0;
}
*:focus{
  outline:none;
}
*:not(input, textarea, .button):focus-visible{
  outline:2px solid var(--tab-focus-color);
  outline-offset:0.2rem;
}

html{
  height:100%;
  font-family:system-ui, "-apple-system", "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size:10px;
  background-color:var(--html-bg-color);
  transition:background-color var(--transition-long-cubic);
  scroll-behavior:smooth;
  -webkit-tap-highlight-color:transparent;
  -webkit-text-size-adjust:100%;
  color-scheme:light dark;
}
html.has-scrollbar{
  overflow-x:unset;
  overflow-y:scroll;
}

body{
  --text-body-ff:var(--font-manrope);
  --text-body-fz:1.8rem;
  --text-body-lh:2.8rem;
  --text-body-color:var(--color-gray-800);
  --header-height:7.4rem;
  --x-padding:1.6rem;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  min-width:36rem;
  min-height:100%;
  height:auto;
  font-family:var(--text-body-ff);
  font-size:var(--text-body-fz);
  line-height:var(--text-body-lh);
  font-weight:400;
  color:var(--text-body-color);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums;
  transition:color var(--transition-short-cubic);
}
[data-theme=dark] body{
  --text-body-color:var(--color-white);
}
body.no-transitions *{
  transition:none !important;
}
body.no-transitions *::before, body.no-transitions *::after{
  transition:none !important;
}
body.is-locked{
  position:fixed;
  width:100%;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
span,
li{
  overflow-wrap:break-word;
  transition:color var(--transition-short-cubic);
}

h1,
.h1,
h2,
.h2,
h3,
.h3{
  font-weight:700;
  text-transform:uppercase;
}

h1,
.h1{
  font-size:3rem;
}

h2,
.h2{
  font-size:2.8rem;
  line-height:3.2rem;
}

h3,
.h3{
  font-size:2rem;
  line-height:2.4rem;
}

.h1{
  font-size:3.2rem;
  line-height:3.6rem;
}

.p{
  margin-bottom:1.6rem;
}

br.md-only{
  display:none;
}

br.lg{
  display:none;
}

ul,
ol{
  list-style:none;
  list-style-position:inside;
}

.ul{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:2rem;
}
.ul::before, .ul::after{
  content:"";
  position:absolute;
  top:1rem;
  height:calc(100% - 2rem);
  transition:opacity var(--transition-long-cubic);
}
.ul::before{
  width:1.4rem;
  background-image:url(../svg/layout/ropes/rope-vertical-segment-bg.svg);
  background-position:left 0.4rem top 0.4rem;
  background-repeat:repeat-y;
  opacity:1;
}
.ul::after{
  left:0.7rem;
  width:0.3rem;
  background:linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.2) 100%);
  opacity:0;
}
.ul li{
  z-index:1;
  padding-left:3.8rem;
  font-size:1.6rem;
  line-height:2.4rem;
  background-image:url(../svg/layout/ropes/ul-knot.svg);
  background-position:left top 0.2rem;
  background-repeat:no-repeat;
}
[data-theme=dark] .ul::before{
  opacity:0;
}
[data-theme=dark] .ul::after{
  opacity:1;
}
[data-theme=dark] .ul li{
  background-image:url(../svg/layout/traces/ul-point.svg);
  background-position:left -1.2rem top -0.9rem;
}

a{
  --color:var(--color-gray-800);
  --color-hover:var(--color-black);
  --color-active:var(--color-gray-700);
  text-decoration-color:transparent;
  color:var(--color);
  transition-property:var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-short);
}
a:hover, a:focus-visible{
  text-decoration-color:transparent;
  color:var(--color-hover);
}
a:active{
  color:var(--color-active);
}
[data-theme=dark] a{
  --color:var(--color-white);
  --color-hover:var(--color-gray-200);
  --color-active:var(--color-gray-300);
}

button,
input,
optgroup,
select,
textarea{
  font-family:inherit;
  font-size:100%;
  line-height:var(--text-body-lh);
  font-weight:inherit;
  font-variant-numeric:inherit;
  color:inherit;
}

button,
select{
  text-transform:none;
  -webkit-user-select:none;
          user-select:none;
}

select{
  visibility:hidden;
}

button,
input[type=button],
input[type=reset],
input[type=submit]{
  -webkit-appearance:button;
}

button,
input[type=submit]{
  display:block;
}
button:hover,
input[type=submit]:hover{
  cursor:pointer;
}

input[type=search]{
  -webkit-appearance:textfield;
  outline-offset:-2px;
}

input[type=number]{
  -moz-appearance:textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

progress{
  vertical-align:baseline;
}

img,
picture,
video,
canvas,
svg{
  display:block;
  max-width:100%;
}

img{
  box-sizing:content-box;
  width:100%;
  height:100%;
  object-fit:cover;
}

.picture-svg img{
  width:revert-layer;
}

.inline-svg{
  pointer-events:none;
}

address{
  font-style:normal;
}

table{
  table-layout:fixed;
  text-indent:0;
  border-color:inherit;
  border-collapse:separate;
  border-spacing:0;
}

hr{
  display:block;
  height:0.1rem;
  border:none;
  background-color:var(--color-black);
  color:inherit;
}

.hr{
  height:0.1rem;
  border:none;
  margin:2rem 0;
  background-color:var(--color-black);
}

abbr[title]{
  -webkit-text-decoration:underline dotted;
          text-decoration:underline dotted;
}

b,
strong{
  font-weight:bolder;
}

code,
kbd,
samp,
pre{
  font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  font-size:1em;
}

small{
  font-size:80%;
}

sub,
sup{
  position:relative;
  vertical-align:baseline;
  font-size:75%;
  line-height:0;
}

sub{
  bottom:-0.25em;
}

sup{
  top:-0.5em;
}

summary{
  display:list-item;
}

iframe{
  border:none;
}

::-moz-focus-inner{
  padding:0;
  border-style:none;
}

:-moz-focusring{
  outline:1px dotted ButtonText;
}

:-moz-ui-invalid{
  box-shadow:none;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button{
  height:auto;
}

::-webkit-search-decoration{
  -webkit-appearance:none;
}

::-webkit-file-upload-button{
  -webkit-appearance:button;
  font:inherit;
}

/*! Reusable utility classes */
.offscreen{
  position:absolute;
  overflow:hidden;
  width:1px;
  height:1px;
  padding:0;
  border:0;
  margin:-1px;
  clip:rect(0 0 0 0);
}

.ellipsis{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.truncate-box{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
}
.accordion-item{
  --animation-duration:0.3s;
}
.accordion-item.is-open .accordion-button .icon{
  transform:rotate(180deg);
}
.accordion-item.is-open .accordion-panel{
  max-height:unset;
  animation:none;
}
.accordion-item.is-open.is-animating .accordion-panel{
  max-height:var(--accordion-height);
  animation:accordionSlideDown var(--animation-duration);
}

.accordion-button{
  display:flex;
  justify-content:space-between;
  align-items:center;
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.accordion-button::marker, .accordion-button::-webkit-details-marker{
  content:"";
  display:none;
}
.accordion-button .icon{
  transition:transform var(--transition-medium-cubic);
}

.accordion-panel{
  --accordion-height:100rem;
  overflow:hidden;
  max-height:0;
  animation:accordionSlideUp var(--animation-duration);
}

@keyframes accordionSlideUp{
  0%{
    max-height:var(--accordion-height);
    opacity:1;
  }
  100%{
    max-height:0;
    opacity:0;
  }
}
@keyframes accordionSlideDown{
  0%{
    max-height:0;
    opacity:0;
  }
  100%{
    max-height:var(--accordion-height);
    opacity:1;
  }
}
.accordion-content{
  padding:1rem 0;
}

/*! Buttons */
.button{
  --bg-color:var(--color-gray-800);
  --bg-color-hover:var(--color-gray-700);
  --bg-color-active:var(--color-gray-600);
  --color:var(--color-white);
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:2.4rem;
  border:none;
  border-radius:1.2rem;
  font-size:1.8rem;
  line-height:2.4rem;
  font-weight:700;
  text-decoration:none;
  text-align:center;
  background-color:var(--bg-color);
  color:var(--color);
  transition-property:transform, opacity, var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-medium);
  cursor:pointer;
}
.button:hover, .button:focus-visible{
  background-color:var(--bg-color-hover);
  color:var(--color);
}
.button:active{
  background-color:var(--bg-color-active);
  color:var(--color);
}
.button[disabled]{
  opacity:0.3;
  pointer-events:none;
}
[data-theme=dark] .button{
  --bg-color:var(--color-white);
  --bg-color-hover:var(--color-gray-050);
  --bg-color-active:var(--color-gray-100);
  --color:var(--color-gray-800);
}

.close-button{
  overflow:hidden;
  width:2.2rem;
  height:2.2rem;
  border:0;
  background-color:transparent;
  color:transparent;
  transition:opacity var(--transition-medium-cubic);
  -webkit-user-select:none;
          user-select:none;
}
.close-button:hover{
  opacity:0.6;
}
.close-button::before, .close-button::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  display:block;
  width:0.3rem;
  height:100%;
  margin:0 auto;
  background-color:var(--color-black);
  transform:rotate(45deg) translateX(0);
}
.close-button::after{
  transform:rotate(-45deg) translateX(0);
}

.theme-switcher{
  --color-primary:var(--color-gray-500);
  --color-secondary:var(--color-gray-500);
  overflow:hidden;
  display:flex;
  align-items:center;
  width:2.1rem;
  height:2.1rem;
  border:1px solid var(--color-primary);
  border-radius:50%;
  background-color:transparent;
  transition:border-color var(--transition-medium-cubic);
}
.theme-switcher::before{
  content:"";
  position:relative;
  left:0.9rem;
  width:1.2rem;
  height:2.2rem;
  border-radius:0 50% 50% 0;
  background-color:var(--color-secondary);
  transition:background-color var(--transition-medium-cubic), transform var(--transition-long-cubic);
}
[data-theme=dark] .theme-switcher{
  --color-primary:var(--color-white);
  --color-secondary:var(--color-white);
}
[data-theme=dark] .theme-switcher::before{
  transform:translateX(-1.2rem);
}

/*! Pop-ups & modal dialogs */
.dialog-container{
  justify-content:center;
  align-items:center;
  min-width:36rem;
  width:fit-content;
  height:fit-content;
  border:none;
  background-color:transparent;
  color:var(--text-body-color);
  overscroll-behavior:contain;
}
.dialog-container[data-modal]{
  width:100%;
  max-width:100vw;
  height:100%;
  max-height:100%;
  cursor:pointer;
}
.dialog-container:not([data-modal]){
  position:fixed;
  inset:0;
  z-index:1;
  margin:auto;
}
.dialog-container::backdrop{
  background-color:transparent;
}

.dialog-container[open]{
  display:flex;
  animation:dialogSlideInUp 0.25s cubic-bezier(0.71, 1.7, 0.77, 1.24) forwards;
}

.dialog-container.close-dialog-animation{
  animation:dialogSlideOutDown 0.25s ease backwards;
}

@keyframes dialogSlideInUp{
  from{
    opacity:0;
    transform:translate3d(0, 4rem, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}
@keyframes dialogSlideOutDown{
  from{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
  to{
    opacity:0;
    transform:translate3d(0, 8rem, 0);
  }
}
.dialog-container[data-dialog-stack][open]{
  --backdrop:var(--color-overlay-bg);
}
.dialog-container[data-dialog-stack][open]::backdrop{
  animation:dialogBackdropFadeIn 0.3s ease forwards;
}
.dialog-container[data-dialog-stack][open]:not([data-dialog-stack="1"]){
  --backdrop:var(--color-stack-overlay-bg);
}
.ua-firefox .dialog-container[data-dialog-stack][open]::backdrop{
  background-color:var(--backdrop);
}

.dialog-container[data-dialog-stack].close-dialog-animation::backdrop{
  animation:dialogBackdropFadeOut 0.3s ease backwards;
}

@keyframes dialogBackdropFadeIn{
  from{
    background-color:transparent;
  }
  to{
    background-color:var(--backdrop);
  }
}
@keyframes dialogBackdropFadeOut{
  from{
    background-color:var(--backdrop);
  }
  to{
    background-color:transparent;
  }
}
.dialog{
  --horizontal-margin:2rem;
  position:relative;
  z-index:1000;
  min-width:34rem;
  width:calc(100% - var(--horizontal-margin) * 2);
  max-width:70rem;
  height:fit-content;
  padding:3rem 2rem;
  border-radius:1rem;
  margin:auto;
  background-color:var(--color-white);
  box-shadow:var(--shadow-dialog);
  cursor:initial;
}

.dialog__close-button{
  position:absolute;
  top:1.5rem;
  right:1.5rem;
}

/*! Drawer component */
.drawer{
  position:fixed;
  top:0;
  z-index:101;
  overflow:auto;
  width:min(45rem, 85%);
  height:100%;
  background-color:var(--color-white);
  transition:visibility var(--transition-long-cubic), background-color var(--transition-drawer), opacity var(--transition-drawer), transform var(--transition-long-cubic);
}
[data-theme=dark] .drawer{
  background-color:var(--color-black);
}

.drawer--rtl{
  right:0;
  transform:translateX(100%);
}

.drawer--ltr{
  left:0;
  transform:translateX(-100%);
}

.drawer--ttb{
  transform:translateY(-100%);
}

.drawer--btt{
  top:initial;
  bottom:0;
  visibility:hidden;
  opacity:0;
  transform:translateY(80%);
}

.drawer.is-active.drawer--rtl, .drawer.is-active.drawer--ltr{
  transform:translateX(0%);
}
.drawer.is-active.drawer--ttb, .drawer.is-active.drawer--btt{
  visibility:visible;
  opacity:1;
  transform:translateY(0%);
}

.drawer-overlay.is-visible{
  display:none;
}

/*! Dropdown component */
.dropdown{
  --dropdown-offset:10px;
  position:relative;
}
.dropdown[data-dropdown-hover]{
  padding-bottom:var(--dropdown-offset);
  margin-bottom:calc(var(--dropdown-offset) * -1);
}

.dropdown-container{
  --dropdown-offset:10px;
  --scrollbar-padding:1rem;
  position:absolute;
  top:0;
  left:0;
  z-index:10;
  display:none;
  gap:1.6rem;
  min-width:12rem;
  width:100%;
  max-width:30rem;
  padding:1rem calc(2rem - var(--scrollbar-padding)) 1rem 2rem;
  border:1px solid var(--color-gray-100);
  border-radius:0.4rem;
  background-color:var(--color-white);
  box-shadow:var(--shadow-menu);
}
.dropdown-container.is-visible{
  display:flex;
  animation:dropdown-container-appear 0.2s;
}
[data-theme=dark] .dropdown-container{
  border-color:var(--color-gray-800);
  background-color:var(--color-black);
  box-shadow:var(--shadow-menu-dark);
}

@keyframes dropdown-container-appear{
  from{
    transform:translateY(1rem);
  }
}
.dropdown-content{
  overflow-x:hidden;
  overflow-y:auto;
  width:100%;
  max-height:30rem;
  padding-right:var(--scrollbar-padding);
}
.lang-selector{
  --color:var(--color-gray-500);
  --color-hover:var(--color-gray-700);
  --color-active:var(--color-gray-800);
  width:2rem;
  height:2rem;
  border:none;
  background-color:transparent;
  color:var(--color);
  transition:color var(--transition-medium-cubic);
}
.lang-selector:hover, .lang-selector:focus-visible{
  color:var(--color-hover);
}
.lang-selector:active{
  color:var(--color-active);
}
[data-theme=dark] .lang-selector{
  --color:var(--color-white);
  --color-hover:var(--color-gray-200);
  --color-active:var(--color-gray-300);
}
.select-wrapper{
  display:flex;
  align-items:center;
  gap:1rem;
}

.select-caption{
  flex-shrink:0;
  min-width:11.8rem;
  color:var(--color-gray-500);
}

.dropdown[data-dropdown-select]{
  --dropdown-offset:-10px;
  display:flex;
  width:100%;
  max-width:20rem;
  background-color:transparent;
}

.dropdown-select-button{
  display:flex;
  flex-grow:1;
  align-items:center;
  min-height:6.2rem;
  padding:0 2rem;
  border:none;
  border-bottom:1px solid var(--color-gray-100);
  font-size:1.6rem;
  line-height:1.5rem;
  background-color:var(--color-white);
  transition:border-color var(--transition-long-cubic), background-color var(--transition-long-cubic);
}
.dropdown-select-button[aria-expanded=true] .dropdown-button__arrow{
  transform:rotate(180deg);
}
.dropdown-select-button + .dropdown-container{
  padding-top:0;
  padding-bottom:0;
}
[data-theme=dark] .dropdown-select-button{
  border-color:var(--color-gray-900);
  background-color:var(--color-black);
}

.dropdown-button__arrow{
  margin-left:auto;
  color:var(--color-gray-500);
  transition:transform var(--transition-medium-cubic);
}

.dropdown-select{
  display:flex;
  flex-direction:column;
  width:100%;
}

.dropdown-option{
  width:100%;
  padding:1.2rem 0;
  font-size:1.6rem;
  line-height:1.5rem;
}
.dropdown-option.is-disabled, .dropdown-option[disabled]{
  opacity:0.8;
  pointer-events:none;
}

/*! Forms and their elements */
.form{
  --border-width:0.2rem;
  --border-radius:0;
  --border-color:var(--color-gray-100);
  --border-color-hover:var(--color-gray-200);
  --border-color-focus:var(--color-black);
  --input-height:6.2rem;
  --input-padding:1.8rem 2rem 1.6rem;
  --placeholder-color:var(--color-gray-500);
  --bg-color:var(--color-white);
  display:flex;
  flex-direction:column;
  gap:2rem;
}
[data-theme=dark] .form{
  --border-color:var(--color-gray-900);
  --border-color-hover:var(--color-gray-800);
  --border-color-focus:var(--color-white);
  --bg-color:var(--color-black);
}

.form__fieldset{
  display:flex;
  flex-direction:column;
  gap:1rem;
  border:0;
}

.form-legend{
  margin-bottom:1rem;
  font-size:2.4rem;
  font-weight:500;
}

.form__field{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0.8rem;
  width:100%;
}

.form__label{
  display:block;
  order:-1;
  font-size:1.6rem;
  line-height:2.4rem;
}

.text-input-wrapper{
  position:relative;
  display:block;
}

.form__text-input{
  width:100%;
  min-height:var(--input-height);
  padding:var(--input-padding);
  border:none;
  border-bottom:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  font-size:1.6rem;
  line-height:2.4rem;
  background-color:var(--bg-color);
  transition:border-color var(--transition-long-cubic), background-color var(--transition-long-cubic);
}
.form__text-input:hover{
  border-color:var(--border-color-hover);
}
.form__text-input:focus-visible{
  border-color:var(--border-color-focus);
}
.form__text-input:focus-visible::placeholder{
  opacity:0;
}
.form__text-input[disabled]{
  opacity:0.5;
  pointer-events:none;
}
.form__text-input::placeholder{
  color:var(--placeholder-color);
  opacity:1;
}

.input-tel.is-masked:not(.is-filled){
  color:var(--placeholder-color);
}

.input-textarea{
  display:block;
  min-height:12rem;
  max-height:24rem;
  padding:1rem 2rem;
  resize:vertical;
}

.file-field{
  flex-direction:row;
  align-items:center;
  gap:1rem;
  min-height:var(--input-height);
  padding:var(--input-padding);
  border:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  background-color:var(--bg-color);
  transition:border-color var(--transition-medium-cubic);
}
.file-field:hover{
  border-color:var(--border-color-hover);
}
.file-field:focus-within{
  border-color:var(--border-color-focus);
}

.input-file{
  position:absolute;
  top:calc(var(--border-width) * -1);
  left:calc(var(--border-width) * -1);
  z-index:1;
  width:calc(100% + var(--border-width) * 2);
  height:calc(100% + var(--border-width) * 2);
  font-size:0;
  opacity:0;
  cursor:pointer;
}
.input-file::-webkit-file-upload-button{
  cursor:pointer;
}

.label-file{
  order:initial;
}

.checkbox-field{
  --checkbox-size:2rem;
  z-index:0;
  justify-content:center;
  min-height:var(--input-height);
}

.input-checkbox{
  position:absolute;
  z-index:-1;
  opacity:0;
}
.input-checkbox:focus-visible + .label-checkbox .checkbox-input-control{
  outline:2px solid var(--border-color-focus);
  outline-offset:0.2rem;
}
.input-checkbox:checked + .label-checkbox .checkbox-input-control{
  border-color:var(--color-black);
  background-color:var(--color-black);
}
.input-checkbox:checked + .label-checkbox .checkbox-input-control::before{
  opacity:1;
}
[data-theme=dark] .input-checkbox:checked + .label-checkbox .checkbox-input-control{
  border-color:var(--color-white);
  background-color:var(--color-white);
}
.input-checkbox[disabled] + .label-checkbox{
  opacity:0.5;
  pointer-events:none;
}

.label-checkbox{
  width:fit-content;
  margin-left:calc(var(--checkbox-size) + 1.6rem);
  color:var(--color-gray-500);
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.label-checkbox:hover .checkbox-input-control{
  border-color:var(--border-color-hover);
}
.label-checkbox:active .checkbox-input-control{
  border-color:var(--border-color-hover);
}
.label-checkbox a{
  display:inline;
}

.checkbox-input-control{
  position:absolute;
  top:50%;
  left:0;
  width:var(--checkbox-size);
  height:var(--checkbox-size);
  border:2px solid var(--border-color);
  border-radius:0.6rem;
  background-color:var(--bg-color);
  transform:translateY(-50%);
}
.checkbox-input-control::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-image:url(../svg/icons/checkmark.svg);
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
}
[data-theme=dark] .checkbox-input-control{
  --border-color:var(--color-gray-800);
  --border-color-hover:var(--color-gray-700);
}
[data-theme=dark] .checkbox-input-control::before{
  background-image:url(../svg/icons/checkmark-black.svg);
}

.form__fieldset.radio-fieldset{
  flex-direction:column;
}

.radio-legend{
  margin-bottom:1rem;
  font-size:2rem;
  font-weight:500;
}

.radio-field{
  --radio-size:2.4rem;
  --check-size:1.4rem;
  --check-color:var(--color-black);
  z-index:0;
  justify-content:center;
  min-height:calc(var(--radio-size) + 0.4rem);
}

.input-radio{
  position:absolute;
  z-index:-1;
  opacity:0;
}
.input-radio:focus-visible + .label-radio .radio-input-control{
  border-color:var(--border-color-focus);
}
.input-radio:checked + .label-radio .radio-input-control::before{
  transform:scale(1);
}

.label-radio{
  margin-left:calc(var(--radio-size) + 1.6rem);
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.label-radio:hover .radio-input-control{
  border-color:var(--border-color-hover);
}
.label-radio:active .radio-input-control{
  border-color:var(--border-color-focus);
}
.label-radio a{
  display:inline;
}

.radio-input-control{
  position:absolute;
  top:50%;
  left:0;
  display:flex;
  justify-content:center;
  align-items:center;
  width:var(--radio-size);
  height:var(--radio-size);
  border:1px solid var(--border-color);
  border-radius:50%;
  background-color:var(--bg-color);
  transform:translateY(-50%);
  transition:border-color var(--transition-medium-cubic);
}
.radio-input-control::before{
  content:"";
  width:var(--check-size);
  height:var(--check-size);
  border-radius:50%;
  background-color:var(--check-color);
  transform:scale(0);
}

.custom-field{
  min-height:var(--input-height);
}

.password-toggler{
  --icon-size:2.4rem;
  position:absolute;
  top:calc(var(--input-height) / 2 - var(--icon-size) / 2);
  right:1.8rem;
  width:var(--icon-size);
  height:var(--icon-size);
  border:none;
  background-image:url(../svg/icons/eye-hide.svg);
  background-position:center;
  background-repeat:no-repeat;
  background-color:transparent;
  opacity:0.6;
}
.password-toggler:hover, .password-toggler:focus-visible{
  opacity:1;
}
.password-toggler + .input-password{
  padding-right:5rem;
}
.password-toggler.is-active{
  background-image:url(../svg/icons/eye-show.svg);
}
.form-wrapper{
  display:flex;
  flex-direction:column;
  gap:3.2rem;
  margin-top:-0.8rem;
}

.contact-form .checkbox-field,
.contact-form .form__submit{
  margin-top:-0.7rem;
}

/*! Icons */
.icon{
  display:flex;
  flex-shrink:0;
  font-size:2rem;
}

/*! Links */
.link{
  --td-color:transparent;
  --td-color-hover:transparent;
  --color:var(--color-gray-800);
  --color-hover:var(--color-black);
  --color-active:var(--color-gray-700);
  display:inline-flex;
  align-items:center;
  border:none;
  line-height:inherit;
  font-weight:inherit;
  text-decoration:underline;
  text-decoration-color:var(--td-color);
  background-color:transparent;
  color:var(--color);
  transition-property:transform, opacity, var(--transition-props-color);
  transition-timing-function:var(--transition-func-cubic);
  transition-duration:var(--transition-duration-short);
}
.link:hover, .link:focus-visible{
  text-decoration-color:var(--td-color-hover);
  color:var(--color-hover);
}
.link:active{
  color:var(--color-active);
}
.link.is-disabled, .link[disabled]{
  opacity:0.8;
  pointer-events:none;
}
.link--inline{
  display:inline;
}
[data-theme=dark] .link{
  --color:var(--color-white);
  --color-hover:var(--color-gray-200);
  --color-active:var(--color-gray-300);
}

.link--gray{
  --color:var(--color-gray-500);
  --color-hover:var(--color-black);
  --color-active:var(--color-gray-500);
}
[data-theme=dark] .link--gray{
  --color:var(--color-gray-500);
  --color-hover:var(--color-white);
  --color-active:var(--color-gray-500);
}

/*! Nav component rules */
.nav__list{
  display:flex;
  align-items:center;
  gap:2rem;
  padding-left:0;
}

.nav__item[data-dropdown]{
  --container-offset:1rem;
}

.nav__link{
  display:inline-flex;
  align-items:center;
  font-weight:500;
  text-decoration:none;
}
.nav__link .icon{
  margin-left:0.6rem;
  font-size:2.2rem;
  transition:transform var(--transition-medium-cubic);
}

.sublist-toggler--level-1{
  padding-bottom:var(--container-offset);
  margin-bottom:calc(var(--container-offset) * -1);
}
.sublist-toggler[aria-expanded=true] .icon{
  transform:rotate(180deg);
}
.sublist-toggler:not(.sublist-toggler--level-1){
  overflow:hidden;
  width:100%;
}

.sublist-container{
  --scrollbar-padding:1rem;
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows 0.2s linear;
}

.sublist-container.is-visible{
  grid-template-rows:1fr;
}

@keyframes sublist-appear{
  0%{
    opacity:0;
    transform:translateY(1rem);
  }
}
.nav__sublist{
  overflow-x:hidden;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:2rem;
  max-height:30rem;
  padding-right:var(--scrollbar-padding);
}

/*! Main navbar component */
.navbar-toggler{
  --burger-color:var(--color-gray-500);
  --burger-color-hover:var(--color-gray-800);
  --burger-color-active:var(--color-gray-900);
  position:relative;
  top:-0.1rem;
  z-index:101;
  display:block;
  order:1;
  width:2.8rem;
  height:2.8rem;
  padding:0;
  border:0;
  background-color:transparent;
  outline-offset:0.5rem !important;
}
.navbar-toggler:hover, .navbar-toggler:focus-visible{
  --burger-color:var(--burger-color-hover);
}
.navbar-toggler:active{
  --burger-color:var(--burger-color-active);
}
[data-theme=dark] .navbar-toggler{
  --burger-color:var(--color-white);
  --burger-color-hover:var(--color-gray-200);
  --burger-color-active:var(--color-gray-300);
}
[data-theme=dark] .navbar-toggler:hover, [data-theme=dark] .navbar-toggler:focus-visible{
  --burger-color:var(--burger-color-hover);
}
[data-theme=dark] .navbar-toggler:active{
  --burger-color:var(--burger-color-active);
}

.navbar-burger{
  display:block;
  width:100%;
  height:0.1rem;
  background-color:var(--burger-color);
  transition:background-color var(--transition-medium-cubic);
}
.navbar-burger::after, .navbar-burger::before{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:0.1rem;
  background-color:var(--burger-color);
  transition:background-color var(--transition-medium-cubic), transform var(--transition-long-cubic);
}
.navbar-burger::before{
  transform:translateY(-1rem);
}
.navbar-burger::after{
  transform:translateY(1rem);
}

.navbar-toggler[aria-expanded=true] .navbar-burger{
  background-color:transparent;
}
.navbar-toggler[aria-expanded=true] .navbar-burger::after, .navbar-toggler[aria-expanded=true] .navbar-burger::before{
  border-radius:0;
}
.navbar-toggler[aria-expanded=true] .navbar-burger::before{
  transform:rotate(45deg);
}
.navbar-toggler[aria-expanded=true] .navbar-burger::after{
  transform:rotate(-45deg);
}

.navbar{
  --navbar-offset:calc(var(--header-height) - 2rem);
  top:var(--navbar-offset);
  left:0;
  display:flex;
  width:100vw;
  height:calc(100% - var(--navbar-offset));
  padding-top:7.6rem;
}
.navbar::before, .navbar::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
}
.navbar::before{
  top:1.9rem;
  height:1.8rem;
  background-image:url(../svg/layout/ropes/rope-segment-bg.svg);
  background-position:center left 0.2rem;
  background-repeat:repeat-x;
  background-size:1.4rem;
  opacity:1;
  transition:opacity 0.3s linear 0.1s;
}
.navbar::after{
  top:2.5rem;
  height:0.6rem;
  background-color:var(--color-gray-900);
  opacity:0;
  transition:none;
}
[data-theme=dark] .navbar::before{
  opacity:0;
  transition:none;
}
[data-theme=dark] .navbar::after{
  opacity:1;
  transition:opacity 0.2s linear 0.1s;
}
.navbar .nav-container{
  overflow-x:hidden;
  overflow-y:auto;
  display:flex;
  flex-grow:1;
  flex-direction:column;
  gap:4rem;
  max-width:192rem;
  height:100%;
  padding:0 1.6rem 4rem;
}
.navbar .nav__list{
  flex:1 0 0;
  flex-direction:column;
  align-items:initial;
  gap:0;
  max-width:84.8rem;
}
.navbar .nav__sublist{
  overflow-y:hidden;
}
.navbar .nav__sublist > .nav__item:first-child{
  padding-top:2rem;
}
.navbar .nav__item{
  display:inline-flex;
  padding:1.6rem 0 1.6rem;
  border-bottom:1px solid var(--color-gray-100);
  transition:border-color var(--transition-long-cubic);
}
.navbar .nav__item:has(.nav__title){
  padding:0 0 0.8rem;
  border:none;
  margin-top:2.4rem;
}
[data-theme=dark] .navbar .nav__item{
  border-color:var(--color-gray-900);
}
.navbar .nav__link,
.navbar .nav__title{
  width:100%;
  font-size:1.6rem;
  line-height:1.5;
  font-weight:500;
}
.navbar .nav__title{
  display:inline-flex;
  color:var(--color-gray-500);
}

/*! Overlay component */
.overlay{
  position:fixed;
  top:0;
  left:0;
  z-index:100;
  visibility:hidden;
  width:100%;
  height:100%;
  background-color:var(--color-overlay-bg);
  opacity:0;
  transition:var(--transition-overlay);
  cursor:pointer;
}

.overlay.is-visible{
  visibility:visible;
  opacity:1;
}

.dialog-overlay{
  z-index:100;
}
.custom-scroll,
.nav__sublist,
.dropdown-content{
  --track-width:0.5rem;
  --track-vertical-offset:0;
  --track-color:var(--color-grey-1);
  --thumb-width:0.5rem;
  --thumb-color:var(--color-grey-2);
  --thumb-hover-color:var(--color-grey-3);
}
.custom-scroll::-webkit-scrollbar,
.nav__sublist::-webkit-scrollbar,
.dropdown-content::-webkit-scrollbar{
  width:var(--track-width);
}
.custom-scroll::-webkit-scrollbar-track,
.nav__sublist::-webkit-scrollbar-track,
.dropdown-content::-webkit-scrollbar-track{
  border-radius:1rem;
  margin-top:var(--track-vertical-offset);
  margin-bottom:var(--track-vertical-offset);
  background-color:var(--track-color);
}
.custom-scroll::-webkit-scrollbar-thumb,
.nav__sublist::-webkit-scrollbar-thumb,
.dropdown-content::-webkit-scrollbar-thumb{
  width:var(--thumb-width);
  border-radius:1rem;
  background-color:var(--thumb-color);
}
.custom-scroll::-webkit-scrollbar-thumb:hover,
.nav__sublist::-webkit-scrollbar-thumb:hover,
.dropdown-content::-webkit-scrollbar-thumb:hover{
  background-color:var(--thumb-hover-color);
}
@-moz-document url-prefix(){
  .custom-scroll,
  .nav__sublist,
  .dropdown-content{
    scrollbar-width:thin;
    scrollbar-color:var(--thumb-color) var(--track-color);
  }
}
/*! Swiper.js */
.swiper{
  min-width:0;
  width:100%;
  -webkit-user-select:none;
          user-select:none;
}

.swiper-button-next,
.swiper-button-prev{
  --swiper-navigation-color:var(--color-red);
  display:flex;
  justify-content:center;
  align-items:center;
  outline:0;
  -webkit-user-select:none;
          user-select:none;
}
.swiper-button-next.swiper-button-lock,
.swiper-button-prev.swiper-button-lock{
  display:none;
}

.swiper-button-next:after,
.swiper-button-prev:after{
  --swiper-navigation-size:2rem;
  content:">";
  width:initial;
  height:initial;
  font-family:inherit;
  font-weight:700;
}

.swiper-button-prev:after{
  content:"<";
}

.swiper-controls{
  position:absolute;
  right:2rem;
  bottom:0.5rem;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  width:14rem;
  height:3rem;
  border-radius:2rem;
  background-color:var(--color-white);
  -webkit-user-select:none;
          user-select:none;
}
.swiper-controls .swiper-button-next,
.swiper-controls .swiper-button-prev{
  top:0;
  right:0;
  z-index:11;
  width:2.5rem;
  height:3rem;
  margin-top:0;
}
.swiper-controls .swiper-button-prev{
  left:0;
}
.swiper-controls .swiper-pagination{
  position:initial;
}

.swiper--reverse{
  transform:rotate(180deg);
}
.swiper--reverse .swiper-slide,
.swiper--reverse .swiper-controls{
  transform:rotate(-180deg);
}
.error-label{
  font-size:1.2rem;
  text-align:right;
  color:var(--color-red);
}

.error-field{
  border-color:var(--color-red);
}
.error-field:hover, .error-field:focus-visible{
  border-color:var(--color-red);
}
.error-field:active{
  border-color:var(--color-red);
}

.input-checkbox.error-field + .form__label{
  color:var(--color-red);
}
.input-checkbox.error-field + .form__label .checkbox-input-control{
  border-color:var(--color-red);
}
.input-checkbox.error-field ~ .error-label{
  display:none;
}

.radio-fieldset--required:has(.input-radio.error-field) .radio-input-control{
  border-color:var(--color-red);
}

/*! Main header rules */
.header{
  position:fixed;
  top:0;
  z-index:101;
  min-width:36rem;
  width:100%;
  max-width:100vw;
  min-height:7.4rem;
  padding:2rem 0;
  background-color:rgba(255, 255, 255, 0.98);
  transition:background-color var(--transition-long-cubic);
}
[data-theme=dark] .header{
  background-color:var(--color-black);
}
.header .container{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  min-height:3.4rem;
}
.header .dropdown-container{
  z-index:101;
}
.header .logo{
  --color:var(--color-gray-800);
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  transition:color var(--transition-long-cubic);
}
.header .logo path{
  fill:var(--color);
}
[data-theme=dark] .header .logo{
  --color:var(--color-white);
}

.logo{
  display:block;
  flex-shrink:0;
  width:9.6rem;
  height:4.2rem;
}

.header-contacts{
  display:flex;
  flex:1 0 0;
  flex-direction:column;
  gap:2.4rem;
  max-width:84.8rem;
}

.header-contacts__hgroup{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.header-contacts__title{
  font-size:2rem;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
}

.header-contacts__subtitle{
  font-size:1.6rem;
  line-height:1.75;
}

.header-contacts__content{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
}

.header-contacts__link{
  width:fit-content;
  font-size:1.8rem;
  line-height:1.33;
  font-weight:700;
}

.header-contacts__item{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.header-contacts__caption{
  color:var(--color-gray-500);
}

/*! General layout structure */
.page-wrapper{
  flex:1 0 auto;
  padding-top:calc(var(--header-height));
  padding-bottom:2.5rem;
}

.container{
  min-width:36rem;
  width:100%;
  max-width:192rem;
  padding-right:var(--x-padding);
  padding-left:var(--x-padding);
  margin:0 auto;
}

.vw-container{
  position:relative;
  width:100vw;
  margin-left:calc(-50vw + 50%);
}
.vw-container--right{
  margin-left:initial;
}
.vw-container--left{
  width:initial;
}

/*! Separated raw html elements rules */
.content{
  --common-gap:1.2rem;
}
.content h1{
  margin-bottom:1.6rem;
}
.content h2{
  margin-bottom:1.2rem;
}
.content h3{
  margin-bottom:1rem;
}
.content p{
  margin-bottom:var(--common-gap);
  font-size:1.6rem;
  line-height:150%;
}
.content p:only-child, .content p:last-child{
  margin-bottom:0;
}
.content ul,
.content ol{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-bottom:var(--common-gap);
}
.content ul:only-child, .content ul:last-child,
.content ol:only-child,
.content ol:last-child{
  margin-bottom:0;
}
.content ol{
  counter-reset:li;
}
.content ol li{
  display:flex;
  gap:0.5rem;
}
.content ol li::before{
  counter-increment:li;
  content:counters(li, ".", decimal) ".";
  flex-shrink:0;
  min-width:1.4rem;
}
.content ul li{
  position:relative;
  padding-left:2.4rem;
}
.content ul li::before{
  content:"•";
  position:absolute;
  top:1rem;
  left:0;
  width:1rem;
  height:1rem;
  font-size:5rem;
  line-height:0;
  font-weight:normal;
}
.content table{
  table-layout:fixed;
  width:100%;
  border-collapse:collapse;
}
.content th{
  text-align:left;
}

/*! Main footer rules */
.footer{
  position:relative;
  min-width:36rem;
  padding:5.8rem 0 4rem;
  margin-top:6.7rem;
  font-size:1.6rem;
  line-height:150%;
}
.footer::before, .footer::after{
  width:calc(100% + var(--x-padding)) !important;
}
.homepage .footer{
  margin-top:13.2rem;
}
.footer .container{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.6rem;
}

.footer__copyright{
  margin-top:1.6rem;
  color:var(--color-gray-500);
}

/*! Homepage */
.gsap-container{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16rem;
  padding-top:6rem;
  animation:initialSectionAppear 0.6s linear;
}

.gsap-section{
  display:flex;
  flex:1 0 0;
  flex-direction:column;
  gap:4rem;
}
.gsap-section--main{
  position:relative;
}
.gsap-section--main::after{
  content:"";
  width:4rem;
  height:4rem;
  margin:2rem auto 0;
  background-image:url(../svg/layout/arrow-circle.svg);
  background-repeat:no-repeat;
  background-size:contain;
}
[data-theme=dark] .gsap-section--main::after{
  background-image:url(../svg/layout/arrow-circle-white.svg);
}
[data-theme=dark] .gsap-section--main::before{
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(ellipse at bottom left, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.04) 30%, transparent 70%), radial-gradient(circle at 50% 180%, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.04) 50%, transparent 70%), radial-gradient(circle at 50% 120%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.05) 50%, transparent 70%), black;
  background-position:0 15rem;
  background-repeat:no-repeat;
  background-size:contain;
  filter:blur(5rem);
}
html.no-js .gsap-section{
  opacity:0;
}
@keyframes initialSectionAppear{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}

.main-heading{
  font-size:4rem;
  line-height:1;
}
.main-decoratives-container{
  position:relative;
  display:flex;
}

.main-decorative-axis{
  position:absolute;
  top:0;
  left:calc(var(--x-padding) * -1);
  z-index:-1;
  width:calc(100% + 2 * var(--x-padding));
  height:2rem;
}
.main-decorative-axis::before, .main-decorative-axis::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  transition:opacity var(--transition-long-cubic);
}
.main-decorative-axis::before{
  top:0;
  height:100%;
  background-image:url(../svg/layout/ropes/rope-segment-bg-beige.svg);
  background-position:top 0.6rem left 0.2rem;
  background-repeat:repeat-x;
  opacity:1;
}
.main-decorative-axis::after{
  top:0.6rem;
  height:0.3rem;
  background:linear-gradient(to right, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.1) 100%);
  background-position:top 0.6rem left;
  opacity:0;
}
[data-theme=dark] .main-decorative-axis::before{
  opacity:0;
}
[data-theme=dark] .main-decorative-axis::after{
  opacity:1;
}
.main-decorative-axis--md{
  display:none;
}

.main-decorative-axis__dark-underline{
  display:none;
}
.main-decorative-knots{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-around;
  width:100%;
}
[data-theme=dark] .main-decorative-knots{
  opacity:0;
}

.main-decorative-knot{
  position:relative;
  display:flex;
  flex:1 0 0;
  max-width:96rem;
}
.main-decorative-knot::before{
  content:"";
  position:absolute;
  top:0;
  left:6rem;
  width:6rem;
  height:6rem;
  background-image:url(../svg/layout/ropes/gray-knot-topper.svg);
  background-position:top left;
  background-repeat:no-repeat;
}
.main-decorative-knot.is-empty::before{
  display:none;
}

.main-decoratives{
  display:flex;
  justify-content:space-between;
  width:100%;
  max-width:182.4rem;
  margin:0 auto;
}

.main-decorative{
  width:3rem;
  height:30.8rem;
  background-repeat:no-repeat;
}
.main-decorative--1{
  margin-left:0.2rem;
  background-image:url(../svg/layout/ropes/rope-1.svg);
}
.main-decorative--2{
  margin-left:-0.1rem;
  background-image:url(../svg/layout/ropes/rope-2.svg);
}
.main-decorative--3{
  margin-left:0.5rem;
  background-image:url(../svg/layout/ropes/rope-3.svg);
}
.main-decorative--4{
  background-image:url(../svg/layout/ropes/rope-4.svg);
}
.main-decorative--5{
  background-image:url(../svg/layout/ropes/rope-5.svg);
}
.main-decorative--6{
  margin-left:0.5rem;
  background-image:url(../svg/layout/ropes/rope-6.svg);
}
.main-decorative--7{
  background-image:url(../svg/layout/ropes/rope-7.svg);
}
.main-decorative--8{
  margin-right:0.7rem;
  background-image:url(../svg/layout/ropes/rope-8.svg);
}
[data-theme=dark] .main-decorative{
  --trace:url(../svg/layout/traces/trace-1.svg);
  background-image:var(--trace);
}
[data-theme=dark] .main-decorative--2{
  --trace:url(../svg/layout/traces/trace-2.svg);
  margin-left:0;
}
[data-theme=dark] .main-decorative--3{
  --trace:url(../svg/layout/traces/trace-3.svg);
  margin-left:0;
}
[data-theme=dark] .main-decorative--4{
  --trace:url(../svg/layout/traces/trace-4.svg);
}
[data-theme=dark] .main-decorative--5{
  --trace:url(../svg/layout/traces/trace-5.svg);
}
[data-theme=dark] .main-decorative--6{
  --trace:url(../svg/layout/traces/trace-6.svg);
  margin-left:0;
}
[data-theme=dark] .main-decorative--7{
  --trace:url(../svg/layout/traces/trace-7.svg);
}
[data-theme=dark] .main-decorative--8{
  --trace:url(../svg/layout/traces/trace-8.svg);
  margin-right:0.2rem;
}

@keyframes electricSurge{
  0%{
    background-position:0 120%, top left;
  }
  40%{
    background-position:0 -120%, top left;
  }
  100%{
    background-position:0 -140%, top left;
  }
}
.light-decoration{
  --knot:url(../svg/layout/ropes/rope-1-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-1-md-120w.png);
  position:absolute;
  display:none;
}
[data-theme=dark] .light-decoration{
  display:none;
}
.light-decoration::before{
  content:"";
  position:absolute;
  top:0;
  z-index:2;
  width:100%;
  height:6rem;
  background-image:var(--knot);
  background-position:top left;
  background-repeat:no-repeat;
}
.light-decoration__interactive{
  width:100%;
  height:100%;
  background-image:var(--rope);
  background-position:top left;
  background-repeat:no-repeat;
  background-size:contain;
  transform-origin:top left;
}
.light-decoration--2{
  --knot:url(../svg/layout/ropes/rope-2-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-2-md-120w.png);
}
.light-decoration--3{
  --knot:url(../svg/layout/ropes/rope-3-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-3-md-120w.png);
}
.light-decoration--4{
  --knot:url(../svg/layout/ropes/rope-4-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-4-md-120w.png);
}
.light-decoration--5{
  --knot:url(../svg/layout/ropes/rope-5-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-5-md-120w.png);
}
.light-decoration--6{
  --knot:url(../svg/layout/ropes/rope-6-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-6-md-120w.png);
}
.light-decoration--7{
  --knot:url(../svg/layout/ropes/rope-7-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-7-md-120w.png);
}
.light-decoration--8{
  --knot:url(../svg/layout/ropes/rope-8-md-knot.svg);
  --rope:url(../img/layout/ropes/rope-8-md-120w.png);
}

.secondary-decorative{
  position:relative;
  display:none;
  width:4rem;
  height:50rem;
  background-repeat:no-repeat;
}
.secondary-decorative::before{
  content:"";
  position:absolute;
  top:0;
  z-index:2;
  width:100%;
  height:100%;
  background-image:url(../svg/layout/ropes/sec-rope-knot.svg);
  background-position:top left;
  background-repeat:no-repeat;
}
.secondary-decorative--1{
  background-image:url(../svg/layout/ropes/sec-rope-1.svg);
}
.secondary-decorative--2{
  background-image:url(../svg/layout/ropes/sec-rope-2.svg);
}
.secondary-decorative--3{
  background-image:url(../svg/layout/ropes/sec-rope-3.svg);
}
.secondary-decorative--4{
  background-image:url(../svg/layout/ropes/sec-rope-4.svg);
}
.secondary-decorative--5{
  background-image:url(../svg/layout/ropes/sec-rope-5.svg);
}
.secondary-decorative--6{
  background-image:url(../svg/layout/ropes/sec-rope-6.svg);
}
.secondary-decorative--7{
  background-image:url(../svg/layout/ropes/sec-rope-7.svg);
}
[data-theme=dark] .secondary-decorative{
  background-size:contain;
  transition:transform var(--transition-medium-cubic);
}
[data-theme=dark] .secondary-decorative::before{
  display:none;
}
[data-theme=dark] .secondary-decorative--1{
  background-image:url(../img/layout/traces/sec-trace-1-80w.png);
}
[data-theme=dark] .secondary-decorative--2{
  background-image:url(../img/layout/traces/sec-trace-2-80w.png);
}
[data-theme=dark] .secondary-decorative--3{
  background-image:url(../img/layout/traces/sec-trace-3-80w.png);
}
[data-theme=dark] .secondary-decorative--4{
  background-image:url(../img/layout/traces/sec-trace-4-80w.png);
}
[data-theme=dark] .secondary-decorative--5{
  background-image:url(../img/layout/traces/sec-trace-5-80w.png);
}
[data-theme=dark] .secondary-decorative--6{
  background-image:url(../img/layout/traces/sec-trace-6-80w.png);
}
[data-theme=dark] .secondary-decorative--7{
  background-image:url(../img/layout/traces/sec-trace-7-80w.png);
}
.gsap-section__wrapper{
  position:relative;
  display:flex;
  width:100%;
  margin:0 auto;
}
.gsap-section__wrapper--decorless::after, .gsap-section__wrapper--decorless::before{
  display:none;
}

.gsap-section__wrapper::before, .gsap-section__wrapper::after,
.gsap-section__item--contacts::before,
.gsap-section__item--contacts::after,
.footer::before,
.footer::after{
  content:"";
  position:absolute;
  left:calc(var(--x-padding) * -1);
  width:calc(100% + 2 * var(--x-padding));
}
.gsap-section__wrapper::before,
.gsap-section__item--contacts::before,
.footer::before{
  top:0;
  height:1.8rem;
  background-image:url(../svg/layout/ropes/rope-segment-bg.svg);
  background-position:center left 0.2rem;
  background-repeat:repeat-x;
  background-size:1.4rem;
  opacity:1;
  transition:opacity var(--transition-long-cubic);
}
.gsap-section__wrapper::after,
.gsap-section__item--contacts::after,
.footer::after{
  top:0.5rem;
  height:0.6rem;
  background-color:var(--color-gray-900);
  opacity:0;
  transition:opacity var(--transition-long-cubic);
}
[data-theme=dark] .gsap-section__wrapper::before,
[data-theme=dark] .gsap-section__item--contacts::before,
[data-theme=dark] .footer::before{
  opacity:0;
}
[data-theme=dark] .gsap-section__wrapper::after,
[data-theme=dark] .gsap-section__item--contacts::after,
[data-theme=dark] .footer::after{
  opacity:1;
}

.gsap-section__container{
  display:flex;
  flex-direction:column;
  gap:8rem;
  width:100%;
  padding-top:7.6rem;
}

.gsap-section__item-footer{
  display:none;
}

.item-footer-copyright{
  margin-left:auto;
}

.gsap-section__item,
.gsap-section__inner-item-wrapper{
  position:relative;
  display:flex;
  flex:0;
  flex-direction:column;
  gap:4rem;
  max-width:96rem;
}
.gsap-section__item--support .content{
  margin-bottom:1.2rem;
  margin-left:-0.8rem;
}
.gsap-section__item--contacts .gsap-section__hgroup{
  gap:1.8rem;
}
[data-theme=dark] .gsap-section__item--contacts .gsap-section__item-decors{
  top:-5.8rem;
  left:-3.2rem;
  width:6.4rem;
  background-image:url(../img/layout/traces/item-decor-trace-thin-128w.png);
  background-position:top -0.4rem left;
  transform:none;
}
[data-theme=dark] .gsap-section__item--contacts .gsap-section__item-decors::before{
  display:none;
}
[data-theme=dark] .gsap-section__item--contacts .gsap-section__item-rope{
  display:none;
}

.gsap-section__item-rope{
  position:absolute;
  top:-5.6rem;
  left:6rem;
  z-index:1;
  width:6rem;
  height:calc(100% + 5.6rem);
  background-image:url(../svg/layout/ropes/rope-vertical-segment-bg-md.svg);
  background-position:top 0.3rem left 2.3rem;
  background-repeat:repeat-y;
}
[data-theme=dark] .gsap-section__item-rope{
  display:none;
}

.gsap-section__item-decors{
  position:absolute;
  top:-7.6rem;
  left:6rem;
  width:6rem;
  height:calc(100% + 7.6rem);
  background-image:url(../svg/layout/ropes/gray-knot.svg);
  background-position:top left;
  background-repeat:no-repeat;
}
.gsap-section__item-decors::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  width:100%;
  height:100%;
  background-image:url(../svg/layout/ropes/gray-knot-topper.svg), url(../svg/layout/ropes/brush-knot.svg);
  background-position:top left, bottom center;
  background-repeat:no-repeat;
}
[data-theme=dark] .gsap-section__item-decors{
  background-image:url(../img/layout/traces/item-decor-trace-120w.png);
  background-size:contain;
  transform:translateY(-1.4rem);
  transition:transform var(--transition-medium-cubic);
}
[data-theme=dark] .gsap-section__item-decors::after{
  display:none;
}

.gsap-section__hgroup{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
}
.gsap-section__hgroup--g-2{
  gap:2rem;
}

.gap-block{
  display:flex;
  flex-direction:column;
  gap:3.2rem;
}
.gap-block--sm{
  gap:2rem;
}
.gap-block--lg{
  gap:4rem;
}

.decorative-item{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0.8rem;
}
.decorative-item::before{
  content:"";
  position:absolute;
  bottom:0;
  left:1rem;
  z-index:-1;
  width:calc(100% - 2rem);
  height:2.4rem;
  background-image:url(../svg/layout/ropes/rope-segment-bg.svg);
  background-position:top 0.7rem left 0.1rem;
  background-repeat:repeat-x;
  background-size:1.2rem;
}
.decorative-item::after{
  content:"";
  width:100%;
  height:2.4rem;
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-3.svg), url(../svg/layout/ropes/rope-coil-4.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 23.5%, top 0 right 33%;
  background-repeat:no-repeat;
}
.decorative-item--2::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-4.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0 left 39.5%;
}
.decorative-item--3::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-3.svg), url(../svg/layout/ropes/rope-coil-4.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 23.5%, top 0 right 20.4%;
}
.decorative-item--4::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-3.svg), url(../svg/layout/ropes/rope-coil-4.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 43.5%, top 0 right 12.4%;
}
.decorative-item--5::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-2.svg), url(../svg/layout/ropes/rope-coil-3.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 16.5%, top 0 right 37.8%;
}
.decorative-item--6::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-4.svg), url(../svg/layout/ropes/rope-coil-2.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 24.8%, top 0 right 12.8%;
}
.decorative-item--7::after{
  background-image:url(../svg/layout/ropes/decorative-item-knot.svg), url(../svg/layout/ropes/decorative-item-knot-2.svg), url(../svg/layout/ropes/rope-coil-4.svg), url(../svg/layout/ropes/rope-coil-3.svg);
  background-position:top 0.3rem left, top 0.3rem right, top 0.1rem left 20.8%, top 0 right 29.8%;
}
.decorative-item--xs{
  gap:0.6rem;
}
.decorative-item:has(.h3){
  gap:2rem;
}
[data-theme=dark] .decorative-item{
  background-image:url(../img/layout/traces/decorative-trace-left-328w.png), url(../img/layout/traces/decorative-trace-right-328w.png);
  background-position:bottom left, bottom right;
  background-repeat:no-repeat;
  background-size:16.4rem;
}
[data-theme=dark] .decorative-item::before{
  bottom:0.9rem;
  left:50%;
  width:calc(100% - 32.8rem);
  height:0.2rem;
  background-image:none;
  background-color:var(--color-white);
  transform:translateX(-50%);
}
[data-theme=dark] .decorative-item::after{
  background-image:url(../svg/layout/traces/points-2.svg), url(../svg/layout/traces/points-3.svg);
  background-position:top left 21.2%, top right 28.2%;
}
[data-theme=dark] .decorative-item--2::after{
  background-image:url(../svg/layout/traces/points-3.svg);
  background-position:top left 33.6%;
}
[data-theme=dark] .decorative-item--3::after{
  background-position:top left 19.2%, top right 16.8%;
}
[data-theme=dark] .decorative-item--4::after{
  background-position:top left 45%, top right 12.8%;
}
[data-theme=dark] .decorative-item--5::after{
  background-image:url(../svg/layout/traces/points-1.svg), url(../svg/layout/traces/points-2.svg);
  background-position:top left 12.2%, top right 35.8%;
}
[data-theme=dark] .decorative-item--6::after{
  background-image:url(../svg/layout/traces/points-3.svg), url(../svg/layout/traces/points-1.svg);
  background-position:top left 20.2%, top right 11.8%;
}
[data-theme=dark] .decorative-item--5:nth-child(4)::after{
  background-position:top left 10.8%, top right 36.6%;
}
[data-theme=dark] .decorative-item--7::after{
  background-image:url(../svg/layout/traces/points-3.svg), url(../svg/layout/traces/points-2.svg);
  background-position:top left 13.2%, top right 28.6%;
}

li.li-decor-md{
  position:relative;
  top:-6.6rem;
  left:-12rem;
  z-index:1;
  width:4rem;
  height:4rem;
  margin-bottom:-6.6rem;
  background-image:url(../svg/layout/ropes/gray-knot-topper-sm.svg);
  background-position:bottom 0.1rem left 1.2rem;
  background-repeat:no-repeat;
  pointer-events:none;
}

.contacts{
  display:flex;
  flex-direction:column;
  gap:2rem;
}
.contacts__item{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.contact-link{
  width:fit-content;
  font-size:2rem;
  line-height:1.4;
  font-weight:700;
}
:root{
  --color-gray-050:#f2f2f2;
  --color-gray-100:#e5e5e5;
  --color-gray-200:#ccc;
  --color-gray-300:#b2b2b2;
  --color-gray-400:#999;
  --color-gray-500:#7f7f7f;
  --color-gray-600:#666;
  --color-gray-700:#4c4c4c;
  --color-gray-800:#333;
  --color-gray-900:#191919;
  --color-black:black;
  --color-white:white;
  --html-bg-color:var(--color-white);
  --tab-focus-color:var(--color-black);
  --content-link-color:var(--color-gray-800);
  --content-link-color-hover:var(--color-black);
  --content-link-color-active:var(--color-gray-600);
  --shadow-dialog:0 30px 50px 0 rgba(0, 0, 0, 0.75);
  --shadow-menu:0 1px 5px 0 rgba(0, 0, 0, 0.2);
  --shadow-menu-dark:0 1px 5px 0 rgba(255, 255, 255, 0.2);
  --transition-props-color:color, background-color, border-color, text-decoration-color;
  --transition-func-cubic:cubic-bezier(0.4, 0.8, 0.4, 1);
  --transition-duration-short:0.1s;
  --transition-duration-medium:0.2s;
  --transition-duration-long:0.3s;
  --transition-short-cubic:var(--transition-duration-short) var(--transition-func-cubic);
  --transition-medium-cubic:var(--transition-duration-medium) var(--transition-func-cubic);
  --transition-long-cubic:var(--transition-duration-long) var(--transition-func-cubic);
  --transition-drawer:0.2s linear;
  --transition-overlay:visibility 0.3s, opacity 0.3s;
}

:root,
::backdrop{
  --color-overlay-bg:rgba(0, 0, 0, 0.5);
  --color-stack-overlay-bg:rgba(0, 0, 0, 0.2);
}

[data-theme=dark]:root{
  --html-bg-color:var(--color-black);
  --tab-focus-color:var(--color-white);
}

.c-gray{
  color:var(--color-gray-500);
}

.c-gray-400{
  color:var(--color-gray-400);
}

@media (min-width: 360px){
  body{
    overflow-x:hidden;
  }
}

@media (min-width: 960px){
  .f-sm-fluid{
    font-size:1.8rem;
    line-height:2.8rem;
  }
  .f-sm-fluid-2{
    font-size:2rem;
    line-height:3.2rem;
    font-weight:500;
  }
  .f-md-fluid{
    font-size:2rem;
    line-height:140%;
  }
  html{
    overflow-y:scroll;
  }
  body{
    --text-body-fz:2rem;
    --text-body-lh:1.6;
    --header-height:10.4rem;
    --x-padding:3.2rem;
  }
  .d-sm{
    display:none;
  }
  h2,
  .h2{
    font-size:clamp(2.8rem, 2.2916666667vw, 4.4rem);
    line-height:5.2rem;
  }
  .h1{
    font-size:5.2rem;
    line-height:6rem;
  }
  [data-theme=dark] .h1,
  [data-theme=dark] .main-heading{
    background-image:linear-gradient(139deg, #383838 0%, #fff 39%, #fff 100%);
    -webkit-background-clip:text;
            background-clip:text;
    color:transparent;
  }
  br.sm{
    display:none;
  }
  .theme-switcher{
    --color-primary:var(--color-gray-200);
    --color-secondary:var(--color-gray-500);
    width:4.4rem;
    height:2.4rem;
    padding:0.2rem;
    border-radius:2rem;
  }
  .theme-switcher::before{
    left:0;
    width:1.8rem;
    height:1.8rem;
    border-radius:50%;
  }
  [data-theme=light] .theme-switcher:hover, [data-theme=light] .theme-switcher:focus-visible{
    --color-primary:var(--color-gray-300);
    --color-secondary:var(--color-gray-600);
  }
  [data-theme=light] .theme-switcher:active{
    --color-secondary:var(--color-black);
  }
  [data-theme=dark] .theme-switcher::before{
    transform:translateX(2rem);
  }
  .form__fieldset{
    flex-direction:row;
  }
  .form-wrapper{
    gap:3.9rem;
    margin-top:4.9rem;
  }
  .contact-form .checkbox-field,
  .contact-form .form__submit{
    margin-top:0.1rem;
  }
  .nav__list{
    gap:3rem;
  }
  .nav__link{
    width:100%;
  }
  .sublist-toggler:not(.sublist-toggler--level-1) .icon{
    margin-left:auto;
    transform:rotate(-90deg);
  }
  .sublist-toggler:not(.sublist-toggler--level-1)[aria-expanded=true] .icon{
    transform:rotate(0deg);
  }
  .sublist-container{
    position:absolute;
    top:0;
    left:0;
    z-index:10;
    visibility:hidden;
    width:max-content;
    max-width:30rem;
    padding:2rem calc(2rem - var(--scrollbar-padding)) 2rem 2rem;
    border-radius:2rem;
    background-color:var(--color-white);
    box-shadow:var(--shadow-menu);
    transition:none;
  }
  .sublist-container.is-visible{
    visibility:visible;
    animation:sublist-appear 0.2s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .navbar-toggler{
    top:0;
    order:initial;
    width:3.2rem;
    height:3.2rem;
  }
  .navbar-burger::before{
    transform:translateY(-1.1rem);
  }
  .navbar-burger::after{
    transform:translateY(1.1rem);
  }
  .navbar{
    --navbar-offset:calc(var(--header-height) - 1.2rem);
    padding-top:10.8rem;
  }
  .navbar::before{
    top:2.5rem;
    background-size:initial;
  }
  .navbar::after{
    top:2.4rem;
  }
  .navbar .nav-container{
    flex-direction:row;
    justify-content:space-between;
    padding:0 3.2rem 8rem;
    margin:0 auto;
  }
  .navbar .nav__item{
    padding:2rem 0 2rem;
    border-width:2px;
  }
  .navbar .nav__item:has(.nav__title){
    padding-bottom:2rem;
    margin-top:4rem;
  }
  .navbar .nav__link,
  .navbar .nav__title{
    font-size:1.8rem;
    line-height:2.4rem;
  }
  .navbar .select-wrapper{
    display:none;
  }
  .error-label{
    font-size:1.4rem;
  }
  .header{
    min-height:8.8rem;
    padding:3.2rem 0 1.2rem;
  }
  .header .container{
    min-height:4.4rem;
  }
  .logo{
    width:14rem;
    height:4.4rem;
  }
  .header__controls{
    display:flex;
    align-items:center;
    gap:2.4rem;
    min-height:4.4rem;
  }
  .header__controls .dropdown-button__arrow{
    display:none;
  }
  .header__controls .dropdown-container{
    padding-top:0;
    padding-bottom:0;
  }
  .header__controls .dropdown-content{
    display:flex;
    flex-direction:column;
  }
  .header__controls .dropdown-content .link{
    padding:0.8rem 0;
    font-size:1.8rem;
    line-height:3.2rem;
  }
  .header-contacts{
    gap:6rem;
  }
  .header-contacts__hgroup{
    gap:2.4rem;
  }
  .header-contacts__title{
    font-size:3.2rem;
    line-height:1.25;
  }
  .header-contacts__subtitle{
    font-size:1.8rem;
    line-height:1.56;
  }
  .header-contacts__content{
    gap:4rem;
  }
  .header-contacts__link{
    font-size:2.4rem;
    line-height:1.17;
    text-transform:uppercase;
  }
  .page-wrapper:has(.gsap-container){
    width:max-content;
    max-width:initial;
    padding:0;
  }
  .page-wrapper:has(.gsap-container) + .footer{
    display:none;
  }
  .content p{
    font-size:2rem;
    line-height:160%;
  }
  .footer{
    padding-top:4.4rem;
    margin-top:0;
  }
  .footer .container{
    flex-direction:row;
    gap:6.4rem;
    padding-right:8rem;
    padding-left:8rem;
  }
  [data-theme=dark] .footer .container{
    position:relative;
  }
  [data-theme=dark] .footer .container::before{
    content:"";
    position:absolute;
    top:-6.8rem;
    left:8.2rem;
    width:2rem;
    height:2rem;
    background-image:url(../svg/layout/traces/trace-point.svg);
    background-repeat:no-repeat;
    background-size:contain;
  }
  .footer__copyright{
    margin-top:0;
    margin-left:auto;
  }
  .gsap-container{
    flex-direction:row;
    gap:0;
    padding-top:calc(var(--header-height));
  }
  .gsap-section{
    gap:0;
    min-width:fit-content;
    width:100vw;
    height:calc(100vh - (var(--header-height)));
    height:calc(100dvh - (var(--header-height)));
  }
  .gsap-section--main::after{
    position:absolute;
    right:max(8rem, 4.1vw);
    bottom:8rem;
    width:7.2rem;
    height:7.2rem;
    background-image:url(../svg/layout/arrow-circle-big.svg);
  }
  [data-theme=dark] .gsap-section--main::after{
    background-image:url(../svg/layout/arrow-circle-big-white.svg);
  }
  [data-theme=dark] .gsap-section--main::before{
    content:"";
  }
  .gsap-section--fit{
    flex:initial;
    width:fit-content;
  }
  .main-heading{
    padding-bottom:8rem;
    padding-left:max(8rem, 4.1vw);
    margin-top:auto;
    font-size:clamp(6rem, 5.1111111111vw, 9.2rem);
  }
  .main-decoratives-container{
    order:-1;
  }
  .main-decorative-axis{
    top:0.7rem;
    left:0;
    z-index:2;
    width:100%;
    height:4rem;
  }
  .main-decorative-axis::before{
    background-image:url(../svg/layout/ropes/rope-segment-bg-beige-md.svg);
    background-position:top 0.6rem left;
  }
  [data-theme=dark] .main-decorative-axis{
    top:1.2rem;
    z-index:0;
    overflow-y:hidden;
    height:2rem;
  }
  [data-theme=dark] .main-decorative-axis::after{
    top:0;
    height:0.6rem;
    background:linear-gradient(to right, #191919 0%, #191919 100%);
  }
  .main-decorative-axis--md{
    position:absolute;
    display:initial;
    background-position:top 0.6rem left;
  }
  .main-decorative-knot{
    min-width:96rem;
  }
  .main-decoratives{
    padding:0 var(--x-padding) 0;
  }
  .main-decorative{
    width:6rem;
    height:61.3rem;
    background-image:none;
    background-size:contain;
  }
  .main-decorative--1{
    margin-left:0;
  }
  .main-decorative--2{
    margin-left:0;
  }
  .main-decorative--3{
    margin-left:1rem;
  }
  .main-decorative--6{
    margin-left:0;
  }
  .main-decorative--7{
    margin-left:1rem;
  }
  .main-decorative--8{
    margin-right:0;
  }
  [data-theme=dark] .main-decorative{
    --trace:url(../img/layout/traces/trace-1-120w.png);
    width:6rem;
    height:60.6rem;
    -webkit-mask-size:6rem;
            mask-size:6rem;
    -webkit-mask-image:var(--trace);
            mask-image:var(--trace);
    -webkit-mask-repeat:no-repeat;
            mask-repeat:no-repeat;
    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.9) 100%), var(--trace);
    background-position:0% 120%, top left;
    background-size:100% 20%, 6rem;
  }
  [data-theme=dark] .main-decorative.forced-animation{
    animation:electricSurge 3s;
  }
  [data-theme=dark] .main-decorative--2{
    --trace:url(../img/layout/traces/trace-2-120w.png);
  }
  [data-theme=dark] .main-decorative--3{
    --trace:url(../img/layout/traces/trace-3-120w.png);
    margin-left:1rem;
  }
  [data-theme=dark] .main-decorative--4{
    --trace:url(../img/layout/traces/trace-4-120w.png);
  }
  [data-theme=dark] .main-decorative--5{
    --trace:url(../img/layout/traces/trace-5-120w.png);
  }
  [data-theme=dark] .main-decorative--6{
    --trace:url(../img/layout/traces/trace-6-120w.png);
  }
  [data-theme=dark] .main-decorative--7{
    --trace:url(../img/layout/traces/trace-7-120w.png);
  }
  [data-theme=dark] .main-decorative--8{
    --trace:url(../img/layout/traces/trace-8-120w.png);
    margin-right:0;
  }
  .light-decoration{
    display:block;
    width:6rem;
    height:100%;
  }
  .secondary-decorative{
    display:block;
  }
  .gsap-section__wrapper::before, .gsap-section__wrapper::after,
  .gsap-section__item--contacts::before,
  .gsap-section__item--contacts::after,
  .footer::before,
  .footer::after{
    display:none;
  }
  .gsap-section__container{
    flex-direction:row;
    justify-content:space-around;
    gap:0;
  }
  .gsap-section__container--plain{
    justify-content:flex-start;
  }
  .gsap-section__item-wrapper{
    display:flex;
    flex:1 0 0;
    flex-direction:column;
    min-width:96rem;
    max-width:96rem;
    height:calc(100vh - var(--header-height) - 7.6rem);
  }
  .gsap-section__item-footer{
    display:flex;
    flex-wrap:wrap;
    column-gap:6.4rem;
    row-gap:2rem;
    padding:2.6rem 8rem 4rem;
    margin-top:auto;
    font-size:1.6rem;
    line-height:1.5;
    color:var(--color-gray-500);
  }
  .gsap-section__item,
  .gsap-section__inner-item-wrapper{
    gap:1.2rem;
    min-width:96rem;
    min-height:76.5vh;
    min-height:76.5dvh;
    padding-top:3.6rem;
    padding-bottom:2.7rem;
    padding-left:18rem;
  }
  .gsap-section__item .content,
  .gsap-section__inner-item-wrapper .content{
    max-width:85%;
    margin-top:auto;
  }
  .gsap-section__inner-item-wrapper{
    min-width:initial;
    min-height:initial;
    padding:0;
  }
  .gsap-section__item--decorless{
    padding-left:8rem;
  }
  .gsap-section__item--decorless .gsap-section__inner-item-wrapper{
    max-width:58rem;
  }
  .gsap-section__item--support .gap-block{
    gap:2.6rem;
    margin-top:auto;
    margin-bottom:0.4rem;
  }
  .gsap-section__item--contacts .gsap-section__hgroup{
    gap:2.4rem;
  }
  .gsap-section__hgroup{
    gap:3.3rem;
  }
  .gsap-section__hgroup--g-2{
    gap:3.7rem;
  }
  .decorative-item{
    --rope:url(../img/layout/ropes/expertise-rope-5-1210w.png);
    --rope-size:60.5rem;
    gap:0;
    padding-bottom:3.4rem;
    padding-left:11.3rem;
    margin-left:-12rem;
    background-image:var(--rope);
    background-position:bottom 0.1rem left;
    background-repeat:no-repeat;
    background-size:var(--rope-size);
  }
  .decorative-item::before{
    top:2.2rem;
    left:0;
    z-index:1;
    width:4rem;
    height:4rem;
    background-image:url(../svg/layout/ropes/gray-knot-topper-sm.svg);
    background-position:bottom 0.1rem left 1.2rem;
    background-repeat:no-repeat;
    background-size:initial;
    pointer-events:none;
  }
  .decorative-item::after{
    display:none;
  }
  .decorative-item--2{
    --rope:url(../img/layout/ropes/expertise-rope-6-1150w.png);
    --rope-size:57.5rem;
  }
  .decorative-item--3{
    --rope:url(../img/layout/ropes/expertise-rope-7-1186w.png);
    --rope-size:59.3rem;
  }
  [data-theme=dark] .decorative-item{
    --rope:url(../img/layout/traces/expertise-trace-5-1212w.png);
    --rope-size:60.6rem;
    --rope-offset:-0.6rem;
    background-image:var(--rope);
    background-position:bottom var(--rope-offset) left;
    background-repeat:no-repeat;
    background-size:var(--rope-size);
  }
  [data-theme=dark] .decorative-item--2{
    --rope:url(../img/layout/traces/expertise-trace-6-1156w.png);
    --rope-size:57.8rem;
  }
  [data-theme=dark] .decorative-item--3{
    --rope:url(../img/layout/traces/expertise-trace-7-1188w.png);
    --rope-size:59.4rem;
  }
  [data-theme=dark] .decorative-item::before{
    display:none;
  }
  ul.ul--decor-md{
    gap:2.6rem;
    margin-top:2.4rem;
  }
  ul.ul--decor-md::before{
    display:none;
  }
  ul.ul--decor-md li:not(.li-decor-md){
    --rope:url(../img/layout/ropes/expertise-rope-1-1210w.png);
    --rope-size:60.5rem;
    position:relative;
    z-index:0;
    width:calc(100% + 12rem);
    padding-bottom:3.4rem;
    padding-left:12rem;
    margin-left:-12rem;
    font-size:2rem;
    line-height:140%;
    background-image:none;
  }
  ul.ul--decor-md li:not(.li-decor-md):nth-child(4n+3){
    --rope:url(../img/layout/ropes/expertise-rope-2-1150w.png);
    --rope-size:57.5rem;
  }
  ul.ul--decor-md li:not(.li-decor-md):nth-child(4n+5){
    --rope:url(../img/layout/ropes/expertise-rope-3-1090w.png);
    --rope-size:54.5rem;
  }
  ul.ul--decor-md li:not(.li-decor-md):nth-child(4n+7){
    --rope:url(../img/layout/ropes/expertise-rope-4-1186w.png);
    --rope-size:59.3rem;
  }
  ul.ul--decor-md li:not(.li-decor-md)::before{
    content:"";
    position:absolute;
    bottom:-0.1rem;
    left:0;
    width:100%;
    height:3.8rem;
    background-image:var(--rope);
    background-position:top left;
    background-repeat:no-repeat;
    background-size:var(--rope-size);
  }
  [data-theme=dark] ul.ul--decor-md li{
    --rope:url(../img/layout/traces/expertise-trace-1-1212w.png);
    --rope-size:60.6rem;
    --rope-offset:0.6rem;
    background-image:none;
  }
  [data-theme=dark] ul.ul--decor-md li:nth-child(4n+3){
    --rope:url(../img/layout/traces/expertise-trace-2-1156w.png);
    --rope-size:57.8rem;
  }
  [data-theme=dark] ul.ul--decor-md li:nth-child(4n+5){
    --rope:url(../img/layout/traces/expertise-trace-3-1096w.png);
    --rope-size:54.8rem;
    --rope-offset:-0.1rem;
  }
  [data-theme=dark] ul.ul--decor-md li:nth-child(4n+7){
    --rope:url(../img/layout/traces/expertise-trace-4-1192w.png);
    --rope-size:59.6rem;
    --rope-offset:-0.1rem;
  }
  [data-theme=dark] ul.ul--decor-md li::before{
    bottom:var(--rope-offset);
  }
  [data-theme=dark] ul.ul--decor-md::after{
    display:none;
  }
  .contacts{
    gap:4rem;
  }
  .contact-link{
    font-size:2.4rem;
    line-height:1.17;
    text-transform:uppercase;
  }
}

@media (min-width: 960px) and (max-width: 1919.98px){
  br.md-only{
    display:initial;
  }
}

@media (min-width: 1280px){
  .gsap-section:has(.gsap-section__item--contacts) .main-decorative-knot::before{
    left:-3rem;
  }
  .gsap-section__item--contacts{
    gap:6rem;
    padding-left:16rem;
  }
  .gsap-section__item--contacts .gsap-section__item-rope,
  .gsap-section__item--contacts .gsap-section__item-decors{
    left:-3rem;
  }
  .gsap-section__item--contacts .gsap-section__item-decors::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    width:100%;
    height:100%;
    background-image:url(../svg/layout/ropes/vertical-rope-coil-4.svg), url(../svg/layout/ropes/vertical-rope-coil-2.svg), url(../svg/layout/ropes/vertical-rope-coil-3.svg);
    background-position:center top 12.2%, center top 43.5%, center bottom 19.4%;
    background-repeat:no-repeat;
  }
}

@media (min-width: 1700px){
  [data-theme=dark] .main-decorative-axis--md .main-decorative-axis__dark-underline{
    width:99.6%;
  }
  [data-theme=dark] .main-decorative-axis__dark-underline{
    position:absolute;
    top:-0.5rem;
    left:50%;
    z-index:1;
    display:block;
    width:85.5rem;
    height:2.5rem;
    background:linear-gradient(to bottom, var(--color-black) 0 1.9rem, transparent 1.9rem 2.5rem), linear-gradient(to right, var(--color-black) 0 1.3rem, #191919 1.3rem calc(100% - 1.3rem), var(--color-black) calc(100% - 1.3rem) 100%);
    transform:translateX(-50%);
  }
  [data-theme=dark] .main-decorative-axis__dark-underline::before, [data-theme=dark] .main-decorative-axis__dark-underline::after{
    content:"";
    position:absolute;
    top:1.1rem;
    left:-0.1rem;
    width:1.5rem;
    height:2.5rem;
    border-top:0.8rem solid var(--color-gray-900);
    transform:skewY(45deg);
  }
  [data-theme=dark] .main-decorative-axis__dark-underline::after{
    right:-0.1rem;
    left:initial;
    transform:skewY(-45deg);
  }
  [data-theme=dark] .main-decorative{
    transition:transform var(--transition-medium-cubic);
  }
  [data-theme=dark] .main-decorative--3, [data-theme=dark] .main-decorative--4, [data-theme=dark] .main-decorative--5, [data-theme=dark] .main-decorative--6{
    transform:translateY(1.4rem);
  }
  [data-theme=dark] .secondary-decorative--3, [data-theme=dark] .secondary-decorative--4, [data-theme=dark] .secondary-decorative--5{
    transform:translateY(1.4rem);
  }
  [data-theme=dark] .gsap-section__item-decors{
    transform:translateY(0);
  }
}

@media (min-width: 1920px){
  br.lg{
    display:initial;
  }
  .gsap-section--main::after{
    bottom:clamp(8rem, 4.1vw, 20rem);
  }
  .main-heading{
    padding-bottom:clamp(8rem, 4.1vw, 20rem);
    font-size:clamp(9.2rem, 4.6875vw, 12rem);
  }
}

@media (max-width: 959.98px){
  .f-500-sm{
    font-weight:500;
  }
  .h3-sm{
    font-size:2.4rem;
    line-height:2.8rem;
  }
  br.md{
    display:none;
  }
  [data-theme=dark] .theme-switcher::before{
    border-radius:50% 0 0 50%;
  }
  .dialog{
    --horizontal-margin:1rem;
  }
  .lang-selector{
    display:none;
  }
  .header .theme-switcher{
    margin-left:0.2rem;
  }
  .header .logo{
    top:-0.5rem;
  }
  .vw-container{
    min-width:36rem;
    width:100%;
    margin-left:initial;
  }
  .gsap-container--about{
    padding-top:0;
    margin-top:-1.6rem;
  }
  .main-decorative-knots{
    display:none;
  }
  .gsap-section__item--support .content{
    display:none;
  }
  .gsap-section__item--contacts{
    gap:3.5rem;
    padding-top:7.6rem;
    margin-top:8rem;
  }
  .gsap-section__item-rope{
    display:none;
  }
  .gsap-section__item-decors{
    display:none;
  }
  .decorative-item__decor{
    display:none;
  }
  li.li-decor-md{
    display:none;
  }
  .c-gray-sm{
    color:var(--color-gray-500);
  }
}