/* Consistent navy cards, stronger branding, and Stripe giving. */
.header{background:#122941;color:#f5f7fa;height:106px;border-bottom:1px solid #ffffff16;box-shadow:0 8px 28px #07152e0a;backdrop-filter:none;gap:28px}
.header .logo{width:214px;flex-shrink:0;position:relative}
.brand-mark{display:block;width:100%;height:auto;overflow:visible}
/* The deformation follows the inclined pole, keeping the hoist attached. */
.brand-flag{transform-origin:1330px 94px;animation:brand-breeze 3.2s ease-in-out infinite}
@keyframes brand-breeze{
  0%,100%{transform:matrix(.9898,-.09,-.0045,.9602,0,0)}
  32%{transform:matrix(1.0325,.13,.0144,1.0575,0,0)}
  68%{transform:matrix(.991,.02,-.004,1.0088,0,0)}
}
.motion-off .brand-flag{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){.brand-flag{animation:none;transform:none}}
.header nav{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.005em;gap:36px}
.header nav a{color:#f0f4f8;padding:15px 0;line-height:1.4;transition:color .22s}
.header nav a:after{background:#e6c58b;bottom:6px;height:2px;border-radius:2px}
.header nav a:hover,.header nav a.active{color:#efd3a1}
.header-support{display:inline-flex!important;flex-shrink:0;font-size:13px;padding:13px 24px;background:#bb3544!important;color:#fff!important;box-shadow:0 5px 16px #080f1b18}
.header-support:hover{background:#a32836!important}
.header :focus-visible{outline-color:#e6c58b}
.project-card.navy-card{background:#122941;border-color:#122941;color:#fff}
.navy-card .project-copy h3{color:#fff}
.navy-card .project-copy p:not(.program-tag){color:#dbe4ee}
.navy-card .project-copy .program-tag{color:#dfc591}
.navy-card .project-action{color:#f0d39f}
.luminous-hero{min-height:890px}
.luminous-copy{padding-top:140px;max-width:960px}
.luminous-copy h1{font-size:clamp(50px,5.2vw,76px);margin-top:21px;margin-bottom:25px}
.luminous-copy>p:not(.eyebrow){color:#253c51;max-width:550px;font-size:17px;line-height:1.8;font-weight:500;text-shadow:0 1px 12px #fff}
.luminous-copy .eyebrow{color:#725629}
.luminous-copy .hero-actions{margin-top:32px;gap:18px}
.luminous-copy .hero-actions>.button{background:#122941;color:#fff;border:1px solid #122941;box-shadow:0 8px 22px #10263e18;padding:14px 25px}
.luminous-copy .hero-actions>.button:hover{background:#22445e}
.luminous-copy .hero-actions>.text-link{background:#fff;color:#18344c;border:1px solid #c7d1d8;box-shadow:0 5px 18px #10263e0b;font-size:13px;padding:15px 24px;font-weight:600}
.luminous-photo{top:150px}
.hero-soften{background:linear-gradient(90deg,#fffffffa 0%,#fffffff2 28%,#ffffffcc 41%,#ffffff55 54%,transparent 68%),linear-gradient(180deg,#fff 0%,#ffffffd9 17%,#ffffff33 36%,transparent 60%,transparent 81%,#fff 100%)}
.floating-word{bottom:100px}
.donation-scene{min-height:670px;padding-top:85px;padding-bottom:75px;grid-template-columns:minmax(0,1fr)}
.donation-content{width:100%;min-width:0}
.donation-widget{width:410px;max-width:100%;margin:28px auto 0;border:1px solid #ffffffc7;border-radius:22px;padding:25px 26px 22px;background:#ffffffb8;box-shadow:0 14px 40px #243b5110;backdrop-filter:blur(8px)}
.giving-frequency{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:600;color:#32475a;margin:0 0 17px}
.giving-frequency>span:first-child{color:#a77f3f;font-size:13px}
.currency-label{font-size:9px;letter-spacing:.1em;border-left:1px solid #ccd3d8;padding-left:10px;margin-left:3px}
.donation-amounts{min-width:0;border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.donation-amounts label{cursor:pointer;min-width:0;position:relative}
.donation-amounts input{position:absolute;width:1px;height:1px;opacity:0}
.donation-amounts label>span{display:grid;place-items:center;min-height:45px;border:1px solid #c9d2da;background:#fff;border-radius:9px;font-size:13px;color:#233d53;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.donation-amounts input:checked+span{background:#122941;border-color:#122941;color:#fff;box-shadow:0 4px 12px #12294120}
.donation-amounts input:focus-visible+span{outline:3px solid #a17a38;outline-offset:3px}
.donation-amounts label:hover>span{border-color:#a17a38}
.custom-donation{margin-bottom:18px;text-align:left}
.custom-donation>label{display:block;font-size:12px;font-weight:600;color:#233d53;margin-bottom:7px}
.custom-donation>label>span{font-size:10px;font-weight:400}
.custom-amount-field{display:flex;align-items:center;border:1px solid #b8c5cf;border-radius:9px;background:#fff;padding:0 14px;gap:10px}
.custom-amount-field>span{color:#6c7b86;font-size:18px}
.custom-amount-field input{width:100%;min-width:0;padding:12px 0;font:500 17px var(--sans);border:0;background:transparent;color:#122941}
.custom-amount-field:focus-within{outline:2px solid #79571e;outline-offset:2px}
.custom-amount-field input:focus-visible{outline:none}
.donation-error{font-size:12px!important;line-height:1.6;color:#8e2828!important;text-align:left;margin:0 0 16px!important}
.donation-submit{width:100%;justify-content:center;border:0;gap:20px;min-height:48px;background:#c6a365}
.donation-submit>[data-donate-label]{font-size:14px;line-height:1.5}
.donation-widget .checkout-note{font-size:11px;color:#526371;line-height:1.7;margin:15px 0 0}
@media(max-width:1100px){.header nav{gap:24px;font-size:14px}.luminous-copy{padding-top:115px;max-width:790px}.luminous-copy h1{font-size:60px}.luminous-hero{min-height:860px}.hero-soften{background:linear-gradient(90deg,#fffffff2,#ffffffdb 37%,#ffffff55 63%,transparent 85%),linear-gradient(#fff,transparent 45%,transparent 80%,#fff)}}
@media(max-width:1000px){
  .header{height:96px;gap:14px;padding-left:6vw;padding-right:6vw}
  .header .logo{width:178px;margin-right:auto;order:0}
  .header-support{order:1}
  .mobile-menu{display:flex;align-items:center;justify-content:center;order:2;width:44px;height:44px;font-size:0;border:1px solid #8d9dac80;border-radius:9px;color:#e8d0a5;background:transparent;padding:0;flex-shrink:0}
  .mobile-menu>span{font-size:19px}
  .header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 6vw 26px;background:#122941;border-bottom:1px solid #53677a;box-shadow:0 15px 30px #07152e25}
  .header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:4px}
  .header nav a{padding:15px 4px;font-size:16px;letter-spacing:.01em}
  .header nav a+a{border-top:1px solid #ffffff12}
  .header nav a:after{bottom:7px;width:28px;right:auto;opacity:0;transition:opacity .22s}
  .header nav a:hover:after,.header nav a.active:after{opacity:1}
  .header nav.open .mobile-support{display:none}
}
@media(max-width:760px){
  .header{height:86px;gap:11px}
  .header .logo{width:154px}
  .header-support{font-size:11px;padding:10px 14px;gap:9px}
  .header-support>span{font-size:16px}
  .mobile-menu{width:39px;height:39px}
  .luminous-hero{min-height:850px}
  .luminous-copy{padding-top:76px;max-width:none}
  .luminous-copy h1{font-size:clamp(39px,10.2vw,55px);margin:18px 0 22px}
  .luminous-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:450px}
  .luminous-copy .hero-actions{margin-top:27px;gap:10px}
  .luminous-copy .hero-actions>.button{padding:12px 16px;font-size:11px;gap:15px}
  .luminous-copy .hero-actions>.text-link{padding:12px 15px;font-size:11px;gap:13px}
  .luminous-photo{top:377px;mask-image:linear-gradient(transparent,#000 22%,#000 84%,transparent)}
  .hero-soften{background:linear-gradient(#fff 0%,#fff 40%,#ffffffbd 48%,transparent 64%,transparent 83%,#fff 100%)}
  .floating-word{bottom:57px}
  .donation-scene{min-height:650px;padding:65px 6vw 70px}
  .donation-widget{width:370px;padding:22px 20px;margin-top:25px}
}
@media(max-width:360px){
  .header{height:80px;gap:8px;padding-left:5vw;padding-right:5vw}
  .header .logo{width:126px}
  .header-support{font-size:10px;padding:10px 11px;gap:6px}
  .header-support>span{font-size:13px}
  .mobile-menu{width:34px;height:36px}
  .luminous-copy h1{font-size:36px}
  .luminous-hero{min-height:880px}
  .luminous-photo{top:427px}
  .hero-soften{background:linear-gradient(#fff 0%,#fff 45%,#ffffffbd 53%,transparent 68%,transparent 83%,#fff 100%)}
  .luminous-copy .hero-actions>.button,.luminous-copy .hero-actions>.text-link{font-size:10px;padding:11px 13px}
  .donation-widget{padding:20px 15px}
  .donation-amounts{gap:5px}.donation-amounts label>span{font-size:12px}
}
