@charset "UTF-8";

@font-face {
  font-family: "OverusedGrotesk-Bold";
  src:
    url("../fonts/OverusedGrotesk-Bold.woff2") format("woff2"),
    url("../fonts/OverusedGrotesk-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OverusedGrotesk-Medium";
  src:
    url("../fonts/OverusedGrotesk-Medium.woff2") format("woff2"),
    url("../fonts/OverusedGrotesk-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OverusedGrotesk-Regular";
  src:
    url("../fonts/OverusedGrotesk-Regular.woff2") format("woff2"),
    url("../fonts/OverusedGrotesk-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "OverusedGrotesk-SemiBold";
  src:
    url("../fonts/OverusedGrotesk-SemiBold.woff2") format("woff2"),
    url("../fonts/OverusedGrotesk-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

: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-heading: "neulis-sans", var(--default-font-family);
  --ff-body-rg: "OverusedGrotesk-Regular", var(--default-font-family);
  --ff-body-md: "OverusedGrotesk-Medium", var(--default-font-family);
  --ff-body-sb: "OverusedGrotesk-SemiBold", var(--default-font-family);
  --ff-body-bd: "OverusedGrotesk-Bold", var(--default-font-family);
  --fw-sb: 600;
  /* Colors */
  --white: #fff;
  --black: #000;
  /* Text colors */
  --text-primary: #000;
  --text-primary-hover: #ec2705;
  --text-muted: #7e7e7e;
  --text-white: #fff;
  /* Background colors */
  --bg-primary: #f4f4f4;
  --bg-white: #fff;
  --bg-accent-500: #ec2705;
  --bg-accent-700: #c82828;
  --bg-neutral-300: #e3e4e8;
  --bg-neutral-500: #d6d9e0;
  --bg-dark-700: #0f141a;
  --bg-black: #050505;
  --bg-warm-900: #2c2626;
  --bg-slate-700: #49535c;
  /* Z-index */
  --z-index-behind: -2;
  --z-index-default: 0;
  --z-index-above: 2;
  --z-index-dropdown: 100;
  --z-index-modal: 1000;
  /* Radius */
  --radius: clamp(0.4rem, calc(0.36rem + 0.25vw), 0.6rem);
  --radius-md: calc(var(--radius) * 1.66);
  --radius-xl: calc(var(--radius) * 10);
}

html {
  font-size: 20px;
}
body {
  font-family: var(--ff-body-rg);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  background-color: var(--bg-primary);
}
:is(h1, h2, h3, h4) {
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
button {
	outline: none;
}
a:is(:link, :visited) {
  color: var(--text-primary);
  transition:
    color 0.2s ease-in-out,
    border-bottom-color 0.2s ease-in-out;
  text-decoration: none;
  border-block-end: solid 1px;
}
a:hover {
  color: var(--text-primary-hover);
  border-block-end-color: transparent;
}
:is(a, button, [role="button"]):focus-visible {
  outline: 2px dashed var(--text-primary-hover);
  outline-offset: 4px;
}
a.cta-link {
  --_padding-block: clamp(0.35rem, calc(0.3rem + 0.25vw), 0.55rem);
  --_color: var(--text-white);
  --_bg: var(--bg-accent-500);
  --_hover-bg: var(--bg-dark-700);
  --_focus-outline: var(--bg-dark-700);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.5rem, calc(0.45rem + 0.25vw), 0.7rem);
  min-block-size: clamp(2.8rem, calc(2.65rem + 0.75vw), 3.4rem);
  padding-block: calc(var(--_padding-block) * 2);
  padding-inline: clamp(1.4rem, calc(1rem + 2vw), 3rem);
  overflow: hidden;
  isolation: isolate;
  color: var(--_color);
  background-color: var(--_bg);
  border: 0;
  border-radius: var(--radius);
  font-family: var(--ff-heading);
  line-height: 1.2;
  text-align: center;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    box-shadow 260ms ease;
}
a.cta-link__icon {
  padding-block: var(--_padding-block);
}
a.cta-link img {
  --icon-dim: clamp(1.2rem, calc(1.12rem + 0.5vw), 1.6rem);
  position: relative;
  z-index: var(--z-index-above);
  flex: 0 0 auto;
  inline-size: var(--icon-dim);
  block-size: var(--icon-dim);
  object-fit: contain;
}
a.cta-link::before,
a.cta-link::after {
  content: "";
  position: absolute;
  z-index: var(--z-index-behind);
  inset: 0;
  border-radius: inherit;
  background-color: var(--_hover-bg);
  pointer-events: none;
}
a.cta-link::before {
  -webkit-transform: translateX(-101%);
  transform: translateX(-101%);
  transition:
    -webkit-transform 680ms cubic-bezier(0.78, 0, 0.18, 1),
    transform 680ms cubic-bezier(0.78, 0, 0.18, 1);
}
a.cta-link::after {
  opacity: 0.35;
  -webkit-transform: translateX(-101%);
  transform: translateX(-101%);
  transition:
    -webkit-transform 920ms cubic-bezier(0.78, 0, 0.18, 1) 90ms,
    transform 920ms cubic-bezier(0.78, 0, 0.18, 1) 90ms,
    opacity 320ms ease 160ms;
}
a.cta-link:hover,
a.cta-link:focus-visible {
  color: var(--text-white);
  background-color: var(--_bg);
  border-block-end-color: transparent;
}
a.cta-link:hover::before,
a.cta-link:hover::after,
a.cta-link:focus-visible::before,
a.cta-link:focus-visible::after {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
a.cta-link:hover::after,
a.cta-link:focus-visible::after {
  opacity: 0;
}
a.cta-link:hover {
  box-shadow: 0 0.1rem 0.5rem rgb(0 0 0 / 10%);
}
a.cta-link:focus-visible {
  outline: 0.1rem dashed var(--_focus-outline);
  outline-offset: 0.2rem;
}
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: -3.333rem;
  inset-inline-start: 50%;
  background: var(--text-primary-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: 1.667rem;
}
.section-py {
  padding-block: clamp(2.5rem, calc(2rem + 3.125vw), 5rem);
}
.img-object-cover {
  object-fit: cover;
}
.higher-z-index {
  z-index: 100;
}
.isolation {
  isolation: isolate;
}
.pos-relative-mobile {
  position: absolute;
}
.row-gutters-lg {
  --gutter-lg: clamp(1rem, calc(0.9rem + 0.562vw), 1.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.2rem, calc(0.18rem + 0.125vw), 0.3rem);
  margin-inline: calc(-1 * var(--gutter-sm));
}
.row-gutters-sm > [class^="col-"],
.row-gutters-sm > [class*=" col-"] {
  padding-inline: var(--gutter-sm);
}
.bg__primary {
  background-color: var(--bg-primary);
}
.bg__white {
  background-color: var(--bg-white);
}
.bg__accent {
  background-color: var(--bg-accent-500);
}
.bg__accent-dark {
  background-color: var(--bg-accent-700);
}
.bg__neutral {
  background-color: var(--bg-neutral-300);
}
.bg__neutral-dark {
  background-color: var(--bg-neutral-500);
}
.bg__deep {
  background-color: var(--bg-dark-700);
}
.bg__black {
  background-color: var(--bg-black);
}
.bg__warm-dark {
  background-color: var(--bg-warm-900);
}
.bg__slate {
  background-color: var(--bg-slate-700);
}
.bg__img {
  inset-block-start: 0;
  inset-inline: 15px;
  inline-size: calc(100% - 30px);
  block-size: 100%;
}

.title-box {
  position: relative;
}
.text-white .title-box {
  color: var(--white);
}
.title-box > * {
  position: relative;
  font-family: var(--ff-heading);
  font-weight: var(--fw-sb);
  text-wrap: balance;
  line-height: 1.2em;
}
.title-box :is(h1, h2) {
  font-size: clamp(1.7rem, calc(1.54rem + 1vw), 2.5rem);
}
.title-box small {
  font-size: inherit;
  color: inherit;
}

/* Radius */

.radius-default {
  border-radius: var(--radius);
}
.radius-md {
  border-radius: var(--radius-md);
}
.curve__tl {
  border-start-start-radius: var(--radius-xl);
}
.curve__tr {
  border-start-end-radius: var(--radius-xl);
}
.curve__bl {
  border-end-start-radius: var(--radius-xl);
}
.curve__br {
  border-end-end-radius: var(--radius-xl);
}

/* Circles-Wrapper */

.circles-wrapper {
  --_circle-size: clamp(2.1rem, calc(1.9rem + 1vw), 3.1rem);
  --_circle-offset: clamp(0.3rem, calc(0.25rem + 0.25vw), 0.5rem);
  flex: none;
}
.circles-wrapper__single {
  inline-size: var(--_circle-size);
}
.circles-wrapper__two {
  inline-size: calc((var(--_circle-size) * 2) - var(--_circle-offset));
}
.circle-img {
  position: relative;
  flex: 0 0 var(--_circle-size);
  inline-size: var(--_circle-size);
  block-size: var(--_circle-size);
  overflow: hidden;
  border-radius: 50%;
  z-index: var(--z-index-default);
}
.circles-wrapper__two .circle-img + .circle-img {
  margin-inline-start: calc(-1 * var(--_circle-offset));
  z-index: var(--z-index-above);
}
.circle-img picture,
.circle-img img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.circle-img img {
  object-fit: cover;
}

/* animate.css */

.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 zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
}

/* Topbar ............................................................... */

.topbar {
  --_font-size: 0.85rem;
  --_item-gap: clamp(0.6rem, calc(0.5rem + 0.5vw), 1.1rem);
  font-size: var(--_font-size);
}
.topbar__inner {
  min-block-size: clamp(2.3rem, calc(2.15rem + 0.75vw), 2.8rem);
  gap: clamp(1rem, calc(0.6rem + 2vw), 3rem);
}
.topbar__address {
  display: flex;
  align-items: center;
  margin: 0;
  color: var(--text-white);
  font-size: var(--_font-size);
  font-style: normal;
  white-space: nowrap;
}
.topbar__address p{
  margin-bottom:0;
  padding-bottom:0;
}
.topbar__address span:not(:last-child)::after,
.topbar__list li:not(:last-child)::after {
  content: "|";
  padding-inline: 0.25rem;
  color: currentColor;
}
.topbar__location-list {
  gap: var(--_item-gap);
}
a.topbar__link,
a.topbar__location-link {
  color: var(--text-white);
  font-size: var(--_font-size);
  border-block-end-color: transparent;
  white-space: nowrap;
}
a.topbar__link:hover,
a.topbar__link:focus-visible {
  color: color-mix(in srgb, var(--text-white) 75%, var(--bg-accent-500));
  border-block-end-color: currentColor;
}
a.topbar__location-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 0.35rem;
  padding-inline: clamp(0.75rem, calc(0.65rem + 0.5vw), 1rem);
  background-color: var(--bg-accent-700);
  border: 1px solid
    color-mix(in srgb, var(--bg-accent-500) 65%, var(--bg-white));
  border-radius: 0.2rem;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease;
}
a.topbar__location-link:hover {
  color: var(--text-white);
  background-color: var(--bg-dark-700);
  border-color: color-mix(in srgb, var(--bg-dark-700) 70%, var(--bg-white));
}
a.topbar__location-link:focus-visible {
  color: var(--text-white);
  background-color: var(--bg-dark-700);
  border-color: var(--bg-white);
  outline: 0.1rem dashed var(--bg-white);
  outline-offset: 0.15rem;
}

/* Header ............................................................... */

.header {
  --ml-size: clamp(4.8rem, calc(4.35rem + 2.25vw), 6rem);
  --nav-fs: clamp(0.8rem, calc(0.77rem + 0.15vw), 0.95rem);
  --header-gap: clamp(0.75rem, calc(0.4rem + 1.8vw), 2.5rem);
  --header-padding-block: clamp(1rem, calc(0.95rem + 0.312vw), 1.25rem);
  --header-bar-padding-block: clamp(0.45rem, calc(0.37rem + 0.4vw), 0.9rem);
  --header-bar-padding-inline: clamp(0.75rem, calc(0.57rem + 0.9vw), 0.9rem);
  --logo-offset: clamp(0.5rem, calc(0.35rem + 0.75vw), 0.75rem);
  position: relative;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  padding-block: var(--header-padding-block);
  z-index: var(--z-index-modal);
  will-change: transform;
}
.header.scroll {
  position: fixed;
  padding-block: 0.5rem;
  background-color: var(--bg-primary);
  -webkit-box-shadow: 0 0.6rem 0.3rem -0.3rem rgb(0 0 0 / 5%);
  box-shadow: 0 0.6rem 0.3rem -0.3rem rgb(0 0 0 / 5%);
  -webkit-animation: animateNav 0.4s linear;
  animation: animateNav 0.4s linear;
}
@-webkit-keyframes animateNav {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes animateNav {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.header-bar {
  position: relative;
  gap: var(--header-gap);
  min-block-size: clamp(3.9rem, calc(3.52rem + 1.9vw), 5.8rem);
  padding-block: var(--header-bar-padding-block);
  padding-inline: var(--header-bar-padding-inline);
  padding-inline-start: calc(var(--ml-size) + var(--header-bar-padding-inline));
  color: var(--text-primary);
  background-color: var(--bg-white);
  border-radius: var(--radius);
  -webkit-box-shadow: 0 0.95rem 4.6rem 1.9rem rgb(101 101 101 / 8%);
  box-shadow: 0 0.95rem 4.6rem 1.9rem rgb(101 101 101 / 8%);
}
.main-logo {
  position: absolute;
  inset-block-start: var(--logo-offset);
  inset-inline-start: calc(
    var(--header-bar-padding-inline) + var(--logo-offset)
  );
  inline-size: var(--ml-size);
  z-index: var(--z-index-dropdown);
  -webkit-transform: none;
  transform: none;
  transition:
    inset-block-start 300ms ease,
    inline-size 300ms ease,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.main-logo.scroll {
  inset-block-start: 50%;
  inline-size: calc(var(--ml-size) / 1.75);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.main-logo > a {
  display: block;
}
.main-logo img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.mainNavigation {
  flex: 1 1 auto;
  padding: 0;
}
.mainNavigation .navbar-collapse {
  display: flex !important;
}
.mainNavigation .navbar-nav {
  align-items: center;
  margin: 0;
  gap: clamp(1rem, calc(0.55rem + 2vw), 3.5rem);
}
.mainNavigation .nav-link {
  position: relative;
  padding: 0 !important;
  color: var(--text-primary) !important;
  border-block-end: 0;
  font-family: var(--ff-body-sb);
  font-size: var(--nav-fs);
  line-height: 1.3;
  white-space: nowrap;
}
.mainNavigation .dropdown-toggle::after {
  display: none;
}
.mainNavigation .nav-link span {
  position: relative;
  display: inline-block;
}
.mainNavigation .nav-link span::after {
  content: "";
  position: absolute;
  inset-block-end: -0.3rem;
  inset-inline-start: 50%;
  inline-size: 0;
  block-size: 0.05rem;
  background-color: var(--bg-accent-500);
  opacity: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition:
    inline-size 300ms ease,
    opacity 300ms ease;
}
.mainNavigation .nav-link.hi span::after,
.mainNavigation .nav-link:hover span::after,
.mainNavigation .nav-link:focus-visible span::after {
  inline-size: 100%;
  opacity: 1;
}
.mainNavigation .dropdown-menu {
  display: block;
  min-inline-size: 18rem;
  margin-block-start: 1rem;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  background-color: transparent;
  border: 0;
  border-radius: var(--radius);
  -webkit-box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 10%);
  box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 10%);
  -webkit-transform: translateY(1rem);
  transform: translateY(1rem);
  transition:
    opacity 300ms ease,
    visibility 300ms step-end,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.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-item {
  padding-block: 0.65rem;
  padding-inline: 1rem;
  color: var(--text-primary);
  background-color: var(--bg-white);
  border-block-end: 0.05rem solid
    color-mix(in srgb, var(--text-primary) 12%, transparent);
  font-size: var(--nav-fs);
  line-height: 1.4;
  transition:
    color 250ms ease,
    background-color 250ms ease;
}
.mainNavigation .dropdown-item:last-child {
  border-block-end: 0;
}
.mainNavigation .dropdown-item.hi,
.mainNavigation .dropdown-item:hover {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
}
.mainNavigation .dropdown-item:focus-visible {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
  outline: 0.1rem dashed var(--text-primary);
  outline-offset: -0.2rem;
}
.header-actions {
  flex: 0 0 auto;
}
a.header-cta {
  padding-inline: clamp(1.25rem, calc(0.9rem + 1.75vw), 3rem);
  font-size: var(--nav-fs);
  white-space: nowrap;
}
#navtoggler {
  display: none;
}
.offcanvas-menu {
  --offcanvas-fs: clamp(1.1rem, calc(1rem + 0.5vw), 1.4rem);
  --oc-accent: var(--text-primary-hover);
  position: fixed;
  inset: 0 auto 0 0;
  inline-size: 100%;
  max-inline-size: 28rem;
  min-block-size: 100dvh;
  padding-block: 1.5rem;
  padding-inline: 1.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: var(--bg-dark-700);
  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;
}
.offcanvas-menu.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
#offcanvas-glow {
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: 40dvh;
  pointer-events: none;
}
#offcanvas-glow::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      95% 55% at 50% 0%,
      color-mix(in srgb, var(--bg-accent-500) 25%, transparent) 0%,
      transparent 75%
    ),
    radial-gradient(
      140% 95% at 50% 0%,
      color-mix(in srgb, var(--bg-accent-500) 18%, transparent) 0%,
      transparent 75%
    );
  filter: blur(1.5rem);
  opacity: 0.55;
}
.offcanvas-header {
  position: relative;
  z-index: var(--z-index-above);
  margin-block-end: 2rem;
}
.offcanvas-close {
  position: relative;
  inline-size: 3.25rem;
  block-size: 3.25rem;
  padding: 0;
  background-color: transparent;
  border: 0.075rem solid var(--white);
  border-radius: 50%;
  transition:
    border-color 250ms ease,
    -webkit-transform 250ms ease,
    transform 250ms ease;
}
.offcanvas-close:hover {
  border-color: var(--bg-accent-500);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.offcanvas-close:focus-visible {
  outline: 0.1rem dashed var(--text-primary-hover);
  outline-offset: 0.25rem;
}
.close-line {
  position: absolute;
  inline-size: 1.1rem;
  block-size: 0.1rem;
  background-color: var(--white);
}
.close-line:first-child {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.close-line:last-child {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.offcanvas-nav,
.offcanvas-info {
  position: relative;
  z-index: var(--z-index-above);
}
.offcanvas-list > li {
  margin-block-end: 1rem;
}
.offcanvas-nav a:not(.cta-link),
.offcanvas-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
  padding: 0;
  color: var(--text-white);
  background: transparent;
  border: 0;
  border-block-end-color: transparent;
  font-size: var(--offcanvas-fs);
  text-align: start;
  transition: color 200ms ease;
}
.offcanvas-nav a:not(.cta-link).hi,
.offcanvas-nav button.hi,
.offcanvas-nav a:not(.cta-link):hover,
.offcanvas-nav button:hover {
  color: var(--oc-accent);
}
.offcanvas-nav a:not(.cta-link):focus-visible,
.offcanvas-nav button:focus-visible {
  outline: 0.1rem dashed var(--white);
  outline-offset: 0.25rem;
}
.offcanvas-nav .dropdown-toggle::after {
  content: none;
}
.offcanvas-chevron {
  flex: 0 0 auto;
  inline-size: 0.75rem;
  block-size: 0.75rem;
  margin-inline-start: 0.75rem;
  border-inline-end: 0.1rem solid currentColor;
  border-block-end: 0.1rem solid currentColor;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition:
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.has-dropdown.open > .dropdown-toggle .offcanvas-chevron {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.offcanvas-nav .dropdown {
  max-block-size: 0;
  padding-block: 0;
  overflow: hidden;
  opacity: 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;
}
.offcanvas-nav .dropdown.active {
  max-block-size: 100rem;
  padding-block: 0.8rem 0.2rem;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.offcanvas-nav .dropdown.level-1 > li > a {
  padding-block: 0.55rem;
  border-block-end: 0.05rem solid
    color-mix(in srgb, var(--white) 25%, transparent);
  font-size: 0.9rem;
}
.offcanvas-nav .dropdown.level-1 > li:last-child > a {
  border-block-end: 0;
}
.offcanvas-cta {
  margin-block-start: 1.5rem;
}
.offcanvas-cta a.cta-link {
  --_hover-bg: color-mix(in srgb, var(--bg-accent-500) 82%, var(--white));
  inline-size: 100%;
}
.offcanvas-info {
  display: grid;
  row-gap: 1.5rem;
  margin-block-start: 2rem;
  padding-block-start: 2rem;
  border-block-start: 0.05rem solid
    color-mix(in srgb, var(--white) 25%, transparent);
  color: var(--text-white);
}
.offcanvas-info__address {
  display: grid;
  row-gap: 0.35rem;
  margin: 0;
  font-style: normal;
}
.offcanvas-info :is(ul) {
  display: grid;
  row-gap: 0.65rem;
}
.offcanvas-info a {
  color: var(--text-white);
  border-block-end-color: transparent;
}
.offcanvas-info a:hover {
  color: var(--text-primary-hover);
}
.offcanvas-info a:focus-visible {
  outline-color: var(--white);
}
.offcanvas-info__locations ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.offcanvas-info__locations a {
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: 100%;
  padding-block: 0.6rem;
  padding-inline: 0.75rem;
  background-color: var(--bg-accent-700);
  border: 0.05rem solid
    color-mix(in srgb, var(--bg-accent-500) 65%, var(--bg-white));
  border-radius: 0.2rem;
  text-align: center;
}
.offcanvas-info__locations a:hover {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
}
@media screen and (max-width: 1199px) {
  .header {
    --ml-size: 6.5rem;
    --header-gap: 1rem;
  }
  .mainNavigation .navbar-nav {
    gap: 1rem;
  }
  a.header-cta {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 991px) {
  body.offcanvas-open {
    overflow: hidden;
    touch-action: none;
  }
  .header,
  .header.scroll {
    padding-block: 0;
  }
  .header > * {
    padding-inline: 0;
  }
  .header-bar {
    min-block-size: auto;
    padding-block: 0.4rem;
    padding-inline: 0.75rem;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  .main-logo,
  .main-logo.scroll {
    position: relative;
    inset: auto;
    inline-size: clamp(2.67rem, 12vw, 3.67rem);
    -webkit-transform: none;
    transform: none;
  }
  .mainNavigation,
  .header-actions {
    display: none !important;
  }
  #navtoggler {
    display: flex;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    inline-size: 2rem;
    block-size: 2rem;
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: 0;
    cursor: pointer;
  }
  #navtoggler:focus-visible {
    outline: 0.1rem dashed var(--text-primary-hover);
    outline-offset: 0.2rem;
  }
  .menu-lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    inline-size: 1.3rem;
    block-size: 0.9rem;
  }
  .menu-line {
    inline-size: 100%;
    block-size: 0.1rem;
    background-color: var(--text-primary);
    transition:
      opacity 300ms ease,
      -webkit-transform 300ms ease,
      transform 300ms ease;
  }
}
@media screen and (max-width: 480px) {
  .offcanvas-info__locations ul {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .offcanvas-menu,
  .offcanvas-nav .dropdown {
    transition: none;
  }
}

.table tr td p {
	margin-bottom: 0rem !important;
}
/* Hero ............................................................... */

.hero-shell {
  position: relative;
  /*overflow: hidden;*/
}
.hero-section {
  z-index: var(--z-index-above);
  min-block-size: clamp(31rem, calc(26rem + 25vw), 44rem);
}
.hero-section__subpage {
  min-block-size: 0;
}
.hero-section__content {
  position: relative;
  z-index: var(--z-index-above);
  max-inline-size: 34rem;
}
.hero-section__title h1 {
  font-family: var(--ff-heading);
  font-size: clamp(2rem, calc(1.6rem + 2.5vw), 4rem);
  font-weight: var(--fw-sb);
  line-height: 1.08;
  text-wrap: balance;
}
.hero-section__paragraph {
  max-inline-size: 26rem;
  margin-block-start: clamp(2rem, calc(1.6rem + 2vw), 4rem);
  font-family: var(--ff-body-md);
  font-size: clamp(1rem, calc(0.98rem + 0.125vw), 1.1rem);
}
.hero-section__paragraph p {
  margin: 0;
}
.hero-section__cta {
  margin-block-start: clamp(1.5rem, calc(1.2rem + 1.5vw), 3rem);
}
.hero-reviews {
  position: absolute;
  z-index: calc(var(--z-index-above) + 2);
  inset-inline-start: 45%;
  inset-block-end: clamp(2rem, calc(1rem + 5vw), 7rem);
  inline-size: clamp(18rem, 25vw, 22.5rem);
  padding: clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
  background-color: color-mix(in srgb, var(--bg-white) 65%, transparent);
  -webkit-backdrop-filter: blur(0.7rem);
  backdrop-filter: blur(0.7rem);
  -webkit-box-shadow: 0 1rem 3rem rgb(0 0 0 / 12%);
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 12%);
  -webkit-transform: translateX(70%);
  transform: translateX(70%);
}
.hero-reviews__title {
  padding-block-end: clamp(0.55rem, calc(0.47rem + 0.4vw), 0.95rem);
  border-block-end: 1px solid
    color-mix(in srgb, var(--text-primary) 20%, transparent);
}
.hero-reviews__title h2 {
  font-family: var(--ff-heading);
  font-size: clamp(1rem, calc(0.92rem + 0.4vw), 1.4rem);
  font-weight: var(--fw-sb);
}
.hero-reviews__rating {
  gap: 0.75rem;
  margin-block-start: clamp(0.55rem, calc(0.47rem + 0.4vw), 0.95rem);
}
.hero-reviews__stars {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  color: var(--bg-accent-500);
  font-size: clamp(1.15rem, calc(1rem + 0.75vw), 1.9rem);
}
.hero-reviews__number {
  font-family: var(--ff-heading);
  font-size: clamp(1.45rem, calc(1.2rem + 1.25vw), 2.55rem);
  font-weight: var(--fw-sb);
  white-space: nowrap;
}
.hero-reviews__bottom {
  gap: clamp(0.6rem, calc(0.5rem + 0.5vw), 1.1rem);
  margin-block-start: clamp(0.55rem, calc(0.47rem + 0.4vw), 0.95rem);
}
a.hero-reviews__link {
  max-inline-size: 12rem;
  color: var(--text-primary);
  border-block-end-color: transparent;
  font-family: var(--ff-body-sb);
  font-size: 0.82rem;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}
a.hero-reviews__link:hover {
  color: var(--text-primary-hover);
  text-decoration-color: transparent;
}
a.hero-reviews__link:focus-visible {
  outline: 0.1rem dashed var(--text-primary-hover);
  outline-offset: 0.2rem;
}
.hero-media {
  position: absolute;
  z-index: var(--z-index-default);
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: 57%;
  overflow: hidden;
  -webkit-clip-path: url("#hero-media-clip");
  clip-path: url("#hero-media-clip");
}
.hero-media picture,
.hero-media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.hero-media__clip {
  position: absolute;
  inline-size: 0;
  block-size: 0;
  overflow: hidden;
}

/* Main-Content ............................................................... */

/* Benefits */

.benefits-section {
  padding-block: clamp(2.5rem, calc(2rem + 2.5vw), 5rem);
}
.benefits-section__top {
  row-gap: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
}
.benefits-section__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1.35rem, calc(1.05rem + 1.5vw), 2.85rem);
  padding-block: clamp(1.25rem, calc(1.03rem + 1.1vw), 2.35rem);
  padding-inline: clamp(1.35rem, calc(1.07rem + 1.4vw), 2.75rem);
}
.benefits-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.benefits-section__title {
  max-inline-size: 40ch;
}
.benefits-section__title h2 {
  font-family: var(--ff-heading);
  font-size: clamp(1.4rem, calc(1.28rem + 0.6vw), 2rem);
  font-weight: var(--fw-sb);
  text-wrap: balance;
}
.benefits-section__number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: clamp(2.25rem, calc(2.1rem + 0.75vw), 3rem);
  block-size: clamp(2.25rem, calc(2.1rem + 0.75vw), 3rem);
  background-color: color-mix(in srgb, var(--bg-white) 40%, transparent);
  border-radius: 50%;
  font-family: var(--ff-body-md);
  font-size: clamp(0.95rem, calc(0.9rem + 0.25vw), 1.2rem);
}
.benefits-section__paragraph {
  max-inline-size: 31rem;
}
.benefits-section__paragraph p {
  margin: 0;
}
.benefits-section__bottom {
  margin-block-start: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
}
a.benefits-section__link {
  --_background: var(--bg-dark-700);
  --_hover-background: var(--bg-accent-500);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  padding-block: clamp(0.9rem, calc(0.8rem + 0.5vw), 1.4rem);
  padding-inline: 1.5rem;
  overflow: hidden;
  isolation: isolate;
  color: var(--text-white);
  background-color: var(--_background);
  border: 0;
  font-family: var(--ff-body-sb);
  font-size: clamp(1.1rem, calc(1.02rem + 0.4vw), 1.5rem);
  font-weight: var(--fw-sb);
  line-height: 1.2;
  text-align: center;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    box-shadow 260ms ease;
}
a.benefits-section__link::before,
a.benefits-section__link::after {
  content: "";
  position: absolute;
  z-index: var(--z-index-behind);
  inset: 0;
  background-color: var(--_hover-background);
  border-radius: inherit;
  pointer-events: none;
}
a.benefits-section__link::before {
  -webkit-transform: translateX(-101%);
  transform: translateX(-101%);
  transition:
    -webkit-transform 680ms cubic-bezier(0.78, 0, 0.18, 1),
    transform 680ms cubic-bezier(0.78, 0, 0.18, 1);
}
a.benefits-section__link::after {
  opacity: 0.35;
  -webkit-transform: translateX(-101%);
  transform: translateX(-101%);
  transition:
    -webkit-transform 920ms cubic-bezier(0.78, 0, 0.18, 1) 90ms,
    transform 920ms cubic-bezier(0.78, 0, 0.18, 1) 90ms,
    opacity 320ms ease 160ms;
}
a.benefits-section__link:hover,
a.benefits-section__link:focus-visible {
  color: var(--text-white);
  background-color: var(--_background);
  border-block-end-color: transparent;
}
a.benefits-section__link:hover::before,
a.benefits-section__link:hover::after,
a.benefits-section__link:focus-visible::before,
a.benefits-section__link:focus-visible::after {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
a.benefits-section__link:hover::after,
a.benefits-section__link:focus-visible::after {
  opacity: 0;
}
a.benefits-section__link:hover {
  box-shadow: 0 0.1rem 0.5rem rgb(0 0 0 / 10%);
}
a.benefits-section__link:focus-visible {
  outline: 0.1rem dashed var(--bg-accent-500);
  outline-offset: 0.2rem;
}

/* Services */

.services-section__row {
  row-gap: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
}
a.services-card {
  --_card-padding: clamp(1.25rem, calc(0.95rem + 1.5vw), 2.75rem);
  --_cta-circle-size: clamp(2.6rem, calc(2.4rem + 1vw), 3.3rem);
  --_cta-circle-expanded: calc(var(--_cta-circle-size) * 1.25);
  position: relative;
  display: block;
  min-block-size: clamp(17.5rem, calc(15.5rem + 12.5vw), 27.5rem);
  overflow: hidden;
  isolation: isolate;
  color: var(--text-white);
  border: 0;
}
a.services-card::after {
  content: "";
  position: absolute;
  z-index: var(--z-index-default);
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgb(15 20 26 / 8%) 20%,
    rgb(15 20 26 / 28%) 52%,
    rgb(15 20 26 / 92%) 100%
  );
  pointer-events: none;
  transition: background-color 420ms ease;
}
a.services-card::before {
  content: "";
  position: absolute;
  z-index: var(--z-index-above);
  inset: 0;
  background-color: rgb(15 20 26 / 0%);
  pointer-events: none;
  transition: background-color 420ms ease;
}
a.services-card picture,
a.services-card > picture img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
a.services-card > picture {
  position: absolute;
  inset: 0;
}
a.services-card > picture img {
  transition:
    -webkit-transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}
.services-card__content {
  position: absolute;
  z-index: calc(var(--z-index-above) + 1);
  inset-inline: 0;
  inset-block-end: 0;
  padding: var(--_card-padding);
}
.services-card__title h3 {
  color: var(--text-white);
  font-family: var(--ff-heading);
  font-size: clamp(1.5rem, calc(1.4rem + 0.625vw), 2rem);
  font-weight: var(--fw-sb);
  line-height: 1.15;
  text-wrap: balance;
}
.services-card__details {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 500ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 320ms ease,
    visibility 0s linear 500ms;
}
.services-card__details-inner {
  min-block-size: 0;
  overflow: hidden;
}
.services-card__paragraph {
  padding-block-start: clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
}
.services-card__paragraph p {
  margin: 0;
  color: var(--text-white);
}
.services-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.75rem, calc(0.65rem + 0.5vw), 1.25rem);
  margin-block-start: clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
  color: var(--text-white);
  font-family: var(--ff-body-sb);
  font-weight: var(--fw-sb);
}
.services-card__cta > span:first-child {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}
.services-card__cta-circle {
  display: inline-flex;
  flex: 0 0 var(--_cta-circle-size);
  align-items: center;
  justify-content: center;
  inline-size: var(--_cta-circle-size);
  block-size: var(--_cta-circle-size);
  background-color: var(--bg-accent-500);
  border-radius: 50%;
  transition:
    inline-size 300ms ease,
    border-radius 300ms ease,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.services-card__cta-circle img {
  display: block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
}
a.services-card:hover,
a.services-card:focus-visible {
  color: var(--text-white);
  border-block-end-color: transparent;
}
a.services-card:hover::before,
a.services-card:focus-visible::before {
  background-color: rgb(15 20 26 / 58%);
}
a.services-card:hover > picture img,
a.services-card:focus-visible > picture img {
  -webkit-transform: scale(1.035);
  transform: scale(1.035);
}
a.services-card:hover .services-card__details,
a.services-card:focus-visible .services-card__details {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transition:
    grid-template-rows 500ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 380ms ease 80ms,
    visibility 0s linear;
}
a.services-card:hover .services-card__cta-circle,
a.services-card:focus-visible .services-card__cta-circle {
  inline-size: var(--_cta-circle-expanded);
  border-radius: 10rem;
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}
a.services-card:focus-visible {
  outline: 0.1rem dashed var(--bg-accent-500);
  outline-offset: 0.25rem;
}

/* About */

.about-section__row {
  margin-inline: 0;
  align-items: stretch;
}
.about-section__row > [class^="col-"],
.about-section__row > [class*=" col-"] {
  padding-inline: 0;
}
.about-section__content {
  padding-block: clamp(2.5rem, calc(1.95rem + 2.75vw), 5.25rem);
  padding-inline: clamp(2rem, calc(1.4rem + 3vw), 5rem);
}
.about-section__paragraph {
  max-inline-size: 31rem;
  margin-block-start: clamp(2rem, calc(1.7rem + 1.5vw), 3.5rem);
}
.about-section__paragraph p {
  margin: 0;
}
.about-section__content .title-box {
  max-inline-size: 33rem;
  margin-block-start: clamp(2.25rem, calc(1.8rem + 2.25vw), 4.5rem);
}
.about-section__media {
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.about-section__media picture,
.about-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.about-section__cta {
  margin-block-start: clamp(1.5rem, calc(1.2rem + 1.5vw), 3rem);
}

/* Inspection-Checklist */

.inspection-checklist__wrapper {
  padding-block: clamp(2.5rem, calc(2rem + 2.5vw), 5rem);
}
.inspection-checklist__top {
  padding-inline: 1rem;
}
.inspection-checklist__top .title-box {
  max-inline-size: 50ch;
  margin-inline: auto;
}
.inspection-checklist__paragraph {
  max-inline-size: 58ch;
  margin-block-start: clamp(1.25rem, calc(1rem + 1.25vw), 2.5rem);
  margin-inline: auto;
}
.inspection-checklist__paragraph p {
  margin: 0;
}
.inspection-checklist__bottom {
  padding-inline: clamp(1rem, calc(0.4rem + 3vw), 4rem);
  margin-block-start: clamp(2.25rem, calc(2rem + 1.562vw), 3.5rem);
}
.inspection-checklist__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
}
.inspection-checklist__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
}
.inspection-checklist__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: clamp(2rem, calc(1.9rem + 0.5vw), 2.5rem);
  block-size: clamp(2rem, calc(1.9rem + 0.5vw), 2.5rem);
  border-radius: 0.2rem;
}
.inspection-checklist__icon img {
  display: block;
  max-inline-size: 70%;
  max-block-size: 70%;
}
.inspection-checklist__heading {
  margin-block-start: clamp(1.5rem, calc(1.25rem + 1.25vw), 2.75rem);
}
.inspection-checklist__heading h3 {
  font-family: var(--ff-heading);
  font-size: clamp(1rem, calc(0.96rem + 0.25vw), 1.2rem);
  font-weight: var(--fw-sb);
}
.inspection-checklist__text {
  margin-block-start: 1rem;
}
.inspection-checklist__text p {
  margin: 0;
}

/* FAQ */

.faq-section__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-inline-end: clamp(2rem, calc(0.75rem + 6.25vw), 8.25rem);
}
.faq-section__paragraph {
  max-inline-size: 30rem;
  margin-block-start: clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
}
.faq-section__paragraph p {
  margin: 0;
}
.faq-section__media-wrapper {
  position: relative;
  max-inline-size: clamp(13rem, calc(11.5rem + 7.5vw), 18rem);
  margin-block-start: clamp(3rem, calc(1.8rem + 6vw), 9rem);
}
.faq-section__media-wrapper picture,
.faq-section__media-wrapper img {
  display: block;
  inline-size: 100%;
}
.faq-section__media-wrapper img {
  aspect-ratio: 4 / 3;
}
.faq-section__media-wrapper .circles-wrapper {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
.widget-faq .faq__items .card {
  position: relative;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
.widget-faq .faq__items .card::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  block-size: 1px;
  background-color: color-mix(in srgb, var(--text-muted) 65%, transparent);
}
.widget-faq .faq__items .card-header {
  padding: 0;
  background-color: transparent;
  border-block-end: 0;
}
.faq__question {
  margin: 0;
}
.widget-faq .faq__items .btn-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
  padding-block: clamp(0.65rem, calc(0.57rem + 0.4vw), 1.05rem);
  padding-inline: 0;
  color: var(--text-muted);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--ff-heading);
  font-size: clamp(1rem, calc(0.96rem + 0.25vw), 1.2rem);
  line-height: 1.25;
  text-decoration: none;
  transition: color 200ms ease;
}
.widget-faq .faq__items .btn-link span {
  padding-inline-end: 1rem;
}
.widget-faq .faq__items .btn-link i {
  --_icon-size: clamp(1.5rem, calc(1.4rem + 0.5vw), 2rem);
  display: inline-flex;
  flex: 0 0 var(--_icon-size);
  align-items: center;
  justify-content: center;
  inline-size: var(--_icon-size);
  block-size: var(--_icon-size);
  color: var(--text-primary);
  background-color: var(--bg-neutral-300);
  border-radius: 50%;
  font-size: 0.9rem;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
.widget-faq .faq__items .btn-link:hover {
  color: var(--text-primary-hover);
}
.widget-faq .faq__items .btn-link:focus-visible {
  outline: 0.1rem dashed var(--text-primary-hover);
  outline-offset: 0.2rem;
}
.widget-faq .faq__items .btn-link[aria-expanded="true"] {
  color: var(--text-primary);
}
.widget-faq .faq__items .btn-link[aria-expanded="true"] i {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
}
.widget-faq .faq__items .card-body {
  padding-block: 0 clamp(1rem, calc(0.85rem + 0.75vw), 1.75rem);
  padding-inline: 0 clamp(2rem, calc(1.5rem + 2.5vw), 4.5rem);
  line-height: 1.6;
  text-align: start;
  text-wrap: pretty;
}

/* Booking */

.booking-section {
  --_booking-offset: clamp(2rem, calc(1.4rem + 3vw), 5rem);
  position: relative;
  margin-block-end: var(--_booking-offset);
}
.booking-section__content {
  position: relative;
  z-index: var(--z-index-above);
  inline-size: 70%;
  padding-block: clamp(2.5rem, calc(1.8rem + 3.5vw), 6rem);
  padding-inline-start: clamp(1rem, calc(0.2rem + 4vw), 5rem);
  padding-inline-end: clamp(4rem, calc(2rem + 10vw), 14rem);
  border-end-end-radius: clamp(5rem, calc(3rem + 10vw), 15rem);
  isolation: isolate;
}
.booking-section__content::after {
  content: "";
  position: absolute;
  z-index: var(--z-index-default);
  inset-block: 0;
  inset-inline-end: clamp(-8.5rem, calc(-2.5rem - 4vw), -4.5rem);
  inline-size: clamp(7rem, calc(5rem + 10vw), 17rem);
  background-color: var(--bg-accent-500);
  border-start-end-radius: var(--radius-md);
  border-end-end-radius: clamp(5rem, calc(3rem + 10vw), 15rem);
  -webkit-transform: skewX(-14deg);
  transform: skewX(-14deg);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  pointer-events: none;
}
.booking-section__inner {
  position: relative;
  z-index: var(--z-index-above);
  max-inline-size: 52rem;
  margin-inline: auto;
}
.booking-section__content .title-box {
  margin-inline: auto;
}
.booking-section__paragraph {
  max-inline-size: 62rem;
  margin-block-start: clamp(1.25rem, calc(1rem + 1.25vw), 2.5rem);
  margin-inline: auto;
}
.booking-section__paragraph p {
  margin: 0;
}
.booking-section__cta {
  margin-block-start: clamp(1.75rem, calc(1.3rem + 2.25vw), 4rem);
}
.booking-section a.benefits-section__link {
  display: inline-flex;
  inline-size: auto;
  min-inline-size: clamp(17rem, calc(14rem + 15vw), 30rem);
  gap: clamp(0.75rem, calc(0.6rem + 0.75vw), 1.5rem);
  padding-block: clamp(0.85rem, calc(0.72rem + 0.65vw), 1.5rem);
  padding-inline: clamp(1.5rem, calc(1rem + 2.5vw), 4rem);
  color: var(--text-primary);
  background-color: var(--bg-white);
  font-size: clamp(1.15rem, calc(1.03rem + 0.6vw), 1.75rem);
}
.booking-section a.benefits-section__link::before,
.booking-section a.benefits-section__link::after {
  background-color: var(--bg-dark-700);
}
.booking-section a.benefits-section__link:hover,
.booking-section a.benefits-section__link:focus-visible {
  color: var(--text-white);
  background-color: var(--bg-white);
}
.booking-section a.benefits-section__link img {
  --icon-dim: clamp(1.2rem, calc(1.12rem + 0.5vw), 1.6rem);
  inline-size: var(--icon-dim);
  block-size: var(--icon-dim);
  filter: brightness(0) saturate(100%) invert(20%) sepia(98%) saturate(5087%)
    hue-rotate(8deg) brightness(99%) contrast(104%);
}
.booking-section__media {
  position: absolute;
  z-index: var(--z-index-default);
  inset-inline-end: 0;
  inset-block-end: calc(-1 * var(--_booking-offset));
  inline-size: 70%;
  block-size: 100%;
  overflow: hidden;
  border-start-start-radius: calc(var(--radius-md) * 3);
  border-end-start-radius: calc(var(--radius-md) * 3);
}
.booking-section__media picture,
.booking-section__media img {
  display: block;
  inline-size: 100%;
}
.booking-section__clip {
  position: absolute;
  inline-size: 0;
  block-size: 0;
  overflow: hidden;
}

/* Footer ............................................................... */

.footer {
  --_font-size: 0.85rem;
  --_line-color: #dadada;
  --_top-padding: clamp(1.6rem, calc(1.34rem + 1.3vw), 2.9rem);
  --_bottom-padding: clamp(1rem, calc(0.9rem + 0.5vw), 1.5rem);
  --_row-gap: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
  font-size: var(--_font-size);
}
.footer :is(h2, h3, p, address, a, li) {
  font-size: var(--_font-size);
}
.footer a:is(:link, :visited) {
  border-block-end-color: transparent;
}
.footer a:hover {
  border-block-end-color: currentColor;
}
.footer a:focus-visible {
  border-block-end-color: currentColor;
}
.footer__top {
  padding-block: var(--_top-padding);
}
.footer__top-row,
.footer__bottom-row {
  row-gap: var(--_row-gap);
}
.footer__company {
  display: flex;
  align-items: flex-start;
  gap: clamp(0.75rem, calc(0.66rem + 0.562vw), 1.2rem);
}
a.footer__brand {
  display: inline-flex;
  flex: 0 0 auto;
}
.footer__logo {
  display: block;
  inline-size: clamp(3.6rem, calc(3.3rem + 1.5vw), 5.1rem);
  block-size: auto;
}
.footer__company-info,
.footer__block {
  display: grid;
  align-content: start;
  row-gap: 0.45rem;
}
.footer__title :is(h2, h3) {
  margin: 0;
  font-family: var(--ff-body-bd);
  font-weight: bold;
  line-height: 1.3;
}
.footer__address {
  margin: 0;
  font-style: normal;
  line-height: 1.55;
}
.footer__list {
  display: grid;
}
a.footer__link {
  display: inline;
  line-height: 1.5;
}
.footer__certificates {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(0.4rem, calc(0.34rem + 0.3vw), 0.7rem);
}
.footer__certificates img {
  display: block;
  max-inline-size: clamp(4.6rem, calc(4.2rem + 1.1vw), 5.8rem);
  block-size: auto;
}
.footer__bottom {
  padding-block: var(--_bottom-padding);
  border-block-start: 1px solid var(--_line-color);
}
.footer__payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}
.footer__payments img {
  display: block;
  max-inline-size: clamp(2.8rem, calc(2.55rem + 1.25vw), 4.05rem);
  max-block-size: 2rem;
  inline-size: auto;
  block-size: auto;
}
.footer__meta .list-inline-item {
  margin: 0;
}
.footer__meta .list-inline-item:not(:last-child)::after {
  content: "|";
  padding-inline: 0.25rem;
  color: currentColor;
}

.vnutro a img {
	transition: all .5s ease-in-out;
}
.vnutro a:hover img {
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	-webkit-transition: all 300ms linear;
	-moz-transition: all 300ms linear;
	-o-transition: all 300ms linear;
	-ms-transition: all 300ms linear;
	transition: all 300ms linear;	
}

/* RESPONSIVE STRUCTURE
--------------------------------------- */

@media screen and (max-width: 1920px) {
  html {
    font-size: 18px;
  }
}

@media screen and (max-width: 1366px) {
  html {
    font-size: 16px;
  }
}

@media screen and (max-width: 1199px) {
  .topbar__inner {
    gap: 0.75rem;
  }
  .topbar__address {
    white-space: normal;
  }
  .topbar__list,
  .topbar__location-list {
    gap: 0.4rem;
  }
  .hero-reviews {
    inset-inline-start: 35%;
  }
  .inspection-checklist__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 991px) {
  :root {
    --radius-xl: var(--radius);
  }
  .pos-relative-mobile {
    position: relative;
  }
  .bg__img {
    inset-inline: 0;
    inline-size: 100%;
    block-size: auto;
  }
  [class*="paragraph"] {
    max-inline-size: 100%;
  }
  .topbar {
    display: none;
  }
  .hero-shell {
    overflow: visible;
  }
  .hero-section {
    min-block-size: auto;
    padding-block-start: clamp(2rem, calc(1.7rem + 1.5vw), 2.75rem);
  }
  .hero-section__content,
  .hero-section__title {
    max-inline-size: 100%;
    margin-inline: auto;
    text-align: center;
  }
  .hero-reviews {
    position: relative;
    inset: auto;
    inline-size: 100%;
    max-inline-size: 25rem;
    margin-block-start: clamp(2rem, calc(1.6rem + 2vw), 3rem);
    margin-inline: auto;
    -webkit-transform: none;
    transform: none;
  }
  .hero-media {
    position: relative;
    inset: auto;
    inline-size: calc(100% - 2rem);
    block-size: auto;
    margin-inline: 1rem;
    overflow: hidden;
    border-radius: var(--radius-md);
    aspect-ratio: 16 / 9;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .benefits-section__card {
    gap: 1.75rem;
  }
  .benefits-section__title {
    max-inline-size: none;
  }
  a.services-card {
    min-block-size: clamp(23rem, calc(19rem + 20vw), 30rem);
  }
  .services-card__details {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
  }
  a.services-card::before {
    background-color: rgb(15 20 26 / 45%);
  }
  .about-section__row {
    margin-inline: -0.75rem;
    row-gap: 1rem;
  }
  .about-section__row > [class^="col-"],
  .about-section__row > [class*=" col-"] {
    padding-inline: 0.75rem;
  }
  .about-section__content {
    padding-block: clamp(2rem, calc(1.7rem + 1.5vw), 2.75rem);
    padding-inline: clamp(1.25rem, calc(1rem + 1.25vw), 2rem);
  }
  .about-section__media {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 4 / 3;
  }
  .inspection-checklist__top .title-box {
    max-inline-size: 100%;
  }
  .inspection-checklist__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .faq-section__left {
    padding-inline-end: 0;
  }
  .faq-section__media-wrapper {
    margin-block-end: clamp(2.5rem, calc(2rem + 2.5vw), 4rem);
  }
  .booking-section {
    margin-block-end: 0;
    padding-inline: 0.75rem;
  }
  .booking-section__content {
    inline-size: 100%;
    padding-inline: clamp(1rem, calc(0.75rem + 1.25vw), 2rem);
    border-radius: var(--radius-md);
    -webkit-clip-path: none;
    clip-path: none;
  }
  .booking-section__content::after {
    content: none;
  }
  .booking-section__content .title-box {
    max-inline-size: 100%;
  }
  .booking-section__media {
    position: relative;
    inset: auto;
    inline-size: 100%;
    margin-block-start: 1rem;
    border-radius: var(--radius-md);
  }
  .booking-section__media img {
    block-size: auto;
    aspect-ratio: 16 / 9;
  }
  .footer__top-row,
  .footer__bottom-row {
    row-gap: clamp(2rem, calc(1.75rem + 1.25vw), 3.25rem);
  }
  .footer__company {
    justify-content: center;
  }
  .footer__certificates,
  .footer__payments {
    justify-content: center;
  }
  .footer__navigation {
    text-align: center;
  }
}

@media screen and (max-width: 575px) {
  .hero-reviews {
    inline-size: calc(100% - 30px);
  }
  .hero-reviews__bottom {
    align-items: flex-start !important;
    flex-direction: column;
  }
  a.hero-reviews__link {
    max-inline-size: none;
  }
  .hero-media {
    aspect-ratio: 4 / 3;
  }
  .benefits-section__header {
    gap: 0.75rem;
  }
  .about-section__media {
    aspect-ratio: 1 / 1;
  }
  .inspection-checklist__grid {
    grid-template-columns: 1fr;
  }
  .faq-section__media-wrapper {
    max-inline-size: calc(100% - 1.5rem);
  }
  .widget-faq .faq__items .card-body {
    padding-inline-end: 0;
  }
  .booking-section a.benefits-section__link {
    min-inline-size: 0;
    inline-size: 100%;
  }
  .booking-section__media img {
    aspect-ratio: 4 / 3;
  }
  .footer__company {
    flex-direction: column;
    align-items: center;
  }
  .footer__certificates {
    flex-wrap: wrap;
  }
  .footer__certificates img {
    flex: 0 1 calc(50% - 0.35rem);
    max-inline-size: calc(50% - 0.35rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
