@charset "UTF-8";
/*! Typography settings */
@font-face{
  font-family:"TT Firs Neue";
  src:url(../fonts/tt-firs-neue-regular.woff2) format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:fallback;
}
@font-face{
  font-family:"TT Firs Neue";
  src:url(../fonts/tt-firs-neue-demibold.woff2) format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:fallback;
}
:root{
  --font-tt-firs-neue:"TT Firs Neue", sans-serif;
}

.f-tt-firs-neue-400{
  font-family:var(--font-tt-firs-neue);
  font-weight:400;
}

.f-tt-firs-neue-600{
  font-family:var(--font-tt-firs-neue);
  font-weight:600;
}

.critical-css-font-carrier{
  font-family:var(--font-tt-firs-neue);
}

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

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

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

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);
  scroll-behavior:smooth;
  -webkit-tap-highlight-color:transparent;
  -webkit-text-size-adjust:100%;
  color-scheme:normal;
}
html.has-scrollbar{
  overflow-x:unset;
  overflow-y:scroll;
}

body{
  --text-body-ff:var(--font-tt-firs-neue);
  --text-body-fz:1.4rem;
  --text-body-lh:2.2rem;
  --header-height:6rem;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  min-width:32rem;
  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;
  background-image:url(../img/layout/section-bg-768w.png);
  background-image:url(../img/layout/section-bg-768w.webp);
  background-repeat:no-repeat;
  background-position:top center;
  background-size:768px;
  color:var(--text-body-color);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums;
}
.webp body{
  background-image:-webkit-image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
  background-image:image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
}
body.no-transitions *{
  transition:none !important;
}
body.no-transitions *::before, body.no-transitions *::after{
  transition:none !important;
}
body.is-locked{
  position:fixed;
  top:var(--top-body-offset);
  width:100%;
}

a,
p,
li,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6{
  overflow-wrap:break-word;
}

h1,
.h1,
h2,
.h2,
h3,
.h3{
  font-weight:600;
}

h1,
.h1{
  font-size:2.4rem;
  line-height:normal;
  text-transform:uppercase;
  color:var(--color-dark);
}

h2,
.h2{
  font-size:1.8rem;
  line-height:normal;
  color:var(--color-text);
}

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

.h3{
  margin-bottom:1rem;
}

.p{
  margin-bottom:1.6rem;
}

br.md-only{
  display:none;
}

br.lg{
  display:none;
}

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

.ul,
.ol,
.p{
  margin-bottom:1.6rem;
}

a{
  --color:var(--content-link-color);
  --color-hover:var(--content-link-color-hover);
  --color-active:var(--content-link-color-active);
  text-decoration-color:currentColor;
  text-underline-offset:0.3rem;
  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);
}

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;
  margin:2rem 0;
  border:none;
  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{
  border-style:none;
  padding:0;
}

:-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;
  margin:-1px;
  border:0;
  padding:0;
  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;
}

/*! Forms and their elements */
/*! General form fields settings */
.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%;
}

/*! Text fields & textarea */
.form__label{
  display:block;
  order:-1;
}

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

.form__text-input{
  width:100%;
  min-height:var(--input-height);
  border:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  padding:var(--input-padding);
  background-color:var(--bg-color);
  transition:border-color var(--transition-medium-cubic);
}
.form__text-input:hover{
  border-color:var(--border-color-hover);
}
.form__text-input:focus-visible{
  border-color:var(--border-color-focus);
  outline:none;
}
.form__text-input:focus-visible::placeholder{
  opacity:0;
}
.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 */
.file-field{
  flex-direction:row;
  align-items:center;
  gap:1rem;
  min-height:var(--input-height);
  border:var(--border-width) solid var(--border-color);
  border-radius:var(--border-radius);
  padding:var(--input-padding);
  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-field{
  --checkbox-size:3.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{
  border-color:var(--border-color-focus);
}
.input-checkbox:checked + .label-checkbox .checkbox-input-control::before{
  transform:translatey(-50%) scale(0.9) rotate(45deg);
}

.label-checkbox{
  margin-left:calc(var(--checkbox-size) + 1.8rem);
  -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-focus);
}
.label-checkbox a{
  display:inline;
}

.checkbox-input-control{
  position:absolute;
  top:50%;
  left:0;
  width:var(--checkbox-size);
  height:var(--checkbox-size);
  border:1px solid var(--border-color);
  background-color:var(--bg-color);
  transform:translateY(-50%);
  transition:border-color var(--transition-medium-cubic);
}
.checkbox-input-control::before{
  content:"";
  position:absolute;
  top:calc(50% - 0.3rem);
  left:1.1rem;
  width:1rem;
  height:2rem;
  border-right:2px solid var(--color-black);
  border-bottom:2px solid var(--color-black);
  transform:translateY(-50%) scale(0) rotate(45deg);
}

/*! Radio field */
.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);
}

/*! Password toggler */
.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-repeat:no-repeat;
  background-position:center;
  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{
  --border-width:0.1rem;
  --border-radius:1rem;
  --border-color:var(--color-grey-1);
  --border-color-hover:var(--color-grey-3);
  --border-color-focus:var(--color-accent);
  --input-height:4.6rem;
  --input-padding:0 2rem;
  --placeholder-color:var(--color-grey-3);
  --bg-color:var(--color-white);
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.reset-password-fieldset{
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}
.reset-password-fieldset .form__field{
  width:initial;
}
.accordion-item{
  --animation-duration:0.3s;
  padding:2rem 0 1.9rem;
  border-bottom:1px solid var(--color-light-stroke-4);
  transition:border-color var(--transition-medium-cubic);
}
.accordion-item.is-open{
  border-color:var(--color-secondary);
}
.accordion-item.is-open > .accordion-button{
  color:var(--color-secondary);
}
.accordion-item.is-open > .accordion-button .icon{
  background-color:var(--color-secondary);
  box-shadow:0 10px 10px 0 rgba(77, 117, 183, 0.25);
}
.accordion-item.is-open > .accordion-button .icon::before{
  transform:scale(0);
}
.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:flex-start;
  align-items:center;
  gap:2rem;
  font-size:1.6rem;
  line-height:131%;
  font-weight:600;
  color:var(--color-dark);
  transition:color var(--transition-medium-cubic);
  -webkit-user-select:none;
          user-select:none;
  cursor:pointer;
}
.accordion-button::marker, .accordion-button::-webkit-details-marker{
  content:"";
  display:none;
}
.accordion-button:hover, .accordion-button:focus-visible{
  color:var(--color-primary-hover);
}
.accordion-button:hover .icon, .accordion-button:focus-visible .icon{
  background-color:var(--color-primary-hover);
}
.accordion-button .icon{
  position:relative;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  order:-1;
  aspect-ratio:1;
  width:5rem;
  border-radius:1rem;
  font-size:2.4rem;
  background-color:var(--color-primary);
  color:var(--color-white);
  box-shadow:0 10px 10px 0 rgba(115, 204, 189, 0.25);
  transition:background-color var(--transition-medium-cubic), box-shadow var(--transition-medium-cubic);
}
.accordion-button .icon::before{
  content:"";
  position:absolute;
  top:1.5rem;
  left:2.4rem;
  width:0.2rem;
  height:2rem;
  background-color:var(--color-white);
  transition:transform var(--transition-medium-cubic);
}
.accordion-button .icon::after{
  content:"";
  position:absolute;
  top:2.4rem;
  left:1.5rem;
  width:2rem;
  height:0.2rem;
  background-color:var(--color-white);
}
.accordion-button .icon svg{
  display:none;
}

.accordion-panel{
  --accordion-height:0;
  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-left:7rem;
  color:var(--color-dark);
}

/*! Buttons */
.button{
  --border-color:var(--color-primary);
  --border-color-hover:var(--color-primary-hover);
  --bg-color:var(--color-primary);
  --bg-color-hover:var(--color-primary-hover);
  --color:var(--color-white);
  --color-hover:var(--color);
  --shadow-color:rgba(115, 204, 189, 0.25);
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  min-height:5rem;
  border:1px solid var(--border-color);
  border-radius:1rem;
  padding:0.5rem 2rem;
  font-size:1.4rem;
  line-height:normal;
  font-weight:600;
  text-decoration:none;
  text-align:center;
  text-transform:uppercase;
  background-color:var(--bg-color);
  color:var(--color);
  box-shadow:0 10px 10px 0 var(--shadow-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{
  border-color:var(--border-color-hover);
  background-color:var(--bg-color-hover);
  color:var(--color-hover);
}
.button:active{
  opacity:0.8;
}
.button .icon{
  flex-shrink:0;
}

.button--secondary{
  --border-color:var(--color-secondary);
  --border-color-hover:var(--bg-secondary-hover);
  --bg-color:var(--color-secondary);
  --bg-color-hover:var(--color-secondary-hover);
  --shadow-color:rgba(77, 117, 183, 0.25);
}

.button--danger{
  --border-color:var(--color-red);
  --border-color-hover:var(--color-red-2);
  --bg-color:var(--color-red);
  --bg-color-hover:var(--color-red-2);
  --shadow-color:rgba(222, 106, 106, 0.25);
}

.button--outlined{
  --bg-color:transparent;
  --bg-color-hover:var(--bg-color);
  --color:var(--color-black);
}

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

/*! Pop-ups & modal dialogs */
.dialog-container{
  overscroll-behavior:contain;
  justify-content:center;
  align-items:center;
  min-width:30rem;
  width:fit-content;
  height:fit-content;
  border:none;
  background-color:transparent;
  color:var(--text-body-color);
}
.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:28rem;
  width:calc(100% - var(--horizontal-margin) * 2);
  max-width:70rem;
  height:fit-content;
  margin:auto;
  border-radius:1rem;
  padding:3rem 2rem;
  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, 100%);
  height:100%;
  background-image:linear-gradient(225deg, #254a8e 0%, #181d55 100%);
  background-color:var(--color-dark-blue);
  transition:transform var(--transition-long-cubic);
}

.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;
  transform:translateY(100%);
}

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

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

.dropdown-container{
  --scrollbar-padding:1rem;
  position:absolute;
  top:0;
  left:0;
  z-index:10;
  display:none;
  gap:1.6rem;
  min-width:20rem;
  width:100%;
  max-width:30rem;
  border-radius:2.4rem;
  padding:2rem calc(2rem - var(--scrollbar-padding)) 2rem 2rem;
  background-color:var(--color-white);
  box-shadow:var(--shadow-menu);
}
.dropdown-container.is-visible{
  display:flex;
  animation:dropdown-container-appear 0.2s;
}

@keyframes dropdown-container-appear{
  from{
    transform:translateY(1rem);
  }
}
.dropdown-content{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  width:100%;
  max-height:30rem;
  padding-right:var(--scrollbar-padding);
}
.dropdown-button--select[aria-expanded=true] .dropdown-button__arrow{
  transform:rotate(180deg);
}

.dropdown-button__arrow{
  margin-left:0.5rem;
  transition:transform var(--transition-medium-cubic);
}

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

.icon--gradient{
  --gradient-from:rgba(185, 198, 209, 0.4);
  --gradient-to:#667d92;
  -webkit-mask-image:linear-gradient(180deg, var(--gradient-from), var(--gradient-to));
          mask-image:linear-gradient(180deg, var(--gradient-from), var(--gradient-to));
  color:var(--gradient-to);
}

.icon--instagram{
  border-radius:50%;
  background:linear-gradient(216deg, #a831bf 0%, #f14c59 51.04%, #ffbc4f 100%);
}

/*! Links */
.link{
  --td-color:transparent;
  --td-color-hover:transparent;
  --color:var(--content-link-color);
  --color-hover:var(--content-link-color-hover);
  --color-active:var(--content-link-color-active);
  display:inline-flex;
  align-items:center;
  border:none;
  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--inline{
  display:inline;
}

.link--dark{
  --color:var(--color-dark);
  --color-hover:var(--color-secondary);
  --color-active:var(--color-primary);
}

.link--black{
  --color:var(--color-black);
  --color-hover:var(--color-secondary);
  --color-active:var(--color-primary);
}
.social-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
}

.social-link{
  --shadow:none;
  display:inline-flex;
  border-radius:50%;
  box-shadow:var(--shadow);
  transition:filter var(--transition-medium-cubic), transform var(--transition-medium-cubic);
}
.social-link:hover, .social-link:focus-visible{
  filter:drop-shadow(var(--shadow-hover));
}
.social-link:active{
  transform:translateY(0.2rem);
}
.social-link .icon{
  font-size:3rem;
}
.social-link--instagram{
  --shadow-hover:0 0 5px #f14c59;
}
.social-link--vk{
  --shadow-hover:0 0 5px #07f;
}
.social-link--tg{
  --color:var(--color-white);
  --color-hover:var(--color-white);
  --color-active:var(--color-white);
  --shadow-hover:0 0 5px #24a1de;
  display:inline-flex;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  width:3rem;
  height:3rem;
  border-radius:50%;
  background-color:#24a1de;
  color:var(--color-white);
}
.social-link--tg .icon{
  font-size:1.6rem;
}

/*! 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{
  margin-bottom:calc(var(--container-offset) * -1);
  padding-bottom:var(--container-offset);
}
.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{
  display:flex;
}
.navbar .nav__container{
  position:relative;
}
.navbar .nav__list{
  gap:0;
}
.navbar .nav__item{
  display:inline-flex;
}
.navbar .nav__link{
  --color:var(--color-white);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-hover);
  font-size:1.5rem;
  line-height:1.9rem;
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:0.2rem;
  text-transform:uppercase;
}
.navbar .nav__link:hover, .navbar .nav__link:focus-visible{
  text-decoration-color:currentColor;
}
.navbar .nav__link.is-active{
  text-decoration:none;
  color:var(--color-primary);
}
.header--dark .navbar .nav__link{
  --color:var(--color-white);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-hover);
}

.navbar-toggler{
  display:none;
}

.navbar__icons{
  display:none;
  align-self:flex-start;
  margin-top:auto;
  padding-bottom:4rem;
  padding-left:3rem;
}

.navbar-active-line{
  position:absolute;
  bottom:-0.1rem;
  display:none;
  height:2px;
  background-color:var(--color-primary);
  transition:transform 0.3s ease, width 0.3s ease;
}
/*! 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:101;
}
.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{
  margin-top:var(--track-vertical-offset);
  margin-bottom:var(--track-vertical-offset);
  border-radius:1rem;
  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-white);
  position:static;
  display:flex;
  justify-content:center;
  align-items:center;
  width:5rem;
  height:5rem;
  border-radius:1rem;
  background-color:var(--color-primary);
  box-shadow:0 10px 10px 0 rgba(115, 204, 189, 0.25);
  transition:background-color var(--transition-medium-cubic), opacity var(--transition-medium-cubic);
  outline:0;
  -webkit-user-select:none;
          user-select:none;
}
.swiper-button-next:hover:not(.swiper-button-disabled), .swiper-button-next:focus-visible:not(.swiper-button-disabled),
.swiper-button-prev:hover:not(.swiper-button-disabled),
.swiper-button-prev:focus-visible:not(.swiper-button-disabled){
  background-color:var(--color-primary-hover);
}
.swiper-button-next:active,
.swiper-button-prev:active{
  opacity:0.8;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled{
  opacity:0.5;
}
.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:2.5rem;
  content:"";
  width:2.7rem;
  height:2.7rem;
  background-image:url(../svg/icons/chevron-right.svg);
}

.swiper-button-prev:after{
  background-image:url(../svg/icons/chevron-left.svg);
}

.swiper-controls{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1rem;
  width:fit-content;
  -webkit-user-select:none;
          user-select:none;
}
.swiper-controls .swiper-button-next,
.swiper-controls .swiper-button-prev{
  z-index:11;
  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);
}

/*! Sections */
.section{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.section__header{
  --border-color:var(--color-light-stroke-2);
  --color:var(--color-dark);
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0.5rem;
  padding-bottom:1.9rem;
  border-bottom:1px solid var(--border-color);
  color:var(--color);
}
.section__header::after{
  content:"";
  position:absolute;
  bottom:-0.2rem;
  left:0;
  width:10rem;
  height:0.3rem;
  background-color:var(--color-primary);
}
.section__header--white{
  --border-color:var(--color-light-stroke);
  --color:var(--color-white);
}

.section__title{
  font-size:1.8rem;
  line-height:normal;
  font-weight:600;
  text-transform:uppercase;
  color:currentColor;
}

/*! Main header rules */
.header{
  min-width:32rem;
  padding:1rem 0 0.9rem;
  border-bottom:1px solid var(--color-blue-stroke);
  background-color:transparent;
  transition:background-color var(--transition-medium-cubic);
}
.header .container{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.header.is-sticky{
  position:fixed;
  top:calc(var(--sticky-header-offset, 0px) * -1);
  width:100%;
  background-color:var(--color-light);
}
.header.is-sticky + .page-wrapper{
  margin-top:calc(var(--sticky-header-height, var(--header-height)) + var(--sticky-header-offset, 0px));
}

.header--dark{
  border-color:var(--color-light-stroke);
}
.header--dark.is-sticky{
  background-color:var(--color-dark-blue);
}

.header[data-sticky-on-top]{
  z-index:101;
}

.logo{
  display:block;
  flex-shrink:0;
  width:13.9rem;
  height:4rem;
}

/*! Hero section */
.hero{
  --min-height:52rem;
  position:relative;
  display:flex;
  min-height:calc(var(--min-height) + var(--header-height));
  margin-top:calc(var(--header-height) * -1);
  padding-top:calc(2rem + var(--header-height));
  padding-bottom:2rem;
  background-image:radial-gradient(47.32% 100% at 45.31% 0%, #254a8e 0%, #181d55 100%);
  background-color:var(--color-dark-blue);
  color:var(--color-white);
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:url(../img/layout/hero-bg-2-430w.png);
  background-image:url(../img/layout/hero-bg-2-430w.webp);
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:43rem;
}
.webp .hero::after{
  background-image:url(../img/layout/hero-bg-2-860w.webp);
}
.hero .container{
  position:relative;
  display:flex;
  flex-direction:column;
  align-self:stretch;
}

.header.is-sticky + .hero{
  margin-top:0;
}
.hero-numbers{
  position:absolute;
  right:0;
  bottom:4.3rem;
  left:0;
  z-index:1;
  width:100%;
  max-width:28rem;
  height:21.8rem;
  margin-inline:auto;
}

.hero-number{
  --size:7.5rem;
  --font-size:2.4rem;
  --color:var(--color-primary);
  position:absolute;
  bottom:2.4rem;
  left:-0.3rem;
  display:flex;
  justify-content:center;
  align-items:center;
  width:var(--size);
  height:var(--size);
  font-size:var(--font-size);
  background-image:url(../svg/icons/hero-num-green.svg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  color:var(--color);
  text-shadow:var(--color) 0 0 0.5rem;
  opacity:0;
  -webkit-user-select:none;
          user-select:none;
  cursor:default;
}
.hero-number--negative{
  --color:var(--color-red);
  background-image:url(../svg/icons/hero-num-red.svg);
  text-shadow:var(--color) 0 0 0.5rem;
}
.hero-number--2{
  --size:12.2rem;
  --font-size:4rem;
  bottom:-2.6rem;
  left:14.3rem;
}
.hero-number--3{
  --size:5.8rem;
  --font-size:1.6rem;
  top:1.6rem;
  right:-0.5rem;
  bottom:initial;
  left:initial;
  background-image:url(../svg/icons/hero-num-green-sm.svg);
}

.hero-number--bounce{
  animation:heroNumberBounce 6s ease-in-out infinite;
}
.hero-number--bounce.hero-number--1{
  animation-delay:0s;
}
.hero-number--bounce.hero-number--2{
  animation-delay:0.5s;
}
.hero-number--bounce.hero-number--3{
  animation-delay:1s;
}

@keyframes heroNumberBounce{
  0%, 100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-1rem);
  }
}
.hero-slider-wrapper{
  display:flex;
  flex-direction:column;
  gap:2rem;
  width:100%;
  max-width:42rem;
  padding-bottom:7rem;
}

.hero-slide{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.hero-slide__header{
  display:grid;
  column-gap:1rem;
  border-bottom:1px solid var(--color-light-stroke);
}
.hero-slide__header::after{
  content:"";
  grid-area:1/1;
  width:10rem;
  height:0.3rem;
  margin-top:auto;
  margin-bottom:-0.2rem;
  background-color:var(--color-primary);
}

.hero-slide__title{
  grid-area:1/1;
  padding-bottom:1.9rem;
  font-size:3rem;
  line-height:normal;
  font-weight:600;
  text-transform:uppercase;
  word-break:break-word;
  color:var(--color-white);
}

.hero-slide__content{
  color:var(--color-gray-1);
}

/*! General layout structure */
.page-wrapper{
  flex:1 0 auto;
  padding-top:2rem;
}

.page-wrapper:has(.main > .content:last-child){
  padding-bottom:4rem;
}

.container{
  --container-padding:1rem;
  min-width:32rem;
  width:100%;
  max-width:140rem;
  margin:0 auto;
  padding-right:var(--container-padding);
  padding-left:var(--container-padding);
}

.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:2rem;
}
.content h1{
  margin-bottom:var(--common-gap);
  font-size:2rem;
  text-transform:none;
}
.content h2{
  margin-bottom:var(--common-gap);
}
.content h3{
  margin-bottom:1rem;
  font-size:1.8rem;
  line-height:normal;
}
.content p{
  margin-bottom:var(--common-gap);
}
.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:0.5rem;
  left:0.5rem;
  overflow:hidden;
  width:1.6rem;
  height:1.6rem;
  font-size:3rem;
  line-height:1rem;
  font-weight:normal;
}
.content table{
  table-layout:fixed;
  width:100%;
  border-collapse:collapse;
}
.content th{
  text-align:left;
}

/*! Main footer rules */
.footer{
  display:flex;
  flex-direction:column;
  gap:3rem;
  min-width:32rem;
  padding-top:3rem;
  background-color:var(--color-dark);
}
.footer > .container{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4rem;
}
.footer__nav .nav__list{
  display:flex;
  flex-direction:column;
  gap:2rem;
}
.footer__nav .nav__item{
  display:inline-flex;
}
.footer__nav .nav__link{
  --color:var(--color-white);
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-hover);
  font-size:1.3rem;
  line-height:130%;
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:0.2rem;
  text-transform:uppercase;
}
.footer__nav .nav__link:hover, .footer__nav .nav__link:focus-visible{
  text-decoration-color:currentColor;
}

.footer__copyright{
  margin-top:-0.1rem;
  padding:1.6rem 0 1.8rem;
  border-top:1px solid var(--color-light-stroke-3);
  font-size:1.3rem;
  line-height:130%;
  text-align:center;
  color:var(--color-gray-5);
}

/*! Homepage */
/*! Main rating section */
.main-rating-section{
  position:relative;
  z-index:0;
  margin-top:-2rem;
  padding-top:4rem;
  padding-bottom:4rem;
  background-image:linear-gradient(180deg, #dbe4ec 0%, #d0e3f1 100%);
}
.main-rating-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:url(../img/layout/section-bg-768w.png);
  background-image:url(../img/layout/section-bg-768w.webp);
  background-repeat:no-repeat;
  background-position:top -11rem left 0;
  background-size:768px;
}
.webp .main-rating-section::after{
  background-image:-webkit-image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
  background-image:image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
}
.main-rating-section .container{
  display:flex;
  flex-direction:column;
  gap:2rem;
}
.main-rating-section .rating-table{
  margin-top:2rem;
}

/*! Rating slider */
.rating-slider{
  min-width:0;
  height:36.6rem;
}
.rating-slider .swiper-slide{
  width:34.9rem;
  height:17.8rem;
}

.rating-slide{
  display:flex;
  border-radius:2rem;
  background-image:linear-gradient(225deg, #254a8e 0%, #181d55 100%);
}
.rating-slide:hover .rating-slide__name, .rating-slide:focus-visible .rating-slide__name{
  color:var(--color-primary);
}
.rating-slide:active .rating-slide__name{
  color:var(--color-primary-hover);
}

.rating-slide__cover{
  flex-shrink:0;
  width:13.2rem;
  padding:0.6rem;
}
.rating-slide__cover img{
  border-radius:1.5rem;
}

.rating-slide__content{
  display:flex;
  flex-direction:column;
  width:100%;
  padding:2rem 1.5rem;
  line-height:normal;
  color:var(--color-white);
}

.rating-slide__name{
  padding-bottom:0.7rem;
  border-bottom:1px solid var(--color-light-stroke-3);
  font-size:1.8rem;
  font-weight:600;
}
.rating-slide__name a{
  --color:currentColor;
  --color-hover:currentColor;
  --color-active:currentColor;
  text-decoration:none;
}
.rating-slide__name a::after{
  content:"";
  position:absolute;
  inset:0;
}

.rating-slide__rating{
  display:flex;
  flex-direction:column;
  margin:auto 0;
}

.rating-slide__trend{
  display:flex;
  align-items:center;
  gap:1.1rem;
  font-size:3rem;
  font-weight:600;
  color:var(--color-gray-2);
}
.rating-slide__trend--up{
  color:var(--color-primary);
}
.rating-slide__trend--down{
  color:var(--color-red);
}
.rating-slide__trend .icon{
  font-size:2.4rem;
}

.rating-slide__trend-value{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0.5rem;
  height:3rem;
  border-radius:1.5rem;
  padding:0.6rem 1rem;
  font-size:1.4rem;
  background-color:var(--color-light-stroke-3);
  color:var(--color-translucent-light);
}
.rating-slide__trend-value .icon{
  color:var(--color-white);
}

/*! Rating table */
.rating-table-wrapper{
  display:flex;
  flex-direction:column;
  gap:2rem;
  width:100%;
}

.rating-table__th{
  padding-top:1.3rem;
  padding-bottom:1.3rem;
  padding-left:2rem;
  font-size:1rem;
  line-height:1.3rem;
  font-weight:600;
  text-align:left;
  text-transform:uppercase;
  color:var(--color-gray-3);
  -webkit-user-select:none;
          user-select:none;
  pointer-events:none;
}
.rating-table__th:first-child{
  padding-left:0.5rem;
}
.rating-table__th[aria-sort]{
  cursor:pointer;
  pointer-events:auto;
}
.rating-table__th--cover{
  width:9.5rem;
}
.rating-table__th--rating{
  gap:0.5rem;
  width:16.8%;
  transition:border-color var(--transition-medium-cubic), color var(--transition-medium-cubic);
}
.rating-table__th--rating:hover, .rating-table__th--rating:focus-visible{
  color:var(--color-text);
}
.rating-table__th--rating::before{
  content:"От высокого к низкому";
  display:inline-block;
  font-size:1.2rem;
  font-weight:600;
  text-transform:uppercase;
  color:var(--color-text);
}
.rating-table__th--rating::after{
  content:"";
  display:inline-block;
  vertical-align:middle;
  width:1.4rem;
  height:1.4rem;
  margin-left:0.6rem;
  -webkit-mask-image:url(../svg/icons/caret-down.svg);
          mask-image:url(../svg/icons/caret-down.svg);
  -webkit-mask-repeat:no-repeat;
          mask-repeat:no-repeat;
  -webkit-mask-position:center;
          mask-position:center;
  -webkit-mask-size:contain;
          mask-size:contain;
  background-color:currentColor;
}
.rating-table__th--rating[aria-sort=ascending]::before{
  content:"От низкого к высокому";
}
.rating-table__th--rating[aria-sort=ascending]::after{
  -webkit-mask-image:url(../svg/icons/caret-up.svg);
          mask-image:url(../svg/icons/caret-up.svg);
}
.rating-table__th--change{
  width:17%;
}
.rating-table__th--best{
  width:16.8%;
}
.rating-table__th--icon{
  width:8.5rem;
}

.rating-card{
  --border-radius:3.5rem;
  position:relative;
  z-index:0;
  font-size:1.4rem;
  line-height:1.8rem;
  color:var(--color-text);
  transform:translateY(0);
  transition:background-color var(--transition-medium-cubic), color var(--transition-medium-cubic);
}
.rating-card:hover, .rating-card:focus-within{
  color:var(--color-white);
}
.rating-card:hover .rating-card__wrapper, .rating-card:focus-within .rating-card__wrapper{
  border-color:var(--color-stroke-2);
  background-color:var(--color-secondary);
}
.rating-card:hover .icon--gradient, .rating-card:focus-within .icon--gradient{
  --gradient-from:var(--color-white);
  --gradient-to:var(--color-white);
}
.rating-card:hover .rating-card-controls, .rating-card:focus-within .rating-card-controls{
  display:flex;
}
.rating-card:hover .rating-card__wrapper--cover::after, .rating-card:focus-within .rating-card__wrapper--cover::after{
  left:-0.2rem;
  height:6.8rem;
  background-color:var(--color-secondary);
}
.rating-card:hover .rating-card__wrapper--icon::after, .rating-card:focus-within .rating-card__wrapper--icon::after{
  top:0;
  right:-0.1rem;
  background-color:var(--color-secondary);
}
.rating-card:hover .rating-card__wrapper--change, .rating-card:focus-within .rating-card__wrapper--change{
  border-right-color:var(--color-secondary);
}
.rating-card:hover .rating-card__wrapper--change .rating-card__inner-wrapper,
.rating-card:hover .rating-card__wrapper--best .rating-card__inner-wrapper, .rating-card:focus-within .rating-card__wrapper--change .rating-card__inner-wrapper,
.rating-card:focus-within .rating-card__wrapper--best .rating-card__inner-wrapper{
  opacity:0;
  -webkit-user-select:none;
          user-select:none;
  pointer-events:none;
}
.rating-card:hover .rating-card__inner-wrapper::before, .rating-card:focus-within .rating-card__inner-wrapper::before{
  display:none;
}
.rating-card:hover .rating-card__inner-wrapper::after, .rating-card:focus-within .rating-card__inner-wrapper::after{
  background-color:var(--color-stroke-2);
}
.rating-card td{
  min-height:0;
  height:100%;
  padding:0;
}
.rating-card::after{
  content:"";
  position:absolute;
  inset:0 0 1rem 0;
  z-index:-1;
  border-radius:var(--border-radius);
  box-shadow:0 25px 50px -10px rgba(22, 35, 50, 0.1);
}
.rating-card:last-child::after{
  inset:0;
}

.rating-card--up .icon--gradient{
  --gradient-from:rgba(115, 204, 189, 0.4);
  --gradient-to:#107c6a;
}
.rating-card--up .rating-card__icon-circle{
  --bg-color:var(--color-primary);
  --shadow-color:rgba(115, 204, 189, 0.5);
}

.rating-card--down .icon--gradient{
  --gradient-from:rgba(222, 106, 106, 0.4);
  --gradient-to:#bf4e4e;
}
.rating-card--down .rating-card__icon-circle{
  --bg-color:var(--color-red);
  --shadow-color:rgba(222, 106, 106, 0.5);
}

.rating-card__wrapper{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
  width:100%;
  min-height:7rem;
  border-width:0.1rem 0.1rem 0.1rem 0;
  border-style:solid;
  border-color:var(--color-stroke);
  padding-left:2rem;
  background-color:var(--color-white);
  transition:border-color var(--transition-medium-cubic), background-color var(--transition-medium-cubic);
}
.rating-card__wrapper--cover{
  border-left-width:0.1rem;
  border-right-width:0;
  border-top-left-radius:var(--border-radius);
  border-bottom-left-radius:var(--border-radius);
  padding:0.4rem 0 0.4rem 0.4rem;
}
.rating-card__wrapper--name a{
  --color:currentColor;
  --color-hover:var(--color-primary);
  --color-active:var(--color-primary-hover);
  text-decoration:none;
}
.rating-card__wrapper--change{
  position:relative;
}
.rating-card__wrapper--icon{
  padding:0.4rem 0.4rem 0.4rem 2rem;
  border-top-right-radius:var(--border-radius);
  border-bottom-right-radius:var(--border-radius);
}

.rating-card__inner-wrapper{
  display:flex;
  align-items:center;
  gap:1rem;
}
.rating-card__inner-wrapper::before{
  width:100%;
  font-size:8px;
  line-height:1.3rem;
  font-weight:600;
  text-align:center;
  text-transform:uppercase;
  color:var(--color-gray-3);
}
.rating-card__cover img{
  width:9rem;
  height:6rem;
  border-radius:3rem;
}

.rating-card__name{
  font-size:1.6rem;
  line-height:2.1rem;
  font-weight:600;
}
.rating-card__best .rating-card__wrapper{
  border-right-width:0;
}

.rating-card__icon-circle{
  --bg-color:var(--color-gray-4);
  --shadow-color:rgba(156, 170, 185, 0.5);
  aspect-ratio:1;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:6rem;
  border-radius:50%;
  background-color:var(--bg-color);
  color:var(--color-white);
  box-shadow:0 20px 20px 0 var(--shadow-color);
}
.rating-card__icon-circle .icon{
  font-size:3.8rem;
}
.rating-card-controls{
  position:absolute;
  display:none;
  justify-content:center;
  align-items:center;
  gap:0.5rem;
  width:185%;
}

.rating-card-controls__caption{
  margin-right:0.5rem;
  font-size:0.8rem;
  font-weight:600;
  text-transform:uppercase;
}

.rating-card-controls__button{
  display:flex;
  aspect-ratio:1;
  min-height:3.6rem;
  padding:0;
}
.rating-card-controls__button .icon{
  font-size:3rem;
}

/*! Rating method section */
.rating-method-section{
  position:relative;
  z-index:0;
  padding:4rem 0;
  background-image:radial-gradient(47.32% 100% at 61.45% 0%, #254a8e 0%, #181d55 100%);
  color:var(--color-white);
}
.rating-method-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:url(../img/layout/dark-section-bg-768w.png);
  background-image:url(../img/layout/dark-section-bg-768w.webp);
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:768px;
}
.webp .rating-method-section::after{
  background-image:-webkit-image-set(url(../img/layout/dark-section-bg-768w.webp) 1x, url(../img/layout/dark-section-bg-1536w.webp) 2x);
  background-image:image-set(url(../img/layout/dark-section-bg-768w.webp) 1x, url(../img/layout/dark-section-bg-1536w.webp) 2x);
}
.rating-method-section .container{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.rating-method{
  display:grid;
  grid-template-columns:1fr 2rem 1fr;
  grid-template-rows:1fr 4.2rem 1fr;
  align-items:center;
}

.rating-method__step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  opacity:0;
}
.rating-method__step--1{
  --image-path:url(../svg/cards/rating-method-step-01.svg);
  --image-circle-path:url(../svg/cards/rating-method-step-01-circle.svg);
}
.rating-method__step--2{
  --image-path:url(../svg/cards/rating-method-step-02.svg);
  --image-circle-path:url(../svg/cards/rating-method-step-02-circle.svg);
  grid-column:3;
}
.rating-method__step--3{
  --image-path:url(../svg/cards/rating-method-step-03.svg);
  --image-circle-path:url(../svg/cards/rating-method-step-03-circle.svg);
  grid-column:3;
  grid-row:3;
}
.rating-method__step--4{
  --image-path:url(../svg/cards/rating-method-step-04.svg);
  grid-column:1;
  grid-row:3;
}

.rating-method__step--rotate .rating-method__cover::after{
  animation:rotateStep 0.8s linear;
}

@keyframes rotateStep{
  0%{
    transform:rotate(90deg);
  }
  100%{
    transform:rotate(360deg);
  }
}
.rating-method__cover{
  position:relative;
  aspect-ratio:1/1;
  width:calc(100% - 5rem);
  max-width:22rem;
  background-image:var(--image-path);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.rating-method__cover::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--image-circle-path);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

.rating-method__step-description{
  line-height:normal;
  text-align:center;
}

.rating-method__delimiter{
  --offset:-2.5rem;
  position:relative;
  top:var(--offset);
  grid-column:2;
  grid-row:1;
  display:flex;
  justify-content:center;
  align-items:center;
  color:var(--color-primary);
}
.rating-method__delimiter--2{
  top:0;
  grid-column:3;
  grid-row:2;
  justify-self:center;
}
.rating-method__delimiter--2 .icon{
  transform:rotate(90deg);
}
.rating-method__delimiter--3{
  grid-column:2;
  grid-row:3;
}
.rating-method__delimiter--3 .icon{
  transform:rotate(180deg);
}
.rating-method__delimiter .icon{
  font-size:1.8rem;
}

/*! FAQ section */
.faq-section{
  display:flex;
  flex-direction:column;
  gap:2rem;
  padding:4rem 0;
  background-color:var(--color-white);
}
.faq-section > .container{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

/*! News section */
.news-section{
  display:flex;
  flex-direction:column;
  gap:2rem;
  padding:4rem 0;
  background-color:var(--color-white);
}
.news-section--homepage{
  background-image:url(../img/layout/section-bg-768w.png);
  background-image:url(../img/layout/section-bg-768w.webp);
  background-repeat:no-repeat;
  background-position:top 0 center;
  background-size:768px;
  background-color:var(--color-light);
}
.webp .news-section--homepage{
  background-image:-webkit-image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
  background-image:image-set(url(../img/layout/section-bg-768w.webp) 1x, url(../img/layout/section-bg-1536w.webp) 2x);
}
.news-section > .container{
  display:flex;
  flex-direction:column;
  gap:2rem;
}

.news-cards{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  column-gap:1rem;
  row-gap:2rem;
}

.news-card{
  --border-radius:1.5rem;
  --date-offset:0.5rem;
  --date-height:2rem;
  --date-padding:0 1rem;
  --date-icon-size:1rem;
  --date-font-size:1rem;
  --title-font-size:1.2rem;
  --title-line-height:124%;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
  color:var(--color-dark);
}
.news-card--big{
  --border-radius:2rem;
  --title-font-size:1.6rem;
  --date-offset:1rem;
  --date-height:3rem;
  --date-padding:0 1rem;
  --date-icon-size:1.6rem;
  --date-font-size:1.2rem;
  --title-line-height:131%;
  grid-column:span 2;
  padding-bottom:0.4rem;
}

.news-card__cover{
  position:relative;
}
.news-card__cover img{
  border-radius:var(--border-radius);
}

.date{
  position:absolute;
  bottom:var(--date-offset);
  left:var(--date-offset);
  z-index:1;
  display:flex;
  align-items:center;
  gap:0.5rem;
  min-height:var(--date-height);
  border-radius:var(--border-radius);
  padding:var(--date-padding);
  font-size:var(--date-font-size);
  line-height:normal;
  background-color:rgba(255, 255, 255, 0.75);
  -webkit-backdrop-filter:blur(3px);
          backdrop-filter:blur(3px);
}
.date .icon{
  font-size:var(--date-icon-size);
}

.news-card__content{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  font-size:1.2rem;
  line-height:normal;
}

.news-card__title{
  font-size:var(--title-font-size);
  line-height:var(--title-line-height);
  font-weight:600;
}
.news-card__title .link::after{
  content:"";
  position:absolute;
  inset:0;
}
:root{
  --color-primary:#73ccbd;
  --color-primary-hover:#23ab94;
  --color-secondary:#4d75b7;
  --color-secondary-hover:#2258b1;
  --color-blue:#254a8e;
  --color-dark-blue:#181d55;
  --color-red:#de6a6a;
  --color-red-2:#ce4a4a;
  --color-gray-1:#cdd6e0;
  --color-gray-2:#c7cbdb;
  --color-gray-3:rgba(22, 35, 50, 0.5);
  --color-gray-4:#9caab9;
  --color-gray-5:#a6a6a6;
  --color-gray-6:#969798;
  --color-gray-7:#545454;
  --color-gray-8:#7d7d7d;
  --color-light:#f1f2f6;
  --color-translucent-light:rgba(255, 255, 255, 0.5);
  --color-light-stroke:rgba(255, 255, 255, 0.2);
  --color-light-stroke-2:rgba(31, 36, 40, 0.2);
  --color-light-stroke-3:rgba(255, 255, 255, 0.1);
  --color-light-stroke-4:rgba(31, 36, 40, 0.1);
  --color-blue-stroke:rgba(77, 117, 183, 0.2);
  --color-stroke:#e8eef5;
  --color-stroke-2:#83a2d6;
  --color-dark:#1f2428;
  --color-dark-2:#22282e;
  --color-text:#162332;
  --color-black:black;
  --color-white:white;
  --html-bg-color:var(--color-light);
  --text-body-color:var(--color-black);
  --tab-focus-color:var(--color-black);
  --content-link-color:var(--color-secondary);
  --content-link-color-hover:var(--color-primary);
  --content-link-color-active:var(--color-primary-hover);
  --shadow-dialog:0 30px 50px 0 rgba(0, 0, 0, 0.75);
  --shadow-menu:0 5px 15px 0 rgba(0, 0, 0, 0.5);
  --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-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);
}

.c-primary{
  color:var(--color-primary);
}

.c-secondary{
  color:var(--color-secondary);
}

@media (min-width: 360px){
  .section__title{
    font-size:2rem;
  }
  .rating-slider{
    width:calc(100% + var(--container-padding) * 2);
    margin-left:calc(var(--container-padding) * -1);
  }
  .rating-card__inner-wrapper::before{
    font-size:10px;
  }
  .rating-card-controls__caption{
    font-size:1rem;
  }
  .rating-card-controls__button{
    min-height:4rem;
  }
}

@media (min-width: 390px){
  .dialog{
    --horizontal-margin:1rem;
  }
  .section__title{
    font-size:2.4rem;
  }
  .hero-numbers{
    max-width:30rem;
  }
  .container{
    --container-padding:1.5rem;
  }
  .rating-method__step-description{
    font-size:1.6rem;
  }
  .news-card__content{
    padding:0 1rem;
  }
  .news-card--big .news-card__content{
    padding:0;
  }
}

@media (min-width: 431px){
  .hero::after{
    background-image:url(../img/layout/hero-bg-2-md-1920w.png);
    background-image:url(../img/layout/hero-bg-2-md-1920w.webp);
    background-position:calc(50% + 27rem) 100%;
    background-size:137.2rem;
  }
  .webp .hero::after{
    background-image:url(../img/layout/hero-bg-2-md-3840w.webp);
  }
  .hero .container{
    align-items:flex-end;
  }
  .rating-method-section::after{
    background-size:cover;
  }
}

@media (min-width: 600px){
  .section__title br{
    display:none;
  }
}

@media (min-width: 768px){
  br.sm{
    display:none;
  }
  br.md{
    display:none;
  }
  .form__fieldset{
    flex-direction:row;
  }
  .reset-password-fieldset{
    justify-content:space-between;
  }
  .accordion-button{
    font-size:1.8rem;
  }
  .accordion-content{
    font-size:1.6rem;
    line-height:2.4rem;
  }
  .drawer.navbar{
    position:static;
    z-index:initial;
    overflow:initial;
    width:initial;
    height:initial;
    background-color:transparent;
    transform:none;
    transition:none;
  }
  .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;
    border-radius:2rem;
    padding:2rem calc(2rem - var(--scrollbar-padding)) 2rem 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{
    margin-bottom:-0.1rem;
  }
  .navbar.drawer{
    background-image:none;
  }
  .navbar .nav__link{
    --color:var(--color-dark);
    --color-hover:var(--color-primary);
    --color-active:var(--color-primary-hover);
    min-height:8rem;
    padding:2rem;
    font-size:1.3rem;
  }
  .navbar .nav__link.is-active{
    border-bottom:2px solid transparent;
    color:var(--color-dark);
  }
  .header--dark .navbar .nav__link.is-active{
    color:var(--color-white);
  }
  .navbar-active-line{
    display:block;
  }
  .error-label{
    font-size:1.4rem;
  }
  .header{
    padding:0;
  }
  .hero{
    --min-height:42rem;
  }
  .hero::after{
    background-position:calc(50% + max(7.2rem, 5vw)) 100%;
  }
  .hero .container{
    justify-content:center;
  }
  .hero-numbers{
    left:0;
    max-width:37rem;
    height:37.7rem;
    margin-left:-1.5rem;
  }
  .hero-number{
    --size:9.5rem;
    bottom:7.3rem;
    left:-0.6rem;
  }
  .hero-number--2{
    --size:15.4rem;
    bottom:1.4rem;
    left:17.4rem;
  }
  .hero-number--3{
    --size:7.3rem;
    top:7.9rem;
    right:-0.8rem;
    left:initial;
  }
  .hero-slider-wrapper{
    display:grid;
    padding-bottom:0;
  }
  .hero-slider-wrapper > *{
    grid-area:1/1;
  }
  .hero-slider-wrapper .swiper-controls{
    justify-self:flex-end;
    align-self:flex-start;
    margin-top:2.8rem;
  }
  .hero-slide__title{
    display:flex;
    align-items:center;
    min-height:9.7rem;
    padding-right:12rem;
  }
  .hero-slide__content{
    font-size:1.5rem;
    line-height:2.3rem;
  }
  .page-wrapper:has(.main > .content:last-child){
    padding-bottom:5rem;
  }
  .container{
    --container-padding:3rem;
  }
  .footer > .container{
    flex-direction:row;
    justify-content:space-between;
  }
  .footer__nav .nav__list{
    flex-direction:row;
  }
  .footer__nav .nav__link{
    line-height:120%;
  }
  .main-rating-section{
    padding-top:5rem;
    padding-bottom:5rem;
  }
  .main-rating-section::after{
    background-position:top -11rem center;
  }
  .rating-table__th--rating::before{
    display:none;
  }
  .rating-card:not(:last-child) td{
    padding-bottom:1rem;
  }
  .rating-card::after{
    height:7rem;
  }
  .rating-card__inner-wrapper::before{
    display:none;
  }
  .rating-card-controls__caption{
    font-size:1.2rem;
  }
  .rating-method-section{
    padding:5rem 0;
  }
  .rating-method-section::after{
    background-size:768px;
  }
  .rating-method{
    grid-template-columns:1fr 2rem 1fr 2rem 1fr 2rem 1fr;
    grid-template-rows:1fr;
  }
  .rating-method__step{
    gap:2rem;
  }
  .rating-method__step--3{
    grid-column:5;
    grid-row:1;
  }
  .rating-method__step--4{
    grid-column:7;
    grid-row:1;
  }
  .rating-method__step--rotate .rating-method__cover::after{
    animation:rotateStep 1s ease-in;
  }
  .rating-method__cover{
    width:100%;
  }
  .rating-method__delimiter{
    --offset:-3rem;
  }
  .rating-method__delimiter--2{
    top:var(--offset);
    grid-column:4;
    grid-row:1;
  }
  .rating-method__delimiter--2 .icon{
    transform:none;
  }
  .rating-method__delimiter--3{
    grid-column:6;
    grid-row:1;
  }
  .rating-method__delimiter--3 .icon{
    transform:none;
  }
  .faq-section{
    padding:5rem 0;
  }
  .news-section{
    padding:5rem 0;
  }
  .news-cards{
    grid-template-columns:1fr 1fr 0 1fr 1fr;
    column-gap:1.2rem;
    row-gap:2.4rem;
  }
  .news-card{
    --title-line-height:125%;
  }
  .news-card--big{
    grid-column:span 3;
    grid-row:span 2;
    gap:2rem;
    padding-right:1.2rem;
    padding-bottom:0;
  }
  .news-card__content{
    gap:1rem;
  }
}

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

@media (min-width: 960px){
  body{
    --text-body-fz:1.6rem;
    --text-body-lh:2.4rem;
    background-image:url(../img/layout/section-bg-md-1920w.png);
    background-image:url(../img/layout/section-bg-md-1920w.webp);
    background-position:top -8rem center;
    background-size:1920px;
  }
  .webp body{
    background-image:-webkit-image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
    background-image:image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
  }
  h1,
  .h1{
    font-size:4rem;
  }
  h2,
  .h2{
    font-size:2.4rem;
  }
  br.lg{
    display:initial;
  }
  .accordion-item{
    padding:2.5rem 0 2.4rem;
  }
  .accordion-button{
    gap:3rem;
    font-size:2.2rem;
  }
  .accordion-content{
    padding-top:1rem;
    padding-left:8rem;
  }
  .navbar .nav__link{
    min-height:10rem;
    padding:2rem 4rem;
    font-size:1.4rem;
  }
  .section{
    gap:4rem;
  }
  .section__title{
    font-size:4rem;
  }
  .logo{
    width:16rem;
    height:4.6rem;
  }
  .hero{
    --min-height:60rem;
  }
  .hero::after{
    background-position:center bottom;
    background-size:192rem;
  }
  .hero-numbers{
    max-width:52.2rem;
    margin-left:5.5rem;
  }
  .hero-number{
    --size:13.5rem;
    --font-size:4rem;
    bottom:12.3rem;
    left:-1.9rem;
  }
  .hero-number--2{
    --size:21.4rem;
    --font-size:6rem;
    bottom:4.1rem;
    left:23.7rem;
  }
  .hero-number--3{
    --size:10rem;
    --font-size:3rem;
    top:-5.8rem;
    right:0.4rem;
    left:initial;
  }
  .hero-slider-wrapper{
    max-width:64.8rem;
  }
  .hero-slider-wrapper .swiper-controls{
    margin-top:8rem;
  }
  .hero-slide{
    gap:4rem;
  }
  .hero-slide__title{
    min-height:17rem;
    padding-bottom:3.9rem;
    font-size:5rem;
  }
  .hero-slide__content{
    font-size:1.7rem;
    line-height:2.6rem;
  }
  .page-wrapper{
    padding-top:4rem;
  }
  .page-wrapper:has(.main > .content:last-child){
    padding-bottom:10rem;
  }
  .container{
    --container-padding:4rem;
  }
  .content{
    --common-gap:4rem;
  }
  .content h1{
    font-size:3rem;
  }
  .content h3{
    font-size:2rem;
  }
  .footer{
    gap:3.7rem;
    padding-top:3.7rem;
  }
  .footer__nav .nav__list{
    gap:6rem;
  }
  .footer__nav .nav__link{
    font-size:1.4rem;
  }
  .footer__copyright{
    padding:2rem 0;
    font-size:1.5rem;
  }
  .main-rating-section::after{
    background-image:url(../img/layout/section-bg-md-1920w.png);
    background-image:url(../img/layout/section-bg-md-1920w.webp);
    background-position:top -59rem center;
    background-size:1920px;
  }
  .webp .main-rating-section::after{
    background-image:-webkit-image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
    background-image:image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
  }
  .main-rating-section .container{
    gap:4rem;
  }
  .main-rating-section .rating-table{
    margin-top:4rem;
  }
  .rating-slider{
    height:43.6rem;
  }
  .rating-slider .swiper-slide{
    width:42.4rem;
    height:20.6rem;
  }
  .rating-slide__cover{
    width:15.2rem;
  }
  .rating-slide__name{
    padding-bottom:1.4rem;
    font-size:2.2rem;
  }
  .rating-slide__trend{
    font-size:4rem;
  }
  .rating-table-wrapper{
    gap:4rem;
  }
  .rating-table__th{
    padding-top:1.1rem;
    padding-bottom:1.1rem;
    padding-left:4rem;
    font-size:1.2rem;
  }
  .rating-table__th--cover{
    width:12.5rem;
  }
  .rating-table__th--rating::after{
    width:1.8rem;
    height:1.8rem;
    margin-left:1rem;
  }
  .rating-card{
    --border-radius:4.5rem;
  }
  .rating-card::after{
    height:9rem;
  }
  .rating-card__wrapper{
    min-height:9rem;
  }
  .rating-card__cover img{
    width:12rem;
    height:8rem;
    border-radius:4rem;
  }
  .rating-card__icon-circle{
    width:8rem;
  }
  .rating-card__icon-circle .icon{
    font-size:4.8rem;
  }
  .rating-method-section{
    padding:10rem 0;
    background-image:radial-gradient(47.32% 100% at -47.32% 0%, #254a8e 0%, #181d55 100%);
  }
  .rating-method-section::after{
    background-image:url(../img/layout/dark-section-bg-md-1920w.png);
    background-image:url(../img/layout/dark-section-bg-md-1920w.webp);
    background-size:1920px;
  }
  .webp .rating-method-section::after{
    background-image:-webkit-image-set(url(../img/layout/dark-section-bg-md-1920w.webp) 1x, url(../img/layout/dark-section-bg-md-3840w.webp) 2x);
    background-image:image-set(url(../img/layout/dark-section-bg-md-1920w.webp) 1x, url(../img/layout/dark-section-bg-md-3840w.webp) 2x);
  }
  .rating-method-section .container{
    gap:4rem;
  }
  .rating-method{
    grid-template-columns:1fr 2.6rem 1fr 2.6rem 1fr 2.6rem 1fr;
    grid-template-rows:1fr;
    column-gap:0.6rem;
  }
  .rating-method__step{
    gap:3rem;
  }
  .rating-method__step-description{
    font-size:2rem;
  }
  .rating-method__delimiter{
    --offset:-5rem;
  }
  .rating-method__delimiter .icon{
    font-size:2.4rem;
  }
  .faq-section{
    padding:10rem 0;
  }
  .news-section{
    padding:10rem 0;
  }
  .news-section--homepage{
    background-image:url(../img/layout/section-bg-md-1920w.png);
    background-image:url(../img/layout/section-bg-md-1920w.webp);
    background-position:bottom -35.6rem center;
    background-size:1920px;
  }
  .webp .news-section--homepage{
    background-image:-webkit-image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
    background-image:image-set(url(../img/layout/section-bg-md-1920w.webp) 1x, url(../img/layout/section-bg-md-3840w.webp) 2x);
  }
  .news-section > .container{
    gap:4rem;
  }
}

@media (min-width: 1400px){
  .section__header{
    padding-bottom:3.9rem;
  }
  .footer__nav{
    transform:translateX(-4.5rem);
  }
  .main-rating-section{
    margin-top:-4rem;
    padding-top:10rem;
    padding-bottom:10rem;
  }
  .rating-slider{
    width:100%;
    margin-left:0;
  }
  .rating-table__th--rating{
    width:20.3%;
  }
  .rating-table__th--change{
    width:20.2%;
  }
  .rating-table__th--best{
    width:20.3%;
  }
  .rating-card{
    font-size:1.8rem;
  }
  .rating-card:not(:last-child) td{
    padding-bottom:2rem;
  }
  .rating-card::after{
    inset:0 0 2rem 0;
  }
  .rating-card__wrapper{
    padding-left:4rem;
  }
  .rating-card__wrapper--cover{
    padding-left:0.4rem;
  }
  .rating-card__name{
    font-size:2.2rem;
  }
  .rating-card-controls{
    gap:1rem;
    width:186%;
  }
  .rating-card-controls__caption{
    margin-right:1rem;
    font-size:1.4rem;
  }
  .rating-card-controls__button{
    min-height:5rem;
  }
  .news-cards{
    grid-template-columns:1fr 1fr 1fr 1fr;
    column-gap:2.4rem;
    row-gap:4.2rem;
  }
  .news-card{
    --border-radius:2rem;
    --date-height:3rem;
    --date-icon-size:2rem;
    --date-font-size:1.4rem;
    --title-font-size:1.5rem;
    --title-line-height:127%;
  }
  .news-card--big{
    --title-font-size:2rem;
    --title-line-height:131%;
    grid-column:span 2;
    gap:3rem;
    padding-right:0;
  }
  .news-card__content{
    font-size:1.6rem;
    line-height:130%;
  }
  .news-card--big .news-card__content{
    padding:0 3rem;
  }
}

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

@media (max-width: 767.98px){
  .navbar-toggler{
    position:relative;
    z-index:102;
    display:block;
    order:1;
    width:2.4rem;
    height:2.4rem;
    border:0;
    padding:0 0.2rem;
    background-color:transparent;
  }
  .navbar-burger{
    --burger-color:var(--color-dark);
    display:block;
    width:2rem;
    height:0.2rem;
    background-color:var(--burger-color);
  }
  .navbar-burger::after, .navbar-burger::before{
    content:"";
    position:absolute;
    left:0.2rem;
    width:2rem;
    height:0.2rem;
    background-color:var(--burger-color);
    transition:background-color var(--transition-long-cubic), opacity var(--transition-long-cubic), transform var(--transition-long-cubic);
  }
  .navbar-burger::before{
    transform:translateY(-0.7rem);
  }
  .navbar-burger::after{
    transform:translateY(0.7rem);
  }
  .header--dark .navbar-burger{
    --burger-color:var(--color-white);
  }
  .navbar-toggler[aria-expanded=true] .navbar-burger{
    --burger-color:var(--color-white);
    background-color:transparent;
  }
  .navbar-toggler[aria-expanded=true] .navbar-burger::after, .navbar-toggler[aria-expanded=true] .navbar-burger::before{
    border-radius:0;
    opacity:0.5;
  }
  .navbar-toggler[aria-expanded=true] .navbar-burger::before{
    transform:rotate(45deg);
  }
  .navbar-toggler[aria-expanded=true] .navbar-burger::after{
    transform:rotate(-45deg);
  }
  .navbar .nav-container{
    display:flex;
    flex-grow:1;
    flex-direction:column;
    align-items:center;
    padding-top:0;
  }
  .navbar .nav__list{
    flex-direction:column;
    align-items:initial;
    gap:5rem;
    width:100%;
    padding:10rem 3rem 5rem;
  }
  .navbar .nav__sublist{
    overflow-y:hidden;
  }
  .navbar .nav__sublist > .nav__item:first-child{
    padding-top:2rem;
  }
  .navbar .nav__item{
    justify-content:center;
  }
  .navbar .nav__link{
    font-size:2.2rem;
    line-height:3rem;
  }
  .navbar__icons{
    display:flex;
  }
  .section__header:has(.section__title:only-child){
    justify-content:center;
  }
  .section__header:has(.section__title:only-child) .section__title{
    text-align:center;
  }
  .section__header:has(.section__title:only-child)::after{
    right:0;
    margin:0 auto;
  }
  .rating-table__body{
    display:flex;
    flex-direction:column;
    gap:1rem;
    margin-top:2rem;
  }
  .rating-table__th:not([aria-sort]){
    display:none;
  }
  .rating-table__th--rating{
    display:flex;
    justify-content:center;
    justify-self:center;
    align-items:center;
    gap:1rem;
    width:100%;
    max-width:43rem;
    min-height:5rem;
    border:1px solid var(--color-light-stroke-4);
    border-radius:1rem;
    padding:0.5rem 1rem;
  }
  .rating-table__th--rating span{
    display:inline-block;
    order:-1;
    font-size:1.2rem;
    font-weight:400;
    text-transform:none;
  }
  .rating-table__th--rating span::after{
    content:":";
  }
  .rating-table__th--rating:hover, .rating-table__th--rating:focus-visible{
    border-color:var(--color-secondary);
  }
  .rating-table__th--rating::after{
    width:1.8rem;
    height:1.8rem;
    margin-left:0;
    background-color:var(--color-text);
  }
  .rating-card{
    display:grid;
    grid-template-columns:9.5rem calc(33.3% - 9.5rem) 33.4% calc(33.3% - 6.5rem) 6.5rem;
    grid-template-rows:1fr auto;
    border:1px solid var(--color-stroke);
    border-radius:var(--border-radius);
    background-color:var(--color-white);
  }
  .rating-card:hover, .rating-card:focus-within{
    border-color:var(--color-secondary);
    background-color:var(--color-secondary);
  }
  .rating-card__wrapper--cover{
    position:relative;
    z-index:0;
    border-top-color:transparent !important;
    padding-top:0.2rem;
    padding-left:0.3rem;
  }
  .rating-card__wrapper--cover::after{
    content:"";
    position:absolute;
    top:-0.1rem;
    left:-0.1rem;
    z-index:-1;
    width:8rem;
    height:6.9rem;
    border-radius:var(--border-radius);
    background-color:var(--color-white);
    transition:background-color var(--transition-medium-cubic);
  }
  .rating-card__wrapper--name{
    border-top-color:transparent !important;
    padding-left:0.9rem;
  }
  .rating-card__wrapper--rating{
    min-height:5.4rem;
    border-width:0;
    border-bottom-left-radius:var(--border-radius);
    padding-left:0;
  }
  .rating-card__wrapper--rating .rating-card__inner-wrapper::before{
    content:"Рейтинг";
  }
  .rating-card__wrapper--change{
    min-height:5.4rem;
    border-width:0;
    padding-left:0;
  }
  .rating-card__wrapper--change .rating-card__inner-wrapper::before{
    content:"% Роста";
  }
  .rating-card__wrapper--best{
    min-height:5.4rem;
    border-width:0;
    border-bottom-right-radius:var(--border-radius);
    padding-left:0;
  }
  .rating-card__wrapper--best .rating-card__inner-wrapper::before{
    content:"Лучший рейтинг";
  }
  .rating-card__wrapper--best .rating-card__inner-wrapper::after{
    display:none;
  }
  .rating-card__wrapper--icon{
    position:relative;
    z-index:0;
    justify-content:flex-end;
    width:calc(100% + 0.1rem);
    border-top-color:transparent !important;
    padding-top:0.2rem;
  }
  .rating-card__wrapper--icon::after{
    content:"";
    position:absolute;
    top:-0.1rem;
    right:0;
    z-index:-1;
    width:100%;
    height:100%;
    border-radius:50%;
    background-color:var(--color-white);
    transition:background-color var(--transition-medium-cubic);
  }
  .rating-card__inner-wrapper{
    position:relative;
    flex-wrap:wrap;
    justify-content:center;
    row-gap:0.5rem;
    width:100%;
    min-height:3.6rem;
  }
  .rating-card__inner-wrapper::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    display:block;
    width:0.1rem;
    height:100%;
    background-color:var(--color-stroke);
  }
  .rating-card__cover{
    grid-column:1;
  }
  .rating-card__name{
    grid-column:2/5;
  }
  .rating-card__name .rating-card__wrapper{
    border-right-width:0;
  }
  .rating-card__rating{
    grid-column:1/3;
  }
  .rating-card__change{
    grid-column:3;
  }
  .rating-card__best{
    grid-column:4/6;
  }
  .rating-card__icon{
    grid-column:5;
    grid-row:1;
  }
  .rating-card__icon .rating-card__wrapper{
    padding-left:0;
  }
  .rating-card-controls{
    width:200%;
  }
}

@media (max-width: 320px){
  body{
    overflow-x:auto;
  }
}