@import "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap";
:root {
  --content-width: 1216px;
  --container-offset: 16px;
  --container-width: calc(var(--content-width)  + (var(--container-offset) * 2));
  --font-family-primary: "Inter", sans-serif;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --color-white: #fff;
  --color-black: #1c1c1c;
  --color-gray-700: #494949;
  --color-gray-780: #494949cc;
  --color-gray-730: #4949494d;
  --color-gray-600: #727272;
  --color-gray-680: #727272cc;
  --color-blue-400: #6db4c1;
  --color-milk-100: #f1f1f1;
  --radius-main: 32px;
  --radius-background: 64px;
  --radius-medium: 24px;
  --radius-small: 12px;
  --radius-round: 50%;
  --shadow-primary: 0px 8px 8px -4px #1118270a;
  --shadow-secondary: 0px 20px 24px -4px #1118271a;
  --gradient-main: linear-gradient(270deg, #f1f1f100 0%, #f1f1f1 64%, #f1f1f1 100%, #f1f1f1 100%);
  --gradient-intense: linear-gradient(270deg, #f1f1f180 0%, #f1f1f1 35%, #f1f1f1 100%, #f1f1f1 100%);
  --gradient-medium: linear-gradient(270deg, #f1f1f100 -10%, #f1f1f1 50%, #f1f1f1 100%, #f1f1f1 100%);
  --gradient-rightM: linear-gradient(-270deg, #f1f1f100 -40%, #f1f1f1 50%, #f1f1f1 100%, #f1f1f1 100%);
  --icon-arrow: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='48' height='48' rx='24' fill='white'/%3E%3Cpath d='M17.3071 28.8631L27.5582 18.6002H17.3032C16.5874 18.6002 16 18.0121 16 17.2955C16 16.5788 16.5782 16 17.294 16L30.6876 16C31.4035 16 31.9816 16.5788 31.9816 17.2955L32 30.7045C32 31.4212 31.4218 32 30.706 32C29.9902 32 29.412 31.4212 29.412 30.7045L29.3936 20.4378L19.1425 30.7006C18.6378 31.206 17.8118 31.206 17.3071 30.7006C16.8023 30.1953 16.8023 29.3684 17.3071 28.8631Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-absolute: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.9606 31.2946L29.3372 15.9003H13.9548C12.881 15.9003 12 15.0182 12 13.9432C12 12.8683 12.8673 12 13.941 12L34.0315 12C35.1052 12 35.9725 12.8683 35.9725 13.9432L36 34.0568C36 35.1317 35.1327 36 34.059 36C32.9852 36 32.118 35.1317 32.118 34.0568L32.0904 18.6566L16.7138 34.051C15.9567 34.809 14.7177 34.809 13.9606 34.051C13.2034 33.293 13.2034 32.0526 13.9606 31.2946Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-swiper: url("data:image/svg+xml,%3Csvg width='12' height='19' viewBox='0 0 12 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.2584 9.73956C11.2598 9.97337 11.215 10.2051 11.1266 10.4216C11.0382 10.638 10.9079 10.8349 10.7432 11.0009L3.63699 18.1072C3.47134 18.2728 3.27469 18.4042 3.05827 18.4939C2.84185 18.5835 2.60988 18.6296 2.37563 18.6296C2.14137 18.6296 1.90941 18.5835 1.69298 18.4939C1.47656 18.4042 1.27991 18.2728 1.11427 18.1072C0.948624 17.9415 0.817228 17.7449 0.727582 17.5285C0.637936 17.312 0.591797 17.0801 0.591797 16.8458C0.591797 16.6116 0.637936 16.3796 0.727582 16.1632C0.817228 15.9467 0.948624 15.7501 1.11427 15.5844L6.99469 9.73956L1.34522 3.87691C1.1635 3.71348 1.01745 3.51431 0.916209 3.29186C0.81497 3.06942 0.760718 2.82847 0.756847 2.5841C0.752975 2.33973 0.799566 2.09718 0.893707 1.87164C0.987849 1.6461 1.12752 1.44241 1.30397 1.2733C1.48043 1.1042 1.68988 0.97332 1.91922 0.888857C2.14857 0.804394 2.39287 0.768162 2.63686 0.782423C2.88084 0.796686 3.11926 0.861137 3.3372 0.971746C3.55514 1.08236 3.74792 1.23674 3.90347 1.42525L10.761 8.5315C11.0742 8.85639 11.2521 9.28831 11.2584 9.73956Z' fill='white'/%3E%3C/svg%3E");
  --icon-star: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30.9275 50.9024C31.582 50.4866 32.418 50.4866 33.0725 50.9024L46.4721 59.4155C47.975 60.3704 49.8825 59.0331 49.4972 57.2947L45.8705 40.9304C45.7156 40.2312 45.9463 39.5024 46.4755 39.0198L58.6386 27.9284C59.9248 26.7556 59.2026 24.6133 57.4689 24.4585L41.6499 23.0458C40.9012 22.9789 40.2533 22.498 39.9726 21.8007L33.8553 6.60774C33.1826 4.93708 30.8174 4.93708 30.1447 6.60774L24.0274 21.8007C23.7467 22.498 23.0988 22.9789 22.3501 23.0458L6.53111 24.4585C4.79739 24.6133 4.07523 26.7556 5.36139 27.9284L17.5245 39.0198C18.0537 39.5024 18.2844 40.2312 18.1295 40.9304L14.5028 57.2947C14.1175 59.0331 16.025 60.3704 17.5279 59.4155L30.9275 50.9024Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-check: url("data:image/svg+xml,%3Csvg width='65' height='64' viewBox='0 0 65 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.88665 32.8748C1.84468 33.9168 1.84468 35.6061 2.88665 36.6481L14.1874 47.9488C15.232 48.9934 16.9265 48.9904 17.9674 47.9422C19.0031 46.8991 19.0001 45.2149 17.9607 44.1755L6.65994 32.8748C5.61797 31.8328 3.92861 31.8328 2.88665 32.8748ZM61.3325 15.898C60.2867 14.8522 58.5911 14.8526 57.5458 15.8989L34.0058 39.4611C32.4426 41.0257 29.9064 41.0248 28.3443 39.4591L21.7547 32.8539C20.7152 31.812 19.0294 31.8051 17.9814 32.8384C16.9238 33.8813 16.9178 35.5859 17.9681 36.6362L28.3456 47.0137C29.9077 48.5758 32.4404 48.5758 34.0025 47.0137L61.3325 19.6838C62.3779 18.6384 62.3779 16.9434 61.3325 15.898ZM46.2562 19.6667C47.2956 18.6273 47.2986 16.9431 46.2629 15.9C45.222 14.8518 43.5275 14.8488 42.4829 15.8933L29.2807 29.0955C28.2362 30.1401 28.2392 31.8346 29.2874 32.8755C30.3305 33.9112 32.0147 33.9082 33.0541 32.8688L46.2562 19.6667Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-heart: url("data:image/svg+xml,%3Csvg width='62' height='64' viewBox='0 0 62 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.66602 22.4025C4.66535 18.5367 6.21904 14.833 8.97752 12.1247C11.736 9.41636 15.4676 7.93088 19.3327 8.00247C23.9122 7.97815 28.282 9.92027 31.3327 13.3358C34.3834 9.92027 38.7532 7.97815 43.3327 8.00247C47.1978 7.93088 50.9294 9.41636 53.6878 12.1247C56.4463 14.833 58 18.5367 57.9993 22.4025C57.9993 36.6851 40.9887 47.4691 31.3327 56.0025C21.698 47.3971 4.66602 36.6958 4.66602 22.4025Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-faq: url("data:image/svg+xml,%3Csvg width='19' height='11' viewBox='0 0 19 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.55609 0.166737C9.32229 0.165385 9.09051 0.2102 8.87406 0.29861C8.65761 0.387019 8.46074 0.517285 8.29473 0.68194L1.18849 7.78819C1.02284 7.95383 0.891448 8.15048 0.801802 8.3669C0.712156 8.58333 0.666016 8.81529 0.666016 9.04954C0.666016 9.2838 0.712156 9.51576 0.801802 9.73219C0.891448 9.94861 1.02284 10.1453 1.18849 10.3109C1.35413 10.4765 1.55078 10.6079 1.7672 10.6976C1.98363 10.7872 2.21559 10.8334 2.44985 10.8334C2.6841 10.8334 2.91607 10.7872 3.13249 10.6976C3.34891 10.6079 3.54556 10.4765 3.71121 10.3109L9.55609 4.43048L15.4187 10.0799C15.5822 10.2617 15.7813 10.4077 16.0038 10.509C16.2262 10.6102 16.4672 10.6645 16.7116 10.6683C16.9559 10.6722 17.1985 10.6256 17.424 10.5315C17.6496 10.4373 17.8532 10.2977 18.0224 10.1212C18.1915 9.94474 18.3223 9.73529 18.4068 9.50595C18.4913 9.27661 18.5275 9.0323 18.5132 8.78831C18.499 8.54433 18.4345 8.30591 18.3239 8.08797C18.2133 7.87003 18.0589 7.67725 17.8704 7.5217L10.7642 0.664173C10.4393 0.350939 10.0073 0.17309 9.55609 0.166737Z' fill='%236DB4C1'/%3E%3C/svg%3E%0A");
  --icon-mail: url("data:image/svg+xml,%3Csvg fill='none' height='64' viewBox='0 0 64 64' width='64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23494949'%3E%3Cpath d='m31.9987 56.6691h-13.3333c-9.73337 0-15.33337-5.6-15.33337-15.3333v-18.6667c0-9.7333 5.6-15.33335 15.33337-15.33335h26.6666c9.7334 0 15.3334 5.60005 15.3334 15.33335v8c0 1.0933-.9067 2-2 2-1.0934 0-2-.9067-2-2v-8c0-7.6267-3.7067-11.3333-11.3334-11.3333h-26.6666c-7.6267 0-11.33337 3.7066-11.33337 11.3333v18.6667c0 7.6266 3.70667 11.3333 11.33337 11.3333h13.3333c1.0933 0 2 .9067 2 2s-.9067 2-2 2z'/%3E%3Cpath d='m32.0007 34.3223c-2.24 0-4.5066-.6933-6.24-2.1066l-8.3467-6.6667c-.8533-.6933-1.0133-1.9466-.3199-2.8.6933-.8533 1.9466-.9866 2.7999-.32l8.3467 6.6667c2.0267 1.6267 5.4667 1.6267 7.4933 0l8.3467-6.6667c.8533-.6933 2.1066-.56 2.8.32.6933.8534.56 2.1333-.32 2.8l-8.3467 6.6667c-1.7067 1.4133-3.9733 2.1066-6.2133 2.1066z'/%3E%3Cpath d='m42.1842 58.0824c-1.0133 0-1.9733-.3733-2.6667-1.0666-.8266-.8267-1.2-2.0267-1.0133-3.2801l.5067-3.6c.1333-.9333.6933-2.0533 1.36-2.72l9.4399-9.44c1.28-1.28 2.5334-1.9466 3.8934-2.08 1.6534-.16 3.3066.5334 4.8533 2.08 1.5467 1.5467 2.24 3.1734 2.08 4.8534-.1333 1.3333-.8267 2.6133-2.08 3.8933l-9.4399 9.44c-.6667.6667-1.7868 1.2267-2.7201 1.36l-3.6.5067c-.2133.0267-.4.0533-.6133.0533zm11.9733-18.2133c-.0266 0-.0533 0-.08 0-.3733.0267-.88.3733-1.44.9333l-9.4399 9.44c-.08.08-.2134.3467-.2134.4534l-.48 3.3333 3.3333-.4801c.1067-.0266.3733-.1599.4533-.2399l9.44-9.44c.56-.5866.9067-1.0667.9334-1.44.0533-.5333-.48-1.1734-.9334-1.6267-.4266-.4267-1.0399-.9333-1.5733-.9333z'/%3E%3Cpath d='m55.7882 48.6689c-.1866 0-.3733-.0266-.5333-.08-3.52-.9866-6.32-3.7866-7.3067-7.3066-.2933-1.0667.32-2.1601 1.3867-2.4801 1.0666-.2933 2.16.3201 2.4533 1.3867.6134 2.1867 2.3466 3.92 4.5333 4.5333 1.0667.2934 1.6801 1.4134 1.3867 2.4801-.24.88-1.04 1.4666-1.92 1.4666z'/%3E%3C/g%3E%3C/svg%3E");
  --icon-tel: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.9864 6.4417C15.918 6.1508 16.8845 6.00244 17.8576 6.00244C22.5348 6.00244 26 10.121 26 14.7786L26 25.2263C26 29.8839 22.5348 34.0024 17.8576 34.0024C16.8845 34.0024 15.918 33.8541 14.9864 33.5632L14.2743 33.3408C14.0312 33.2649 13.7919 33.1807 13.5569 33.0886C17.267 40.6232 23.3793 46.7355 30.9139 50.4456C30.8218 50.2105 30.7375 49.9713 30.6616 49.7281L30.4393 49.016C30.1484 48.0844 30 47.1179 30 46.1448C30 41.4676 34.1186 38.0024 38.7762 38.0024H49.2238C53.8815 38.0024 58 41.4676 58 46.1448C58 47.1179 57.8516 48.0844 57.5607 49.016L57.3384 49.7281C56.0431 53.8764 52.3381 56.8805 47.9062 57.6614C45.3259 58.1161 42.6742 58.1161 40.0938 57.6614C39.9922 57.6435 39.8911 57.6245 39.7903 57.6043C22.8793 54.3506 9.65168 41.1229 6.39815 24.2119C6.37795 24.1112 6.3589 24.0102 6.34102 23.9087C5.88633 21.3283 5.88633 18.6766 6.34102 16.0962C7.12197 11.6643 10.1261 7.95934 14.2743 6.66406L14.9864 6.4417Z' fill='%23494949'/%3E%3Cpath d='M35.2147 10.599C40.339 9.13899 45.919 10.3602 49.7806 14.2219C53.6423 18.0835 54.8635 23.6635 53.4035 28.7878C53.1008 29.8501 53.7166 30.9566 54.7789 31.2593C55.8412 31.562 56.9477 30.9462 57.2504 29.8839C59.0768 23.4737 57.5757 16.3601 52.6091 11.3934C47.6424 6.42679 40.5288 4.92571 34.1186 6.75214C33.0563 7.05482 32.4405 8.16134 32.7432 9.22363C33.0459 10.2859 34.1524 10.9017 35.2147 10.599Z' fill='%23494949'/%3E%3Cpath d='M40.2224 17.8682C41.5719 17.5994 43.2812 18.0526 44.6156 19.3869C45.9499 20.7213 46.4031 22.4306 46.1343 23.7801C45.9186 24.8634 46.6218 25.9165 47.7051 26.1323C48.7884 26.348 49.8415 25.6448 50.0573 24.5615C50.609 21.7912 49.641 18.7555 47.444 16.5585C45.247 14.3615 42.2112 13.3934 39.441 13.9452C38.3577 14.161 37.6545 15.2141 37.8702 16.2974C38.086 17.3807 39.1391 18.0839 40.2224 17.8682Z' fill='%23494949'/%3E%3C/svg%3E%0A");
  --icon-hours: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.0794 8.91891C29.2891 7.69687 34.711 7.69687 39.9208 8.91891C47.4443 10.6837 53.3188 16.5582 55.0836 24.0818C56.3057 29.2915 56.3057 34.7134 55.0836 39.9231C53.3188 47.4467 47.4443 53.3212 39.9208 55.086C34.711 56.308 29.2891 56.308 24.0794 55.086C16.5558 53.3212 10.6813 47.4467 8.91654 39.9232C7.69449 34.7134 7.69449 29.2915 8.91654 24.0817C10.6813 16.5582 16.5558 10.6837 24.0794 8.91891ZM32.7356 24.3441C32.7356 23.4604 32.0192 22.7441 31.1356 22.7441C30.2519 22.7441 29.5356 23.4604 29.5356 24.3441V33.7738C29.5356 34.3208 29.8151 34.83 30.2767 35.1237L37.5229 39.7342C38.2685 40.2086 39.2574 39.9888 39.7318 39.2432C40.2061 38.4977 39.9863 37.5088 39.2408 37.0344L32.7356 32.8954V24.3441Z' fill='%23494949'/%3E%3C/svg%3E%0A");
}

.checkbox__field:checked + .checkbox__content:after {
  opacity: 1;
}

.checkbox__field:focus + .checkbox__content:before {
  outline: 1px solid var(--color-gray-100);
  outline-offset: 1px;
}

.checkbox__field:disabled + .checkbox__content {
  opacity: .4;
  pointer-events: none;
}

html, body {
  scroll-behavior: smooth;
  overscroll-behavior-y: none;
}

.page {
  height: var(--vh);
  font-family: var(--font-family-primary);
  font-weight: var(--fw-400);
  letter-spacing: 0;
  color: var(--color-gray-700);
  background-color: var(--color-white);
  font-optical-sizing: auto;
  font-size: clamp(16px, 1vw, 20px);
  font-style: normal;
  line-height: 1.5;
}

.page__body {
  min-width: 320px;
  min-height: var(--vh);
}

.page.open {
  overflow: hidden;
}

section {
  padding: 5.5rem 0;
}

@media only screen and (max-width: 992px) {
  section {
    padding: 2.75rem 0;
  }
}

.container {
  padding: 0 var(--container-offset);
  width: 100%;
  max-width: var(--container-width);
  margin: 0 auto;
}

.site-container {
  min-height: var(--vh);
  grid-template-rows: 1fr auto;
  grid-template-columns: 100%;
  display: grid;
}

.main {
  padding-top: var(--header-height);
}

#form-request {
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  margin: auto;
  transition-property: opacity, visibility;
  transition-duration: .2s;
  position: fixed;
  inset: 0;
}

#form-request:before {
  content: "";
  background-color: var(--color-black);
  opacity: .3;
  position: absolute;
  inset: 0;
}

#form-request iframe {
  z-index: 1;
  width: 90%;
  height: calc(var(--vh)  - 60px);
  max-width: 980px;
  border: none;
  margin: 30px auto;
  position: absolute;
  left: 0;
  right: 0;
}

#form-request.open {
  opacity: 1;
  visibility: visible;
}

.overlay {
  position: relative;
}

.overlay:before {
  content: "";
  z-index: 1;
  background: var(--gradient-main);
  position: absolute;
  inset: 0;
}

@media only screen and (max-width: 992px) {
  .overlay:before {
    background: var(--gradient-intense);
  }
}

.hidden {
  display: none !important;
}

.sr-only {
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  width: 1px !important;
  height: 1px !important;
  white-space: nowrap !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  border: 0 !important;
  margin: -1px !important;
  padding: 0 !important;
  position: absolute !important;
  overflow: hidden !important;
}

.dis-scroll {
  width: 100%;
  height: 100dvh;
  height: calc(var(--vh, 1vh) * 100);
  overscroll-behavior: none;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: none;
}

h1, h2, h3 {
  font-family: var(--font-family-primary);
  color: var(--color-gray-700);
  line-height: 1.15;
  overflow: hidden;
}

h1, h2 {
  letter-spacing: .28rem;
  text-transform: capitalize;
  font-size: clamp(32px, 2rem + 1vi, 48px);
}

@media only screen and (max-width: 992px) {
  h1, h2 {
    letter-spacing: .1rem;
  }
}

h1 {
  font-weight: var(--fw-800);
}

h2, h3 {
  font-weight: var(--fw-700);
}

h2 {
  margin-bottom: 3rem;
}

@media only screen and (max-width: 768px) {
  h2 {
    margin-bottom: 1.875rem;
  }
}

h3 {
  font-size: 24px;
}

input, label, summary, li, textarea, a, button, p {
  font-family: var(--font-family-primary);
}

a, p, time, textarea, input {
  font-weight: var(--fw-500);
  line-height: 1.5;
}

a {
  color: var(--color-gray-700);
  font-size: 16px;
  line-height: 1.2;
}

p {
  color: var(--color-gray-600);
  font-size: clamp(18px, .5rem + 1vi, 20px);
}

time {
  color: var(--color-gray-600);
  font-size: 14px;
  display: inline-block;
}

input, textarea {
  color: var(--color-gray-700);
  font-size: 16px;
  line-height: 1.45;
}

input ::placeholder, textarea ::placeholder {
  color: var(--color-gray-730);
}

.copyright {
  font-weight: var(--fw-600);
  color: var(--color-gray-780);
  font-size: 16px;
}

.header {
  z-index: 10;
  width: 100%;
  background-color: var(--color-white);
  padding: clamp(12px, 1.5rem, 24px) 0;
  transition-property: transform, padding;
  transition-duration: .15s;
  position: fixed;
  top: 0;
}

.header.hide {
  transform: translateY(-100%);
}

.nav {
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.nav img {
  height: auto;
}

.nav .logo {
  max-width: 236px;
  width: 100%;
}

@media only screen and (max-width: 1180px) {
  .nav .logo {
    max-width: 200px;
  }
}

.nav__inner {
  width: 100%;
  justify-content: flex-end;
  display: flex;
}

@media only screen and (max-width: 992px) {
  .nav__inner {
    left: 0;
    top: calc(var(--header-height) * 1);
    z-index: -1;
    width: 100%;
    height: calc(var(--vh));
    background-color: var(--color-white);
    flex-direction: column;
    justify-content: flex-start;
    padding: 30px 16px;
    transition-property: transform;
    transition-duration: .4s;
    position: fixed;
    overflow-y: auto;
    transform: translateX(150%);
  }
}

.nav__list {
  align-items: center;
  margin: 0 32px 0 0;
  display: flex;
}

@media only screen and (max-width: 992px) {
  .nav__list {
    z-index: -1;
    flex-direction: column;
    margin-right: 0;
  }
}

.nav__item:not(:last-of-type) {
  margin-right: 2rem;
}

@media only screen and (max-width: 1180px) {
  .nav__item:not(:last-of-type) {
    margin-right: 1.5rem;
  }
}

@media only screen and (max-width: 992px) {
  .nav__item:not(:last-of-type) {
    margin-right: 0;
  }

  .nav__item {
    margin-bottom: 30px;
  }
}

.nav__link {
  text-transform: capitalize;
  padding-bottom: 7px;
  transition: border-bottom .3s ease-in-out;
}

.nav__link.true, .nav__link:hover {
  border-bottom: 2px solid var(--color-gray-700);
}

.nav__btns {
  align-items: center;
  gap: 8px;
  display: flex;
}

@media only screen and (max-width: 992px) {
  .nav__btns {
    flex-direction: column;
    gap: 30px;
  }
}

[class].btn {
  border: 2px solid var(--color-milk-100);
  font-weight: var(--fw-600);
  color: var(--color-gray-700);
  text-align: center;
  border-radius: var(--radius-main);
  background-color: var(--color-milk-100);
  margin: 0;
  padding: 22px 24px;
  font-size: 18px;
  line-height: 1;
  transition-property: background-color, color, border-color;
  transition-duration: .4s;
  transition-timing-function: ease-in-out;
  display: inline-block;
}

[class].btn--reverse, [class].btn:hover {
  color: var(--color-white);
  background-color: var(--color-blue-400);
  border-color: var(--color-blue-400);
}

[class].btn--reverse {
  padding: 22px;
}

[class].btn--reverse:hover {
  background-color: var(--color-milk-100);
  color: var(--color-gray-700);
}

[class].btn--arrow {
  padding-right: 64px;
  position: relative;
}

[class].btn--arrow:before {
  content: "";
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: var(--icon-arrow);
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

[class].btn--send {
  max-width: -moz-fit-content;
  max-width: fit-content;
  background-color: var(--color-white);
}

[class].btn--send:hover {
  background-color: var(--color-gray-600);
  border-color: var(--color-gray-600);
  color: var(--color-milk-100);
}

[class].btn--absolute {
  background-color: #0000;
  padding: 0;
  position: absolute;
  inset: 0;
}

[class].btn--absolute:hover {
  background-color: #0000;
}

[class].btn--absolute:before {
  content: "";
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: var(--icon-absolute);
  transition: transform .4s ease-in-out;
  position: absolute;
  bottom: 24px;
  right: 24px;
  transform: scale(1);
}

[class].btn--absolute:hover:before {
  transform: scale(1.2);
}

@media only screen and (max-width: 768px) {
  [class].btn--arrow:before, [class].btn--absolute:before {
    width: 36px;
    height: 36px;
  }

  [class].btn--arrow {
    padding-right: 56px;
  }

  [class].btn--absolute:before {
    bottom: 12px;
  }
}

[class].swiper .swiper-button {
  width: 64px;
  height: 64px;
  background-color: var(--color-gray-700);
  border-radius: var(--radius-round);
  top: 50%;
  transform: translateY(-50%);
}

[class].swiper .swiper-button:after {
  content: "";
  height: 20px;
  width: 26px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: var(--icon-swiper);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 768px) {
  [class].swiper .swiper-button {
    width: 48px;
    height: 48px;
  }
}

[class].swiper .swiper-button-prev:after {
  transform: translate(-50%, -50%)rotate(180deg);
}

[class].swiper .swiper-button-disabled {
  display: none;
}

@media only screen and (max-width: 992px) {
  [class].swiper .swiper-button-disabled {
    display: block;
  }
}

[class].swiper .swiper-pagination {
  font-size: 0;
  position: static;
}

[class].swiper .swiper-pagination-bullet {
  background-color: var(--color-gray-700);
  margin: 0 8px !important;
}

.burger {
  --line-height: 2px;
  --buger-size: 20px;
  --move: calc(var(--buger-size) / 3);
  --move-decrement: calc(var(--move) * -1);
  --transition-time: .5s;
  --lines-color: var(--color-black);
  width: calc(var(--buger-size)  + 5px);
  height: var(--buger-size);
  transition: opacity var(--transition-time) ease;
  background-color: #0000;
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.burger span {
  z-index: -1;
  width: 100%;
  height: var(--line-height);
  background-color: var(--lines-color);
  transition: transform var(--transition-time) ease, background-color var(--transition-time) ease .3s;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.burger span:before, .burger span:after {
  content: "";
  width: 100%;
  height: var(--line-height);
  background-color: var(--lines-color);
  animation-duration: .4s;
  animation-timing-function: cubic-bezier(.645, .045, .355, 1);
  animation-fill-mode: forwards;
  position: absolute;
  left: 0;
}

.burger span:before {
  transform: translateY(var(--move-decrement)) rotate(0);
}

.burger span:after {
  transform: translateY(var(--move)) rotate(0);
}

.burger:hover {
  opacity: 1;
}

@media only screen and (max-width: 992px) {
  .burger {
    display: block;
  }
}

.closed.opened span {
  background-color: var(--lines-color);
  transition: background-color .2s;
}

.closed.opened span:before {
  animation-name: toplineburger;
}

.closed.opened span:after {
  animation-name: bottomlineburger;
}

.opened .nav__inner {
  transform: translateX(0);
}

.opened span {
  background-color: #0000;
  transition: background-color .2s;
}

.opened span:before, .opened span:after {
  animation-duration: .2s;
  animation-timing-function: cubic-bezier(.645, .045, .355, 1);
  animation-fill-mode: forwards;
}

.opened span:before {
  animation-name: toplinecross;
}

.opened span:after {
  animation-name: bottomlinecross;
}

.hero {
  padding: 0;
}

.hero__inner {
  border-bottom-left-radius: var(--radius-background);
  border-bottom-right-radius: var(--radius-background);
  min-height: 622px;
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: contain;
  flex-direction: column;
  padding: 8rem 0;
  display: flex;
  overflow: hidden;
}

.hero__content {
  z-index: 1;
  max-width: 630px;
  width: 100%;
  margin-inline: 7rem 0;
}

.hero h1 {
  margin-bottom: 2rem;
  line-height: 1.25;
}

.hero__desc {
  width: 85%;
  color: var(--color-blue-400);
  margin-bottom: 1.5rem;
}

.hero--home .hero__content {
  max-width: 710px;
}

.hero--about h1, .hero--menu h1 {
  margin-bottom: 1.5rem;
}

.hero--menu p {
  width: 97%;
}

@media only screen and (max-width: 992px) {
  .hero__inner {
    min-height: auto;
    border-bottom-left-radius: var(--radius-main);
    border-bottom-right-radius: var(--radius-main);
    background-size: cover;
  }

  .hero__content {
    width: 60%;
    margin-left: 2.75rem;
  }
}

@media only screen and (max-width: 768px) {
  .hero__inner {
    padding: 5.5rem 0;
  }

  .hero__content {
    width: 90%;
    margin: 0 auto;
    padding: 0 20px;
  }

  .hero--about .hero__inner, .hero--menu .hero__inner {
    padding: 2.75rem 0;
  }
}

.services__item {
  justify-content: space-between;
}

.services .btn {
  align-self: flex-end;
}

.services__wrapper {
  margin-bottom: 3rem;
}

.services img {
  max-width: 342px;
  width: 100%;
  border-radius: var(--radius-main);
  margin-bottom: 1.5rem;
}

.services h3 {
  text-transform: capitalize;
  margin-bottom: 8px;
}

.services__desc {
  margin-bottom: 1.5rem;
}

.services__list {
  padding-left: 1.25rem;
}

.services__list-item {
  color: var(--color-gray-600);
  padding-left: .625rem;
  list-style: disc;
  display: list-item;
}

.services__list-item:not(:last-of-type) {
  margin-bottom: 5px;
}

.services--list .services__wrapper {
  margin-bottom: 0;
}

@media only screen and (max-width: 992px) {
  .services__wrapper {
    text-align: center;
    place-items: center;
    display: grid;
  }

  .services__list {
    text-align: left;
  }

  .services img {
    max-width: 100%;
  }
}

.about__inner {
  min-height: 682px;
  border-radius: var(--radius-main);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1.5rem;
  overflow: hidden;
}

.about__box {
  max-width: 572px;
  width: 100%;
  background-color: var(--color-white);
  border-radius: var(--radius-main);
  padding: 1.5rem;
}

.about h2 {
  margin-bottom: 1rem;
}

.about p:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

.about__text {
  margin-bottom: 2rem;
}

.about--home .about__box {
  max-width: 489px;
}

.about--home .btn {
  min-width: 231px;
}

.about--mission {
  padding: 5.5rem 0 7.0625rem;
}

.about--mission .about__inner {
  margin-bottom: 1.5rem;
}

@media only screen and (max-width: 992px) {
  .about--mission {
    padding: 2.75rem 0;
  }

  .about--mission .about__inner {
    margin-bottom: 2.75rem;
  }

  .about__inner {
    min-height: auto;
  }
}

@media only screen and (max-width: 768px) {
  .about__inner {
    background-position: 100% 0;
    padding: 5.5rem 12px 12px;
    position: relative;
  }

  .about__inner:before {
    content: "";
    background: var(--gradient-main);
    z-index: 0;
    position: absolute;
    inset: 0;
  }

  .about__box {
    box-shadow: var(--shadow-secondary);
    position: relative;
  }

  .about .btn {
    min-width: 100%;
  }
}

@media only screen and (max-width: 475px) {
  .about__inner {
    padding-top: 6.25rem;
  }
}

.blog__desc {
  font-size: clamp(24px, 2rem + 1vi, 32px);
  line-height: 1.2;
  font-weight: var(--fw-700);
  letter-spacing: .17rem;
  color: var(--color-gray-700);
  margin-bottom: 1.5rem;
}

.blog__item {
  background-color: var(--color-milk-100);
  border-radius: var(--radius-main);
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  padding: 1.5rem;
  display: grid;
}

.blog__item img {
  max-width: 560px;
  width: 100%;
  border-radius: var(--radius-main);
}

.blog__item:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

.blog__wrapper {
  padding-top: 2rem;
}

.blog__wrapper time, .blog__wrapper p {
  margin-bottom: 1.5rem;
}

.blog__wrapper h3 {
  letter-spacing: .17rem;
  margin-bottom: 16px;
  font-size: clamp(24px, 1.5rem + 1vi, 32px);
}

.blog__name {
  letter-spacing: 0;
  color: var(--color-blue-400);
  margin-bottom: 1.5rem;
  font-size: clamp(34px, 2rem + 1vi, 40px);
}

.blog--all .blog__recent {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 24px;
  display: grid;
}

.blog--all .blog__item {
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 0;
  padding-bottom: 4.75rem;
  position: relative;
}

.blog--all img {
  max-height: 293px;
  align-self: stretch;
}

.blog--all .blog__wrapper {
  padding: 0;
}

.blog--all time {
  margin-bottom: 16px;
}

.blog--all h3 {
  letter-spacing: .05rem;
  margin-bottom: 8px;
  font-size: clamp(20px, 1rem + 1vi, 24px);
}

.blog--all p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.15;
}

.blog--single {
  max-width: 882px;
  width: 100%;
  margin: 0 auto;
  padding-top: 2.75rem;
}

.blog--single h1 {
  margin-bottom: 3rem;
}

.blog--single time {
  margin-bottom: 2rem;
  font-size: clamp(18px, 1rem + 1vi, 20px);
}

.blog--single p {
  margin-bottom: 1.5rem;
}

.blog--single b {
  font-weight: var(--fw-700);
}

.blog--single img {
  max-height: 375px;
  border-radius: var(--radius-main);
  margin-bottom: 5.5rem;
}

@media only screen and (max-width: 992px) {
  .blog__item {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .blog__item img {
    min-height: 100%;
  }

  .blog__wrapper {
    grid-column: 2 / 4;
  }

  .blog--all .blog__wrapper {
    grid-column: auto;
  }

  .blog--all img {
    min-height: auto;
  }
}

@media only screen and (max-width: 768px) {
  .blog__item {
    border-radius: var(--radius-medium);
    grid-template-columns: 1fr;
  }

  .blog__item img {
    border-radius: inherit;
    max-width: 100%;
  }

  .blog__wrapper {
    grid-column: auto;
    padding: 0;
  }

  .blog__wrapper :not(:last-child) {
    margin-bottom: 16px;
  }

  .blog--all .blog__recent {
    grid-template-columns: 1fr;
  }

  .blog--all .blog__item {
    gap: 0;
    padding-bottom: 24px;
  }

  .blog--single {
    padding-bottom: 0;
  }

  .blog--single img {
    margin-bottom: 24px;
  }
}

@media only screen and (max-width: 475px) {
  .blog--recent, .blog--single {
    padding-top: 0;
  }

  .blog__desc {
    letter-spacing: .05rem;
    font-size: 26px;
  }
}

.featured__grid {
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.featured__content {
  max-width: 493px;
  width: 100%;
}

.featured__content p:not(:last-of-type), .featured__title {
  margin-bottom: 1.5rem;
}

.featured__subtitle {
  color: var(--color-gray-600);
  margin-bottom: 8px;
}

.featured__img {
  max-width: 596px;
  width: 100%;
  border-radius: var(--radius-main);
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: cover;
  align-self: stretch;
}

.featured__items {
  max-width: 596px;
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 1.5rem;
  display: grid;
}

.featured__item {
  font-weight: var(--fw-700);
  color: var(--color-gray-700);
  background-color: var(--color-milk-100);
  border-radius: var(--radius-main);
  padding: 1.5rem;
  font-size: clamp(20px, 1rem + 1vi, 24px);
}

.featured--reverse .featured__grid {
  flex-direction: row-reverse;
}

.featured--reverse .featured__content {
  max-width: 556px;
}

.featured--history .featured__img {
  min-height: 646px;
}

.featured--hero .featured__img {
  min-height: 622px;
}

.featured--approach .featured__img {
  min-height: 446px;
}

.featured--approach p {
  width: 86%;
}

.featured--num .featured__items {
  max-width: 596px;
  counter-reset: counter;
}

.featured--num .featured__item {
  padding-left: 7.8125rem;
  padding-right: 2.125rem;
  position: relative;
}

.featured--num .featured__item:before {
  content: "0" counter(counter);
  counter-increment: counter;
  font-weight: var(--fw-700);
  letter-spacing: .28rem;
  text-transform: capitalize;
  color: var(--color-blue-400);
  font-size: clamp(32px, 1.5rem + 2vi, 48px);
  line-height: 1.3;
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
}

.featured--highlights .featured__content {
  padding-top: 1.5rem;
}

.featured--highlights .featured__grid {
  background-color: var(--color-white);
}

.featured--highlights .swiper-wrapper {
  padding-bottom: 1.5rem;
}

.featured--highlights .swiper-wrapper .swiper-button-prev {
  left: 50%;
  transform: translateX(50%)translateY(-50%);
}

.featured--highlights .swiper-wrapper [class].swiper-pagination {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-25%);
}

@media only screen and (max-width: 1180px) {
  .featured .highlights {
    padding: 0 84px;
  }

  .featured--highlights .swiper-wrapper .swiper-button-prev {
    left: -116px;
  }

  .featured--highlights .swiper-wrapper .swiper-button-next {
    right: -84px;
  }
}

@media only screen and (max-width: 992px) {
  .featured__grid {
    background: var(--gradient-medium);
    border-radius: var(--radius-main);
    padding: 2.75rem 0;
    position: relative;
  }

  .featured__content {
    margin-left: 2.75rem;
  }

  .featured__img {
    min-height: auto;
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
  }

  .featured__title {
    letter-spacing: .07rem;
    font-size: clamp(24px, 1rem + 1vi, 32px);
  }

  .featured__subtitle {
    font-size: 20px;
  }

  .featured__item {
    box-shadow: var(--shadow-secondary);
    font-weight: 600;
  }

  .featured--history .featured__img, .featured--approach .featured__img, .featured--hero .featured__img {
    min-height: auto;
  }

  .featured--hero {
    padding-top: 0;
  }

  .featured--reverse .featured__grid {
    background: var(--gradient-rightM);
  }

  .featured--reverse .featured__img {
    left: 0;
    right: unset;
  }

  .featured--reverse .featured__content {
    width: 76%;
    grid-template-columns: 1fr;
    justify-items: end;
    margin-left: 0;
    margin-right: 1.5rem;
    display: grid;
  }

  .featured--num .featured__item {
    font-weight: var(--fw-600);
    padding-left: 6.25rem;
  }

  .featured--highlights .featured__grid {
    background: none;
  }

  .featured--highlights .featured__content {
    background-color: var(--color-milk-100);
    border-radius: var(--radius-main);
    padding: 1.5rem;
  }
}

@media only screen and (max-width: 768px) {
  .featured__grid {
    background: var(--gradient-intense);
    padding-inline: 1.5rem;
  }

  .featured__content {
    margin: 0;
  }

  .featured--reverse .featured__content {
    width: 100%;
    margin: 0;
  }

  .featured--num .featured__grid {
    flex-direction: column;
  }

  .featured--highlights .swiper-wrapper .swiper-button-prev {
    left: -108px;
  }
}

@media only screen and (max-width: 576px) {
  .featured--num .featured__item {
    padding-block: 5rem 1.25rem;
    padding-inline: 1.25rem;
  }

  .featured .highlights {
    padding: 0;
  }

  .featured--highlights .swiper-slide {
    visibility: hidden;
  }

  .featured--highlights .swiper-slide.swiper-slide-active {
    visibility: visible;
  }

  .featured--highlights .swiper-wrapper {
    padding-bottom: 68px;
  }

  .featured--highlights .swiper-wrapper .swiper-button {
    top: unset;
    bottom: 0;
    transform: translate(0);
  }

  .featured--highlights .swiper-wrapper .swiper-button-prev {
    left: 0;
  }

  .featured--highlights .swiper-wrapper .swiper-button-next {
    right: 0;
  }
}

@media only screen and (max-width: 475px) {
  .featured--reverse .featured__content {
    width: 76%;
  }

  .featured--reverse p {
    width: 100%;
  }
}

.menu__nav {
  align-items: center;
  margin-bottom: 3rem;
  display: flex;
}

.menu__nav a {
  color: var(--color-gray-700);
  border-radius: var(--radius-main);
  cursor: pointer;
  background-color: #0000;
  padding: 1rem 1.5rem;
  font-size: clamp(16px, 1rem + 1vi, 20px);
  line-height: 1.25;
  transition: color .4s ease-in-out, background-color .4s ease-in-out;
  display: block;
}

.menu__nav a.selected {
  color: var(--color-white);
  background-color: var(--color-gray-700);
}

.menu__inner {
  grid-template-columns: repeat(2, auto);
  gap: 1.5rem;
  display: grid;
}

.menu__main {
  max-width: 699px;
  width: 100%;
}

.menu__main-item, .menu__thumb-item {
  max-width: inherit;
  border-radius: var(--radius-main);
  padding: 1.5rem;
}

.menu__main-item {
  background-color: var(--color-milk-100);
}

.menu__main-pic {
  position: relative;
}

.menu__main-img {
  max-width: 651px;
  width: 100%;
  border-radius: var(--radius-main);
  margin-bottom: 24px;
}

.menu__main-cal {
  color: var(--color-gray-680);
  background-color: var(--color-white);
  border-radius: var(--radius-main);
  padding: 8px 1rem;
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
}

.menu__main-title, .menu__thumb-chapter {
  font-size: clamp(26px, 1.5rem + 1vi, 32px);
  font-weight: var(--fw-700);
  letter-spacing: .17rem;
  margin-bottom: 8px;
  line-height: 1.1;
}

.menu__main-title--sub, .menu__thumb-chapter--sub {
  display: none;
}

.menu__main-title {
  line-height: 1.25;
}

.menu__main-desc {
  color: var(--color-gray-680);
  margin-bottom: 1.5rem;
}

.menu__main-semititle {
  font-size: clamp(18px, 1rem + 1vi, 20px);
  font-weight: var(--fw-700);
  color: var(--color-gray-700);
  margin-bottom: 16px;
  line-height: 1.25;
}

.menu__main-ingridients {
  padding-left: 1.75rem;
}

.menu__main-ingridient {
  font-size: clamp(18px, 1rem + 1vi, 20px);
  font-weight: var(--fw-500);
  color: var(--color-gray-680);
  line-height: 1.5;
  list-style: disc;
  display: list-item;
}

.menu__main-ingridient:not(:last-of-type) {
  margin-bottom: 8px;
}

.menu__thumb {
  max-width: 493px;
  width: 100%;
  border-bottom-left-radius: var(--radius-main);
  border-bottom-right-radius: var(--radius-main);
  margin-bottom: 4.375rem;
}

.menu__thumb-wrapper .selected {
  opacity: 1;
}

.menu__thumb-chapter {
  margin-bottom: 16px;
}

.menu__thumb-items {
  margin-bottom: 3rem;
}

.menu__thumb-item {
  justify-content: space-between;
  align-items: center;
  transition: all .4s ease-in-out;
  display: flex;
}

.menu__thumb-item:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

.menu__thumb-item:hover, .menu__thumb-item.selected {
  background-color: var(--color-milk-100);
}

.menu__thumb-img {
  max-width: 159px;
  width: 100%;
  border-radius: var(--radius-main);
  align-self: stretch;
  margin-right: 1.5rem;
}

.menu__thumb-title {
  margin-bottom: 8px;
  font-size: clamp(18px, 1rem + 1vi, 20px);
  line-height: 1.25;
}

.menu__thumb-desc {
  color: var(--color-gray-680);
  text-overflow: ellipsis;
  -webkit-line-clamp: 4;
  height: 96px;
  -webkit-box-orient: vertical;
  font-size: 16px;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.menu__single {
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  gap: 1.5rem;
  margin-bottom: 3rem;
  display: grid;
}

.menu .btn {
  width: 100%;
}

.menu .btn.menu__btn {
  display: none;
}

.menu--all .menu__main, .menu--all .menu__main-img {
  max-width: 761px;
}

.menu--all .menu__main-item {
  min-height: 100%;
  padding-bottom: 3.375rem;
}

.menu--all .menu__wrapper {
  max-width: 431px;
  max-height: 759px;
  margin-bottom: 0;
  padding-right: 24px;
  overflow-y: scroll;
}

.menu--all .menu__wrapper::-webkit-scrollbar {
  width: 12px;
}

.menu--all .menu__wrapper::-webkit-scrollbar-track {
  background: var(--color-milk-100);
  border-radius: var(--radius-main);
}

.menu--all .menu__wrapper::-webkit-scrollbar-thumb {
  background: var(--color-blue-400);
  border-radius: var(--radius-main);
  border: 2px solid var(--color-milk-100);
}

.menu--all .menu__thumb {
  height: 100%;
}

.menu--all .menu__thumb-item {
  max-width: 395px;
}

.menu--gallery .menu__main-title {
  letter-spacing: .05rem;
  font-size: clamp(18px, 1.5rem + 1vi, 24px);
}

.menu--gallery .menu__main-img {
  min-height: 357px;
}

.menu--gallery .btn {
  max-width: 493px;
  margin: 0 auto;
  display: block;
}

@media only screen and (max-width: 992px) {
  .menu__inner {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 14px;
  }

  .menu__nav {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .menu__main {
    max-width: 100%;
    grid-column: 1 / 3;
  }

  .menu__wrapper, .menu__thumb {
    flex-direction: column;
    justify-content: space-evenly;
    margin-bottom: 0;
    display: flex;
  }

  .menu__main-img {
    border-radius: var(--radius-medium);
  }

  .menu__thumb-item {
    border-radius: var(--radius-medium);
    flex-direction: column;
    align-items: center;
    gap: .625rem;
    padding: 16px;
  }

  .menu__thumb-img {
    max-width: 100%;
    height: auto;
    border-radius: inherit;
    margin: 0;
  }

  .menu__thumb-desc {
    display: none;
  }

  .menu--all .menu__wrapper {
    padding-right: 6px;
  }

  .menu--all .menu__thumb {
    display: block;
  }

  .menu--gallery .menu__main-img {
    min-height: 200px;
  }
}

@media only screen and (max-width: 768px) {
  .menu__inner {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 20px;
  }

  .menu__wrapper {
    grid-row: 1;
    margin-bottom: 24px;
  }

  .menu .btn {
    display: none;
  }

  .menu .btn.menu__btn {
    display: block;
  }

  .menu__thumb {
    width: 100%;
    flex-direction: row;
    margin: 0 auto;
  }

  .menu__thumb-chapter {
    margin-bottom: 0;
    font-size: 0;
  }

  .menu__thumb-items {
    margin-bottom: 16px;
  }

  .menu__thumb-item {
    opacity: .6;
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 12px;
  }

  .menu__thumb-item:not(:last-of-type) {
    margin-bottom: 0;
  }

  .menu__thumb-item.selected {
    opacity: 1;
  }

  .menu__thumb-img {
    min-height: 100px;
  }

  .menu__single {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }

  .menu__single .menu__main-item {
    max-width: 100%;
    padding: 16px;
  }

  .menu__single .menu__main-title {
    letter-spacing: 0;
  }

  .menu--all .menu__wrapper {
    min-width: 100%;
    max-height: 250px;
    margin: 0 auto 24px;
  }

  .menu--all .menu__thumb {
    min-width: 100%;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: column;
    gap: 10px 0;
    display: grid;
  }

  .menu--all .menu__thumb-chapter {
    grid-column: 1 / span 3;
  }

  .menu--all .menu__thumb-chapter--sub {
    height: max-content;
    padding-inline: 10px;
    font-size: 24px;
    line-height: 1.5;
    display: block;
  }

  .menu--all .menu__thumb-items:not(.menu__thumb-items--signle) {
    grid-column: 1 / 3;
    display: flex;
  }

  .menu--all .menu__thumb-items--signle {
    grid-column: 3 / 4;
  }

  .menu--all .menu__thumb-items {
    margin-bottom: 0;
  }

  .menu--gallery .btn {
    display: block;
  }

  .menu__thumb-title {
    display: none;
  }

  .menu__thumb-chapter {
    letter-spacing: .1rem;
    font-size: 20px;
  }
}

@media only screen and (max-width: 475px) {
  .menu__nav {
    justify-content: space-between;
  }

  .menu__nav li {
    margin: 0 auto;
  }

  .menu__main-img, .menu__thumb-item {
    border-radius: var(--radius-small);
  }

  .menu--all .menu__thumb-item {
    padding: 6px;
  }

  .menu--all .menu__thumb-img {
    min-height: 85px;
  }
}

@media only screen and (max-width: 374px) {
  .menu__nav a {
    font-size: 16px;
  }

  .menu--all .menu__wrapper {
    max-width: 100%;
  }
}

.cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  display: grid;
}

.cards__item {
  background-color: var(--color-milk-100);
  border-radius: var(--radius-main);
  grid-template-columns: 1fr;
  padding: 1.5rem;
  display: grid;
  overflow: hidden;
}

.cards h3 {
  letter-spacing: 0;
  margin-bottom: 8px;
  line-height: 1.5;
}

.cards__decore {
  font-weight: var(--fw-700);
  color: var(--color-blue-400);
  letter-spacing: .17rem;
  margin-bottom: 32px;
  font-size: clamp(32px, 2rem + 2vi, 48px);
  line-height: 1.25;
}

.cards__icon {
  padding-top: 96px;
  position: relative;
}

.cards__icon:before {
  content: "";
  height: 64px;
  width: 64px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.cards__icon--star:before {
  background-image: var(--icon-star);
}

.cards__icon--check:before {
  background-image: var(--icon-check);
}

.cards__icon--heart:before {
  background-image: var(--icon-heart);
}

.cards--four {
  grid-template-columns: repeat(4, 1fr);
}

@media only screen and (max-width: 992px) {
  .cards--four {
    grid-template-columns: repeat(2, 1fr);
  }

  .cards--four .cards__item:last-of-type {
    width: 100%;
    grid-column: auto;
  }
}

.cards--two {
  grid-template-columns: repeat(2, 1fr);
}

.cards--two .cards__item {
  grid-auto-rows: max-content;
  padding-block: 1.5rem 2.75rem;
}

@media only screen and (max-width: 992px) {
  .cards--two .cards__item:last-of-type {
    width: 100%;
    grid-column: auto;
  }
}

.cards--pseudo {
  counter-reset: counter;
}

.cards--pseudo .cards__decore {
  padding-top: 60px;
  position: relative;
}

.cards--pseudo .cards__decore:before {
  content: "0" counter(counter);
  counter-increment: counter;
  position: absolute;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 992px) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 1fr;
  }

  .cards__item {
    width: 100%;
  }

  .cards__item:last-of-type {
    width: 48%;
    grid-column: 1 / 4;
    justify-self: center;
  }

  .cards__icon {
    padding-top: 66px;
  }

  .cards__icon:before {
    height: 48px;
    width: 48px;
  }

  .cards__decore {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .cards {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    justify-items: center;
  }

  .cards__item:last-of-type {
    width: 100%;
    grid-column: auto;
  }

  .cards__icon {
    font-weight: var(--fw-600);
  }
}

.info {
  padding: 0 0 5.5rem;
}

.info__title {
  margin-bottom: 1.5rem;
}

.info h3 {
  margin-bottom: 8px;
}

@media only screen and (max-width: 992px) {
  .info {
    padding: 0 0 2.75rem;
  }
}

.special__title, .special__desc {
  width: 74%;
  margin-bottom: 1.5rem;
}

.special__slider {
  position: relative;
}

.special__items {
  padding-bottom: 2rem;
}

.special__item {
  min-height: 682px;
  border-radius: var(--radius-main);
  visibility: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  align-items: center;
  padding-left: 8rem;
  display: flex;
}

.special__item.swiper-slide-active {
  visibility: visible;
}

.special__content {
  max-width: 548px;
  width: 100%;
  background-color: var(--color-white);
  border-radius: var(--radius-main);
  padding: 1.5rem;
}

.special h3 {
  letter-spacing: .28rem;
  text-transform: capitalize;
  margin-bottom: 16px;
  font-size: clamp(32px, 1.5rem + 2vi, 48px);
}

.special__img {
  max-width: 1216px;
  width: 100%;
  border-radius: var(--radius-main);
}

@media only screen and (max-width: 992px) {
  .special__item {
    min-height: auto;
    padding-block: 6.25rem;
    padding-inline: 5.625rem;
  }
}

@media only screen and (max-width: 768px) {
  .special__title, .special__desc {
    width: 100%;
  }

  .special__item {
    padding-inline: 4.375rem;
  }
}

@media only screen and (max-width: 576px) {
  .special__items {
    padding-bottom: 60px;
  }

  .special__item {
    padding-block: 3.75rem;
    padding-inline: .625rem;
  }

  .special__img {
    max-height: 350px;
  }

  .special h3 {
    letter-spacing: .1rem;
    font-size: 28px;
  }

  .special .swiper-button.swiper-button-next, .special .swiper-button.swiper-button-prev {
    top: auto;
    bottom: 0;
    transform: translateY(0);
  }

  .special .swiper-pagination-bullets.swiper-pagination {
    position: absolute;
    bottom: 18px;
  }
}

@keyframes toplinecross {
  0% {
    transform: translateY(var(--move-decrement));
  }

  50% {
    transform: translateY(0);
  }

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

@keyframes bottomlinecross {
  0% {
    transform: translateY(var(--move));
  }

  50% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(0)rotate(-45deg);
  }
}

@keyframes toplineburger {
  0% {
    transform: rotate(45deg);
  }

  50% {
    transform: rotate(0);
  }

  100% {
    transform: translateY(var(--move-decrement)) rotate(0);
  }
}

@keyframes bottomlineburger {
  0% {
    transform: translateY(0)rotate(-45deg);
  }

  50% {
    transform: rotate(0);
  }

  100% {
    transform: translateY(var(--move)) rotate(0);
  }
}

.request {
  background-color: var(--color-milk-100);
  border-top-left-radius: var(--radius-background);
  border-top-right-radius: var(--radius-background);
}

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

.request__form {
  max-width: 699px;
  width: 100%;
  background-color: var(--color-blue-400);
  border-radius: var(--radius-main);
  flex-direction: column;
  padding: 2rem;
  display: flex;
}

.request label:not(:last-of-type) {
  margin-bottom: 16px;
}

.request label:last-of-type {
  margin-bottom: 26px;
}

.request input, .request textarea {
  width: 100%;
  background-color: var(--color-white);
  border-radius: var(--radius-medium);
  border: none;
  display: inline-block;
}

.request input {
  padding: 21px 16px;
}

.request textarea {
  min-height: 9.75rem;
  resize: none;
  padding: 16px;
}

.request h2 {
  margin-bottom: .75rem;
}

@media only screen and (max-width: 1180px) {
  .request__inner {
    flex-direction: column;
  }

  .request h2 {
    margin-bottom: 24px;
  }

  .request {
    border-top-left-radius: var(--radius-main);
    border-top-right-radius: var(--radius-main);
  }
}

@media only screen and (max-width: 576px) {
  .request__form, .request input, .request textarea {
    border-radius: var(--radius-small);
  }

  .request__form {
    padding: 24px 16px;
  }
}

.policy h1 {
  text-transform: capitalize;
  margin-bottom: 3rem;
}

.policy h1 + p:not(:last-child) {
  margin-bottom: 4rem;
}

.policy h2 {
  font-weight: var(--fw-600);
  letter-spacing: 0;
  text-transform: capitalize;
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 1.15;
}

.policy p, .policy a, .policy li {
  font-size: 20px;
  line-height: 1.25;
}

.policy p:not(:last-child) {
  margin-bottom: 1.5625rem;
}

.policy a {
  color: var(--color-blue-400);
  text-decoration: underline;
}

.policy ul {
  margin-bottom: 30px;
  padding-left: 15px;
  font-weight: 500;
}

.policy li {
  list-style-type: disc;
}

.policy li:not(:last-child) {
  margin-bottom: 12px;
}

.footer {
  padding: 3rem 0;
}

.footer__inner {
  max-width: 1336px;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 12px;
  display: flex;
}

@media only screen and (max-width: 768px) {
  .footer__inner {
    text-align: center;
    flex-direction: column-reverse;
    gap: 30px;
  }
}

.footer__nav {
  align-items: center;
  display: flex;
}

.footer__item:not(:last-child) {
  margin-right: 1.5rem;
}

.footer__link {
  font-weight: var(--fw-600);
  line-height: 1.5;
}

.reviews {
  padding: 4rem 0;
}

.reviews svg {
  max-height: 24px;
  margin-bottom: 16px;
}

.reviews p {
  color: var(--color-gray-780);
  margin-bottom: 3rem;
}

.reviews h3 {
  font-size: 20px;
  line-height: 1.25;
}

.reviews .cards h3 {
  place-self: end;
}

@media only screen and (max-width: 768px) {
  .reviews .cards h3 {
    justify-self: start;
  }
}

.service {
  padding: 4.5625rem 0;
}

.service__grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  display: grid;
}

.service__grid:not(:last-child) {
  margin-bottom: 3.75rem;
}

.service__grid:nth-child(2n) .service__image {
  grid-column: 1 / 2;
}

.service__grid:nth-child(2n) .service__content {
  grid-area: 1 / 2 / 2 / 3;
}

.service__list {
  margin-bottom: 5rem;
}

.service__content {
  border-radius: calc(var(--radius-main) * 2);
  background-color: var(--color-gray-400);
  padding: 2.125rem 2.0625rem;
  overflow: hidden;
}

.service__image {
  border-radius: calc(var(--radius-main) * 2);
  overflow: hidden;
}

.service__image img {
  width: 100%;
  height: 100%;
}

.service h2 {
  margin: 0 auto 1.4375rem;
}

.service h3 {
  text-transform: capitalize;
  margin-bottom: 17px;
  font-size: 32px;
}

.service p {
  font-size: 20px;
}

.service .btn {
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .service {
    padding: 30px 0;
  }

  .service__list {
    margin-bottom: 30px;
  }

  .service__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .service__grid:not(:last-child) {
    margin-bottom: 30px;
  }

  .service__grid:nth-child(2n) .service__image {
    grid-column: auto;
  }

  .service__grid:nth-child(2n) .service__content {
    grid-area: auto;
  }

  .service__content {
    padding: 20px;
  }
}

.team__cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  display: grid;
}

.team__card {
  padding: 1.5rem;
}

.team__img {
  max-width: 342px;
  width: 100%;
  border-radius: var(--radius-medium);
  margin-bottom: 2rem;
}

.team__name {
  color: var(--color-blue-400);
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.5;
}

@media only screen and (max-width: 992px) {
  .team__cards {
    grid-template-columns: 1fr;
    gap: 2.75rem 0;
  }

  .team__card {
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
    gap: 0 24px;
    padding: 16px;
    display: grid;
  }

  .team__card:nth-child(2n) .team__img {
    grid-column: 2 / 4;
    justify-self: end;
  }

  .team__img {
    grid-row: 1 / 3;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 768px) {
  .team__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .team__card {
    grid-template-columns: 1fr;
    place-items: start center;
  }

  .team__card:last-of-type {
    width: 48%;
    grid-column: 1 / 3;
    justify-self: center;
  }

  .team__card:nth-child(2n) .team__img {
    grid-column: auto;
    justify-self: auto;
  }

  .team .team__img {
    grid-row: auto;
    margin-bottom: 16px;
  }
}

@media only screen and (max-width: 576px) {
  .team__cards {
    grid-template-columns: 1fr;
  }

  .team__card {
    justify-items: start;
  }

  .team__card:last-of-type {
    width: 100%;
    grid-column: auto;
  }

  .team p {
    font-size: 16px;
  }
}

.faq__item:not(:last-child) {
  margin-bottom: 1.5rem;
}

.faq details {
  border: 2px solid var(--color-blue-400);
  border-radius: var(--radius-main);
  padding-block: 24px 6px;
  padding-inline: 24px 106px;
  transition: height .3s ease-in;
  position: relative;
}

.faq details:before {
  content: "";
  width: 17px;
  height: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: var(--icon-faq);
  position: absolute;
  top: 50%;
  right: 54px;
  overflow: hidden;
  transform: translateY(-50%)rotate3d(0, 0, 1, 180deg);
}

.faq details[open] {
  padding-bottom: 24px;
}

.faq details[open]:before {
  rotate: -180deg;
}

.faq details[open] summary {
  margin-bottom: 1.5rem;
}

.faq details p {
  font-size: 16px;
  line-height: 1.15;
}

.faq summary {
  font-weight: var(--fw-600);
  cursor: pointer;
  margin-bottom: 24px;
  font-size: clamp(20px, 1rem + 1vi, 24px);
  line-height: 1.3;
  transition: margin-bottom .3s ease-in-out;
}

@media only screen and (max-width: 768px) {
  .faq details {
    padding-right: 44px;
  }

  .faq details:before {
    top: 2.125rem;
    right: 20px;
    transform: translateY(0)rotate3d(0, 0, 1, 180deg);
  }
}

.contacts h2 {
  margin-bottom: 2rem;
}

.contacts__items {
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 0 1.5rem;
  display: grid;
}

.contacts__link {
  font-weight: var(--fw-500);
  color: var(--color-gray-700);
  padding-block: 14px;
  padding-inline: 86px 5px;
  font-size: clamp(20px, 1rem + 1vi, 24px);
  line-height: 1.5;
  display: block;
  position: relative;
}

.contacts__link:before {
  content: "";
  width: 64px;
  height: 64px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.contacts__link--mail:before {
  background-image: var(--icon-mail);
}

.contacts__link--tel:before {
  background-image: var(--icon-tel);
}

.contacts__link--hours:before {
  background-image: var(--icon-hours);
}

.contacts__link span {
  font-weight: var(--fw-600);
  display: block;
}

@media only screen and (max-width: 992px) {
  .contacts__link {
    padding-left: 64px;
  }

  .contacts__link:before {
    width: 40px;
    height: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .contacts__link {
    padding-left: 48px;
    font-size: 18px;
  }
}

@media only screen and (max-width: 576px) {
  .contacts__items {
    grid-template-columns: 1fr;
  }
}

