/* Professional directory and profiles share ALCA's visual identity. */
.supporters-section{padding:68px 0 76px;background:linear-gradient(135deg,#dcefff,#f0eaff 72%,#fffaf0)}
.supporters-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:60px}
.supporters-copy h2{font:400 clamp(2.25rem,3.5vw,3.4rem)/1.1 var(--display);letter-spacing:0;margin:18px 0 22px;max-width:540px}
.supporters-copy>p{max-width:500px;font-size:1.0625rem;line-height:1.7;margin-bottom:26px}
.professional-card{display:flex;align-items:center;gap:27px;padding:30px;background:var(--paper);border:2px solid var(--ink);border-radius:29px 35px 27px 32px;box-shadow:5px 6px 0 var(--ink);transition:transform .18s,box-shadow .18s;min-width:0}
.professional-card:hover{transform:translateY(-4px);box-shadow:6px 9px 0 var(--ink)}
.professional-avatar{position:relative;display:grid;place-items:center;flex:0 0 126px;width:126px;height:140px;border:2px solid var(--ink);border-radius:46% 51% 47% 49%;background:#d5eaff;color:#125b94;transform:rotate(-4deg);font:400 3.5rem/1 var(--display);box-shadow:3px 4px 0 var(--ink)}
/* Anchor the photo to the oval without clipping the overlapping heart badge. */
.professional-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:inherit}
.professional-avatar .avatar-mark{position:absolute;bottom:-8px;right:-6px;display:grid;place-items:center;width:38px;height:38px;background:var(--sun);color:var(--ink);border:2px solid var(--ink);border-radius:50%;transform:rotate(4deg)}
.avatar-mark .icon{width:22px;height:22px}
.professional-card-copy{min-width:0;flex:1}
.professional-eyebrow{display:block;font-size:.8125rem;font-weight:800;line-height:1.5;color:#4d5769;margin-bottom:9px}
.professional-card h2,.professional-card h3{font:400 clamp(1.9rem,2.6vw,2.45rem)/1.12 var(--display);letter-spacing:0;margin:0 0 10px;overflow-wrap:anywhere}
.professional-role{font-weight:800;font-size:1rem;line-height:1.5;color:#35415a}
.professional-card .professional-card-link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px;padding-top:15px;border-top:1.5px solid var(--ink);font-size:.9375rem;font-weight:800}
.professionals-main{min-height:65vh;padding-bottom:70px;background:linear-gradient(180deg,#dcefff,var(--paper) 720px)}
.professionals-heading{padding:32px 0 40px;max-width:860px}
.professionals-heading h1{font:400 clamp(2.7rem,4.8vw,4.5rem)/1.08 var(--display);letter-spacing:0;margin:24px 0 23px;overflow-wrap:anywhere}
.professionals-heading h1 span{color:#1462a8}
.professionals-heading p{font-size:1.125rem;line-height:1.65;max-width:740px}
.professional-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.professional-grid>li{min-width:0}
.professional-grid>li:only-child{grid-column:1/-1;max-width:780px;width:100%}
.professional-grid .professional-card{height:100%}
.professionals-directory-note{display:flex;align-items:center;gap:13px;margin-top:35px;color:#35415a;font-size:1rem}
.professionals-directory-note .icon{flex-shrink:0}
.professional-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:1rem;font-weight:800;text-decoration:underline;text-underline-offset:4px;margin:10px 0 23px}
.professional-back:hover{color:#125b94}
.profile-card{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:48px;background:var(--paper);padding:45px;border:2px solid var(--ink);border-radius:32px;box-shadow:6px 7px 0 var(--ink);margin:0 0 40px}
.profile-card .professional-avatar{width:224px;height:244px;flex-basis:auto;font-size:6rem;background:#e7e0ff;color:#6940a5}
.profile-card .avatar-mark{width:58px;height:58px;right:-9px;bottom:-9px}
.profile-card .avatar-mark .icon{width:33px;height:33px}
.profile-card-copy{min-width:0}
.profile-card h1{font:400 clamp(2.8rem,4.6vw,4.6rem)/1.1 var(--display);letter-spacing:0;margin:16px 0 17px;overflow-wrap:anywhere}
.profile-card .professional-role{font-size:1.2rem;margin-bottom:16px}
.profile-relationship{display:inline-block;border:1.5px solid var(--ink);border-radius:15px;padding:7px 12px;background:#ffe8a5;font-weight:800;font-size:.9375rem}
.profile-summary{font-size:1.125rem;line-height:1.7;margin-top:22px;max-width:680px}
.profile-details{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:30px}
.profile-detail{background:#fffdf7;border:2px solid var(--ink);border-radius:25px;padding:28px;box-shadow:3px 4px 0 var(--ink)}
.profile-detail h2{font:400 2rem/1.15 var(--display);letter-spacing:0;margin-bottom:20px}
.profile-detail p{line-height:1.8;margin-bottom:16px}
.profile-detail ul{margin:0;padding-left:22px}
.profile-detail li+li{margin-top:10px}
.profile-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:27px}
.profile-links .sun-button{gap:12px;min-height:54px;max-width:100%;padding:14px 22px;text-align:center;text-decoration:none}
.profile-links .icon{flex-shrink:0}
@media(max-width:520px){.profile-links .sun-button{width:100%}}
@media(max-width:1050px){.supporters-layout{gap:32px}.professional-card{gap:20px;padding:25px}.professional-avatar{width:108px;height:120px;flex-basis:108px;font-size:3rem}}
@media(max-width:800px){.supporters-section{padding:45px 0 55px}.supporters-layout{grid-template-columns:1fr;gap:30px}.supporters-copy h2{font-size:2.7rem}.supporters-copy>p{max-width:640px}.professional-grid{grid-template-columns:1fr}.professional-card{max-width:780px}.profile-card{grid-template-columns:160px minmax(0,1fr);gap:30px;padding:30px}.profile-card .professional-avatar{width:150px;height:170px;font-size:4.5rem}.profile-card .avatar-mark{width:44px;height:44px}.profile-card .avatar-mark .icon{width:26px;height:26px}.profile-details{grid-template-columns:1fr}}
@media(max-width:520px){.professionals-heading{padding:24px 0 30px}.professionals-heading h1{font-size:2.8rem}.professional-card{padding:24px 20px;gap:22px;flex-direction:column;align-items:flex-start}.professional-avatar{width:112px;height:122px;flex-basis:122px}.professional-card-copy{width:100%}.professional-card h2,.professional-card h3{font-size:2.1rem}.profile-card{grid-template-columns:1fr;padding:28px 23px;gap:24px}.profile-card .professional-avatar{width:145px;height:160px;font-size:4.3rem;margin-bottom:4px}.profile-card h1{font-size:2.9rem}.profile-card .professional-role{font-size:1.125rem}.profile-summary{font-size:1rem}.professionals-directory-note{align-items:flex-start}.supporters-copy h2{font-size:2.45rem}.profile-detail{padding:24px}}
@media(prefers-reduced-motion:reduce){.professional-card{transition:none}.professional-card:hover{transform:none}}
