@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: "arsenal", var(--default-font-family);
  --fw-regular: 400;
  --fw-medium: 500;
  --size: 15px;
  --layout-pad-inline: clamp(1.667rem, calc(0.889rem + 4.375vw), 5.556rem);
  --radius: clamp(0.778rem, calc(0.711rem + 0.375vw), 1.111rem);
  --radius-xl: calc(var(--radius) * 1.5);
  --decor-icon-size: clamp(1.389rem, calc(1.19rem + 0.95vw), 2.222rem);
  --decor-circle-size: clamp(6.667rem, calc(3.556rem + 17.5vw), 22.222rem);
  --white: #fff;
  --black: #000;
  --main-color: #333; /* text */
  --main-color-hover: #ffae66; /* text hover */
  --main-bg-color: #fff; /* bg */
  /* Background palette */
  --bg-sage-50: #edeffe;
  --bg-cream-50: #fef4eb;
  --bg-cream-100: #dbe3ff;
  --bg-lavender-50: #e6e8fd;
  --bg-mint-50: #d8fae9;
  --bg-periwinkle-600: #7181bc;
  --bg-apricot-400: #feae65;
  --bg-indigo-700: #52639b;
  --z-index-negative: -10;
  --z-index-behind: -2;
  --z-index-default: 0;
  --z-index-above: 2;
  --z-index-dropdown: 100;
  --z-index-modal: 1000;
}

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);
}

.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;
}


:is(h1, h2, h3, h4) {
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
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 {
  --cta-padding-block: clamp(0.9rem, calc(0.75rem + 0.45vw), 1.2rem);
  --cta-padding-inline: clamp(1.8rem, calc(1.4rem + 1.4vw), 2.7rem);
  --cta-bg: var(--bg-sage-50);
  --cta-text-color: var(--main-color);
  --cta-hover-overlay: var(--bg-cream-50);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--cta-padding-block);
  padding-inline: var(--cta-padding-inline);
  font-family: var(--ff-paragraph);
  font-size: 0.89rem;
  font-weight: var(--fw-medium);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 9999px;
  border: 0;
  border-block-end: 0;
  background-color: var(--cta-bg);
  color: var(--cta-text-color);
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  transition: color 220ms ease-in-out;
}
a.cta-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--cta-hover-overlay);
  opacity: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  transition:
    opacity 260ms ease-in-out,
    -webkit-transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
  z-index: var(--z-index-behind);
}
a.cta-link:hover::before {
  opacity: 1;
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
a.cta-link:hover {
  color: var(--cta-text-color);
}
a.cta-link:focus-visible {
  outline: 2px dashed var(--main-color-hover);
  outline-offset: 4px;
}
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(2.5rem, calc(1.889rem + 3.438vw), 5.556rem);
}
.img-object-cover {
  object-fit: cover;
}
.isolation {
  isolation: isolate;
}
.pos-relative-mobile {
  position: absolute;
}
.radius-xl {
  border-radius: var(--radius-xl);
}
.row-gutters-lg {
  --gutter-lg: clamp(1rem, calc(0.7rem + 1.688vw), 2.5rem);
  margin-inline: calc(-1 * var(--gutter-lg));
}
.row-gutters-lg > [class^="col-"],
.row-gutters-lg > [class*=" col-"] {
  padding-inline: var(--gutter-lg);
}
.row-gutters-sm {
  --gutter-sm: clamp(0.444rem, calc(0.367rem + 0.438vw), 0.833rem);
  margin-inline: calc(-1 * var(--gutter-sm));
}
.row-gutters-sm > [class^="col-"],
.row-gutters-sm > [class*=" col-"] {
  padding-inline: var(--gutter-sm);
}
.container_bg__periwinkle {
  background-color: var(--bg-periwinkle-600);
}
.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;
  filter: invert(75%) sepia(36%) saturate(781%) hue-rotate(329deg)
    brightness(99%) contrast(103%);
}

.decor-circle {
  position: absolute;
  inline-size: var(--decor-circle-size);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--bg-apricot-400);
  pointer-events: none;
}
.decor-circle__01 {
  inset-block-start: 0;
  inset-inline-end: 0;
  mix-blend-mode: multiply;
  z-index: var(--z-index-above);
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
.decor-circle__02 {
  inset-block-end: clamp(1.667rem, calc(1.444rem + 1.25vw), 2.778rem);
  inset-inline-start: 32vw;
  mix-blend-mode: overlay;
  z-index: var(--z-index-above);
}

.title-box {
  --title-box-fs: clamp(2rem, calc(1.733rem + 1.5vw), 3.333rem);
  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: var(--title-box-fs);
}
.title-box__xl :is(h1, h2) {
  font-size: calc(var(--title-box-fs) * 1.17);
}

/* Animate */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes zoomInCustom {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes zoomInCustom {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.zoomInCustom {
  -webkit-animation-name: zoomInCustom;
  animation-name: zoomInCustom;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* Header ............................................................... */

.header {
  --ml-size: clamp(5.556rem, calc(4.667rem + 5vw), 10rem);
  --nav-fs: clamp(0.667rem, calc(0.622rem + 0.25vw), 0.889rem);
  --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: 1rem;
  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__container {
  padding-inline: var(--layout-pad-inline);
}
.header-bar {
  gap: clamp(1rem, calc(0.533rem + 2.625vw), 3.333rem);
  align-items: center;
  padding-inline-start: calc(
    var(--ml-size) + clamp(2.5rem, calc(1.5rem + 3vw), 9.375rem)
  );
}
.main-logo {
  position: absolute;
  inset-block-start: clamp(0.556rem, calc(0.444rem + 0.625vw), 1.667rem);
  inset-inline-start: var(--layout-pad-inline);
  inline-size: var(--ml-size);
  z-index: var(--z-index-dropdown);
}
.header.scroll .main-logo {
  inset-block-start: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.main-logo img {
  inline-size: 100%;
  block-size: auto;
}
.main-logo.scroll img {
  inline-size: calc(var(--ml-size) / 2.5);
}
.header.scroll .header-bar {
  padding-inline-start: 0;
}
.mainNavigation {
  padding: 0;
}
.mainNavigation .navbar-nav {
  margin: 0;
  gap: clamp(0.5rem, calc(0.4rem + 0.562vw), 1rem);
}
.mainNavigation .nav-link {
  position: relative;
  font-size: var(--nav-fs);
  line-height: clamp(1.875rem, calc(1.5rem + 1vw), 2.5rem);
  padding: 0 !important;
  border-block-end: 0;
  text-transform: uppercase;
  color: var(--main-color) !important;
}
.mainNavigation .dropdown-toggle::after {
  display: none;
}
.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(--main-color);
  line-height: 1.9;
  background-color: var(--bg-cream-100);
  margin-inline-start: 0;
  border-block-end: 0.0625rem solid
    color-mix(in srgb, var(--bg-cream-100) 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: var(--bg-apricot-400);
}
.header-cta {
  font-size: var(--nav-fs);
  padding-block: clamp(0.55rem, calc(0.5rem + 0.25vw), 0.75rem);
  padding-inline: clamp(0.667rem, calc(0.6rem + 0.375vw), 1rem) !important;
}
.header-contact {
  display: flex;
  align-items: center;
  gap: clamp(0.667rem, calc(0.556rem + 0.625vw), 1.222rem);
}
a.header-contact__link:link,
a.header-contact__link:visited {
  display: inline-flex;
  align-items: center;
  gap: 0.667rem;
  color: var(--main-color) !important;
  border-block-end: 0;
  transition: color 220ms ease;
}
a.header-contact__link:focus-visible {
  outline: 0.125rem dashed var(--main-color-hover);
  outline-offset: 0.25rem;
}
.header-contact__icon {
  --header-icon-dim: clamp(1.778rem, calc(1.6rem + 0.7vw), 2.222rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--header-icon-dim);
  block-size: var(--header-icon-dim);
  border-radius: 9999px;
  background-color: var(--bg-cream-50);
  flex: none;
  transition: background-color 220ms ease-in-out;
}
a.header-contact__link:hover .header-contact__icon {
  background-color: var(--bg-apricot-400);
}
.header-contact__icon img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.header-contact__text {
  font-size: var(--nav-fs);
  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-50);
  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:not(.cta-link),
  .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:not(.cta-link):hover,
  .offcanvas-nav button:hover {
    color: var(--main-color-hover);
  }
  .offcanvas-nav a:not(.cta-link):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 {
    --cta-hover-overlay: var(--bg-periwinkle-600);
    --cta-text-color: var(--main-color);
    inline-size: 100%;
    justify-content: center;
    border: 0;
    border-block-end: 0;
    font-size: 0.89rem;
    padding-block: clamp(0.75rem, calc(0.65rem + 0.5vw), 0.95rem);
    padding-inline: clamp(1.3rem, calc(1.1rem + 1.2vw), 2.1rem);
  }
  .offcanvas-cta a.cta-link:hover {
    color: var(--white);
  }
}
@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .offcanvas-menu,
  .dropdown {
    transition: none;
  }
}

/* Hero ............................................................... */

.slider-wrapper .owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.slider-wrapper .owl-carousel .owl-animated-in {
  z-index: 0;
}
.slider-wrapper .owl-carousel .owl-animated-out {
  z-index: 1;
}
.fadeOutScale {
  animation-name: fadeOutScale;
}
@keyframes fadeOutScale {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeInScale {
  animation-name: fadeInScale;
}
@keyframes fadeInScale {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.hero-section {
  position: relative;
  --badge-cut: clamp(0.833rem, calc(0.6rem + 1.312vw), 2rem);
  --hero-nav-pad-bs: clamp(1.111rem, calc(1rem + 0.625vw), 1.667rem);
  --hero-nav-pad-ie: clamp(1.1rem, calc(0.9rem + 1.2vw), 2rem);
  --hero-nav-max: 42rem;
  --hero-nav-gap: clamp(0.8rem, calc(0.6rem + 1vw), 1.25rem);
  --hero-thumb: clamp(3.75rem, calc(3.2rem + 2vw), 7.5rem);
}
.slider-wrapper {
  inline-size: 100%;
  block-size: 90dvh;
}
.slider-wrapper .owl-carousel,
.slider-wrapper .item {
  block-size: 90dvh;
}
.slider-wrapper-in {
  height: 40dvh !important;
}
.slider-wrapper-in .owl-carousel .owl-item img {
    object-position: top;
}

.slider-wrapper-in .owl-carousel,
.slider-wrapper-in .item {
  height: 40dvh !important;
}
.slider-wrapper #owl-slider {
  position: relative;
  z-index: var(--z-index-behind);
}
.hero-section__decor {
  inset-block-start: clamp(1.667rem, calc(0.889rem + 4.375vw), 5.556rem);
  inset-inline-end: clamp(1.667rem, calc(0.889rem + 4.375vw), 5.556rem);
}
.slider-image {
  position: absolute;
  inset: 0;
}
.hero-section__filter {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-section__filter {
  background-image: url("../images/hero-filter.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.slider-content {
  inset: 0;
  z-index: var(--z-index-above);
}
.hero-section__content {
  padding-inline: var(--layout-pad-inline);
  padding-block: clamp(2.5rem, calc(2rem + 2.2vw), 4.75rem);
  z-index: var(--z-index-above);
}
.hero-lead {
  text-align: start;
}
.hero-lead__title h1 {
  font-family: var(--ff-title);
  font-size: clamp(2rem, calc(1.4rem + 3.375vw), 5rem);
  line-height: 1.08;
  color: var(--main-color);
  text-wrap: balance;
  margin: 0;
}
.hero-lead__paragraph {
  margin-block-start: clamp(0.9rem, calc(0.75rem + 0.6vw), 1.25rem);
  font-size: clamp(0.95rem, calc(0.9rem + 0.15vw), 1.05rem);
  color: var(--main-color);
  max-inline-size: 30rem;
}
.hero-lead__paragraph p {
  margin: 0;
}
.hero-nav {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-above);
}
.hero-nav__inner {
  inline-size: 40dvw;
  max-inline-size: var(--hero-nav-max);
  padding-block-start: var(--hero-nav-pad-bs);
  padding-inline-end: var(--hero-nav-pad-ie);
  padding-inline-start: var(--layout-pad-inline);
  background-color: var(--white);
  border-start-end-radius: var(--radius-xl);
  position: relative;
}
.hero-nav__inner::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(99%);
  inline-size: var(--badge-cut);
  block-size: var(--badge-cut);
  background: radial-gradient(
    circle at top right,
    transparent 72%,
    var(--white) 73%
  );
  z-index: var(--z-index-default);
  pointer-events: none;
}
.hero-nav__row {
  gap: var(--hero-nav-gap);
}
.hero-nav__thumb {
  inline-size: var(--hero-thumb);
  block-size: var(--hero-thumb);
  border-radius: 9999px;
  overflow: hidden;
  flex: none;
}
.hero-nav__thumb img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
a.hero-nav__link:is(:link, :visited) {
  flex: 1;
  border-block-end: 2px solid var(--main-color);
  padding-block: clamp(0.7rem, calc(0.6rem + 0.3vw), 0.9rem);
  text-decoration: none;
  color: var(--main-color);
  transition: border-bottom-color 220ms ease-in-out;
}
a.hero-nav__link:hover {
  border-bottom-color: var(--main-color-hover);
}
a.hero-nav__link:focus-visible {
  outline: 2px dashed var(--main-color-hover);
  outline-offset: 4px;
}
.hero-nav__link-inner {
  gap: 0.75rem;
  flex-direction: row-reverse;
}
.hero-nav__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  flex: none;
}
.hero-nav__link-text {
  font-size: 0.95rem;
  font-weight: var(--fw-medium);
  text-align: start;
}

/* Main-Content ............................................................... */

/* Offer */

.offer-section {
  --offer-offset: clamp(3.333rem, calc(2.25rem + 6vw), 7.778rem);
  text-align: center;
}
.offer-section__paragraph {
  max-inline-size: 44rem;
  margin-inline: auto;
  margin-block-end: clamp(1rem, calc(0.867rem + 0.75vw), 1.667rem);
}
.offer-section__row {
  align-items: stretch;
}
.offer-section__col__offset {
  margin-block-start: var(--offer-offset);
}
a.offer-card {
  position: relative;
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  border-block-end: 0;
  text-decoration: none;
  color: var(--main-color);
  background-color: var(--bg-cream-50);
  transition:
    -webkit-transform 220ms ease-in-out,
    transform 220ms ease-in-out;
}
a.offer-card:focus-visible {
  outline: 2px dashed var(--main-color-hover);
  outline-offset: 4px;
}
a.offer-card.offer-card__cream {
  background-color: var(--bg-cream-50);
}
a.offer-card.offer-card__lavender {
  background-color: var(--bg-lavender-50);
}
a.offer-card.offer-card__mint {
  background-color: var(--bg-mint-50);
}
.offer-card__top {
  padding-block: clamp(1.6rem, calc(1.25rem + 1.6vw), 2.6rem);
  padding-inline: clamp(1.25rem, calc(1rem + 1.3vw), 2.25rem);
}
.offer-card__title {
  margin-block-end: 0.75rem;
}
.offer-card__title h3 {
  font-family: var(--ff-title);
  font-size: clamp(1.556rem, calc(1.422rem + 0.75vw), 2.222rem);
  line-height: 1.2;
  margin: 0;
}
.offer-card__text {
  max-inline-size: 22rem;
}
.offer-card__text p {
  margin: 0;
}
.offer-card__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
}
.offer-card__img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: var(--radius);
  transition:
    -webkit-transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 260ms ease-in-out;
}
a.offer-card:hover .offer-card__img {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
  filter: brightness(0.75);
}

/* About */

.about-section {
  position: relative;
  --badge-cut: clamp(0.833rem, calc(0.6rem + 1.312vw), 2rem);
  --about-bg: var(--bg-periwinkle-600);
  --about-space: clamp(1rem, calc(0.6rem + 2vw), 2rem);
  --about-title-pad-be: clamp(1.2rem, calc(0.9rem + 1.5vw), 2.2rem);
  --about-title-pad-ie: clamp(1.2rem, calc(0.9rem + 1.5vw), 2.2rem);
  --about-title-size: clamp(18rem, calc(14rem + 10vw), 33rem);
  --about-text-pad-bs: clamp(1.2rem, calc(0.9rem + 1.5vw), 2.2rem);
  --about-text-pad-is: clamp(1.2rem, calc(0.9rem + 1.5vw), 2.2rem);
  --about-text-size: clamp(18rem, calc(14rem + 10vw), 33rem);
  text-align: center;
}
.about-section__decor {
  inset-block-start: clamp(1rem, calc(0.644rem + 2vw), 2.778rem);
  inset-inline-end: clamp(1rem, calc(0.644rem + 2vw), 2.778rem);
}
.about-section__wrap {
  position: relative;
}
.about-section__title {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: var(--about-title-size);
  background-color: var(--about-bg);
  padding-block-end: var(--about-title-pad-be);
  padding-inline-end: var(--about-title-pad-ie);
  border-radius: 0 0 var(--radius-xl) 0;
  z-index: var(--z-index-above);
}
.about-section__title::before,
.about-section__title::after {
  content: "";
  position: absolute;
  inline-size: var(--badge-cut);
  block-size: var(--badge-cut);
  background: radial-gradient(
    circle at bottom right,
    transparent 72%,
    var(--bg-periwinkle-600) 73%
  );
  z-index: var(--z-index-default);
  pointer-events: none;
}
.about-section__title::before {
  inset-block-end: 0;
  inset-inline-start: -0.5px;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
.about-section__title::after {
  inset-block-start: -0.5px;
  inset-inline-end: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.about-section__media {
  overflow: hidden;
  border-radius: var(--radius-xl);
  block-size: clamp(16.667rem, calc(10rem + 20vw), 38.889rem);
}
.about-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.about-section__paragraph {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  inline-size: var(--about-text-size);
  background-color: var(--about-bg);
  padding-block-start: var(--about-text-pad-bs);
  padding-inline-start: var(--about-text-pad-is);
  border-radius: var(--radius-xl) 0 0 0;
  z-index: var(--z-index-above);
}
.about-section__paragraph::before,
.about-section__paragraph::after {
  content: "";
  position: absolute;
  inline-size: var(--badge-cut);
  block-size: var(--badge-cut);
  background: radial-gradient(
    circle at top left,
    transparent 72%,
    var(--bg-periwinkle-600) 73%
  );
  z-index: var(--z-index-default);
  pointer-events: none;
}
.about-section__paragraph::before {
  inset-block-end: 0;
  inset-inline-start: 0.5px;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.about-section__paragraph::after {
  inset-block-start: 0.5px;
  inset-inline-end: 0;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
.about-section__paragraph p {
  margin: 0;
  font-size: clamp(0.95rem, calc(0.9rem + 0.15vw), 1.05rem);
  color: var(--white);
  opacity: 0.95;
}
@media screen and (max-width: 767px) {
  .about-section__title,
  .about-section__paragraph {
    position: relative;
    inline-size: 100%;
    padding-inline: 0;
    border-radius: 0;
    inset: auto;
  }
  .about-section__title {
    margin-block-end: 1.25rem;
    padding-block-end: 0;
    padding-inline-end: 0;
  }
  .about-section__paragraph {
    margin-block-start: 1.25rem;
    padding-block-start: 0;
    padding-inline-start: 0;
  }
  .about-section__title::before,
  .about-section__title::after,
  .about-section__paragraph::before,
  .about-section__paragraph::after {
    display: none;
  }
}

/* Aproach */

.approach-section {
  --approach-pad-block: clamp(2.5rem, calc(2.056rem + 2.5vw), 4.722rem);
  --approach-pad-inline-end: clamp(2.5rem, calc(1.889rem + 3.438vw), 5.556rem);
}
.approach-section__content {
  padding-block: var(--approach-pad-block);
  padding-inline-end: var(--approach-pad-inline-end);
  text-align: center;
}
.approach-section__paragraph {
  max-inline-size: 34rem;
  margin-inline: auto;
  margin-block-end: clamp(1.5rem, calc(1.25rem + 1.2vw), 2.25rem);
}

/* Gallery */

.gallery-section {
  --gallery-space: clamp(2.25rem, calc(1.75rem + 2.2vw), 4rem);
  --gallery-gap: clamp(0.3rem, 1.1vw, 1rem);
  --gallery-btn-h: clamp(3.25rem, calc(2.7rem + 1.2vw), 5.6rem);
  background-color: var(--bg-apricot-400);
}
.gallery-section__header {
  margin-block-end: var(--gallery-space);
}
.gallery-section__footer {
  margin-block-start: var(--gallery-space);
}
.gallery-section__paragraph {
  max-inline-size: 44rem;
  margin-inline: auto;
}
.gallery-section__paragraph p {
  margin: 0;
}
.gallery-grid {
  position: relative;
  display: grid;
  gap: var(--gallery-gap);
  grid-template-columns: 8fr 4fr 4fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas:
    "item1 item2 item4"
    "item1 item3 item4";
}
a.gallery-item {
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
  border-block-end: 0;
  text-decoration: none;
}
a.gallery-item:focus-visible {
  outline: 2px dashed var(--white);
  outline-offset: 4px;
}
a.gallery-item img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: var(--radius);
  transition:
    -webkit-transform 420ms ease,
    transform 420ms ease,
    filter 260ms ease-in-out;
}
a.gallery-item:hover img {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
  filter: brightness(0.75);
}
.item-1 {
  grid-area: item1;
}
.item-2 {
  grid-area: item2;
}
.item-3 {
  grid-area: item3;
}
.item-4 {
  grid-area: item4;
  block-size: calc(100% - 100px);
}
.item-5 {
  grid-area: item5;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  inline-size: calc(25% - (var(--gallery-gap) / 2));
  block-size: calc(100px - var(--gallery-gap));
}
a.gallery-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(1rem, calc(0.85rem + 1vw), 1.75rem);
  font-family: var(--ff-paragraph);
  font-size: clamp(0.9rem, 1vw, 1rem);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  text-align: center;
  background-color: var(--white);
  color: var(--main-color);
  transition:
    background-color 220ms ease-in-out,
    color 220ms ease-in-out;
}
a.gallery-button:hover {
  background-color: var(--bg-sage-50);
  color: var(--main-color);
}
a.gallery-button:focus-visible {
  outline: 2px dashed var(--white);
  outline-offset: 4px;
}

/* News */

.news-section {
  text-align: center;
}
.news-section__header {
  margin-block-end: clamp(2.25rem, calc(1.75rem + 2.2vw), 4rem);
}
.news-section__paragraph {
  max-inline-size: 42rem;
  margin-inline: auto;
}
.news-section__row {
  align-items: stretch;
}
a.news-card {
  position: relative;
  display: flex;
  flex-direction: column;
  block-size: 100%;
  border-radius: var(--radius);
  overflow: hidden;
  border-block-end: 0;
  text-decoration: none;
  color: var(--main-color);
  transition:
    -webkit-transform 220ms ease-in-out,
    transform 220ms ease-in-out;
}
a.news-card:focus-visible {
  outline: 2px dashed var(--main-color-hover);
  outline-offset: 4px;
}
.news-card__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
}
.news-card__img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition:
    -webkit-transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 260ms ease-in-out;
}
a.news-card:hover .news-card__img {
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
  filter: brightness(0.75);
}
.news-card__body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: clamp(1.1rem, calc(0.95rem + 0.75vw), 1.6rem);
  padding-inline: clamp(1rem, calc(0.85rem + 0.9vw), 1.6rem);
  font-size: clamp(0.95rem, calc(0.9rem + 0.15vw), 1.05rem);
}
.news-card__body__mint {
  background-color: var(--bg-mint-50);
}
.news-card__body__sage {
  background-color: var(--bg-sage-50);
}
.news-card__body__cream {
  background-color: var(--bg-cream-50);
}
.news-card__body__cream100 {
  background-color: var(--bg-cream-100);
}
.news-card__text {
  max-inline-size: 22rem;
}
.news-section__cta {
  margin-block-start: clamp(2rem, calc(1.6rem + 2vw), 3.25rem);
}

/* Footer ............................................................... */

.site-footer {
  background-color: var(--bg-periwinkle-600);
  padding-block-end: clamp(1.667rem, calc(1.35rem + 1.35vw), 3.333rem);
}
.footer-section__decor {
  inset-inline-start: 50%;
  inset-block-start: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: var(--z-index-above);
}
.footer__head {
  padding-block: clamp(2rem, calc(1.6rem + 2vw), 3.5rem);
}
.footer__head-text {
  max-inline-size: 46rem;
  margin-inline: auto;
  margin-block-start: 0.75rem;
}
.footer__head-text p {
  margin: 0;
}
.footer__wrapper {
  --footer-pad-i: clamp(1.25rem, calc(0.95rem + 1.8vw), 2.75rem);
  --footer-pad-b: clamp(1.25rem, calc(0.95rem + 1.8vw), 2.75rem);
  --footer-fs: 0.89rem;
  background-color: var(--bg-sage-50);
  border-radius: var(--radius);
}
.footer__top {
  padding-block: var(--footer-pad-b);
  padding-inline: var(--footer-pad-i);
  background-color: var(--bg-indigo-700);
  font-size: var(--footer-fs);
  color: var(--white);
  border-radius: var(--radius);
}
.footer__top-upper {
  padding-block-end: clamp(2.5rem, calc(2rem + 2.812vw), 5rem);
}
.footer-list {
  margin: 0;
  padding: 0;
}
.footer-list li + li {
  margin-block-start: 0.25rem;
}
a.footer-link:is(:link, :visited) {
  color: var(--white);
}
a.footer-link:hover {
  color: var(--bg-cream-100);
}
.footer-address {
  font-style: normal;
  margin: 0;
  line-height: 1.7;
}
.footer__inline .list-inline-item:not(:last-child) {
  margin-inline-end: 0.25rem;
}
.footer__inline .list-inline-item:not(:last-child)::after {
  content: "|";
  padding-inline-start: 0.25rem;
  color: currentColor;
}
.footer__bottom {
  padding-block: calc(var(--footer-pad-b) * 0.5);
  padding-inline: var(--footer-pad-i);
  color: var(--main-color);
  font-size: var(--footer-fs);
}
.footer__bottom-text p {
  margin: 0;
}
.footer__logos {
  display: flex;
  justify-content: center;
}
.footer__logos img {
  inline-size: 100%;
  max-inline-size: clamp(17.5rem, 45vw, 31.25rem);
}

/* FAQ */

.widget-faq {	
  --faq-card-radius: calc(var(--radius) * 0.4);
  --faq-card-padding-block: clamp(1.25rem, calc(1rem + 0.7vw), 1.75rem);
  --faq-card-padding-inline: clamp(1.5rem, calc(1.25rem + 1.5vw), 2.5rem);
  --faq-question-font-size: clamp(1rem, calc(0.933rem + 0.375vw), 1.333rem);
  --faq-body-padding-block: clamp(1.25rem, calc(1rem + 0.7vw), 1.8rem);
  --faq-body-padding-inline: clamp(1.5rem, calc(1.25rem + 1.5vw), 2.5rem);
}
.widget-faq .faq__items {
  margin-block-start: 15px;
}
.widget-faq .card {
  background-color: transparent;
  margin-block-start: 0.625rem;
  border: 0.0625rem solid #edeffe !important;
  border-radius: 15px !important;
  overflow: hidden;
  transition: background-color 220ms ease, border-color 220ms ease;
}
.widget-faq .card:first-child {
  margin-block-start: 0;
}
.widget-faq .card-header {
  position: relative;
  background-color: transparent;
  padding: 0;
  border: 0;
}
.widget-faq .btn-link,
.widget-faq .card-body {
  transition: color 220ms ease, background-color 220ms ease;
}
.widget-faq .btn-link {
  position: relative;
  display: block;
  inline-size: 100%;
  text-align: left;
  text-decoration:none;
  font-size: 1.2rem;
  color: #7181bc;
  padding-inline: var(--faq-card-padding-inline);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  white-space: normal;
}
.widget-faq .btn-link::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: clamp(1.25rem, calc(1rem + 0.8vw), 1.75rem);
  inline-size: clamp(1.25rem, calc(1rem + 0.4vw), 1.5rem);
  block-size: clamp(1.25rem, calc(1rem + 0.4vw), 1.5rem);
  background: url("../images/icon-plus.svg") center center no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.widget-faq .btn-link:hover {
  color: #52639b;
  text-decoration-color: currentColor;
}
.widget-faq .btn-link:focus-visible {
  outline: 0.125rem dashed #52639b;
  outline-offset: 0.25rem;
}
.widget-faq .card:has(.collapse.show),
.widget-faq .card:has(.collapsing) {
  background-color: #edeffe;
}
.widget-faq .card:has(.collapse.show) .btn-link::after,
.widget-faq .card:has(.collapsing) .btn-link::after {
  background-image: url("../images/icon-minus.svg");
}
.widget-faq .card-body {
  padding-block: var(--faq-body-padding-block);
  padding-inline: var(--faq-body-padding-inline);
  background-color: transparent;
}
.widget-faq .card-body p:last-child {
  margin-block-end: 0;
}
.faq__image {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: calc(var(--radius) * 0.3);
}
@media screen and (max-width: 767px) {
  .widget-faq {
    padding-inline: 0;
  }
  .widget-faq .btn-link {
    padding-inline: clamp(1rem, calc(0.75rem + 2vw), 1.5rem);
    padding-block: clamp(1rem, calc(0.9rem + 0.5vw), 1.4rem);
  }
  .widget-faq .card-body {
    padding-inline: clamp(1rem, calc(0.75rem + 2vw), 1.5rem);
  }
  .faq__image {
    margin-block-start: 1rem;
  }
}




/* RESPONSIVE STRUCTURE
--------------------------------------- */

@media screen and (max-width: 1920px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 1366px) {
  html {
    font-size: 14px;
  }
  .item-4 {
    block-size: calc(100% - 70px);
  }
  .item-5 {
    block-size: calc(70px - var(--gallery-gap));
  }
}

@media screen and (max-width: 1200px) {
  .header-contact__text {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .pos-relative-mobile {
    position: relative;
  }
  .container_bg_img {
    inset-inline: 0;
    inline-size: 100%;
    block-size: auto;
  }
  [class*="paragraph"] {
    max-inline-size: 100%;
  }
  .decor-circle__02 {
    display: none;
  }
  .header {
    position: relative !important;
    background-color: var(--white);
    padding-block: 1.25rem !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
  .header__container {
    padding-inline: 1rem;
  }
  .header-bar {
    padding-inline-start: 0;
  }
  .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: 3.75rem !important;
  }
  .mainNavigation {
    display: none;
  }
  .header-cta {
    display: none !important;
  }
  .header-contact {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 5rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    gap: 0.5rem;
  }
  .header-contact__icon {
    --header-icon-dim: 3rem;
  }
  .hero-section__filter {
    background-image: none;
    background-color: color-mix(in srgb, var(--black) 40%, transparent);
  }
  .hero-section__content {
    padding-inline: 1rem;
    text-align: center;
  }
  .hero-lead {
    text-align: center;
  }
  .hero-lead__title h1,
  .hero-lead__paragraph {
    color: var(--white);
    margin-inline: auto;
  }
  .offer-section__row {
    row-gap: 1.5rem;
  }
  .offer-section__col__offset {
    margin-block-start: 0;
  }
  .approach-section__content {
    padding-inline-end: 0;
    padding-block: 0;
  }
  .decor-circle__01 {
    -webkit-transform: translate(25%, -45%);
    transform: translate(25%, -45%);
  }
  .news-section__row {
    row-gap: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "item1 item1"
      "item2 item3"
      "item4 item4"
      "item5 item5";
  }
  .item-4 {
    block-size: auto;
  }
  .item-5 {
    position: relative;
    inline-size: 100%;
    block-size: 3.125rem;
  }
}

@media screen and (max-width: 575px) {
  .hero-nav__inner {
    inline-size: 100dvw;
    max-inline-size: none;
    padding-block-start: 1rem;
    padding-inline: 1rem;
    border-radius: 0;
  }
  .hero-nav__inner::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
