/* ==================================================
   VIDEOS
================================================== */
.hhvideo-section {
  --hhvideo-green: #7c8b7d;
  --hhvideo-green-dark: #5f6f61;

  position: relative;
  padding: 100px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(124,139,125,.22), transparent 32%),
    radial-gradient(circle at 88% 76%, rgba(124,139,125,.16), transparent 34%),
    linear-gradient(135deg, #0f1110 0%, #171d18 42%, #253028 100%);
}

.hhvideo-container {
  max-width: 1320px;
  margin: 0 auto;
}

.hhvideo-heading {
  max-width: 820px;
  margin: 0 auto 54px;
  text-align: center;
}

.hhvideo-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: #aeb9af;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.hhvideo-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 2.8vw, 40px);
  font-weight: 500;
  line-height: 1.15;
}

.hhvideo-separator {
  justify-content: center;
  margin: 24px 0;
}

.hhvideo-heading p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.3;
  text-align: center;
}

.hhvideo-carousel {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 58px;
  gap: 20px;
  align-items: center;
}

.hhvideo-viewport {
  overflow: hidden;
  width: 100%;
}

.hhvideo-track {
  display: flex;
  transition: transform .55s ease;
  will-change: transform;
}

.hhvideo-slide {
  flex: 0 0 25%;
  padding: 0 12px;
  box-sizing: border-box;
}

.hhvideo-card {
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 28px 70px rgba(0,0,0,.32);
}

.hhvideo-card::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.35);
  pointer-events: none;
}

.hhvideo-card video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #111;
}

.hhvideo-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  width: 74px;
  height: 74px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0 18px 46px rgba(0,0,0,.30);
  transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
}

.hhvideo-play span {
   position: absolute;
  left: 50%;
  top: 50%;

  width: 0;
  height: 0;

  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 20px solid var(--hhvideo-green-dark);

  transform: translate(-38%, -50%);
}

.hhvideo-card:hover .hhvideo-play {
  transform: translate(-50%, -50%) scale(1.08);
}

.hhvideo-card.is-playing .hhvideo-play {
  opacity: 0;
  visibility: hidden;
}

.hhvideo-arrow {
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease, border-color .25s ease;
}

.hhvideo-arrow:hover {
  background: var(--hhvideo-green);
  border-color: var(--hhvideo-green);
  transform: translateY(-3px);
}

.hhvideo-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 34px;
}

.hhvideo-dot {
  width: 34px;
  height: 4px;
  border: 0;
  padding: 0;
  background: rgba(255,255,255,.24);
  cursor: pointer;
  transition: width .25s ease, background .25s ease;
}

.hhvideo-dot.is-active {
  width: 54px;
  background: var(--hhvideo-green);
}

@media (max-width: 1199px) {
  .hhvideo-slide {
    flex-basis: 33.3333%;
  }
}

@media (max-width: 991px) {
  .hhvideo-section {
    padding: 82px 22px;
  }

  .hhvideo-slide {
    flex-basis: 50%;
  }
}

@media (max-width: 767px) {
  .hhvideo-carousel {
    grid-template-columns: 1fr;
  }

  .hhvideo-slide {
    flex-basis: 100%;
    padding: 0;
  }

  .hhvideo-card {
    max-width: 330px;
    margin: 0 auto;
  }

  .hhvideo-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 48px;
    height: 48px;
    font-size: 34px;
    transform: translateY(-50%);
  }

  .hhvideo-carousel {
    position: relative;
  }

  .hhvideo-prev {
    left: -8px;
  }

  .hhvideo-next {
    right: -8px;
  }

  .hhvideo-arrow:hover {
    transform: translateY(-50%);
  }
}

@media (max-width: 575px) {
  .hhvideo-section {
    padding: 64px 18px;
  }

  .hhvideo-heading {
    margin-bottom: 38px;
  }

  .hhvideo-heading p {
    font-size: 15px;
  }

  .hhvideo-card {
    max-width: 290px;
  }
}
.hhvideo-card video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background-color: #111;
}

.hhvideo-card:not(.is-playing) video {
  pointer-events: none;
}

.hhvideo-card.is-playing video {
  pointer-events: auto;
}

/* ==================================================
   HOME HERO
================================================== */

.hhh-hero {
  --hhh-green: #7c8b7d;
  --hhh-green-dark: #5f6f61;
  --hhh-text: #202620;

  position: relative;
  min-height: 82vh;
  overflow: hidden;

  display: flex;
  align-items: center;

  background: #111;
}

.hhh-hero-bg {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  z-index: 1;
}

.hhh-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, .50) 0%,
      rgba(0, 0, 0, .26) 44%,
      rgba(0, 0, 0, .12) 100%
    );
}

.hhh-hero-container {
  position: relative;
  z-index: 3;

  width: 100%;
  max-width: 1320px;

  margin: 0 auto;
  padding: 0 24px;
}

.hhh-hero-content {
  max-width: 620px;

  padding: 46px;

  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgb(255 255 255 / 16%);

  box-shadow:
    0 24px 70px rgba(0, 0, 0, .22);
}

.hhh-hero-kicker {
  display: inline-block;
  margin-bottom: 14px;

  color: #fff;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.hhh-hero-content h2 {
  margin: 0 0 20px;

  color: #fff;

  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}

.hhh-hero-text {
  margin: 0 0 30px;

  color: rgb(255 255 255 / 86%);

  font-size: 18px;
  line-height: 1.3;
}

.hhh-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.hhh-hero-btn {
  position: relative;

  min-height: 56px;
  padding: 0 30px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  overflow: hidden;

  text-decoration: none;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;

  box-shadow:
    0 18px 36px rgba(0, 0, 0, .16);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease,
    color .3s ease;
}

.hhh-hero-btn span {
  position: relative;
  z-index: 2;
}

.hhh-hero-btn::before {
  content: "";
  position: absolute;
  inset: 1px;

  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .28);

  z-index: 1;
}

.hhh-hero-btn::after {
  content: "";
  position: absolute;

  top: 0;
  left: -80%;

  width: 45%;
  height: 100%;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255, 255, 255, .38),
      transparent
    );

  transform: skewX(-24deg);
  transition: left .7s ease;

  z-index: 1;
}

.hhh-hero-btn:hover {
  transform: translateY(-5px);

  box-shadow:
    0 26px 50px rgba(0, 0, 0, .24);
}

.hhh-hero-btn:hover::after {
  left: 130%;
}

.hhh-hero-btn-green {
  color: #fff;

  background:
    linear-gradient(
      135deg,
      var(--hhh-green),
      var(--hhh-green-dark)
    );
}

.hhh-hero-btn-light {
  color: var(--hhh-text);

  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(124, 139, 125, .28);
}

.hhh-hero-btn-light:hover {
  color: #fff;

  background:
    linear-gradient(
      135deg,
      var(--hhh-green),
      var(--hhh-green-dark)
    );
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 991px) {
  .hhh-hero {
    min-height: 74vh;
  }

  .hhh-hero-content {
    max-width: 560px;
    padding: 38px;
  }

  .hhh-hero-content h2 {
    font-size: 25px;
  }

  .hhh-hero-text {
    font-size: 17px;
  }
}

@media (max-width: 767px) {
  .hhh-hero {
    min-height: 68vh;
  }

  .hhh-hero-container {
    padding: 0 20px;
  }

  .hhh-hero-content {
    padding: 30px;
    background: rgba(255, 255, 255, 0);
  }

  .hhh-hero-content h2 {
    font-size: 22px;
  }

  .hhh-hero-text {
    font-size: 16px;
  }

  .hhh-hero-actions {
    flex-direction: column;
  }

  .hhh-hero-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .hhh-hero {
    min-height: 620px;
  }

  .hhh-hero-content {
    padding: 26px;
  }

  .hhh-hero-kicker {
    font-size: 11px;
    letter-spacing: .20em;
  }
}

/* ==================================================
   GOOGLE MAP
================================================== */
.hhmap-wrapper {
    position: relative;
    width: 100%;
    height: 380px;
    overflow: hidden;
    background: #f5f5f5;

    border: 20px solid #ffffff;

    box-shadow:
        0 8px 30px rgba(0,0,0,.06),
        0 30px 80px rgba(0,0,0,.08);
}
.hhmap-section {
    padding: 90px 0 0;
    background: #ffffff;
    overflow: hidden;
}

.hhmap-heading {
    max-width: 820px;
    margin: 0 auto 50px;
    padding: 0 24px;
    text-align: center;
}

.hhmap-kicker {
    display: inline-block;
    margin-bottom: 14px;
    color: #7c8b7d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .26em;
    text-transform: uppercase;
}

.hhmap-heading h2 {
    margin: 0;
    color: #202620;
    font-size: clamp(24px, 2.4vw, 36px);
    font-weight: 500;
    line-height: 1.2;
}

.hhmap-separator {
    justify-content: center;
    margin: 24px 0;
}

.hhmap-heading p {
    margin: 0;
    color: rgba(32, 38, 32, .82);
    font-size: 17px;
    line-height: 1.3;
    text-align: center;
}

/* ==========================
   MAP
========================== */

.hhmap-wrapper {
    position: relative;
    width: 100%;
    height: 380px;
    overflow: hidden;
    background: #f5f5f5;
}

.hhmap-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;

    filter:
        grayscale(20%)
        contrast(105%)
        saturate(90%);
}

/* Overlay sombre premium */

.hhmap-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            rgba(32, 38, 32, .18),
            rgba(32, 38, 32, .18)
        );

    pointer-events: none;
    z-index: 2;
}

/* Ligne décorative subtile */

.hhmap-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 1px;

    background:
        rgba(124, 139, 125, .18);

    z-index: 3;
    pointer-events: none;
}

/* ==========================
   TABLETTE
========================== */

@media (max-width: 991px) {

    .hhmap-section {
        padding-top: 70px;
    }

    .hhmap-heading {
        margin-bottom: 40px;
    }

    .hhmap-wrapper {
        height: 320px;
    }

}

/* ==========================
   MOBILE
========================== */

@media (max-width: 767px) {

    .hhmap-section {
        padding-top: 60px;
    }

    .hhmap-heading {
        margin-bottom: 32px;
        padding: 0 20px;
    }

    .hhmap-heading p {
        font-size: 16px;
    }

    .hhmap-wrapper {
        height: 280px;
    }

}

/* ==========================
   PETITS MOBILES
========================== */

@media (max-width: 575px) {

    .hhmap-wrapper {
        height: 260px;
    }

}


/* =========================================================
  TÉMOIGNAGES
========================================================= */
.hhtest-section {
  --hhtest-green: #7c8b7d;
  --hhtest-green-dark: #5f6f61;
  --hhtest-text: #202620;

  background: #fff;
  padding: 96px 24px;
  overflow: hidden;
}

.hhtest-container {
  max-width: 1320px;
  margin: 0 auto;
}

.hhtest-heading {
  text-align: center;
  margin-bottom: 48px;
}

.hhtest-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hhtest-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.hhtest-heading h2 {
  margin: 0;
  color: var(--hhtest-text);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  line-height: 1.2;
}

.hhtest-separator {
  justify-content: center;
  margin: 24px 0 0;
}

.hhtest-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 62px;
  align-items: center;
  gap: 24px;
}

.hhtest-track {
  overflow: hidden;
  width: 100%;
}

.hhtest-track-inner {
  display: flex;
  align-items: stretch;
  transition: transform .55s ease;
  will-change: transform;
}

.hhtest-slide {
  flex: 0 0 50%;
  padding: 0 14px;
  box-sizing: border-box;
}

.hhtest-card {
  position: relative;
  height: 100%;
  min-height: 360px;
  padding: clamp(34px, 4vw, 54px);
  background:
    linear-gradient(135deg, rgba(124, 139, 125, .10), transparent 42%),
    #fff;
  border: 1px solid rgba(124, 139, 125, .18);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.hhtest-card::before {
  content: "“";
  position: absolute;
  top: 16px;
  left: 28px;
  color: rgba(124, 139, 125, .16);
  font-size: 108px;
  line-height: 1;
  font-family: Georgia, serif;
}

.hhtest-card p {
  position: relative;
  z-index: 1;
  margin: 0 0 22px;
  color: rgba(32, 38, 32, .84);
  font-size: 17px;
  line-height: 1.3;
  text-align: center;
  font-style: italic;
}

.hhtest-card h3 {
  margin: 0;
  color: var(--hhtest-green-dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hhtest-arrow {
  width: 62px;
  height: 62px;
  border: 1px solid rgba(124, 139, 125, .35);
  border-radius: 50%;
  background: #fff;
  color: var(--hhtest-green-dark);
  font-size: 42px;
  line-height: 1;
  cursor: pointer;
  transition: background .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.hhtest-arrow:hover {
  background: var(--hhtest-green);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
}

.hhtest-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}

.hhtest-dot {
  width: 34px;
  height: 4px;
  border: 0;
  padding: 0;
  background: rgba(124, 139, 125, .24);
  cursor: pointer;
  transition: background .25s ease, width .25s ease;
}

.hhtest-dot.is-active {
  width: 54px;
  background: var(--hhtest-green);
}

.hhtest-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhtest-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}

body.dhh-js-ready .hhtest-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .hhtest-slide {
    flex-basis: 100%;
  }

  .hhtest-card {
    min-height: 340px;
  }
}

@media (max-width: 767px) {
  .hhtest-section {
    padding: 72px 22px;
  }

  .hhtest-carousel {
    grid-template-columns: 1fr;
  }

  .hhtest-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 48px;
    height: 48px;
    font-size: 34px;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, .94);
  }

  .hhtest-prev {
    left: -8px;
  }

  .hhtest-next {
    right: -8px;
  }

  .hhtest-arrow:hover {
    transform: translateY(-50%);
  }
}

@media (max-width: 575px) {
  .hhtest-section {
    padding: 56px 18px;
  }

  .hhtest-heading {
    margin-bottom: 38px;
  }

  .hhtest-slide {
    padding: 0;
  }

  .hhtest-card {
    min-height: 390px;
    padding: 34px 26px;
  }

  .hhtest-card::before {
    left: 20px;
    font-size: 82px;
  }

  .hhtest-card p {
    font-size: 15px;
    line-height: 1.3;
  }
}



/* =========================================================
  SERVICES
========================================================= */

.hhh-services {
  --hhh-green: #7c8b7d;
  --hhh-green-dark: #5f6f61;
  --hhh-text: #202620;
  --hhh-soft: #f8f7f2;

  background: #fff;
  padding: 96px 24px;
  overflow: hidden;
}

.hhh-services-container {
  max-width: 1320px;
  margin: 0 auto;
}

.hhh-services-heading {
  max-width: 760px;
  margin: 0 auto 54px;
  text-align: center;
}

.hhh-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hhh-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.hhh-services-heading h2 {
  margin: 0;
  color: var(--hhh-text);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  line-height: 1.2;
}

.hhh-services-separator {
  justify-content: center;
  margin: 24px 0 0;
}

.hhh-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
}

.hhh-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .07);
  transition: transform .32s ease, box-shadow .32s ease;
}

.hhh-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 82px rgba(0, 0, 0, .12);
}

.hhh-service-image {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 300px;
  background: var(--hhh-soft);
}

.hhh-service-image::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, .72);
  z-index: 2;
  pointer-events: none;
}

.hhh-service-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(124, 139, 125, .34);
  opacity: 0;
  z-index: 1;
  transition: opacity .35s ease;
}

.hhh-service-card:hover .hhh-service-image::after {
  opacity: 1;
}

.hhh-service-image img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center;
  transition: transform .75s ease, filter .75s ease;
}

.hhh-service-card:hover .hhh-service-image img {
  transform: scale(1.06);
  filter: saturate(1.04) contrast(1.03);
}

.hhh-service-content {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(124, 139, 125, .16);
  border-top: 0;
}

.hhh-service-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  width: 72px;
  height: 4px;
  background: var(--hhh-green);
}

.hhh-service-content h3 {
  margin: 0 0 14px;
  color: var(--hhh-text);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}

.hhh-service-content h3 a {
  color: inherit;
  text-decoration: none;
  transition: color .25s ease;
}

.hhh-service-content h3 a:hover {
  color: var(--hhh-green-dark);
}

.hhh-service-content p {
  margin: 0 0 10px;
  color: rgba(32, 38, 32, .82);
  font-size: 15px;
  line-height: 1.3;
  text-align: justify;
  text-justify: inter-word;
}

.hhh-service-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 50px;
  padding: 0 28px;
  margin-top: auto;
  border-radius: 999px;
  overflow: hidden;
  color: #fff !important;
  background: linear-gradient(135deg, var(--hhh-green), var(--hhh-green-dark));
  box-shadow: 0 18px 36px rgba(0, 0, 0, .16);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.hhh-service-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .22);
}

.hhh-service-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 48%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .38), transparent);
  transform: skewX(-24deg);
  transition: left .65s ease;
}

.hhh-service-btn span {
  position: relative;
  z-index: 2;
}

.hhh-service-btn:hover {
  transform: translateY(-4px);
  background: linear-gradient(135deg, #8fa091, var(--hhh-green));
  box-shadow: 0 24px 48px rgba(0, 0, 0, .22);
}

.hhh-service-btn:hover::after {
  left: 130%;
}

.hhh-services-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhh-services-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}

body.dhh-js-ready .hhh-services-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1199px) {
  .hhh-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .hhh-services {
    padding: 72px 22px;
  }

  .hhh-services-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .hhh-service-image,
  .hhh-service-image img {
    min-height: 280px;
    height: 280px;
  }
}

@media (max-width: 575px) {
  .hhh-services {
    padding: 56px 18px;
  }

  .hhh-services-heading {
    margin-bottom: 38px;
  }

  .hhh-service-content {
    padding: 26px 24px;
  }

  .hhh-service-content h3 {
    font-size: 20px;
  }

  .hhh-service-content p {
    font-size: 15px;
	          text-align: left;
  }

  .hhh-service-btn {
    width: 100%;
  }
	.hh-footer p {
 text-align: left;
}
}

/* =========================================================
  LISTE
========================================================= */
.hhs-series-intro{
    margin:0 0 18px;
    padding-left:18px;

    position:relative;

    font-size:18px;
    font-weight:500;
    line-height:1.3;

    color:#202620;
}

.hhs-series-intro::before{
    content:"";

    position:absolute;
    left:0;
    top:3px;

    width:4px;
    height:20px;

    background:#7c8b7d;
    border-radius:20px;
}

.hhs-series-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.hhs-series-list p {
  position: relative;
  margin: 0;
  padding: 16px 18px 16px 44px;
  background: #fff;
  border: 1px solid rgba(124, 139, 125, .18);
  color: rgba(32, 38, 32, .82);
  font-size: 15px;
  line-height: 1.3;
  text-align: justify;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.hhs-series-list p::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 22px;
  width: 9px;
  height: 9px;
  background: #7c8b7d;
  transform: rotate(45deg);
}

.hhs-series-list p:hover {
  transform: translateY(-3px);
  border-color: rgba(124, 139, 125, .45);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .07);
}

/* =========================================================
   CTA
========================================================= */

.hhc-cta-section {
  --hhc-green: #7c8b7d;
  --hhc-green-dark: #5f6f61;

  position: relative;
  min-height: 720px;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 120px 24px;
  margin: 0;

  background: #111;
}

.hhc-bg {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  z-index: 1;
}

.hhc-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;

  background:
   radial-gradient(circle at center, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(180deg, rgba(0, 0, 0, .25), rgb(0 0 0 / 0%));
}

.hhc-cta-section::after {
  display: none;
}

.hhc-cta-container {
  position: relative;
  z-index: 4;

  width: 100%;
  max-width: 980px;
  margin: 0 auto;

  text-align: center;
}

.hhc-kicker {
  display: inline-block;
  margin-bottom: 18px;

  color: #b7c0b8;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.hhc-cta-container h2 {
  margin: 0;

  color: #fff;

  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  line-height: 1.2;
}

.hhc-separator {
  justify-content: center;
  margin: 26px 0 30px;
}

.hhc-text {
  max-width: 820px;
  margin: 0 auto;
}

.hhc-text p {
  margin: 0 0 10px;

  color: rgba(255, 255, 255, .92);

  font-size: 17px;
  line-height: 1.3;

  text-align: center;
}

.hhc-text a {
  color: #a8b7aa;
  font-weight: 700;
  text-decoration: none;

  border-bottom: 1px solid rgba(124, 139, 125, .5);

  transition: color .25s ease, border-color .25s ease;
}

.hhc-text a:hover {
  color: #fff;
  border-color: #fff;
}

.hhc-actions {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;

  margin-top: 34px;
}

.hhc-btn {
  position: relative;

  min-width: 240px;
  height: 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  overflow: hidden;

  color: #fff;
  text-decoration: none;

  background: linear-gradient(
    135deg,
    var(--hhc-green),
    var(--hhc-green-dark)
  );

  box-shadow: 0 20px 40px rgba(0, 0, 0, .22);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;
}

.hhc-btn::before {
  content: "";
  position: absolute;
  inset: 1px;

  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, .22);
}

.hhc-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -80%;

  width: 45%;
  height: 100%;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, .35),
    transparent
  );

  transform: skewX(-24deg);
  transition: left .7s ease;
}

.hhc-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 55px rgba(0, 0, 0, .30);
}

.hhc-btn:hover::after {
  left: 130%;
}

.hhc-btn span {
  position: relative;
  z-index: 2;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hhc-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhc-animate {
  opacity: 0;
  transform: translateY(24px);

  transition:
    opacity .75s ease,
    transform .75s ease;
}

body.dhh-js-ready .hhc-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .hhc-cta-section {
    min-height: 620px;
    padding: 90px 22px;
    margin: 0;
  }

  .hhc-text p {
    font-size: 16px;
  }
}

@media (max-width: 575px) {
  .hhc-cta-section {
    min-height: auto;
    padding: 80px 18px;
    margin: 0;
  }

  .hhc-actions {
    flex-direction: column;
  }

  .hhc-btn {
    width: 100%;
    min-width: 0;
  }

  .hhc-text p {
    font-size: 15px;
    line-height: 1.3;
    margin-bottom: 10px;
  }
}

/* =========================================================
   BLOCK 4
========================================================= */

.hhs-home-consultation {
    --hhs-green: #7c8b7d;
    --hhs-green-dark: #5f6f61;
    --hhs-text: #202620;
    --hhs-soft: #f8f7f2;

    background: #fff;
    padding: 90px 24px;
    overflow: hidden;
}

.hhs-container {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 0;
    align-items: center;
}

.hhs-media {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,.10);
    z-index: 1;
}

.hhs-media::before {
    content:"";
    position:absolute;
    inset:22px;
    border:1px solid rgba(255,255,255,.75);
    z-index:2;
    pointer-events:none;
}

.hhs-media img {
    width:100%;
    height:100%;
    min-height:560px;
    display:block;
    object-fit:cover;
    transition:transform .8s ease;
}

.hhs-media:hover img {
    transform:scale(1.04);
}

.hhs-content {
    position:relative;
    z-index:2;
    margin-left:-64px;

    padding:clamp(30px,4vw,58px);

    background:
        linear-gradient(
            135deg,
            rgba(124,139,125,.10),
            transparent 38%
        ),
        #fff;

    border:1px solid rgba(124,139,125,.18);

    box-shadow:
        0 26px 72px rgba(0,0,0,.07);
}

.hhs-content::before {
    content:"";
    position:absolute;
    top:28px;
    right:-1px;

    width:5px;
    height:calc(100% - 56px);

    background:var(--hhs-green);
}

.hhs-kicker {
    display:inline-block;
    margin-bottom:14px;

    color:var(--hhs-green);

    font-size:12px;
    font-weight:700;

    letter-spacing:.22em;
    text-transform:uppercase;
}

.hhs-content h2 {
    margin:0;

    color:var(--hhs-text);

    font-size:clamp(24px,2.4vw,36px);
    font-weight:500;
    line-height:1.2;
}

.hhs-text p {
    margin:0 0 10px;

    color:rgba(32,38,32,.82);

    font-size:16px;
    line-height:1.3;

    text-align:justify;
}

.hhs-animate {
    opacity:1;
    transform:none;
}

body.dhh-js-ready .hhs-animate {
    opacity:0;
    transform:translateY(24px);
    transition:
        opacity .75s ease,
        transform .75s ease;
}

body.dhh-js-ready .hhs-animate.is-visible {
    opacity:1;
    transform:translateY(0);
}

@media (max-width:991px) {

    .hhs-home-consultation {
        padding:72px 22px;
    }

    .hhs-container {
        grid-template-columns:1fr;
        gap:28px;
    }

    .hhs-content {
        order:1;
        margin-left:0;
    }

    .hhs-media {
        order:2;
        min-height:390px;
    }

    .hhs-media img {
        min-height:390px;
    }

    .hhs-content::before {
        right:auto;
        left:28px;
        top:-1px;

        width:72px;
        height:5px;
    }
}

@media (max-width:575px) {

    .hhs-home-consultation {
        padding:56px 18px;
    }

    .hhs-content {
        padding:24px;
    }

    .hhs-content h2 {
        font-size:clamp(24px,7vw,32px);
    }

    .hhs-text p {
        font-size:15px;
        line-height:1.3;
        margin-bottom:10px;
    }

    .hhs-media {
        min-height:300px;
    }

    .hhs-media img {
        min-height:300px;
    }

    .hhs-media::before {
        inset:12px;
    }
}


/* =========================================================
   BLOCK 3
========================================================= */

.hhd-dark-feature {
  --hhd-green: #7c8b7d;
  --hhd-green-light: #9dad9e;
  --hhd-white: #ffffff;

  position: relative;
  min-height: 680px;
  padding: 110px 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  color: var(--hhd-white);
}

.hhd-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.05);
  transform: scale(1.02);
}

.hhd-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
   radial-gradient(circle at center, rgba(0, 0, 0, .30), rgb(0 0 0 / 26%) 72%), linear-gradient(180deg, rgba(0, 0, 0, .32), rgb(0 0 0 / 49%));
}

.hhd-dark-feature::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -56px;
  width: 120%;
  height: 120px;
  z-index: 3;
  background: #fff;
  transform: translateX(-50%) rotate(-2deg);
  transform-origin: center;
	display:none;
}

.hhd-container {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
}

.hhd-kicker {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--hhd-green-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.hhd-container h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 500;
  line-height: 1.08;
}

.hhd-separator {
  width: 86px;
  height: 2px;
  margin: 26px auto 28px;
  background: var(--hhd-green);
}

.hhd-text {
  max-width: 900px;
  margin: 0 auto;
}

.hhd-text p {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, .9);
  font-size: 17px;
  line-height: 1.3;
  text-align: center;
}

.hhd-text a {
  position: relative;
  display: inline;
  color: var(--hhd-green-light);
  font-weight: 800;
  text-decoration: none;
  padding: 0 3px;
  background:
    linear-gradient(var(--hhd-green), var(--hhd-green)) 0 100% / 100% 2px no-repeat,
    linear-gradient(rgba(124, 139, 125, .18), rgba(124, 139, 125, .18)) 0 100% / 100% 100% no-repeat;
  transition:
    color .22s ease,
    background-size .28s ease,
    background-position .28s ease;
}

.hhd-text a:hover {
  color: #fff;
  background:
    linear-gradient(var(--hhd-green), var(--hhd-green)) 0 100% / 100% 100% no-repeat,
    linear-gradient(var(--hhd-green), var(--hhd-green)) 0 100% / 100% 100% no-repeat;
}

.hhd-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhd-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}

body.dhh-js-ready .hhd-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .hhd-dark-feature {
    min-height: 620px;
    padding: 92px 22px;
  }

  .hhd-text p {
    font-size: 16px;
  }
}

@media (max-width: 575px) {
  .hhd-dark-feature {
    min-height: auto;
    padding: 76px 18px 92px;
  }

  .hhd-kicker {
    font-size: 11px;
    letter-spacing: .22em;
  }

  .hhd-container h2 {
    font-size: clamp(28px, 9vw, 26px);
  }

  .hhd-text p {
    font-size: 15px;
    line-height: 1.3;
    margin-bottom: 10px;
  }

  .hhd-dark-feature::after {
    height: 86px;
    bottom: -44px;
  }
}

/* =========================================================
   BLOCK 2
========================================================= */
.hhm-text a {
  position: relative;
  display: inline;
  color: var(--hhm-green-dark);
  font-weight: 800;
  text-decoration: none;
  padding: 0 3px;
  background:
    linear-gradient(var(--hhm-green), var(--hhm-green)) 0 100% / 100% 2px no-repeat,
    linear-gradient(rgba(124, 139, 125, .12), rgba(124, 139, 125, .12)) 0 100% / 100% 100% no-repeat;
  transition:
    color .22s ease,
    background-size .28s ease,
    background-position .28s ease;
}

.hhm-text a:hover {
  color: #fff;
  background:
    linear-gradient(var(--hhm-green), var(--hhm-green)) 0 100% / 100% 100% no-repeat,
    linear-gradient(var(--hhm-green), var(--hhm-green)) 0 100% / 100% 100% no-repeat;
}

.hhm-text-media-block {
  --hhm-green: #7c8b7d;
  --hhm-green-dark: #5f6f61;
  --hhm-text: #202620;
  --hhm-soft: #f8f7f2;

  background: #fff;
  padding: 88px 24px;
  color: var(--hhm-text);
  overflow: hidden;
}

.hhm-container {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  align-items: center;
  position: relative;
}

.hhm-content {
  position: relative;
  z-index: 2;
  padding: clamp(30px, 4vw, 58px);
  background:
    linear-gradient(135deg, rgba(124, 139, 125, .10), transparent 38%),
    #fff;
  border: 1px solid rgba(124, 139, 125, .18);
  box-shadow: 0 26px 72px rgba(0, 0, 0, .07);
  margin-right: -64px;
}

.hhm-content::before {
  content: "";
  position: absolute;
  top: 28px;
  left: -1px;
  width: 5px;
  height: calc(100% - 56px);
  background: var(--hhm-green);
}

.hhm-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hhm-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.hhm-content h2 {
  margin: 0 0 22px;
  color: var(--hhm-text);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  line-height: 1.2;
}

.hhm-text p {
  margin: 0 0 10px;
  color: rgba(32, 38, 32, .82);
  font-size: 16px;
  line-height: 1.3;
  text-align: justify;
  text-justify: inter-word;
}

.hhm-media {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: var(--hhm-soft);
  box-shadow: 0 30px 82px rgba(0, 0, 0, .10);
}

.hhm-media::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255, 255, 255, .72);
  z-index: 2;
  pointer-events: none;
}

.hhm-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
  transition: transform .8s ease, filter .8s ease;
}

.hhm-media:hover img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

.hhm-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhm-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}

body.dhh-js-ready .hhm-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .hhm-text-media-block {
    padding: 72px 22px;
  }

  .hhm-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .hhm-content {
    order: 1;
    margin-right: 0;
  }

  .hhm-media {
    order: 2;
    min-height: 390px;
  }

  .hhm-media img {
    min-height: 390px;
  }
}

@media (max-width: 575px) {
  .hhm-text-media-block {
    padding: 56px 18px;
  }

  .hhm-content {
    padding: 24px;
  }

  .hhm-content h2 {
    font-size: clamp(24px, 7vw, 32px);
  }

  .hhm-text p {
    font-size: 15px;
    line-height: 1.3;
    margin-bottom: 10px;
	          text-align: left;
  }

  .hhm-media {
    min-height: 300px;
  }

  .hhm-media img {
    min-height: 300px;
  }

  .hhm-media::before {
    inset: 12px;
  }
}

/* =========================================================
   BLOCK 1
========================================================= */

.hhi-intro-block {
  --hhi-green: #7c8b7d;
  --hhi-green-dark: #5f6f61;
  --hhi-text: #202620;
  --hhi-soft: #f8f7f2;

  background: #fff;
  padding: 86px 24px;
  color: var(--hhi-text);
  overflow: hidden;
}

.hhi-container {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(42px, 6vw, 86px);
  align-items: center;
}

.hhi-content {
  position: relative;
  z-index: 2;
}

.hhi-slogan {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 18px;
  align-items: center;
  margin-bottom: 34px;
  color: var(--hhi-green-dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.1;
  text-transform: uppercase;
}

.hhi-slogan-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(124, 139, 125, .45);
  border-radius: 50%;
  color: var(--hhi-green);
  background: rgba(124, 139, 125, .08);
}

.hhi-slogan-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hhi-content h1 {
  margin: 0;
  color: var(--hhi-text);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  line-height: 1.15;
}

.hhi-separator {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 24px 0 30px;
    line-height: 0;
    position: relative;
}

.hhi-separator::before,
.hhi-separator::after {
    content: "";
    flex: 0 0 72px;
    height: 1px;
    background: rgba(124, 139, 125, .42);
}

.hhi-separator span {
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    background: #7c8b7d;
    transform: rotate(45deg);
}

@media (max-width: 575px) {
    .hhi-separator {
        margin: 20px 0 24px;
    }

    .hhi-separator::before,
    .hhi-separator::after {
        flex-basis: 52px;
    }
}

.hhi-text {
  max-width: 660px;
}

.hhi-text p {
    margin: 0 0 10px;
    color: rgba(32, 38, 32, .82);
    font-size: 16px;
    line-height: 1.3;
    text-align: justify;
    text-justify: inter-word;
}

.hhi-text strong {
  color: var(--hhi-text);
  font-weight: 700;
}

.hhi-text a {
  position: relative;
  display: inline;
  color: var(--hhi-green-dark);
  font-weight: 800;
  text-decoration: none;
  padding: 0 3px;
  background:
    linear-gradient(var(--hhi-green), var(--hhi-green)) 0 100% / 100% 2px no-repeat,
    linear-gradient(rgba(124, 139, 125, .12), rgba(124, 139, 125, .12)) 0 100% / 100% 100% no-repeat;
  transition:
    color .22s ease,
    background-size .28s ease,
    background-position .28s ease;
}

.hhi-text a:hover {
  color: #fff;
  background:
    linear-gradient(var(--hhi-green), var(--hhi-green)) 0 100% / 100% 100% no-repeat,
    linear-gradient(var(--hhi-green), var(--hhi-green)) 0 100% / 100% 100% no-repeat;
}



.hhi-visual {
  position: relative;
}

.hhi-visual::before {
  content: "";
  position: absolute;
  left: -34px;
  top: 28px;
  width: 74%;
  height: 82%;
  border: 1px solid rgba(124, 139, 125, .42);
  z-index: 0;
}

.hhi-image-frame {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: var(--hhi-soft);
  box-shadow: 0 28px 76px rgba(0, 0, 0, .11);
}

.hhi-image-frame img {
  display: block;
  width: 100%;
  height: clamp(460px, 46vw, 620px);
  object-fit: cover;
  object-position: center;
  transition: transform .7s ease, filter .7s ease;
}

.hhi-image-frame:hover img {
  transform: scale(1.035);
  filter: saturate(1.03) contrast(1.02);
}

.hhi-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhi-animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s ease, transform .75s ease;
}

body.dhh-js-ready .hhi-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hhi-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 32px;
  margin-top: 18px;
  border-radius: 999px;
  overflow: hidden;
  color: #fff !important;
  background: linear-gradient(135deg, var(--hhi-green), var(--hhi-green-dark));
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.18);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.hhi-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.hhi-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 48%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.38), transparent);
  transform: skewX(-24deg);
  transition: left 0.65s ease;
}

.hhi-btn span {
  position: relative;
  z-index: 2;
}

.hhi-btn:hover {
  transform: translateY(-5px);
  background: linear-gradient(135deg, #8fa091, var(--hhi-green));
  box-shadow: 0 26px 54px rgba(0, 0, 0, 0.24);
}

.hhi-btn:hover::after {
  left: 130%;
}

@media (max-width: 991px) {
  .hhi-intro-block {
    padding: 72px 22px;
  }

  .hhi-container {
    grid-template-columns: 1fr;
  }

  .hhi-content {
    order: 1;
  }

  .hhi-visual {
    order: 2;
  }

  .hhi-image-frame img {
    height: 420px;
  }
}

@media (max-width: 575px) {
  .hhi-intro-block {
    padding: 56px 18px;
  }

  .hhi-slogan {
    grid-template-columns: 42px 1fr;
    gap: 14px;
    font-size: 11px;
    letter-spacing: .12em;
    line-height: 1.1;
  }

  .hhi-slogan-icon {
    width: 42px;
    height: 42px;
  }

  .hhi-slogan-icon svg {
    width: 22px;
    height: 22px;
  }

  .hhi-content h1 {
    font-size: clamp(28px, 9vw, 36px);
  }

  .hhi-separator {
    margin: 22px 0 26px;
  }

  .hhi-separator::before,
  .hhi-separator::after {
    width: 52px;
  }

  .hhi-text p {
    font-size: 15px;
    line-height: 1.3;
    text-align: left;
  }



  .hhi-visual::before {
    left: -12px;
    top: 18px;
  }

  .hhi-image-frame img {
    height: 340px;
  }
	.hhs-series-list p {
text-align:left;
}
}



/* =========================================================
   CONTACT
========================================================= */

.hhc-contact-page {
  background: #fff;
}

.hhc-contact {
  --hhc-green: #7c8b7d;
  --hhc-green-dark: #5f6f61;
  --hhc-text: #202620;
  --hhc-soft: #f7f7f3;

  padding: 92px 24px;
  color: var(--hhc-text);
}

.hhc-container {
  max-width: 1320px;
  margin: 0 auto;
}

.hhc-intro {
  max-width: 820px;
  margin-bottom: 54px;
}

.hhc-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hhc-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.hhc-intro h1,
.hhc-form h2,
.hhc-map-section h2 {
  margin: 0;
  color: var(--hhc-text);
  font-weight: 500;
  line-height: 1.08;
}

.hhc-intro h1 {
     font-size: clamp(24px, 2.4vw, 36px);
    line-height: 1.15;
    max-width: 900px;
}

.hhc-form h2,
.hhc-map-section h2 {
    font-size: clamp(24px, 2.4vw, 36px);
    line-height: 1.2;
}

.hhc-intro p,
.hhc-form p {
  margin: 22px 0 0;
  max-width: 680px;
  color: rgba(32, 38, 32, .68);
  font-size: 17px;
  line-height: 1.75;
}

.hhc-intro a,
.hhc-form a {
  color: var(--hhc-green);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(124, 139, 125, .38);
}

.hhc-intro a:hover,
.hhc-form a:hover {
  color: var(--hhc-green-dark);
  border-color: var(--hhc-green-dark);
}

.hhc-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 34px;
}

.hhc-info,
.hhc-form {
  border-radius: 34px;
  padding: 34px;
  border: 1px solid rgba(124, 139, 125, .18);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .06);
}

.hhc-info {
  display: grid;
  gap: 16px;
  background: var(--hhc-soft);
}

.hhc-form {
  background:
    radial-gradient(circle at top right, rgba(124, 139, 125, .16), transparent 34%),
    #fff;
}

.hhc-card {
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  align-items: center;
  min-height: 94px;
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(124, 139, 125, .14);
  border-radius: 24px;
  color: rgba(32, 38, 32, .72);
  text-decoration: none;
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.hhc-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--hhc-green);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .28s ease;
}

.hhc-card:hover {
  transform: translateY(-4px);
  border-color: rgba(124, 139, 125, .4);
  box-shadow: 0 20px 46px rgba(0, 0, 0, .08);
}

.hhc-card:hover::before {
  transform: scaleY(1);
}

.hhc-card--static:hover {
  transform: none;
  box-shadow: none;
}

.hhc-card strong {
  display: block;
  margin-bottom: 4px;
  color: var(--hhc-text);
  font-size: 15px;
}

.hhc-card-icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(124, 139, 125, .13);
  color: var(--hhc-green);
  font-size: 24px;
}

.hhc-socials {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.hhc-socials a {
  min-height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(124, 139, 125, .22);
  color: var(--hhc-text);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: transform .28s ease, background .28s ease, color .28s ease;
}

.hhc-socials a:hover {
  transform: translateY(-3px);
  background: var(--hhc-green);
  color: #fff;
}

.hhc-form-placeholder {
  margin-top: 30px;
  min-height: 430px;
  border: 1px dashed rgba(124, 139, 125, .48);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(124, 139, 125, .08), rgba(124, 139, 125, .02)),
    #fafaf7;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(32, 38, 32, .48);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hhc-map-section {
  margin-top: 74px;
}

.hhc-map-section h2 {
  max-width: 720px;
  margin-bottom: 26px;
}

.hhc-map {
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(124, 139, 125, .18);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .10);
  background: var(--hhc-soft);
}

.hhc-map iframe {
  display: block;
  width: 100%;
  height: 460px;
  border: 0;
  filter: saturate(.9) contrast(1.03);
}

.hhc-animate {
  opacity: 1;
  transform: none;
}

body.dhh-js-ready .hhc-animate {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s ease;
}

body.dhh-js-ready .hhc-animate.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .hhc-contact {
    padding: 72px 22px;
  }

  .hhc-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .hhc-contact {
    padding: 56px 18px;
  }

  .hhc-info,
  .hhc-form {
    padding: 22px;
    border-radius: 26px;
  }

  .hhc-card {
    grid-template-columns: 46px 1fr;
    padding: 15px;
    border-radius: 20px;
  }

  .hhc-card-icon {
    width: 46px;
    height: 46px;
    font-size: 20px;
  }

  .hhc-form-placeholder {
    min-height: 360px;
  }

  .hhc-map iframe {
    height: 360px;
  }
}


/* =========================================================
   BANNER TOP
========================================================= */
.hh-page-banner {
  --hh-green: #7c8b7d;

  position: relative;
  height: 300px;
  overflow: hidden;

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}



.hh-page-banner__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.04) 55%, rgba(0, 0, 0, 0.16)),
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.22));
  pointer-events: none;
}

.hh-breadcrumb {
  position: absolute;
  left: clamp(20px, 5vw, 86px);
  bottom: 34px;
  z-index: 2;

  display: flex;
  align-items: center;
  gap: 20px;

  max-width: calc(100% - 40px);
  min-height: 82px;
  padding: 12px 30px 12px 12px;

  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 999px;

  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.22),
    inset 0 0 0 1px rgba(124, 139, 125, 0.08);
}

.hh-breadcrumb__home {
  position: relative;

  width: 58px;
  height: 58px;
  flex: 0 0 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  background: var(--hh-green);
  color: #fff;

  box-shadow:
    0 12px 24px rgba(124, 139, 125, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.22);

  transition: transform 0.3s ease, background 0.3s ease;
}

.hh-breadcrumb__home::after {
  content: "";
  position: absolute;
  right: -11px;
  top: 50%;
  width: 1px;
  height: 44px;
  background: rgba(124, 139, 125, 0.55);
  transform: translateY(-50%);
}

.hh-breadcrumb__home:hover {
  transform: translateY(-3px) scale(1.04);
  background: #6f806f;
}

.hh-breadcrumb__home svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hh-breadcrumb__content {
  padding-left: 10px;
}

.hh-breadcrumb__label {
  display: block;
  margin-bottom: 5px;

  color: var(--hh-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.hh-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.hh-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  color: #151a18;
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.2;
}

.hh-breadcrumb li + li::before {
  content: "";
  width: 8px;
  height: 8px;

  border-top: 2px solid #151a18;
  border-right: 2px solid #151a18;

  transform: rotate(45deg);
  opacity: 0.8;
}

.hh-breadcrumb a {
  color: var(--hh-green);
  text-decoration: none;
}

.hh-breadcrumb a:hover {
  color: #556455;
}

@media (max-width: 991px) {
  .hh-page-banner {
    height: 240px;
  }

  .hh-breadcrumb {
    bottom: 28px;
    min-height: 74px;
    padding: 10px 24px 10px 10px;
  }

  .hh-breadcrumb__home {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }

  .hh-breadcrumb__home svg {
    width: 25px;
    height: 25px;
  }
}

@media (max-width: 575px) {
  .hh-page-banner {
    height: 190px;
    background-position: center center;
  }

  .hh-breadcrumb {
    left: 16px;
    right: 16px;
    bottom: 22px;

    max-width: none;
    min-height: 62px;

    gap: 14px;
    padding: 9px 15px 9px 9px;
  }

  .hh-breadcrumb__home {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .hh-breadcrumb__home svg {
    width: 22px;
    height: 22px;
  }

  .hh-breadcrumb__home::after {
    right: -8px;
    height: 34px;
  }

  .hh-breadcrumb__content {
    padding-left: 6px;
  }

  .hh-breadcrumb__label {
    display: none;
  }

  .hh-breadcrumb li {
    font-size: 15px;
  }
}

/* =========================================================
   HEADER
========================================================= */

:root {
  --dhh-accent: #7c8b7d;
  --dhh-black: #070707;
  --dhh-dark: #111;
  --dhh-white: #fff;
  --dhh-muted: rgba(255,255,255,.68);
  --dhh-line: rgba(255,255,255,.12);

  --dhh-topbar-height: 54px;
  --dhh-main-height: 122px;
  --dhh-header-height: calc(var(--dhh-topbar-height) + var(--dhh-main-height));
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding-top: var(--dhh-header-height);
  font-family: Arial, Helvetica, sans-serif;
}

body.dhh-menu-open {
  overflow: hidden;
}

/* HEADER */

.dhh-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(8,8,8,.96);
  color: var(--dhh-white);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

.dhh-topbar {
  height: var(--dhh-topbar-height);
  background: linear-gradient(90deg, #050505, #151515);
  border-bottom: 1px solid var(--dhh-line);
}

.dhh-topbar-inner,
.dhh-main-inner {
  width: 100%;
  max-width: 1520px;
  height: 100%;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dhh-main {
  height: var(--dhh-main-height);
  background: #232823;
}

/* LOGO */

.dhh-logo {
  display: flex;
  align-items: center;
  height: 100%;
  flex: 0 0 auto;
}

.dhh-logo img {
  display: block;
  height: 100px;
  width: auto;
  max-width: 320px;
  object-fit: contain;
  transition: transform .35s ease, filter .35s ease;
}

.dhh-logo:hover img {
  transform: scale(1.025);
  filter: brightness(1.08);
}

/* TOP BAR */

.dhh-socials,
.dhh-mobile-socials {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dhh-socials a,
.dhh-mobile-socials a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--dhh-white);
  text-decoration: none;
  border: 1px solid var(--dhh-line);
  border-radius: 50%;
  font-size: 15px;
  transition: transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.dhh-socials a:hover,
.dhh-mobile-socials a:hover {
  background: var(--dhh-accent);
  border-color: var(--dhh-accent);
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 10px 24px rgba(124,139,125,.36);
}

.dhh-phone {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--dhh-white);
  font-size: 19px;
  font-weight: 900;
  letter-spacing: .035em;
  text-decoration: none;
  transition: color .28s ease, transform .28s ease;
}

.dhh-phone i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: var(--dhh-white);
  background: var(--dhh-accent);
  border-radius: 50%;
  font-size: 15px;
  transition: transform .28s ease, box-shadow .28s ease;
}

.dhh-phone:hover {
  color: var(--dhh-accent);
  transform: translateX(-2px);
}

.dhh-phone:hover i {
  transform: rotate(14deg) scale(1.1);
  box-shadow: 0 10px 24px rgba(124,139,125,.38);
}

/* DESKTOP NAV */

.dhh-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
}

.dhh-nav a {
  color: var(--dhh-white);
  text-decoration: none;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .01em;
  white-space: nowrap;
  transition: color .25s ease;
}

.dhh-nav > a,
.dhh-dropdown > a {
  position: relative;
  padding: 44px 0;
}

.dhh-nav > a::after,
.dhh-dropdown > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 34px;
  width: 0;
  height: 2px;
  background: var(--dhh-accent);
  transition: width .28s ease;
}

.dhh-nav a:hover {
  color: var(--dhh-accent);
}

.dhh-nav > a:hover::after,
.dhh-dropdown:hover > a::after {
  width: 100%;
}

.dhh-dropdown {
  position: relative;
}

.dhh-dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dhh-dropdown i {
  font-size: 11px;
  transition: transform .25s ease;
}

.dhh-dropdown:hover i {
  transform: rotate(180deg);
}

.dhh-submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 250px;
  padding: 10px;
  background: rgba(18,18,18,.98);
  border: 1px solid rgba(124,139,125,.35);
  box-shadow: 0 24px 50px rgba(0,0,0,.42);
  transform: translate(-50%, 12px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s ease, transform .28s ease, visibility .28s ease;
}

.dhh-dropdown:hover .dhh-submenu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.dhh-submenu a {
  display: block;
  padding: 15px 16px;
  color: var(--dhh-white);
  font-size: 14px;
  border-radius: 2px;
}

.dhh-submenu a:hover {
  background: rgba(124,139,125,.16);
  color: var(--dhh-white);
  padding-left: 22px;
}

/* BURGER */

.dhh-burger {
  display: none;
  width: 52px;
  height: 52px;
  border: 1px solid var(--dhh-line);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease;
}

.dhh-burger:hover {
  border-color: var(--dhh-accent);
  background: rgba(124,139,125,.12);
}

.dhh-burger span {
  display: block;
  width: 23px;
  height: 2px;
  margin: 5px auto;
  background: var(--dhh-white);
  transition: .25s ease;
}

/* MOBILE PANEL */

.dhh-overlay {
  position: fixed;
  inset: 0;
  z-index: 1001;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: .3s ease;
}

.dhh-mobile-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1002;
  width: min(440px, 90vw);
  height: 100vh;
  padding: 26px;
  background:#231F20;
  color: var(--dhh-white);
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.7,0,.2,1);
  overflow-y: auto;
  box-shadow: -22px 0 60px rgba(0,0,0,.45);
}

body.dhh-menu-open .dhh-mobile-panel {
  transform: translateX(0);
}

body.dhh-menu-open .dhh-overlay {
  opacity: 1;
  visibility: visible;
}

.dhh-mobile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--dhh-line);
}

.dhh-mobile-head img {
  display: block;
  height: 82px;
  width: auto;
  max-width: 250px;
  object-fit: contain;
}

.dhh-close {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border: 1px solid var(--dhh-line);
  border-radius: 50%;
  background: transparent;
  color: var(--dhh-white);
  font-size: 20px;
  cursor: pointer;
  transition: .25s ease;
}

.dhh-close:hover {
  background: var(--dhh-accent);
  border-color: var(--dhh-accent);
}

.dhh-mobile-nav {
  padding: 24px 0;
}

.dhh-mobile-nav > a,
.dhh-mobile-dropdown > button {
  width: 100%;
  min-height: 62px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--dhh-white);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--dhh-line);
  text-decoration: none;
  font-size: 20px;
  font-weight: 850;
  cursor: pointer;
  text-align: left;
}

.dhh-mobile-nav > a:hover,
.dhh-mobile-dropdown > button:hover {
  color: var(--dhh-accent);
}

.dhh-mobile-dropdown button i {
  color: var(--dhh-accent);
  transition: transform .25s ease;
}

.dhh-mobile-dropdown.is-open button i {
  transform: rotate(180deg);
}

.dhh-mobile-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  border-bottom: 1px solid var(--dhh-line);
}

.dhh-mobile-dropdown.is-open .dhh-mobile-submenu {
  max-height: 260px;
}

.dhh-mobile-submenu a {
  display: block;
  padding: 15px 0 15px 22px;
  color: var(--dhh-muted);
  font-size: 16px;
  font-weight: 750;
  text-decoration: none;
  transition: color .25s ease, padding-left .25s ease;
}

.dhh-mobile-submenu a:hover {
  color: var(--dhh-white);
  padding-left: 28px;
}

.dhh-mobile-contact {
  margin-top: 20px;
  padding: 24px;
  border: 1px solid rgba(124,139,125,.3);
  background: rgba(255,255,255,.04);
}

.dhh-mobile-phone {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--dhh-white);
  font-size: 24px;
  font-weight: 950;
  text-decoration: none;
}

.dhh-mobile-phone i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: var(--dhh-accent);
  border-radius: 50%;
}

.dhh-mobile-socials {
  margin-top: 24px;
}

/* RESPONSIVE */

@media (max-width: 1200px) {
  .dhh-nav {
    gap: 20px;
  }

  .dhh-nav a {
    font-size: 14px;
  }

  .dhh-logo img {
    height: 82px;
  }
}

@media (max-width: 1024px) {
  :root {
    --dhh-topbar-height: 52px;
    --dhh-main-height: 104px;
  }

  .dhh-nav {
    display: none;
  }

  .dhh-burger {
    display: block;
  }

  .dhh-logo img {
    height: 78px;
    max-width: 280px;
  }
}

@media (max-width: 575px) {
  :root {
    --dhh-topbar-height: 50px;
    --dhh-main-height: 92px;
  }

  .dhh-topbar-inner,
  .dhh-main-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .dhh-logo img {
    height: 66px;
    max-width: 220px;
  }

  .dhh-phone {
    font-size: 15px;
    gap: 8px;
  }

  .dhh-phone i {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .dhh-socials {
    gap: 8px;
  }

  .dhh-socials a {
    width: 34px;
    height: 34px;
  }

  .dhh-burger {
    width: 48px;
    height: 48px;
  }

  .dhh-mobile-panel {
    width: 100vw;
    padding: 22px;
  }

  .dhh-mobile-head img {
    height: 74px;
    max-width: 220px;
  }

  .dhh-mobile-nav > a,
  .dhh-mobile-dropdown > button {
    font-size: 19px;
    min-height: 60px;
  }

  .dhh-mobile-phone {
    font-size: 18px;
  }
}

/* =========================================================
   BACK TO THE TOP
========================================================= */
.hh-backtotop {
    position: fixed;
    right: 30px;
    bottom: 30px;
    width: 74px;
    height: 110px;

    border: 0;
    cursor: pointer;
    overflow: hidden;

    background: rgba(255,255,255,.95);
    backdrop-filter: blur(10px);

    border-radius: 18px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.15),
        inset 0 0 0 1px rgba(124,139,125,.18);

    z-index: 999;

    opacity: 0;
    visibility: hidden;

    transform: translateY(15px);

    transition:
        transform .35s ease,
        opacity .35s ease,
        box-shadow .35s ease;
}

.hh-backtotop.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.hh-backtotop:hover {
    transform: translateY(-8px);
    box-shadow:
        0 25px 60px rgba(0,0,0,.20),
        inset 0 0 0 1px rgba(124,139,125,.3);
}

.hh-backtotop__progress {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: var(--scroll-progress, 0%);
    background: linear-gradient(
        180deg,
        #95a596 0%,
        #7c8b7d 100%
    );
    transition: height .1s linear;
}

.hh-backtotop__arrow,
.hh-backtotop__text {
    position: relative;
    z-index: 2;
}

.hh-backtotop__arrow {
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

.hh-backtotop__arrow svg {
    width: 22px;
    height: 22px;
    stroke: #2f3a31;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hh-backtotop__text {
    display: block;
    text-align: center;

    margin-top: 12px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: .15em;
    text-transform: uppercase;

    color: #2f3a31;
}

/* =========================================================
   FOOTER
========================================================= */

.hh-footer {
  --hh-green: #7c8b7d;
  --hh-green-dark: #566458;
  --hh-green-soft: rgba(124, 139, 125, 0.16);
  --hh-white: #ffffff;

  position: relative;
  overflow: hidden;
  padding: 82px 24px 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(124, 139, 125, 0.24), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(124, 139, 125, 0.13), transparent 30%),
    linear-gradient(135deg, #121512 0%, #1f241f 48%, #0f120f 100%);
  color: rgba(255, 255, 255, 0.74);
}

.hh-footer::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(124, 139, 125, 0.24);
  pointer-events: none;
}

.hh-footer::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -160px;
  bottom: -180px;
  background: rgba(124, 139, 125, 0.13);
  filter: blur(80px);
  pointer-events: none;
}

.hh-footer__inner {
  position: relative;
  z-index: 2;
  max-width: 1340px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.35fr;
  gap: 54px;
}

.hh-footer__logo {
  display: inline-flex;
  margin-bottom: 26px;
}

.hh-footer__logo img {
  max-width: 245px;
  height: auto;
  display: block;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.32));
}

.hh-footer p {
  margin: 0 0 24px;
  max-width: 420px;
  font-size: 15px;
  line-height: 1.75;
}

.hh-footer h3 {
  margin: 0 0 25px;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hh-footer h3::after {
  content: "";
  display: block;
  width: 52px;
  height: 2px;
  margin-top: 14px;
  background: linear-gradient(90deg, var(--hh-green), transparent);
}

.hh-footer a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color 0.25s ease, transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.hh-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.hh-footer__list li {
  margin-bottom: 13px;
  font-size: 15px;
}

.hh-footer__list a,
.hh-footer__zones li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.hh-footer__list span {
  color: var(--hh-green);
  font-size: 13px;
  transition: transform 0.25s ease, color 0.25s ease;
}

.hh-footer__list a:hover {
  color: var(--hh-green);
  transform: translateX(5px);
}

.hh-footer__list a:hover span {
  transform: rotate(90deg) scale(1.15);
}

.hh-footer__zones li {
  color: rgba(255, 255, 255, 0.72);
}

.hh-footer__zones a:hover {
  color: var(--hh-green);
  transform: translateX(5px);
}

.hh-footer__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 32px;
  margin-top: 8px;
  border-radius: 999px;
  overflow: hidden;
  color: #fff !important;
  background: linear-gradient(135deg, var(--hh-green), var(--hh-green-dark));
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.32);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hh-footer__cta::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.hh-footer__cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 48%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.38), transparent);
  transform: skewX(-24deg);
  transition: left 0.65s ease;
}

.hh-footer__cta span {
  position: relative;
  z-index: 2;
}

.hh-footer__cta:hover {
  transform: translateY(-5px);
  background: linear-gradient(135deg, #8fa091, var(--hh-green));
  box-shadow: 0 26px 54px rgba(0, 0, 0, 0.42);
}

.hh-footer__cta:hover::after {
  left: 130%;
}

.hh-contact-card {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.hh-contact-card:first-of-type {
  padding-top: 0;
}

.hh-contact-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(124, 139, 125, 0.18);
  border: 1px solid rgba(124, 139, 125, 0.35);
  box-shadow: inset 0 0 18px rgba(124, 139, 125, 0.1);
}

.hh-contact-card strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.hh-contact-card a,
.hh-contact-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.hh-contact-card a:hover {
  color: var(--hh-green);
}

.hh-footer__socials {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.hh-footer__socials a {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: rgba(124, 139, 125, 0.13);
  border: 1px solid rgba(124, 139, 125, 0.35);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.hh-footer__socials a:hover {
  color: #fff;
  background: var(--hh-green);
  border-color: var(--hh-green);
  transform: translateY(-3px);
}

.hh-footer__bottom {
  position: relative;
  z-index: 2;
  max-width: 1340px;
  margin: 62px auto 0;
  padding: 24px 0;
  border-top: 1px solid rgba(124, 139, 125, 0.22);
  color: rgba(255, 255, 255, 0.56);
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}

.hh-footer__bottom a {
  color: rgba(255, 255, 255, 0.7);
}

.hh-footer__bottom a:hover {
  color: var(--hh-green);
}

@media (max-width: 1150px) {
  .hh-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 46px 38px;
  }
}

@media (max-width: 700px) {
  .hh-footer {
    padding: 58px 22px 0;
  }

  .hh-footer::before {
    inset: 10px;
  }

  .hh-footer__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .hh-footer__logo img {
    max-width: 220px;
  }

  .hh-contact-card {
    grid-template-columns: 40px 1fr;
  }

  .hh-contact-icon {
    width: 40px;
    height: 40px;
  }

  .hh-footer__bottom {
    margin-top: 46px;
    text-align: left;
  }
}