.community-hero { min-height: 390px; padding: 77px 0; }
.community-hero .wrap { width: min(1120px,calc(100% - 64px)); }
.community-hero h1 { max-width: 900px; margin: 0; font-family: var(--display); font-size: clamp(56px,7.5vw,94px); font-weight: 760; line-height: .94; letter-spacing: -.6px; text-transform: uppercase; }
.community-hero .intro { max-width: 760px; margin: 23px 0 0; color: #fff8e9; font-size: clamp(18px,2vw,23px); line-height: 1.5; }
.community-intro { padding: 77px 0; background: var(--cream); }
.community-intro .wrap { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(38px,7vw,94px); width: min(1120px,calc(100% - 64px)); }
.community-intro h2,.community-close h2 { max-width: 690px; margin: 0; font-family: var(--display); font-size: clamp(34px,4.5vw,54px); font-weight: 760; line-height: .99; text-transform: uppercase; }
.community-intro-copy p { margin: 0 0 16px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.community-intro-copy p:last-child { margin-bottom: 0; }
.community-practices { padding: 77px 0; background: var(--sand); }
.community-practices .wrap { width: min(1120px,calc(100% - 64px)); }
.community-practices-head { max-width: 820px; margin-bottom: 34px; }
.community-practices-head h2 { margin: 0; font-family: var(--display); font-size: clamp(34px,4.5vw,54px); font-weight: 760; line-height: .99; text-transform: uppercase; }
.community-practices-head > p:last-child { max-width: 690px; margin: 14px 0 0; color: var(--muted); font-size: 16px; }
.community-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.community-card { display: grid; grid-template-columns: 52px 1fr; align-content: start; gap: 5px 17px; min-height: 228px; padding: 26px; border: 1px solid rgba(9,42,73,.13); border-radius: 8px; background: var(--cream); scroll-margin-top: 90px; }
.community-card-number { display: grid; width: 46px; height: 46px; grid-row: span 3; place-items: center; border-radius: 50%; background: #f2bd63; color: var(--navy); font-family: var(--display); font-size: 20px; font-weight: 800; }
.community-card h3 { margin: 1px 0 0; color: var(--navy); font-family: var(--display); font-size: 25px; font-weight: 760; line-height: 1; text-transform: uppercase; }
.community-card h3 span { display: block; margin-top: 4px; color: var(--teal,#04a1a5); font-size: 14px; letter-spacing: 1px; }
.community-card p { margin: 8px 0 13px; color: var(--muted); font-size: 15px; line-height: 1.55; }
.community-card a { display: inline-flex; align-items: center; gap: 8px; align-self: end; color: var(--navy); font-size: 10px; font-weight: 850; letter-spacing: .75px; text-transform: uppercase; transition: color .18s ease; }
.community-card a:hover,.community-card a:focus-visible { color: var(--red); }
.community-close { padding: 77px 0; background: linear-gradient(115deg,#061e34,#0a2b48 60%,#17495a); color: #fff8e9; }
.community-close .wrap { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 34px; width: min(1120px,calc(100% - 64px)); }
.community-close .eyebrow { color: var(--red); }
.community-close p:not(.eyebrow) { max-width: 690px; margin: 15px 0 0; color: #d8e1e5; font-size: 16px; line-height: 1.6; }
.community-button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 14px 22px; border: 1px solid var(--teal,#04a1a5); border-radius: 999px; background: var(--teal,#04a1a5); color: var(--navy); font-size: 10px; font-weight: 850; letter-spacing: .7px; text-transform: uppercase; white-space: nowrap; transition: background .18s ease,color .18s ease,border-color .18s ease; }
.community-button:hover,.community-button:focus-visible { border-color: var(--red); background: var(--red); color: #fff; }
@media (max-width: 800px) {
  .community-intro .wrap { grid-template-columns: 1fr; gap: 22px; }
  .community-close .wrap { grid-template-columns: 1fr; gap: 24px; }
  .community-button { justify-self: start; }
}
@media (max-width: 650px) {
  .community-hero { min-height: 0; padding: 65px 0 60px; }
  .community-hero .wrap,.community-intro .wrap,.community-practices .wrap,.community-close .wrap { width: min(100% - 40px,560px); }
  .community-hero h1 { font-size: clamp(48px,12vw,72px); }
  .community-intro,.community-practices,.community-close { padding: 58px 0; }
  .community-intro h2,.community-practices-head h2,.community-close h2 { font-size: clamp(34px,9vw,46px); }
  .community-grid { grid-template-columns: 1fr; gap: 11px; }
  .community-card { min-height: 0; grid-template-columns: 43px 1fr; gap: 4px 13px; padding: 21px 18px; }
  .community-card-number { width: 39px; height: 39px; font-size: 18px; }
  .community-card h3 { font-size: 23px; }
}
