.home-process-link > img { filter: invert(1); }
.home-process-section { --home-process-arrow-gap: 1.5rem; --home-process-line-gap: 1.25rem; padding: 7.5rem 0 8rem; background: #fefffa; scroll-margin-top: 5rem; }
.home-process-container { max-width: 81rem; }
.home-process-heading { display: grid; grid-template-columns: 1.45fr 1fr; align-items: start; gap: 7rem; margin-bottom: 5.25rem; }
.home-process-heading h2 { margin: 0; font-size: clamp(2rem, 3vw, 2.5rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.25; }
.home-process-intro p { margin: 0 0 .875rem; font-size: 1.0625rem; line-height: 1.4; }
.home-process-section .home-process-button { display: inline-flex; width: fit-content; justify-content: center; padding: .875rem 1.5rem; border: 0; border-radius: .5rem; background: #588719; font-size: 1rem; line-height: 1.4; }
.home-process-section .home-process-button:focus-visible { outline: 2px solid #588719; outline-offset: 4px; }
.home-process-steps { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.home-process-step { position: relative; width: 39%; }
.home-process-step:nth-child(even) { align-self: flex-end; }
.home-process-step:nth-child(3) { margin-top: -.625rem; }
.home-process-step:nth-child(4) { margin-top: -1.75rem; }
.home-process-card { position: relative; z-index: 1; padding: 2.125rem; border-radius: 1.5rem; background: #f4f4f4; }
.home-process-card-heading { display: flex; align-items: center; gap: 1.0625rem; margin-bottom: 2.25rem; }
.home-process-number { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: #588719; color: #fff; font-size: 1.5rem; font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.home-process-card h3 { margin: 0; font-size: 1.3125rem; font-weight: 400; letter-spacing: -.02em; line-height: 1.25; }
.home-process-card > p { margin: 0; color: #5e5e5e; font-size: 1rem; line-height: 1.45; }
.home-process-card > .home-process-button { margin-top: 2.125rem; }
.home-process-connector { position: absolute; overflow: visible; pointer-events: none; visibility: hidden; }
.home-process-connector.is-positioned { visibility: visible; }
.home-contact-intro { max-width: 36rem; margin: 1.25rem 0 2rem; color: #67705f; font-size: 1rem; line-height: 1.65; }
@media (max-width: 1100px) {
    .home-process-heading { gap: 3.5rem; }
    .home-process-step { width: 42%; }
    .home-process-card { padding: 1.75rem; }
}
@media (max-width: 991px) {
    .home-process-section { padding: 4.5rem 0; }
    .home-process-heading { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3rem; }
    .home-process-heading h2 { max-width: 35rem; }
    .home-process-intro { max-width: 33rem; }
    .home-process-step { width: 46%; }
    .home-process-card { padding: 1.5rem; }
    .home-process-card h3 { font-size: 1.125rem; }
    .home-process-card-heading { gap: .75rem; margin-bottom: 1.5rem; }
    .home-process-number { width: 2.5rem; height: 2.5rem; font-size: 1.25rem; }
}
@media (max-width: 767px) {
    .home-process-section { padding: 3.5rem 0; }
    .home-process-heading h2 { font-size: 2rem; }
    .home-process-intro p { font-size: 1rem; line-height: 1.5; }
    .home-process-steps { gap: 3.5rem; }
    .home-process-step, .home-process-step:nth-child(even) { width: 100%; align-self: auto; }
    .home-process-step:nth-child(3), .home-process-step:nth-child(4) { margin-top: 0; }
    .home-process-card { border-radius: 1.25rem; }
    .home-process-card h3 { font-size: 1.25rem; }
    .home-process-card > .home-process-button { margin-top: 1.5rem; }
}
