/* Board/volunteer introductions: the portrait is its own frame, not a tall backdrop. */
.person-profile-dialog .profile-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:30px;align-items:start;min-height:0;padding:54px 30px 32px}
.person-profile-dialog .profile-story{min-width:0;padding:0}
.person-profile-dialog .profile-story h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15;overflow-wrap:anywhere}
.person-profile-dialog.has-portrait .profile-visual{display:block;align-self:start;min-height:0;max-height:none;height:auto;padding:0;overflow:hidden;border:1px solid #e5d4a969;border-radius:18px;background:none;box-shadow:0 12px 25px #00191166,inset 0 1px #ffffff33}
html .person-profile-dialog.has-portrait .profile-visual img{display:block;position:static;inset:auto;width:100%!important;height:auto!important;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none!important;scale:1!important}
.person-profile-dialog.has-portrait .profile-halo{display:none}
.person-profile-dialog:not(.has-portrait) .profile-visual{min-height:260px;border-radius:18px}
@media(max-width:760px){.person-profile-dialog .profile-panel{grid-template-columns:minmax(0,1fr);gap:26px;padding:64px 22px 28px}.person-profile-dialog.has-portrait .profile-visual{width:min(100%,280px);justify-self:center;min-height:0;max-height:none}.person-profile-dialog .profile-story h2{font-size:clamp(28px,7vw,38px)}}
/* Portrait controls preserve the full supplied photograph by default. */
.header-actions{gap:18px}
.people-grid .person-card .person-photo{aspect-ratio:var(--portrait-ratio,1 / 1);height:auto;min-height:0;align-self:start}
html .people-grid .person-card .person-photo>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:var(--portrait-fit,contain);object-position:var(--portrait-x,50%) var(--portrait-y,50%);transform:scale(var(--portrait-scale,1))!important;transform-origin:var(--portrait-x,50%) var(--portrait-y,50%);scale:1!important;animation:none!important}
.person-card .person-placeholder{min-height:240px}
html .profile-dialog .profile-visual img{object-fit:contain;object-position:center;transform:none!important;scale:1!important}
.person-copy h3,.profile-story h2{overflow-wrap:anywhere}
@media(max-width:760px){.profile-dialog .profile-visual{min-height:280px;max-height:380px}.profile-dialog .profile-story h2{font-size:clamp(29px,7vw,42px)}}
/* 2.7: protect photographic subjects and align responsive card rows. */
.aof-hero.aof-photo-layout{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;
 gap:36px;min-height:0;height:auto;max-height:none;padding:54px max(32px,calc((100% - 1280px)/2)) 26px;
 background:radial-gradient(ellipse at 82% 18%,#7e986447,transparent 58%),linear-gradient(135deg,#08271f,#163c30);
}
.aof-photo-layout .hero-shade{display:none}
.aof-photo-layout .hero-orbit{opacity:.35;z-index:0}
.aof-hero.aof-photo-layout .hero-image{
 position:relative;inset:auto;grid-column:2;grid-row:1;z-index:1;min-width:0;width:100%;height:auto;
 padding:10px;border:1px solid #e6dab582;border-radius:26px;overflow:hidden;
 background:#294e3c;box-shadow:inset 0 1px #fff6,0 8px 0 -2px #021b15b3,0 28px 50px #00150b55;
 transform:none!important;will-change:auto;mask-image:none;opacity:1;
}
html .aof-hero.aof-photo-layout .hero-image img{
 display:block;width:100%!important;height:auto!important;max-height:620px;aspect-ratio:auto!important;
 object-fit:contain!important;object-position:center;border-radius:17px;
 transform:none!important;scale:1!important;animation:none!important;
}
.aof-hero.aof-photo-layout .hero-content{grid-column:1;grid-row:1;position:relative;z-index:1;width:100%;max-width:none;margin:0;padding:0;min-width:0}
.aof-photo-layout .hero-glass{width:100%;max-width:none}
.aof-photo-layout .hero-glass h1{font-size:calc(clamp(36px,4.1vw,60px)*var(--heading-scale,1));line-height:1.1}
.aof-photo-layout .hero-glass .hero-copy{font-size:15px;line-height:1.8}
.aof-photo-layout .hero-bottom{position:relative;grid-column:1/-1;grid-row:2;inset:auto;width:100%;margin:4px 0 0;padding:20px 0 0;z-index:1;align-items:center}
.aof-photo-layout .hero-bottom>span{max-width:65%}
.aof-photo-layout .hero-bottom>a{flex-shrink:0}
.cause-grid,.step-grid{align-items:stretch}
.cause-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.cause-grid>.cause-card{display:flex;flex-direction:column;align-self:stretch;min-width:0;height:auto}
.cause-card .cause-body{flex:1 0 auto;min-width:0}
.cause-card .cause-body h3{min-height:0;overflow-wrap:normal;font-size:clamp(27px,2.3vw,34px)}
.cause-card .cause-image{flex:none;aspect-ratio:4/3}
.cause-card .cause-image img{height:100%;width:100%;object-fit:cover}
.cause-card>.mission-services{flex:none}
.cause-card>.card-link{flex:none}
.step-grid>.step-card{display:flex;flex-direction:column;min-width:0}
.step-card>.step-icon{align-self:flex-start}
.step-card>.mission-services{flex:none;margin-top:auto}
.step-card>p:not(.eyebrow){margin-bottom:24px}
.step-card>.card-link{margin-top:auto}
.step-card>.mission-services+.card-link{margin-top:0}
.step-card h3,.person-copy h3{overflow-wrap:normal}
@media(min-width:1440px){.cause-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.cause-card .cause-body h3{font-size:29px}}
@media(max-width:1199px){
 .cause-card,.step-card{rotate:none!important;translate:none!important}
 .menu-toggle{display:block}
 #aof-navigation{display:none;position:absolute;inset:100% 0 auto;background:linear-gradient(145deg,#173f33fa,#061e18fa);color:#fff1d3;border-bottom:1px solid #cfac6480;padding:24px 32px;max-height:calc(100svh - 140px);overflow:auto;box-shadow:0 24px 45px #001b1659}
 #aof-navigation.is-open{display:block}
 #aof-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;background:none;border:0;box-shadow:none;padding:0}
 #aof-navigation li a{font-family:var(--serif);font-size:23px;padding:9px 12px;white-space:normal}
 #aof-navigation .sub-menu{position:static;display:block;margin-left:15px}
 .header-actions{margin-top:20px;max-width:360px;min-width:0}
 .header-actions .button{width:100%}
}
@media(min-width:1200px){#aof-navigation li a{white-space:nowrap;padding-inline:10px}#aof-navigation ul{gap:6px}#aof-navigation{gap:18px}}
@media(max-width:1099px){.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .volunteer-layout,.contact-grid{grid-template-columns:minmax(0,1fr)}
 .volunteer-note{position:static;padding:0}
 .aof-hero.aof-photo-layout{display:grid;grid-template-columns:minmax(0,1fr);padding:32px 24px 24px;gap:28px}
 .aof-hero.aof-photo-layout .hero-image{grid-column:1;grid-row:1;width:100%}
 .aof-hero.aof-photo-layout .hero-content{grid-column:1;grid-row:2;padding:0;margin:0}
 .aof-photo-layout .hero-bottom{grid-row:3;gap:18px;align-items:flex-start}
 .aof-photo-layout .hero-bottom>span{max-width:60%}
 .aof-photo-layout .hero-bottom>a{gap:12px;flex-shrink:1}
 .aof-photo-layout .hero-glass h1{font-size:calc(clamp(34px,6.8vw,52px)*var(--heading-scale,1))}
}
@media(max-width:639px){
 .cause-grid,.step-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .cause-card .cause-body{flex:initial}.cause-card .cause-body h3{font-size:30px}
 .aof-hero.aof-photo-layout{padding-inline:18px}.aof-photo-layout .hero-glass{padding:28px 22px}
 .aof-photo-layout .hero-bottom{flex-direction:column;gap:15px}.aof-photo-layout .hero-bottom>span{max-width:100%}
 #aof-navigation ul{grid-template-columns:1fr}
}
