@charset "UTF-8";
:root {
  --color-dark-green: #0d291d;
  --color-medium-green: #517330;
  --color-light-green: #6b9a3d;
  --color-cream: #f9f7f2;
  --color-white: #ffffff;
  --color-text: #333333;
  --color-text-light: #666666;
  --font-heading: karol-sans, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: muli, -apple-system, BlinkMacSystemFont, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.2;
}

.section-label {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-medium-green);
  margin-bottom: 1.25rem;
}

.btn {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  border: none;
  text-align: center;
}
.btn:active {
  transform: scale(0.98);
}

.btn-primary {
  background: var(--color-medium-green);
  color: var(--color-white);
}
.btn-primary:hover {
  background: var(--color-light-green);
}

.btn-outline-white {
  background: transparent;
  color: var(--color-white);
  border: 2px solid var(--color-white);
}
.btn-outline-white:hover {
  background: rgba(255, 255, 255, 0.1);
}

.btn-outline-green {
  background: transparent;
  color: var(--color-medium-green);
  border: 2px solid var(--color-medium-green);
}
.btn-outline-green:hover {
  background: var(--color-medium-green);
  color: var(--color-white);
}

.btn-sm {
  padding: 0.5rem 1.125rem;
  font-size: 1rem;
}

.btn-full {
  width: 100%;
}

.container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.section {
  padding: 4rem 1.25rem;
}
@media (min-width: 768px) {
  .section {
    padding: 6.25rem 1.5rem;
  }
}

.section-header {
  text-align: center;
  max-width: 43.75rem;
  margin: 0 auto 3.75rem;
}
.section-header h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  color: var(--color-dark-green);
  margin-bottom: 1rem;
}
.section-header p {
  font-size: 1.0625rem;
  color: var(--color-text-light);
  line-height: 1.7;
}

.split-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}
.split-content--reverse {
  direction: ltr;
}
@media (min-width: 1024px) {
  .split-content {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
  .split-content--reverse {
    direction: rtl;
  }
  .split-content--reverse > * {
    direction: ltr;
  }
}
.split-content__text h2 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  color: var(--color-dark-green);
  margin-bottom: 1.25rem;
}
.split-content__text p {
  color: var(--color-text-light);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.split-content__text .btn {
  margin-top: 0.75rem;
}
.split-content__image img {
  width: 100%;
  border-radius: 8px;
  background: #ddd;
  min-height: 18.75rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.form-group {
  margin-bottom: 1.25rem;
}
.form-group label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
  color: var(--color-text);
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  font-family: var(--font-body);
  transition: border-color 0.2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--color-medium-green);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .form-row {
    grid-template-columns: 1fr 1fr;
  }
}

:root {
  --header-height: 80px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background: rgba(13, 41, 29, 0.95);
  backdrop-filter: blur(16px);
  padding: 0 1.25rem;
  border-bottom: 1px solid oklab(98.8013% -0.0000585616 0.00412172 / 0.2);
  transform: translateY(0);
  transition: transform 0.3s ease;
}
.site-header--hidden {
  transform: translateY(-100%);
}
@media (min-width: 960px) {
  .site-header {
    padding: 0 2.5rem;
  }
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
}
.site-header__left {
  display: flex;
  align-items: center;
  gap: 3rem;
}
.site-header__right {
  display: none;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 960px) {
  .site-header__right {
    display: flex;
  }
}
.site-header__logo img {
  height: 50px;
  width: auto;
}
.site-header__nav {
  display: flex;
  align-items: center;
}
.site-header__nav-links {
  display: none;
  align-items: center;
  list-style: none;
  gap: 2rem;
}
@media (min-width: 960px) {
  .site-header__nav-links {
    display: flex;
  }
}
.site-header__nav-links a {
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: opacity 0.2s;
}
.site-header__nav-links a:hover {
  color: var(--color-light-green);
}
.site-header__login {
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: opacity 0.2s;
}
.site-header__login:hover {
  color: var(--color-light-green);
}

.menu-toggle {
  display: block;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  z-index: 1100;
}
@media (min-width: 960px) {
  .menu-toggle {
    display: none;
  }
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-white);
  margin: 5px 0;
  transition: transform 0.3s, opacity 0.3s;
  transform-origin: center;
}
.menu-toggle--active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.menu-toggle--active span:nth-child(2) {
  opacity: 0;
}
.menu-toggle--active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background: var(--color-dark-green);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.mobile-nav--open {
  opacity: 1;
  visibility: visible;
}
.mobile-nav .btn-full {
  max-width: 17.5rem;
  margin: 0 auto;
  display: block;
  font-size: 1.5rem;
}
.mobile-nav__inner {
  text-align: center;
  width: 100%;
  padding: 0 2.5rem;
}
.mobile-nav__links {
  list-style: none;
  margin-bottom: 2.5rem;
}
.mobile-nav__links li {
  margin-bottom: 0.5rem;
}
.mobile-nav__links a {
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  display: inline-block;
  padding: 0.75rem 0;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.mobile-nav__links a:hover {
  opacity: 1;
}

.site-footer {
  background: var(--color-dark-green);
  color: var(--color-white);
  padding-bottom: 2rem;
}
.site-footer__wrapper {
  padding-inline: 1.5rem;
}
.site-footer__inner {
  max-width: 75rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 3rem;
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .site-footer__inner {
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
  }
}
.site-footer__brand p {
  font-size: 1rem;
  line-height: 1.7;
  opacity: 0.7;
  max-width: 25rem;
}
.site-footer__logo img {
  height: 60px;
  width: auto;
  margin-bottom: 1rem;
}
.site-footer__sitemap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .site-footer__sitemap {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 5rem;
  }
}
.site-footer__sitemap h4 {
  font-family: var(--font-body);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
  opacity: 0.5;
  font-weight: 600;
}
.site-footer__sitemap ul {
  list-style: none;
}
.site-footer__sitemap ul li {
  margin-bottom: 0.625rem;
}
.site-footer__sitemap ul a {
  font-size: 1rem;
}
.site-footer__sitemap ul a:hover {
  color: var(--color-light-green);
}
.site-footer__bottom {
  max-width: 75rem;
  margin: 0 auto;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  opacity: 0.5;
}
@media (min-width: 768px) {
  .site-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    text-align: left;
  }
}
.site-footer__bottom-links {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .site-footer__bottom-links {
    justify-content: flex-end;
  }
}
.site-footer__bottom-links a {
  transition: opacity 0.2s;
}
.site-footer__bottom-links a:hover {
  opacity: 0.8;
}

a:has(svg.lucide),
button:has(svg.lucide),
.with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
}

svg.lucide {
  vertical-align: middle;
}

i.palm-tree, i.piggy-bank, i.heart, i.dollar-sign, i.arrow-up, i.clipboard, i.hand, i.person, i.shield, i.pin, i.ladder, i.trophy {
  display: inline-block;
  background-color: var(--color-medium-green);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

i.trophy {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6H24V13.5C24 16.5 21.75 19.5 18 19.5C14.25 19.5 12 16.5 12 13.5V6Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 10.5H7.5C6 10.5 4.5 12 4.5 13.5C4.5 15 6 16.5 7.5 16.5H12' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24 10.5H28.5C30 10.5 31.5 12 31.5 13.5C31.5 15 30 16.5 28.5 16.5H24' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 19.5V25.5M13.5 30H22.5M15 25.5H21' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6H24V13.5C24 16.5 21.75 19.5 18 19.5C14.25 19.5 12 16.5 12 13.5V6Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 10.5H7.5C6 10.5 4.5 12 4.5 13.5C4.5 15 6 16.5 7.5 16.5H12' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24 10.5H28.5C30 10.5 31.5 12 31.5 13.5C31.5 15 30 16.5 28.5 16.5H24' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 19.5V25.5M13.5 30H22.5M15 25.5H21' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.ladder {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6V30M24 6V30' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 10.5H24M12 18H24M12 25.5H24' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 6V30M24 6V30' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 10.5H24M12 18H24M12 25.5H24' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.pin {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 15.5C15 13.8431 16.3431 12.5 18 12.5C19.6569 12.5 21 13.8431 21 15.5C21 17.1569 19.6569 18.5 18 18.5C16.3431 18.5 15 17.1569 15 15.5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 5C12.75 5 9 8.75 9 14C9 20 18 30.5 18 30.5C18 30.5 27 20 27 14C27 8.75 23.25 5 18 5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 15.5C15 13.8431 16.3431 12.5 18 12.5C19.6569 12.5 21 13.8431 21 15.5C21 17.1569 19.6569 18.5 18 18.5C16.3431 18.5 15 17.1569 15 15.5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 5C12.75 5 9 8.75 9 14C9 20 18 30.5 18 30.5C18 30.5 27 20 27 14C27 8.75 23.25 5 18 5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.shield {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 3L6 9V18C6 24.75 10.5 30.75 18 33C25.5 30.75 30 24.75 30 18V9L18 3Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 18L16.5 21L22.5 15' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 3L6 9V18C6 24.75 10.5 30.75 18 33C25.5 30.75 30 24.75 30 18V9L18 3Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 18L16.5 21L22.5 15' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.person {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5898 15.75C20.4893 15.75 22.8398 13.3995 22.8398 10.5C22.8398 7.60051 20.4893 5.25 17.5898 5.25C14.6903 5.25 12.3398 7.60051 12.3398 10.5C12.3398 13.3995 14.6903 15.75 17.5898 15.75Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.83984 32.25C7.83984 25.95 12.7148 21.75 17.5898 21.75C22.4648 21.75 27.3398 25.95 27.3398 32.25' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.5898 15.75C20.4893 15.75 22.8398 13.3995 22.8398 10.5C22.8398 7.60051 20.4893 5.25 17.5898 5.25C14.6903 5.25 12.3398 7.60051 12.3398 10.5C12.3398 13.3995 14.6903 15.75 17.5898 15.75Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.83984 32.25C7.83984 25.95 12.7148 21.75 17.5898 21.75C22.4648 21.75 27.3398 25.95 27.3398 32.25' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.hand {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.0742 18L14.0742 9M18.5742 16.5V6M23.0742 18V7' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.07422 16.6786V19.5C8.07422 24.8848 12.4394 29.25 17.8242 29.25C23.209 29.25 27.5742 24.8848 27.5742 19.5V12' stroke='%23517330' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.0742 18L14.0742 9M18.5742 16.5V6M23.0742 18V7' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.07422 16.6786V19.5C8.07422 24.8848 12.4394 29.25 17.8242 29.25C23.209 29.25 27.5742 24.8848 27.5742 19.5V12' stroke='%23517330' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A");
}

i.clipboard {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.5 4.5H10.5C8.84315 4.5 7.5 5.84315 7.5 7.5V28.5C7.5 30.1569 8.84315 31.5 10.5 31.5H25.5C27.1569 31.5 28.5 30.1569 28.5 28.5V7.5C28.5 5.84315 27.1569 4.5 25.5 4.5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 4.5V6C13.5 6.82842 14.1716 7.5 15 7.5H21C21.8284 7.5 22.5 6.82842 22.5 6V4.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 18L16.5 21L22.5 15' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.5 4.5H10.5C8.84315 4.5 7.5 5.84315 7.5 7.5V28.5C7.5 30.1569 8.84315 31.5 10.5 31.5H25.5C27.1569 31.5 28.5 30.1569 28.5 28.5V7.5C28.5 5.84315 27.1569 4.5 25.5 4.5Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 4.5V6C13.5 6.82842 14.1716 7.5 15 7.5H21C21.8284 7.5 22.5 6.82842 22.5 6V4.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 18L16.5 21L22.5 15' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.arrow-up {
  width: 36px;
  height: 36px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 28.5V7.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.5 18L18 7.5L28.5 18' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 28.5V7.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.5 18L18 7.5L28.5 18' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.dollar-sign {
  width: 21px;
  height: 39px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='21' height='39' viewBox='0 0 21 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 1.5V37.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.5 12.1874C19.5 8.04738 15.468 4.68738 10.5 4.68738C5.532 4.68738 1.5 8.04738 1.5 12.1874C1.5 16.3274 5.532 19.6874 10.5 19.6874C15.468 19.6874 19.5 23.0474 19.5 27.1874C19.5 31.3274 15.468 34.6874 10.5 34.6874C5.532 34.6874 1.5 31.3274 1.5 27.1874' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='21' height='39' viewBox='0 0 21 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 1.5V37.5' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19.5 12.1874C19.5 8.04738 15.468 4.68738 10.5 4.68738C5.532 4.68738 1.5 8.04738 1.5 12.1874C1.5 16.3274 5.532 19.6874 10.5 19.6874C15.468 19.6874 19.5 23.0474 19.5 27.1874C19.5 31.3274 15.468 34.6874 10.5 34.6874C5.532 34.6874 1.5 31.3274 1.5 27.1874' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.heart {
  width: 36px;
  height: 37px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='36' height='37' viewBox='0 0 36 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.0049 33.725C18.0049 33.725 3.00488 22.4522 3.00488 11.1795C3.00488 6.2477 6.41397 2.72498 11.1867 2.72498C14.5958 2.72498 16.6412 4.83861 18.0049 7.65679C19.3685 4.83861 21.414 2.72498 24.8231 2.72498C29.5958 2.72498 33.0049 6.2477 33.0049 11.1795C33.0049 22.4522 18.0049 33.725 18.0049 33.725Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='36' height='37' viewBox='0 0 36 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.0049 33.725C18.0049 33.725 3.00488 22.4522 3.00488 11.1795C3.00488 6.2477 6.41397 2.72498 11.1867 2.72498C14.5958 2.72498 16.6412 4.83861 18.0049 7.65679C19.3685 4.83861 21.414 2.72498 24.8231 2.72498C29.5958 2.72498 33.0049 6.2477 33.0049 11.1795C33.0049 22.4522 18.0049 33.725 18.0049 33.725Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.piggy-bank {
  width: 40px;
  height: 33px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='40' height='33' viewBox='0 0 40 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3373 8.50468H24.3056M10.9501 26.6036V31.275H17.3373L18.4986 29.5232H24.8858V31.275H31.273C33.402 29.1339 37.6602 22.8664 37.6602 14.9249C37.6602 4.99806 27.7891 2.07839 15.0147 3.24626C14.001 3.34054 11.5308 1.49746 6.88555 2.66234C6.692 3.44191 6.65329 5.4682 8.04686 7.33678C8.26844 7.6339 5.14407 9.67255 3.98277 12.5922H1.66016V18.4315L3.98277 19.5994C4.75665 21.3492 7.23356 25.1997 10.9501 26.6036Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='40' height='33' viewBox='0 0 40 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3373 8.50468H24.3056M10.9501 26.6036V31.275H17.3373L18.4986 29.5232H24.8858V31.275H31.273C33.402 29.1339 37.6602 22.8664 37.6602 14.9249C37.6602 4.99806 27.7891 2.07839 15.0147 3.24626C14.001 3.34054 11.5308 1.49746 6.88555 2.66234C6.692 3.44191 6.65329 5.4682 8.04686 7.33678C8.26844 7.6339 5.14407 9.67255 3.98277 12.5922H1.66016V18.4315L3.98277 19.5994C4.75665 21.3492 7.23356 25.1997 10.9501 26.6036Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

i.palm-tree {
  width: 35px;
  height: 39px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='35' height='39' viewBox='0 0 35 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3989 11.0703L17.3989 37.4999' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.16797 1.92165C6.82224 0.905128 17.3993 0.967491 17.3993 11.0704C17.3993 11.0704 9.00126 9.03732 3.16797 1.92165Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M31.6304 1.92165C27.9761 0.905128 17.399 0.967491 17.399 11.0704C17.399 11.0704 25.7971 9.03732 31.6304 1.92165Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.49993 19.5397C2.44673 15.8667 7.78927 6.7379 16.5386 11.7893C16.5386 11.7893 10.5789 18.0457 1.49993 19.5397Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M33.2984 19.5397C32.3516 15.8667 27.0091 6.7379 18.2597 11.7893C18.2597 11.7893 24.2194 18.0457 33.2984 19.5397Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.69238 37.5H30.1055' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='35' height='39' viewBox='0 0 35 39' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3989 11.0703L17.3989 37.4999' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.16797 1.92165C6.82224 0.905128 17.3993 0.967491 17.3993 11.0704C17.3993 11.0704 9.00126 9.03732 3.16797 1.92165Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M31.6304 1.92165C27.9761 0.905128 17.399 0.967491 17.399 11.0704C17.399 11.0704 25.7971 9.03732 31.6304 1.92165Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1.49993 19.5397C2.44673 15.8667 7.78927 6.7379 16.5386 11.7893C16.5386 11.7893 10.5789 18.0457 1.49993 19.5397Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M33.2984 19.5397C32.3516 15.8667 27.0091 6.7379 18.2597 11.7893C18.2597 11.7893 24.2194 18.0457 33.2984 19.5397Z' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.69238 37.5H30.1055' stroke='%23517330' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.section--testimonial {
  background: var(--color-cream);
}

.testimonial-carousel {
  max-width: 43.75rem;
  margin: 0 auto;
  text-align: center;
}
.testimonial-carousel__slide blockquote p,
.testimonial-carousel__slide p {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  line-height: 1.6;
  color: var(--color-dark-green);
  font-style: italic;
  margin-bottom: 1.5rem;
}
.testimonial-carousel__slide cite {
  font-style: normal;
}
.testimonial-carousel__slide cite strong {
  display: block;
  font-size: 1rem;
  color: var(--color-text);
}
.testimonial-carousel__slide cite span {
  font-size: 1rem;
  color: var(--color-text-light);
}
.testimonial-carousel__pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}
.testimonial-carousel__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--color-dark-green);
  opacity: 0.2;
  transition: opacity 0.3s;
}
.testimonial-carousel__pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.final-cta {
  background: linear-gradient(135deg, #0d291d 0%, #1a3d2a 40%, #517330 100%);
  color: var(--color-white);
  padding: 5.25rem 0;
}
.final-cta__content {
  max-width: 37.5rem;
  margin: 0 auto;
  text-align: center;
  padding-inline: 1.5rem;
}
.final-cta__content h2 {
  color: var(--color-white);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  margin-bottom: 1rem;
}
.final-cta__content p {
  opacity: 0.85;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.final-cta__buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.final-cta__buttons .btn-outline-green {
  color: var(--color-white);
  border-color: var(--color-white);
}
.final-cta__buttons .btn-outline-green:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-white);
}

.page-header {
  background: linear-gradient(rgba(13, 41, 29, 0.75), rgba(13, 41, 29, 0.85));
  background-color: var(--color-dark-green);
  color: var(--color-white);
  text-align: center;
  padding: 7.5rem 1.25rem 3.75rem;
}
@media (min-width: 768px) {
  .page-header {
    padding: 10rem 1.5rem 5rem;
  }
}
.page-header h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
}
.page-header p {
  font-size: 1.125rem;
  opacity: 0.85;
  line-height: 1.7;
}
.page-header--dark {
  background: var(--color-dark-green);
}
.page-header__content {
  max-width: 43.75rem;
  margin: 0 auto;
}

.community-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 25rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .community-cards {
    grid-template-columns: repeat(2, 1fr);
    max-width: 75rem;
  }
}
@media (min-width: 1024px) {
  .community-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.community-card,
.community-list-card {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}
.community-card:hover,
.community-list-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.community-card__img,
.community-list-card__img {
  width: 100%;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  background: #ddd;
}
.community-card__body,
.community-list-card__body {
  padding: 1.5rem;
}
.community-card__body h3,
.community-list-card__body h3 {
  font-size: 1.25rem;
  color: var(--color-dark-green);
  margin-bottom: 0.25rem;
}
.community-card__location,
.community-list-card__location {
  font-size: 1rem;
  color: var(--color-text-light);
}
.community-card__care-tags,
.community-list-card__care-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block: 0.75rem;
}
.community-card__care-tag,
.community-list-card__care-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.75rem;
  border-radius: 999px;
  color: var(--color-dark-green);
  border: 1px solid var(--color-dark-green);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
}

a.community-card {
  color: inherit;
  text-decoration: none;
}

.community-list-card {
  display: block;
}
.community-list-card img {
  width: 100%;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  background: #ddd;
}
.community-list-card__info {
  padding: 1.5rem;
  flex: 1;
}
.community-list-card__info h3 {
  font-size: 1.25rem;
  color: var(--color-dark-green);
  margin-bottom: 0.25rem;
}
.community-list-card__info > p {
  font-size: 1rem;
  color: var(--color-text-light);
  margin-bottom: 1rem;
}
.community-list-card__location {
  font-size: 1rem;
  color: var(--color-text-light);
  display: block;
  margin-bottom: 0.5rem;
}
.community-list-card__actions {
  display: flex;
  gap: 0.75rem;
}

.filter-group {
  flex: 1;
  max-width: 100%;
}
@media (min-width: 768px) {
  .filter-group {
    max-width: 17.5rem;
  }
}
.filter-group label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
  color: var(--color-text);
}

.filter-group__select {
  width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  font-family: var(--font-body);
  background: var(--color-white);
}

.forgot-password {
  display: block;
  text-align: center;
  margin-top: 1rem;
  font-size: 1rem;
  color: var(--color-medium-green);
  font-weight: 500;
}
.forgot-password:hover {
  text-decoration: underline;
}

.hero {
  position: relative;
  background-color: var(--color-cream);
  overflow: visible;
  min-height: 90vh;
}
@media (min-width: 768px) {
  .hero {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 7.5fr 1fr 1fr;
  }
}
.hero__inner {
  position: relative;
  grid-column: 1;
  grid-row: 1/3;
  min-height: min(70vh, 600px);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-white);
  overflow: clip;
  background-color: var(--color-dark-green);
  padding-block: calc(var(--header-height) + 3rem) 10rem;
}
@media (min-width: 768px) {
  .hero__inner {
    min-height: 0;
  }
}
.hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.hero__image video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.hero__image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.25;
  z-index: 1;
}
.hero__content {
  grid-column: 1;
  grid-row: 1;
  max-width: 60rem;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  padding: 0 1.25rem;
}
.hero__content > * {
  position: relative;
  z-index: 10;
}
.hero__content::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 125%;
  height: 150%;
  background: black;
  filter: blur(250px);
  border-radius: 50%;
  opacity: 0.75;
}
@media (min-width: 768px) {
  .hero__content {
    padding: 0;
  }
}
.hero h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .hero h1 {
    font-size: clamp(2.5rem, 5vw, 4rem);
  }
}
.hero p {
  font-size: 1.25rem;
  line-height: 1.7;
  opacity: 1;
  font-weight: 700;
  margin: 0 auto 3rem;
}
.hero__buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.hero__stats-wrapper {
  grid-column: 1;
  grid-row: 2/4;
  margin-top: -5rem;
  margin-bottom: 0;
  padding: 0 1.25rem;
  position: relative;
  z-index: 20;
}
@media (min-width: 768px) {
  .hero__stats-wrapper {
    padding: 0 1.5rem;
    margin-top: 0;
  }
}
.hero__stats {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  max-width: 60rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .hero__stats {
    flex-direction: row;
    gap: 1.5rem;
  }
}

.stat-box {
  background: var(--color-white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  padding: 1.5rem 1rem;
  text-align: center;
  backdrop-filter: blur(18px);
  flex: 1 1 0;
}
@media (min-width: 768px) {
  .stat-box {
    padding: 1.25rem 1rem;
  }
}
.stat-box__number {
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.25rem;
  color: var(--color-light-green);
}
@media (min-width: 768px) {
  .stat-box__number {
    font-size: 2.25rem;
  }
}
.stat-box__label {
  font-size: 1rem;
  color: var(--color-dark-green);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.2;
  padding-inline: 1rem;
  margin-bottom: 0 !important;
}

.section--communities {
  background: linear-gradient(to bottom, var(--color-cream), var(--color-white));
}
.section--communities .section-header {
  max-width: none;
  text-align: left;
}
@media (min-width: 1024px) {
  .section--communities .section-header {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.5rem;
  }
}
.section--communities .section-header__intro p:not(:last-child) {
  margin-bottom: 1.5rem;
}

.section--join-team {
  background: var(--color-cream);
  text-align: center;
}
.section--join-team .btn {
  margin-top: 0.5rem;
}

.benefit-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 25rem;
  margin: 0 auto 2rem;
}
@media (min-width: 1024px) {
  .benefit-cards {
    grid-template-columns: repeat(3, 1fr);
    max-width: 50rem;
  }
}
.benefit-cards__item {
  background: var(--color-white);
  padding: 2rem 1.5rem;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.benefit-cards__item img {
  margin: 0 auto 0.5rem;
}
.benefit-cards__item h3 {
  font-size: 1.0625rem;
  color: var(--color-dark-green);
  margin-bottom: 0.5rem;
}
.benefit-cards__item p {
  font-size: 1rem;
  color: var(--color-text-light);
  line-height: 1.5;
}

.section--capital-partners {
  background: var(--color-white);
}

.partner-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 56.25rem;
  margin: 0 auto 3rem;
}
@media (min-width: 1024px) {
  .partner-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.partner-stats__item {
  text-align: center;
}
.partner-stats__number {
  display: block;
  font-family: var(--font-heading);
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--color-dark-green);
  margin-bottom: 0.5rem;
}
.partner-stats__label {
  font-size: 1rem;
  color: var(--color-text-light);
}

.portal-preview {
  max-width: 30rem;
  margin: 0 auto 2rem;
  background: var(--color-cream);
  padding: 2.5rem 2rem;
  border-radius: 8px;
  text-align: center;
}
.portal-preview h3 {
  font-size: 1.375rem;
  color: var(--color-dark-green);
  margin-bottom: 1.25rem;
}
.portal-preview__features {
  list-style: none;
  margin-bottom: 1.5rem;
  text-align: left;
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
}
.portal-preview__features li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.625rem;
  color: var(--color-text-light);
  font-size: 1rem;
  line-height: 1.5;
}
.portal-preview__features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-medium-green);
  font-weight: 700;
}
.portal-preview__badge {
  display: inline-block;
  padding: 0.375rem 1.25rem;
  background: var(--color-medium-green);
  color: var(--color-white);
  border-radius: 20px;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.portal-preview__login {
  text-align: center;
  margin-top: 1.5rem;
}
.portal-preview__login a {
  color: var(--color-medium-green);
  font-weight: 600;
  font-size: 1rem;
  border-bottom: 2px solid var(--color-medium-green);
  padding-bottom: 2px;
  transition: opacity 0.2s;
}
.portal-preview__login a:hover {
  opacity: 0.7;
}

.contact-methods {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

.section--get-in-touch {
  background: var(--color-cream);
  text-align: center;
}
.section--get-in-touch .btn {
  margin-top: 0.5rem;
}

.section--mission {
  background: var(--color-cream);
}

.mission-content {
  max-width: 50rem;
  margin: 0 auto;
  text-align: center;
}
.mission-content h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  color: var(--color-dark-green);
  line-height: 1.5;
  font-weight: 400;
  font-style: italic;
}

.values-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .values-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .values-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
.values-grid__card {
  grid-column: span 1;
  text-align: center;
  padding: 2rem 1.25rem;
  border-radius: 8px;
  background: var(--color-cream);
  transition: transform 0.2s;
}
@media (min-width: 768px) {
  .values-grid__card {
    grid-column: span 2;
    padding: 2.5rem 1.5rem;
  }
  .values-grid__card:nth-child(5) {
    grid-column: 2/span 2;
  }
}
@media (min-width: 1024px) {
  .values-grid__card:nth-child(4) {
    grid-column: 2/span 2;
  }
  .values-grid__card:nth-child(5) {
    grid-column: 4/span 2;
  }
}
.values-grid__card img {
  margin: 0 auto 1rem;
}
.values-grid__card h3 {
  font-size: 1.125rem;
  color: var(--color-dark-green);
  margin-bottom: 0.75rem;
}
.values-grid__card p {
  font-size: 1rem;
  color: var(--color-text-light);
  line-height: 1.6;
}
.values-grid__icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--color-medium-green);
}

.section--community-spotlight {
  overflow: visible;
}

.community-spotlight__inner {
  position: relative;
  background: var(--color-dark-green);
  padding: 4rem 1.25rem 12rem;
  overflow: clip;
}
@media (min-width: 768px) {
  .community-spotlight__inner {
    padding: 6.25rem 1.5rem 14rem;
  }
}

.community-spotlight__image {
  position: absolute;
  inset: -15% 0;
  z-index: 0;
}
.community-spotlight__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.community-spotlight__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(13, 41, 29, 0.6);
  z-index: 1;
}

.community-spotlight__header {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 43.75rem;
  margin: 0 auto;
}
.community-spotlight__header h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  color: var(--color-white);
  margin-bottom: 1rem;
}
.community-spotlight__header p {
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
  color: var(--color-white);
  line-height: 1.7;
}

.community-spotlight__cards-heading {
  display: block;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-white);
  text-align: center;
  margin-bottom: 1.25rem;
}

.community-spotlight__cards-wrapper {
  position: relative;
  z-index: 20;
  margin-top: -7rem;
  padding: 0 1.25rem 4rem;
}
@media (min-width: 768px) {
  .community-spotlight__cards-wrapper {
    padding: 0 1.5rem 6.25rem;
  }
}

.spotlight-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 50rem;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .spotlight-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .spotlight-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.spotlight-grid__card {
  background: var(--color-white);
  border-radius: 8px;
  padding: 2rem 1.5rem;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.spotlight-grid__card p {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-dark-green);
  line-height: 1.6;
}

.section--join-cta {
  background: var(--color-white);
}

.locator-filters {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .locator-filters {
    flex-direction: row;
  }
}

.locator-map {
  margin-bottom: 5rem;
}

#community-map {
  width: 100%;
  height: 450px;
  border-radius: 8px;
  z-index: 1;
}

.section--community-intro {
  padding-bottom: 0;
}

.section--community-locator {
  padding-top: 0;
}

.community-listing {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .community-listing {
    grid-template-columns: repeat(3, 1fr);
  }
}
.community-listing__no-results {
  text-align: center;
  color: var(--color-text-light);
  padding: 3rem 0;
}

.community-marker {
  background: none;
  border: none;
}

.leaflet-popup-content-wrapper {
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

.leaflet-popup-content {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0.75rem 1rem;
}
.leaflet-popup-content strong {
  color: var(--color-dark-green);
  font-size: 1.0625rem;
}
.leaflet-popup-content a {
  color: var(--color-medium-green);
  font-weight: 600;
  text-decoration: none;
}
.leaflet-popup-content a:hover {
  text-decoration: underline;
}

.section--portal-login {
  background: var(--color-cream);
}

.portal-login {
  max-width: 30rem;
  margin: 0 auto;
  background: var(--color-white);
  padding: 2rem 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.08);
  text-align: center;
}
@media (min-width: 768px) {
  .portal-login {
    padding: 3rem 2.5rem;
  }
}
.portal-login h2 {
  font-size: 1.75rem;
  color: var(--color-dark-green);
  margin-bottom: 0.5rem;
}
.portal-login > p {
  color: var(--color-text-light);
  margin-bottom: 2rem;
  font-size: 1rem;
}
.portal-login__form {
  text-align: left;
}

.section--portal-preview {
  padding-bottom: 0;
}

.section--portal-reports {
  padding-top: 0;
}

.feature-list {
  list-style: none;
  padding: 0;
}
.feature-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.625rem;
  color: var(--color-text-light);
  line-height: 1.6;
}
.feature-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-medium-green);
  font-weight: 700;
}

.placeholder-graphic {
  background: var(--color-cream);
  border-radius: 8px;
  padding: 2.5rem;
  min-height: 18.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}
.placeholder-graphic__chart {
  height: 120px;
  background: #ddd;
  border-radius: 4px;
}
.placeholder-graphic__chart--sm {
  height: 60px;
  background: #ddd;
  border-radius: 4px;
}

.section--portal-investments {
  background: var(--color-cream);
  padding-bottom: 0;
}

.investment-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .investment-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

.investment-card {
  background: var(--color-white);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}
.investment-card h3 {
  font-size: 1.25rem;
  color: var(--color-dark-green);
  margin-bottom: 0.25rem;
}
.investment-card__status {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: var(--color-medium-green);
  color: var(--color-white);
  margin-bottom: 1rem;
}
.investment-card__status--upcoming {
  background: #e8a317;
}
.investment-card__location {
  font-size: 1rem;
  color: var(--color-text-light);
  display: block;
  margin-bottom: 1.25rem;
}
.investment-card__details {
  border-top: 1px solid #eee;
  padding-top: 1rem;
  margin-bottom: 1.25rem;
}
.investment-card__detail {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
}
.investment-card__label {
  font-size: 1rem;
  color: var(--color-text-light);
}
.investment-card__value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
}

.section--careers-benefits {
  background: var(--color-cream);
}

.benefits-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .benefits-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .benefits-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
.benefits-grid__card {
  grid-column: span 1;
  background: var(--color-white);
  text-align: center;
  padding: 2rem 1.25rem;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
  .benefits-grid__card {
    grid-column: span 2;
    padding: 2.5rem 1.5rem;
  }
  .benefits-grid__card:nth-child(5) {
    grid-column: 2/span 2;
  }
}
@media (min-width: 1024px) {
  .benefits-grid__card:nth-child(4) {
    grid-column: 2/span 2;
  }
  .benefits-grid__card:nth-child(5) {
    grid-column: 4/span 2;
  }
}
.benefits-grid__card img {
  margin: 0 auto 1rem;
}
.benefits-grid__card h3 {
  font-size: 1.125rem;
  color: var(--color-dark-green);
  margin-bottom: 0.75rem;
}
.benefits-grid__card p {
  font-size: 1rem;
  color: var(--color-text-light);
  line-height: 1.6;
}
.benefits-grid__icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--color-medium-green);
}
.benefits-grid__note {
  text-align: center;
  margin-top: 2rem;
}

.positions-list {
  max-width: 50rem;
  margin: 0 auto 3rem;
}
.positions-list__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 1.5rem 0;
  border-bottom: 1px solid #eee;
}
@media (min-width: 768px) {
  .positions-list__card {
    flex-direction: row;
    align-items: center;
    gap: 0;
  }
}
.positions-list__card:first-child {
  border-top: 1px solid #eee;
}
.positions-list__info h3 {
  font-size: 1.125rem;
  color: var(--color-dark-green);
  margin-bottom: 0.25rem;
}
.positions-list__meta {
  font-size: 1rem;
  color: var(--color-text-light);
  display: flex;
  gap: 1rem;
  align-items: center;
}
.positions-list__type {
  display: inline-block;
  padding: 2px 10px;
  background: var(--color-cream);
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
}
.positions-list__cta {
  text-align: center;
}
.positions-list__cta p {
  color: var(--color-text-light);
  margin-bottom: 1rem;
}

.careers-form {
  max-width: 42rem;
  margin: 0 auto;
}
.careers-form .btn {
  margin-top: 0.5rem;
}

.form-label-note {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--color-text-light);
  margin-left: 0.25rem;
}

input[type=file] {
  width: 100%;
  font-size: 1rem;
  font-family: var(--font-body);
  color: var(--color-text);
  cursor: pointer;
}

.contact-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .contact-layout {
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
  }
}
.contact-layout__form-wrap h2 {
  font-size: 1.75rem;
  color: var(--color-dark-green);
  margin-bottom: 2rem;
}
.contact-layout__form .btn {
  margin-top: 0.5rem;
}
.contact-layout__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.contact-layout__info h2 {
  font-size: 1.75rem;
  color: var(--color-dark-green);
  margin-bottom: 1.5rem;
}
.contact-layout__info p {
  font-size: 1rem;
  color: var(--color-text-light);
  line-height: 1.6;
}
.contact-layout__detail {
  margin-bottom: 1rem;
}
.contact-layout__detail strong {
  display: block;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-light);
  margin-bottom: 0.25rem;
}
.contact-layout__detail a,
.contact-layout__detail address {
  font-size: 1rem;
  font-style: normal;
  color: var(--color-text);
  line-height: 1.6;
}
.contact-layout__detail a:hover {
  color: var(--color-medium-green);
}
/*# sourceMappingURL=style.css.map */
