@charset "UTF-8";

@font-face {
  font-family: "DMSans18pt-Bold";
  src:
    url("../fonts/DMSans18pt-Bold.woff2") format("woff2"),
    url("../fonts/DMSans18pt-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DMSans18pt-Medium";
  src:
    url("../fonts/DMSans18pt-Medium.woff2") format("woff2"),
    url("../fonts/DMSans18pt-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DMSans18pt-Regular";
  src:
    url("../fonts/DMSans18pt-Regular.woff2") format("woff2"),
    url("../fonts/DMSans18pt-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "HostGrotesk-Regular";
  src:
    url("../fonts/HostGrotesk-Regular.woff2") format("woff2"),
    url("../fonts/HostGrotesk-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "HostGrotesk-Medium";
  src:
    url("../fonts/HostGrotesk-Medium.woff2") format("woff2"),
    url("../fonts/HostGrotesk-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "HostGrotesk-SemiBold";
  src:
    url("../fonts/HostGrotesk-SemiBold.woff2") format("woff2"),
    url("../fonts/HostGrotesk-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-reg: "HostGrotesk-Regular", var(--default-font-family);
  --ff-heading-md: "HostGrotesk-Medium", var(--default-font-family);
  --ff-heading-sb: "HostGrotesk-SemiBold", var(--default-font-family);
  --ff-body-reg: "DMSans18pt-Regular", var(--default-font-family);
  --ff-body-md: "DMSans18pt-Medium", var(--default-font-family);
  --ff-body-bd: "DMSans18pt-Bold", var(--default-font-family);
  /* Colors */
  --white: #fff;
  --black: #000;
  /* Text colors */
  --text-primary: #0d0d0d;
  --text-primary-hover: #8aa258;
  --text-white: #fff;
  --text-green-500: #8aa258;
  --text-accent-500: #ea8907;
  /* Background colors */
  --bg-primary: #fff;
  --bg-green-900: #1e4d2b;
  --bg-accent-500: #ea8907;
  --bg-green-100: #e9ffd8;
  --bg-green-500: #8aa258;
  /* 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(1rem, calc(0.9rem + 0.5vw), 1.5rem); /* 24px */
  --radius-md: calc(var(--radius) * 1.25);
}

html {
  font-size: 100%; /* 16px */
}
body {
  font-family: var(--ff-body-reg);
  font-size: clamp(1rem, calc(0.975rem + 0.125vw), 1.125rem); /* 18px */
  color: var(--text-primary);
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  background-color: var(--bg-primary);
}
:is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.2;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
a:is(:link, :visited) {
  color: inherit;
  transition:
    color 0.2s ease-in-out,
    border-block-end-color 0.2s ease-in-out;
  text-decoration: none;
  border-block-end: solid 0.0625rem;
}
a:hover {
  color: var(--text-primary-hover);
  border-block-end-color: transparent;
}
:is(a, button, [role="button"]):focus-visible {
  outline: 0.111rem dashed var(--text-primary-hover);
  outline-offset: 0.222rem;
}
a.cta-link {
  --_background: var(--bg-green-900);
  --_hover-background: var(--bg-accent-500);
  --_hover-color: var(--text-white);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: clamp(10rem, 12vw, 13.75rem);
  min-block-size: clamp(2.75rem, 3.125vw, 3.75rem);
  padding-block: clamp(0.75rem, 0.729vw, 0.875rem);
  padding-inline: clamp(1.5rem, calc(1.2rem + 1.5vw), 3rem);
  overflow: hidden;
  isolation: isolate;
  color: var(--text-white);
  background-color: var(--_background);
  border: 0;
  border-radius: var(--radius-pill, 999rem);
  font-family: var(--ff-body-md);
  font-size: 0.899rem;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition:
    color 300ms ease,
    box-shadow 300ms ease,
    -webkit-transform 300ms ease,
    transform 300ms ease;
}
a.cta-link::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  z-index: -1;
  inline-size: 0;
  background-color: var(--_hover-background);
  opacity: 0;
  transition:
    inline-size 700ms cubic-bezier(0.9, 0, 0.3, 1),
    opacity 400ms ease-in;
}
.cta-link__label {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
a.cta-link:hover,
a.cta-link:focus-visible {
  color: var(--_hover-color);
  text-decoration: none;
  box-shadow: 0 0.5rem 1.25rem rgb(0 0 0 / 14%);
  -webkit-transform: translateY(-0.125rem);
  transform: translateY(-0.125rem);
}
a.cta-link:hover::before,
a.cta-link:focus-visible::before {
  inline-size: 100%;
  opacity: 1;
}
a.cta-link:active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
a.cta-link:focus-visible {
  outline: 0.125rem dashed var(--text-primary-hover);
  outline-offset: 0.25rem;
}
a.cta-link__accent {
  --_background: var(--bg-accent-500);
  --_hover-background: var(--bg-primary);
  --_hover-color: var(--text-primary);
}
p {
  color: inherit;
  text-wrap: pretty;
  line-height: 1.6;
}
strong {
  font-family: var(--ff-body-bd);
}
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Base-styles ............................. */

.content {
  position: relative;
  inline-size: 100%;
  overflow-x: clip;
}
@media screen and (min-width: 1921px) {
  .container-fluid-custom {
    max-inline-size: 102.5rem;
    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(3.125rem, calc(2.5rem + 3.125vw), 6.25rem);
}
.section-bg__deep {
  background-color: var(--bg-green-900);
}
.section-bg__accent {
  background-color: var(--bg-accent-500);
}
.section-bg__light {
  background-color: var(--bg-green-100);
}

.title-box {
  position: relative;
  color: inherit;
}
.text-white .title-box {
  color: var(--white);
}
.title-box > * {
  position: relative;
  font-family: var(--ff-heading-md);
  text-wrap: balance;
  line-height: 1.2em;
}
.title-box :is(h1, h2) {
  font-size: clamp(1.875rem, calc(1.5rem + 1.875vw), 3.75rem);
}
.title-box small {
  font-size: inherit;
  color: var(--bg-green-500);
}

/* Radius */

.radius-default {
  border-radius: var(--radius);
}

/* Topbar */

.clip-definitions {
  position: absolute;
  inline-size: 0;
  block-size: 0;
  overflow: hidden;
}
.hero-shell {
  position: relative;
  background-color: var(--bg-primary);
}
.topbar {
  position: relative;
  z-index: calc(var(--z-index-modal) + 1);
  padding-block: clamp(0.85rem, calc(0.75rem + 0.2vw), 1.1rem) 0.35rem;
  font-family: var(--ff-body-md);
}
.topbar__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  line-height: 1.2;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.topbar__inner i {
  color: var(--text-green-500);
  font-size: inherit;
}

/* Header */

.header {
  --_logo-size: clamp(8.25rem, calc(7.6rem + 2vw), 10.75rem);
  --_nav-size: clamp(0.75rem, 1vw, 1.25rem);
  position: relative;
  z-index: calc(var(--z-index-modal) + 2);
  inline-size: 100%;
  padding-block: clamp(0.35rem, calc(0.3rem + 0.25vw), 0.6rem);
  will-change: transform;
}
.header.scroll {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  padding-block: 0.45rem;
  background-color: color-mix(in srgb, var(--bg-primary) 96%, transparent);
  -webkit-box-shadow: 0 0.75rem 1.5rem rgb(0 0 0 / 7%);
  box-shadow: 0 0.75rem 1.5rem rgb(0 0 0 / 7%);
  -webkit-animation: animateNav 0.4s linear;
  animation: animateNav 0.4s linear;
  -webkit-backdrop-filter: blur(0.75rem);
  backdrop-filter: blur(0.75rem);
}
@-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 {
  inline-size: 100%;
  min-block-size: clamp(4.75rem, 5vw, 6rem);
  padding-block: 0.25rem;
  padding-inline: clamp(0.5rem, calc(0.35rem + 0.5vw), 1rem);
  gap: clamp(1rem, calc(0.65rem + 1.25vw), 2.25rem);
  background-color: color-mix(in srgb, var(--bg-primary) 82%, transparent);
  border: 0.0625rem solid color-mix(in srgb, var(--black) 8%, transparent);
  border-radius: 999rem;
  -webkit-box-shadow: 0 0.65rem 1.75rem rgb(0 0 0 / 4%);
  box-shadow: 0 0.65rem 1.75rem rgb(0 0 0 / 4%);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
}
.header.scroll .header-bar {
  min-block-size: 3.75rem;
  padding-block: 0.25rem;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.header-primary {
  justify-content: space-between;
  flex: 1 1 auto;
  min-inline-size: 0;
  gap: clamp(1.5rem, calc(0.75rem + 2vw), 3.5rem);
}
.main-logo {
  flex: 0 0 var(--_logo-size);
  inline-size: var(--_logo-size);
  max-inline-size: var(--_logo-size);
  transition:
    flex-basis 280ms ease,
    inline-size 280ms ease;
}
.main-logo.scroll {
  flex-basis: calc(var(--_logo-size) * 0.84);
  inline-size: calc(var(--_logo-size) * 0.84);
}
.main-logo > a,
.main-logo img {
  display: block;
}
.main-logo img {
  inline-size: 100%;
  block-size: auto;
}
.mainNavigation {
  display: flex;
  align-items: center;
  min-inline-size: 0;
  padding: 0;
}
.mainNavigation .navbar-collapse,
.mainNavigation .navbar-nav,
.mainNavigation .nav-item {
  align-items: center;
}
.mainNavigation .navbar-nav {
  gap: clamp(0.75rem, calc(0.5rem + 0.55vw), 1.15rem);
}
.mainNavigation .nav-link {
  position: relative;
  padding: 0 !important;
  color: var(--text-primary) !important;
  font-family: var(--ff-body-md);
  font-size: var(--_nav-size);
  line-height: 1.25;
  white-space: nowrap;
  border-block-end: 0;
}
.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.35rem;
  inset-inline-start: 50%;
  inline-size: 0;
  block-size: 0.0625rem;
  background-color: var(--bg-green-500);
  opacity: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition:
    inline-size 260ms ease,
    opacity 260ms ease;
}
.mainNavigation .nav-link:is(:hover, :focus-visible, .hi) span::after,
.mainNavigation .dropdown.show > .nav-link span::after {
  inline-size: 100%;
  opacity: 1;
}
.mainNavigation .dropdown-menu {
  display: block;
  inset-block-start: calc(100% + 0.9rem);
  inset-inline-start: 50%;
  min-inline-size: clamp(13.5rem, 16vw, 17rem);
  margin: 0;
  padding: 0.6rem;
  visibility: hidden;
  opacity: 0;
  background-color: var(--bg-primary);
  border: 0.0625rem solid color-mix(in srgb, var(--black) 9%, transparent);
  border-radius: calc(var(--radius) * 0.65);
  -webkit-box-shadow: 0 1rem 2rem rgb(0 0 0 / 12%);
  box-shadow: 0 1rem 2rem rgb(0 0 0 / 12%);
  -webkit-transform: translate(-50%, 0.75rem);
  transform: translate(-50%, 0.75rem);
  transition:
    opacity 260ms ease,
    visibility 260ms step-end,
    -webkit-transform 260ms ease,
    transform 260ms ease;
}
.mainNavigation .dropdown-menu.show {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  transition:
    opacity 260ms ease,
    visibility 0ms step-start,
    -webkit-transform 260ms ease,
    transform 260ms ease;
}
.mainNavigation .dropdown-item {
  padding-block: 0.7rem;
  padding-inline: 0.8rem;
  color: var(--text-primary);
  background-color: transparent;
  border-block-end: 0.0625rem solid
    color-mix(in srgb, var(--black) 8%, transparent);
  border-radius: calc(var(--radius) * 0.35);
  font-size: clamp(0.9375rem, 0.9vw, 1.125rem);
  line-height: 1.3;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    padding-inline-start 220ms ease;
}
.mainNavigation .dropdown-item:last-child {
  border-block-end: 0;
}
.mainNavigation .dropdown-item:is(:hover, :focus-visible, .hi) {
  padding-inline-start: 1rem;
  color: var(--text-white);
  background-color: var(--bg-green-900);
}
.header-actions {
  flex: 0 0 auto;
}
a.header-cooperation-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  min-block-size: clamp(3.25rem, 3.5vw, 4rem);
  padding-block: 0.75rem;
  padding-inline: clamp(1.15rem, calc(0.9rem + 0.8vw), 1.9rem);
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border: 0;
  border-radius: 999rem;
  font-family: var(--ff-body-md);
  font-size: var(--_nav-size);
  line-height: 1;
  white-space: nowrap;
  transition:
    color 240ms ease,
    background-color 240ms ease,
    -webkit-transform 240ms ease,
    transform 240ms ease;
}
a.header-cooperation-link:is(:hover, :focus-visible, .hi) {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
  border-block-end-color: transparent;
  -webkit-transform: translateY(-0.1rem);
  transform: translateY(-0.1rem);
}
.header-cooperation-link__icon {
  display: block;
  inline-size: 1.6rem;
  block-size: 1.6rem;
  object-fit: contain;
}
#navtoggler {
  display: none;
}
.offcanvas-menu {
  --_offcanvas-size: min(88vw, 28rem);
  position: fixed;
  inset-block: 0;
  inset-inline-start: 0;
  z-index: calc(var(--z-index-modal) + 5);
  inline-size: var(--_offcanvas-size);
  min-block-size: 100dvh;
  padding-block: 1.25rem 2rem;
  padding-inline: 1.25rem;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--text-white);
  background-color: var(--bg-green-900);
  -webkit-box-shadow: 1rem 0 2.5rem rgb(0 0 0 / 18%);
  box-shadow: 1rem 0 2.5rem rgb(0 0 0 / 18%);
  -webkit-transform: translate3d(-102%, 0, 0);
  transform: translate3d(-102%, 0, 0);
  transition:
    -webkit-transform 380ms ease,
    transform 380ms ease;
  will-change: transform;
}
.offcanvas-menu.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.offcanvas-header {
  margin-block-end: 1.75rem;
}
.offcanvas-brand {
  inline-size: 8.5rem;
  padding: 0.45rem;
  background-color: var(--bg-primary);
  border-radius: calc(var(--radius) * 0.5);
}
.offcanvas-brand img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}
.offcanvas-close {
  position: relative;
  flex: 0 0 2.75rem;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  padding: 0;
  color: var(--text-white);
  background-color: transparent;
  border: 0.0625rem solid color-mix(in srgb, var(--white) 60%, transparent);
  border-radius: 50%;
  transition:
    background-color 240ms ease,
    -webkit-transform 240ms ease,
    transform 240ms ease;
}
.offcanvas-close:is(:hover, :focus-visible) {
  background-color: var(--bg-accent-500);
  -webkit-transform: rotate(4deg);
  transform: rotate(4deg);
}
.offcanvas-close .close-line {
  position: absolute;
  inline-size: 1rem;
  block-size: 0.1rem;
  background-color: currentColor;
}
.offcanvas-close .close-line:first-child {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.offcanvas-close .close-line:last-child {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.offcanvas-nav .dropdown-toggle::after {
  content: none;
}
.offcanvas-list > li {
  padding-block: 0.9rem;
  border-block-end: 0.0625rem solid
    color-mix(in srgb, var(--white) 18%, transparent);
}
.offcanvas-nav a,
.offcanvas-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
  padding: 0;
  color: var(--text-white);
  font-family: var(--ff-heading-md);
  font-size: clamp(1.05rem, calc(1rem + 0.3vw), 1.25rem);
  line-height: 1.3;
  text-align: start;
  background: none;
  border: 0;
  border-block-end: 0;
  transition: color 220ms ease;
}
.offcanvas-nav a:is(:hover, :focus-visible, .hi),
.offcanvas-nav button:is(:hover, :focus-visible, .hi) {
  color: color-mix(in srgb, var(--text-white) 72%, var(--bg-accent-500));
}
.offcanvas-chevron {
  flex: 0 0 auto;
  inline-size: 0.65rem;
  block-size: 0.65rem;
  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 260ms ease,
    transform 260ms ease;
}
.has-dropdown.open > .dropdown-toggle .offcanvas-chevron {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}
.offcanvas-nav .dropdown {
  max-block-size: 0;
  padding-block: 0;
  padding-inline-start: 0.75rem;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translateY(-0.25rem);
  transform: translateY(-0.25rem);
  transition:
    max-block-size 360ms ease,
    opacity 220ms ease,
    padding-block 220ms ease,
    -webkit-transform 220ms ease,
    transform 220ms ease;
}
.offcanvas-nav .dropdown.active {
  max-block-size: 28rem;
  padding-block: 0.8rem 0.1rem;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.dropdown.level-1 > li > a {
  padding-block: 0.6rem;
  font-family: var(--ff-body-reg);
  font-size: 0.9rem;
}
.offcanvas-info {
  display: grid;
  gap: 0.65rem;
  margin-block-start: 1.75rem;
  padding-block-start: 1.5rem;
  border-block-start: 0.0625rem solid
    color-mix(in srgb, var(--white) 22%, transparent);
}
.offcanvas-info__hours,
.offcanvas-info__contact a,
a.offcanvas-info__cooperation {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
  font-family: var(--ff-body-reg);
  font-size: 0.9rem;
}
.offcanvas-info__hours i,
.offcanvas-info__contact i {
  flex: 0 0 auto;
  font-size: 1.15rem;
  color: var(--text-accent-500);
}
.offcanvas-info__contact {
  display: grid;
  gap: 0.65rem;
}
.offcanvas-info__contact a,
a.offcanvas-info__cooperation {
  color: var(--text-white);
  border-block-end: 0;
}
a.offcanvas-info__cooperation {
  min-block-size: 2.9rem;
  margin-block-start: 1rem;
  padding-block: 0.65rem;
  padding-inline: 0.9rem;
  background-color: var(--bg-accent-500);
  border-radius: 999rem;
  font-family: var(--ff-body-md);
  transition:
    color 240ms ease,
    background-color 240ms ease;
}
a.offcanvas-info__cooperation img {
  inline-size: 1.15rem;
  block-size: 1.15rem;
  transition: filter 240ms ease;
}
a.offcanvas-info__cooperation:is(:hover, :focus-visible) {
  color: var(--text-primary);
  background-color: var(--bg-primary);
}
a.offcanvas-info__cooperation:is(:hover, :focus-visible) img {
  filter: invert(1);
}
/* Kontakty v offcanvas — nie štýly položiek hlavného menu (.offcanvas-nav a) */
.offcanvas-nav .offcanvas-info .offcanvas-info__contact a,
.offcanvas-nav .offcanvas-info a.offcanvas-info__cooperation {
  justify-content: flex-start;
  inline-size: auto;
  max-inline-size: 100%;
  font-family: var(--ff-body-reg);
  font-size: 0.9rem;
  line-height: 1.35;
}
.offcanvas-nav .offcanvas-info a.offcanvas-info__cooperation {
  inline-size: 100%;
  font-family: var(--ff-body-md);
}

/* Hero */

.hero-section {
  position: relative;
  z-index: var(--z-index-above);
}
.hero-section__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: clamp(34rem, calc(29rem + 11vw), 44rem);
  max-inline-size: 49%;
  padding-block: clamp(3.5rem, calc(2.5rem + 3vw), 6rem);
}
.hero-section__heading {
  position: relative;
  max-inline-size: 45rem;
}
.hero-section__heading h1 {
  font-family: var(--ff-heading-md);
  font-size: clamp(2.7rem, calc(2.1rem + 2.3vw), 4.625rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  text-wrap: balance;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.hero-section__heading h1 span {
  display: block;
}
.hero-section__heading h1 span:first-child {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.25rem;
  color: var(--text-green-500);
}
.hero-section__heading h1 span:first-child::after {
  content: "";
  flex: 0 0 auto;
  inline-size: min(3.4375rem, 8vw);
  aspect-ratio: 1 / 1.64;
  background: url("../images/brand-icon-01.svg") center / contain no-repeat;
  pointer-events: none;
  -webkit-transform: translateY(-0.15em);
  transform: translateY(-0.15em);
}
.hero-section__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(13.5rem, 18vw, 22rem);
  align-items: end;
  gap: clamp(1.5rem, calc(1rem + 2vw), 3.5rem);
  margin-block-start: clamp(2.5rem, calc(1.5rem + 1.5vw), 3.5rem);
}
.hero-section__paragraph {
  max-inline-size: 31rem;
  padding-inline-start: clamp(1.5rem, calc(1rem + 2vw), 3.5rem);
  border-inline-start: 0.125rem solid
    color-mix(in srgb, var(--text-green-500) 55%, transparent);
  font-size: clamp(1.125rem, calc(0.85rem + 0.65vw), 1.625rem);
}
.hero-section__paragraph p {
  margin: 0;
  line-height: 1.4;
}
.hero-section__copy a.cta-link {
  margin-block-start: clamp(2rem, calc(1.5rem + 1.5vw), 3.75rem);
}
.hero-section__quality {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  aspect-ratio: 1 / 1;
  padding: clamp(1rem, 1.5vw, 1.5rem);
  color: var(--text-white);
  background-color: var(--bg-accent-500);
  border-radius: 50%;
  font-family: var(--ff-body-md);
  font-size: clamp(1rem, calc(0.7rem + 0.7vw), 1.625rem);
  line-height: 1.25;
  text-align: center;
  -webkit-transform: translateX(4.5rem);
  transform: translateX(4.5rem);
}
.hero-section__subpage .hero-section__inner {
  min-block-size: clamp(18rem, 22vw, 27rem);
  gap: clamp(1rem, 1.5vw, 1.5rem);
  padding-block: clamp(2rem, 3vw, 3rem);
}
.hero-section__subpage .hero-section__heading h1 {
  font-size: clamp(2.25rem, calc(1.75rem + 2vw), 4rem);
  line-height: 1.05;
}
.hero-section__subpage .hero-section__paragraph {
  max-inline-size: 34rem;
}

/* Hero Media */

.hero-media {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: var(--z-index-default);
  inline-size: 52%;
  block-size: 100%;
  overflow: hidden;
  background-color: color-mix(
    in srgb,
    var(--bg-green-100) 45%,
    var(--bg-primary)
  );
  -webkit-clip-path: url(#hero-media-clip);
  clip-path: url(#hero-media-clip);
}
.hero-media__scene,
.hero-media__scene img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.hero-media__scene img {
  object-fit: cover;
  object-position: center;
}

/* Offer */

.news-section__top {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(19rem, 0.55fr);
  align-items: start;
  gap: clamp(2rem, calc(1rem + 3vw), 5rem);
  margin-block-end: clamp(2.5rem, calc(2rem + 2vw), 4.5rem);
}
.offer-section__top {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(19rem, 0.55fr);
  align-items: start;
  gap: clamp(2rem, calc(1rem + 3vw), 5rem);
  margin-block-end: clamp(3rem, calc(2rem + 3.5vw), 6rem);
}
.offer-section__lead,
.news-section__lead {
  min-inline-size: 0;
}
.offer-section__top .title-box {
  max-inline-size: 38rem;
}
.offer-section__top .title-box > *,
.news-section__top .title-box > * {
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.offer-section__intro {
  display: grid;
  gap: clamp(1.5rem, calc(1.2rem + 1vw), 2.25rem);
  justify-items: end;
}
.offer-section .offer-carousel__nav button {
  flex-basis: clamp(3.25rem, 4.375vw, 5.25rem);
  inline-size: clamp(3.25rem, 4.375vw, 5.25rem);
  block-size: clamp(3.25rem, 4.375vw, 5.25rem);
}
.offer-section__paragraph,
.news-section__paragraph {
  max-inline-size: 31rem;
}
.offer-section__paragraph p,
.news-section__paragraph p {
  margin: 0;
}
.carousel-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}
.carousel-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 clamp(2.85rem, calc(2.55rem + 0.7vw), 3.5rem);
  inline-size: clamp(2.85rem, calc(2.55rem + 0.7vw), 3.5rem);
  block-size: clamp(2.85rem, calc(2.55rem + 0.7vw), 3.5rem);
  padding: 0;
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border: 0.0625rem solid transparent;
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
  transition:
    color 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease,
    -webkit-transform 220ms ease,
    transform 220ms ease;
}
.carousel-nav button + button {
  background-color: var(--bg-accent-500);
}
.carousel-nav button:is(:hover, :focus-visible) {
  color: var(--text-primary);
  background-color: var(--bg-primary);
  border-color: color-mix(in srgb, var(--black) 20%, transparent);
  -webkit-transform: translateY(-0.1rem);
  transform: translateY(-0.1rem);
}
.offer-carousel:not(.owl-loaded),
.news-carousel:not(.owl-loaded) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, calc(0.75rem + 0.8vw), 1.5rem);
}
.offer-cards-grid {
  margin-block-start: clamp(1.5rem, calc(1rem + 1.2vw), 2.5rem);
  row-gap: clamp(1rem, calc(0.75rem + 0.8vw), 1.5rem);
}
.offer-cards-grid > [class*="col-"] {
  display: flex;
}
.offer-cards-grid .offer-card {
  flex: 1 1 auto;
  width: 100%;
  margin-bottom: 15px;
  min-block-size: clamp(22rem, 38vw, 30rem);
}
.news-cards-grid {
  margin-block-start: clamp(1.5rem, calc(1rem + 1.2vw), 2.5rem);
  row-gap: clamp(1rem, calc(0.75rem + 0.8vw), 1.5rem);
}
.news-cards-grid > [class*="col-"] {
  display: flex;
}
.news-cards-grid .news-card {
  flex: 1 1 auto;
  width: 100%;
  margin-bottom: 15px;
  min-block-size: clamp(22rem, 38vw, 30rem);
}
.offer-carousel.owl-carousel .owl-stage,
.news-carousel.owl-carousel .owl-stage {
  display: flex;
}
.offer-carousel.owl-carousel .owl-item,
.news-carousel.owl-carousel .owl-item {
  display: flex;
}
.offer-carousel.owl-carousel .owl-item > *,
.news-carousel.owl-carousel .owl-item > * {
  inline-size: 100%;
}
a.offer-card,
a.news-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-block-size: clamp(25rem, 31vw, 34rem);
  overflow: hidden;
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border: 0;
  border-radius: var(--radius);
}
a.offer-card {
  aspect-ratio: 900 / 911;
  min-block-size: 0;
}
.offer-card__media,
.news-card__media {
  position: absolute;
  inset: 0;
}
.offer-card__media::after,
.news-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgb(0 0 0 / 74%) 0%,
    rgb(0 0 0 / 18%) 55%,
    transparent 100%
  );
  pointer-events: none;
}
.offer-card__media picture,
.offer-card__media img,
.news-card__media picture,
.news-card__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.offer-card__media img,
.news-card__media img {
  object-fit: cover;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition:
    filter 450ms ease,
    -webkit-transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.offer-card__content,
.news-card__content {
  position: relative;
  z-index: var(--z-index-above);
  display: grid;
  gap: 0.45rem;
  padding: clamp(1.25rem, calc(1rem + 0.8vw), 2rem);
}
.offer-card__content {
  row-gap: clamp(0.875rem, calc(0.75rem + 0.4vw), 1.25rem);
  padding-block: clamp(1.75rem, calc(1.25rem + 1.45vw), 3rem);
  padding-inline: clamp(1.75rem, calc(1.25rem + 1.1vw), 2.5rem);
}
.offer-card__title,
.news-card__title {
  font-family: var(--ff-heading-md);
  font-size: clamp(1.25rem, calc(1.1rem + 0.55vw), 1.7rem);
  line-height: 1.15;
  text-wrap: balance;
}
.offer-card__title {
  font-size: clamp(1.5rem, calc(1.15rem + 0.85vw), 2.125rem);
}
.offer-card__text,
.news-card__text {
  max-inline-size: 28rem;
  line-height: 1.45;
  text-wrap: pretty;
}
.offer-card__text {
  font-size: clamp(1rem, calc(0.85rem + 0.3vw), 1.125rem);
}
.offer-card__text p,
.news-card__text p {
  margin: 0;
  line-height: 1.45;
}
.offer-card__arrow {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
  z-index: calc(var(--z-index-above) + 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: clamp(2.3rem, 2.4vw, 2.75rem);
  block-size: clamp(2.3rem, 2.4vw, 2.75rem);
  color: var(--text-primary);
  background-color: var(--bg-primary);
  border-radius: 50%;
  font-size: 1rem;
}
a.offer-card:is(:hover, :focus-visible) {
  color: var(--text-white);
  border-block-end-color: transparent;
}
a.offer-card:is(:hover, :focus-visible) .offer-card__media img {
  filter: brightness(0.85);
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

/* Detail článku / novinky — rovnaký hover obrázka ako offer-card */
a.news-item__image-link {
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius);
  border-block-end-color: transparent;
}
.news-item__media {
  display: block;
  overflow: hidden;
  border-radius: var(--radius);
}
.news-item__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition:
    filter 450ms ease,
    -webkit-transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
a.news-item__image-link:is(:hover, :focus-visible) .news-item__media img {
  filter: brightness(0.85);
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

/* Fotogaléria v obsahu (články, galérie) */
.vnutro .row > .gal {
  margin-block-end: clamp(1rem, calc(0.65rem + 0.85vw), 1.75rem);
}
.vnutro .novinky_obrazok {
  overflow: hidden;
  border-radius: var(--radius);
}
.vnutro .gal > a[data-fancybox],
.vnutro .gal > a.video,
.vnutro .novinky_obrazok a {
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius);
  border-block-end-color: transparent;
}
.vnutro .gal > a[data-fancybox] .novinky_obrazok,
.vnutro .gal > a.video .novinky_obrazok {
  border-radius: inherit;
}
.vnutro a[data-fancybox] > .img-fluid,
.vnutro .gal a[data-fancybox] img,
.vnutro .gal a.video img,
.vnutro .gal .novinky_obrazok img,
.vnutro .novinky_obrazok img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}
.vnutro .gal a[data-fancybox] img,
.vnutro .gal a.video img,
.vnutro .gal .novinky_obrazok img {
  aspect-ratio: 4 / 3;
}
.vnutro .col-md-12 > a[data-fancybox] img {
  aspect-ratio: auto;
  object-fit: contain;
}
.vnutro .gal a[data-fancybox] img,
.vnutro .gal a.video img,
.vnutro .gal .novinky_obrazok img,
.vnutro .novinky_obrazok img,
.vnutro .col-md-12 > a[data-fancybox] img {
  -webkit-transform: scale(1);
  transform: scale(1);
  transition:
    filter 450ms ease,
    -webkit-transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1),
    transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.vnutro a[data-fancybox]:is(:hover, :focus-visible) img,
.vnutro a.video:is(:hover, :focus-visible) img,
.vnutro .novinky_obrazok a:is(:hover, :focus-visible) img {
  filter: brightness(0.85);
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

.offer-section__cta {
  display: flex;
  justify-content: center;
  margin-block-start: clamp(2rem, calc(1.5rem + 1.8vw), 3.75rem);
}
.offer-section__cta > a.cta-link {
  min-inline-size: min(100%, 20.625rem);
  font-size: 1rem;
}

/* Benefits */

.benefits-section {
  padding-block: clamp(6.25rem, calc(4rem + 5vw), 10rem);
}
.benefits-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(25rem, 1.16fr);
  align-items: center;
  gap: clamp(2rem, calc(1.25rem + 2vw), 3.375rem);
}
.benefits-section__content {
  --_benefit-base: 61%;
  --_benefit-step: 16.75%;
  min-inline-size: 0;
}
.benefits-section__content .title-box {
  max-inline-size: 44rem;
}
.benefits-section__paragraph {
  max-inline-size: 40rem;
  margin-block-start: clamp(1.75rem, calc(1.4rem + 1vw), 2.75rem);
}
.benefits-section__paragraph p {
  margin: 0;
}
.benefits-section__paragraph p + p {
  margin-block-start: 1rem;
}
.benefits-section__paragraph strong {
  font-family: var(--ff-body-bd);
  font-weight: bold;
}
.benefits-section__list {
  display: grid;
  justify-items: start;
  row-gap: 0;
  margin-block-start: clamp(1.75rem, calc(1.4rem + 1vw), 2.75rem);
}
.benefits-section__item {
  display: grid;
  gap: 0.25rem;
  min-inline-size: 0;
  padding-block: clamp(1rem, calc(0.75rem + 0.5vw), 1.25rem);
  padding-inline: clamp(1rem, calc(0.75rem + 0.5vw), 1.5rem);
  overflow-wrap: anywhere;
  border-radius: 0.375rem;
}
.benefits-section__item:first-child {
  inline-size: min(
    100%,
    calc(var(--_benefit-base) + var(--_benefit-step) + var(--_benefit-step))
  );
}
.benefits-section__item:nth-child(2) {
  inline-size: min(100%, calc(var(--_benefit-base) + var(--_benefit-step)));
}
.benefits-section__item:last-child {
  inline-size: min(100%, var(--_benefit-base));
}
.benefits-section__item-title h3 {
  font-family: var(--ff-body-bd);
  font-size: clamp(1.125rem, calc(0.85rem + 0.55vw), 1.5rem);
  font-weight: bold;
  line-height: 1.2;
  text-transform: uppercase;
}
.benefits-section__item-text p {
  margin: 0;
  font-size: clamp(1rem, calc(0.85rem + 0.3vw), 1.125rem);
  line-height: 1.35;
}
.benefits-section__item__deep {
  color: var(--text-white);
  background-color: var(--bg-green-900);
}
.benefits-section__item__brand {
  color: var(--text-white);
  background-color: var(--bg-green-500);
}
.benefits-section__item__accent {
  color: var(--text-white);
  background-color: var(--bg-accent-500);
}
.benefits-section__media {
  overflow: hidden;
  -webkit-clip-path: url(#benefits-media-clip);
  clip-path: url(#benefits-media-clip);
}
.benefits-section__media picture,
.benefits-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.benefits-section__media img {
  aspect-ratio: 1280 / 1118;
  object-fit: cover;
}

/* Cooperation */

.cooperation-section {
  overflow: hidden;
}
.cooperation-section__container {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, calc(2.5rem + 3vw), 6rem)
    clamp(3rem, calc(2rem + 2.8vw), 5.25rem);
}
.cooperation-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  min-block-size: clamp(27rem, 31vw, 35rem);
}
.cooperation-section__media {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-default);
  inline-size: min(46%, 55rem);
  block-size: 126%;
  overflow: hidden;
  -webkit-clip-path: url(#cooperation-media-clip);
  clip-path: url(#cooperation-media-clip);
  -webkit-transform: none;
  transform: none;
}
.cooperation-section__media picture,
.cooperation-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.cooperation-section__media img {
  object-fit: cover;
}
.cooperation-section__content {
  position: relative;
  z-index: var(--z-index-above);
  grid-column: 2;
  max-inline-size: 100%;
  padding-block-start: 2.5rem;
  padding-inline-start: clamp(2rem, calc(1rem + 3vw), 5rem);
}
.cooperation-section__heading {
  position: relative;
  max-inline-size: 100%;
  padding-inline-end: 5rem;
}
.cooperation-section__heading::after {
  content: "";
  position: absolute;
  inset-block-start: -4rem;
  inset-inline-end: 0;
  inline-size: clamp(3.8rem, 5vw, 5.5rem);
  aspect-ratio: 1 / 1.64;
  background: url("../images/brand-icon-01.svg") center / contain no-repeat;
  filter: brightness(0) invert(1);
  pointer-events: none;
}
.cooperation-section__heading h2 {
  font-family: var(--ff-heading-md);
  font-size: clamp(2.8rem, calc(2rem + 3.2vw), 6rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  text-wrap: balance;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.cooperation-section__form {
  max-inline-size: 36rem;
  margin-block-start: clamp(1rem, calc(0.75rem + 0.8vw), 1.75rem);
}
.cooperation-section__form form {
  margin: 0;
}
.cooperation-section__form .alert-danger {
  margin-block-end: 1rem;
}
.cooperation-section__form .input {
  border: 1px solid color-mix(in srgb, var(--text-white) 45%, transparent);
  border-radius: 0.75rem;
  background-color: color-mix(in srgb, var(--text-white) 12%, transparent);
  overflow: hidden;
}
.cooperation-section__form .input__label,
.cooperation-section__form .input__label-content,
.cooperation-section__form .input__label-content--fumi,
.cooperation-section__form .input__label-content--fumi b,
.cooperation-section__form .checkbox label,
.cooperation-section__form .checkbox label p,
.cooperation-section__form .formular_popis,
.cooperation-section__form .formular_popis span {
  color: var(--text-white);
}
.cooperation-section__form .icon,
.cooperation-section__form .icon--fumi {
  color: var(--text-white);
}
.cooperation-section__form .input__field--fumi:focus + .input__label--fumi .icon--fumi,
.cooperation-section__form .input--filled .icon--fumi {
  animation: none;
  -webkit-animation: none;
  color: var(--text-white);
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.cooperation-section__form .input__field--fumi,
.cooperation-section__form .input__field {
  color: var(--text-white);
  background-color: transparent;
  border-radius: 0.75rem;
}
.cooperation-section__form .input__field--fumi::placeholder,
.cooperation-section__form .input__field::placeholder {
  color: color-mix(in srgb, var(--text-white) 65%, transparent);
}
.cooperation-section__form .input--fumi::after {
  background-color: color-mix(in srgb, var(--text-white) 35%, transparent);
}
.cooperation-section__form input.input__field--fumi:-webkit-autofill,
.cooperation-section__form input.input__field--fumi:-webkit-autofill:hover,
.cooperation-section__form input.input__field--fumi:-webkit-autofill:focus,
.cooperation-section__form input.input__field--fumi:-webkit-autofill:active,
.cooperation-section__form textarea.input__field--fumi:-webkit-autofill,
.cooperation-section__form textarea.input__field--fumi:-webkit-autofill:hover,
.cooperation-section__form textarea.input__field--fumi:-webkit-autofill:focus,
.cooperation-section__form textarea.input__field--fumi:-webkit-autofill:active,
.cooperation-section__form input.input__field--fumi:autofill,
.cooperation-section__form textarea.input__field--fumi:autofill {
  -webkit-text-fill-color: var(--text-white) !important;
  color: var(--text-white) !important;
  caret-color: var(--text-white);
  box-shadow: 0 0 0 1000px color-mix(in srgb, var(--text-white) 12%, transparent) inset !important;
  transition: background-color 5000s ease-in-out 0s;
  animation-name: cooperation-section-autofill;
}
@keyframes cooperation-section-autofill {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
.cooperation-section__form .input__field--fumi:-webkit-autofill + .input__label--fumi .icon--fumi,
.cooperation-section__form .input__field--fumi:autofill + .input__label--fumi .icon--fumi {
  animation: none;
  -webkit-animation: none;
  color: var(--text-white);
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.cooperation-section__form .input__field--fumi:-webkit-autofill + .input__label--fumi .input__label-content--fumi,
.cooperation-section__form .input__field--fumi:autofill + .input__label--fumi .input__label-content--fumi {
  -webkit-transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
  transform: translate3d(0, -1.1em, 0) scale3d(0.85, 0.85, 1);
}
.cooperation-section__form .formular_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-block-start: 0.5rem;
  padding: clamp(0.85rem, calc(0.75rem + 0.35vw), 1.1rem) clamp(1.75rem, calc(1.25rem + 1.5vw), 2.75rem);
  font-family: var(--ff-heading-md);
  font-size: clamp(1rem, calc(0.9rem + 0.25vw), 1.125rem);
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border: 0;
  border-radius: 0.75rem;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease;
}
.cooperation-section__form .formular_button:hover,
.cooperation-section__form .formular_button:focus-visible {
  color: var(--text-white);
  background-color: var(--bg-green-500);
}
.cooperation-section__form .checkbox a {
  color: var(--text-white);
  border-block-end-color: color-mix(in srgb, var(--text-white) 55%, transparent);
}

.cooperation-section__paragraph {
  max-inline-size: 52rem;
  margin-block-start: clamp(1.75rem, calc(1.3rem + 1vw), 2.5rem);
}
.cooperation-section__paragraph p {
  margin: 0;
}
.cooperation-section__paragraph p + p {
  margin-block-start: 0.85rem;
}
.cooperation-section__paragraph .cooperation-section__values,
.cooperation-section__values {
  margin-block-start: 2rem;
  font-family: var(--ff-body-md);
  font-size: clamp(1.125rem, calc(0.85rem + 0.8vw), 1.875rem);
  line-height: 1.5;
}
.cooperation-section__paragraph .cooperation-section__values span:not(:last-child)::after,
.cooperation-section__values span:not(:last-child)::after {
  content: "|";
  padding-inline: 0.375rem;
}
a.cooperation-section__cta {
  position: relative;
  z-index: calc(var(--z-index-above) + 1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.3rem 0.55rem;
  inline-size: min(72%, 74rem);
  min-block-size: 7rem;
  margin-block-start: 1.5rem;
  margin-inline-start: auto;
  margin-inline-end: clamp(0rem, 3.5vw, 4rem);
  padding-block: 1.25rem;
  padding-inline: 1.5rem;
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border: 0;
  border-radius: 999rem;
  font-size: clamp(1.125rem, calc(0.9rem + 1vw), 1.875rem);
  line-height: 1.25;
  text-align: center;
  transition:
    color 260ms ease,
    background-color 260ms ease,
    -webkit-transform 260ms ease,
    transform 260ms ease;
}
a.cooperation-section__cta strong {
  font-family: var(--ff-body-bd);
}
a.cooperation-section__cta:is(:hover, :focus-visible) {
  color: var(--text-primary);
  background-color: var(--bg-primary);
  border-block-end-color: transparent;
  -webkit-transform: translateY(-0.1rem);
  transform: translateY(-0.1rem);
}

/* About */

.about-section__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  align-items: center;
  gap: clamp(3rem, calc(1.5rem + 3vw), 5rem);
  padding-block: clamp(2.5rem, calc(1.75rem + 2.3vw), 4.75rem);
  padding-inline: clamp(2rem, calc(1.5rem + 4vw), 6.5rem);
  overflow: hidden;
}
.about-section__content {
  max-inline-size: 50rem;
}
.about-section__paragraph {
  max-inline-size: 40rem;
  margin-block-start: clamp(1.5rem, calc(1.2rem + 0.8vw), 2.25rem);
}
.about-section__paragraph p {
  margin: 0;
}
.about-section__paragraph p + p {
  margin-block-start: 0.9rem;
}
.about-section__paragraph ul,
.about-section__list {
  display: grid;
  gap: 0.25rem;
  margin-block-start: 1.35rem;
  margin-block-end: 0;
  padding: 0;
  list-style: none;
}
.about-section__paragraph ul li,
.about-section__list li {
  position: relative;
  padding-inline-start: 2.625rem;
  font-size: clamp(1.25rem, calc(1rem + 0.65vw), 1.75rem);
  line-height: 1.2;
}
.about-section__paragraph ul li::before,
.about-section__list li::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  inline-size: 0.75rem;
  block-size: 0.75rem;
  background-color: var(--bg-accent-500);
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.about-section__content a.cta-link {
  margin-block-start: clamp(1.5rem, calc(1.2rem + 0.8vw), 2.25rem);
}
.about-section__media {
  overflow: hidden;
  -webkit-clip-path: url(#about-media-clip);
  clip-path: url(#about-media-clip);
}
.about-section__media picture,
.about-section__media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
}
.about-section__media img {
  aspect-ratio: 1280 / 1203;
  object-fit: cover;
}

/* News */

.news-section__top {
  align-items: start;
  margin-block-end: clamp(2.5rem, calc(2rem + 1.5vw), 3.75rem);
}
.news-section__top .title-box {
  max-inline-size: 34rem;
}
.news-section__intro {
  display: grid;
  gap: clamp(1rem, calc(0.75rem + 0.5vw), 1.5rem);
  justify-items: end;
  justify-self: end;
}
.news-section__paragraph {
  justify-self: end;
}
a.news-card {
  aspect-ratio: 900 / 1149;
  min-block-size: 0;
}
.news-card__content {
  row-gap: clamp(1rem, calc(0.75rem + 0.7vw), 1.5rem);
  padding-block: clamp(2rem, calc(1.5rem + 1.2vw), 3rem);
  padding-inline: clamp(2rem, calc(1.4rem + 1.5vw), 3.75rem);
}
.news-card__title {
  font-size: clamp(1.5rem, calc(1.15rem + 0.85vw), 2.125rem);
}
.news-card__text {
  font-size: clamp(1rem, calc(0.85rem + 0.3vw), 1.125rem);
}
a.news-card:is(:hover, :focus-visible) {
  color: var(--text-white);
  border-block-end-color: transparent;
}
a.news-card:is(:hover, :focus-visible) .news-card__media img {
  filter: brightness(0.85);
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}
.news-section__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block-start: clamp(2rem, calc(1.5rem + 1.8vw), 3.5rem);
}
.news-section__bottom > a.cta-link {
  min-inline-size: 18.25rem;
}
.news-carousel__nav button {
  flex-basis: clamp(4rem, calc(3rem + 2.8vw), 6.5rem);
  inline-size: clamp(4rem, calc(3rem + 2.8vw), 6.5rem);
  block-size: clamp(4rem, calc(3rem + 2.8vw), 6.5rem);
  color: var(--text-primary);
  background-color: transparent;
  border-color: color-mix(in srgb, var(--black) 18%, transparent);
}
.news-carousel__nav button + button {
  background-color: transparent;
}
.news-carousel__nav button:is(:hover, :focus-visible) {
  color: var(--text-white);
  background-color: var(--bg-green-900);
  border-color: var(--bg-green-900);
}

/* CTA */

main .offer-section + .cta-section {
  margin-top: 40px;
}

.cta-section__panel {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1920 / 613;
  min-block-size: clamp(19rem, 22vw, 25rem);
  overflow: hidden;
}
.cta-section__media,
.cta-section__media img,
.cta-section__overlay {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.cta-section__media {
  display: block;
}
.cta-section__media img {
  object-fit: cover;
}
.cta-section__overlay {
  z-index: var(--z-index-default);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--bg-green-900) 55%, transparent),
    color-mix(in srgb, var(--bg-green-900) 78%, transparent)
  );
}
.cta-section__content {
  position: relative;
  z-index: var(--z-index-above);
  display: grid;
  justify-items: center;
  row-gap: clamp(1.75rem, calc(1.25rem + 1vw), 2.5rem);
  max-inline-size: 68rem;
  padding-block: clamp(4rem, calc(2.75rem + 2.2vw), 5.75rem);
  padding-inline: clamp(1.25rem, calc(0.9rem + 2vw), 3.5rem);
  text-align: center;
}
.cta-section__heading h2 {
  font-family: var(--ff-heading-md);
  font-size: clamp(2.25rem, calc(1.8rem + 1.6vw), 3.75rem);
  line-height: 1.05;
  text-wrap: balance;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
.cta-section__paragraph {
  font-family: var(--ff-heading-reg);
  font-size: clamp(1.25rem, calc(1.062rem + 0.938vw), 2.188rem);
  max-inline-size: 56rem;
}
.cta-section__paragraph p {
  margin: 0;
  line-height: 1.25;
}

/* Footer */

.footer-section {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.5rem, calc(2.5rem + 3vw), 6rem) 2.375rem;
  background-color: var(--bg-primary);
}
.footer-section::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: clamp(8rem, 12vw, 14rem);
  z-index: var(--z-index-default);
  inline-size: min(25rem, 28vw);
  max-inline-size: 25rem;
  aspect-ratio: 1 / 1;
  background: url("../images/brand-icon-02.svg") center / contain no-repeat;
  opacity: 0.12;
  -webkit-transform: translateX(-40%) translateY(24%);
  transform: translateX(-40%) translateY(24%);
  pointer-events: none;
}
.footer-section__layout {
  position: relative;
  z-index: var(--z-index-above);
  display: grid;
  grid-template-columns: minmax(9rem, 0.375fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, calc(1rem + 4vw), 6rem);
}
.footer-section__brand img {
  display: block;
  inline-size: min(100%, 9rem);
  block-size: auto;
}
.footer-section__content {
  min-inline-size: 0;
}
.footer-section__nav ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem clamp(1rem, calc(0.6rem + 1vw), 1.75rem);
}
.footer-section__nav a {
  color: var(--text-primary);
  border-block-end: 0;
  font-family: var(--ff-body-md);
  font-size: clamp(0.85rem, calc(0.75rem + 0.2vw), 1rem);
  line-height: 1.2;
  text-transform: uppercase;
  transition: color 220ms ease;
}
.footer-section__nav a:is(:hover, :focus-visible, .hi) {
  color: var(--text-green-500);
}
a.footer-section__phone {
  display: inline-flex;
  margin-block-start: clamp(2rem, calc(1.5rem + 1.7vw), 3.5rem);
  color: var(--text-primary);
  border-block-end: 0;
  font-family: var(--ff-heading-md);
  font-size: clamp(2.5rem, calc(1.8rem + 2.4vw), 4.75rem);
  line-height: 1;
  letter-spacing: -0.025em;
  white-space: nowrap;
  transition:
    color 240ms ease,
    -webkit-transform 240ms ease,
    transform 240ms ease;
}
a.footer-section__phone:is(:hover, :focus-visible) {
  color: var(--text-green-500);
  -webkit-transform: translateX(0.15rem);
  transform: translateX(0.15rem);
}
.footer-section__info-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, calc(1rem + 2vw), 3.5rem);
  margin-block-start: clamp(2rem, calc(1.5rem + 1.7vw), 3.25rem);
}
.footer-section__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-inline-size: 0;
  font-size: clamp(0.9rem, calc(0.84rem + 0.2vw), 1rem);
  line-height: 1.5;
}
.footer-section__info strong {
  font-family: var(--ff-body-bd);
  font-weight: bold;
}
.footer-section__info a {
  border-block-end: 0;
  overflow-wrap: anywhere;
}
.footer-section__bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 1rem;
  margin-block-start: clamp(2.5rem, calc(2rem + 1.7vw), 4rem);
  padding-block-start: 2.375rem;
  border-block-start: 0.0625rem solid
    color-mix(in srgb, var(--black) 18%, transparent);
  font-size: clamp(0.875rem, calc(0.82rem + 0.14vw), 1rem);
}
.footer-section__bottom ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
}
.footer-section__bottom ul:last-child {
  justify-self: end;
}
.footer-section__bottom li:not(:last-child)::after {
  content: "|";
  padding-inline: 0.375rem;
}
.footer-section__bottom a {
  color: color-mix(in srgb, var(--text-primary) 60%, transparent);
  border-block-end: 0;
}
.footer-section__bottom a:is(:hover, :focus-visible) {
  color: var(--text-primary);
}

/* RESPONSIVE STRUCTURE
--------------------------------------- */

@media screen and (max-width: 1920px) {
  .hero-section > .container-fluid-custom,
  .header > .container-fluid-custom,
  .topbar > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .cta-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .offer-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .benefits-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .about-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .news-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .cooperation-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
  .footer-section > .container-fluid-custom {
    padding-inline: max(1rem, 5%);
  }
}

@media screen and (max-width: 1366px) {
  .header {
    --_logo-size: 8rem;
    --_nav-size: clamp(0.75rem, 0.95vw, 0.875rem);
  }
  .header-primary {
    gap: 1.15rem;
  }
  .mainNavigation .navbar-nav {
    gap: 0.62rem;
  }
  a.header-cooperation-link {
    padding-inline: 1.1rem;
  }
  .hero-section__heading h1 {
    font-size: clamp(2.65rem, 3.75vw, 3.7rem);
  }
  .hero-section__body {
    grid-template-columns: minmax(0, 1fr) clamp(11.25rem, 16vw, 14rem);
    gap: 1.5rem;
  }
  .hero-section__quality {
    font-size: clamp(0.875rem, 1.3vw, 1.125rem);
    -webkit-transform: none;
    transform: none;
  }
}

@media screen and (max-width: 1199px) {
  .header {
    --_logo-size: 7.2rem;
    --_nav-size: clamp(0.7rem, 0.9vw, 0.75rem);
  }
  .header-bar {
    padding-inline: 0.6rem;
    gap: 0.75rem;
  }
  .header-primary {
    gap: 0.8rem;
  }
  .mainNavigation .navbar-nav {
    gap: 0.46rem;
  }
  a.header-cooperation-link {
    gap: 0.55rem;
    padding-inline: 0.9rem;
  }
  .header-cooperation-link__icon {
    inline-size: 1.35rem;
    block-size: 1.35rem;
  }
  .hero-section__inner {
    max-inline-size: 51%;
  }
  .hero-section__quality {
    font-size: clamp(0.875rem, 1.25vw, 1rem);
  }
  .cooperation-section__content {
    padding-inline-start: 2rem;
  }
  .cooperation-section__media {
    inline-size: 43%;
  }
  .benefits-section__grid {
    grid-template-columns: 1fr;
    gap: clamp(2.5rem, 8vw, 4rem);
  }
  .benefits-section__content {
    --_benefit-base: 100%;
    --_benefit-step: 0%;
  }
  .benefits-section__media {
    justify-self: center;
    inline-size: min(100%, 42rem);
  }
}

@media screen and (max-width: 991px) {
  .cta-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .offer-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .benefits-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .about-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .news-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .cooperation-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .footer-section > .container-fluid-custom {
    padding-inline: 1rem;
  }
  body.offcanvas-open {
    overflow: hidden;
    touch-action: none;
  }
  [class*="paragraph"] {
    max-inline-size: 100%;
  }
  .topbar {
    display: none;
  }
  .header,
  .header.scroll {
    position: relative;
    inset: auto;
    padding-block: 0.5rem;
    background-color: var(--bg-primary);
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-animation: none;
    animation: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .header > .container-fluid-custom {
    padding-inline: 1rem;
  }
  .header-bar,
  .header.scroll .header-bar {
    min-block-size: 4.25rem;
    padding-block: 0.45rem;
    padding-inline: 0.8rem;
    background-color: var(--bg-primary);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .header-primary {
    flex: 0 1 auto;
    inline-size: auto;
    gap: 0;
  }
  .main-logo,
  .main-logo.scroll {
    flex-basis: 8rem;
    inline-size: 8rem;
    max-inline-size: 8rem;
  }
  .mainNavigation,
  .header-actions {
    display: none !important;
  }
  #navtoggler {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.5rem;
    inline-size: 2.5rem;
    block-size: 2.5rem;
    padding: 0;
    background-color: transparent;
    border: 0;
    cursor: pointer;
  }
  .menu-lines {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    inline-size: 1.5rem;
    block-size: 1rem;
  }
  .menu-line {
    inline-size: 100%;
    block-size: 0.1rem;
    background-color: var(--bg-green-900);
    transition:
      opacity 260ms ease,
      -webkit-transform 260ms ease,
      transform 260ms ease;
  }
  .hero-section__inner {
    min-block-size: 0;
    max-inline-size: 100%;
    padding-block: clamp(3.5rem, 9vw, 5rem) clamp(2.5rem, 7vw, 4rem);
  }
  .hero-section__heading {
    max-inline-size: 42rem;
  }
  .hero-section__heading h1 {
    font-size: clamp(2.6rem, 9vw, 4.2rem);
  }
  .hero-section__subpage .hero-section__inner {
    min-block-size: 0;
    max-inline-size: 100%;
    gap: 1rem;
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
  }
  .hero-section__subpage .hero-section__heading h1 {
    font-size: clamp(2rem, 6vw, 3rem);
  }
  .hero-section__body {
    grid-template-columns: minmax(0, 1fr) min(12rem, 30vw);
    align-items: center;
    max-inline-size: 45rem;
    margin-block-start: clamp(2.5rem, 7vw, 3.5rem);
  }
  .hero-media {
    position: relative;
    inset: auto;
    inline-size: calc(100% - 2rem);
    block-size: auto;
    margin-inline: 1rem;
    margin-block-end: 1rem;
    overflow: hidden;
    border-radius: var(--radius);
    -webkit-clip-path: none;
    clip-path: none;
    aspect-ratio: 16 / 11;
  }
  .hero-media__scene img {
    object-position: center;
  }
  .hero-section__subpage + .hero-media {
    aspect-ratio: 1000 / 750;
  }
  .offer-section__top,
  .news-section__top {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .offer-section__intro {
    justify-items: start;
  }
  .offer-carousel:not(.owl-loaded),
  .news-carousel:not(.owl-loaded) {
    grid-template-columns: 1fr;
  }
  a.offer-card,
  a.news-card {
    min-block-size: 28rem;
  }
  .cooperation-section__container {
    padding-block: clamp(3rem, 8vw, 4.5rem);
  }
  .cooperation-section__grid {
    grid-template-columns: 1fr;
    min-block-size: 0;
    row-gap: clamp(2rem, 7vw, 3.5rem);
  }
  .cooperation-section__media {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    inline-size: min(100%, 34rem);
    block-size: auto;
    aspect-ratio: 801.1 / 956.1;
    -webkit-transform: none;
    transform: none;
  }
  .cooperation-section__content {
    grid-column: 1;
    grid-row: 2;
    max-inline-size: 42rem;
    padding-block-start: 0;
    padding-inline-start: 0;
  }
  .cooperation-section__heading {
    max-inline-size: 35rem;
  }
  .cooperation-section__heading::after {
    inset-block-start: -0.75rem;
  }
  a.cooperation-section__cta {
    inline-size: 100%;
    min-block-size: 5rem;
    margin-block-start: clamp(2rem, 6vw, 3rem);
    margin-inline-start: 0;
    margin-inline-end: 0;
    font-size: clamp(1rem, 3vw, 1.5rem);
  }
  .about-section__panel {
    grid-template-columns: 1fr;
    row-gap: clamp(2.5rem, 8vw, 4rem);
  }
  .about-section__content {
    max-inline-size: 100%;
  }
  .about-section__media {
    justify-self: center;
    inline-size: min(100%, 32rem);
  }
  .news-section__paragraph {
    justify-self: start;
  }
  .cta-section__panel {
    aspect-ratio: auto;
    min-block-size: 0;
  }
  .cta-section__content {
    padding-block: clamp(3.5rem, 8vw, 5rem);
  }
  .footer-section::before {
    inset-inline-start: 50%;
    inline-size: min(22rem, 66vw);
    -webkit-transform: translateX(-50%) translateY(56%);
    transform: translateX(-50%) translateY(56%);
  }
  .footer-section__layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-section__brand {
    display: flex;
    justify-content: center;
  }
  .footer-section__brand img {
    inline-size: 5rem;
  }
  .footer-section__nav ul {
    justify-content: center;
  }
  a.footer-section__phone {
    display: flex;
    justify-content: center;
    font-size: clamp(2.2rem, 8vw, 4rem);
    white-space: normal;
    text-align: center;
  }
  .footer-section__info-row {
    grid-template-columns: 1fr;
    max-inline-size: 42rem;
    margin-inline: auto;
    text-align: center;
  }
  .footer-section__info {
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  a.offer-card {
    aspect-ratio: auto;
    min-block-size: clamp(28rem, 90vw, 36rem);
  }
  a.news-card {
    aspect-ratio: auto;
    min-block-size: clamp(30rem, 85vw, 40rem);
  }
  .hero-section__body {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .hero-section__quality {
    inline-size: 10.5rem;
  }
  .hero-media {
    aspect-ratio: 4 / 3;
  }
  .offer-section__top,
  .news-section__top {
    margin-block-end: 2rem;
  }
  .news-section__bottom {
    flex-wrap: wrap;
  }
  .news-section__bottom > a.cta-link {
    margin-inline-start: auto;
  }
  .cooperation-section__heading h2 {
    font-size: clamp(2.5rem, 10vw, 3.75rem);
  }
  .footer-section__bottom {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .footer-section__bottom ul {
    justify-content: center;
  }
  .footer-section__bottom ul:last-child {
    justify-self: center;
  }
}

@media screen and (max-width: 575px) {
  .benefits-section {
    padding-block: clamp(4rem, 12vw, 5rem);
  }
  .header-bar,
  .header.scroll .header-bar {
    min-block-size: 3.8rem;
  }
  .main-logo,
  .main-logo.scroll {
    flex-basis: 7rem;
    inline-size: 7rem;
    max-inline-size: 7rem;
  }
  .offcanvas-menu {
    --_offcanvas-size: min(92vw, 26rem);
  }
  .hero-section__heading h1 span:first-child::after {
    inline-size: 2.35rem;
  }
  .hero-section__heading h1 {
    font-size: clamp(2.35rem, 11.5vw, 3.25rem);
  }
  .hero-section__paragraph {
    padding-inline-start: 0;
    border-inline-start: 0;
  }
  .hero-section__quality {
    inline-size: 9.5rem;
  }
  .hero-media {
    aspect-ratio: 1 / 1;
  }
  a.offer-card {
    min-block-size: clamp(26rem, 100vw, 34rem);
  }
  a.news-card {
    min-block-size: clamp(28rem, 105vw, 36rem);
  }
  .benefits-section__item {
    padding-inline: 0.85rem;
  }
  .cooperation-section__heading {
    padding-inline-end: 3.75rem;
  }
  .cooperation-section__heading::after {
    inline-size: 3.25rem;
  }
  .about-section__panel {
    padding-block: 2rem;
    padding-inline: 1.25rem;
  }
  .news-section__bottom {
    align-items: flex-start;
  }
  .news-section__bottom > a.cta-link {
    inline-size: 100%;
    margin-inline-start: 0;
  }
  .cta-section__content {
    row-gap: clamp(1.75rem, 7vw, 2.25rem);
    padding-block: clamp(3.5rem, 10vw, 4.5rem);
    padding-inline: 1rem;
  }
  .footer-section__nav ul {
    flex-direction: column;
    gap: 0.7rem;
  }
}

@media screen and (max-width: 480px) {
  .offcanvas-menu {
    --_offcanvas-size: 100%;
  }
  .carousel-nav button {
    flex-basis: 2.75rem;
    inline-size: 2.75rem;
    block-size: 2.75rem;
  }
  .offer-section .offer-carousel__nav button {
    flex-basis: 3.25rem;
    inline-size: 3.25rem;
    block-size: 3.25rem;
  }
  .news-carousel__nav button {
    flex-basis: 3.5rem;
    inline-size: 3.5rem;
    block-size: 3.5rem;
  }
  .cooperation-section__values span:not(:last-child)::after {
    display: none;
  }
  .cooperation-section__values {
    display: grid;
    gap: 0.25rem;
  }
}

@media screen and (max-width: 360px) {
  .main-logo,
  .main-logo.scroll {
    flex-basis: 6.25rem;
    inline-size: 6.25rem;
    max-inline-size: 6.25rem;
  }
  .hero-section__heading h1 {
    font-size: 2.15rem;
  }
  a.footer-section__phone {
    font-size: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
