/* Oceans of Gratitude - generated by build.py. Do not edit directly.
   Section 1 is the V23 stylesheet, unchanged (src/v23.css).
   Section 2 is src/overrides.css. */

:root{--blue:#002FA7;--cream:#F7F4EE;--paper:#F7F4EE;--ink:#10213D;--muted:#536078;--line:#D7D0C3;--deep:#10213D;--soft:#F7F4EE}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}.site{max-width:1440px;margin:auto;background:var(--cream);min-height:100vh}a{color:inherit}.page{display:none}.page.active{display:block}
header{position:sticky;top:0;z-index:40;height:74px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,238,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,47,167,.12)}.logo{display:flex;align-items:center;width:194px;height:56px;overflow:hidden}.logo img{display:block;width:100%;height:auto;background:transparent;clip-path:inset(0 0 9% 0)}.menu{display:none;border:0;background:none;font-size:25px;color:var(--blue)}nav{display:flex;gap:22px;align-items:center;font-size:12px;letter-spacing:.02em}nav a{text-decoration:none;position:relative}nav a:not(.donate):after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.18s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}.donate{background:var(--blue);color:#fff;padding:11px 16px;text-transform:uppercase;font-size:10px;letter-spacing:.11em;font-weight:700}
.serif,h1,h2,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--blue);font-weight:700}.arrow{text-decoration:none;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.03em}.arrow:after{content:'  →'}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:670px;border-bottom:1px solid var(--line)}.hero-copy{padding:9% 9% 8% 10%;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(52px,5.3vw,82px);line-height:.98;letter-spacing:-.04em;color:var(--blue);margin:18px 0 26px}.hero p{font-size:17px;line-height:1.62;max-width:570px;margin:0 0 30px}.hero-photo{background:url('/images/photo-01-home-hero.jpeg') center/cover no-repeat}.actions{display:flex;gap:22px;align-items:center}.primary{display:inline-block;background:var(--blue);color:#fff;padding:13px 18px;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.11em;font-weight:700}
.story{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;padding:90px 7%;border-bottom:1px solid var(--line)}.story h2{font-size:46px;line-height:1.06;letter-spacing:-.025em;color:var(--blue);margin:0}.story-copy{font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.62;max-width:760px}.story-copy p{margin:0 0 18px}.story-copy p:last-child{margin:0}
.photo-pair{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px;border-bottom:1px solid var(--line)}.photo-pair .photo{background:center/cover no-repeat}.photo-pair .photo:first-child{background-image:url('/images/water-fish.jpeg')}.photo-pair .photo:last-child{background-image:url('/images/service-care.jpeg')}
.proof{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--paper);border-bottom:1px solid var(--line)}.proof-copy{padding:90px 9%}.proof h2{font-size:48px;line-height:1.05;letter-spacing:-.025em;color:var(--blue);margin:15px 0 25px}.proof p{font-size:16px;line-height:1.66;max-width:600px;margin:0 0 18px}.proof-photo{background:url('/images/community-kids.jpeg') center/cover;min-height:520px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:38px}.metric{padding:22px 16px 0 0}.metric b{display:block;color:var(--blue);font-family:Georgia,serif;font-size:37px;font-weight:400}.metric span{font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.08em}
.approach{display:grid;grid-template-columns:1.08fr .92fr;min-height:510px;border-bottom:1px solid var(--line)}.approach-photo{background:url('/images/mission-care.jpeg') center/cover}.approach-copy{padding:82px 11%;display:flex;flex-direction:column;justify-content:center}.approach h2{font-size:44px;line-height:1.05;color:var(--blue);margin:14px 0 23px}.approach p{font-size:16px;line-height:1.68;margin:0 0 18px}.final-cta{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:82px 7%;background:var(--deep);color:#fff}.final-cta .eyebrow{color:#fff}.final-cta h2{font-size:48px;line-height:1.02;margin:12px 0 0}.final-cta p{font-size:16px;line-height:1.65;max-width:560px;margin:0 0 24px}.final-cta .arrow{color:#fff;margin-right:25px}
.page-hero{display:grid;grid-template-columns:.78fr 1.22fr;gap:7%;padding:76px 7% 62px;border-bottom:1px solid var(--line);align-items:end}.page-hero h1{font-size:clamp(46px,5vw,74px);line-height:.98;letter-spacing:-.04em;color:var(--blue);margin:13px 0 0}.page-hero p{font-family:Georgia,serif;font-size:21px;line-height:1.6;margin:0;max-width:720px}.wide-photo{height:500px;background:center/cover;border-bottom:1px solid var(--line)}
.kiribati-body{display:grid;grid-template-columns:.78fr 1.22fr;gap:8%;padding:82px 7%;border-bottom:1px solid var(--line)}.kiribati-body h2{font-size:45px;line-height:1.05;color:var(--blue);margin:0}.kiribati-body p{font-size:16px;line-height:1.7;margin:0 0 18px}.factline{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.factline div{padding:36px 5%;border-right:1px solid var(--line)}.factline div:last-child{border-right:0}.factline b{display:block;font-family:Georgia,serif;color:var(--blue);font-size:30px;font-weight:400;margin-bottom:6px}.factline span{font-size:12px;line-height:1.45;color:var(--muted)}.waters{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px}.waters-photo{background:url('/images/kiribati-sunset.jpeg') center/cover}.waters-copy{padding:80px 11%;display:flex;flex-direction:column;justify-content:center}.waters-copy h2{font-size:45px;line-height:1.05;color:var(--blue);margin:12px 0 22px}.waters-copy p{font-size:16px;line-height:1.68;margin:0}
.work-intro{padding:78px 7% 45px;max-width:950px}.work-intro h1{font-size:64px;line-height:.98;color:var(--blue);letter-spacing:-.035em;margin:14px 0 22px}.work-intro p{font-family:Georgia,serif;font-size:22px;line-height:1.55;margin:0}.work-photo{height:520px;background:url('/images/medical-room.jpeg') center/cover no-repeat;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-chapter{display:grid;grid-template-columns:.75fr 1.25fr;border-top:1px solid var(--line);min-height:390px}.work-chapter:nth-of-type(even){background:var(--paper)}.work-chapter .side{padding:58px 7%}.work-chapter .side .num{font-size:10px;letter-spacing:.15em;color:var(--blue);font-weight:700}.work-chapter .side h2{font-size:38px;line-height:1.05;color:var(--blue);margin:16px 0}.work-chapter .content{padding:58px 7%;border-left:1px solid var(--line)}.work-chapter .content p{font-size:16px;line-height:1.7;max-width:720px;margin:0 0 22px}.program-inline{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;border-top:1px solid var(--line);padding-top:22px}.program-inline b{display:block;color:var(--blue);font-size:14px;margin-bottom:5px}.program-inline span{font-size:12px;line-height:1.45;color:var(--muted)}.principle{padding:82px 7%;background:var(--blue);color:#fff}.principle blockquote{font-size:50px;line-height:1.06;max-width:920px;margin:0}.principle p{max-width:700px;font-size:15px;line-height:1.7;margin:28px 0 0}
.impact-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:560px}.impact-copy{padding:78px 10%;display:flex;flex-direction:column;justify-content:center}.impact-copy h1{font-size:64px;line-height:.98;color:var(--blue);letter-spacing:-.035em;margin:14px 0 25px}.impact-copy p{font-family:Georgia,serif;font-size:21px;line-height:1.58;margin:0}.impact-photo{background:url('/images/clinical-care.jpeg') center/cover}.impact-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-stats div{padding:38px 32px;border-right:1px solid var(--line)}.impact-stats div:last-child{border-right:0}.impact-stats b{display:block;font-family:Georgia,serif;color:var(--blue);font-size:48px;font-weight:400}.impact-stats span{font-size:11px;line-height:1.45}.impact-narrative{display:grid;grid-template-columns:1fr 1fr;min-height:500px}.impact-narrative .photo{background:url('/images/dental-care.jpeg') center/cover}.impact-narrative .copy{padding:78px 10%;background:var(--paper);display:flex;flex-direction:column;justify-content:center}.impact-narrative h2{font-size:43px;line-height:1.05;color:var(--blue);margin:12px 0 24px}.impact-narrative p{font-size:16px;line-height:1.7;margin:0 0 16px}
.photos-intro{padding:76px 7% 45px}.photos-intro h1{font-size:64px;line-height:.98;color:var(--blue);letter-spacing:-.035em;margin:14px 0 20px}.photos-intro p{font-family:Georgia,serif;font-size:20px;max-width:680px}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;padding:0 4% 70px}.gallery figure{margin:0}.gallery img{width:100%;height:100%;object-fit:cover;display:block}.gallery figcaption{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:8px;color:var(--muted)}.gallery .tall{height:620px}.gallery .short{height:420px}.gallery .wide{grid-column:1/-1;height:540px}.gallery .offset{margin-top:85px}
.about-wrap{display:grid;grid-template-columns:.9fr 1.1fr;min-height:600px}.about-photo{background:url('/images/ty-erickson-founder.jpg') center/cover}.about-copy{padding:78px 10%;display:flex;flex-direction:column;justify-content:center}.about-copy h1{font-size:56px;line-height:1;color:var(--blue);letter-spacing:-.03em;margin:14px 0 28px}.about-copy p{font-size:16px;line-height:1.72;margin:0 0 18px}.about-method{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;padding:80px 7%;border-top:1px solid var(--line)}.about-method h2{font-size:42px;line-height:1.05;color:var(--blue);margin:0}.about-method p{font-family:Georgia,serif;font-size:20px;line-height:1.65;margin:0 0 18px}
.involved-hero{padding:78px 7% 55px;max-width:980px}.involved-hero h1{font-size:64px;line-height:.98;color:var(--blue);letter-spacing:-.035em;margin:14px 0 23px}.involved-hero p{font-family:Georgia,serif;font-size:22px;line-height:1.55;margin:0}.paths{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.path{padding:68px 7%;min-height:420px}.path:first-child{border-right:1px solid var(--line);background:var(--paper)}.path h2{font-size:40px;line-height:1.05;color:var(--blue);margin:14px 0 22px}.path p{font-size:16px;line-height:1.7;max-width:560px}.other-ways{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;padding:68px 7%}.other-ways h2{font-size:38px;line-height:1.05;color:var(--blue);margin:0}.other-list{border-top:1px solid var(--line)}.other-list div{padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
footer{background:var(--cream);color:var(--ink);padding:42px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line)}footer img{width:175px;filter:none}footer small{font-size:11px;opacity:.85}

.simple-page{background:var(--cream)}#programs .simple-hero{background:var(--paper)}#programs .simple-content{background:var(--paper)}#programs .simple-content:nth-child(2),#programs .simple-content:nth-child(4){background:var(--cream)}.simple-hero{padding:80px 7% 55px;max-width:1080px}.simple-hero h1,.donation-copy h1,.who-copy h1{font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:-.035em;color:var(--blue);margin:12px 0 20px}.simple-hero .intro{font-size:21px;max-width:850px}.program-kicker{font-size:13px;font-weight:700;max-width:980px;margin-top:20px}.simple-content{padding:55px 7%;border-top:1px solid var(--line);max-width:1180px}.simple-content.two-col{max-width:none;display:grid;grid-template-columns:1fr .85fr;gap:8%;align-items:center}.simple-content h2,.donation-copy h2,.involved-grid h2,.board h2{font-size:36px;color:var(--blue);margin:0 0 22px}.simple-content p,.donation-copy p,.involved-grid p,.who-copy p{font-size:15px;line-height:1.75;max-width:820px}.program-photo{min-height:430px;background:url('/images/medical-room.jpeg') center/cover}.program-lines{margin-top:34px}.upcoming-label{margin:42px 0 16px;font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--blue);font-weight:700}.mission-schedule{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mission-card{padding:30px 28px 32px 0;min-height:260px}.mission-card+.mission-card{padding-left:28px;border-left:1px solid var(--line)}.mission-date{font-family:Georgia,'Times New Roman',serif;color:var(--blue);font-size:31px;line-height:1;margin-bottom:20px}.mission-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--ink);font-size:24px;line-height:1.15;margin:0 0 16px}.mission-card p{font-size:14px!important;line-height:1.65!important;margin:0!important}.mission-focus{display:inline-block;margin-top:22px;padding-top:12px;border-top:2px solid var(--blue);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--blue);font-weight:700}.fund-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:30px}.fund-grid div{padding:25px;border-right:1px solid var(--line)}.fund-grid div:last-child{border:0}.fund-grid b{display:block;font-family:Georgia,serif;font-size:30px;color:var(--blue)}.fund-grid span{font-size:12px}.support .primary{margin-top:18px}.donation-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;padding:80px 7%;align-items:start}.donation-copy{background:#fff;padding:55px}.donation-copy h1{font-size:52px}.donation-copy h2{font-size:27px;margin-top:35px}.donation-visual{padding-top:60px}.donation-photo{height:460px;background:center/cover}.donation-visual blockquote{font-family:Georgia,serif;font-size:18px;line-height:1.6;background:#fff;padding:30px;margin:30px 0 0}.report-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;padding:30px 7% 80px;align-items:center}.report-feature h2{font-size:34px;color:var(--blue);margin:0 0 20px}.report-feature p{font-size:16px;line-height:1.7}.report-photo{min-height:430px;background:center/cover}.report-stats{display:flex;gap:28px;margin:30px 0}.report-stats b{display:block;font-family:Georgia,serif;font-size:27px;color:var(--blue)}.report-stats span{font-size:11px}.involved-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:520px;border-top:1px solid var(--line)}.involved-grid>div:first-child{padding:75px 12%}.involved-photo{background:center/cover}.who-hero{background:#fff}.who-copy{padding:75px 7% 55px;max-width:980px}.who-carousel-wrap{background:#fff;padding:0 7% 75px}.who-carousel{position:relative;overflow:hidden;background:var(--cream);max-width:1120px;margin:0 auto}.who-carousel-track{display:flex;align-items:center;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.who-slide{min-width:100%;margin:0;display:flex;justify-content:center;align-items:center;min-height:360px}.who-slide img{width:auto;height:auto;max-width:100%;max-height:min(62vh,620px);display:block;object-fit:contain}.who-carousel button{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--blue);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 12px rgba(16,33,61,.14)}.who-carousel .prev{left:18px}.who-carousel .next{right:18px}.who-carousel-dots{display:flex;justify-content:center;gap:7px;padding-top:16px}.who-carousel-dots button{position:static;transform:none;width:7px;height:7px;padding:0;border-radius:50%;border:0;background:#c7cbd3;box-shadow:none}.who-carousel-dots button.active{background:var(--blue)}.who-copy h1{font-size:48px}.who-copy blockquote{font-size:27px;line-height:1.45;color:var(--blue);margin:25px 0}.who-copy cite{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin-top:20px}.board{padding:75px 7%;border-top:1px solid var(--line)}.team-intro{max-width:760px;font-size:15px;line-height:1.7;margin:0 0 42px;color:var(--ink)}.board h3{margin:28px 0 18px;color:var(--ink)}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.board-grid div{padding:24px 0;border-bottom:1px solid var(--line)}.board-grid b{display:block;color:var(--blue)}.board-grid span{font-size:12px;color:var(--muted)}
@media(max-width:850px){header{height:62px;padding:0 18px}.logo{width:150px}.menu{display:block}nav{display:none}nav.open{display:flex;position:absolute;top:62px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start;gap:17px}.hero,.story,.proof,.approach,.final-cta,.page-hero,.kiribati-body,.waters,.work-chapter,.impact-hero,.impact-narrative,.about-wrap,.about-method,.paths,.other-ways{grid-template-columns:1fr}.hero{min-height:0}.hero-photo{min-height:340px;order:-1}.hero-copy{padding:48px 22px 55px}.hero h1{font-size:47px}.hero p{font-size:15px}.story{padding:55px 22px;gap:24px}.story h2{font-size:36px}.story-copy{font-size:18px}.photo-pair{min-height:0;grid-template-columns:1fr 1fr}.photo-pair .photo{min-height:280px}.proof-copy,.approach-copy{padding:55px 22px}.proof h2,.approach h2{font-size:37px}.proof-photo,.approach-photo{min-height:340px}.metrics{grid-template-columns:1fr 1fr}.final-cta{padding:55px 22px;gap:24px}.final-cta h2{font-size:38px}.page-hero{padding:52px 22px 38px;gap:22px}.page-hero h1,.work-intro h1,.impact-copy h1,.photos-intro h1,.involved-hero h1{font-size:45px}.page-hero p,.work-intro p,.impact-copy p,.involved-hero p{font-size:18px}.wide-photo{height:320px}.kiribati-body,.about-method{padding:55px 22px;gap:24px}.kiribati-body h2,.waters-copy h2{font-size:36px}.factline{grid-template-columns:1fr}.factline div{border-right:0;border-bottom:1px solid var(--line);padding:24px 22px}.waters-photo{min-height:330px}.waters-copy{padding:50px 22px}.work-intro,.photos-intro,.involved-hero{padding:52px 22px 35px}.work-chapter .side,.work-chapter .content{padding:38px 22px}.work-chapter .content{border-left:0;border-top:1px solid var(--line)}.program-inline{grid-template-columns:1fr}.principle{padding:55px 22px}.principle blockquote{font-size:37px}.impact-photo{min-height:330px}.impact-copy{padding:52px 22px}.impact-stats{grid-template-columns:1fr 1fr}.impact-stats div{padding:25px 20px;border-bottom:1px solid var(--line)}.impact-narrative .photo{min-height:320px}.impact-narrative .copy{padding:50px 22px}.gallery{grid-template-columns:1fr;padding:0 14px 50px}.gallery .wide{grid-column:auto}.gallery .tall,.gallery .short,.gallery .wide{height:390px}.gallery .offset{margin-top:0}.about-photo{min-height:360px}.about-copy{padding:52px 22px}.about-copy h1{font-size:43px}.path{padding:48px 22px;min-height:0}.path:first-child{border-right:0;border-bottom:1px solid var(--line)}.other-ways{padding:50px 22px;gap:24px}footer{padding:35px 22px;display:block}footer small{display:block;margin-top:18px}}
@media(max-width:520px){.photo-pair{grid-template-columns:1fr}.photo-pair .photo{min-height:260px}.actions{align-items:flex-start;flex-direction:column;gap:15px}.hero h1{font-size:42px}.metrics,.impact-stats{grid-template-columns:1fr 1fr}.metric b,.impact-stats b{font-size:36px}}

/* V3: editorial simplification + temporary numbered photo map */
.photo-slot{position:relative}
.v3-editorial{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-bottom:1px solid var(--line)}.v3-copy{padding:9% 12%;display:flex;flex-direction:column;justify-content:center}.v3-copy h2{font-size:48px;line-height:1.04;letter-spacing:-.025em;color:var(--blue);margin:14px 0 24px}.v3-copy p{font-family:Georgia,serif;font-size:19px;line-height:1.65;margin:0 0 24px;max-width:650px}.v3-photo{min-height:560px;background:center/cover no-repeat}.v3-water{background-image:url('/images/photo-02-fishing-relationship.jpeg')}.v3-mission{background-image:url('/images/photo-04-practical-care.jpeg')}
.v3-impact{display:grid;grid-template-columns:1fr 1fr;min-height:580px;border-bottom:1px solid var(--line);background:var(--paper)}.v3-impact-copy{padding:9% 12%;display:flex;flex-direction:column;justify-content:center}.v3-impact h2{font-size:52px;line-height:1.02;letter-spacing:-.03em;color:var(--blue);margin:14px 0 22px}.v3-impact p{font-family:Georgia,serif;font-size:19px;line-height:1.6;max-width:580px}.v3-impact-photo{background:url('/images/community-kids.jpeg') center/cover}.v3-data{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;margin-top:20px}.v3-data span{font-size:12px}.v3-data b{font-family:Georgia,serif;font-size:26px;color:var(--blue);font-weight:400;margin-right:5px}
.v3-cta{padding:80px 7%;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;border-top:1px solid var(--line)}.v3-cta h2{font-size:48px;line-height:1.03;margin:0;color:var(--blue)}.v3-cta p{font-family:Georgia,serif;font-size:18px;line-height:1.6;margin:0 0 25px}.v3-cta .arrow{color:var(--blue);margin-left:22px}
.v3-work-summary{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding:85px 7%;border-bottom:1px solid var(--line)}.v3-work-summary h2{font-size:46px;line-height:1.05;color:var(--blue);margin:0}.v3-work-summary p{font-size:17px;line-height:1.72;margin:0 0 22px;max-width:760px}.v3-impact-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v3-impact-strip span{padding:30px 5%;font-size:12px;border-right:1px solid var(--line)}.v3-impact-strip span:last-child{border-right:0}.v3-impact-strip b{display:block;font-family:Georgia,serif;color:var(--blue);font-size:35px;font-weight:400;margin-bottom:4px}
@media(max-width:800px){.v3-editorial,.v3-impact,.v3-cta,.v3-work-summary{grid-template-columns:1fr}.v3-editorial.reverse .v3-photo{order:2}.v3-copy,.v3-impact-copy{padding:58px 7%}.v3-copy h2,.v3-impact h2,.v3-cta h2,.v3-work-summary h2{font-size:38px}.v3-photo,.v3-impact-photo{min-height:420px}.v3-impact-strip{grid-template-columns:1fr}.v3-impact-strip span{border-right:0;border-bottom:1px solid var(--line)}.v3-impact-strip span:last-child{border-bottom:0}}

/* V4 homepage refinement */
.hero{grid-template-columns:.88fr 1.12fr;min-height:680px}.hero-copy{padding:9% 9% 8% 10%}.hero h1{margin:0 0 28px}.hero-subhead{font-family:Georgia,'Times New Roman',serif!important;font-size:22px!important;line-height:1.52!important;max-width:610px!important;margin:0 0 32px!important}.hero-media{min-height:680px;background:#06132b;overflow:hidden}.hero-media video{display:block;width:100%;height:100%;min-height:680px;object-fit:cover}.model-intro{padding:82px 7% 46px;border-bottom:1px solid var(--line);background:var(--paper)}.model-intro .eyebrow{margin-bottom:16px}.model-intro h2{font-size:48px;line-height:1.04;color:var(--blue);letter-spacing:-.025em;margin:0 0 22px;max-width:760px}.model-intro p{font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.58;max-width:850px;margin:0}.model-graphic{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#fff}.model-half{min-height:260px;padding:48px 7%;display:flex;flex-direction:column;justify-content:space-between}.model-half:first-child{border-right:1px solid rgba(255,255,255,.45);background:var(--blue);color:#fff}.model-half:last-child{background:var(--blue);color:#fff}.model-half .fraction{font-family:Georgia,'Times New Roman',serif;font-size:68px;line-height:1;font-weight:400}.model-half .model-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-top:42px}.v3-impact{grid-template-columns:.9fr 1.1fr}.v3-impact-copy{padding:84px 8%}.v3-impact-copy h2{font-size:50px}.impact-lede{font-size:17px!important;line-height:1.68!important}.mission-quote{margin:34px 0 0;padding:28px 0 0;border-top:1px solid var(--line);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.55;color:var(--blue)}.mission-attrib{padding-top:16px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.1em}.v3-cta{display:grid!important;grid-template-columns:1fr 1fr!important;padding:0!important;gap:0!important;background:transparent!important;color:var(--ink)!important;border-top:1px solid var(--line)}.cta-panel{padding:68px 10%;min-height:310px;display:flex;flex-direction:column;justify-content:center}.cta-panel:first-child{background:var(--blue);color:#fff;border-right:1px solid rgba(255,255,255,.35)}.cta-panel.donate-panel{background:var(--blue);color:#fff}.cta-panel .eyebrow{margin-bottom:14px}.donate-panel .eyebrow{color:#fff}.v3-cta .cta-panel h2{font-size:40px;line-height:1.05;margin:0 0 18px;color:#fff}.v3-cta .donate-panel h2{color:#fff}.v3-cta .cta-panel .eyebrow{color:#fff}.v3-cta .cta-panel .primary{background:#fff;color:var(--blue)}.v3-cta .cta-panel p{margin:0 0 24px;max-width:500px}.v3-cta .donate-panel .primary{background:#fff;color:var(--blue)}footer img{background:#fff;padding:9px 12px;border-radius:2px}.footer-logo-box{display:inline-flex;background:#fff;padding:8px 12px;align-items:center;border:1px solid var(--line)}.footer-logo-box img{background:transparent;padding:0}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-copy{padding:58px 20px 48px}.hero-media,.hero-media video{min-height:360px}.hero-subhead{font-size:18px!important}.model-intro{padding:55px 20px 38px}.model-intro h2{font-size:36px}.model-intro p{font-size:18px}.model-graphic{grid-template-columns:1fr}.model-half{min-height:210px;padding:35px 20px}.model-half:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.45)}.model-half .fraction{font-size:56px}.v3-cta{grid-template-columns:1fr!important}.cta-panel{min-height:0;padding:52px 20px}.cta-panel:first-child{border-right:0;border-bottom:1px solid var(--line)}.mission-quote{font-size:18px}}

@media(max-width:850px){.simple-content.two-col,.donation-layout,.report-feature,.involved-grid,.who-hero{grid-template-columns:1fr}.simple-hero{padding:50px 22px 35px}.simple-content{padding:42px 22px}.program-photo,.report-photo,.involved-photo,.who-photo{min-height:340px}.fund-grid,.board-grid{grid-template-columns:1fr}.fund-grid div{border-right:0;border-bottom:1px solid var(--line)}.donation-layout{padding:40px 22px}.donation-copy{padding:32px 25px}.donation-visual{padding-top:0}.report-feature{padding:20px 22px 55px}.report-stats{flex-wrap:wrap}.involved-grid>div:first-child{padding:50px 22px}.who-copy{padding:50px 22px 38px}.who-carousel-wrap{padding:0 14px 50px}.who-carousel{max-width:100%}.who-slide{min-height:260px}.who-slide img{max-height:min(52vh,460px)}.who-carousel button{width:40px;height:40px}.who-carousel .prev{left:10px}.who-carousel .next{right:10px}.board{padding:55px 22px}}


/* V14: cohesive cream + Yves Klein blue visual system
   Cream is the continuous page field; blue is reserved for emphasis, action and key transitions. */
#programs .simple-hero,
#programs .simple-content,
.donation-copy,
.who-hero,
.who-carousel-wrap,
.path:first-child,
.proof,
.impact-narrative .copy,
.work-chapter:nth-of-type(even),
.v3-impact,
.model-intro{background:var(--cream)}

/* Programs: one deliberate blue chapter rather than alternating backgrounds. */
#programs .simple-content:nth-child(2),
#programs .simple-content:nth-child(4){background:var(--cream)}
#programs .funding{max-width:none;background:var(--blue);color:#fff;border-top:0}
#programs .funding h2,#programs .funding p,#programs .funding span,#programs .funding b{color:#fff}
#programs .funding .fund-grid{border-color:rgba(255,255,255,.42)}
#programs .funding .fund-grid div{border-color:rgba(255,255,255,.42)}

/* Donation: remove the white-card feeling and use blue as the editorial punctuation. */
.donation-layout{background:var(--cream)}
.donation-copy{padding:55px 0}
.donation-visual blockquote{background:var(--blue);color:#fff;padding:32px;margin:0}
.donation-photo{border-bottom:0}

/* Reports / Get Involved / Who We Are: one continuous warm field, separated by rhythm and rules. */
.report-feature,.involved-grid,.board{background:var(--cream)}
.report-feature{border-top:1px solid var(--line)}
.who-carousel{background:var(--cream)}
.who-carousel-wrap{border-top:0}
.board{border-top:1px solid var(--line)}

/* Keep white only where it has a functional purpose against blue. */
.model-graphic{background:var(--cream)}
footer{background:var(--cream)}

@media(max-width:850px){
  .donation-copy{padding:32px 0}
  .donation-visual blockquote{margin:0;padding:26px 22px}
}

/* V15 corrective editorial + responsive pass */
.v15-home-close{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;padding:76px 7%;border-top:1px solid var(--line);background:var(--cream);align-items:end}.v15-home-close h2{font-size:46px;line-height:1.04;color:var(--blue);margin:12px 0 18px}.v15-home-close h3{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.15;color:var(--blue);margin:10px 0 15px}.v15-home-close p{font-size:16px;line-height:1.65;max-width:560px}.home-close-donate{border-left:1px solid var(--line);padding-left:9%}
.program-kicker{font-family:Georgia,serif!important;font-weight:400!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.42!important;max-width:980px!important;margin-top:32px!important}.program-kicker strong{color:var(--blue);font-weight:400}
#programs .funding{background:var(--cream)!important;color:var(--ink)!important;border-top:1px solid var(--line)!important}#programs .funding h2{color:var(--blue)!important}#programs .funding p,#programs .funding span{color:var(--ink)!important}#programs .funding b{color:var(--blue)!important}#programs .funding .fund-grid,#programs .funding .fund-grid div{border-color:var(--line)!important}.fund-grid b{font-size:clamp(38px,4vw,56px)!important}.fund-grid span{display:block;font-size:14px!important;line-height:1.55;margin-top:8px}
.v15-support{padding-top:76px!important;padding-bottom:82px!important}.v15-support>h2{font-size:clamp(42px,4.5vw,62px);max-width:700px;margin:12px 0 42px}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px}.support-grid>div{padding:34px 5% 38px 0;border-right:1px solid var(--line);margin-right:7%}.support-grid>div:last-child{border-right:0;margin-right:0}.support-grid b{display:block;font-family:Georgia,serif;font-weight:400;color:var(--blue);font-size:clamp(42px,4.5vw,62px);line-height:1}.support-grid h3{font-size:21px;margin:15px 0 8px}.support-grid p{font-size:15px!important;line-height:1.55!important;margin:0!important}
.donation-uses{margin:12px 0 50px;border-top:1px solid var(--line)}.donation-uses>div{display:grid;grid-template-columns:80px 1fr;column-gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}.donation-uses span{grid-row:1/3;font-family:Georgia,serif;color:var(--blue);font-size:42px;line-height:1}.donation-uses h3{font-family:Georgia,serif;font-weight:400;color:var(--ink);font-size:27px;line-height:1.15;margin:0 0 8px}.donation-uses p{font-size:18px!important;line-height:1.55!important;margin:0!important;max-width:680px!important}
.who-hero{display:grid!important;grid-template-columns:.82fr 1.18fr;gap:5%;padding:70px 7%;align-items:center}.who-copy{padding:0!important;max-width:none!important}.who-carousel-wrap{padding:0!important;min-width:0}.who-carousel{max-width:100%!important}.who-slide{min-height:300px!important}.who-slide img{max-height:min(64vh,560px)!important}.who-copy blockquote{font-size:clamp(22px,2vw,29px)!important}.who-copy p{font-size:16px!important}
.care-team-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin:18px 0 58px}.care-team-grid div{padding:20px 16px 20px 0;border-bottom:1px solid var(--line)}.care-team-grid b{font-family:Georgia,serif;font-size:20px;font-weight:400;color:var(--blue)}.board-label{margin-top:0!important}
/* Preserve photography on small screens: no forced crop and no image that swallows the viewport. */
@media(max-width:850px){
 .v15-home-close{grid-template-columns:1fr;padding:52px 22px;gap:38px}.v15-home-close h2{font-size:36px}.v15-home-close h3{font-size:27px}.home-close-donate{border-left:0;border-top:1px solid var(--line);padding:34px 0 0}
 .program-kicker{font-size:22px!important;line-height:1.45!important;margin-top:24px!important}.support-grid{grid-template-columns:1fr}.support-grid>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:28px 0}.support-grid>div:last-child{border-bottom:0}.v15-support{padding-top:52px!important;padding-bottom:58px!important}.v15-support>h2{font-size:40px;margin-bottom:26px}.fund-grid b{font-size:44px!important}
 .donation-uses>div{grid-template-columns:56px 1fr;column-gap:12px}.donation-uses span{font-size:34px}.donation-uses h3{font-size:23px}.donation-uses p{font-size:16px!important}.donation-copy h1{font-size:42px!important}
 .who-hero{grid-template-columns:1fr!important;padding:50px 22px!important;gap:34px}.who-carousel-wrap{padding:0!important}.who-slide{min-height:0!important;padding:0 2px}.who-slide img{width:auto!important;height:auto!important;max-width:100%!important;max-height:52vh!important;object-fit:contain!important}.care-team-grid{grid-template-columns:1fr;margin-bottom:45px}.board{padding:52px 22px!important}
 .hero-photo,.proof-photo,.approach-photo,.wide-photo,.work-photo,.impact-photo,.impact-narrative .photo,.about-photo,.program-photo,.report-photo,.involved-photo,.v3-photo,.v3-impact-photo,.donation-photo{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:var(--cream)!important;min-height:260px!important;height:min(62vw,380px)!important}
 .gallery{grid-template-columns:1fr!important;padding:0 14px 48px!important}.gallery .tall,.gallery .short,.gallery .wide{height:auto!important}.gallery .offset{margin-top:0!important}.gallery img{height:auto!important;max-height:70vh!important;object-fit:contain!important;background:var(--cream)}
 .hero h1,.work-intro h1,.impact-copy h1,.photos-intro h1{font-size:clamp(42px,12vw,58px)!important}.simple-hero h1,.who-copy h1{font-size:clamp(40px,11vw,54px)!important}
}

/* V16 final QA: mobile-first impact section, team treatment, and image preservation */
.care-team-photo{margin:22px 0 28px;max-width:920px}.care-team-photo img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center;background:var(--cream)}
@media(max-width:850px){
 .v3-impact{grid-template-columns:1fr!important;min-height:0!important}
 .v3-impact-photo{order:-1!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:3/2;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
 .v3-impact-copy{padding:48px 22px 58px!important;width:100%!important;min-width:0!important}
 .v3-impact-copy h2{font-size:clamp(40px,11vw,52px)!important;line-height:1.02!important;margin:12px 0 22px!important}
 .impact-lede{font-size:18px!important;line-height:1.55!important;max-width:none!important}
 .v3-data{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;margin-top:30px!important;padding-top:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
 .v3-data span{padding:22px 8px 22px 0!important;font-size:12px!important;line-height:1.35!important}
 .v3-data b{display:block!important;font-size:34px!important;line-height:1!important;margin:0 0 6px!important}
 .mission-quote{font-size:24px!important;line-height:1.42!important;margin-top:34px!important;padding-top:32px!important;max-width:none!important}
 .mission-attrib{font-size:10px!important;margin-top:18px!important}
 .care-team-photo{margin:18px 0 24px}.care-team-photo img{max-height:62vh}
}
@media(max-width:420px){.v3-data{grid-template-columns:1fr!important}.v3-data span{border-bottom:1px solid var(--line)!important;padding:18px 0!important}.v3-data span:last-child{border-bottom:0!important}.mission-quote{font-size:22px!important}}


@media(max-width:850px){.mission-schedule{grid-template-columns:1fr}.mission-card{padding:26px 0;min-height:0}.mission-card+.mission-card{padding-left:0;border-left:0;border-top:1px solid var(--line)}.mission-date{font-size:27px}.mission-card h3{font-size:22px}.mission-focus{margin-top:16px}.upcoming-label{margin-top:34px}}

/* V18 mobile correction: full-width readable impact copy + exact footer logo treatment */
.footer-logo-box{display:flex;align-items:center;width:194px;height:56px;overflow:hidden;background:transparent!important}
.footer-logo-box img{display:block;width:100%!important;height:auto!important;background:transparent!important;clip-path:inset(0 0 9% 0);filter:none!important}
@media(max-width:850px){
  .v3-impact{display:flex!important;flex-direction:column!important;width:100%!important;overflow:hidden!important}
  .v3-impact-photo{order:0!important;width:100%!important;aspect-ratio:3/2!important;height:auto!important;min-height:0!important;background-size:contain!important}
  .v3-impact-copy{order:1!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;padding:38px 22px 52px!important;display:block!important}
  .v3-impact-copy .eyebrow{font-size:11px!important}
  .v3-impact-copy h2{width:100%!important;max-width:none!important;font-size:clamp(39px,10.5vw,50px)!important;line-height:1.02!important;letter-spacing:-.025em!important;margin:12px 0 24px!important}
  .v3-impact-copy .impact-lede{font-family:Arial,sans-serif!important;width:100%!important;max-width:none!important;font-size:17px!important;line-height:1.62!important;margin:0!important}
  .v3-data{width:100%!important;grid-template-columns:1fr!important;margin:30px 0 0!important}
  .v3-data span{display:grid!important;grid-template-columns:120px 1fr!important;align-items:baseline!important;padding:18px 0!important;border-bottom:1px solid var(--line)!important;font-size:15px!important}
  .v3-data span:last-child{border-bottom:0!important}
  .v3-data b{font-size:40px!important;margin:0!important}
  .mission-quote{box-sizing:border-box!important;width:100%!important;max-width:none!important;font-size:22px!important;line-height:1.45!important;margin:30px 0 0!important;padding:30px 0 0!important}
  footer{padding:30px 22px!important}
  .footer-logo-box{width:150px;height:46px}
}

/* V20 — original logo, program library, partners */
.program-nav{position:relative;display:flex;align-items:center;gap:2px}.program-nav-toggle{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer;padding:6px 4px}.program-dropdown{display:none;position:absolute;top:100%;left:-28px;width:310px;background:var(--cream);border:1px solid var(--line);padding:14px;z-index:30;box-shadow:0 14px 34px rgba(0,0,0,.08)}.program-nav:hover .program-dropdown,.program-nav:focus-within .program-dropdown,.program-nav.open .program-dropdown{display:block}.program-dropdown a{display:block!important;padding:9px 10px!important;border-bottom:1px solid var(--line)!important;font-family:Georgia,serif!important;font-size:14px!important;text-transform:none!important;letter-spacing:0!important}.program-dropdown a:last-child{border-bottom:0!important}
.program-detail{background:var(--cream)}.program-detail-hero{padding:86px 7% 46px;border-bottom:1px solid var(--line);max-width:1280px;margin:auto}.program-detail-hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.035em;margin:12px 0 24px;color:var(--ink);font-weight:500}.program-detail-hero .intro{font-size:18px;margin:0 0 26px}.program-detail-kicker{font-family:Georgia,serif;font-size:clamp(20px,2.2vw,29px);line-height:1.42;max-width:1050px;margin:0;color:var(--blue)}.program-detail-body{max-width:1120px;margin:auto;padding:58px 7% 90px}.program-detail-body h2{font-size:clamp(32px,4vw,50px);line-height:1.05;letter-spacing:-.025em;margin:52px 0 20px;color:var(--ink);font-weight:500}.program-detail-body h2:first-child{margin-top:0}.program-detail-body p,.program-detail-body li{font-family:Georgia,serif;font-size:16px;line-height:1.72;color:var(--ink)}.program-detail-body ul{padding-left:24px;margin:18px 0 28px}.program-detail-body li{margin:9px 0}.program-donate{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.program-donate>a{font-family:Arial,sans-serif;font-weight:700;color:var(--blue);text-decoration:none}.program-donate em{font-size:14px}.partners-v20{padding:76px 6%;border-top:1px solid var(--line);background:var(--cream)}.partners-v20 .partners-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;max-width:1280px;margin:0 auto 38px}.partners-v20 h2{font-size:46px;line-height:1.02;margin:8px 0 0}.partners-v20 .partners-head p{font-family:Georgia,serif;font-size:16px;line-height:1.65;max-width:600px;margin:0}.partner-grid-v20{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.partner-grid-v20 div{height:145px;background:#fff;display:flex;align-items:center;justify-content:center;padding:24px}.partner-grid-v20 img{max-width:100%;max-height:82px;object-fit:contain;filter:grayscale(1);opacity:.82}
@media(max-width:850px){.program-nav{display:block}.program-nav-toggle{position:absolute;right:10px;top:4px}.program-dropdown{position:static;width:auto;box-shadow:none;border:0;border-top:1px solid var(--line);padding:8px 0;margin-top:4px}.program-detail-hero{padding:54px 22px 34px}.program-detail-hero h1{font-size:44px}.program-detail-hero .intro{font-size:16px}.program-detail-kicker{font-size:20px}.program-detail-body{padding:40px 22px 64px}.program-detail-body h2{font-size:34px;margin-top:42px}.program-detail-body p,.program-detail-body li{font-size:15px;line-height:1.68}.partners-v20{padding:54px 22px}.partners-v20 .partners-head{grid-template-columns:1fr;gap:18px}.partners-v20 h2{font-size:36px}.partner-grid-v20{grid-template-columns:repeat(2,1fr)}.partner-grid-v20 div{height:115px;padding:18px}}

/* V21 — Ty-approved original heart-and-wave mark */
.logo{width:78px!important;height:62px!important;overflow:visible!important}
.logo img{width:auto!important;height:58px!important;max-width:100%!important;object-fit:contain!important;clip-path:none!important;background:transparent!important;padding:0!important}
.footer-logo-box{width:78px!important;height:62px!important;overflow:visible!important;background:transparent!important;border:0!important;padding:0!important}
.footer-logo-box img{width:auto!important;height:58px!important;max-width:100%!important;object-fit:contain!important;clip-path:none!important;background:transparent!important;padding:0!important}
@media(max-width:850px){.logo{width:62px!important;height:54px!important}.logo img{height:50px!important}.footer-logo-box{width:62px!important;height:54px!important}.footer-logo-box img{height:50px!important}}


/* V22 — program editorial system + full brand lockup */
.brand-lockup{display:flex!important;align-items:center!important;gap:12px!important;width:auto!important;height:62px!important;overflow:visible!important;text-decoration:none!important}.brand-lockup img{width:62px!important;height:58px!important;object-fit:contain!important;flex:0 0 auto}.brand-lockup span{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:.9;letter-spacing:-.025em;color:#174d68;white-space:nowrap}.footer-logo-box.brand-lockup{width:auto!important;height:auto!important}.footer-logo-box.brand-lockup span{color:#174d68}
.program-detail-hero{max-width:none!important;margin:0!important;padding:92px 7% 68px!important;background:var(--cream);display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);column-gap:8%;align-items:end}.program-detail-hero .eyebrow,.program-detail-hero h1,.program-detail-hero .intro{grid-column:1}.program-detail-hero .program-detail-kicker{grid-column:2;grid-row:1/4;align-self:end;border-left:2px solid var(--blue);padding:8px 0 8px 30px!important;font-size:clamp(21px,2vw,28px)!important}.program-detail-hero h1{font-size:clamp(52px,6vw,84px)!important;max-width:850px}.program-detail-body{max-width:1180px!important;padding:74px 7% 100px!important}.program-detail-body>h2{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.13em;font-weight:700!important;color:var(--blue)!important;margin:68px 0 25px!important}.program-detail-body>h2:after{content:"";height:1px;background:var(--line)}.program-detail-body>h2:first-child{margin-top:0!important}.program-detail-body>p{max-width:850px;font-size:18px!important;line-height:1.68!important}.program-proof{display:grid;grid-template-columns:repeat(4,1fr);margin:38px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.program-proof span{padding:26px 18px 26px 0;font-family:Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.program-proof b{display:block;font-family:Georgia,serif;font-size:38px;line-height:1;color:var(--blue);font-weight:400;margin-bottom:8px;text-transform:none;letter-spacing:-.02em}.program-timeline{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}.program-timeline p{background:#fff;margin:0;padding:28px!important;font-size:15px!important}.funding-list,.support-list,.feature-list{list-style:none!important;padding:0!important;margin:28px 0 42px!important;border-top:1px solid var(--line)}.funding-list li,.support-list li,.feature-list li{display:grid!important;grid-template-columns:190px 1fr;gap:26px;margin:0!important;padding:18px 0!important;border-bottom:1px solid var(--line);font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.5!important}.funding-list strong,.support-list strong{font-family:Georgia,serif;font-size:24px;line-height:1.15;color:var(--blue);font-weight:400}.feature-list strong{font-family:Arial,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}.program-donate{display:flex!important;align-items:center;justify-content:space-between;gap:32px;margin:64px 0 0!important;padding:34px!important;border:0!important;background:var(--blue);color:#fff}.program-donate p{font-family:Georgia,serif!important;font-size:16px!important;line-height:1.5!important;margin:7px 0 0!important;max-width:650px;color:#fff!important}.program-donate .eyebrow{color:#fff}.program-donate .primary{flex:0 0 auto;background:#fff;color:var(--blue)!important;padding:14px 22px;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.program-update{margin:0;padding:30px 34px;background:#ebe7df;border-bottom:1px solid var(--line)}.program-update>span{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:700}.program-update p{font-family:Georgia,serif;font-size:15px;line-height:1.55;margin:9px 0 0;max-width:850px}
@media(max-width:850px){.brand-lockup{gap:8px!important;height:54px!important}.brand-lockup img{width:48px!important;height:48px!important}.brand-lockup span{font-size:18px}.program-detail-hero{display:block!important;padding:54px 22px 42px!important}.program-detail-hero .program-detail-kicker{border-left:0;border-top:1px solid var(--line);padding:24px 0 0!important;margin-top:26px!important}.program-detail-body{padding:48px 22px 70px!important}.program-detail-body>h2{grid-template-columns:1fr;margin-top:52px!important}.program-detail-body>h2:after{display:none}.program-detail-body>p{font-size:16px!important}.program-proof{grid-template-columns:1fr 1fr}.program-timeline{grid-template-columns:1fr}.funding-list li,.support-list li,.feature-list li{grid-template-columns:1fr;gap:7px;padding:16px 0!important}.program-donate{display:block!important;padding:28px 22px!important}.program-donate .primary{display:inline-block;margin-top:20px}.footer-logo-box.brand-lockup span{font-size:18px}}

/* V23 — every program donation option is clickable */
.support-list li{position:relative;transition:background .18s ease,transform .18s ease}
.support-list li:hover{background:rgba(0,57,180,.045)}
.support-list li a.support-row-link{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;width:100%;color:inherit;text-decoration:none;padding:0}
.support-list li a.support-row-link::after{content:"Donate →";grid-column:2;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-top:5px}
@media(max-width:850px){.support-list li a.support-row-link{grid-template-columns:1fr;gap:6px}.support-list li a.support-row-link::after{grid-column:1}}

/* ==========================================================================
   V24 — corrections applied during the move from the V23 single-page build
   to real pages. Everything above this point in site.css is V23's CSS,
   unchanged. Keep additions here so the two stay auditable.
   ========================================================================== */

/* V23 wrapped each Ways to Help row in an <a>, but the row is a grid
   (190px 1fr) and the anchor is its only child, so the anchor landed in
   column one: the link covered ~190px instead of the row, and the
   description collapsed to one word per line. The migration spec is
   explicit that the ENTIRE row must behave as a link, so the anchor now
   spans both columns and inherits the same measurements as the Mission
   Funding rows above it, which the two lists are clearly meant to share. */
.support-list li a.support-row-link {
  grid-column: 1 / -1;
  grid-template-columns: 190px 1fr;
  gap: 26px;
}

@media (max-width: 850px) {
  .support-list li a.support-row-link {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* Make the actionable row obvious on keyboard as well as pointer. */
.support-list li:focus-within {
  background: rgba(0, 57, 180, 0.045);
}
.support-list li a.support-row-link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

/* Visible focus for every other interactive element. V23 relied on hover
   only, which leaves keyboard users with no indication of position. */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}
.donate:focus-visible,
.primary:focus-visible,
.cta-panel .primary:focus-visible,
.program-donate .primary:focus-visible {
  outline-offset: 2px;
}

/* Respect reduced-motion preferences: the carousel slide and the nav
   underline are decorative. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .who-carousel-track,
  nav a:not(.donate):after,
  .support-list li {
    transition: none !important;
  }
}

/* The hero film is 57MB and autoplays. The poster paints the fold
   immediately so the page is never a dark rectangle while it loads. */
.hero-media video {
  background: #06132b;
}

/* Skip link — a keyboard user should not have to tab the whole header on
   every one of the twelve pages. */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: var(--blue);
  color: #fff;
  padding: 12px 18px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  font-weight: 700;
  text-decoration: none;
}
.skip-link:focus {
  left: 0;
}

/* ==========================================================================
   V25 — homepage rebalanced around the joint I-Kiribati/US organisation.
   The CARE Team moves from being the whole homepage to one program highlight,
   and every program is listed so the homepage shows the actual breadth of
   the work. Uses V23's existing type scale, rules and colour roles only.
   ========================================================================== */

.home-programs {
  padding: 82px 7%;
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}
.home-programs-head {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 60px;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto 38px;
}
.home-programs-head h2 {
  font-size: 46px;
  line-height: 1.04;
  letter-spacing: -.025em;
  color: var(--blue);
  margin: 8px 0 0;
}
.home-programs-head p {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  line-height: 1.65;
  max-width: 620px;
  margin: 0;
}
.home-program-list {
  max-width: 1280px;
  margin: 0 auto;
  border-top: 1px solid var(--line);
}
/* The whole row is the link, the same rule the Ways to Help rows follow. */
.home-program-list a {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) auto;
  gap: 30px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  transition: background .18s ease;
}
.home-program-list a:hover,
.home-program-list a:focus-visible {
  background: rgba(0, 47, 167, .045);
}
.home-program-list b {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.015em;
  color: var(--blue);
}
.home-program-list span {
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
}
.home-program-list em {
  font-style: normal;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  color: var(--blue);
  white-space: nowrap;
}

/* The CARE Team highlight reuses the model intro and the ½ / ½ graphic, now
   clearly labelled as one program rather than the organisation's whole offer. */
.care-highlight .model-intro {
  border-bottom: 0;
  padding-bottom: 34px;
}
.care-highlight .model-intro h2 {
  max-width: 900px;
}
.care-highlight .model-intro p {
  margin-bottom: 24px;
}

@media (max-width: 850px) {
  .home-programs { padding: 54px 22px; }
  .home-programs-head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 26px;
  }
  .home-programs-head h2 { font-size: 36px; }
  .home-programs-head p { font-size: 16px; }
  .home-program-list a {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 20px 0;
  }
  .home-program-list b { font-size: 22px; }
  .care-highlight .model-intro { padding-bottom: 28px; }
}

/* ==========================================================================
   V26 — team photographs above names, matching the live site's treatment.
   Replaces the text-only rows V23 used for the CARE Team and the board.
   ========================================================================== */

.person-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 34px 26px;
  border-top: 1px solid var(--line);
  padding-top: 34px;
  margin: 18px 0 58px;
}
.person-grid .person {
  padding: 0;
  border: 0;
  min-width: 0;
}
.person-photo {
  margin: 0 0 14px;
  background: var(--paper);
  border: 1px solid var(--line);
  overflow: hidden;
}
.person-photo img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  /* Faces sit high in most of these frames, so bias the crop upward. */
  object-position: center 30%;
}
.person-grid b {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.25;
  color: var(--blue);
  letter-spacing: -.01em;
}
.person-grid span {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

/* V23 styled these two grids as bordered text rows; the photographs replace
   that entirely, so the old row rules must not fight the new layout. */
.person-grid.care-team-grid,
.person-grid.board-grid {
  grid-template-columns: repeat(4, 1fr);
}
.person-grid.care-team-grid .person,
.person-grid.board-grid .person {
  padding: 0;
  border-bottom: 0;
}

@media (max-width: 1100px) {
  .person-grid,
  .person-grid.care-team-grid,
  .person-grid.board-grid { grid-template-columns: repeat(3, 1fr); }
  .person-photo img { height: 230px; }
}
@media (max-width: 850px) {
  .person-grid,
  .person-grid.care-team-grid,
  .person-grid.board-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 26px 16px;
    margin-bottom: 45px;
  }
  .person-photo img { height: 190px; }
  .person-grid b { font-size: 17px; }
}

/* V23 styled these grids with a bare `.care-team-grid div` / `.board-grid div`
   selector, which also catches the .person-photo wrapper and inset every
   photograph 16px horizontally and 40px vertically inside its own frame.
   Reset both wrappers explicitly rather than relying on source order. */
.person-grid.care-team-grid .person,
.person-grid.board-grid .person,
.person-grid.care-team-grid .person-photo,
.person-grid.board-grid .person-photo {
  padding: 0;
  margin-right: 0;
  border-right: 0;
  border-bottom: 0;
}
.person-grid.care-team-grid .person-photo,
.person-grid.board-grid .person-photo {
  border: 1px solid var(--line);
  margin-bottom: 14px;
}
