@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-garamond-500.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-garamond-500-italic.woff2') format('woff2')}

.homepage{--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--page-gutter:max(6%,calc((100vw - 1320px)/2));font-family:var(--sans);background:#fff;font-weight:400}
.homepage main>section:not(.welcome){scroll-margin-top:9rem}
.homepage .section-pad{padding:7.5rem var(--page-gutter)}
.homepage h2{font-family:var(--serif);font-size:clamp(3.5rem,5.7vw,6rem);font-weight:500;line-height:.99;letter-spacing:-.045em;margin-top:1.75rem}
.homepage h2 em{font-weight:500;color:#99681f}
.homepage .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.11em;font-weight:500;gap:1rem}
.chapter-number{font-size:.875rem;color:#9c6a24;letter-spacing:0;padding-right:1rem;border-right:1px solid #b88a44}
.homepage .text-link{font-size:1rem;min-height:48px;border-color:#b68c46;gap:2rem;padding:.65rem 0}
.homepage .button{font-size:1rem;min-height:54px;padding:.9rem 1.3rem;border-radius:2px;gap:1rem;font-weight:500}
.homepage .button-gold{background:#f2d48f}
.homepage .button-gold:hover{background:#ffe5aa}
.homepage .button span[aria-hidden],.homepage .text-link span[aria-hidden]{transition:transform .2s}
.homepage .button:hover span[aria-hidden],.homepage .text-link:hover span[aria-hidden]{transform:translate(2px,-2px)}
.homepage picture{display:block}
.homepage .welcome>picture{width:100%}

/* One quiet navigation bar, separate from the opening artwork. */
.homepage .arrival-bar{position:sticky;top:0;z-index:10;min-height:124px;padding:1.1rem var(--page-gutter);justify-content:space-between;gap:2rem;margin:0;border-bottom:1px solid #d5dfeb;background:#fffffff5;backdrop-filter:blur(16px)}
.homepage .arrival-action{gap:1.2rem;flex-wrap:nowrap;flex-shrink:0}
.homepage .suit-up{width:5rem;height:5rem;font-size:1rem}
.homepage .arrival-provider{max-width:8.5rem;font-size:.875rem;color:#52687e}
.chapter-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1.25rem,2.6vw,2.8rem)}
.chapter-nav a{position:relative;display:inline-flex;align-items:center;min-height:48px;font-size:.9375rem;line-height:1.4;font-weight:500;white-space:nowrap;gap:.65rem}
.chapter-nav a::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:#b88735;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.chapter-nav a:hover::after,.chapter-nav a:focus-visible::after{transform:scaleX(1)}
/* Fill desktop width while keeping all of the opening artwork visible. */
@media(min-width:900px){.homepage .welcome{display:block;width:100%;height:auto}.homepage .welcome>picture{height:auto}.homepage .welcome-image{width:100%;height:auto}}

/* Purpose: generous typography and a portrait with room to breathe. */
.homepage .vision{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'copy image';gap:8%;align-items:center;background:white}
.homepage .vision-content{grid-area:copy;min-width:0}
.homepage .vision-picture{grid-area:image;padding:0;border:0;border-radius:2px;box-shadow:none;position:relative;width:100%;margin:2rem 0 0;align-self:center}
.homepage .vision-picture::before{content:'';position:absolute;inset:-1.1rem 1.1rem 1.1rem -1.1rem;border:1px solid #d3e0eb;z-index:0;pointer-events:none}
.homepage .vision-picture picture{position:relative}
.homepage .vision-picture img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:25% center;border-radius:2px;position:relative}
.homepage .vision h2{max-width:11ch}
.homepage .vision-copy{font-size:1.125rem;line-height:1.8;margin-top:2rem;max-width:35rem}
.homepage .mission{border:0;border-left:2px solid #c89b50;border-radius:0;background:transparent;padding:.1rem 0 .1rem 1.4rem;margin-top:2rem}
.homepage .mission .eyebrow{font-size:.875rem;color:#244568}
.homepage .mission p{font-size:1rem;line-height:1.8;color:#52687e;margin-top:.65rem}
.homepage .vision .text-link{margin-top:1.8rem}

/* The current project is presented as one coherent feature. */
.homepage .project-section{padding:6.5rem var(--page-gutter);background:#081f3b;border-top:1px solid #203d59;border-bottom:0}
.homepage .project-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:9%;row-gap:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;max-width:1320px}
.homepage .project-title-block{grid-column:1;grid-row:1;padding:0;align-self:center}
.homepage .project-copy{grid-column:2;grid-row:1;padding:0;align-self:end;font-size:1.0625rem;line-height:1.8;color:#cadbe9}
.homepage .project-card .eyebrow{color:#cedfeb}
.homepage .project-card .chapter-number{color:#f0d299;border-color:#ad8545}
.homepage .project-card h2{font-size:clamp(4rem,6.5vw,6.8rem);margin-top:1.6rem;line-height:.95}
.homepage .project-card h2 em{color:#f0d299}
.homepage .project-title-block .project-intro{font-family:var(--sans);font-size:1rem;line-height:1.6;color:#d3e2ee;margin-top:1.8rem;max-width:none}
.project-summary{font-family:var(--serif);font-size:2.3rem;line-height:1.08;font-weight:500;letter-spacing:-.02em;color:#fff;margin:0 0 1.3rem}
.homepage .project-copy>p+p{margin-top:1rem}
.homepage .project-actions{margin-top:1.8rem;gap:.85rem}
.homepage .project-pdf{border-color:#70889d;background:transparent;padding-left:1rem;padding-right:1rem}
.homepage .project-pdf:hover{border-color:#d2e2ee;background:#ffffff0a}
.file-type{font-size:.875rem;color:#cedfeb}
.homepage .project-picture{grid-column:1/-1;grid-row:2;margin:3.4rem 0 0;border:0;border-radius:2px;overflow:hidden}
.homepage .project-picture img{height:auto;width:100%;aspect-ratio:2.5;object-fit:cover;object-position:center 55%}
.homepage .project-picture figcaption{padding:.75rem 0 0;background:transparent;color:#bdcfdf;font-size:.875rem;line-height:1.5}
.homepage .project-scale{grid-column:1/-1;grid-row:3;margin-top:3rem;padding-top:1.7rem;border-color:#415971}
.homepage .project-scale ul{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem;gap:2rem}
.homepage .project-scale li+li{padding-left:2rem;border-color:#415971}
.homepage .project-scale strong{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,4vw,4rem);line-height:1.1;letter-spacing:-.035em;color:#f0d299}
.homepage .project-scale small{display:block;font-family:var(--sans);font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0;color:#fff;margin-top:.35rem}
.homepage .project-scale li span{font-size:.9375rem;color:#becfdf;margin-top:.65rem}
.homepage .project-footer{grid-row:4;margin-top:2.6rem;padding:1.3rem 0 0;border-color:#415971;font-size:.9375rem}
.homepage .project-footer a{color:#f0d299;min-height:44px}

/* Impact: a balanced image and story, with the three steps beneath. */
.homepage .impact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'image copy' 'steps steps';column-gap:9%;row-gap:4rem;background:#f1f7fb;align-items:center}
.homepage .impact-content{grid-area:copy}
.homepage .impact h2{font-size:clamp(3.5rem,4.9vw,5.2rem);margin-top:1.5rem}
.homepage .impact-story>p:not(.eyebrow){font-size:1rem;line-height:1.8;margin-top:1.25rem}
.homepage .impact-story>p.impact-lead{font-size:1.125rem;line-height:1.75;color:#183c5e;margin-top:1.7rem}
.homepage .impact-story>p.plain-language{font-size:.9375rem;line-height:1.7;border-color:#cbdde9;padding-top:1rem}
.homepage .impact-picture{grid-area:image;position:relative;align-self:center;min-height:0;width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:2px;box-shadow:none}
.homepage .impact-picture img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:2px}
.homepage .impact .visibility-panel{grid-area:steps;margin:0;padding:2.2rem 0 0;background:transparent;border:0;border-top:1px solid #bdcede;border-radius:0;box-shadow:none;color:#102d50}
.homepage .impact .panel-top{border:0;padding:0;gap:.8rem}
.homepage .impact .panel-top .eyebrow{font-size:.875rem;letter-spacing:.08em;color:#52687e}
.homepage .small-ring{width:23px;height:23px;border-color:#a67932}
.homepage .small-ring::after{background:#bd8732;width:4px;height:4px}
.homepage .impact .visibility-panel h3{font-family:var(--serif);font-size:2.6rem;line-height:1.1;font-weight:500;margin-top:1.1rem;letter-spacing:-.025em}
.homepage .impact .evidence-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin:1.7rem 0 0}
.homepage .impact .evidence-list li{border:0;border-top:1px solid #c3d5e3;display:block;padding:1.3rem 0 0}
.homepage .step{border:0;border-radius:0;display:block;width:auto;height:auto;font-size:.875rem;color:#916324;line-height:1.5;margin-bottom:.8rem}
.homepage .evidence-list h4{font-size:1.125rem;font-weight:500}
.homepage .impact .evidence-list p{font-size:1rem;color:#52687e;line-height:1.7;margin-top:.5rem;max-width:24rem}
.homepage .technology-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.3rem 0 0;margin-top:2.5rem;background:none;border:0;border-top:1px solid #bdcede}
.homepage .impact .technology-note>span{font-size:.875rem;color:#52687e;letter-spacing:.08em}
.homepage .technology-note p{font-size:1rem;color:#183c5e;margin:0;line-height:1.6}
.homepage .technology-note p span{color:#916324;margin:0 .4rem}

/* Contribution: clear choices without adding an unverified donation flow. */
.homepage .help{background:#fff;border-top:0}
.homepage .help-heading{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:10%;align-items:center}
.homepage .help h2{font-size:clamp(3.8rem,6vw,6.5rem)}
.help-intro{font-size:1.125rem;line-height:1.8;color:#52687e;max-width:33rem;margin-top:1.8rem}
.homepage .help-picture-wrap{width:100%}
.homepage .help-picture{border:0;border-radius:2px;box-shadow:none}
.homepage .help-picture img{aspect-ratio:1.1;object-fit:cover;object-position:center 55%}
.homepage .help-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:4rem}
.homepage .help-options article{border:0;border-top:1px solid #b99152;border-radius:0;padding:1.4rem 0 0;background:none}
.homepage .option-number{font-size:.875rem;color:#916324;letter-spacing:0}
.homepage .help-options h3{font-family:var(--serif);font-size:2.6rem;line-height:1.15;font-weight:500;margin:.85rem 0 .7rem;letter-spacing:-.025em}
.homepage .help-options p{font-size:1rem;line-height:1.8;color:#52687e}
.homepage .help-options .help-example{font-size:.875rem;color:#916324;margin-top:1rem;line-height:1.7}
.homepage .help-action{grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:start;margin-top:3rem;padding-top:2rem;border-top:1px solid #d0dfe9}
.homepage .help-action>p{font-size:1rem;line-height:1.8;max-width:33rem;color:#52687e}
.homepage .share-control{max-width:100%}
.homepage .share-control .button{text-align:left;max-width:100%;background:#081f3b}
.homepage .share-control .button:hover{background:#174a78}
.homepage .share-status{font-size:.875rem;line-height:1.7;max-width:24rem}
.homepage .manual-share{max-width:48rem}
.deeper-involvement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;margin-top:3.5rem;padding:2.8rem;background:#edf5fb;border:1px solid #cadde9;border-top:2px solid #bd8b3c;border-radius:3px}
.deeper-involvement h3{font-family:var(--serif);font-size:clamp(3rem,4vw,4rem);font-weight:500;line-height:1.1;letter-spacing:-.03em;margin:1rem 0}
.deeper-involvement p{font-size:1rem;line-height:1.8;color:#4c6580}.deeper-involvement .deeper-lead{font-size:1.2rem;color:#102d50;max-width:25rem}.deeper-involvement p+p{margin-top:1rem}.deeper-involvement .button{margin-top:1.4rem}.deeper-involvement .deeper-note{font-size:.875rem;margin-top:1rem}
@media(max-width:800px){.deeper-involvement{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.6rem;margin-top:2.5rem}}
.homepage footer{padding:4rem var(--page-gutter);border-top:1px solid #ad8545;background:#081f3b;color:#fff;gap:3rem}
.footer-wordmark{display:inline-block;font-size:clamp(2.1rem,4vw,4rem);font-weight:400;line-height:1.2;letter-spacing:.1em}
.homepage footer p{font-family:var(--sans);font-size:.9375rem;line-height:1.7;color:#c4d5e3;margin-top:1.2rem}
.homepage footer em{font-family:var(--sans);font-style:normal;color:#f0d299}
.homepage .back-top{border-bottom:1px solid #668098;font-size:.9375rem;min-height:48px}

@media(max-width:1100px){
  .homepage .section-pad{padding:5.5rem var(--page-gutter)}
  .homepage .arrival-provider{max-width:6rem}.chapter-nav{gap:1.25rem}.chapter-nav a{font-size:.875rem}
  .homepage .vision,.homepage .impact{column-gap:6%}
  .homepage .vision h2{font-size:4rem}.homepage .vision-picture img{aspect-ratio:3/4}
  .homepage .project-section{padding:5.5rem var(--page-gutter)}.homepage .project-card{column-gap:6%}
  .homepage .project-card h2{font-size:5rem}.homepage .project-actions{flex-direction:column;align-items:flex-start}
  .homepage .impact h2{font-size:3.75rem}.homepage .impact-picture img{aspect-ratio:3/4}
  .homepage .help h2{font-size:4.6rem}.homepage .help-options{gap:1.8rem}.homepage .help-options h3{font-size:2.25rem}
}
@media(max-width:800px){
  .homepage main>section:not(.welcome){scroll-margin-top:10rem}
  .homepage .arrival-bar{display:block;padding:.9rem var(--page-gutter);min-height:0}
  .homepage .arrival-action{gap:1rem}.homepage .suit-up{width:3.5rem;height:3.5rem;font-size:.875rem}
  .homepage .arrival-provider{max-width:none}
  .chapter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;border-top:1px solid #d9e3ec;padding-top:.3rem;margin-top:.75rem}
  .chapter-nav a{white-space:normal;min-height:44px;line-height:1.4;font-size:.875rem;gap:.3rem;justify-content:flex-start}
  .chapter-nav a:last-child span{display:none}
  .homepage .section-pad{padding:4.5rem var(--page-gutter)}
  .homepage h2{font-size:clamp(3.2rem,8vw,4.3rem)}
  .homepage .vision{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'image';gap:2.6rem}
  .homepage .vision h2{font-size:clamp(3.3rem,8vw,4.5rem);max-width:14ch}
  .homepage .vision-copy{max-width:38rem;font-size:1.0625rem}
  .homepage .vision-picture{width:calc(100% - 1rem);margin:1rem 0 0 1rem}
  .homepage .vision-picture img{aspect-ratio:1.35;object-position:center 60%}
  .homepage .project-section{padding:4.5rem var(--page-gutter)}
  .homepage .project-card{grid-template-columns:minmax(0,1fr);gap:0}
  .homepage .project-title-block{grid-column:1;grid-row:1}.homepage .project-copy{grid-column:1;grid-row:2;margin-top:2rem}
  .homepage .project-card h2{font-size:clamp(4rem,11vw,6rem)}
  .homepage .project-title-block .project-intro{margin-top:1.3rem}
  .project-summary{font-size:2.2rem}.homepage .project-actions{flex-direction:row;align-items:stretch}
  .homepage .project-picture{grid-row:3;margin:2.4rem 0 0}.homepage .project-picture img{aspect-ratio:1.5}
  .homepage .project-scale{grid-row:4;margin-top:2rem}.homepage .project-scale ul{gap:1.1rem}
  .homepage .project-scale li+li{padding-left:1.1rem}.homepage .project-scale strong{font-size:2.6rem}
  .homepage .project-footer{grid-row:5;flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:2rem}
  .homepage .impact{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'image' 'steps';row-gap:2.5rem}
  .homepage .impact h2{font-size:clamp(3.3rem,8vw,4.5rem)}
  .homepage .impact-picture img{aspect-ratio:1.3;object-position:center}
  .homepage .impact .evidence-list{gap:1.5rem}.homepage .impact .visibility-panel h3{font-size:2.3rem}
  .homepage .help-heading{grid-template-columns:minmax(0,1fr);gap:2rem}
  .homepage .help h2{font-size:clamp(3.5rem,9vw,5rem)}.homepage .help-intro{max-width:38rem;font-size:1.0625rem}
  .homepage .help-picture img{aspect-ratio:1.65}.homepage .help-options{margin-top:2.5rem}
  .homepage .help-action{grid-template-columns:minmax(0,1fr);gap:1.3rem}.homepage .share-control{justify-self:start}
  .homepage footer{padding:3rem var(--page-gutter);align-items:flex-start;flex-direction:column;gap:1.8rem}
}
@media(max-width:540px){
  .homepage .section-pad,.homepage .project-section{padding-top:3.8rem;padding-bottom:3.8rem}
  .homepage .eyebrow{font-size:.875rem;letter-spacing:.07em}
  .homepage .project-actions{flex-direction:column}.homepage .project-actions .button{width:100%;justify-content:space-between}
  .homepage .project-scale ul{grid-template-columns:minmax(0,1fr);gap:1.2rem}
  .homepage .project-scale li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;align-items:center}
  .homepage .project-scale li+li{border-left:0;border-top:1px solid #415971;padding:1.2rem 0 0}
  .homepage .project-scale strong{font-size:3rem}.homepage .project-scale small{font-size:1rem}.homepage .project-scale li span{margin:0;font-size:.9375rem}
  .homepage .impact .evidence-list{grid-template-columns:minmax(0,1fr);gap:1.3rem}
  .homepage .impact .evidence-list li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding-top:1.2rem}
  .homepage .step{margin:.15rem 0 0}.homepage .technology-note{align-items:flex-start;gap:.6rem;margin-top:1.8rem}
  .homepage .help-options{grid-template-columns:minmax(0,1fr);gap:1.8rem}.homepage .help-options h3{font-size:2.5rem}
  .homepage .help-options .help-example{margin-top:.65rem}.homepage .help-action{margin-top:2rem}
}
@media(prefers-reduced-motion:reduce){.homepage *{scroll-behavior:auto!important;transition:none!important}}
