/* Page-specific editorial layouts. No content or navigation changes. */
:root{--section-space:clamp(64px,7vw,108px)}
main .section{padding-block:var(--section-space)}main .section-topless{padding-top:0}.prose{max-width:680px}.prose p{line-height:1.85}.section-head h2{max-width:780px}.check-list li{padding-block:12px;border-bottom:1px solid var(--line)}
.closing-cta{border-radius:32px 8px 32px 8px;background:linear-gradient(120deg,#132c9d,#173bd7);border:1px solid #ffffff20;box-shadow:0 20px 50px #173bd715}.closing-cta h2{max-width:750px}.closing-cta .button{flex-shrink:0}.closing-cta:after{opacity:.25;pointer-events:none}
/* Home: longer visual pauses between the story, work and invitation. */
.hp-story{gap:clamp(40px,6vw,90px)}.hp-work-bottom{margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.hp-film-section{background:#eef1fb}.hp-film-poster{border:7px solid #fff;border-radius:28px 8px 28px 8px;box-shadow:0 20px 55px #111d3d16}.hp-film-poster:focus-visible{outline-offset:6px}.hp-poster-play{box-shadow:0 0 0 10px #ffffff24;transition:box-shadow .3s,background .3s!important}.hp-film-poster:hover .hp-poster-play{box-shadow:0 0 0 17px #ffffff18}.hp-invitation{background:linear-gradient(180deg,#fdfcfb,#f0f3fc)}.hp-giving-note{max-width:700px;margin-inline:auto!important;line-height:1.8}
/* About: a quiet editorial narrative, followed by a clear rhythm of daily life. */
body[data-page=about] .ab-intro-image{background:#edf1fc;border-radius:44px 8px 44px 8px;padding:20px;box-shadow:12px 12px 0 #e3e8f6}.ab-beginning{padding-top:var(--section-space)}.ab-year{border-left:4px solid var(--red)}.ab-purpose{position:relative;background:radial-gradient(ellipse at 100% 0%,#314e9466,transparent 60%),var(--navy);border-radius:36px 36px 0 0}.ab-purpose h2 em{color:#f49ca6!important}.ab-values article{background:#ffffff08;border-top:1px solid #ffffff30;transition:background .3s,border-color .3s}.ab-values article:hover{background:#ffffff10;border-color:#829bd6}.ab-values article>div>span{border-radius:50%;color:#fff;background:#ffffff12}.ab-rhythm{border-left:1px solid #cdd5eb;padding-left:24px}.ab-rhythm article{position:relative;border-top:0;border-bottom:1px solid var(--line)}.ab-rhythm article:before{content:"";position:absolute;left:-30px;top:28px;width:11px;height:11px;background:var(--blue);border:3px solid #fdfcfb;border-radius:50%}.ab-future{background:#fbf8f4}.ab-film-frame figcaption{background:#fff;padding:22px 26px}
/* Work: section labels and unoccluded, fully visible documentary photographs. */
body[data-page=programs] .page-intro{border-bottom:1px solid var(--line)}body[data-page=programs] .program-photo{background:white;padding:12px;border:1px solid var(--line);border-radius:28px 8px 28px 8px;box-shadow:0 18px 45px #1529570c}body[data-page=programs] .program-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:18px 4px 18px 4px}body[data-page=programs] .image-stamp{position:static!important;display:block;padding:17px 8px 5px;background:transparent;color:var(--blue);font-size:10px;letter-spacing:.15em}body[data-page=programs] .schedule-card{background:#fff;border:1px solid #d5deef;border-left:4px solid var(--red);border-radius:4px 20px 20px 4px;padding:26px;margin-block:28px}body[data-page=programs] .schedule-card strong{color:var(--blue)}body[data-page=programs] .image-card>div{border:0;padding:28px}.image-card{border:1px solid var(--line);box-shadow:0 12px 30px #15295709}
/* Team: uncluttered profiles, consistent portraits and role panels. */
body[data-page=team] .team-grid{gap:clamp(24px,4vw,52px)}body[data-page=team] .team-copy h2{font-size:clamp(26px,2.4vw,36px);line-height:1.2}body[data-page=team] .team-copy>p:not(.eyebrow){font-size:15px;line-height:1.85}.team-focus{background:#f3f5fb;border:0;border-radius:14px;padding:20px;margin-top:25px}.team-focus>span{font-size:10px;letter-spacing:.14em;font-weight:750}.team-focus p{font-size:13px;line-height:1.75;margin-bottom:0}.team-portrait>span{border-radius:50%;width:38px;height:38px;display:grid;place-items:center;padding:0!important;font-size:12px}
/* Giving: choice first, then practical context, never pressure. */
body[data-page=support] .page-intro{background:linear-gradient(120deg,#f0f3fd,#fff8f5);border:1px solid #e0e5f0;border-radius:28px;margin-top:28px;padding:clamp(28px,4vw,62px);width:calc(100% - 40px)}body[data-page=support] .gift-options{gap:12px;padding-block:12px}body[data-page=support] .gift-options .button{min-width:88px;min-height:58px;border-radius:14px!important;font-size:22px;font-weight:750}body[data-page=support] .gift-options .button[aria-pressed=true]{box-shadow:0 6px 0 #8a162728}body[data-page=support] .grid-3>.card{padding:clamp(24px,2.7vw,38px);border-top:4px solid var(--blue)}body[data-page=support] .grid-3>.card:nth-child(2){border-top-color:var(--red)}body[data-page=support] .card h2{font-size:28px}.vision-detail{border-left:3px solid var(--red);padding-left:24px}
body[data-page=support] .page-intro{margin-bottom:32px}
/* Contact: distinguish direct channels from the message form. */
body[data-page=contact] .contact-details .card{border-top:4px solid var(--blue)}body[data-page=contact] .contact-details .card:nth-child(2){border-top-color:var(--red)}body[data-page=contact] .contact-form{background:#f7f8fd;border:1px solid #dce2ef;border-radius:28px;padding:clamp(24px,3.5vw,44px)}body[data-page=contact] .contact-form .form-field{margin-bottom:23px}body[data-page=contact] .contact-form label{display:block;margin-bottom:9px;font-size:13px}body[data-page=contact] .contact-form input,body[data-page=contact] .contact-form select{min-height:48px}body[data-page=contact] .contact-form textarea{min-height:150px}.faq summary{line-height:1.55;min-height:60px}.faq details>p{line-height:1.8;padding-bottom:16px}
/* Gallery stays a compact library, with a more legible, tactile control strip. */
.media-tabs{display:inline-flex;background:#edf0f8;border:1px solid #dce2ef;border-radius:999px;padding:5px;gap:4px}.media-tabs button{background:transparent;border:0;min-height:44px;padding:10px 25px;font-size:14px;transition:background .25s,color .25s,box-shadow .25s}.media-tabs button[aria-pressed=true]{background:var(--navy);box-shadow:0 3px 8px #111d3d20}.library-controls{align-items:end;gap:20px;padding-block:10px 20px}.library-search input,.film-search{min-height:46px}.filter-tabs{gap:8px}.filter-tabs button{min-height:42px;padding:10px 17px;font-size:12px}.library-status{font-size:12px;color:var(--muted);padding-block:6px}.library-grid,#gallery-videos .film-library-grid{border-radius:16px;overflow:hidden;background:#e5e9f3}.library-thumbnail,.film-cover{position:relative;outline-offset:-4px!important}.library-thumbnail:after,.film-cover:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 #fff;transition:box-shadow .25s;pointer-events:none}.library-thumbnail:hover:after,.library-thumbnail:focus-visible:after,.film-cover:hover:after{box-shadow:inset 0 0 0 4px #fff}.library-thumbnail img,.film-cover img{transform:none!important}.library-viewer,.film-viewer{border-radius:22px;border:1px solid #ffffff30}.viewer-toolbar{gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.viewer-toolbar h2{font-size:16px}.viewer-back,.viewer-controls button{border:1px solid #d5deed;border-radius:999px;background:#f4f6fb;padding:11px 17px;font:600 13px inherit;min-height:44px}.viewer-controls{padding:16px 22px;gap:14px}.viewer-info{border-top:1px solid var(--line);padding-top:10px}.viewer-info summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.viewer-info summary:after{content:"+";margin-left:auto;font-size:24px;font-weight:400}.viewer-info[open] summary:after{content:"−"}.library-viewer[open],.film-viewer[open],.hp-story-dialog[open]{animation:viewer-arrive .32s var(--ease)}@keyframes viewer-arrive{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1001px){body[data-page=team] .team-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}body[data-page=team] .team-grid{grid-template-columns:1fr}body[data-page=team] .team-portrait{height:100%;background:#edf0f8}body[data-page=team] .team-portrait img{height:100%;max-height:450px;object-fit:contain;object-position:center}body[data-page=team] .team-copy{align-self:center;border-top:0;padding:36px 42px}body[data-page=team] .team-card:nth-child(even) .team-portrait{order:2}}
@media(max-width:760px){.closing-cta{padding:30px 24px}.ab-intro-image{box-shadow:6px 6px 0 #e3e8f6!important}.library-controls{align-items:stretch}.viewer-toolbar{flex-wrap:wrap;padding:14px}.viewer-controls{padding:14px}.viewer-toolbar h2{font-size:14px}.library-viewer,.film-viewer{border-radius:15px}.hp-film-poster{border-width:4px}.team-focus{padding:16px}.media-tabs button{padding-inline:22px}body[data-page=support] .page-intro{width:calc(100% - 32px);padding:28px 22px}.ab-purpose{border-radius:24px 24px 0 0}}
@media(prefers-reduced-motion:reduce){.library-viewer[open],.film-viewer[open],.hp-story-dialog[open]{animation:none}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Client feedback: one clear work link; an early signpost to existing GoFundMe routes. */
.giving-wayfinding{display:flex;align-items:center;justify-content:space-between;gap:22px;text-align:left;margin-top:28px;padding:20px 24px;border:1px solid #dce4f1;border-left:4px solid var(--blue);border-radius:16px;background:#f0f4ff;max-width:920px}.giving-wayfinding strong{display:block;font-size:16px;color:var(--navy,#102040)}.giving-wayfinding p{font-size:14px;line-height:1.65;margin:5px 0 0;color:#536079}.giving-wayfinding .text-link{flex-shrink:0;min-height:44px;align-items:center;font-size:14px}.giving-wayfinding a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}#gofundme-options{scroll-margin-top:125px}#gofundme-options:target{outline:3px solid var(--blue);outline-offset:5px}div.hp-work-image{cursor:default}div.hp-work-image:hover img{transform:none}.hp-work-card:not(:has(a)) .hp-work-copy p{margin-bottom:0}@media(max-width:640px){.giving-wayfinding{align-items:flex-start;flex-direction:column;gap:12px;padding:18px}.giving-wayfinding .text-link{white-space:normal}#gofundme-options{scroll-margin-top:100px}}
/* Public-site finishing pass, September 27. Preserve content and navigation. */
:root{--paper:#fcfbf8;--surface:#fff;--pale:#f0f3fb;--muted:#53617a;--line:#dce3ee;--section-space:clamp(60px,7.2vw,104px);--radius-editorial:24px;--shadow-editorial:0 16px 48px #172b4e0a}
body,body[data-page=index],body[data-page=about]{background:var(--paper);font-kerning:normal}
main{overflow-wrap:break-word}main :is(section,article,figure,div){min-width:0}
main p{line-height:1.8}main :is(h1,h2,h3){text-wrap:balance}main h3{line-height:1.25}
.container{max-width:1240px}.section-head{align-items:end;margin-bottom:clamp(28px,4vw,48px)}
.section-head>p,.section-head>div>p:not(.eyebrow){max-width:56ch}
.page-intro .lead{max-width:64ch}.page-intro .eyebrow,.section-head .eyebrow{margin-bottom:18px}
.page-location{padding-block:22px 0;opacity:1}.page-location nav{gap:12px;line-height:1.6}
.page-intro:after{width:80px;height:80px;top:30px;right:2%;opacity:.28;box-shadow:8px 6px 0 -1px var(--paper),8px 6px 0 0 #bf263b30}
.page-intro .display-title{font-size:clamp(40px,6vw,76px);line-height:1.09;letter-spacing:-.055em}
.site-header{background:#fcfbf8f5}.site-header.is-scrolled{box-shadow:0 5px 24px #172b4e08}
.primary-nav a{min-height:44px}.header-support{min-height:46px}.menu-toggle{min-height:44px}
.button{min-height:50px;padding:14px 24px;line-height:1.5}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:12px}
main :is(input,select,textarea){font-size:16px;max-width:100%}main :is(input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
main :is(.card,.social-card,.priority-panel,.co-trainer-card){border-radius:var(--radius-editorial);box-shadow:var(--shadow-editorial)}
main .card:not(:has(a,button,input,summary)):hover{border-color:var(--line);box-shadow:var(--shadow-editorial)}
main .eyebrow{line-height:1.6}.tag{line-height:1.5}.brand-tag{gap:9px}
.image-card,.program-photo,.ab-photo,.team-card{isolation:isolate}
img{color:var(--muted)}video{max-width:100%}
/* Home — confident opening, calm reading rhythm, one invitation per work section. */
body[data-page=index] .hp-calm{border-radius:28px;margin:18px auto 0;width:calc(100% - 36px);max-width:1480px;background:radial-gradient(ellipse at 100% 100%,#263c7955,transparent 65%),#111d3d}
.hp-calm:before{opacity:.35;width:48px}.hp-calm:after{height:56px;top:64px}
.hp-calm .hp-hero-copy>p:not(.eyebrow){max-width:44ch}.hp-calm .hp-hero-copy h1{max-width:12ch}
.hp-calm .hero-still{filter:none;border-radius:24px;object-fit:contain;background:transparent}
.hp-section{padding-block:var(--section-space)}.hp-section-heading{gap:clamp(24px,5vw,72px)}
.hp-section-heading>p{max-width:44ch}.hp-story-copy>p{max-width:64ch}
.hp-work-card{border-radius:24px!important;box-shadow:var(--shadow-editorial)}
.hp-work-icon{box-shadow:none!important;width:56px!important;height:56px!important;min-width:56px;font-size:26px!important}
.hp-work-card:hover .hp-work-icon{transform:none;border-radius:inherit}.hp-work-copy{padding:30px!important}
.hp-work-bottom{padding-top:22px;gap:24px}.hp-work-bottom .text-link{font-size:14px;font-weight:750;flex-shrink:0}
.hp-work-bottom p{font-size:13px;max-width:55ch}.hp-film-poster{border-radius:24px;border-width:5px}
.hp-film-section{color:#142448;background:#eef1fb}
body[data-page=index] .hp-film-copy>.eyebrow{color:#334a8a;font-size:12px;font-weight:800;letter-spacing:.12em}
body[data-page=index] .hp-film-copy h2{color:#11234d}
body[data-page=index] .hp-film-copy h2 em{color:#173bd7}
body[data-page=index] .hp-film-copy>p:not(.eyebrow){color:#3d4c68;font-size:16px;line-height:1.8;max-width:44ch}
body[data-page=index] .hp-film-library{color:#173ba8;font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#173ba866}
body[data-page=index] .hp-film-library:hover{color:#11296f;text-decoration-color:currentColor}
body[data-page=index] .hp-film-library:focus-visible{outline:2px solid #173bd7;outline-offset:5px;border-radius:3px}
.hp-invitation-heading{max-width:860px;margin-inline:auto}.hp-action{border-radius:24px!important;padding:32px}
.hp-map-link{box-shadow:none}.hp-giving-note{font-size:13px!important}
/* About — documentary images, a legible timeline and generous but measured gutters. */
.ab-intro{gap:clamp(30px,5.5vw,76px)}body[data-page=about] .ab-intro-image{border-radius:24px;padding:18px;box-shadow:var(--shadow-editorial);background:#f1f4fa}
.ab-photo img{border-radius:16px}.ab-photo figcaption{font-size:12px;line-height:1.7;padding-top:14px}
.ab-section{padding-block:var(--section-space)}.ab-prose{max-width:66ch}.ab-prose p,.ab-section p{line-height:1.85}
.ab-purpose{border-radius:0;background:linear-gradient(130deg,#142247,#111d3d)}.ab-values{gap:22px}
.ab-values article{border-radius:20px;padding:30px;background:#ffffff05}.ab-values p{font-size:15px}
.ab-year{border-radius:16px;background:#f5e7dc!important}.ab-film-frame{border-radius:24px;box-shadow:var(--shadow-editorial)}
.ab-film-frame figcaption{font-size:12px;line-height:1.7}.ab-rhythm article{padding-block:24px}
.ab-rhythm p{font-size:14px}.ab-next-links>a{border-radius:18px;min-height:100px}
/* Work — distinct chapters without adding jumps or nested navigation. */
body[data-page=programs] .split{gap:clamp(30px,5.5vw,76px);align-items:center}
body[data-page=programs] .section-pale{background:#f0f3fa}
body[data-page=programs] .program-photo{border-radius:24px;padding:10px;box-shadow:var(--shadow-editorial)}
body[data-page=programs] .program-photo img{border-radius:16px}
body[data-page=programs] .prose>p{max-width:62ch}
.craft-detail{border-radius:20px;overflow:hidden}.craft-detail p{line-height:1.8}
.schedule-card{line-height:1.8}.check-list li{line-height:1.7}
/* Gallery — imagery first; captions still live inside About the photo. */
.photo-library{padding-bottom:var(--section-space)}.library-heading{gap:24px;align-items:end}
.library-heading>div{max-width:700px}.library-controls{margin-top:24px;gap:20px}
.filter-tabs{flex-wrap:wrap}.media-tabs{flex-shrink:0}.library-search{min-width:210px;flex:1;max-width:390px}
.library-search input{width:100%;background:#fff}.library-status{line-height:1.6}
.library-grid,#gallery-videos .film-library-grid{gap:5px;border-radius:20px;background:var(--paper)}
.library-thumbnail:after,.film-cover:after{border-radius:inherit}.viewer-toolbar h2{line-height:1.5}
.viewer-controls button{min-width:44px;min-height:44px}.viewer-info p{font-size:14px;line-height:1.8}
.library-viewer::backdrop,.film-viewer::backdrop{background:#0c173bd9;backdrop-filter:blur(5px)}
/* Team — portraits remain unobscured; biography and role form one tidy panel. */
body[data-page=team] .team-card{border-radius:24px;box-shadow:var(--shadow-editorial)}
body[data-page=team] .team-portrait{background:#eef1f7}
body[data-page=team] .team-portrait img{object-fit:contain;object-position:center;height:100%;max-height:480px}
body[data-page=team] .team-copy{padding:clamp(26px,3.4vw,46px)}
body[data-page=team] .team-copy>p:not(.eyebrow){max-width:64ch;font-size:16px;line-height:1.8}
.team-focus{padding:20px 22px;border-left:3px solid #bf263b;border-radius:0 14px 14px 0;background:#f4f6fb}
.team-focus p{font-size:14px}.team-portrait>span{box-shadow:0 4px 12px #111d3d15}
/* Donate — original sections and payment choices intentionally unchanged. */
body[data-page=support] .page-intro{background:linear-gradient(110deg,#f0f3fb,#fcf8f4);box-shadow:none}
body[data-page=support] .giving-wayfinding{background:#ffffffbd;border-color:#d9e1f0;border-left-color:var(--blue);border-radius:14px}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding{margin:28px 0 0;max-width:none;width:100%;padding:20px;background:linear-gradient(135deg,#f1f8f3,#f0f4ff);border-color:#d2e3dc;border-left-color:#08784e;box-shadow:none;flex-direction:column;align-items:stretch;gap:16px}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding strong{color:#11234d;font-size:16px;line-height:1.5;letter-spacing:-.02em}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding p{color:#3d4c68;font-size:14px;line-height:1.7;margin-top:7px}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding .text-link{display:flex;justify-content:space-between;width:100%;min-height:48px;padding:12px 15px;color:#173ba8;background:#fff;border:1px solid #ccd9e8;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding .text-link>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:#e7f3ec;color:#086348;border-radius:50%;font-size:18px;line-height:1}
body[data-page=support] [aria-labelledby=giving-title] .giving-wayfinding .text-link:hover{color:#11296f;background:#f9fcff;border-color:#173bd7;box-shadow:0 4px 12px #173bd70d}
body[data-page=support] [aria-labelledby=giving-title]>.split{gap:clamp(26px,4.5vw,64px);align-items:center}
body[data-page=support] [aria-labelledby=giving-title] .image-card img{height:auto;object-fit:contain}
body[data-page=support] [aria-labelledby=giving-title] .card{padding:clamp(24px,3.2vw,42px)}
body[data-page=support] .gift-options{display:flex;flex-wrap:wrap;gap:10px}
body[data-page=support] .gift-options .button{min-width:68px;flex:1;padding:12px;box-shadow:none!important}
body[data-page=support] .note{font-size:13px;line-height:1.8}
body[data-page=support] .grid-3{gap:22px}body[data-page=support] .grid-3>.card{border-top-width:3px}
body[data-page=support] .grid-3>.card p{font-size:15px}
/* Contact — clearer controls, consistent channel cards and less visual noise. */
body[data-page=contact] .contact-form{background:#fff;box-shadow:var(--shadow-editorial);border-radius:24px}
body[data-page=contact] .contact-form label{font-size:14px;color:var(--navy)}
body[data-page=contact] .contact-form :is(input,textarea,select){background:#f8faff;border-radius:10px;line-height:1.6}
body[data-page=contact] .contact-form .note{font-size:13px;line-height:1.75}
body[data-page=contact] .contact-details{gap:22px}.contact-details dd{overflow-wrap:anywhere}
.social-card .brand-tag{box-shadow:none;border:0;padding:0;background:transparent}.social-card:after{opacity:.5}
.faq{max-width:960px}.faq details{box-shadow:none;border-radius:14px;margin-block:12px}
.faq summary{font-size:17px;font-weight:650;line-height:1.5;padding-block:22px}
.faq details[open]{background:#f5f7fc}.faq details .prose{padding-bottom:18px}.faq details .prose p:last-child{margin-bottom:0}
/* A quiet ending; one consistent treatment for social icons and footer links. */
.balance-signature{padding-block:28px 40px;gap:10px;opacity:.75;transform:scale(.8);transform-origin:center}
.site-footer{border-radius:28px 28px 0 0;padding-top:clamp(48px,6vw,80px)}
.footer-main{gap:clamp(24px,4vw,60px)}.footer-about>p{max-width:36ch;line-height:1.8}
.site-footer .footer-main h2{line-height:1.65;letter-spacing:.09em}
.site-footer .footer-main>div:not(.footer-about)>a{min-height:36px;line-height:1.7;padding-block:4px}
.footer-bottom p{line-height:1.7}.site-footer .footer-socials{gap:12px}
/* Finite transitions only. Never slide an interactive target beneath the pointer. */
@media(prefers-reduced-motion:no-preference){
  .text-link{transition:color .2s,border-color .2s}.button:active{filter:brightness(.94)}
  .faq summary .mi{transition:transform .25s}.faq details[open] summary .mi{transform:rotate(180deg)}
  ::view-transition-old(root){animation:editorial-fade-out .14s ease both}
  ::view-transition-new(root){animation:editorial-fade-in .28s ease both}
  @keyframes editorial-fade-out{to{opacity:0}}@keyframes editorial-fade-in{from{opacity:0}to{opacity:1}}
}
@media(min-width:1001px){.hp-work-grid{align-items:stretch}.hp-work-card:nth-child(2),.hp-work-card:nth-child(3){margin-top:0}.hp-work-copy h3{min-height:2.5em}}
@media(max-width:1000px){.giving-wayfinding{flex-wrap:wrap}.ab-values article{padding:24px}.library-controls{flex-wrap:wrap}.header-inner{gap:14px}}
@media(max-width:760px){
  :root{--section-space:60px}.container{width:calc(100% - 36px)}
  .page-intro:after{display:none}.page-intro .lead{font-size:17px;line-height:1.75}
  .page-intro,.ab-intro{padding-top:36px;padding-bottom:40px}
  main :is(.split,.ab-day,.ab-connection-inner){gap:32px}
  body[data-page=index] .hp-calm{width:calc(100% - 24px);margin-top:12px;border-radius:22px}
  .hp-calm .hp-hero-copy h1{font-size:clamp(40px,10.3vw,65px);max-width:13ch}
  .hp-calm .hero-still{border-radius:16px}.hp-work-copy{padding:26px!important}
  .hp-work-bottom{gap:12px}.hp-work-bottom .text-link{font-size:14px}.hp-action{padding:28px}
  .ab-values{gap:16px}.ab-film-frame figcaption{padding:18px;flex-wrap:wrap;gap:8px}
  .ab-intro-image{box-shadow:none!important}.ab-photo figcaption{font-size:12px}
  body[data-page=team] .team-portrait img{height:auto;max-height:440px;aspect-ratio:auto}
  body[data-page=team] .team-copy{padding:26px}.team-focus{padding:18px}
  .library-heading{align-items:flex-start;flex-wrap:wrap}.library-search{max-width:none;width:100%}
  .library-grid,#gallery-videos .film-library-grid{gap:3px;border-radius:12px}
  .media-tabs button{min-width:100px;padding-inline:20px}.filter-tabs button{min-height:44px}
  .viewer-toolbar{gap:10px}.viewer-controls{flex-wrap:wrap}
  body[data-page=support] .page-intro{width:calc(100% - 36px);margin-top:18px}
  .giving-wayfinding{padding:18px}.giving-wayfinding .text-link{font-size:14px}
  body[data-page=support] .gift-options .button{font-size:20px}
  .faq summary{font-size:16px}.footer-main{row-gap:28px}.footer-bottom{padding-top:24px}
}
@media(max-width:380px){.container{width:calc(100% - 28px)}.site-footer .footer-socials{gap:8px}.header-inner{gap:8px}.hp-work-copy{padding:22px!important}.giving-wayfinding{padding:16px}.gift-options .button{min-width:56px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* GoFundMe: a clear campaign choice, with the people kept fully in view. */
.gfm-feature{--gfm-line:#d9e1f1;margin:0 0 24px;padding:clamp(24px,4vw,48px);background:#eef2fb;border:1px solid var(--gfm-line);border-radius:28px;position:relative;isolation:isolate;overflow:hidden;box-shadow:0 18px 55px #172b4e08}
.gfm-feature:before{content:"";position:absolute;width:360px;height:360px;right:-160px;top:-230px;border:54px solid #173bd709;border-radius:50%;z-index:-1;pointer-events:none}
.gfm-header{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.7fr);gap:clamp(24px,4vw,60px);align-items:end;margin-bottom:32px}
.gfm-brand{display:inline-flex;align-items:center;gap:10px;color:#08784e;background:#fff;border:1px solid #d5e4dd;border-radius:999px;padding:10px 17px;font-size:14px;font-weight:800;letter-spacing:-.02em;margin-bottom:22px}
.gfm-brand .brand-icon{width:25px;height:25px;color:inherit!important}
.gfm-intro h3{font-size:clamp(30px,3.3vw,44px);max-width:18ch;line-height:1.13;margin-bottom:18px;color:var(--navy)}
.gfm-intro>p{font-size:15px;max-width:58ch;line-height:1.8;margin-bottom:0}
.gfm-provider{border-left:1px solid #d1dced;padding-left:28px;padding-bottom:3px}
.gfm-provider-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e1d0cb;background:#f7e9e3;color:#9a2435;border-radius:50%;margin-bottom:14px}
.gfm-provider-mark svg{width:22px;height:22px}.gfm-provider strong{font-size:17px;line-height:1.5;display:block;margin-bottom:10px;letter-spacing:-.02em}
.gfm-provider p{font-size:13px;line-height:1.7;max-width:32ch;margin:0}
.gfm-campaigns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.gfm-campaign{display:flex;flex-direction:column;border:1px solid #dae2ee;background:white;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px #172b4e05}
.gfm-campaign-photo{margin:0;padding:12px;background:#fff;border-bottom:1px solid #e8ecf3}
.gfm-campaign-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f6f7fa;border-radius:12px}
.gfm-campaign-copy{padding:clamp(22px,2.8vw,32px);display:flex;flex-direction:column;flex:1}
.gfm-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:20px;line-height:1.6}
.gfm-kicker>span{display:grid;place-items:center;border:1px solid #dae2f3;border-radius:50%;background:#edf1ff;letter-spacing:0;width:30px;height:30px;flex-shrink:0}
.gfm-campaign:nth-child(2) .gfm-kicker{color:#a22338}.gfm-campaign:nth-child(2) .gfm-kicker>span{background:#fff0ef;border-color:#f1d7da}
.gfm-campaign-copy h4{font-size:clamp(25px,2.5vw,31px);line-height:1.2;letter-spacing:-.035em;color:var(--navy);margin-bottom:16px}
.gfm-description{font-size:15px;line-height:1.8;max-width:46ch;margin-bottom:26px}
.gfm-donate{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:54px;padding:15px 20px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:750;margin-top:auto}
.gfm-donate svg{width:20px;height:20px;flex-shrink:0}.gfm-campaign:nth-child(2) .gfm-donate{background:var(--red)}
.gfm-donate:focus-visible{outline:3px solid #416ef0;outline-offset:5px}.gfm-donate:hover{filter:brightness(.94)}
.gfm-footnote{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #d6dfed;margin-top:28px;padding-top:21px;color:#52627d}
.gfm-footnote svg{width:19px;height:19px;flex-shrink:0;margin-top:3px}.gfm-footnote p{font-size:12px;line-height:1.75;margin:0}
body[data-page=support] [aria-labelledby=ways-title]>.giving-alternatives{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.giving-alternatives .contact-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;margin-bottom:22px}.giving-alternatives .contact-details dt{margin:0}.giving-alternatives .contact-details dd{margin:0}
@media(prefers-reduced-motion:no-preference){.gfm-donate{transition:filter .2s,box-shadow .2s}.gfm-donate svg{transition:transform .2s}.gfm-donate:hover svg{transform:translate(2px,-2px)}.gfm-campaign{transition:border-color .25s,box-shadow .25s}.gfm-campaign:focus-within{border-color:#8ca2de;box-shadow:0 10px 30px #172b4e0c}}
@media(max-width:900px){.gfm-header{grid-template-columns:1fr}.gfm-provider{border-left:0;border-top:1px solid #d1dced;padding:20px 0 0;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;align-items:start}.gfm-provider-mark{grid-row:1/3;margin:0}.gfm-provider strong br{display:none}.gfm-provider p{max-width:none}.gfm-header{gap:24px}.gfm-campaign-copy{padding:24px}}
@media(max-width:640px){.gfm-feature{border-radius:22px;padding:22px}.gfm-header{margin-bottom:24px}.gfm-brand{margin-bottom:20px;padding:9px 14px}.gfm-campaigns{grid-template-columns:1fr;gap:20px}.gfm-campaign-copy{padding:24px 22px}.gfm-donate{padding-inline:17px}.gfm-footnote{margin-top:24px;padding-top:20px}body[data-page=support] [aria-labelledby=ways-title]>.giving-alternatives{grid-template-columns:1fr}.giving-alternatives .contact-details{gap:8px 16px}.gfm-provider strong{font-size:15px}.gfm-intro h3{font-size:32px}}
.site-footer .footer-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px;gap:9px;padding-bottom:0}
.site-footer .footer-socials a{width:auto;height:44px;min-height:44px;min-width:0;justify-content:flex-start;gap:9px;padding:10px 12px;background:#fff;border:1px solid #fff;border-radius:8px;color:#14244c!important}
.site-footer .footer-socials a:hover,.site-footer .footer-socials a:focus-visible{background:#edf2ff;border-color:#edf2ff;color:#14244c!important}
.site-footer .footer-socials .brand-icon{width:21px;height:21px;color:inherit;filter:none}
.site-footer .footer-socials .brand-instagram{color:#c13584}
.site-footer .footer-socials .brand-facebook{color:#0866ff}
.site-footer .footer-socials .brand-youtube{color:#ff0033}
.site-footer .footer-socials .brand-tiktok{color:#111}
.site-footer .footer-social-label{position:static;transform:none;opacity:1;pointer-events:auto;color:#14244c;font-size:11px;font-weight:650}
.site-footer .footer-socials a:hover .footer-social-label,.site-footer .footer-socials a:focus-visible .footer-social-label{transform:none}
.interface-image{width:1em;height:1em;object-fit:contain;vertical-align:middle}.hero-video-toggle .interface-image{filter:invert(1)}
