.home-editorial { color: #163c31; font-family: "Bricolage Grotesque", sans-serif; font-size: 17px; line-height: 1.75; }
.home-editorial p { margin: 0 0 20px; }
.home-editorial p a { color: #105725; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; font-weight: 600; }
.home-editorial p a:hover { text-decoration-thickness: 2px; }
.home-ending p a, .home-hero p a { color: #d4e86b; }
.home-editorial h1, .home-editorial h2, .home-editorial h3 { font-family: inherit; color: inherit; font-weight: 600; }
.home-editorial h1 { font-size: clamp(38px, 4.4vw, 64px); line-height: 1.08; letter-spacing: -.035em; margin: 0 0 24px; max-width: 760px; }
.home-editorial h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.17; letter-spacing: -.025em; max-width: 850px; margin: 0 0 28px; }
.home-editorial h3 { font-size: 24px; line-height: 1.3; margin: 0 0 18px; letter-spacing: -.015em; }
.home-hero { margin: 0 30px 40px; border-radius: 28px; overflow: hidden; background: linear-gradient(90deg, #143b26f2 0%, #143b26d9 45%, #143b2633 100%), url('/assets/58e873c19dddb3b5.webp') center/cover; color: #fff; }
.home-hero-copy { padding: clamp(36px, 5vw, 76px); max-width: 920px; }
.home-hero-copy p { max-width: 700px; color: #f5f7ec; font-size: 18px; }
.home-hero-copy p:first-of-type { color: #c6de42; font-size: 21px; line-height: 1.45; }
.home-editorial .home-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 24px; margin: 10px 0; border-radius: 7px; background: #105725; color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; line-height: 1.4; }
.home-editorial .home-action:hover { background: #194b2b; }
.home-hero .home-action, .home-ending .home-action { background: #c6de42; color: #163c31; }
.home-hero .home-action:hover, .home-ending .home-action:hover { background: #d4e86b; }
.home-section { padding: 70px 30px; }
.home-section-inner { max-width: 1180px; margin: auto; }
.home-lead { max-width: 900px; }
.home-section-content { margin-top: 30px; }
.home-section:nth-of-type(even) { background: #f7f8ee; }
.home-subsection-copy { max-width: 900px; }
.home-editorial ul { padding-left: 24px; margin: 24px 0; }
.home-editorial li { padding-left: 6px; margin-bottom: 16px; }
.home-editorial li::marker { color: #6d8a2c; }
.home-services .home-section-content, .home-process .home-section-content, .home-region .home-section-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.home-services .home-subsection { border: 1px solid #dce3d4; border-radius: 18px; overflow: hidden; background: #fff; }
.home-services .home-subsection img { display: block; width: 100%; height: 260px; object-fit: cover; }
.home-services .home-subsection-copy { padding: 30px; }
.home-editorial .home-text-link { padding: 0; color: #105725; background: none; text-decoration: underline; text-underline-offset: 5px; }
.home-editorial .home-text-link:hover { color: #163c31; background: none; }
.home-process .home-subsection, .home-region .home-subsection { padding: 30px; background: #fff; border: 1px solid #dce3d4; border-radius: 16px; }
.home-referral .home-section-inner { border-left: 5px solid #c6de42; padding-left: 32px; }
.home-resource { padding: 20px 24px; background: #edf1db; border-radius: 10px; }
.home-resource a { color: #105725; text-decoration: underline; text-underline-offset: 3px; }
.home-accordion { border-top: 1px solid #dce3d4; max-width: 960px; }
.home-accordion details { border-bottom: 1px solid #dce3d4; }
.home-accordion summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; list-style: none; padding: 24px 12px; color: #163c31; font-size: 20px; line-height: 1.4; font-weight: 600; }
.home-accordion summary::-webkit-details-marker { display: none; }
.home-accordion summary span { flex-shrink: 0; font-size: 28px; font-weight: 400; }
.home-accordion details[open] summary span { transform: rotate(45deg); }
.home-answer { padding: 0 12px 12px; max-width: 850px; }
.home-section.home-ending { margin: 30px; border-radius: 24px; background: #105725; color: #fff; }
.home-ending em { display: block; color: #e1ebda; font-size: 15px; }
@media(max-width: 767px) {
  .home-editorial { font-size: 16px; line-height: 1.7; }
  .home-hero { margin: 0 16px 20px; border-radius: 20px; background-position: 60% center; }
  .home-hero-copy { padding: 36px 24px; }
  .home-hero-copy p { font-size: 16px; }
  .home-hero-copy p:first-of-type { font-size: 19px; }
  .home-section { padding: 44px 24px; }
  .home-services .home-section-content, .home-process .home-section-content, .home-region .home-section-content { grid-template-columns: 1fr; gap: 20px; }
  .home-services .home-subsection-copy, .home-process .home-subsection, .home-region .home-subsection { padding: 24px; }
  .home-services .home-subsection img { height: 220px; }
  .home-accordion summary { font-size: 18px; padding: 20px 4px; }
  .home-section.home-ending { margin: 16px; padding: 32px 24px; }
  .home-referral .home-section-inner { padding-left: 20px; }
  .home-editorial .home-action { max-width: 100%; box-sizing: border-box; }
}
