/* Public-only design system. Admin retains the original base stylesheet. */
.public-site{--radius:14px;font-size:16px;line-height:1.65;color:var(--ink)}
.public-site .container{max-width:1200px;padding-inline:32px}
.public-site .section{padding-block:72px}
.public-site h1{font-size:clamp(40px,4.5vw,60px);letter-spacing:-1.8px;text-wrap:balance;overflow-wrap:anywhere}
.public-site h2{font-size:clamp(32px,3.2vw,42px);letter-spacing:-1.2px;text-wrap:balance}
.public-site h3{font-size:24px;line-height:1.25}
.public-site p{font-size:16px;line-height:1.65;text-wrap:pretty}
.public-site .eyebrow{font-size:12px;letter-spacing:1.6px}
.public-site .button{min-height:48px;border-radius:8px;font-size:14px;padding:12px 20px;transition:background .2s,box-shadow .2s}
.public-site .button:hover{box-shadow:0 4px 14px #102d4e18}
.public-site .text-link{font-size:14px;min-height:44px}
.public-site a:hover{text-underline-offset:5px}
.public-site :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #2381bd;outline-offset:4px}
.public-site .topbar{font-size:12px;color:#e2edf5}
.public-site .header-inner{min-height:92px;gap:18px}
.public-site .header nav{gap:20px}
.public-site .header nav>a:not(.button),.public-site .nav-more summary{font-size:14px}
.public-site .header nav>a[aria-current=page]:not(.button):after{width:100%;bottom:-10px}
.public-site .mobile-donate,.public-site .menu-close{display:none}
.public-site .page-hero{padding:28px 0 40px;background:var(--pale)}
.public-site .page-hero:before,.public-site .page-hero:after{display:none}
.public-site .page-hero h1{max-width:850px;margin-bottom:18px}
.public-site .page-hero p{max-width:680px;margin-bottom:0;color:var(--muted)}
.public-site .breadcrumb{font-size:13px;margin-bottom:26px;overflow-wrap:anywhere}
.public-site .section-intro{font-size:16px;max-width:760px;margin-bottom:32px}
.public-site .two-col{gap:56px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.public-site .prose{max-width:70ch;overflow-wrap:anywhere}
.public-site .photo-frame>img{width:100%;height:380px;object-fit:cover;border-radius:14px}
.public-site :is(.program-card,.news-card,.leader-card,.form-card,.detail-card,.values-grid article){border-radius:14px;box-shadow:0 4px 20px #102d4e06}
.public-site :is(.program-card,.news-card,.detail-card) p{font-size:16px}
.public-site :is(.program-card,.news-card) h2{font-size:24px}
.public-site .cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.public-site .cause-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white;box-shadow:0 4px 20px #102d4e06;transition:box-shadow .2s,transform .2s}
.public-site .cause-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #102d4e12}
.public-site .cause-visual{position:relative;aspect-ratio:1.55;background:var(--pale);overflow:hidden}
.public-site .cause-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.public-site .cause-art{height:100%;display:grid;place-items:center;color:var(--blue);background:#e3eff6}
.public-site .cause-art svg{width:76px;height:76px;stroke-width:1.25}
.public-site .cause-category{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);background:white;padding:6px 10px;border-radius:6px;font-size:12px;letter-spacing:.7px;font-weight:700}
.public-site .cause-body{display:flex;flex-direction:column;flex:1;padding:26px}
.public-site .cause-body :is(h2,h3){font-size:24px;line-height:1.25;margin-bottom:14px}
.public-site .cause-body p{color:var(--muted);margin-bottom:24px}
.public-site .cause-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);margin-top:auto}
.public-site .cause-actions .button{padding-inline:16px}
.public-site .cause-actions .text-link{font-size:14px;gap:6px}
.public-site .registration-panel{border-radius:14px;gap:24px}
.public-site .registration-panel :is(p,dt,dd){font-size:14px;overflow-wrap:anywhere}
.public-site .leadership-grid{align-items:start;grid-template-columns:repeat(3,minmax(0,1fr))}
.public-site .leader-card{padding:28px;min-width:0}
.public-site .leader-card>img,.public-site .leader-avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;margin:0 auto 22px}
.public-site .leader-card h2{font-size:24px;margin-bottom:10px}
.public-site .leader-card>span{font-size:14px;color:var(--muted)}
.public-site .leader-biography{margin-top:22px;border-top:1px solid var(--line);text-align:left}
.public-site .leader-biography summary{cursor:pointer;padding:16px 0;font-size:14px;font-weight:700;color:var(--blue)}
.public-site .leader-biography p{font-size:15px;overflow-wrap:anywhere}
.public-site .home-gallery{gap:24px}
.public-site .gallery-card{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}
.public-site .gallery-card button{width:100%;display:block}
.public-site .gallery-card img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}
.public-site .gallery-card figcaption{padding:20px}
.public-site .gallery-card figcaption strong{font-size:17px}
.public-site .gallery-card figcaption p{font-size:14px;margin:8px 0 0}
.public-site #lightbox{border:0;border-radius:14px;max-width:min(1000px,94vw);padding:20px;background:white}
.public-site #lightbox img{max-height:75vh;width:auto;height:auto;object-fit:contain;margin:auto}
.public-site .lightbox-close{min-width:44px;min-height:44px}
.public-site .filters{gap:16px;align-items:end;flex-wrap:wrap}
.public-site .empty-state{padding:40px 24px;border-radius:14px;background:var(--paper)}
.public-site .empty-state p{max-width:650px;margin-inline:auto}
.public-site .form-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.public-site .form-card{padding:32px}
.public-site .form-card h2,.public-site .bank-card h2,.public-site .contact-card h2{font-size:32px}
.public-site label{font-size:14px}
.public-site :is(input,select,textarea){font-size:16px;border-radius:8px;max-width:100%;min-height:48px;background:white}
.public-site :is(input,select,textarea):focus{border-color:var(--blue)}
.public-site input[type=checkbox]{min-height:0;flex-shrink:0}
.public-site .checkbox{font-size:14px;align-items:start}
.public-site :is(.field-help,.help-note p,.registration,.contact-item p){font-size:14px}
.public-site .bank-card{border-radius:14px;padding:30px}
.public-site .bank-card dt{font-size:13px;color:#c4d9e9}
.public-site .bank-card dd{font-size:16px;overflow-wrap:anywhere}
.public-site .bank-card .iban{font-family:ui-monospace,monospace;letter-spacing:.4px;font-size:18px;word-break:break-all}
.public-site .copy-button{min-height:48px;font-size:14px}
.public-site .copy-status{display:block;font-size:14px;margin-top:12px;color:#e2edf5}
.public-site .upload-field{border:2px dashed #b3cbdc;border-radius:12px;padding:20px;background:var(--paper)}
.public-site .upload-field>span{font-size:14px}
.public-site .upload-field input{width:100%;margin-top:16px;min-height:44px;font-size:14px}
.public-site .upload-filename{font-size:14px;color:var(--blue);overflow-wrap:anywhere;margin:8px 0}
.public-site .upload-filename:empty{display:none}
.public-site .donation-stages{display:grid;grid-template-columns:1fr 1fr;gap:24px;list-style:none;padding:0;margin:0 0 36px}
.public-site .donation-stages li{display:flex;gap:16px;padding:22px;background:var(--pale);border:1px solid var(--line);border-radius:14px}
.public-site .donation-stages li>span{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--navy);color:white;font-weight:700}
.public-site .donation-stages p{font-size:14px;margin:4px 0 0;color:var(--muted)}
.public-site .volunteer-roles{max-width:850px;margin-bottom:36px}
.public-site .detail-card h3{font-size:24px}
.public-site .detail-card p{font-size:16px}
.public-site .content-details{padding-block:56px;margin-bottom:0}
.public-site .content-faq{padding-block:56px}
.public-site .faq-list summary{font-size:16px;min-height:48px}
.public-site .involvement{border-radius:14px;margin-block:48px;padding:36px}
.public-site .involvement h2{font-size:32px}
.public-site .footer{margin-top:0;padding-top:56px}
.public-site .footer-grid{gap:32px}
.public-site .footer :is(p,a,.registration){font-size:14px}
.public-site .footer h2{font-size:16px;letter-spacing:0}
.public-site .footer .brand>span{font-size:13px}
.public-site .footer .brand>span>span{font-size:10px}
.public-site .footer-bottom{font-size:12px;padding-block:24px;margin-top:32px;gap:16px}
.public-site .reference{overflow-wrap:anywhere}
.public-site .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.public-site .header nav{gap:13px}.public-site .header nav>a:not(.button){font-size:13px}.public-site .brand>span{font-size:12px}.public-site .brand>span>span{font-size:10px}.public-site .cause-body{padding:22px}.public-site .two-col{gap:32px}}
@media(max-width:900px){
.public-site .header-inner{min-height:80px;gap:12px}.public-site .brand{margin-right:auto;gap:9px}.public-site .brand img{width:46px;height:46px}
.public-site .mobile-donate{display:inline-flex;min-height:44px;padding:9px 13px}
.public-site .menu-button{display:block;padding:8px;min-width:44px;min-height:44px}
.public-site .menu-button[aria-expanded=true]>svg{display:none}.public-site .menu-button[aria-expanded=true] .menu-close{display:block;font-size:30px;line-height:1}
.public-site .header nav{gap:0;padding:16px 24px;z-index:20;max-height:calc(100dvh - 116px);overflow-y:auto;box-shadow:0 12px 24px #102d4e12}
.public-site .header nav>a:not(.button){font-size:16px;padding:14px 0}.public-site .header nav>a[aria-current=page]:not(.button):after{display:none}
.public-site .header nav>.button{margin-top:12px}.public-site .nav-more summary{font-size:16px;min-height:48px}
.public-site .two-col{grid-template-columns:1fr}.public-site .form-layout{gap:28px;grid-template-columns:1fr}.public-site .form-layout aside{max-width:100%}
.public-site .cause-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-site .detail-grid{grid-template-columns:1fr}.public-site .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
.public-site .container{padding-inline:20px}.public-site .section{padding-block:48px}.public-site h1{font-size:38px;letter-spacing:-1.1px}.public-site h2{font-size:34px;letter-spacing:-.8px}
.public-site .topbar-inner{min-height:32px}.public-site .topbar-inner>span{display:none}.public-site .topbar-inner{justify-content:flex-end}.public-site .topbar{font-size:12px}
.public-site .brand>span{font-size:11px;letter-spacing:.2px}.public-site .brand>span>span{font-size:9px;letter-spacing:.5px}.public-site .header-inner{gap:6px}
.public-site .page-hero{padding-block:22px 30px}.public-site .breadcrumb{margin-bottom:20px}.public-site .section-heading{display:block}.public-site .section-heading>div+div{margin-top:22px}
.public-site .cause-grid,.public-site .leadership-grid,.public-site .home-gallery,.public-site .donation-stages,.public-site .values-grid{grid-template-columns:1fr}
.public-site .cause-body{padding:24px}.public-site .photo-frame>img{height:300px}.public-site .form-card{padding:24px 20px}.public-site .field-grid{grid-template-columns:1fr}
.public-site .form-card h2,.public-site .bank-card h2,.public-site .contact-card h2{font-size:30px}.public-site .registration-panel{padding:24px;display:block}.public-site .registration-panel dl{margin-block:24px}
.public-site .footer-grid{gap:28px 20px}.public-site .footer-brand{grid-column:1/-1}.public-site .footer-grid>div:last-child{grid-column:1/-1}.public-site .footer-bottom{align-items:flex-start;flex-direction:column}
.public-site .involvement{margin:32px 20px;padding:28px 24px;display:block}.public-site .involvement .button{margin-top:16px}.public-site .involvement h2{font-size:30px}
.public-site .content-details,.public-site .content-faq{padding-block:40px}.public-site .donation-stages{gap:12px}.public-site .donation-stages li{padding:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.public-site *, .public-site *:before,.public-site *:after{animation:none!important;transition:none!important}.public-site .cause-card:hover{transform:none}}
/* Program banners and the foundation's people/story. */
.public-site .program-hero{position:relative;isolation:isolate;min-height:440px;background:#0c2743;color:white;overflow:hidden}
.public-site .program-hero-media,.public-site .program-hero-shade{position:absolute;inset:0;z-index:-2}
.public-site .program-hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.public-site .program-hero-shade{z-index:-1;background:linear-gradient(90deg,#091f36e8 0%,#091f36bb 32%,#091f3620 65%,transparent 100%)}
.public-site .program-hero-content{padding-top:28px;padding-bottom:72px}
.public-site .program-hero .breadcrumb{color:#dfebf5;font-size:14px;margin-bottom:54px}.public-site .program-hero .breadcrumb a{color:#d3edff}
.public-site .program-hero-copy{max-width:540px}.public-site .program-hero-copy .eyebrow{color:#b9e3ff}
.public-site .program-hero h1{font-size:clamp(38px,4.3vw,60px);line-height:1.1;letter-spacing:-1.2px;color:white;margin:18px 0 20px}
.public-site .program-hero-copy>p{font-size:19px;color:#e8f2f9;margin:0;max-width:470px}
.public-site .program-image-caption{position:absolute;right:24px;bottom:16px;font-size:12px;color:white;background:#071c33b8;border-radius:4px;padding:4px 8px}
.public-site .program-hero-fallback{height:100%;display:grid;place-items:center;background:#163d5c}.public-site .program-hero-fallback svg{width:100px;height:100px;color:#9ccef0;margin-left:40%}
@media(max-width:900px){.public-site .program-hero{min-height:0;display:flex;flex-direction:column}.public-site .program-hero-media{position:relative;inset:auto;height:260px;z-index:0;flex-shrink:0}.public-site .program-hero-photo{object-position:78% center}.public-site .program-hero-shade{display:none}.public-site .program-hero-content{padding-top:24px;padding-bottom:56px}.public-site .program-hero .breadcrumb{margin-bottom:28px;font-size:12px;flex-wrap:wrap}.public-site .program-hero-copy{max-width:620px}.public-site .program-hero h1{font-size:38px}.public-site .program-hero-copy>p{font-size:17px}.public-site .program-image-caption{top:226px;bottom:auto;right:12px}.public-site .program-hero-fallback svg{margin:0}}
.public-site .foundation-person{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:56px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:36px;background:#f3f8fc;margin-block:56px 0}
.public-site .home-person-intro{padding-top:0}.public-site .home-person-intro .foundation-person{margin-top:0}
.public-site .person-portrait{aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:#dceaf5;display:grid;place-items:center}
.public-site .person-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.public-site .person-portrait>span{font-size:64px;color:#244f71;font-weight:700}
.public-site .person-introduction h2{margin:14px 0 8px}.public-site .person-role{font-size:14px;color:var(--muted);margin:0 0 20px}
.public-site .person-introduction blockquote{margin:0 0 24px;padding:0;font-size:18px;line-height:1.75;color:#243e54;border:0;max-width:680px}
.public-site .foundation-journey{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;margin-top:72px;padding-block:56px;border-top:1px solid var(--line)}
.public-site .journey-introduction p{max-width:350px;color:var(--muted)}
.public-site .story-timeline{list-style:none;margin:0;padding:0}
.public-site .story-timeline li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:24px;padding-bottom:36px}
.public-site .story-timeline li:not(:last-child):before{content:'';position:absolute;top:44px;bottom:0;left:21px;width:2px;background:#d3e3ee}
.public-site .timeline-marker{display:grid;place-items:center;position:relative;width:44px;height:44px;border-radius:50%;background:#e6f1f9;color:#1c5a86;font-weight:700;font-size:14px}
.public-site .story-timeline h3{font-size:23px;margin:8px 0 12px}.public-site .story-timeline p{margin:0 0 12px;color:var(--muted)}
.public-site .story-timeline .timeline-registration{font-size:14px;color:#28465d}
.public-site .leader-card[id]{scroll-margin-top:24px}
@media(max-width:900px){.public-site .foundation-person{gap:28px;padding:28px}.public-site .foundation-journey{grid-template-columns:1fr;gap:32px}}
@media(max-width:640px){.public-site .foundation-person{grid-template-columns:1fr;padding:24px;gap:24px}.public-site .person-portrait{width:100%;max-width:260px;aspect-ratio:1}.public-site .person-introduction blockquote{font-size:16px}.public-site .foundation-journey{margin-top:48px;padding-block:32px}.public-site .story-timeline li{gap:16px}}
