:root {
  /* Brand palette */
  --clr-primary: #1B5E20; /* Dark green */
  --clr-primary-dark: #0D3B12;
  --clr-primary-light: #2E7D32;
  --clr-cta: #D32F2F; /* Red CTA */
  --clr-cta-hover: #B71C1C;
  --clr-cta-soft: rgba(211, 47, 47, .12);
  --clr-primary-soft: rgba(27, 94, 32, .10);
  --clr-primary-soft-dark: rgba(27, 94, 32, .18);
  --clr-dark: #1A1A1A;
  --clr-body: #333;
  --clr-muted: #6c757d;
  --clr-light-bg: #F5F7F6;
  --clr-white: #ffffff;
  /* Typography */
  --ff-body: 'Inter', system-ui, -apple-system, sans-serif;
  /* Transitions */
  --transition: .3s cubic-bezier(.4, 0, .2, 1);
}

html {
  min-height: 100dvh;
  font-size: 18px;
}

body {
  min-height: 100dvh;
}

.section-padding {
  padding: 100px 0;
}
@media screen and (max-width: 991px) {
  .section-padding {
    padding: 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .section-padding {
    padding: 70px 0;
  }
}
@media screen and (max-width: 575px) {
  .section-padding {
    padding: 60px 0;
  }
}

.section-padding-top {
  padding-top: 100px;
  padding-bottom: 0;
}
@media screen and (max-width: 991px) {
  .section-padding-top {
    padding-top: 80px;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .section-padding-top {
    padding-top: 70px;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 575px) {
  .section-padding-top {
    padding-top: 60px;
    padding-bottom: 0;
  }
}

.section-padding-bottom {
  padding-top: 0;
  padding-bottom: 100px;
}
@media screen and (max-width: 991px) {
  .section-padding-bottom {
    padding-top: 0;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .section-padding-bottom {
    padding-top: 0;
    padding-bottom: 70px;
  }
}
@media screen and (max-width: 575px) {
  .section-padding-bottom {
    padding-top: 0;
    padding-bottom: 60px;
  }
}

.section-padding-small {
  padding: 50px 0;
}
@media screen and (max-width: 991px) {
  .section-padding-small {
    padding: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .section-padding-small {
    padding: 35px 0;
  }
}
@media screen and (max-width: 575px) {
  .section-padding-small {
    padding: 30px 0;
  }
}

.section-padding-none {
  padding: 0 0;
}

.navbar .dropdown-menu {
  min-width: 220px;
  --bs-dropdown-spacer: 1.5rem;
  --bs-dropdown-padding-y: 0.75rem;
}
.navbar .dropdown-menu .dropdown-item {
  --bs-dropdown-item-padding-y: 0.5rem;
  --bs-dropdown-item-padding-x: 1.5rem;
}

.page-header-section {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  background-color: var(--clr-primary-dark);
  background-size: cover;
  background-position: center;
}
.page-header-section .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13, 59, 18, 0.92) 0%, rgba(27, 94, 32, 0.8) 50%, rgba(13, 59, 18, 0.88) 100%);
  z-index: 1;
}
.page-header-section .breadcrumb-item,
.page-header-section .breadcrumb-item a,
.page-header-section .breadcrumb-item.active,
.page-header-section .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.7);
}
.page-header-section .breadcrumb-item a:hover {
  color: #fff;
}

.text > :last-child {
  margin-bottom: 0;
}

.scroll-margin-top {
  scroll-margin-top: 100px;
}

.contact-map-section iframe {
  height: auto;
  aspect-ratio: 4/1;
  filter: grayscale(0.25);
}
@media screen and (max-width: 1199px) {
  .contact-map-section iframe {
    aspect-ratio: 3/1;
  }
}
@media screen and (max-width: 991px) {
  .contact-map-section iframe {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 767px) {
  .contact-map-section iframe {
    aspect-ratio: 3/2;
  }
}
