.affiliation h1{max-width:22ch}.affiliation img{display:block;width:100%;height:auto;border-radius:var(--radius,16px)}.affiliation .af-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.affiliation figure{margin:28px 0}.affiliation figcaption{margin-top:12px;color:var(--muted)}.affiliation .card{min-width:0}.affiliation .cta-row{flex-wrap:wrap}.affiliation p,.affiliation li{overflow-wrap:anywhere}@media(max-width:700px){.affiliation .af-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.affiliation .grid3{grid-template-columns:1fr}}
/* Match the spacing and reading rhythm of the site's commercial pages. */
.affiliation .sec>.wrap{display:flex;flex-direction:column;align-items:stretch;gap:28px}
.affiliation h1,.affiliation h2,.affiliation h3,.affiliation p{margin:0}
.affiliation h1{max-width:22ch;margin:4px 0 8px}
.affiliation h2{max-width:28ch;margin-bottom:8px}
.affiliation .sec>.wrap>p{max-width:72ch;line-height:1.75;color:var(--muted)}
.affiliation .sec:first-child .wrap>p:first-of-type{font-size:clamp(18px,1.6vw,21px);max-width:58ch}
.affiliation .sec:first-child .wrap>div:first-child{color:var(--safe);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.affiliation .sec:first-child .wrap>img{margin-top:16px}
.affiliation .grid3{gap:24px;margin:8px 0}
.affiliation .card{padding:clamp(24px,3vw,40px);gap:22px}
.affiliation .card p{line-height:1.75;color:var(--muted)}
.affiliation .card .btn{align-self:flex-start;margin-top:6px}
.affiliation .af-gallery{gap:24px}
.affiliation figure{margin:12px 0}
.affiliation figcaption{margin-top:20px;line-height:1.6}
.affiliation .ben,.affiliation .olist{margin:4px 0;padding-top:0;padding-bottom:0;max-width:76ch}
.affiliation .ben li{padding-top:10px;padding-bottom:10px;line-height:1.7}
.affiliation .olist{gap:26px}
.affiliation .olist li{font-size:17px;line-height:1.75;padding-left:48px}
.affiliation .faq{max-width:900px;width:100%;margin-top:8px}
.affiliation .faq details{padding:12px 0}
.affiliation .faq summary{padding:20px 0;line-height:1.55}
.affiliation .faq details p{padding:4px 0 24px;line-height:1.8;max-width:72ch}
.affiliation .cta-row{gap:16px;margin:6px 0}
@media(max-width:700px){
 .affiliation .sec>.wrap{gap:22px}
 .affiliation .grid3{gap:20px;margin:4px 0}
 .affiliation .card{padding:24px;gap:20px}
 .affiliation .af-gallery{gap:14px}
 .affiliation .olist{gap:24px}
 .affiliation .olist li{font-size:16px;padding-left:42px}
 .affiliation .faq details{padding:8px 0}
 .affiliation .faq summary{padding:18px 0}
 .affiliation .cta-row{gap:14px}
}
