@charset "UTF-8";

:root {
  --default-font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu,
    "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB",
    "Microsoft Yahei UI", "Microsoft Yahei", "Source Han Sans CN", sans-serif;
  --ff-paragraph: "ivyepic", var(--default-font-family);
  --ff-title: "sigurd", var(--default-font-family);
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --size: 15px;
  --hero-pad: max(1rem, 8%);
  --decor-icon-size: clamp(1.389rem, calc(1.19rem + 0.95vw), 2.222rem);
  --radius: clamp(0.778rem, calc(0.711rem + 0.375vw), 1.111rem);
  --radius-xl: calc(var(--radius) * 2);
  --radius-sm: calc(var(--radius) * 0.7);
  --white: #fff;
  --black: #000;
  --main-color: #413c39; /* text */
  --main-color-hover: #999390; /* text hover */
  --main-bg-color: #fff; /* bg - default */
  --z-index-negative: -10;
  --z-index-behind: -2;
  --z-index-default: 0;
  --z-index-above: 2;
  --z-index-dropdown: 100;
  --z-index-modal: 1000;
  /* Background palette */
  --bg-rose-100: #f6e2e1;
  --bg-cream-100: #f5f2ed;
  --bg-rose-200: #eac6c6;
  --bg-sand-200: #ded5cc;
  /* Text palette */
  --text-cream-100: #efebe4;
}

html {
  font-size: 18px;
}
body {
  font-family: var(--ff-paragraph);
  font-weight: var(--fw-regular);
  color: var(--main-color);
  -webkit-font-smoothing: antialiased;
  background-color: var(--main-bg-color);
}
:is(h1, h2, h3, h4) {
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

b, strong {
    font-weight: normal;
}

.border-radius { 
	border-radius:var(--radius);
	overflow:hidden;
	display:block;
	border-bottom: solid 0px !important;
	position: relative;
	cursor: pointer;
}

a.border-radius img { 
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
a.border-radius:hover img {
	transform: scale(1.05);  
}
a.border-radius::after {
  content: "";
  position: absolute;
  inset: 0;
  background: black;
  opacity: 0;
  transition: opacity 0.4s ease;
}
a.border-radius:hover::after {
  opacity: 0.2;
}

a:is(:link, :visited) {
  color: var(--main-color);
  transition:
    color 0.2s ease-in-out,
    border-bottom-color 0.2s ease-in-out;
  text-decoration: none;
  border-bottom: solid 1px;
}
a:hover {
  color: var(--main-color-hover);
  border-bottom-color: transparent;
}
:is(a, button, [role="button"]):focus-visible {
  outline: 2px dashed var(--main-color-hover);
  outline-offset: 4px;
}
a.cta-link {
  --_pad-y: clamp(0.5415rem, calc(0.465rem + 0.375vw), 0.792rem);
  --_pad-x: clamp(1.333rem, calc(1.14rem + 0.95vw), 2.222rem);
  --_arrow-size: clamp(1.389rem, calc(1.23rem + 0.75vw), 2.222rem);
  --_arrow-invert: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding-block: var(--_pad-y);
  padding-inline: var(--_pad-x);
  border: 1px solid var(--_bd, currentColor);
  border-radius: 9999px;
  background-color: transparent;
  color: var(--_color, var(--main-color));
  overflow: hidden;
  isolation: isolate;
  transition:
    color 0.25s ease,
    border-color 0.25s ease;
}
a.cta-link::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 50%;
  inline-size: 0;
  block-size: 110%;
  background-color: var(--_hover-bg, transparent);
  z-index: var(--z-index-behind);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: inline-size 0.7s cubic-bezier(0.9, 0, 0.3, 1);
}
a.cta-link:hover::before,
a.cta-link:focus-visible::before {
  inline-size: 120%;
}
.cta-link__text {
  position: relative;
  z-index: var(--z-index-above);
  font-size: 0.89rem;
  font-weight: var(--fw-medium);
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.25s ease;
}
.cta-link__arrow {
  position: relative;
  z-index: var(--z-index-above);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--_arrow-size);
  block-size: var(--_arrow-size);
  flex: 0 0 auto;
  transition: transform 0.25s ease;
}
.cta-link__arrow img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  filter: invert(var(--_arrow-invert));
  transition: filter 0.25s ease;
}
a.cta-link__dark {
  --_color: var(--main-color);
  --_bd: var(--main-color);
  --_hover-bg: var(--main-color);
  --_arrow-invert: 0;
}
a.cta-link__dark:hover,
a.cta-link__dark:focus-visible {
  color: var(--white);
  border-color: var(--main-color);
  --_arrow-invert: 1;
}
a.cta-link__light {
  --_color: var(--white);
  --_bd: var(--white);
  --_hover-bg: var(--white);
  --_arrow-invert: 1;
}
a.cta-link__light:hover,
a.cta-link__light:focus-visible {
  color: var(--main-color);
  border-color: var(--white);
  --_arrow-invert: 0;
}

a.text-arrow-link {
  --_arrow-size: clamp(1.389rem, calc(1.23rem + 0.75vw), 2.222rem);
  --_arrow-invert: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-block-start: 0.35rem;
  border-bottom: 0;
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}
a.text-arrow-link:hover {
  color: var(--main-color-hover);
}
a.text-arrow-link:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}
.text-arrow-link__text {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.text-arrow-link__arrow {
  inline-size: var(--_arrow-size);
  block-size: var(--_arrow-size);
  flex: 0 0 auto;
}
.text-arrow-link__arrow img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  filter: invert(var(--_arrow-invert));
  transition:
    transform 0.25s ease,
    filter 0.25s ease;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
a.text-arrow-link:hover .text-arrow-link__arrow img {
  -webkit-transform: translateX(0.25rem);
  transform: translateX(0.25rem);
}
p {
  text-wrap: pretty;
  line-height: 1.6;
}
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Base-styles ............................. */

.content {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1921px) {
  .container-fluid-custom {
    max-inline-size: 1440px;
    padding-inline: 0;
  }
}
@media screen and (min-width: 992px) and (max-width: 1920px) {
  .container-fluid-custom {
    padding-inline: max(1rem, 8%);
    max-inline-size: none;
  }
}
@media screen and (max-width: 991px) {
  .container-fluid-custom {
    padding-inline: 1rem;
    max-inline-size: none;
  }
}
a.skip-link {
  position: absolute;
  inset-block-start: -60px;
  inset-inline-start: 50%;
  background: var(--main-color-hover);
  color: var(--white);
  padding: 0.5rem 1rem;
  z-index: 1000;
  border-radius: var(--radius);
  text-decoration: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: inset-block-start 0.3s;
}
a.skip-link:focus {
  inset-block-start: 30px;
}
.box_padding_vertical {
  padding-block: clamp(3.333rem, calc(2.722rem + 3.438vw), 6.389rem);
}
.img-object-cover {
  object-fit: cover;
}
.higher-z-index {
  z-index: 100;
}
.isolation {
  isolation: isolate;
}
.pos-relative-mobile {
  position: absolute;
}
.radius-xl {
  border-radius: var(--radius-xl);
}
.container_bg__rose-100 {
  background-color: var(--bg-rose-100);
}
.container_bg__cream-100 {
  background-color: var(--bg-cream-100);
}
.container_bg__rose-200 {
  background-color: var(--bg-rose-200);
}
.container_bg__sand-200 {
  background-color: var(--bg-sand-200);
}
.container_bg_img {
  inset-block-start: 0;
  inset-inline: 15px;
  inline-size: calc(100% - 30px);
  block-size: 100%;
}

.decor-icon {
  --decor-icon-space: clamp(0.833rem, calc(0.72rem + 0.55vw), 1.667rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--decor-icon-size);
  block-size: var(--decor-icon-size);
  margin-block-end: var(--decor-icon-space);
  pointer-events: none;
}
.decor-icon img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.decor-icon__absolute {
  position: absolute;
  margin-block-end: 0;
}

.section-title {
  --section-title-size: clamp(3.333rem, calc(0.667rem + 15vw), 16.667rem);
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  color: var(--text-cream-100);
  line-height: 0.9;
  z-index: var(--z-index-behind);
  pointer-events: none;
  user-select: none;
}
.section-title__text {
  display: block;
  font-size: var(--section-title-size);
  text-transform: uppercase;
  white-space: nowrap;
}
.section-title__relative {
  position: relative;
}
.section-title__relative .section-title__text {
  font-size: clamp(3.333rem, calc(1.778rem + 8.75vw), 11.111rem);
}
.section-title__absolute {
  position: absolute;
}
.section-title__pos-left {
  inset-inline-start: 0;
  inset-block-start: 0;
}
.section-title__pos-center {
  inset-inline-start: 50%;
  inset-block-start: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.title-box {
  position: relative;
}
.text-white .title-box {
  color: var(--white);
}
.title-box > * {
  position: relative;
  text-wrap: balance;
  line-height: 1.2em;
}
.title-box :is(h1, h2) {
  font-family: var(--ff-title);
  font-size: clamp(2rem, calc(1.6rem + 2.25vw), 4rem);
}
.title-box small {
  font-size: inherit;
  font-style: italic;
  color: inherit;
}

/* Hero-Shell */

.hero-shell {
  position: relative;
  inline-size: 100%;
  overflow: hidden;
}
.hero-shell__bg {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  block-size: 100%;
  overflow: hidden;
}
.hero-shell__bg__left {
  inline-size: 50%;
  z-index: var(--z-index-default);
}
.hero-shell__bg__right {
  inline-size: 50%;
  inset-inline-start: 50%;
  background-color: var(--bg-rose-100);
  z-index: var(--z-index-above);
}
.hero-shell__circle {
  --hero-circle: clamp(20rem, calc(10.889rem + 51.25vw), 65.556rem);
  position: absolute;
  inline-size: var(--hero-circle);
  block-size: var(--hero-circle);
  border-radius: 9999px;
}
.hero-shell__circle__left {
  inset-inline-end: 0;
  inset-block-end: 0;
  background-color: #fff6f6;
  -webkit-transform: translate(45%, 30%);
  transform: translate(45%, 30%);
}
.hero-shell__circle__right {
  inset-inline-end: 0;
  inset-block-start: 0;
  background-color: #feeceb;
  -webkit-transform: translate(35%, -35%);
  transform: translate(35%, -35%);
}
.hero-pad {
  padding-inline: var(--hero-pad);
}

/* Header ............................................................... */

.header {
  --ml-size: clamp(6.25rem, calc(5.25rem + 5vw), 11.25rem);
  --nav-fs: clamp(0.778rem, calc(0.733rem + 0.25vw), 1rem);
  --b-size: clamp(2.222rem, calc(2.055rem + 0.938vw), 3.056rem);
  --radius-dm: clamp(0.444rem, calc(0.417rem + 0.15vw), 0.667rem);
  position: relative;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  padding-block: clamp(0.833rem, calc(0.556rem + 1.562vw), 2.222rem);
  z-index: var(--z-index-modal);
  will-change: transform;
}
.header.scroll {
  position: fixed;
  padding-block: 0.5rem;
  background-color: var(--white);
  -webkit-box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.05);
  box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.05);
  -webkit-animation: animateNav 0.4s linear;
  animation: animateNav 0.4s linear;
}
@-webkit-keyframes animateNav {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes animateNav {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.header-bar {
  gap: clamp(1.875rem, calc(0rem + 9.375vw), 11.25rem);
  align-items: flex-start;
}
.header.scroll .header-bar {
  align-items: center;
}
.header-right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: clamp(1.5rem, calc(1rem + 2vw), 3rem);
}
.main-logo {
  flex: none;
  z-index: var(--z-index-dropdown);
}
.main-logo img {
  inline-size: var(--ml-size);
  block-size: auto;
}
.header.scroll .main-logo img {
  inline-size: calc(var(--ml-size) / 2);
}
.mainNavigation {
  padding: 0;
}
.mainNavigation .navbar-nav {
  margin: 0;
  gap: clamp(0.5rem, calc(0.362rem + 0.688vw), 1.188rem);
}
.mainNavigation .nav-link {
  position: relative;
  font-size: var(--nav-fs);
  line-height: clamp(1.875rem, calc(1.5rem + 1vw), 2.5rem);
  padding: 0;
  border-block-end: 0;
  color: var(--main-color) !important;
}
.mainNavigation .nav-link span {
  position: relative;
  display: inline-block;
}
.mainNavigation .nav-link span::after {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  content: "";
  inline-size: 0;
  block-size: 0.111rem;
  background-color: currentColor;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
  transition:
    inline-size 300ms linear,
    opacity 300ms linear;
}
.mainNavigation .nav-link.hi span::after,
.mainNavigation .nav-link:hover span::after {
  inline-size: 100%;
  opacity: 1;
}
.mainNavigation li.dropdown .nav-link:hover span::after {
  display: none;
}
.mainNavigation .nav-link:focus-visible span::after {
  inline-size: 100%;
  opacity: 1;
}
.mainNavigation .dropdown-menu {
  background-color: transparent;
  margin-block-start: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  display: block;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(3.125rem);
  transform: translateY(3.125rem);
  transition:
    opacity 300ms ease,
    visibility 300ms step-end,
    -webkit-transform 300ms ease,
    transform 300ms ease;
  will-change: opacity, transform;
}
.mainNavigation .dropdown-menu.show {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition:
    opacity 300ms ease,
    visibility 0ms step-start,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.mainNavigation .dropdown-menu .dropdown-item {
  font-size: var(--nav-fs);
  color: var(--white);
  line-height: 1.9;
  background-color: var(--main-color);
  margin-inline-start: 0;
  border-block-end: 0.0625rem solid
    color-mix(in srgb, var(--main-color) 45%, var(--white));
  z-index: var(--z-index-dropdown);
  transition:
    background-color 300ms linear,
    color 300ms linear;
}
.mainNavigation .dropdown-menu .dropdown-item:first-child {
  border-start-start-radius: var(--radius-dm);
  border-start-end-radius: var(--radius-dm);
}
.mainNavigation .dropdown-menu .dropdown-item:last-child {
  border-block-end: 0;
  border-end-start-radius: var(--radius-dm);
  border-end-end-radius: var(--radius-dm);
}
.mainNavigation .dropdown-menu .dropdown-item.hi,
.mainNavigation .dropdown-menu .dropdown-item:hover {
  color: var(--white);
  background-color: color-mix(in srgb, var(--main-color) 85%, var(--white));
}
.header-actions {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.8rem, calc(0.6rem + 0.9vw), 1.5rem);
  z-index: var(--z-index-dropdown);
}
a.header-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border-block-end: 0;
  color: var(--main-color);
  transition: color 220ms ease;
}
a.header-phone:hover {
  color: var(--main-color-hover);
}
a.header-phone:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}
.header-phone__icon {
  inline-size: var(--b-size);
  block-size: var(--b-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: var(--bg-rose-200);
  transition: background-color 220ms ease;
}
a.header-phone:hover .header-phone__icon {
  background-color: color-mix(in srgb, var(--bg-rose-200) 70%, transparent);
}
.header-phone__icon i {
  font-size: 1rem;
  line-height: 1;
}
.header-phone__text {
  font-size: var(--nav-fs);
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.header-cta {
  white-space: nowrap;
}

/* Nav-Offcanvas */

.offcanvas-menu {
  position: fixed;
  inset: 0 auto 0 0;
  inline-size: 100%;
  max-inline-size: 28.125rem;
  min-block-size: 100dvh;
  background-color: var(--bg-cream-100);
  z-index: var(--z-index-modal);
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  transition:
    -webkit-transform 400ms ease,
    transform 400ms ease;
  will-change: transform;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2rem 1.5rem;
  scroll-behavior: smooth;
}
.offcanvas-menu.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.offcanvas-nav .dropdown-toggle::after {
  content: none;
}
@media screen and (max-width: 991px) {
  body.offcanvas-open {
    overflow: hidden;
    touch-action: none;
  }
  .offcanvas-menu {
    --oc-accent: #fff;
  }
  #navtoggler {
    cursor: pointer;
    inline-size: 2.375rem;
    block-size: 2.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
    margin-inline-end: 1rem;
  }
  .menu-lines {
    inline-size: 1.25rem;
    block-size: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .menu-line {
    block-size: 0.125rem;
    background-color: var(--main-color);
    transition:
      -webkit-transform 300ms ease,
      transform 300ms ease,
      opacity 300ms ease;
  }
  #offcanvas-glow {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    block-size: 40dvh;
    pointer-events: none;
    z-index: 0;
  }
  #offcanvas-glow::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    block-size: 100%;
    background:
      radial-gradient(
        95% 55% at 50% 0%,
        color-mix(in srgb, var(--oc-accent) 25%, transparent) 0%,
        transparent 75%
      ),
      radial-gradient(
        140% 95% at 50% 0%,
        color-mix(in srgb, var(--oc-accent) 25%, transparent) 0%,
        transparent 75%
      );
    filter: blur(30px);
  }
  .offcanvas-header {
    position: relative;
    z-index: 1;
    margin-block: 0 2rem;
    display: flex;
    justify-content: end;
    align-items: center;
  }
  .offcanvas-close {
    inline-size: 3.25rem;
    block-size: 3.25rem;
    border: 1.5px solid var(--main-color);
    background: transparent;
    border-radius: 50%;
    position: relative;
    transition:
      -webkit-transform 250ms ease,
      transform 250ms ease;
  }
  .offcanvas-close .close-line {
    display: block;
    inline-size: 1.125rem;
    block-size: 0.125rem;
    background: var(--main-color);
    position: absolute;
  }
  .offcanvas-close .close-line:first-child {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .offcanvas-close .close-line:last-child {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .offcanvas-close:hover {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
  }
  .offcanvas-close:focus,
  .offcanvas-close:focus-visible {
    outline: none;
  }
  .offcanvas-nav {
    position: relative;
    z-index: 1;
  }
  .offcanvas-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .offcanvas-list > li {
    margin-block-end: 1.1rem;
  }
  .offcanvas-nav a,
  .offcanvas-nav button {
    font-size: clamp(1.3rem, 1.8vw, 1.8rem);
    color: var(--main-color);
    text-align: start;
    text-decoration: none;
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    inline-size: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    transition: color 200ms ease;
  }
  .offcanvas-nav a:hover,
  .offcanvas-nav button:hover {
    color: var(--main-color-hover);
  }
  .offcanvas-nav a:focus-visible,
  .offcanvas-nav button:focus-visible {
    outline: 0.125rem dashed var(--main-color-hover);
    outline-offset: 0.25rem;
  }
  .offcanvas-chevron {
    inline-size: 0.9rem;
    block-size: 0.9rem;
    border-inline-end: 2px solid currentColor;
    border-block-end: 2px solid currentColor;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-inline-start: 0.75rem;
    transition:
      -webkit-transform 300ms ease,
      transform 300ms ease;
    flex: 0 0 auto;
  }
  .has-dropdown.open > .dropdown-toggle .offcanvas-chevron {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .has-dropdown.open > .dropdown-toggle {
    color: var(--main-color-hover);
    border: 0;
    box-shadow: none;
  }
  .offcanvas-nav .dropdown-toggle:focus,
  .offcanvas-nav .dropdown-toggle:focus-visible,
  .offcanvas-nav .dropdown-toggle:active,
  .offcanvas-nav .dropdown-toggle:focus-within {
    outline: none;
    box-shadow: none;
    border: 0;
  }
  .dropdown {
    max-block-size: 0;
    overflow: hidden;
    opacity: 0;
    padding-block: 0;
    -webkit-transform: translateY(-0.25rem);
    transform: translateY(-0.25rem);
    transition:
      max-block-size 360ms ease,
      opacity 200ms ease,
      padding 200ms ease,
      -webkit-transform 200ms ease,
      transform 200ms ease;
    will-change: max-block-size, opacity, transform;
  }
  .dropdown.active {
    max-block-size: 2000px;
    opacity: 1;
    padding-block: 1rem 0.25rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .dropdown.level-1 > li > a {
    font-size: inherit;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    padding-block: 0.5rem;
    border-block-end: 1px solid
      color-mix(in srgb, var(--main-color) 35%, transparent);
    color: var(--main-color);
  }
  .dropdown.level-1 > li:last-child > a {
    border-block-end: 0;
  }
  .dropdown.level-1 > li > a:hover {
    color: var(--main-color-hover);
  }
  .offcanvas-cta {
    margin-block-start: 1.5rem;
  }
  .offcanvas-cta a.cta-link {
    padding-block: var(--_pad-y);
    padding-inline: var(--_pad-x);
    border: 1px solid var(--_bd, currentColor);
    background-color: transparent;
    justify-content: space-between;
  }
  .offcanvas-cta a.cta-link__dark:hover,
  .offcanvas-cta a.cta-link__dark:focus-visible {
    color: var(--white);
  }
  nav.offcanvas-channels {
    position: relative;
    z-index: 1;
  }
  .offcanvas-channels__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 0.75rem;
  }
  a.offcanvas-channels__link {
    --_s: calc(2.5rem * 4 / 3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--_s);
    block-size: var(--_s);
    border-radius: 9999px;
    font-size: calc(1rem * 4 / 3);
    background-color: var(--white);
    color: var(--main-color);
    border-bottom: 0;
    transition:
      background-color 220ms ease,
      color 220ms ease;
  }
  a.offcanvas-channels__link:hover {
    background-color: var(--main-color);
    color: var(--white);
  }
}
@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .offcanvas-menu,
  .dropdown {
    transition: none;
  }
}

/* Hero ............................................................... */

.hero-section {
  position: relative;
  z-index: var(--z-index-above);
}
.hero__wrap {
  --hero-indent: clamp(4.2rem, calc(3.2rem + 4.6vw), 11rem);
  position: relative;
  block-size: 72vh;
  min-block-size: 750px;
  overflow: hidden;
}
.hero__heading {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  z-index: var(--z-index-above);
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
}
.hero__heading h1 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  line-height: 0.82;
  font-size: clamp(2.778rem, calc(2rem + 4.375vw), 6.667rem);
  margin: 0;
}
.hero-heading__indent {
  display: block;
  padding-inline-start: var(--hero-indent);
}
.hero__media {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: 0;
  z-index: var(--z-index-default);
  inline-size: clamp(25.556rem, calc(19.556rem + 33.75vw), 55.556rem);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
}
.hero__media picture,
.hero__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.hero__brand {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: clamp(1.25rem, calc(1.05rem + 1vw), 2.5rem);
  z-index: var(--z-index-above);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
}
.hero__brand-text {
  display: block;
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  color: var(--text-cream-100);
  font-size: clamp(3.333rem, calc(0.667rem + 15vw), 16.667rem);
  line-height: 1;
  opacity: 0.7;
}
.hero__intro {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 0;
  z-index: var(--z-index-above);
  max-inline-size: 17.5rem;
  text-align: left;
}
.hero-intro-paragraph {
  margin-block-start: 0.75rem;
}
.hero-intro-paragraph p {
  margin: 0;
  font-size: 0.89rem;
}
.hero-channels {
  position: absolute;
  inset-inline-end: 0;
  inset-block-end: clamp(1.75rem, calc(1.4rem + 1.2vw), 3rem);
  z-index: var(--z-index-above);
}
.hero-channels__list {
  display: grid;
  gap: 0.75rem;
}
a.hero-channels__link {
  --_s: clamp(2.5rem, calc(2.15rem + 1.6vw), 3.4375rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--_s);
  block-size: var(--_s);
  border-radius: 9999px;
  font-size: clamp(1rem, calc(0.9rem + 0.4vw), 1.25rem);
  background-color: var(--white);
  color: var(--main-color);
  border-bottom: 0;
  transition:
    background-color 220ms ease,
    color 220ms ease;
}
a.hero-channels__link:hover {
  background-color: var(--main-color);
  color: var(--white);
}
a.hero-channels__link:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}

/* Main-Content ............................................................... */

.section-bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-negative);
}
.section-bg picture,
.section-bg img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.section-bg__filter::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(65, 60, 57, 0.6);
  pointer-events: none;
}

/* Offer */

.offer__top {
  position: relative;
  padding-block-start: clamp(4.444rem, calc(3.444rem + 5.625vw), 9.444rem);
  margin-block-end: clamp(2.5rem, calc(1.778rem + 4.062vw), 6.111rem);
}
.offer__title {
  position: relative;
  z-index: var(--z-index-above);
}
.offer__title .title-box {
  display: inline-block;
}
.offer-title__indent {
  display: block;
  padding-inline-start: var(--offer-indent);
}
.offer__wrap {
  --offer-indent: clamp(5.556rem, calc(4.4rem + 5.6vw), 13.889rem);
  --offer-stagger: clamp(2.5rem, calc(2.05rem + 2.2vw), 5.556rem);
  --offer-gap: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
}
.section-title__offer {
  inset-inline-end: 0;
  inset-block-start: 0;
}
.offer__grid {
  display: grid;
  grid-template-columns: 0.7fr 1fr 1fr;
  gap: var(--offer-gap);
  align-items: start;
}
.offer-card {
  display: grid;
  gap: 1.1rem;
}
.offer-card__one {
  margin-block-start: var(--offer-stagger);
}
.offer-card__two {
  margin-block-start: 0;
}
.offer-card__three {
  margin-block-start: calc(var(--offer-stagger) * 2.8);
}
.offer-card__media {
  overflow: hidden;
  border-radius: var(--radius-sm);
}
.offer-card__media picture,
.offer-card__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.offer-card__heading h3 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: clamp(1.444rem, calc(1.333rem + 0.625vw), 2rem);
  margin-block-end: 1rem;
}
.offer-paragraph {
  max-inline-size: 22rem;
}
.offer-paragraph p {
  margin: 0;
  font-size: 0.94rem;
}
.offer__decor {
  inset-inline-start: 0;
  inset-block-end: clamp(0.75rem, calc(0.55rem + 1vw), 1.5rem);
}

/* Techniques */

.techniques__top {
  --tech-space: clamp(2.5rem, calc(2.167rem + 1.875vw), 4.167rem);
}
.techniques__top-inner {
  display: flex;
  align-items: flex-end;
  gap: clamp(1.5rem, calc(1.2rem + 1.4vw), 3rem);
}
.techniques__intro {
  flex: 0 0 65%;
  max-inline-size: none;
  margin-inline: 0;
}
.techniques__title {
  text-align: start;
  max-inline-size: 100%;
}
.techniques__title .section-title__text {
  white-space: normal;
  text-wrap: balance;
  max-inline-size: 100%;
  opacity: 0.4;
}
.techniques-intro-paragraph {
  flex: none;
  inline-size: 34ch;
}
.techniques-intro-paragraph p {
  margin: 0;
  font-size: 0.89rem;
}
.techniques__body {
  --tech-lift: clamp(1.25rem, calc(0.95rem + 1.6vw), 2.5rem);
  margin-block-start: calc(-1 * var(--tech-lift));
  padding-top: 3rem;
}
.techniques__nav {
  /*padding-block: clamp(2.5rem, calc(2.05rem + 2.2vw), 5.556rem);*/
  padding-block: 0;
}
.techniques__side-title {
  margin-block-end: clamp(1.25rem, calc(1.05rem + 1vw), 2rem);
}
.techniques__side-title h2 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: clamp(2rem, calc(1.6rem + 2.25vw), 3.25rem);
  line-height: 1.08;
  margin: 0;
}
.techniques__switch {
  margin-block-start: 0.35rem;
}
.nav-switch {
  gap: 0.65rem;
  row-gap: 0.65rem;
  column-gap: 1.25rem;
}
.nav-switch .nav-item {
  margin: 0;
}
.nav-switch-link {
  position: relative;
  padding: 0;
  border: 0;
  border-radius: 0;
  font-size: 1rem;
  color: var(--main-color);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  transition: color 200ms ease;
  outline:none !important;
}
.nav-switch-link:hover {
  color: var(--main-color-hover);
}
.nav-switch-link:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}
.nav-switch-link::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: -0.15rem;
  inline-size: 0;
  block-size: 0.083rem;
  background-color: currentColor;
  opacity: 0;
  transition:
    inline-size 240ms ease,
    opacity 240ms ease;
}
.nav-switch-link.active::before,
.nav-switch-link:hover::before {
  inline-size: 100%;
  opacity: 1;
}
.nav-switch-link::after {
  content: "";
  inline-size: clamp(1.389rem, calc(1.23rem + 0.75vw), 2.222rem);
  block-size: clamp(1.389rem, calc(1.23rem + 0.75vw), 2.222rem);
  margin-inline-start: 0.65rem;
  background-image: url("../images/arrow-right.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  -webkit-transform: translateX(-0.25rem);
  transform: translateX(-0.25rem);
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}
.nav-switch-link.active::after,
.nav-switch-link:hover::after {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.tech-panel {
  background-color: var(--bg-rose-100);
}
.tech-panel__content {
  padding-block: clamp(2rem, calc(1.6rem + 2vw), 3.5rem);
  padding-inline: clamp(1.667rem, calc(1.25rem + 2.2vw), 3.333rem);
}
.tech-panel__count {
  margin-block-end: 1rem;
  line-height: 1;
}
.tech-count__main {
  font-size: clamp(1.667rem, calc(1.333rem + 1vw), 3rem);
}
.tech-count__muted {
  font-size: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
  color: color-mix(in srgb, var(--main-color) 40%, transparent);
  margin-inline-start: 0.25rem;
}
.tech-panel-paragraph {
  max-inline-size: 26rem;
  margin-block-start: clamp(1.5rem, calc(1.2rem + 0.938vw), 2rem);
  margin-block-end: clamp(2rem, calc(1.5rem + 1vw), 2rem);
}
.tech-panel-paragraph p {
  margin: 0;
}

/* About */

.about__content {
  --about-pad: clamp(2.5rem, calc(2.05rem + 2.2vw), 5.556rem);
  padding-block-start: calc(var(--about-pad) * 2.5);
  padding-block-end: var(--about-pad);
  padding-inline-start: var(--about-pad);
  padding-inline-end: 0;
}
.about__content .title-box small {
  display: block;
  padding-inline-start: clamp(5.556rem, calc(4.4rem + 5.6vw), 13.889rem);
}
.about-paragraph {
  max-inline-size: 30rem;
  margin-block-start: clamp(2.5rem, calc(2.111rem + 2.188vw), 4.444rem);
  margin-block-end: clamp(1.667rem, calc(1.333rem + 1.875vw), 3.333rem);
}
.section-title__about {
  inset-inline-start: 50%;
  inset-block-start: clamp(3.333rem, calc(2.667rem + 3.75vw), 6.667rem);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* Highlights-Strip */

.highlights-strip {
  position: relative;
  inset-inline-start: -5%;
  inline-size: calc(100% + 10%);
  overflow: hidden;
  padding-block: clamp(1rem, calc(0.8rem + 1.25vw), 2rem);
}
.highlights-strip__wrapper {
  overflow: hidden;
  display: flex;
}
.highlights-strip__track {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.highlights-strip__item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.highlights-strip__text {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: clamp(1.5rem, calc(1.2rem + 1.875vw), 3rem);
  line-height: 1.1;
}
.highlights-strip__icon img {
  inline-size: var(--decor-icon-size);
  block-size: var(--decor-icon-size);
  flex-shrink: 0;
  margin-inline: clamp(1rem, 2vw, 2.5rem);
}

/* Feature-Banner */

.feature-banner__wrap {
  --feature-pad: clamp(2.5rem, calc(2.05rem + 2.2vw), 5.556rem);
  --feature-indent: clamp(5.556rem, calc(4.4rem + 5.6vw), 13.889rem);
  --bg-radius: 1rem;
  --bg-radius-max: clamp(3.333rem, calc(2.2rem + 6vw), 12.778rem);
  padding-block: calc(var(--feature-pad) * 1.2);
  padding-inline: var(--feature-pad);
}
.feature-banner__bg {
  border-radius: var(--bg-radius);
  overflow: hidden;
  transition: border-radius 0.4s ease;
}
.feature-banner__content {
  position: relative;
  z-index: var(--z-index-above);
  max-inline-size: 46rem;
  margin-inline: auto;
}
.feature-banner__content .title-box small {
  display: block;
  padding-inline-start: var(--feature-indent);
}
.feature-banner-paragraph {
  max-inline-size: 40rem;
  padding-inline-start: var(--feature-indent);
  margin-block-start: 1.25rem;
  margin-block-end: 1.75rem;
}
.feature-banner__content a.cta-link {
  margin-inline-start: var(--feature-indent);
}

/* Academy */

.academy__top {
  --academy-space: clamp(2.5rem, calc(2.167rem + 1.875vw), 4.167rem);
  padding-block-end: var(--academy-space);
  margin-block-end: var(--academy-space);
  border-block-end: 1px solid var(--main-color);
}
.academy__top-inner {
  display: flex;
  align-items: flex-end;
  gap: clamp(1.5rem, calc(1.2rem + 1.4vw), 3rem);
}
.academy__intro {
  flex: 1 1 65%;
  max-inline-size: none;
  margin-inline: 0;
}
.academy__title {
  flex: 0 0 35%;
  text-align: end;
  max-inline-size: 100%;
}
.academy__title .section-title__text {
  white-space: normal;
  text-wrap: balance;
  max-inline-size: 100%;
}
.academy-intro-paragraph {
  flex: none;
  inline-size: 30ch;
}
.academy-intro-paragraph p {
  margin: 0;
  font-size: 0.89rem;
}
.academy__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
}
a.academy-card {
  --academy-card-fs: clamp(1.444rem, calc(1.333rem + 0.625vw), 2rem);
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
  border-bottom: 0;
  text-decoration: none;
  color: var(--white);
  min-block-size: clamp(18.518rem, calc(16.267rem + 9.333vw), 25.185rem);
}
a.academy-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: var(--z-index-above);
}
.academy-card__bg,
.academy-card__bg picture,
.academy-card__bg img {
  position: absolute;
  inset: 0;
}
.academy-card__bg picture,
.academy-card__bg img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.academy-card__visible {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  padding: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
  z-index: var(--z-index-above);
}
.academy-card__visible-title h3 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: var(--academy-card-fs);
  line-height: 1.2;
  margin: 0;
}
.academy-card__hidden {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.25rem, calc(1.05rem + 1vw), 2.25rem);
  background-color: var(--bg-rose-100);
  color: var(--main-color);
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(1.111rem);
  transform: translateY(1.111rem);
  transition:
    opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1),
    visibility 0.4s cubic-bezier(0.65, 0, 0.35, 1),
    transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  z-index: var(--z-index-above);
}
.academy-card__hidden-title h3 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: var(--academy-card-fs);
  line-height: 1.2;
  margin-block-end: 1rem;
  text-align: left;
}
.academy-card-paragraph p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
}
.text-arrow-static {
  --_arrow-size: clamp(1.389rem, calc(1.23rem + 0.75vw), 2.222rem);
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  align-self: flex-start;
}
.text-arrow-static__text {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.text-arrow-static__arrow {
  inline-size: var(--_arrow-size);
  block-size: var(--_arrow-size);
  flex: 0 0 auto;
}
.text-arrow-static__arrow img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
a.academy-card:hover .academy-card__hidden,
a.academy-card:focus-visible .academy-card__hidden {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* FAQ */

.faq__content {
  --faq-pad: clamp(2.5rem, calc(2.05rem + 2.2vw), 5.556rem);
  --faq-indent: clamp(5.556rem, calc(4.4rem + 5.6vw), 13.889rem);
  padding-inline-start: var(--faq-pad);
  padding-block-end: clamp(2rem, calc(1.6rem + 2vw), 4rem);
}
.faq__intro {
  max-inline-size: 19rem;
  margin-inline-start: auto;
  text-align: left;
}
.faq-intro-paragraph {
  margin-block-start: 0.75rem;
}
.faq-intro-paragraph p {
  margin: 0;
  font-size: 0.89rem;
}
.faq__title {
  margin-block-start: clamp(1.75rem, calc(1.4rem + 1.6vw), 2.75rem);
  margin-block-end: clamp(1.5rem, calc(1.25rem + 1.2vw), 2.25rem);
}
.faq__title .title-box {
  display: inline-block;
}
.faq-title__indent {
  display: block;
  padding-inline-start: var(--faq-indent);
}
.widget-faq {
  max-inline-size: 48rem;
}
.widget-faq .faq__items .card {
  position: relative;
  background-color: transparent;
  border: 0;
}
.widget-faq .faq__items .card::after {
  position: absolute;
  inset-block-end: 1px;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  content: "";
  background-color: color-mix(
    in srgb,
    var(--main-color-hover) 70%,
    var(--main-color)
  );
}
.widget-faq .faq__items .card .card-header {
  background-color: transparent;
  padding: 0;
  border-bottom: 0 !important;
}
.faq__question {
  margin: 0;
}
.widget-faq .faq__items .card .card-header .btn-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: clamp(0.95rem, calc(0.92rem + 0.12vw), 1.05rem);
  font-weight: var(--fw-medium);
  color: var(--main-color);
  padding-block: clamp(0.55rem, calc(0.5rem + 0.4vw), 0.9rem);
  padding-inline: 0;
  border-radius: 0;
  box-shadow: none;
  inline-size: 100%;
  text-decoration: none;
  transition: color 200ms ease;
}
.widget-faq .faq__items .card .card-header .btn-link span {
  padding-inline-end: 1rem;
}
.widget-faq .faq__items .card .card-header .btn-link i {
  --faq-ico: clamp(1.5rem, calc(1.2rem + 1vw), 1.875rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--faq-ico);
  block-size: var(--faq-ico);
  border-radius: 9999px;
  background-color: var(--bg-rose-100);
  font-size: 1.25rem;
  transition:
    background-color 220ms ease,
    transform 300ms ease;
  -webkit-transition:
    background-color 220ms ease,
    -webkit-transform 300ms ease;
}
.widget-faq .faq__items .card .card-header .btn-link:hover {
  color: color-mix(in srgb, var(--main-color-hover) 70%, var(--main-color));
}
.widget-faq .faq__items .card .card-header .btn-link:focus-visible {
  outline: 2px dashed color-mix(in srgb, var(--main-color-hover) 75%, #000 25%);
  outline-offset: 4px;
}
.widget-faq .faq__items .card .card-header .btn-link[aria-expanded="true"] i {
  background-color: var(--bg-rose-200);
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}
.widget-faq .faq__items .card .card-body {
  background-color: transparent;
  padding: 1.25rem 0;
  line-height: 1.65;
  text-wrap: pretty;
  text-align: left;
}

/* Footer ............................................................... */

.site-footer {
  font-size: 0.89rem;
}
.footer__container {
  padding-block-end: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
}
.footer {
  --footer-pad: clamp(1.667rem, calc(1.111rem + 3.125vw), 4.444rem);
  --footer-gap: clamp(1.25rem, calc(1.05rem + 1vw), 2rem);
  padding-block-start: calc(var(--footer-pad) * 1.35);
  padding-block-end: var(--footer-pad);
  padding-inline: calc(var(--footer-pad) * 1.35);
}
.footer a {
  border-block-end: 0;
}
.footer__top {
  margin-block-end: clamp(1.944rem, calc(1.611rem + 1.875vw), 3.611rem);
}
.footer__headline {
  max-inline-size: 52rem;
  margin-inline: auto;
  margin-block-end: clamp(1.75rem, calc(1.4rem + 1.6vw), 2.75rem);
}
.footer__headline h3 {
  font-family: var(--ff-title);
  font-weight: var(--fw-light);
  font-size: clamp(1.333rem, calc(1.12rem + 1.25vw), 2.111rem);
  line-height: 1.25;
  margin: 0;
}
.footer__cols {
  margin-block-start: 0;
}
.footer__col-title {
  margin-block-end: 0.9rem;
}
.footer__col-title h3 {
  font-size: 0.78rem;
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  margin: 0;
}
.footer__address address {
  margin: 0;
  font-style: normal;
}
.footer__bottom {
  font-size: 0.84rem;
}
.footer__inline .list-inline-item:not(:last-child) {
  margin-inline-end: 0.5rem;
}
.footer__inline .list-inline-item:not(:last-child)::after {
  content: "|";
  padding-inline-start: 0.5rem;
  color: currentColor;
}
a.footer-link:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}

/* RESPONSIVE STRUCTURE
--------------------------------------- */

@media screen and (max-width: 1920px) {
  :root {
    --hero-pad: max(1rem, 4%);
  }
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 1440px) {
  .header-bar {
    gap: 2rem;
  }
}

@media screen and (max-width: 1366px) {
  html {
    font-size: 14px;
  }
  .hero__wrap {
    min-block-size: 630px;
  }
}

@media screen and (max-width: 1200px) {
  .header-phone__text {
    display: none;
  }
  .mainNavigation .navbar-nav {
    gap: clamp(0.35rem, calc(0.25rem + 0.7vw), 0.85rem);
  }
  .header-cta .cta-link__arrow {
    display: none;
  }
  .hero__wrap {
    min-block-size: initial;
  }
  .hero-heading__indent {
    padding-inline-start: 0;
  }
}

@media screen and (max-width: 991px) {
  :root {
    --hero-pad: 1rem;
  }
  .hero-shell__bg__left {
    inline-size: 100%;
  }
  .hero-shell__bg__right {
    display: none;
  }
  .header {
    --b-size: 2rem;
    position: relative !important;
    background-color: var(--white);
    padding-block: 1.25rem !important;
    -webkit-box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.05);
    box-shadow: 0 12px 6px -6px rgba(0, 0, 0, 0.05);
    -webkit-animation: none !important;
    animation: none !important;
  }
  .main-logo {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 1rem;
    inline-size: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .main-logo img {
    inline-size: 4rem !important;
  }
  .header-actions {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 5.5rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .mainNavigation {
    display: none;
  }
  .header-cta {
    display: none !important;
  }
  .hero__wrap {
    block-size: auto;
    padding-block-start: 2rem;
  }
  .hero__heading {
    position: relative;
    inset: auto;
    -webkit-transform: none;
    transform: none;
    text-align: center;
    margin-block-end: 1.25rem;
  }
  .hero-heading__indent {
    display: inline;
  }
  .hero__intro {
    position: relative;
    inset: auto;
    margin-inline: auto;
    max-inline-size: 100%;
    text-align: center;
    margin-block-end: 1.25rem;
  }
  .hero__media {
    position: relative;
    inset: auto;
    inline-size: min(100%, 26rem);
    margin-inline: auto;
    -webkit-transform: none;
    transform: none;
  }
  .hero__brand {
    display: none;
  }
  .hero-channels {
    display: none;
  }
  .section-title__offer {
    inset-inline-end: 50%;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
  .offer-title__indent {
    padding-inline-start: 0;
  }
  .offer__grid {
    grid-template-columns: 1fr;
    gap: clamp(1.25rem, calc(1rem + 1.4vw), 2rem);
  }
  .offer-card__one,
  .offer-card__two,
  .offer-card__three {
    margin-block-start: 0;
  }
  .offer-paragraph {
    max-inline-size: 100%;
  }
  .offer__decor {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
  .techniques__top {
    margin-block-end: clamp(2rem, calc(1.6rem + 2vw), 3.5rem);
  }
  .techniques__top-inner {
    display: block;
    gap: clamp(1.25rem, calc(1rem + 1.6vw), 2.5rem);
  }
  .techniques__intro {
    max-inline-size: 100%;
    margin-inline: auto;
  }
  .techniques__title {
    text-align: center;
  }
  .techniques__title .section-title__text {
    font-size: clamp(2.5rem, calc(1.5rem + 6vw), 8rem);
    opacity: 1;
  }
  .techniques-intro-paragraph {
    margin-inline: auto;
    max-inline-size: 18rem;
    inline-size: auto;
  }
  .techniques__body {
    margin-block-start: 0;
  }
  .techniques__nav {
    padding-block: 0;
    margin-block-end: 1.5rem;
    text-align: center;
  }
  .nav-switch {
    justify-content: center;
  }
  .nav-switch-link::after {
    display: none;
  }
  .feature-banner__wrap {
    padding-inline: 1rem;
  }
  .academy__top-inner {
    display: block;
    gap: clamp(1.25rem, calc(1rem + 1.6vw), 2.5rem);
  }
  .academy__intro {
    max-inline-size: 100%;
    margin-inline: auto;
  }
  .academy__title {
    text-align: center;
  }
  .academy__title .section-title__text {
    font-size: clamp(2.5rem, calc(1.5rem + 6vw), 8rem);
  }
  .academy-intro-paragraph {
    margin-inline: auto;
    max-inline-size: 18rem;
  }
  .academy__top {
    margin-block-start: 0;
  }
  .academy__grid {
    grid-template-columns: 1fr;
  }
  .academy-card__hidden {
    display: none !important;
  }
  .faq__content {
    padding-inline-start: 0;
  }
  .faq__intro {
    margin-inline: auto;
    text-align: center;
  }
  .faq-title__indent {
    padding-inline-start: 0;
  }
  .faq__title .title-box {
    display: block;
  }
  .widget-faq {
    max-inline-size: 100%;
  }
}

@media screen and (max-width: 767px) {
  .pos-relative-mobile {
    position: relative;
  }
  .container_bg_img {
    inset-inline: 0;
    inline-size: 100%;
    block-size: auto;
  }
  [class*="paragraph"] {
    max-inline-size: 100%;
  }
  .section-title__text {
    white-space: normal;
    text-wrap: balance;
  }
  .section-title__pos-left {
    inset-inline-start: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .offer__top {
    padding-block-start: clamp(2rem, calc(1.622rem + 2.125vw), 3.889rem);
  }
  .about__content {
    padding-block-start: var(--about-pad);
    padding-block-end: 0;
    padding-inline-start: 0;
  }
  .about__content .title-box small {
    padding-inline-start: 0;
  }
  .section-title__about {
    inset-block-start: 0.5rem;
  }
  .nav-switch {
    row-gap: 0.85rem;
    column-gap: 1.5rem;
  }
  .feature-banner__wrap {
    --feature-indent: 0;
    padding-block: clamp(2rem, calc(1.6rem + 2vw), 3rem);
  }
  .feature-banner__content {
    padding-inline: 0;
  }
  .feature-banner-paragraph {
    margin-inline: auto;
  }
  .footer {
    padding-inline: clamp(1.25rem, calc(1.05rem + 1.2vw), 1.667rem);
  }
  .footer__headline {
    margin-block-end: 1.75rem;
  }
}

@media screen and (max-width: 575px) {
  a.cta-link {
    gap: 1rem;
    padding-inline: clamp(1.111rem, calc(0.98rem + 0.8vw), 1.667rem);
  }
  .cta-link__text {
    font-size: 0.944rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
