/* Community: genuine project photography, shared credit and Precision detailing. */
.community-intro { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.community-intro-copy { max-width:620px; }
.community-intro p:not(.eyebrow), .community-thanks p:not(.eyebrow), .community-outro p:not(.eyebrow) { font-size:17px; line-height:1.8; color:var(--slate); }
.community-intro-copy p + p { margin-top:20px; }
.community-intro .community-intro-copy .community-lead { font-size:24px; line-height:1.5; color:var(--navy); font-weight:600; margin-bottom:20px; }
.community-intro .text-link { margin-top:28px; }
.community-transformation { background:var(--pale); }
.community-comparison { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.community-comparison figure { min-width:0; margin:0; }
.community-photo-half { position:relative; aspect-ratio:3/2; overflow:hidden; background:#e0e5e7; }
/* Display each half of the supplied composite without changing the original photograph. */
.community-photo-half img { display:block; position:absolute; top:0; left:0; width:100%; height:200%; max-width:none; object-fit:fill; }
.community-photo-half--after img { top:-100%; }
.community-comparison figcaption { display:flex; justify-content:space-between; gap:16px; padding:22px 0; border-bottom:1px solid var(--line); }
.community-comparison figcaption strong { font-size:18px; }
.community-comparison figcaption span { font-size:14px; color:var(--slate); }
.community-image-credit { margin-top:24px; font-size:14px; color:var(--slate); }
.community-support { background:var(--navy); color:white; position:relative; isolation:isolate; }
.community-support::before { content:''; position:absolute; inset:0 0 auto; height:480px; background:url('assets/precision-rules.svg') right top / auto 100% no-repeat; opacity:.13; z-index:-1; }
.community-support-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:7%; align-items:center; }
.community-group { margin:0; min-width:0; }
.community-group img { display:block; width:100%; height:auto; }
.community-group figcaption { font-size:14px; color:#c7d7e1; padding-top:18px; }
.community-thanks h2 { font-size:clamp(36px,4vw,58px); margin-bottom:28px; }
.community-thanks p:not(.eyebrow) { color:#c7d7e1; }
.community-thanks p + p { margin-top:20px; }
.community-partners { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:64px; }
.community-partner { display:flex; flex-direction:column; align-items:start; padding-top:24px; border-top:1px solid #ffffff45; }
.community-partner-number { color:#efa16d; font-size:14px; letter-spacing:.1em; margin-bottom:24px; }
.community-partner h3 { font-size:23px; line-height:1.3; letter-spacing:-.03em; }
.community-partner p { font-size:16px; line-height:1.75; margin:18px 0 28px; color:#c7d7e1; }
.community-partner .text-link { margin-top:auto; font-size:14px; border-color:#ffffff70; gap:14px; }
.community-outro > .wrap { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.community-outro .button { margin-top:28px; }
.community-outro .community-source-note { font-size:13px!important; margin-top:24px; }
@media(max-width:1199px) {
 .community-partners { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
 .community-comparison figcaption { display:block; }
 .community-comparison figcaption span { display:block; margin-top:6px; }
 .community-support-heading { gap:40px; }
}
@media(max-width:767px) {
 .community-intro, .community-support-heading, .community-outro > .wrap { grid-template-columns:1fr; gap:36px; }
 .community-comparison { grid-template-columns:1fr; gap:32px; }
 .community-intro .community-intro-copy .community-lead { font-size:22px; }
 .community-group figcaption { line-height:1.6; }
 .community-thanks { padding-top:4px; }
 .community-partners { margin-top:48px; gap:36px 24px; }
 .community-partner h3 { font-size:22px; }
 .community-partner .text-link { font-size:13px; gap:10px; }
 .community-outro .button { gap:20px; }
}
@media(max-width:479px) {
 .community-partners { grid-template-columns:1fr; }
 .community-partner-number { margin-bottom:16px; }
 .community-partner p { margin:14px 0 22px; }
 .community-outro .button { font-size:14px; }
}
